Created
January 3, 2012 15:11
-
-
Save zah/1555286 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 009A5BE7 pop edi | |
| 009A5BE8 pop esi | |
| 009A5BE9 pop ebp | |
| 009A5BEA pop ebx | |
| 009A5BEB mov esp,ebp | |
| 009A5BED pop ebp | |
| 009A5BEE ret | |
| LOC10 = Nextpoweroftwo_53262(Strings_223635); | |
| 009A5BEF call @ILT+6745(@Nextpoweroftwo_53262@4) (982A5Eh) | |
| Bitmask_223694 = (NI32)(LOC10 - 1); | |
| Branches_223696 = 0; | |
| Branches_223696 = (TY61619*) newSeq(NTI61619, (NI32)(Bitmask_223694 + 1)); | |
| 009A5BF4 mov ecx,dword ptr [_NTI61619 (0A91604h)] | |
| 009A5BFA mov ebx,eax | |
| 009A5BFC lea edx,[ebx] | |
| 009A5BFE call @ILT+7545(@newSeq@8) (982D7Eh) | |
| 009A5C03 mov esi,eax | |
| memset((void*)&A_223709, 0, sizeof(A_223709)); | |
| Initlocexpr_208878(P_223633, (*T_223634).KindU.S6.Sons->data[0], &A_223709); | |
| 009A5C05 mov eax,dword ptr [ebp+18h] | |
| 009A5C08 pxor xmm0,xmm0 | |
| 009A5C0C movq mmword ptr [esp+38h],xmm0 | |
| 009A5C12 movq mmword ptr [esp+40h],xmm0 | |
| 009A5C18 mov ebp,dword ptr [eax+8] | |
| 009A5C1B mov ecx,dword ptr [ebp] | |
| 009A5C1E call @ILT+9095(@Getuniquetype_199401@4) (98338Ch) | |
| 009A5C23 mov ecx,eax | |
| 009A5C25 mov word ptr [esp+38h],0 | |
| 009A5C2C call @ILT+9095(@Getuniquetype_199401@4) (98338Ch) | |
| 009A5C31 mov edx,eax | |
| 009A5C33 lea ecx,[esp+3Ch] | |
| 009A5C37 call @ILT+4770(@unsureAsgnRef@8) (9822A7h) | |
| 009A5C3C xor edx,edx | |
| 009A5C3E lea ecx,[esp+40h] | |
| 009A5C42 call @ILT+4770(@unsureAsgnRef@8) (9822A7h) | |
| 009A5C47 lea ecx,[esp+38h] | |
| 009A5C4B push ecx | |
| 009A5C4C mov edx,ebp | |
| 009A5C4E mov ecx,edi | |
| 009A5C50 mov dword ptr [esp+48h],0FFFFFFFFh | |
| 009A5C58 mov byte ptr [esp+3Eh],0 | |
| 009A5C5D call @ILT+2440(@Expr_208872@12) (98198Dh) | |
| Labid_223723 = (*P_223633).Labels; | |
| I_223732 = 0; | |
| HEX3Atmp_226721 = 0; | |
| LOC11 = Sonslen_67829(T_223634); | |
| 009A5C62 mov eax,dword ptr [esp+14h] | |
| 009A5C66 mov eax,dword ptr [eax+18h] | |
| 009A5C69 mov edx,dword ptr [edi+1Ch] | |
| 009A5C6C mov dword ptr [esp+24h],edx | |
| 009A5C70 test eax,eax | |
| 009A5C72 je LA8+96h (9A5C78h) | |
| 009A5C74 mov eax,dword ptr [eax] | |
| 009A5C76 jmp LA8+98h (9A5C7Ah) | |
| 009A5C78 xor eax,eax | |
| HEX3Atmp_226721 = (NI32)(LOC11 - 1); | |
| 009A5C7A dec eax | |
| Res_226723 = 1; | |
| while (1) { | |
| if (!(Res_226723 <= HEX3Atmp_226721)) goto LA12; | |
| 009A5C7B mov ecx,1 | |
| 009A5C80 cmp eax,ecx | |
| 009A5C82 jl LA12 (9A5CFFh) | |
| HEX3Atmp_226721 = (NI32)(LOC11 - 1); | |
| 009A5C84 lea ebp,[ecx+0Bh] | |
| 009A5C87 mov dword ptr [esp+18h],eax | |
| I_223732 = Res_226723; | |
| (*P_223633).Labels += 1; | |
| 009A5C8B add dword ptr [edi+1Ch],ecx | |
| if (!((*(*T_223634).KindU.S6.Sons->data[I_223732]).Kind == ((NU8) 75))) goto LA14; | |
| 009A5C8E mov edx,dword ptr [esp+14h] | |
| 009A5C92 mov edx,dword ptr [edx+18h] | |
| 009A5C95 mov edx,dword ptr [edx+ebp] | |
| 009A5C98 cmp byte ptr [edx+11h],4Bh | |
| 009A5C9C mov eax,dword ptr [edi+1Ch] | |
| 009A5C9F jne LA13 (9A5CF6h) | |
| LOC16 = 0; | |
| LOC16 = Torope_61049(((NI64) ((*P_223633).Labels))); | |
| 009A5CA1 cdq | |
| 009A5CA2 push edx | |
| 009A5CA3 push eax | |
| LA14: | |
| 009A5CA4 call @ILT+7975(@Torope_61049@8) (982F2Ch) | |
| LOC17 = 0; | |
| LOC17 = Con_61023(((NimStringDesc*) &TMP2240), LOC16); | |
| 009A5CA9 mov edx,eax | |
| 009A5CAB mov ecx,offset TMP2240 (0A60ED0h) | |
| 009A5CB0 call @ILT+2910(@Con_61023@8) (981B63h) | |
| Gencasestringbranch_223216(P_223633, (*T_223634).KindU.S6.Sons->data[I_223732], A_223709, LOC17, Branches_223696->data, Branches_223696->Sup.len); | |
| 009A5CB5 mov ecx,dword ptr [esi] | |
| 009A5CB7 movq xmm0,mmword ptr [esp+38h] | |
| 009A5CBD push ecx | |
| 009A5CBE lea edx,[esi+8] | |
| 009A5CC1 push edx | |
| 009A5CC2 push eax | |
| 009A5CC3 sub esp,10h | |
| 009A5CC6 mov eax,esp | |
| 009A5CC8 movq mmword ptr [eax],xmm0 | |
| 009A5CCC movq xmm0,mmword ptr [esp+5Ch] | |
| 009A5CD2 movq mmword ptr [eax+8],xmm0 | |
| 009A5CD7 mov eax,dword ptr [esp+30h] | |
| 009A5CDB mov ecx,dword ptr [eax+18h] | |
| 009A5CDE mov edx,dword ptr [ecx+ebp] | |
| 009A5CE1 mov ecx,edi | |
| 009A5CE3 call @ILT+8330(@Gencasestringbranch_223216@36) (98308Fh) | |
| nimKeepAlive((TGenericSeq*)Branches_223696); | |
| 009A5CE8 push esi | |
| 009A5CE9 call @ILT+7445(_nimKeepAlive) (982D1Ah) | |
| 009A5CEE add esp,4 | |
| 009A5CF1 mov ecx,1 | |
| goto LA13; | |
| LA14: ; | |
| LA13: ; | |
| Res_226723 += 1; | |
| 009A5CF6 add ebp,4 | |
| 009A5CF9 sub dword ptr [esp+18h],ecx | |
| 009A5CFD jne LA8+0A9h (9A5C8Bh) | |
| } LA12: ; | |
| memset((void*)LOC18, 0, sizeof(LOC18)); | |
| LOC18[0] = Rdloc_206283(A_223709); | |
| 009A5CFF mov edx,dword ptr [esp+38h] | |
| 009A5D03 mov ebp,dword ptr [esp+40h] | |
| 009A5D07 shr edx,10h | |
| 009A5D0A pxor xmm0,xmm0 | |
| 009A5D0E movq mmword ptr [esp+28h],xmm0 | |
| 009A5D14 mov eax,ebp | |
| 009A5D16 test dl,1 | |
| 009A5D19 je LA12+2Fh (9A5D2Eh) | |
| 009A5D1B push ecx | |
| 009A5D1C lea edx,[esp+1Ch] | |
| 009A5D20 mov ecx,offset TMP2074 (0A5FB20h) | |
| 009A5D25 mov dword ptr [esp+1Ch],ebp | |
| 009A5D29 call @ILT+9870(@Ropef_61066@12) (983693h) | |
| 009A5D2E mov dword ptr [esp+28h],eax | |
| LOC18[1] = Torope_61049(((NI64) (Bitmask_223694))); | |
| 009A5D32 lea eax,[ebx-1] | |
| 009A5D35 cdq | |
| 009A5D36 push edx | |
| 009A5D37 push eax | |
| 009A5D38 call @ILT+7975(@Torope_61049@8) (982F2Ch) | |
| Appcg_202895(P_223633, ((NU8) 2), ((NimStringDesc*) &TMP2494), LOC18, 2); | |
| 009A5D3D mov ecx,dword ptr [edi+34h] | |
| 009A5D40 mov dword ptr [esp+2Ch],eax | |
| 009A5D44 push 2 | |
| 009A5D46 lea eax,[esp+2Ch] | |
| 009A5D4A push eax | |
| 009A5D4B mov edx,offset TMP2494 (0A62D18h) | |
| 009A5D50 call @ILT+4860(@Ropecg_202606@16) (982301h) | |
| 009A5D55 lea ecx,[edi+8] | |
| 009A5D58 mov edx,eax | |
| 009A5D5A call @ILT+8580(@App_61031@8) (983189h) | |
| J_223791 = 0; | |
| HEX3Atmp_226724 = 0; | |
| HEX3Atmp_226724 = (Branches_223696->Sup.len-1); | |
| 009A5D5F mov ebp,dword ptr [esi] | |
| 009A5D61 dec ebp | |
| Res_226726 = 0; | |
| 009A5D62 mov ebx,0 | |
| while (1) { | |
| if (!(Res_226726 <= HEX3Atmp_226724)) goto LA19; | |
| 009A5D67 js LA19 (9A5DFEh) | |
| } LA12: ; | |
| memset((void*)LOC18, 0, sizeof(LOC18)); | |
| LOC18[0] = Rdloc_206283(A_223709); | |
| 009A5D6D add esi,8 | |
| J_223791 = Res_226726; | |
| if (!!((Branches_223696->data[J_223791] == NIM_NIL))) goto LA21; | |
| 009A5D70 cmp dword ptr [esi],0 | |
| 009A5D73 je LA21 (9A5DF2h) | |
| Gcfullcollect_3605(); | |
| 009A5D75 call @ILT+10285(@Gcfullcollect_3605@0) (983832h) | |
| Aaa_223805[0] = Intliteral_207891(((NI64) (J_223791))); | |
| 009A5D7A mov eax,ebx | |
| 009A5D7C cdq | |
| 009A5D7D push edx | |
| 009A5D7E push eax | |
| 009A5D7F call @ILT+9930(@Intliteral_207891@8) (9836CFh) | |
| 009A5D84 mov dword ptr [esp+30h],eax | |
| Aaa_223805[1] = Branches_223696->data[J_223791]; | |
| 009A5D88 mov ecx,dword ptr [esi] | |
| 009A5D8A mov dword ptr [esp+34h],ecx | |
| nimGCref(Aaa_223805[(0)-0]); | |
| 009A5D8E add dword ptr [eax-8],8 | |
| 009A5D92 mov edx,dword ptr [eax-4] | |
| 009A5D95 mov cl,byte ptr [edx+5] | |
| 009A5D98 add eax,0FFFFFFF8h | |
| 009A5D9B shr cl,1 | |
| 009A5D9D not cl | |
| 009A5D9F test cl,1 | |
| 009A5DA2 je LA12+0B3h (9A5DB2h) | |
| 009A5DA4 push eax | |
| 009A5DA5 push offset _Gch_13152+20h (0A91920h) | |
| 009A5DAA call @ILT+1840(_Incl_13014) (981735h) | |
| 009A5DAF add esp,8 | |
| if (!!((Aaa_223805[(1)-0] == NIM_NIL))) goto LA24; | |
| 009A5DB2 mov eax,dword ptr [esp+34h] | |
| 009A5DB6 test eax,eax | |
| 009A5DB8 je LA12+0DFh (9A5DDEh) | |
| nimGCref(Aaa_223805[(1)-0]); | |
| 009A5DBA add dword ptr [eax-8],8 | |
| 009A5DBE mov edx,dword ptr [eax-4] | |
| 009A5DC1 mov cl,byte ptr [edx+5] | |
| 009A5DC4 add eax,0FFFFFFF8h | |
| 009A5DC7 shr cl,1 | |
| 009A5DC9 not cl | |
| 009A5DCB test cl,1 | |
| 009A5DCE je LA12+0DFh (9A5DDEh) | |
| 009A5DD0 push eax | |
| 009A5DD1 push offset _Gch_13152+20h (0A91920h) | |
| 009A5DD6 call @ILT+1840(_Incl_13014) (981735h) | |
| 009A5DDB add esp,8 | |
| LA24: ; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment